Pemrograman C/C++ dan Artificial Intelligence
7 April, 2007 oleh Herianto
-Ambisi menyatukan ‘dua’ dunia-
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 : heri_unsada04@yahoo.com. 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…












Artikel yang cukup bagus, bisa sharing ilmu dan pengalaman
Herianto :
Yuk !!!
sayaSangat (?) mendukung pada mata kuliah yang sedang saya ajarkan… bisa sharing modulnya pak… insya Allah authornya tidak akan hilang… thxHerianto :
Untuk pemrograman AI dengan C/C++ saya belum menyiapkan modul praktikum untuk perkuliahannya, tetapi untuk dengan prolog sebagai dasar penerapan pemrograman AI modulnya bisa didownload di site ini …
Bagaimana ya menerapkan AI pada dunia Mekatronika yang kebanyakan bahasa pemrogramannya memakai bahasa prosedural..??
Herianto :
Tergantung teknik AI yang dibutuhkan.
Teknik AI yang dipilih bisa : Searching, Fuzzy, Neural dan Genetic, dimana semua teknik itu bisa diimplementasikan menggunakan pemrograman prosedural (C/C++,…). Mekatronika untuk bagian controlling -nya banyak menerapkan fuzzy logic. Matlab juga sudah mendukung interfacing hardware, tapi ya untuk mekatronika berbasis PC…
saya mahasiswa ti di makassar,saya baru belajar pemrograman prolog,saya coba cari bukunya tapi sudah tidak ada dijual. kita punya referensi laen tidak untuk cepat mengetahui prologini??????????????
Herianto :
Sudah download modul prolog saya kan ?
Memang buku prolog sudah sulit dicari, yang berbahasa inggris di internet juga banyak (coba dong pake google), saya jarang menggunakan referensi internet itu jadi saya gak tahu harus me-refer yang mana … Tapi yang pasti, banyak kok..
pemograman yang bagus sesuai dengan pelajaran saya di TEKNOKRAT. tapi saya masih banyak yang belum tahu tentang c++ ini, bisa minta tolong kirimkan contoh program c++ ke email saya. karena saya sangat membutuhkan program ini sebagai bahan untuk uas nanti. terima kasih atas semuanya.
xxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxx
herianto :
#Atas permintaan sang komentator sendiri di sensor#
waks statement kok nga metu yakkkk!
oh iya ding di blog dr wp nya!ntar di hapus aja ya pak comment ku di atas
saya ingin tahu perkembngan AI di Indonesia? dan apakah ada tips dan trik dalam implementasi AI? saat ini saya sangat membutuhknnya untuk tugas saya. kalau jawabannya panjang, mohon dikirim lewat email sya.thanks before!!
@wahyu
Dengan berat hati dah saya hapus eh sensor…
Emang napa ya yu? [Wah atau yu sih singkatannya]
Malu kamu blum lulus pemrograman C++ atau belum lulus AI dari bu Sri …
He he…
#Ah gak mungkin orang sekaliber wahyu belum lulus#
@nuke
Ma’af, saya belum punya tuh ttg info perkembngan AI di Indonesia secara detail. Bisa jadi garapan penelitian ini kali. Tip n trik dalam implementasi AI ? Maksudnya apa ya mas eh mbak eh mas atau mbak sih… ?
Nuke, sebagai orang IT buat blog dong, minta ajarin tuh sama mas wahyu di atas … dia pakarnya, baik lagi…
pakai weka nya java
Herianto :
Ajari dong bu …
Cara yang (kayaknya) sederhana adalah Makai Regex untuk mbaca deklarasi AI di C++ trus dari regex itu dicari penerapan yang tepat How to do it-nya.
Kalau bahasa yang deklaratif dan mirip dengan natural language, saya pernah tahu Lingo, itu tuh bahasa yang dipakai Macromedia.
pak, gmn untuk article VB nya? adakah, saya belajar VB kok ga mudeng2 ya, mungkin karen lemot ya. tolong gmn cara spy bs memahami VB dgn baik
koreksi:
java bukan hanya untuk web (general purposes language)
emang gak sepadan bandingkan c++ dan java
karena c++ bagaimanapun lebih cepat karena dikomplie jadi native code.. sedangkan java dicomplie jadi bytecode (interpreter)..jadi java jelas lebih lambat
tapi C++ ada kekurangannya loh… dalam masalah portabilitas dan manajemen memory yang cukup kompleks…
portabilitas = misal udah dikompile di windows… terus aplikasi mau dibawa di linux … (bisa gak ya ????) kalo pake java mah gak usah mikir… pasti bisa!!!
@om+dark+templar
Trims ya koreksiannya… benar dong, Java not only for WEB.
Tetapi salah satu alasan JAVA dikembangkan, yg pernah saya baca, terutamanya adalah dalam rangka menghadapi kebutuhan aplikasi WEB ke depan.
Bukankah yg dibayangkan untuk model komputasi ke depan adalah aplikasi berbasis WEB, makanya JAVA disebut2 sebagai tool pemrograman masa depan.
Akibat sasaran di atas maka parameter portabilitas, interoperbality, dan seterusnya menjadi karakteristik dari JAVA selanjutnya.
Thanks atas masukannya.
Trims, Informasinya
Ini sebagian yang akau cari
Bisa minta tolong informasi tentang konsep pemrograman AI secara detail
Herianto :
Pemrograman secara primitive atau yang sudah bulit in. Kalo primitive biasanya contoh2nya pake C atau C++ sedangkan kalo yg sudah di bundle ada di matlab …
btw, sekedar sharing info, saya baru membuat tutorial pemrograman bahasa C dalam bentuk video, info dapat dilihat disini
http://www.pecollege.net/Multimedia/VideoTutorialAkademik/tabid/69/Default.aspx
semoga berguna
om maaf nih mengganggu kali ya…… kalo tidak saya mo tanya bisa nggak saya dapat programnya c++ saya mau pake untuk grafika komputer hehehehe……. makasih kalo nggak keberatan saya mo download dimana yach ……. thank’s tuk om heri salam kenal ……
saya sedang belajar tentang fuzzy logic, apabisa saya minta tlg untuk dicarika source codenya? makasi….
Herianto :
Gunakan saja matlab, beres …
Pak, saya punya beberapa pertanyaan nih. pertama, bagaimana perkembangan AI yang ada di Indonesia khususnya dan di dunia umumnya.
kedua, apa saja penemuan-penemuan teknologi AI yang paling bermanfaat? dan apakah pemrograman AI sama dengan pemrograman IC & micro controller? atas jawabannya terima kasih ya pak.
Pak, saya punya beberapa pertanyaan nih. pertama, bagaimana perkembangan AI yang ada di Indonesia khususnya dan di dunia umumnya.
kedua, apa saja penemuan-penemuan teknologi AI yang paling bermanfaat? dan apakah pemrograman AI sama dengan pemrograman IC & micro controller? kalo jawabannya panjang, tolong jawabannya dikirim ke email saya. atas jawabannya terima kasih ya pak.
ASs.
Bang aku minta tutorialnya pemograman bahasa C bukan C++.
aplikasi mikro 8051…
aku cari di internet g nemukan untuk saat ini.
terima kasih atas perhatiannya…..
Wss.
mas, boleh minta contoh program yang pake turbo prolog ga? kalo ada tolong donk kirim ke emailku ya…
makasi sebelumnya
Bisa ndak bikin ai dg prolog tapi interfacenya dg vb / delphi,etc…
Download matlab yang free dimana ya pak :-p
thanks beratz
Kenapa yah kelamaan asik bikin program di C++ kayak QT dilinux, pegang VB qoq jadi lupa dan kurang suka… apa aku udah kecanduan C++ and qoq pegang window jadi kurang menarik … yah
ada yang bisa bantuin nggak…?
apa ini penyakit atau aku sudah sembuh dari keinginan untuk pake software bajakan yah ?
Aku juga bukan dari IT tapi koq kata hatiku aku suka IT padahal tukang setrum …?
Yang butuh tutorial plus software toolnya boleh kontek saya asal ada biaya gantinya. Ini asli product saya yang selalu menemani saat membuat software apa aja baik di linux ato di win.
ass.
pak, bleh ga’ aq mnta modul tentang pemrograman berorientasi objek beserta contohnya.
dan apa ja perkmbangan IT pada saat ini?
makasih sblmnya…………