-->

Strawberry Prolog : Membuat Tombol Menggunakan Kode ASCII

Pada  tutorial kali ini akan dibahas mengenai kode Ascii dimana kode tersebut di gunakan dalam pembuatan program kali ini. Ascii sendiri adalah kepanjangan dari American Standard Code For Information Interchange yang merupakan suatu standar internasional dalam kode huruf dan symbol. Ascii selalu digunakan oleh computer dan alat komunikasi lain untuk menunjukkan teks, sedangkan fungsi kode ascii ialah digunakan untuk mewakili karakter-karakter angka maupun huruf.

            Untuk mulai mengetikkan kode programnya, terlebih dahulu kita membuka aplikasi strawberry prolognya :


Lalu pilih menu di atas : File- New- Strawberry Project - Ok

 


LISTING PROGRAM & LOGIKA PROGRAM


?-
%var yang digunakan
G_XU :=0, G_YU :=0,

%window pertama
window(G_key,_,win_ascii(_),"karakter",100,50,500,500).
win_ascii(key_down(32,_)):- message("ASCII","ini tombol spasi",i).
win_ascii(key_down(65,_)):- message("ASCII","ini tombol a",i).
win_ascii(key_down(68,_)):- message("ASCII","ini tombol d",i).
win_ascii(key_down(83,_)):- message("ASCII","ini tombol s",i).
win_ascii(key_down(87,_)):- message("ASCII","ini tombol w",i).
win_ascii(key_down(13,_)):- message("ASCII","ini tombol enter",i).

%kanan
win_ascii(key_down(39,_)):-
pen(16,rgb(255,255,255)),
rect(40+G_XU,40+G_YU,70+G_XU,70+G_YU),
(G_XU=420 -> G_XU :=G_XU
else G_XU := G_XU+60),
pen(16,rgb(191,0,255)),
rect(40+G_XU,40+G_YU,70+G_XU,70+G_YU).

%kiri
win_ascii(key_down(37,_)):-
pen(16,rgb(255,255,255)),
rect(40+G_XU,40+G_YU,70+G_XU,70+G_YU),
(G_XU=0 -> G_XU :=G_XU
else G_XU := G_XU-60),
pen(16,rgb(255,215,0)),
rect(40+G_XU,40+G_YU,70+G_XU,70+G_YU).

%atas
win_ascii(key_down(38,_)):-
pen(16,rgb(255,255,255)),
rect(40+G_XU,40+G_YU,70+G_XU,70+G_YU),
(G_YU=0 -> G_YU :=G_YU
else G_YU := G_YU-60),
pen(16,rgb(255,0,127)),
rect(40+G_XU,40+G_YU,70+G_XU,70+G_YU).

%bawah
win_ascii(key_down(40,_)):-
pen(16,rgb(255,255,255)),
rect(40+G_XU,40+G_YU,70+G_XU,70+G_YU),
(G_YU=360 -> G_YU :=G_YU
else G_YU := G_YU+60),
pen(16,rgb(0,255,0)),
rect(40+G_XU,40+G_YU,70+G_XU,70+G_YU).


A.     ?-
Perintah yang digunakan untuk setiap awal dari program untuk menjadi intrepeteur untuk merespon bagian koding selanjutnya. Tanpa symbol ini, PASTI program yang sobat buat akan error ketika di RUN.

B.     G_XU :=0, G_YU :=0,
Merupakan Variabel yang digunakan untuk menggerakan arah kanan, kiri, atas, bawah dengan pemberian nilai awal = 0.

C.     window(G_key,_,win_ascii(_),"karakter",100,50,500,500).
window disini digunakan untuk pembuatan kotak tampilan dan ”karakter” adalah
untuk pembuatan nama pada kotak tampilan dan 100,50,500,500 adalah untuk penentuan ukuran kotak tampilan.

D.     win_ascii(key_down(32,_)):-
Deklarasi fungsi win_ascii untuk menerima inputan dari keyboard, dengan kode ascii 32 yang berarti spasi.

Kode : 65 untuk huruf a
Kode : 68 untuk huruf d
Kode : 83 untuk huruf s
Kode : 87 untuk huruf w
Kode : 13 untuk huruf enter

E.     message("ASCII","ini tombol spasi",i).
Merupakan kotak dialog atau pesan, ketika menekan tombol spasi maka akan keluar pesan dengan pesan “ ini tombol spasi” . (begitu juga kode yang lainnya)

F.     %kanan
win_ascii(key_down(39,_)):-
Memanggil fungsi win_ascii dengan kode 39 yaitu kode untuk arah kanan

G.  pen(16,rgb(255,255,255)),
Merupakan perintah untuk membuat bentuk warna putih dengan ketebalan garis 16.

H.     rect(40+G_XU,40+G_YU,70+G_XU,70+G_YU),
Potongan program di atas berguna untuk mendeklarasikan variable G_XU sebagai sumbu X dan G_YU sebagai sumbu Y. dengan letak windows yang akan tampil saat running program yang telah ditentukan.

I.     (G_YU = 360 -> G_YU := G_YU 
Berfungsi sebagai percabangan. Pertama akan ditanya jika  G_YU =  360 yang merupkan batas bawah akhir dari pergerakkan kotak.

J.     else G_YU := G_YU+60),
Jika kondisi tersebut salah, maka kotak tersebut masih dapat di pindahkan ke bawah sebesar  60.

K.     (G_YU=0 -> G_YU :=G_YU
 else G_YU := G_YU-60),
Sama halnya dengan kode ke kanan, bedanya kode ASCII yang digunakan ialah 38 yang bernilai masukan keyboard arah atas. Arah atas ini sama seperti logika araah bawah , bedanya hanya pada batas sumbu Y. pada arah atas ini batas dari sumbu Y paling atas adalah 0. Jika belom sampai 0 maka sumbu y akan bertambah sebesar 60.


OUTPUT



 


 


 



 
















LihatTutupKomentar