Iseng-iseng

0

Written on Selasa, April 08, 2008 by Rangga Fauza

Bahasa C++ (termasuk C kan ?) sampai saat ini bagaimanapun masih merupakan bahasa pemrograman yang terpopuler. Why ? karena selain kompiler C/C++ yang secara konsisten menghasilkan program yang eksekusinya lebih efisien dan cepat (terutama dibandingkan JAVA, eh…gak sepadan ya, JAVA kan untuk WEB ?), juga dari kesederhanaan struktur dasarnya yang tidak membatasi kreativitas pemrogram. Itulah sebabnya maka kebanyakan program paket ditulis menggunakan C/C++. Contohnya : … (Apa ayo !)

AI (Artificial Intelligence = Kecerdasan Buatan, di kurikulum disebut Intelijensi Buatan, sama aja ah..) adalah suatu bidang yang mengkaji tentang usaha untuk merekayasa mesin komputer sehingga mampu berpikir dan bertindak seperti layaknya manusia.

Program AI adalah program komputer yang berupaya untuk memenuhi tujuan di atas. Pemrograman AI umumnya menggunakan bahasa pemrograman khusus seperti : Prolog, Lisp dan sebagainya. Alasan digunakannya bahasa pemrograman yang khusus adalah karena memang ada perbedaaan mendasar antara pemrograman AI dan pemrograman konvensional. Apa bedanya…

Bedanya begini… Pemrograman AI (khususnya Prolog) memiliki sifat deklaratif, sedangkan pemrograman konvensional bersifat prosedural. Pada bahasa pemrograman prosedural, programmer (pemrogram) memberikan program pada komputer secara How to do, yaitu bagaimana melakukan sesuatu. Artinya komputer harus diberitahu tentang langkah-langkah (algoritma) memecahkan suatu permasalahan. Sedangkan pada bahasa pemrograman deklaratif pemrogram memberikan program pada komputer secara What to do, yakni apa yang harus dilakukan. Jadi pada pemrograman deklaratif komputer hanya diberitahu tentang data/fakta dan aturan yang berlaku berdasarkan permasalahan tanpa memberitahu bagaimana semestinya masalah tersebut dipecahkan. Tugas menemukan cara pemecahan masalah tersebut dilakukan oleh komputer (Nah atas prinsip inilah maka komputer baru boleh disebut ‘cerdas’, ini ‘kunci’ jawaban untuk mahasiswa yang sedang ngambil kuliah AI dengan saya, makanya ikuti blog ini terus, he he sambilan promosi).

Umumnya kebanyakan pemrogram lebih mengetahui bahasa prosedural seperti C/C++ dari pada bahasa pemrograman AI seperti tersebut di atas. Di sisi lain paradigma dari pemrograman AI tampaknya cukup menjanjikan untuk menjadi bahasa pemrograman masa depan. Dapatkah sebagian dari paradigma pemrograman AI tersebut diimplementasikan menggunakan bahasa pemrograman prosedural ?

Baik…, ada dua fakta urgen sehingga pertanyaan di atas mesti terjawab. Pertama kebanyakan pemrogram memiliki latar belakang yang minim di bidang AI. Dan kedua, kebanyakan peminat/pakar AI menggunakan bahasa pemrograman khusus untuk AI dalam mengimplementasikan teknik-teknik AI. Sementara program-program masa kini yang umumnya dibuat oleh pemrogram yang menggunakan bahasa prosedural juga membutuhkan teknik-teknik AI demi meningkatkan unjuk kerjanya. Kedua fakta di atas dapatkah ditemukan jalan tengahnya (Ibarat menyatukan dua dunia kan ) ?

Cara Pertama. Sebenarnya modul program yang ditulis dengan Turbo Prolog dapat diperantarai (istilahnya interfacing) dengan modul yang ditulis dengan C/C++ misalnya, tetapi ini bukan pemecahan yang paling tepat. Dengan menggunakan dua bahasa pemrograman yang terpisah berarti membutuhkan manajemen dan koordinasi yang lebih, karena bagaimanapun menghubungkan dua sistem yang berbeda akan memerlukan pengetahuan yang rinci tentang kedua sistem tersebut. Juga dengan menggunakan bahasa pemrograman terpisah berarti para pemrogram umum harus menguasai bahasa pemrograman AI tersebut secara matang.

Cara Kedua. Penulis memiliki ‘gagasan’ (alternatif) pemecahan yang lebih baik (menurut dia aja kali), yaitu dengan mengkaji peng-implementasi-an teknik-teknik pemrograman AI menggunakan bahasa pemrograman umum/prosedural seperti C, C++ atau JAVA. Apa bisa ya ?

Untuk itu ada beberapa hal yang harus terjawab. Pertama, sejauhmana paradigma pemrograman AI (khususnya sifat deklaratifnya) dapat diimplementasikan menggunakan bahasa pemrograman non-deklaratif seperti C++atau JAVA. Kedua, dapatkah implementasi tersebut dibuat dalam bentuk library khusus yang selanjutnya akan dijadikan sebagai perangkat bantu untuk pengembangan program-program AI di kemudian hari . Ketiga, harus diuji bagaimana efektivitas library (perangkat bantu) tersebut dalam memberikan kemudahan perancangan program-program AI dan bagaimana unjuk kerja (performance) dari program yang dihasilkannya.

Ok, jika para pemirsa eh… pem-browse (Browser) ada yang tertarik dengan kajian di atas, kita bisa lebih berbagi. Beri komentar atas tulisan ini atau layangkan ke email ke : lawe_uza@yahoo.co.id Ada beberapa ‘hasil kerja’ penulis atas kajian ‘menantang’ di atas. Penulis juga sedang mengkaji kemungkinan penerapan ‘AI library’ (Intelligent Package) untuk JAVA, sementara yang terakhir ini masih dalam taraf kajian fasilitas-fasilitas yang dibutuhkan. Kita layak aja berbagi…

If you enjoyed this post Subscribe to our feed

No Comment

Poskan Komentar