Model Komputasi
Ada tiga model dasar komputasional– fungsional, logika, dan imperatif. Sebagai tambahan terhadap satuan nilai-nilai dan operasi yang berhubungan, masing-masing model komputasional mempunyai satu set operasi yang digunakan untuk menggambarkan komputasi.
a. Model Fungsional : terdiri dari satu set nilai-nilai, fungsi-fungsi dan operasi aplikasi fungsi dan komposisi fungsi. Fungsi dapat mengambil fungsi lain sebagai argumentasi dan mengembalikan fungsi sebagai hasil (higher-order function). Suatu program adalah koleksi definisi fungsi-fungsi dan suatu komputasi adalah aplikasi fungsi.
b. Model Logika : terdiri dari satu set nilai-nilai, definisi hubungan dan kesimpulan logis. Program terdiri dari definisi hubungan dan suatu komputasi adalah suatu bukti(suatu urutan kesimpulan).
c. Model Imperatif : terdiri dari satu set nilai-nilai yang mencakup suatu keadaan dan operasi tugas untuk memodifikasi pernyataan. Pernyataan adalah set pasangan nilai-nama dari konstanta dan variabel. Program terdiri dari urutan tugas dan suatu komputasi terdiri dari urutan pernyataan.
Definisi Sintaks, Sematik, dan Pragmatis
Sintaks : aturan gramatikal atau komposisi suatu program yang mengatur tata cara penulisan huruf, angka dan karakter lain.
Contoh : pada pembuatan program Pascal antara dua statement dipisahkan oleh titik koma (;).
X := 1 ; X := X + 1;
Semantik : mendefinisikan arti dari dari program yang benar secara sintaks dari bahasa pemrograman tersebut.
Contoh : Pada pembuatan program C
Int vector [10]
Arti semantiknya : akan menyebabkan ruang sebanyak 10 elemen integer diberikan kepada variabel bernama vector ( 0 – 9 untuk array dalam C)
Pragmatis : memperhatikan tentang pemakaian bahasa, area aplikasi, kemudahan implementasi dan penggunaan, dan sukses bahasa didalam desain pelaksanaan tujuannya. Kekuatan yang membentuk suatu bahasa pemrograman meliputi arsitektur komputer, praktek rancang-bangun perangkat lunak (terutama daur hidup perangkat lunak), model komputasional, dan daerah aplikasi (contoh: alat penghubung pemakai, sistem pemprograman, dan sistem ahli).
Tujuan umum bahasa pemrograman berpegang pada prinsip desain bahasa pemrograman yang berikut.
Prinsip Kelengkapan Komputasional
Model komputasional untuk tujuan umum suatu bahasa pemrograman harus universal.
Prinsip Implementasi
Implementasi harus efisien dalam penggunaan waktu dan ruangnya. Prinsip Memprogram harus ditulis dalam suatu bahasa yang mencerminkan daerah masalah.
Prinsip Desain Bahasa pemrograman
Suatu bahasa program harus dirancang untuk memudahkan agar dapat dibaca dan ditulis untuk para pemakai manusianya dan pelaksanaan efisien pada perangkat keras yang tersedia.
Keadaan dapat dibaca dan ditulis dimudahkan oleh prinsip yang berikut.
Prinsip Kesederhanaan
Bahasa harus didasarkan atas yang paling sedikit
Prinsip Orthogonal
Fungsi mandiri harus dikendalikan oleh mekanisme mandiri.
Prinsip Keteraturan
Satu set object disebut reguler berkenaan dengan kondisi beberapa jika, dan hanya jika, kondisi dapat digunakan untuk masing-masing unsur set.
Prinsip Sifat Ekstensibilitas(dapat diperpanjang)
Object baru dari tiap kelas sintaktis mungkin dibangun (digambarkan) dari dasar dan digambarkan membangun dengan suatu cara sistematis.
Prinsip keteraturan dan ekstensibilitas memerlukan konsep dasar bahasa harus diterapkan secara konsisten dan yang bersifat universal.
Pada halaman berikut kita akan belajar bahasa pemrograman sebagai perwujudan model komputasional, ilmu semantik sebagai hubungan antara model komputasional dan sintaksis, dan berhubungan pragmatis.
Prinsip Clarity, Simplicity dan Unity
Bahasa pemrograman harus dapat menolong programmer untuk membuat suatu desain program jauh sebelum programmer melakukan coding.
Kemudahan, kesederhanaan dan kesatuan merupakan suatu kombinasi yang membantu programmer mengembangkan suatu algoritma sehingga algoritma yang dihasilkan mempunyai kompleksitas yang rendah.
Orthogonality
Orthogonality menunjuk kepada suatu atribut yang dapat dikombinasikan dengan beragam fitur bahasa pemrograman sehingga setiap kombinasinya mempunyai arti dan dapat digunakan.
Kewajaran untuk Aplikasi
Bahasa pemrograman membutuhkan sintaks yang cocok/tepat yang digunakan pada struktur program untuk merefleksikan struktur logika yang melandasi suatu algoritma.
Mendukung Abstraksi
Abstraksi merupakan suatu hal yang substansial bagi programmer untuk membuat suatu solusi dari masalah yang dihadapi. Kemudian abstraksi tersebut dapat dengan mudah diimplementasikan menggunakan fitur-fitur yang ada dalam bahasa pemrograman.
Kemudahan untuk Verifikasi Program
Verifikasi program merupakan hal penting bagi sebuah program karena dengan verifikasi yang mudah maka satu program akan dengan mudah dibangun dan dikembangkan.
Lingkungan Pemrograman
Bahasa pemrograman yang mempunyai lingkungan pemrograman yang baik dan lengkap akan memudahkan programmer untuk mengimplementasikan abstraksi yang sudah disusunnya.
Portabilitas Program
Salah satu kriteria penting untuk proyek pemrograman adalah kemudahan program yang sudah jadi untuk dipindah-pindahkan dari komputer yang digunakan untuk membuat dan mengembangkan ke komputer lain yang akan menggunakannya.
Biaya Penggunaan
Biaya merupakan elemen penting dalam mengevaluasi suatu bahasa pemrograman.
Ada beberapa biaya yang dapat diukur yaitu :
Biaya Eksekusi Program
Biaya Translasi/kompilasi Program
Biaya Penciptaan, Testing dan Penggunaan Program
Biaya Pemeliharaan Program
sumber : from email.