Sabtu, 22 Oktober 2011

CONTOH STRAWBERRY PROLOG

Mungkin teman-teman masih awam dengan program  Prolog. Pertama-tama saya akan menjelaskan sedikit pengertian tentang Strawberry Prolog.


       Nama Prolog diambil dari bahasa Perancis programmation en logique (pemrograman logika). Bahasa ini diciptakan oleh Alain Colmerauer dan Robert Kowalski sekitar tahun 1972 dalam upaya untuk menciptakan suatu bahasa pemrograman yang memungkinkan pernyataan logika alih-alih rangkaian perintah untuk dijalankan komputer.


       Prolog adalah bahasa pemrograman logika atau disebut juga bahasa non prosedural.  Prolog disebut sebagai object oriented language atau declarative language. Dalam prolog tidak terdapat prosedur, tetapi hanya tampilan data-data object (fakta) yang akan diolah dengan relasi antar object yang membentuk suatu aturan. Aturan-aturan ini disebut heuristik dan diperlukan dalam mencari suatu jawaban, dengan kata lain, prolog dalam prolog adalah database.




Terdapat tiga jenis Prolog, yaitu:

1. 
Strawberry Prolog


         Strawberry Prolog adalah dialek dari bahasa pemrograman Prolog. Sintaksnya sangat dekat dengan ISO-Prolog tetapi memiliki banyak ekstensi yang bukan bagian dari standar. Gagasan utama dari Strawberry Prolog sangat mudah digunakan dan oleh karena itu beberapa universitas menggunakan prolog untuk kursus .

2. Visual Prolog

        Visual prolog sebelumnya dikenal sebagai PDC prolog dan turbo prolog merupakan bahasa pemrograman prolog yang berorientasi objek. Sebagai turbo prolog dipasarkan oleh Borland, tetapi sekarang dikembangkan dan dipasarkan oleh perusahaan Denmark Pusat Pengembangan Prolog (PDC). Visual Prolog dapat membangun Microsoft Windows GUI-aplikasi, aplikasi konsol, DLL (Dynamic Link Libraries).

3. SWI Prolog

         SWI Prolog merupakan open source implementasi bahasa pemrograman Prolog, biasanya digunakan untuk pengajaran dan semantic web aplikasi. Memiliki seperangkat kaya fitur, perpustakaan untuk logika pemrograman kendala, multithreading, Unit testing, GUI, dll. SWI Prolog berjalan pada UNIX, Windows, dan Machintosh.


Contoh Program Sederhana pada Strawberry Prolog :

?-
set(pos([[f,f,f,f],[f,f,f,f],[f,f,f,f]])),
set(lose_flag(true)),
brush(system_color(window)),
window( _,_,win_func(),"Test",100,10,665,685).
win_func(paint):-
pen(5,rgb(255,100,100)),
line(150,50,50,150),
line(150,50,250,150),
line(50,150,100,150),
line(250,150,200,150),
line(100,150,100,250),
line(200,150,200,250),
line(100,250,200,250),
fail.

Penjelasn program :
  • ?- , perintah untuk mengawali program pada prolog.
  • Fungsi set diisi dengan fungsi pos, yang artinya akan membentuk post berupa titik-titik seperti matriks. Sedangkan dari fungsi pos ada 4 matriks yang fungsinya membentuk matriks berdimensi 4x4.
  • Fungsi brush artinya, akan menggunakan kuas untuk menggambar sesuatu. Fungsi system_color(window) artinya akan membentuk sebuah jendela dengan warna bergantung pada jendela sistem operasi yang digunakan.
  • Fungsi window untuk membentuk jendela. Bentuk umum fungsi jendela terdiri dari 8 parameter, tetapi biasanya yang dipakai parameter ke 3, yaitu fungsi win_func() yang dapat didefiniskan selanjutnya. Parameter selanjutnya adalah judul dari jendela yaitu ‘Test’. Dua parameter selanjutnya adalah jarak dari sisi layar hingga jendela. Parameter yang pertama jarak dari kiri (secara horizontal) sejauh 100px selanjutnya parameter yang keduajarak dari atas (secara vertical) sejauh 10px. Dua parameter terakhir adalah panjang untuk jendela yang akan dibuat. Jendela yang akan terbentuk memiliki lebar 665px (kesamping) dantinggi 685px (kebawah).
  • Statement ini adalah fungsi win_func(paint) yang sebelumnya dipanggil. Pertama, gunakan pensil menggunakan fungsi pen(). Di dalam fungsi pen(), definisikan jumlah titik ujung. Karena kita akan membuat garis, maka jumlah ujungnya dua. Lalu, tentukan warna berdasrkan system RGBpen(5,rgb(255,100,100)), angka 5 menunjukkan ketebalan garis, 255 untuk mewakili warna garis dengan warna merah, 100 untuk mewakili warna garis dengan warna hijau, 100 untuk mewakili warna garis dengan warna biru. Nilai pada rgb dapat berubah-ubah sesuai dengan warna apa yang diinginkan dengan memberikan nilai terbesar pada warna yang diinginkan. Misal : pen(5,rgb(255,255,100), maka garis akan berwarna kuning.
  • Selanjutnya, menuliskan garis dengan fungsi line(). Parameter pertama adalah jarak ujung pertama dari kiri terhadap jendela (X1), parameter kedua adalah jarak ujung pertama dari atas terhadap jendela (Y1). Parameter ketiga adalah jarak ujung kedua dari kiri terhadap jendela (X2). Parameter keempat adalah jarak ujung kedua dari atas terhadap jendela (Y2), lanjutkan hingga semua titik terhubung.  Misal :  line(150,50,50,150), 150 sebagai sunbu X1, 50 sebagai sumbu X2, 50 sebagai sumbu Y1, 150 sebagai sumbu Y2, lanjutkan sampai semua titik terhubung.
  • fail. , untuk mengakhiri program pada prolog.

Listing pada program di atas akan menghasilkan output seperti gambar dibawah ini





























SU : http://call-lonk.blogspot.com/2011/01/penjelasan-tentang-prolog.html
        http://id.wikipedia.org/wiki/Prolog
        

1 komentar:

  1. terima kasih sob ilmunya, kebetulan saya sedang membutuhkan.. sangat bemanfaat.. ^^

    BalasHapus