Laporan Akhir Lab TI Pengantar Kecerdasan Buatan (PKB) Pertemuan 2
LISTING PROGRAM
?-window(_,_,win_utama(_),"Belajar buat window",100,50,450,450).win_utama(init):-%menu utamamenu(normal,_,_,menu_mulai(_),"&New game"),menu(normal,_,_,menu_exit(_),"&Exit").menu_exit(press):-close_window(_).win_func(init):-%menu utamamenu(pop_up,_,_,menu_start(_),"&Start"),menu(normal,_,_,menu_exit(_),"&Exit").menu_mulai(press):-close_window(_),window(_,_,win_func(_),"Belajar buat timer",100,50,450,450).menu_start(init):-menu(normal,_,_,menu_easy(_),"&Mudah"),menu(normal,_,_,menu_hard(_),"&Sulit").menu_easy(press):-message("timer","kamu memiliki waktu 10 detik sebelum berakhir",i),update_window(_),G_M:=10,G_waktu isset_timer(_,1,timer_func).menu_hard(press):-message("waktu","kamu memiliki waktu 5 detik sebelum berakhir",i),update_window(_),G_M:=5,G_waktu isset_timer(_,1,timer_func).timer_func(end):-(G_M=:=10->pen(5,rgb(255,255,255)),rect(49,10,70,25)),(G_M=:=0->kill_timer(_,G_waktu),message("WARNING","Game over,waktu kamu habis!!!",i),close_window(_)elseAngka is print(G_N),font(30,70,"Arial"),G_M <>= G_M-1),T isprintq(G_M),text_out(10,10,T), beep.
LOGIKA PROGRAM
Pada pertemuan minggu kedua ini saya akan menjelaskan logika program dari splash screen dan timer yang sudah saya buat ini. Berikut logika programnya.
?-
Fungsi diatas adalah awal untuk membuat sebuah program di strawberry prolog.
window(_,_,win_utama(_),"Belajar buat window",100,50,450,450).
Fungsi diatas untuk mengatur tinggi dan lebar pada jendela output. Dan kata “Belajar Buat Window” merupakan judul dari jendela output yang telah di buat tadi, kemudian maksud dari “(100,50,450,450)” merupakan koordinat X1,Y1,X2,Y2 dan ukuran dari jendela output yang akan ditampilkan. Sedangkan maksud dari “100,50“ merupakan jarak antara tepi monitor kiri dan tepi monitor atas kebawah. Sedangkan “450” dan “450” merupakan besar atau lebarnya jendela output.
win_utama(init):-
%menu utama
menu(normal,_,_,menu_mulai(_),"&New Game"),
menu(normal,_,_,menu_exit(_),"&Exit").
Fungsi diatas diatas adalah untuk membuat sebuah tampilan menu dimana terdapat menubar “New Game” dan “Exit”.
menu_exit(press):-
close_window(_).
Fungsi diatas menyatakan apabila kita menekan atau mengklik menubar Exit maka kita akan keluar dari layar tersebut.
win_func(init):-
%menu utama
menu(pop_up,_,_,menu_start(_),"&Start"),
menu(normal,_,_,menu_exit(_),"&Exit").
Fungsi diatas adalah untuk menampilkan isi dari menubar New Game, apabila kita
mengklik New Game maka akan muncul pilihan Start dan Exit.
menu_mulai(press):-
close_window(_),
window(_,_,win_func(_),"Belajar buat timer",100,50,450,450).
Fungsi diatas adalah apabila kita mengklik menubar New Game, maka window yang pertama akan tertutup dan membuka window baru yaitu window belajar buat timer.
menu_start(init):-
menu(normal,_,_,menu_easy(_),"&Mudah"),
menu(normal,_,_,menu_hard(_),"&Sulit").
Fungsi diatas adalah isi dari menubar Start. Dan didalam menubar Start terdapat 2 pilihan yaitu Mudah(easy) dan Sulit(hard).
menu_easy(press):-
message("timer","kamu memiliki waktu 10 detik sebelum berakhir",i),
Fungsi diatas adalah apabila kita memilih Easy(mudah) pada menu Start maka akan muncul pesan pada layar yaitu “kamu hanya memiliki waktu 10 detik sebelum waktu berakhir”. Setelah itu akan menampilkan waktu/timer yang berjalan mulai dari 10 sampai 0.
update_window(_),
G_M:=10,
G_waktu isset_timer(_,1,timer_func).
Fungsi diatas adalah untuk mencetak timer selama 1 detik, yang berarti saat program dijalankan akan muncul timer dimulai dari angka 10. Pada saat detik ke 10 menuju detik ke 9, program terebut menunggu selama 1 detik dan kemudian bergerak menuju detik ke 9. Tetapi jika angka 1 pada listingan tersebut diganti angka 5 maka detik ke 10 menuju detik ke 9 akan menunggu selama 5 detik juga jadi akan lama sekali jedanya.
menu_hard(press):-
message("waktu","kamu memiliki waktu 5 detik sebelum berakhir",i),
Fungsi diatas adalah ketika anda memilih Hard(sulit) pada menu Start maka akan muncul pesan pada layar yaitu “kamu hanya memiliki waktu 5 detik sebelum waktu berakhir”.
update_window(_),
G_M:=5,
G_waktu isset_timer(_,1,timer_func).
Fungsi diatas adalah untuk mencetak timer selama 1 detik, yang berarti saat program dijalankan akan muncul timer dimulai dari angka 5. Pada saat detik ke 5 menuju detik ke 4, program terebut menunggu selama 1 detik dan kemudian akan bergerak menuju detik ke 4. Tetapi jika angka 1 pada listingan tersebut diganti angka 4 maka detik ke 5 menuju detik ke 4 akan menunggu selama 4 detik sekali jadi akan lama sekali jeda waktunya.
timer_func(end):-
(G_M=:=10->
pen(5,rgb(255,255,255)),
rect(49,10,70,25)),
(G_M=:=0->
kill_timer(_,G_waktu),
message("WARNING","Game over,waktu kamu habis!!!",i),
close_window(_)
Fungsi diatas adalah apabila program dijalankan maka timer akan mulai menghitung mundur dari 10 hingga 0. Namun jika waktu sudah menunjukkan angka 0 maka nanti akan muncul pesan yang bertuliskan Warning pada bagian atas layar dan yang berisi “Game Over,waktu kamu sudah habis”.
Fungsi pen(5,rgb(255,255,255)) rect(49,10,70,25)) berguna untuk membuat persegi yang memiliki background dengan warna putih. Setelah mengklik tombol OK maka layar akan tertutup kembali.
else
Angka is print(G_N),
font(30,70,"Arial"),
G_M <>= G_M-1),
T isprintq(G_M),
text_out(10,10,T), beep.
Fungsi diatas adalah untuk melakukan perulangan logika setiap 1 detik akan berkurang. Dan pada Angka is printq(G_M) maksudnya adalah mendeklarasikan angka menjadi syntak G_M. dan jenis tulisan pada timer yang muncul adalah “Arial” dengan ukuran tulisan lebar 30 dan tinggi 70. Tulisan atau teks detik akan muncul pada koordinat 10,10.
OUTPUT PROGRAM
Belum ada Komentar untuk "Laporan Akhir Lab TI Pengantar Kecerdasan Buatan (PKB) Pertemuan 2"
Posting Komentar