Pages

Senin, 14 November 2011

Model Komputasi

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.

Teori komputasi adalah cabang ilmu komputer dan matematika yang membahas apakah dan bagaimanakah suatu masalah dapat dipecahkan pada model komputasi, menggunakan algoritma. Bidang ini dibagi menjadi dua cabang: teori komputabilitas dan teori kompleksitas, namun kedua cabang berurusan dengan model formal komputasi.

Untuk melakukan studi komputasi dengan ketat, ilmuwan komputer bekerja dengan abstraksi matematika dari komputer yang dinamakan model komputasi. Ada beberapa model yang digunakan, namun yang paling umum dipelajari adalah mesin Turing. Sebuah mesin Turing dapat dipikirkan sebagai komputer pribadi meja dengan kapasitas memori yang tak terhingga, namun hanya dapat diakses dalam bagian-bagian 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 dipecahkan (diputuskan) oleh meisn Turing dapat dipecahkan 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. Apabila 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 dimengerti 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 mengkonversi bahasa mesin diperlukan perangkat lunak yang disebut assembler.


Pemrograman dengan bahasa assembly masih terasa sulit bagi kebanyakan orang sehingga dikembangkan 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 juga 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”):

Atau perintah dalambahasa 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 assembly. 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 diterjemahkan terlebih dahulu ke bahasa mesin. Apabila baris berikutnya akan diekskusi maka baris tersebut baru diterjemahkan kedalam bahasa mesin. Contoh bahasa pemograman yang menggunakan interpreter adalah basic.


Kompiler menerjemahkan semua perintah ke dalam bahasa mesin kemudian menjalankan hasil
penerjemahan. Hasil penerjemahan ini bisa disimpan dalam file atau memori. Contoh bahasa pemrograman yang menggunakan kompiler 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 bahasa generasi keempat atau yang disingkat 4GL (fourth-generation language). 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 menentukan masalahnya seperti apa, kemudian apa saja yang
harus dipecahkan dengan komputer, yang terakhir adalah apa masukannya dan bagaimana keluarannya.

2. Menentukan Solusi.
Setelah masalah didefinisikan dengan jelas, masukan yang diberikan sudah jelas, keluaran yang
diinginkan sudah jelas, maka langkah selanjutnya adalah mencari jalan penyelesaian masalah. Jika permasalahan terlalu kompleks, biasanya kita harus membaginya ke dalam beberapa modul kecil agar lebih mudah diselesaikan. Sebagai contoh, program untuk menghitung invers matriks, dapat dibagi menjadi beberapa modul kecil. Modul pertama adalah meminta masukan dari pengguna berupa matriks bujur sangkar. Modul kedua adalah mencari invers 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 memiliki unjuk kerja yang kurang baik.


4. Menulis Program.
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 diperhitungkan sebelum memilih bahasa pemrograman, antara lain masalah yang dihadapi, bahasa pemrograman yang Anda kuasai, dsb.

5. Menguji Program.
Setelah program selesai ditulis dilakukan pengujian. Pengujian pertama adalah; Apakah
program berhasil dikompilasi dengan baik? Pengujian berikutnya; Apakah program dapat
menampilkan keluaran yang diinginkan? Lebih jauh lagi program 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 diyakini benar-benar berjalan sesuai dengan yang diharapkan.

6. Menulis Dokumentasi.
Merupakan hal sepele yang sering dilupakan, karena tidak ada fungsinya 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 satu dalam program (komentar pendek yang menerangkan fungsi perintah-perintah yang ada dalam program tersebut.

7. Merawat program
Setelah program selesai dan digunakan oleh user, maka sering kali muncul bug / kesalahan yang
sebelumnya tidak terdeteksi, atau juga user ingin menambahkan fasilitas baru, sehingga program harus direvisi.



REFERENSI:
id.wikipedia.org/wiki/Kategori:Model_komputasi

http://zonakampus.blogspot.com/2009/10/prinsip-bahasa-pemrograman.html

Tidak ada komentar :