MEMBUAT MENU POP UP PADA STRAWBERRY PROLOG

Iseng mau posting tugas kuliah tentang cara membuat menu pop up pada STRAWBERRY PROLOG. bagi yang tidak tahu tentang strawberry prolog, berikut saya akan menjelaskan apa itu strawberry prolog.

Prolog adalah bahasa pemrograman logika atau di sebut juga sebagai bahasa non-procedural. Namanya 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.

Oke, sekarang kita masuk pada pembahasan judul, hehe. Dibawah ini adalah listing program untuk membuat menu Pop Up :

Oke, skarang kita bahas listing program di atas.
?-
Simbol tanda tanya minus adalah untuk memulai program dan sebagai pendeklarasi program. 

window(_,_,myFunc(_),"Checkers Menu",80,30,492,531).
Fungsi window diatas untuk membuat jendela tampilan dengan nama jendela tampilan adalah “Checker Menu” dan ukuran nya adalah x1=80, y1=30, x2=492, dan y2=531/

myFunc(init):-
myFunc diatas untuk memanggil fungsi init


G_Depth = 2,
menu(pop_up, _,_,mpopup(_),"Pop_up"),
menu(normal, _,_,mitem(_),"MenuItem"),
menu(pop_up, G_Menu,_,level(_),"&Level"),
menu( right, _, _, menu_help(_), "&Help").
Menu di atas untuk menampilkan pop up menu dengan nama Pop UP, menu ke dua dengan nama Menu Item, Menu ke empat dengan nama Level, dan menu terakhir dengan nama Help. Fungsi pop up di belakang koma berfungsi untuk mengatur turunan menu tersebut. Sedangkan right di belakang koma pada menu terakhir berfungsi untuk meletakkan menu help di sebelah kanan atas.


level(init):-
menu(normal,_,_,l2(_),"&easy"),
menu(checked,_,_,l3(_),"&normal"),
menu(normal,_,_,l4(_),"&hard").
level diatas untuk memanggil fungsi init Menu di atas berfungsi untuk membuat sub menu baru pada menu ke empat dengan nama Level dan tiap sub menu nya adalah easy, normal, dan hard. 

l2(press):-change_menu(1),message("Message","Mudah", !) .
l3(press):-change_menu(2),message("Message","Normal", !) .
l4(press):-change_menu(3),message("Message","Sulit", !) .
Jika memilih I2 maka akan muncul kotak dialog yang berisi pesan Mudah, jika memilih I3 maka akan muncul kotak dialog yang berisi pesan Normal . Jika memilih I4 maka akan otomatis muncul kotak dialog yang berisi pesan Sulit.

change_menu(M):-
modify_menu(G_Menu,G_Depth,normal,_),
G_Depth:=M, modify_menu(G_Menu,M,checked,_).

mitem(press):-message("Message", "menuItem selected", i).
Untuk menu yang kedua yaitu MenuItem tidak mempunyai turunan. Mitem berfungsi jika menu tersebut diklik maka akan langsung keluar kotak dialog berisikan pesan menuItem selected. artinya kita dapat memilih menu item tersebut.

mpopup(init):- menu(normal, _,_,s1(_),"SubItem1"),
menu(separator, _,_,fail(_),_),
menu(normal, _,_,s2(_),"SubItem2"),
menu(normal, _,_,s3(_),"Exit").
Mpopup berfungsi untuk memanggil class init sebagai pembuatan submenu pada menu pop up. semua submenu dibuat normal karena tidak satu pun dipilih atau diaktifkan. Pendeklarasiannya s1 untuk subItem1 , s2 untuk Subitem2 dan s3 untuk exit. 

s1(press):-message("Message","SubItem1 selected", !).
s2(press):-message("Message","SubItem2 selected", n).
s3(press):-close_window(_).
mhelp(press):-shell_execute("N.txt").
Jika memilih s1 maka akan muncul kotak dialog yang berisi pesan Subitem1 selected, jika memilih s2 maka akan muncul kotak dialog yang berisi pesan Subitem2 selected . Jika memilih s3 maka akan otomatis keluar dari program tesebut sintaks dari keluar adalah close_window(_). Jika memilih mhelp maka akan muncul kotak dialog yang berisi pesan N.txt.

Oke, setelah menjelaskan kodingan di atas, sekarang kita akan menampilkan OUTPUT nya :

Tampilan atau jendela Output program kira-kira seperti gambar di atas. Kita bisa melihat dari gambar di atas yaitu nama dari program yang kita buat adalah Checker Menu. Kemudian Menu pop up nya terdapat 4 yaitu Pop_up, MenuItem, Level. Dan yang paling kanan ada menu Help.


Sekarang kita klik menu Pop_up, secara otomatis akan muncul submenu yaitu subitem1,subitem2,dan exit. Jika kita klik SubItem1, dan SubItem2 maka akan muncul





Pada SubItem1, pesan yang muncul memiliki gambar peringatan tanda ! karena pada s1(press):-message("Message","SubItem1 selected", !). tanda ! di akhir perintah yang memunculkan gambar seperti di atas.

Sedangkan pada SubItem2, pesan yang muncul tidak memiliki gambar seperti pada SubItem1 karena pada s2(press):-message("Message","SubItem2 selected", n). Tanda n di akhir perintah dan tidak terdapat gambar tanda !.

Kemudian kita klik menu ke dua yaitu MenuItem maka secara otomatis akan muncul gambar seperti diatas. Pesan yang muncul di atas tidak memiliki submenu secara otomatis pesan muncul seperti gambar di atas.

Pada menu ke tiga yaitu Level, Jika kita klik maka secara otomatis akan muncul submenu yaitu easy, normal,dan hard. Jika kita klik easy, normal, dan hard maka akan muncul


Pada easy, pesan yang muncul memiliki gambar peringatan tanda ! dan muncul pesan Mudah karena pada l2(press):-change_menu(1),message("Message","Mudah", !) . terdapat pesan “Message”, “Mudah” dan di akhiri tanda ! sebagai gambar peringatan !.

Pada normal, pesan yang muncul memiliki gambar peringatan tanda ! dan muncul pesan Mudah karena pada l3(press):-change_menu(2),message("Message","Normal", !) . terdapat pesan “Message”, “Normal” dan di akhiri tanda ! sebagai gambar peringatan !.

Pada hard, pesan yang muncul memiliki gambar peringatan tanda ! dan muncul pesan Mudah karena pada l4(press):-change_menu(3),message("Message","Sulit", !) . terdapat pesan “Message”, “Sulit” dan di akhiri tanda ! sebagai gambar peringatan !.


Terakhir pada menu Help, jika kita klik tidak akan menampilkan submenu ataupun kotak pesan karena pada menu Help kita tidak memasukkan perintah submenu dan perintah pesan.

0 komentar:

Posting Komentar