Selasa, 09 Juni 2015

Manual book game ckick clack away



BAHASA DAN PROGRAM EDITOR :
         Permainan ini menggunakan bahasa pemrograman Prolog. Dan di sini penulis menggunakan Strawberry Prolog sebagai program editor. Alasan penulis menggunakan strawberry prolog ini karena menurut penulis ini mudah untuk digunakan.

INITIAL STATE :
Initial State yang digunakan sebagai acuan untuk membuat program Click Clack Away adalah pembuatan papan permainannya. Di sini penulis menggunakan gambar Apel yang berukuran 56x60 sebagai pengganti “korek api”. Game Click Clack Away merupakan Permainan Mental yang dimainkan seorang pemain melawan AI komputer. Pada game ini akan menampilkan 16 spot/apel yang tersusun dari enam baris dan kolomnya menyusun meningkat. Game ini akan mengasah otak pemainnya. Pemain dipaksa untuk menerapkan strategi yang tepat untuk memenangkan game ini. Permainan ini hanya dapat dimainkan oleh satu pemain, sedangkan Komputer bertindak sebagai lawan dari pemain.

RULES :
            Aturan main (Rules) yang digunakan pada games Click Clack Away Strawberry Prolog  ini adalah sebagai berikut :
1.      User memulai permainannya terlebih dahulu, dan user menentukan apel mana yang akan diambil untuk memulai permainan. User diberi kebebasan untuk memilih apel mana saja yang akan diambil selama berada di papan permainan.
2.      Komputer diberi pembelajaran untuk menghalangi jalan user untuk mencapai Goal (Tujuan).
3.      Komputer juga diberi pembelajaran untuk memenangkan games ini (mengambil lebih dahulu dari user) .



GOAL :
            Goal (tujuan) untuk menyelesaikan games Click Clack Away Strawberry Prolog ini adalah mengambil lebih dahulu dari lawan kita, yang dimana lawan kita ialah Komputer. Banyak sekali Goal (tujuan) yang bisa terbentuk, salah satunya sebagai berikut :

(GOAL)

(GOAL)



AI :
Kecerdasan buatan atau yang sering disebut dengan AI pada game ini terletak pada computer yang akan bertindak sebagai lawan. Komputer akan selalu berusaha mengalahkan user. Komputer dapat menyusun strateginya sendiri agar menjadi pemenang.

BATAS USIA :
            Permainan ini dapat dimainkan untuk semua usia. Karena permainan ini mengasah ketrampilan otak dengan menyusun strategi sesuai dengan tujuan yang telah ditentukan sebelumnya.

INSTALASI STRAWBERRY PROLOG :
1. Sebaiknya tutup semua program lain yang sedang dibuka.
Anda dapat menginstall Strawberry Prolog dengan dua cara yaitu dengan langsung mengakses direktori source program Strawberry Prolog di CDROM.
2. Pada jendela konfirmasi yang muncul, klik OK untuk melanjutkan proses penginstallan.
3. Kemudian anda diminta untuk menentukan lokasi dimana anda akan meletakkan file installan (destination location). Jika anda tidak menentukan destination location maka secara otomatis lokasi penginstallan ditempatkan di C:\Program Files\Strawberry Prolog. Proses penginstallan akan segera dilaksanakan jika anda telah mengklik Unzip button.

4. Selanjutnya proses penginstallan dimulai. Silakan tunggu hingga proses penginstallan selesai.
Jika proses penginstalan telah selesai maka muncul jendela konfirmasi "310 file(s) Unzipped Successfully".

Petunjuk Bermain Click Clack Away Strawberry Prolog :
1. Sebaiknya tutup semua program lain yang sedang dibuka.
Terlebih dahulu anda harus menginstall Strawberry Prolog.
2. Jika program Strawberry Prolog sudah terinstall maka buka direktori Project Prolog seperti tampilan berikut :
Dan klik double file Click Clack Away Strawberry Prolog.
Jika anda tidak mendapatkan tampilan seperti di atas maka anda harus mengketikkan listing program Click Clack Away tersebut di Strawberry Prolog.
3. Anda selanjutnya akan menemukan tampilan berikut :
Anda harus klik "Compile" untuk mengetahui apakah masih ada sintaks yang masih salah jika tidak ada sintaks yang salah maka klik "Run" atau tekan keyboard "F5" untuk menjalankan program tersebut hingga anda menemukan tampilan sebagai berikut :
4. untuk cara bermain, kita pilih New Game untuk bermain baru seperti tampilan berikut :
5. Kemudian kita merancang strategi untuk menang dengan cara klik apel keempat baris keempat sebanyak empat apel.
Kemudian klik apel pertama baris pertama sebanyak satu apel.
Lalu klik apel pertama baris keenam sebanyak satu apel.
Lalu klik apel ketiga baris kelima sebanyak dua apel
Lalu klik apel kedua baris kedua sebanyak satu apel sehingga akan muncul pesan bahwa anda menang “Congrats! Good Job”.

6. Selanjutnya ke step 4 untuk bermain baru. Kemudian strategi untuk kalah mungkin sama dengan step 5 namun berbeda pada langkah terakhir yakni dengan mengklik apel kedua baris kedua sebanyak dua apel sehingga akan muncul pesan bahwa anda kalah “Sorry, try harder!”.



LISTING PROGRAM
Click Clack Away (Take the Last You Fool) Strawberry Prolog :

% Click Clack away is made by QURROTA AINI
% from GUNADARMA UNIVERSITY

?-
  G_Comp_First=0,
  G_Take_Last=0,
  G_Cap is bitmap_image("Apple1.bmp",_),
  G_Background is bitmap_image("wall1.bmp",_),
  G_Black is brush(rgb(0,0,0)),
  pen(0,0),         
  set(pos([1,2,3,4,3,2,1])),

  window_n( G_Main, _, win_func, "Click Clack Away (take the last you fool)", 200,200,800,400,_,_,rgb(0,0,0)).

win_func(close) :- not( yes_no("EXIT","Are you sure?", ?)).

win_func(init) :-
  menu( pop_up, _, _, menu_start(_), "&Start"),
  menu( normal, _, _, menu_about(_), "&About"),
  menu( normal, _, _, menu_rule(_), "&tutorial"),
  menu( right, _, _, menu_help(_), "&help").

menu_start(init) :-
menu( normal, _, _, menu_new(_), "&New Game"), 
menu( separator, _, _, fail(_), _),
menu( normal, _, _, menu_exit(_), "&Exit").


win_func(paint):-
  draw_bitmap(0,0,G_Background,_,_),
  pos(Pos),
  el(Pos,El,N),
  for(I,1,El),
%antar gambar
  X is 70+100*N,
  Y is 280- 60*I,
  draw_bitmap(X-5,Y-16,G_Cap,_,_),
  fail.
 
win_func(mouse_click(X,Y)):-
  X1 is (X- 50)//100,
  Y1 is (270-Y)//60,
  X1=<6,X>=40,
  pos(Pos),
  el(Pos,El,X1),
  El>Y1,
  replace(Pos2, Pos, Y1, X1),
  brush(G_Black),
  rect(100*X1+40,0,100*X1+140,265- 58*Y1),
  (Pos2=[0,0,0,0,0,0,0]->
    set(pos(Pos2)),
    end(0)
  else
    wait(0.5),
    play(Pos3, Pos2),
    (Pos3=[0,0,0,0,0,0,0]->
      end(1)),
    set(pos(Pos3))),
  update_window(_).

win_func(mouse_click(X,Y)):-
  beep.

play(Pos3, Pos2):-
  G_Take_Last=0,
  count_successes(not_trivial(Pos2))>2,
  find_max(Pos2,Max,N),
  New is (Max<1,count_successes(not_empty(Pos2)) mod 2=:=1 -> 1 else 0),
  replace(Pos3, Pos2, New, N).
play(Pos3, Pos2):-
  el(Pos2,A, N),
  R:=0,
  add_xor(R,Pos2,N),
  R<A,
  replace(Pos3, Pos2, R, N).
play(Pos3, Pos2):-
  find_max(Pos2,Max,N),
  Max2 is (Max<1, random(2)=:=0 ->
    Max - 2
  else
    Max - 1),
  replace(Pos3, Pos2, Max2, N).

not_empty(Pos):-
  el(Pos,A, _),
  A<0.
not_trivial(Pos):-
  el(Pos,A, _),
  A<1.

el([H|T],H,0).
el([H|T],El,N):-
  el(T,El,N1),
  N is N1+1.

replace([H|T],[_|T],H,0).
replace([H|T2],[H|T],El,N):-
  replace(T2,T,El,N1),
  N is N1+1.

find_max([H],H,0).
find_max([H|T],A, N) :-
  find_max(T,A1,N1),
  (A1<H->
    A is H,
    N is 0
  else
    A is A1,
    N is N1+1).

add_xor(_,[],_):-!.
add_xor(R,[H|T],0):- !,
  add_xor(R, T, -1).
add_xor(R,[H|T],N):-
  N1 is N- 1,
  R:=R xor H,
  add_xor(R, T, N1).

end(Flag):-
  Flag=G_Take_Last->
    message("Lost","Sorry, try harder!",i)
  else
    message("Win","Congrats! Good Job",!).


menu_new(press) :-
  (G_Comp_First=0->
    set(pos([1,2,3,4,3,2,1]))
  else
    Pos=[1,2,3,4,3,2,1],
    N is 2*random(3),
    el(Pos,A, N),
    A2 is A - 1,
    replace(Pos2, Pos, A2, N),
    set(pos(Pos2))),
  update_window(_).

menu_help(press):-
  shell_execute("http://www.dobrev.com/help/").

menu_about(press) :-
  message("About", "Click Clack Away (click away the apple) \nQurrota Aini - Gunadarma University 2011", i).

menu_rule(press) :-
  message("Rules","
User take turn first. You have to click one or more just in one coloumn. Remember! Dont take the last", i).

menu_exit(press) :-
  close_window(_).


OUTPUT PROGRAM


(Matches Soccer Ball’s (Don’t take the last)


(About this game)


(Rules this game)


(Quit this game)

Daftar Pustaka







Compile : proses menterjemahkan seluruh program kedalam bahasa mesin sekaligus

Prolog :  bahasa pemrograman logika atau di sebut juga sebagai bahasa non-procedural.

Strawberry prolog : dialek dari Prolog bahasa pemrograman . Its sintaks sangat dekat dengan ISO-Prolog tetapi memiliki banyak ekstensi yang bukan bagian dari standar. Ide utama dari Strawberry Prolog adalah mudah digunakan sehingga beberapa universitas memilih menggunakannya dalam program mereka




Kamis, 23 April 2015

Prinsip Berpegang Teguh

Prinsip berpegang teguh adalah suatu keyakinan yang didasari dengan kepercayaan pada sesuatu yang kita yakini. Pada dasarnya kebanyakan orang punya prinsip dalam hidup, tapi belum tentu semua orang bisa berpegang teguh pada prinsipnya. Banyak orang yang punya prinsip tapi dia tidak berpegang teguh pada prinsipnya. 

memang setiap orang mempunyai prinsipnya masing-masing tapi itu bukan berarti kita tidak menghormati prinsip mereka, misalanya jika kita sedang adu argumen dengan orang lain, kita tidak boleh egois bahwa prinsip kitalah yg harus di ikuti. kita tetap harus menghormati prinsip orang lain dengan cara mencari jalan keluarnya secara musyawarah atau ada pihak ketiga yg dituakan dan dianggap paling mengerti tentang apa yg kita perdebatkan.

Khusunya bagi diri saya sendiri saya mempunyai prinsip dalam hidup yaitu: 
- harus sukses sesegera mungkin agar tidak terkatung-katung dimasa tua nanti
- tidak mudah terpengaruh apa kata orang lain
- harus mempunyai rasa simpati dan empati terhadap orng lain
- bermanfaat untuk orang lain 
- membahagiakan orng lain khusunya orang tua saya dan keluarga
- dan yg paling penting prinsip saya tidak melanggar aturan agama yg saya yakini 



Kamis, 09 April 2015

Tanggung Jawab

Tanggung jawab menurut kamus bahasa indonesia adalah, keadaan wajib menaggung segala sesuatunya. Sehingga bertanggung jawab menurut kamus umum bahasa indonesia adalah berkewajiban menaggung, memikul,menanggung segala sesuatunya,dan menanggung akibatnya.

Tanggung jawab adalah kesadaran manusia akan tingkah laku atau perbuatannya yang di sengaja maupun yang tidak di sengaja.tanggung jawab juga berarti berbuat sebagai perwujudan kesadaran akan kewajiban.

Beberapa Tanggung jawab yang saya jalani:

- Tanggung Jawab terhadap Tuhan

Sebagai makhluk ciptaan tuhan saya bertanggung jawab atas apa yg tuhan berikan pada saya seperti akal, umur, rezeki, jodoh dll karna apa yg saya lakukan  itu kelak semua akan diminta pertanggung jawabanya. walaupun orang lain tidak ada yg mengetahui apa yg saya kerjakan tapi tuhan selalu tau apa yg hambanya kerjakan.

- Tanggung jawab terhadap keluarga

saya anak kedua dari tiga bersaudara. sebagai seorang adik dan juga kakak saya harus bisa memposisikan diri saya dalam keluarga. saya harus hormat kepada yg tua dan menyayangi yg muda. saya harus menjaga nama baik keluarga  dengan tidak melakukan hal hal yg mencemarkan nama baik keluarga terutama orang tua karna saya ingin membuat keluarga saya bahagia dengan usaha saya sendiri

- Tanggung jawab sebagai mahasiswa

sebagai seorang mahasiswa saya harus menjalanin rutinitas saya sehari hari sebagaimana layaknya mahasiswa pada umumnya seperti kuliah, main, ngerjain tugas dll terlebih lagi saya harus sesegera mungkin menyelesaikan status mahasiswa saya agar saya bisa membatu ekonomi keluarga. karna sudah bertahun tahun orang tua saya membiayai pendidikan saya dan jika sudah sarjana nanti waktunya saya buat balas budi.