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 .
Nama Prolog sendiri diambil
dari bahasa Perancis programmation Enogique (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 heuristikdan diperlukan dalam mencari suatu jawaban, dengan
kata lain, prolog dalam prolog adalah database.
Dan Prolog ada tiga jenis diantaranya Strawberry Prolog. Dan
sisannya adalah :
·
VisualProlog
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).
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).
·
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.
Penerapan PROLOG ini
cukup banyak diterapkan pada bidang-bidang tertentu, berikut contoh
penerapannya :
Sistem Pakar (Expert
System)
Pengolahan Bahasa
Alami (Natural Language Processing)
Robotika
Pengenalan Pola
(Pattern Recognition)
Pembelajaran
(Learning)
Pembuatan Game
Pada
strawberry prolog telah disediakan berbagai macam contoh game yang dapat kita
kembangkan dari game yang telah disediakan tersebut misal memberikan menu
memasukkan karakter object baru mengubah background dan lainnya seperti gambar
dibawah ini prolog telah menyediakan game yang bias kita kembangkan :
Contoh dari
game yang akan dikembangkan adalah Reversy seperti terlihat dibawah tampilan
game sangat sederhana namun kita dapat mengubah tampilan tersebut dengan
menambahkan scriptnya sehingga dapat diubah menjadi lebih menarik lagi
Contoh
pembuatan menu dalam game akan dijelaskan dengan cara menambahkan script pada
strowbrry prolog tersebut contohnya sebagai berikut :
1.
Saya
akan membahas mengenai timer dan mengubah font face pada Strawberry Prolog.
?-
window(_,_,win_utama(_),"Timer
1",300,100,300,300).
2.
Perintah
diatas digunakan untuk membuat sebuah jendela (windows) dengan ukuran 300x300
dan mempunyai title Timer 1. Nama fungsi dari jendela Timer 1 ini adalah
win_utama.
win_utama(init) :-
menu( normal, _, _,
menu_mulai(_), "&New Game"),
menu( normal, _, _,
menu_exit(_), "&Exit").
3.
Dalam
jendela Timer 1 terdapat menu bar yang terdiri dari menu dengan nama New Game
(nama fungsinya adalah menu_mulai) dan Exit(nama fungsinya adalah menu_mulai).
menu_exit(press) :-
yes_no("Confirm",
"Are you sure to exit?", ?),
close_window(_).
menu_mulai(press):-
close_window(_),
window(_,_,win_func(_),"Timer 2",300,100,300,300).
4.
Perintah
diatas adalah perintah yang dimasukkan ke dalam fungsi menu_exit dan
menu_mulai. Jika menu Exit ditekan maka akan ada pertanyaan konfirmasi sebelum
keluar dari program. Selanjutnya jika menu New Game ditekan maka jendela yang
sedang aktif akan ditutup dan jendela Timer 2 yang berukuran 300x300 akan
muncul. Fungsi untuk jendela Timer 2 adalah win_func.
win_func(init) :-
menu( pop_up, _, _,
menu_start(_), "&Start"),
menu( normal, _, _,
menu_exit(_), "&Exit").
menu_start(init) :-
menu( normal, _, _,
menu_easy(_), "&Mudah"),
menu( normal, _, _,
menu_hard(_), "&Sulit").
5.
Dalam
jendela Timer 2 terdapat menu bar yang berisi menu dengan nama Start dan Exit.
Menu Start bersifat pop up, yaitu mempunyai sub menu. Sub menu dari menu Start
adalah menu Mudah (nama fungsinya adalah menu_easy) dan Sulit (nama
fungsinya adalah menu_hard).
menu_easy(press) :-
message("Warning","Kamu memiliki waktu 12 detik sebelum BOM
meledak",i),
update_window(_),
G_M := 13,
G_waktu is
set_timer(_,1,time_func).
menu_hard(press) :-
message("Warning","Kamu memiliki waktu 5 detik sebelum BOM
meledak",i),
update_window(_),
G_M := 6,
G_waktu is
set_timer(_,1,time_func).
6.
Dalam
fungsi menu_easy dan menu_hard mempunyai proses dan tujuan yang sama. Jika menu
Mudah ataupun Sulit ditekan, maka akan muncul dialog message yang bertuliskan
waktu yang akan diproses. Untuk menu Mudah mempunyai waktu 12 detik dan menu
Sulit mempunyai waktu 5 detik. Setelah dialog message muncul dan tombol OK
ditekan maka proses akan menuju fungsi time_func untuk menjalankan waktu.
time_func(end):-
(G_M=:=10 ->
G_M:=10,
pen(5,rgb(255,255,255)),
rect(150,50,191,150)),
(G_M=:=1 ->
kill_timer(_,G_waktu),
message("WARNING","WAKTU HABIS !!! \n Game Over
!!!",!),
close_window(_)
else
G_M <>= G_M-1),
T is printq(G_M),
font(30,100,"Times New
Roman"),
text_out(120,50,T),
beep.
7.
Fungsi
time_func ini berguna untuk menjalankan timer. Perintah pada baris ke 2 sampai
dengan baris ke 4 berguna untuk memuat persegi panjang berlatar belakang warna
putih saat detik 10 menuju detik ke 9. Perintah pada baris ke 6 sampai dengan
baris ke 8 berarti jika detik menunjukkan angka 1, maka waktu akan berhenti dan
muncul dialog message. Setelah tombol OK pada dialog message yang muncul
ditekan makan jendela akan tertutup. Jenis tulisan pada timer adalah Times New
Roman dengan ukuran 100. Tulisan atau teks detik muncul pada koordinat 120, 50.
Setelah
script tersebut kita tambahkan maka hasil yang kita dapat setelah kita jalankan
adalah sebagai berikut :
Sumber :
Tidak ada komentar :
Posting Komentar