Wednesday, November 4, 2015

Prolog dalam Kecerdasan Buatan

Apa itu Prolog?
Prolog (dalam lingkup sastra) merupakan bagian awal/kalimat pembuka dari sebuah cerita. Eits.., tapi tunggu dulu, prolog yang akan dibahas dalam artikel ini adalah prolog dalam lingkup Artificial Intelligence (kecerdasan buatan) bukan dalam lingkup sastra ya.. (^_^)

Prolog (Programing in Logic) adalah bahasa pemrograman logika (logic programming) yang di-design oleh Alain Colmerauer dan Robert Kowalski pada tahun 1972 di Prancis.  Prolog biasanya digunakan pada pemrograman dalam bidang kecerdesan buatan, sistem pakar dan computational linguistic.

Logic programming termasuk dalam declarative programming sehingga kita perlu untuk membuat serangkaian kondisi yang menggambarkan ruang solusi. Terdapat dua fase dalam declarative programming, yaitu declaration (membuat knowledge base/KB dengan mendeklarasikan fakta dan aturan) dan interpretation (menurunkan kalimat baru yang berasal dari KB dengan membuat pertanyaan) .


SWI prolog merupakan salah satu jenis dari Prolog interpreter. Adapun jenis lainnya adalah strawberry prolog, visual prolog, turbo prolog, GNU prolog, dan Interprolog, 


Lalu, apa perbedaan bahasa pemrograman Prolog dengan bahasa pemrograman lainnya?
  • Bahasa pemrograman seperti basic, C, Java, pascal, dll disebut sebagai procedural language, yaitu bahasa pemrograman yang memerlukan algoritma atau prosedur-prosedur dalam penyelesaian masalah. Selain itu, programmer juga harus memberitahu komputer bagaimana komputer harus memecahkan masalah.
  • Sedangkan bahasa Pemrograman Prolog disebut sebagai object-oriented language atau declarative language, sehingga:
    • Prolog tidak memiliki procedur namun memiliki data-data object (fakta) yang diolah dan direalisasikan antar objek yang membentuk aturan. 
    • Prolog menentukan tujuan(goal) dan menentukan bagaimana cara mencapainya yaitu dengan cara formal reasoning (membuktikan cocok tidaknya goal dengan fakta yang ada dan realisasinya). 
    • Prolog merupakan bahasa pemrograman yang tidak terstruktur dan tidak memiliki algoritma (procedur) pemecahan, serta memecahkan masalah non  numerik.

Karena prolog merupakan logic programming, maka prolog terdiri dari 3 bagian, yaitu:
  1. Fakta dan Relasi
  2. Aturan /Rules
  3. Pertanyaan /Querry
Fakta dan Relasi
Prolog terdiri dari kumpulan data-data object yang merupakan suat fakta dan selalu bernilai benar.
Contoh fakta 1: "Budi adalah ayah Ani", maka dalam bahasa prolog dituliskan: "ayah(budi,ani).", dengan ayah menunjukkan relasi.
Contoh fakta 2: "Anita adalah seorang mahasiswa" dituliskan dalam prolog: "wanita(anita)." , dengan wanita menunjukkan milik/sifat.

Aturan / Rules
Sebuah aturan dinyatakan sebagai sebuah kalimat bersyarat. Dalam prolog kalimat bersyarat dilambangkan dengan ":-" sebagai simbol dari "if".
Contoh:
Fakta : Tono suka jeruk
Aturan : Joni suka sesuatu yang disukai oleh Tono.
Kesimpulan : Joni suka jeruk.

dalam prolog dituliskan:
Fakta : suka(tono,jeruk).
Aturan : suka(joni,Sesuatu) :- suka(tono,Sesuatu).

Pertanyaan /Query
Setelah fakta dan aturan dirangkai dalam sebuah program non prosedural maka data-data dapat di berikan melalui pertanyaan. Penulisannya diawali tanda "?-" dan diakhiri dengan tanda".".


Selanjutnya, contoh dari penggunaan prolog interpreter dapat anda simak pada artikel contoh program prolog . Semoga bermanfaat :)

Referensi:
 PENGANTAR BAHASA PROLOG. M. Haviz Irfani , S.Si , M.T.I. Bahasa PROLOG. - PowerPoint PPT Presentation

No comments:

Post a Comment