(3.5 / 3.5.2 {Informatika}) mengenal model komputasi umum v
Model Komputasi
Model Komputasi
Model Komputasi
Ada tiga model dasar komputasional-- fungsional, logika, dan imperatif. Sebagai tambahan terhadap satuan nilai dan operasi yang berhubungan, masing-masing model komputasi memiliki 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 kumpulan definisi fungsi-fungsi dan suatu komputasi adalah aplikasi fungsi.
B. Model Logika : terdiri dari satu set nilai-nilai, definisi hubungan dan kesimpulan. Program terdiri dari definisi hubungan dan suatu komputasi adalah suatu bukti(suatu urutan kesimpulan).
C. Model Imperatif : terdiri dari satu set 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.
Teori komputasi adalah cabang ilmu komputer dan matematika yang membahas apakah dan bagaimanakah suatu masalah dapat memecahkan model komputasi , menggunakan algoritma . Bidang ini dibagi menjadi dua cabang: teori komputabilitas dan teori kompleksitas, namun kedua cabang cabang tersebut dengan model komputasi formal.
Untuk melakukan studi komputasi dengan ketat, ilmuwan bekerja dengan abstraksi matematika dari model komputer yang berasal dari komputasi. Ada beberapa model yang digunakan, namun yang paling umum dipelajari adalah mesin Turing . Sebuah mesin Turing dapat dilihat sebagai komputer pribadi meja dengan kapasitas memori yang tak terhingga, namun hanya dapat diakses dalam bagian-bagian secara terpisah dan diskret. Ilmuwan komputer mempelajari mesin Turing karena mudah dirumuskan, dianalisis dan digunakan untuk pembuktian, dan karena mesin ini mewakili model komputasi yang dianggap sebagai model paling masuk akal yang paling ampuh yang dimungkinkan. Kapasitas memori tidak terbatas mungkin terlihat sebagai sifat yang tidak mungkin terwujudkan, namun setiap permasalahan yang "terputuskan" (decidable) yang dipecahkan oleh mesin Turing selalu hanya akan memerlukan jumlah memori terhingga. Jadi pada dasarnya setiap masalah yang dapat memecahkan (diputuskan) oleh meisn Turing dapat memecahkan oleh komputer yang memiliki jumlah memori terbatas.
Prinsip Bahasa Pemrograman
Dalam kehidupan sehari–hari, untuk berkomunikasi dengan orang lain, kita harus menggunakan bahasa yang sama dengan orang tersebut. Jika kita menggunakan Bahasa Indonesia, lawan bicara kita harus mengerti Bahasa Indonesia. Kalau lawan bicara kita tidak mengerti Bahasa Indonesia, kita masih bisa berkomunikasi dengannya melalui penerjemah.Dalam pemograman komputer, berlaku juga hal seperti di atas. Kita harus menggunakan bahasa yang Sulit oleh komputer untuk memberikan suatu instruksi. Pada dasarnya, komputer adalah mesin digital, artinya komputer hanya mengenal kondisi ada arus listrik (biasanya dilambangkan dengan 1) dan tidak ada arus listrik (dilambangkan dengan 0).
Dengan kata lain kita harus menggunakan sandi 0 dan 1 untuk melakukan pemrograman komputer. Bahasa pemrograman yang menggunakan sandi 0 dan 1 ini disebut bahasa mesin (assembly). Sebagai contoh, dalam prosesor Intel, terdapat perintah 0011 1010 0000 1011. Perintah dalam bahasa mesin ini sama artinya dengan perintah assembly CMP AL, 0D, yang
artinya bandingkan nilai register AL dengan 0D. CMP di sini sebenarnya adalah singkatan dari ComPare. Untuk membantu manusia dalam konversi bahasa mesin diperlukan perangkat lunak yang disebut assembler.
Pemrograman dengan bahasa assembly masih terasa sulit bagi kebanyakan orang sehingga pengembangan bahasa pemrograman yang lebih mudah digunakan. Bahasa pemrograman yang dikembangkan ini lebih condong ke bahasa manusia dan disebut bahasa generasi ketiga / 3GL (Third-Generation Language) atau dikenal dengan bahasa tingkat tinggi/ HLL (High-Level Language). Sebagai contoh Basic, Pascal, C, C++, Cobol, dsb. Bahasa generasi ketiga menggunakan kata-kata dalam bahasa Inggris karena bahasa tersebut adalah bahasa internasional, misal ;
Pascal:
writeln('Algoritma');
Atau perintah dalam bahasa C:
printf (“Algoritma\n\r”):
A tau perintah dalam bahasa C++:
cout << “Algoritma” << endl;
Ketiga pernyataan di atas bertujuan sama yaitu menuliskan teks 'algoritma' ke keluaran standar
(Standard Output), ke layar monitor. Ketiga perintah sederhana di atas sebenarnya terdiri dari puluhan atau bahkan ratusan pernyataan. Perangkat lunak yang menerjemahkan program dalam bahasa manusiawi ke dalam bahasa assembly atau mesin ada dua macam, yaitu interpreter dan kompiler. Interpreter menerjemahkan program baris perbaris artinya jika suatu baris akan diekskusi maka baris tersebut terlebih dahulu diterjemahkan terlebih dahulu ke bahasa mesin. Jika baris berikutnya akan diekskusi maka baris tersebut baru diterjemahkan ke dalam bahasa mesin. Contoh bahasa pemograman yang menggunakan interpreter adalah basic.
Kompiler menerjemahkan semua perintah ke dalam bahasa mesin kemudian menjalankan hasil
penerjemah. Hasil penerjemahan ini bisa disimpan dalam file atau memori. Contoh bahasa pemrograman yang menggunakan compiler adalah Pascal, C, dan C++. Khusus untuk Pascal, ada beberapa kompiler tetapi jumlahnya sedikit. Misalnya Turbo Pascal ( http://www.inprice.com ), GNU Pascal ( http://didaktik.physik.uni-essen.de/~gnupascal/home.html ), Free Pascal
( http://www.freepascal .sk ), dsb. Kompiler Pascal yang banyak digunakan adalah Turbo Pascal, sehingga pada modul ini juga digunakan Turbo Pascal sebagai acuannya.
Perkembangan bahasa pemrograman setelah bahasa generasi ketiga adalah generasi keempat atau yang disingkat 4GL (bahasa generasi keempat). Bahasa ini banyak digunakan sebagai aplikasi basis data (database), salah satu contohnya adalah SQL (Structured Query Language). Pada bahasa ini, perintah-perintah yang digunakan lebih manusiawi, misalnya “ SELECT Nama,Nilai FROM Mahasiswa ”, untuk mengambil data Nama dan Nilai dari basis data Mahasiswa.
Langkah-langkah dalam Pemrograman Komputer
Dalam pemrograman komputer, diperlukan beberapa langkah dan langkah-langkah yang disajikan pada modul ini tidak bersifat mutlak. Artinya Anda tidak harus melakukan dari langkah pertama, kedua, ketiga, dst. Ada beberapa langkah yang harus atau mungkin
diulang sampai beberapa kali. Berikut ini contoh beberapa langkah yang harus dilakukan dalam
pemrograman komputer:
1. Mendefinisikan Masalah. Mendefinisikan masalah dengan masalahnya menentukan seperti apa, kemudian apa saja yang
harus memecahkan komputer, yang terakhir adalah masukannya dan bagaimana keluarannya.
2. Menentukan Solusi. Setelah masalah didefinisikan dengan jelas, masukan yang diberikan sudah jelas, keluaran yang
yang diinginkan sudah jelas, maka langkah selanjutnya adalah mencari jalan penyelesaian masalah. Jika permasalahan terlalu rumit, biasanya kita harus membaginya ke dalam beberapa modul kecil agar lebih mudah diselesaikan. Sebagai contoh, program untuk menghitung matriks invers, dapat dibagi menjadi beberapa modul kecil. Modul pertama adalah meminta masukan dari pengguna berupa matriks bujur sangkar. Modul kedua adalah mencari matriks yang dimasukkan pengguna. Modul terakhir adalah menampilkan hasilnya pada pengguna.
3. Memilih Algoritma.
Langkah ini merupakan salah satu langkah yang penting dalam pemrograman komputer karena pemilihan algoritma yang salah akan menyebabkan program unjuk kerja yang kurang baik.
4. Program Menulis.
Pada langkah ini dimulai penulisan program komputer untuk memecahkan masalah yang diberikan. Untuk menulis program dapat digunakan salah satu bahasa generasi ketiga. Ada beberapa hal yang harus dipertimbangkan sebelum memilih bahasa pemrograman, antara masalah lain yang dihadapi, bahasa pemrograman yang Anda kuasai, dsb.
5. Program Menguji.
Setelah program selesai ditulis pengujian. Pengujian pertama adalah; Apakah
program berhasil dikompilasi dengan baik? Pengujian berikutnya; Apakah program dapat
menampilkan keluaran yang diinginkan? Program lebih jauh lagi harus diuji dengan banyak kasus. Sering terjadi, suatu program berjalan baik untuk kasus A, B, C; tetapi menghasilkan sesuatu yang tidak diinginkan untuk kasus X,Y, dan Z. Langkah ini bisa dilakukan berulang-ulang sampai program yang diyakini benar-benar berjalan sesuai dengan yang diharapkan.
6. Menulis Dokumentasi.
Hal-hal sepele yang sering dilupakan, karena tidak ada fungsi pada saat pembuatan program, namun pada masa mendatang akan sangat diperlukan, apalagi bagi orang lain yang mempelajari program kita. Dokumentasi ada dua, yaitu di atas kertas dan menjadi dalam program (komentar pendek yang dijelaskan fungsi perintah-perintah yang ada dalam program tersebut.
7. Merawat programSetelah program selesai dan digunakan oleh pengguna, maka kali muncul bug/kesalahan yang
sebelumnya tidak terdeteksi, atau juga pengguna ingin menambahkan fasilitas baru, sehingga program harus direvisi.
Komentar
Posting Komentar