Membuat Timer/Waktu Menggunakan Strawberry Prolog

Assalamu’alaikum…

            Dalam Pembahasan kali ini, saya ingin memberikan sedikit pengetahuan tentang Bagaimana Cara Membuat Timer Menggunakan Strawberry Prolog ?. Disini saya akan memberikan Listing Program, Dan Logika Programnya + Output-nya, oke deh langsung saja ya disimak.. :

1.      Listing Program

?-
G_N=5,
message("Warning !!","Awas Ada Bom !!",!),
window(_,_,win_func(_),"Membuat Timer",100,100,400,400).
win_func(paint):-
G_waktu is set_timer(_,1,time_func).
time_func(end):-
(G_N=:=0->
kill_timer(_,G_waktu),
message("","Duuaarrrrr !!!",s),
message("Message .","Tuh kan Dibilangin ada bom,",i),
message("Laugh .","hihihi.. :D",i),
close_window(_)
else
Angka is print(G_N),
font(23,90,"Ravie"),
text_out(120,115,Angka),
G_N<>=G_N-1).

2.      Logika Program

            Pada praktikum PKB ini, saya akan membahas tentang Cara Membuat Timer pada Strawberry Prolog. Untuk membuat program tersebut, kita uraikan listing diatas, adapun perintah perintah yang ada pada listing, sebagai berikut ;

1.         G_N=5,

            Perintah diatas digunakan untuk awal statement memberikan waktu mundur dari 5 sampai 4 secara beraturan.

2.         message("Warning !!","Awas Ada Bom !!",!),

            Perintah diatas digunakan untuk memberikan kotak dialog message sebelum timer tersebut jalannya . (tepatnya setelah saat kita RUN).

3.         window(_,_,win_func(_)," Membuat Timer",100,100,400,400).

            Perintah diatas digunakan untuk Membuat window dengan ukuran X1 = 100, Y1 = 100, X2 = 400, Y2 = 400 . dengan nama “Membuat Timer”.

4.                     win_func(paint):-
            G_waktu is set_timer(_,1,time_func).

            Perintah diatas digunakan untuk Membuat variable waktu pada “Membuat Timer” dengan jeda waktu dari 5 hingga selesai dengan jeda waktu 1 detik, (seperti halnya detik jam sungguhan).

5.         time_func(end):-
            (G_N=:=0->
kill_timer(_,G_waktu),
message("","Duuaarrrrr !!!",s),
message("Message .","Tuh kan Dibilangin ada bom,",i),
            message("Laugh .","hihihi.. :D",i),
close_window(_)

            Perintah diatas digunakan untuk agar waktu berjalan mundur hingga berhenti pada detik ke 0, karna G_N nya = 0, namun jika G_N nya 1 maka akan berhenti pada detik ke 1. Lalu akan muncul pesan pada kodingan “Message” diatas . setelah itu maka program timer yang telah dibuat akan exit dengan sendirinya.

6.         else
            Angka is print(G_N),
font(23,90,"Ravie"),
text_out(120,115,Angka),
G_N<>=G_N-1).

            Perintah diatas digunakan untuk memberikan perulangan logika setiap 1 detik dan tidak akan berjalan terus mundur hingga min(-). pada text_out(185,150,Angka),digunakan untuk meletakkan timer pada koordinat X = 185 dan Y = 150 (berada di tengah window). Lalu pada Angka is print(G_N), font(23,90,"Ravie"), mencetak angka 5 hingga 1 ber-font Ravie dengan ukuran X = 23, dan Y = 90.

3.      Output Program

            Pada saat di RUN maka akan menampilkan kotak dialog "Warning !!!sobat klik OK maka akan muncul Tampilan yang berjudul  Membuat Timer” yang telah kita buat tadi seperti :


            Setelah selesai hingga 0 maka akan menampilkan “message” sebanyak 3 kali, sobat klik OK terus saja, lalu akan exit dari programnya dengan sendirinya .


             Mungkin itu saja penjelasan Mengenai Cara Membuat Timer Menggunakan Strawberry Prolog apa yang telah saya pelajari di Lab Tehnik Informatika Gunadarma Mata Kuliah Pengantar Kecerdasan Buatan, semoga bermanfaat.. semoga bermanfaat.. terima kasih.. ^^



Wassalamu’alaikum..



Download Strawberry Prolog : Disini atau Disini 

Membuat Activity Diagram Menggunakan StarUML (Menentukan Jarak Terpendek)

Assalamu’alaikum..

            Pada  pertemuan kali ini saya akan membuat Activity Diagram pada StarUML yang bertemakan “Menentukan Jarak Terpendek Dari Rumah Saya Menuju Kampus E Gunadarma”.

Listing Program
 
            Sekarang kita buat alurnya dengan memasukkan komponen tersebut ke dalam lembar kerja StarUML secara lengkap, hingga seperti gambar pada OUTPUT.

            Maksud dari gambar tersebut adalah pertama saya mulai dari InitialState yang menandakan awal mula program berjalan.

Kemudian barulah kita mulai prosesnya, disini saya ingin menuju Gunadarma Kampus E, pada gambar saya melewati Jln. Raya Citayam, setelah saya melewati Jln. Raya Citayam, saya mempunyai 2 pilihan jalan yang akan berujung ke Jln. Margonda, yaitu pada Decission-nya saya tuliskan “Jarak Terdekat 13 Km”. jika “Y” saya akan melewati jalan terdekat dengan jarak 13 Km dimana akan melewati Pasar CitayamStasiun Citayam dan akan melewati Jln. Margonda.

Namun jika “T” maka tentunya jarak akan > 13 Km jauhnya yaitu melewati “Pos Polisi CitayamJln. Pitara. Namun setelah melewati Jln. Pitara tersebut mempunyai “Decission” lagi yang saya namakan “Alternatif Terdekat Dari Jln. Pitara”.

            Dari Jln. Pitara menuju Jln. Margonda, Jika sobat pilih “Y” maka akan melewati “Pasar Depok 1” yang pastinya akan lebih dekat dibandingkan, jika memilih “T” maka sobat akan melewati Jln. BejiJln. Arif Rahman Hakim – barulah Jln. Margonda.

            Jika semua jalan yang dilewati menuju Kampus E Gunadarma menuju jalan yang sama yaitu “Jln. Margonda”, maka kita gunakan “Synchronization”. Maka ketiga jalan yang bisa kita tempuh menuju tujuan, akan hanya melewati 1 jalan, yaitu Jln. Margonda.

            Setelah itu kita melewati “Kelapa Dua – barulah sampai di Kampus E Gunadarma” . Jika telah sampai ditujuan, maka alur tersebut berhenti dan di akhiri dengan “Final State”.

Logika Program
 
1.         Terlebih dahulu instal aplikasi StarUML terlebih dahulu (jika belum punya) – Buka StarUML.

2.         Setelah muncul tampilan StarUML, diawal kita pilih “empty project”. Lalu klik menu ModelAdd - Package.

3.         Setelah itu masih di menu Model, klik Add Diagram – klik Activity Diagram.
 
4.         lalu jika ingin memunculkan Toolbox, klik menu View – klik Toolbox dan akan buncul Box sebelah kiri. Komponen yang akan saya gunakan di dalam Activity Diagram antara lain : ActionState, InitialState, FinalState, Synchronization, Decision, Text dan Transition.

5.         A.         ActionState digunakan untuk menuliskan statement. 
  
B.         InitialState digunakan sebagai tanda mulainya alur program tersebut. 

C.         FinalState digunakan sebagai tanda akhir dari alur program. 

D.         Synchronization digunakan untuk menyatukan beberapa statement yang menuju ke arah yang sama pada alur selanjutnya. 

E.         Decision digunakan sebagai kondisi percabangan, yang terdiri dari 2 pertanyaan yang biasanya “Y” dan “T”. (ya dan tidak) 

F.         Lalu Transition digunakan sebagai arah / penunjuk dari satu statement ke statement berikutnya.

G.         dan Text digunakan untuk member sebuah kata kata pada Decission atau yang lainnya . (klik AnnotationText) 

Output
 


            Mugkin tu saja yang bisa saya bahas membuat Activity Diagram pada Star UML yang bertemakan “Menentukan Jarak Terpendek Dari Rumah Saya Menuju Kampus E Gunadarma”. Mohon maaf apabila ada salah kata yang kurang  berkenan, semoga bermanfaat.. terima kasih.. ^^

Wassalamu’alaikum…



Download StarUML :  Disini atau Disini

Membuat ASCII (Membuat Kursor Bergerak ke Segala Arah) Menggunakan Strawberry Prolog

Assalamu’alaikum…

            Dalam Pembahasan kali ini, saya ingin memberikan sedikit pengetahuan tentang Cara Membuat ASCII (Membuat Kursor Bergerak ke Segala Arah) Menggunakan Strawberry Prolog. Disini saya akan memberikan Listing Program, Dan Logika Programnya + Output-nya, oke deh langsung saja ya disimak.. :

1.      Listing Program


?-
G_X1:=0,
G_X2:=G_X1,
G_Y1:=0,
G_Y2:=G_Y1,

P1:=0,
P2:=0,

window(_,_,win_func(),"Faris Berhasil ASCII",500,200,300,300).

win_func(key_down(39,_)):-
(G_X1 < 200 -> G_X2 := G_X1,
G_X1:=G_X1+1), draw2.

win_func(key_down(37,_)):-
(G_X1 < 200 -> G_X2 := G_X1,
G_X1:=G_X1-1), draw2.

win_func(key_down(38,_)):-
(G_Y1 < 300 -> G_Y2 := G_Y1,
G_Y1:=G_Y1-1), draw2.

win_func(key_down(40,_)):-
(G_Y1 < 300 -> G_Y2 := G_Y1,
G_Y1:=G_Y1+1), draw2.

win_func(paint):- draw.
draw:-
P1:=G_X1*3,
P2:=G_Y1*3,
ellipse(P1, P2, P1+10, P2+10).
draw2:-
update_window(_),
fail.

2.      Logika Program

            Setelah pada saya memberikan listing program ASCII, sekarang saya coba menguraikan maksud pada listing diatas, adapun pengertian perintah perintah yang ada pada listing, sebagai berikut ;

?-
G_X1:=0,
G_X2:=G_X1,
G_Y1:=0,
G_Y2:=G_Y1,

=>        Perintah yang Di gunakan untuk membuat titik koordinat dan pengisian variable pertama kali.

window(_,_,win_func(),"Faris Berhasil ASCII",500,200,300,300).

=>        Perintah yang Digunakan untuk membuat sebuah jendela output yang tampil pada Desktop. Saya memberi ukuran window 300x300 dan jarak antara pinggir layar/desktop ke tampilan output pada koordinat 500 ke samping dan 200 ke bawah, dan saya beri nama dengan “Faris Berhasil ASCII”.

win_func(key_down(39,_)):-
(G_X1 < 200 -> G_X2 := G_X1,
G_X1:=G_X1+1), draw2.

=>        Perintah yang Digunakan untuk membuat agar titik merah tersebut dapat digerakkan “ke kanan” menggunakan keyboard

win_func(key_down(37,_)):-
(G_X1 < 200 -> G_X2 := G_X1,
G_X1:=G_X1-1), draw2.

=>        Perintah yang Digunakan untuk membuat agar titik merah tersebut dapat digerakkan “ke kiri” menggunakan keyboard

win_func(key_down(38,_)):-
(G_Y1 < 300 -> G_Y2 := G_Y1,
G_Y1:=G_Y1-1), draw2.

=>        Perintah yang Digunakan untuk membuat agar titik merah tersebut dapat digerakkan “ke atas” menggunakan keyboard

win_func(key_down(40,_)):-
(G_Y1 < 300 -> G_Y2 := G_Y1,
G_Y1:=G_Y1+1), draw2.

=>        Perintah yang Digunakan untuk membuat agar titik merah tersebut dapat digerakkan “ke bawah” menggunakan keyboard

win_func(paint):- draw.
draw:-
P1:=G_X1*3,
P2:=G_Y1*3,
ellipse(P1, P2, P1+10, P2+10).
draw2:-
update_window(_),
fail.

            Perintah yang Digunakan untuk membuat titik tersebut dapat bolong ditengah.

3.      Output Program

Tampilan pada saat di RUN : 



            Lalu ketika sobat menggerakan titik merah tersebut dengan menekan tombol (arah) pada keyboard, maka titik merah tersebut akan berpindah pindah . seperti gambar dibawah :               
     
 
(gambar setelah menekan tombol arah)
                       

            Mungkin itu saja penjelasan Mengenai Bagaimana Cara Membuat ASCII Menggunakan Strawberry Prolog dari apa yang telah saya pelajari di Lab Tehnik Informatika Gunadarma Mata Kuliah Pengantar Kecerdasan Buatan, semoga bermanfaat.. terima kasih.. ^^



Wassalamu’alaikum..


Download Strawberry Prolog : Disini atau Disini 

Laporan Progress Project Lab TI

LAPORAN PROGRESS PROJECT
LABORATORIUM TEKNIK INFORMATIKA
UNIVERSITAS GUNADARMA

            PJ                     : 

            NAMA              :  Muhammad Faris Al Fatih

            NPM                :  54411827

            KELAS              :  3ia15

            JUDUL              :


MINGGUTANGGALKETERANGANNILAIPARAF