You are on page 1of 12

LAPORAN TUGAS BESAR SISTEM KENDALI CERDAS

GAME DENGAN LOGIKA FUZZY


Disusun guna memenuhi salah satu tugas mata kuliah Sistem Kendali Ce das!

Oleh: Akhmad Rosid Ridlo (0 !"!0#0!0$%&

'URUSAN TEKNIK ELEKTRO STRATA ! (AKULTAS TEKNIK UNI)ERSITAS 'EMBER #0!0

BAB I PENDA*ULUAN !+! La,a- Belaka./


Sekarang ini banyak sekali jenis game PC yang bermunculan. Para programmer berlomba untuk
memunculkan inovasi dalam setiap game PC yang mereka ciptakan. Inovasi tersebut adalah game berbasis kecerdasan buatan. Game yang berbasis kecerdasan buatan ini seolah memberi ruh pada pada geme yang dimainkan. Basis kecerdasan buatan ini memiliki beberapa jenis diantaranya: logika fu y! jringan daraf tiruan! dan algoritma genetik. Semua jenis ini tujuannya sama yaitu jika pada game! menjadikannya semakin cerdas! maksudnya adalah di dalam game ini terdapat sistem pembelajaran terhadap informasi yang berasal dari input dan output.

Game yang kami bahas ini adalah berbasis logika fu y. "ami membahas game ini ialah selain dari kami ingin mencoba bagaimana cara membuat suatu game yang cerdas! tetapi juga atas instruksi dari dosen pengajar mata kuliah sistem kendali cerdas elektronika.

#.$ La.dasa. Teo-i


"ecerdasan Buatan %bahasa Inggris: Artificial Intelligence atau AI& didefinisikan sebagai kecerdasan yang ditunjukkan oleh suatu entitas buatan. Sistem seperti ini umumnya dianggap komputer. "ecerdasan diciptakan dan dimasukkan ke dalam suatu mesin %komputer& agar dapat melakukan pekerjaan seperti yang dapat dilakukan manusia. Beberapa macam bidang yang menggunakan kecerdasan buatan antara lain sistem pakar! permainan komputer %games&! logika fu y! jaringan syaraf tiruan dan robotika. Banyak hal yang kelihatannya sulit untuk kecerdasan manusia! tetapi untuk Informatika relatif tidak bermasalah. Seperti contoh: mentransformasikan persamaan! menyelesaikan persamaan integral! membuat permainan catur atau Backgammon. 'i sisi lain! hal yang bagi manusia kelihatannya menuntut sedikit kecerdasan! sampai sekarang masih sulit untuk direalisasikan dalam Informatika. Seperti contoh: Pengenalan (byek)*uka! bermain sepak bola. +alaupun ,I memiliki konotasi fiksi ilmiah yang kuat! ,I membentuk cabang yang sangat penting pada ilmu komputer! berhubungan dengan perilaku! pembelajaran dan adaptasi yang cerdas dalam sebuah mesin. Penelitian dalam ,I menyangkut pembuatan mesin untuk mengotomatisasikan tugas-tugas yang membutuhkan perilaku cerdas. .ermasuk contohnya adalah pengendalian! perencanaan dan penjad/alan! kemampuan untuk menja/ab diagnosa dan pertanyaan pelanggan! serta pengenalan tulisan tangan! suara dan /ajah. 0al-hal seperti itu telah menjadi disiplin ilmu tersendiri! yang memusatkan perhatian pada penyediaan solusi

masalah kehidupan yang nyata. Sistem ,I sekarang ini sering digunakan dalam bidang ekonomi! obat-obatan! teknik dan militer! seperti yang telah dibangun dalam beberapa aplikasi perangkat lunak komputer rumah dan video game. 1"ecerdasan buatan1 ini bukan hanya ingin mengerti apa itu sistem kecerdasan! tapi juga mengkonstruksinya. .idak ada definisi yang memuaskan untuk 1kecerdasan1: kecerdasan: kemampuan untuk memperoleh pengetahuan dan menggunakannya atau kecerdasan yaitu apa yang diukur oleh sebuah 1.est "ecerdasan1. Secara garis besar! ,I terbagi ke dalam dua faham pemikiran yaitu ,I "onvensional dan "ecerdasan "omputasional %CI! Computational Intelligence&. ,I konvensional kebanyakan melibatkan metoda-metoda yang sekarang diklasifiksikan sebagai pembelajaran mesin! yang ditandai dengan formalisme dan analisis statistik. 'ikenal juga sebagai ,I simbolis! ,I logis! ,I murni dan ,I cara lama %G(2,I! Good (ld 2ashioned ,rtificial Intelligence&. *etodametodanya meliputi: #. Sistem pakar: menerapkan kapabilitas pertimbangan untuk mencapai kesimpulan. Sebuah sistem pakar dapat memproses sejumlah besar informasi yang diketahui dan menyediakan kesimpulan-kesimpulan berdasarkan pada informasi-informasi tersebut. $. Petimbangan berdasar kasus 3. 4aringan Bayesian ,I berdasar tingkah laku: metoda modular pada pembentukan sistem ,I secara manual. "ecerdasan komputasional melibatkan pengembangan atau pembelajaran iteratif %misalnya penalaan parameter seperti dalam sistem koneksionis. Pembelajaran ini berdasarkan pada data empiris dan diasosiasikan dengan ,I non-simbolis! ,I yang tak teratur dan perhitungan lunak. *etoda-metoda pokoknya meliputi: #. 4aringan Syaraf: sistem dengan kemampuan pengenalan pola yang sangat kuat $. Sistem 2u y: teknik-teknik untuk pertimbangan di ba/ah ketidakpastian! telah digunakan secara meluas dalam industri modern dan sistem kendali produk konsumen. 3. "omputasi 5volusioner: menerapkan konsep-konsep yang terinspirasi secara biologis seperti populasi! mutasi dan 6survival of the fittest7 untuk menghasilkan pemecahan masalah yang lebih baik. *etoda-metoda ini terutama dibagi menjadi algoritma evolusioner %misalnya algoritma genetik& dan kecerdasan berkelompok %misalnya algoritma semut& 'engan sistem cerdas hibrid! percobaan-percobaan dibuat untuk menggabungkan kedua kelompok ini. ,turan inferensi pakar dapat dibangkitkan melalui jaringan syaraf atau aturan produksi dari pembelajaran statistik seperti dalam ,C.-8. Sebuah pendekatan baru yang menjanjikan disebutkan bah/a penguatan kecerdasan mencoba untuk mencapai kecerdasan

buatan dalam proses pengembangan evolusioner sebagai efek samping dari penguatan kecerdasan manusia melalui teknologi. Lo/ika (0112 adalah peningkatan dari logika Boolean yang berhadapan dengan konsep kebenaran sebagian. 'i mana logika klasik menyatakan bah/a segala hal dapat diekspresikan dalam istilah binary %9 atau #! hitam atau putih! ya atau tidak&! logika fu y menggantikan kebenaran boolean dengan tingkat kebenaran. :ogika 2u y memungkinkan nilai keanggotaan antara 9 dan #! tingkat keabuan dan juga hitam dan putih! dan dalam bentuk linguistik! konsep tidak pasti seperti ;sedikit;! ;lumayan;! dan ;sangat;. 'ia berhubungan dengan set fu y dan teori kemungkinan. 'ia diperkenalkan oleh 'r. :otfi <adeh dari =niversitas California! Berkeley pada #>?@.

!+3T040a.
'apat membuat algoritma pemrograman 'apat membuat flo/chart dari suatu pemrograman 'apat membuat program dengan bahasa visual basic

!+5 Ma.6aa,
'apat digunakan sebagai penunjang bagi proses pmbelajaran

BAB II METODOLOGI PEMROGRAMAN #+! Al/o-i,ma Pem-o/-ama.


*emasukkan variabel input *enentukan posisi pemain 4ika posisi pemain melebihi posisi guard maka pemain berada dalam posisi attack 4ika tidak! pemain dalam posisi guard

Posisi attack Posisi guard 4ika pemain menyentuh garis ga/ang maka pemain menang! 4ika tidak! pemain masih proses menyerang

Pemain *enang Pemain masih proses menyerang jika 0pA9 maka pemain kalah! jika tidak! maka pemain masih proses menyerang

pemain kalah pemain masih proses menyerang

#+# (lo78ha-, 9em-o/-ama.

S.,8.

C,8I,B5: IDP=.:
,: "I8I +: ,.,S ': ",D,D S:B,+,0

0PA9 E
P(SISI G=,8'),..,C"

B, .I',"

B, P(SISI E
.I'," .I',"

,..,C"

G=,8'
*5DB5D.= 0 G,8ISE

B,

*5D,DG

",:,0

2IDIS0

BAB III PEMBA*ASAN 3+! Pem:ahasa.


Program yang kami buat ini adalah program aplikasi game. ,plikasi game ini sama halnya dengan game-game biasanya yaitu memiliki input dan output. Penjelasan lebih lengkapnya adalah pada saat game ini dimulai! kita harus memasukkan variable input dari keyboard. 'an variable inputnya hanya masukan tombol , yaitu sebagai input arah ke kiri! ' arah ke kanan! + input arah ke atas! dan S sebagai input arah ke ba/ah. Selanjutnya dengan variable input tersebut akan ditentukan posisi pemain. *engenai posisi ini terdapat tiga keadaan yaitu posisi sleep! guard dan attack. Posisi sleep terjadi saat kita tidak memberikan input! posisi guard adalah posisi bertahan dari pemain! dan posisi attack adalah posisi serang pemain dan sekaligus la/an akan maju untuk menyerang pemain kita. *engenai posisi guard! /alaupun kita mengarahkan pemain kemana saja % masih tetap dalam posisi guard&! la/an tidak akan bereaksi %maju menyerang pemain kita&. =ntuk posisi attack ini kita akan memancing la/an untuk maju sehingga menjauh dari bentengnya. Selain itu pada posisi ini kita dihadapkan suatu pertempuran dengan la/an yang apabila la/an menyentuh pemain kita maka nya/a pemain kita akan berkurang dan itu menjadikan kita kalah apabila nya/a %0p& sama dengan nol %9&. 4ika nya/a pemain kita masih ada %0p lebih dari nol& hingga pemain kita menyentuh garis benteng la/an maka kita menang. Program aplikasi ini menggunakan system kecerdasan buatan yaitu menggunakan logika fu y. P-oses Pem:ela4a-a. Proses pembelajaran dari la/an dalam game ini adalah setelah pemberian nilai a/al parameter maka dengan dengan menggunakan nilai a/al tersebut dapat dilakukan pembelajaran. Struktur system control yang dikembangkan adalah dengan menggunakan operator manusia yang akan mengajarinya. Pada seistem pembelajaran system logika fu y diletakkan parallel dengan human eFpert %mirip dengan proses inisialisasi& tetapi sinyal keluaran dari human eFpert u%k& dijadikan sinyal ajar yang akan dipakai untuk pembelajaran dengan mengurangkannya dengan sinyal keluaran dari system logika fu y f%k& apabila keduanya mendapat sinyal yang sama. A,0-a.;a,0-a. A,0-a. !:

4ika posisi pemain melebihi posisi guard maka pemain berada dalam posisi attack A,0-a. #: 4ika pemain menyentuh garis ga/ang maka pemain menang A,0-a. 3:

jika 0pA9 maka pemain kalah

BAB I) PENUTUP 5+! Kesim90la.


'ari penjelasan mengenai game ini dapat disimpulkan bah/a : game ini memiliki beberapa proses yaitu : memasukkan input % a: kiri! d: kanan! /: atas! s: ba/ah & menentukan posisi guard ) attack. Posisi guard adalah posisi bertahan pemain kita posisi attack merupakan posisi serang dari pemain kita dan sekaligus la/an akan maju menyerang kita. 'alam posisi attack jika la/a menyentuh pemain kita maka nya/a %0p& pemain kita akan berkurang. 4ika 0p kurang dari nol %9& maka pemain kita kalah. 4ika dalam posisi attack! pemain kita menyentuh garis benteng la/an maka pemain kita menang. Sistem pembelajaran la/an dalam game ini adalah setelah pemberian nilai a/al
parameter maka dengan dengan menggunakan nilai a/al tersebut dapat dilakukan pembelajaran. Sinyal keluaran dari human eFpert u%k& dijadikan sinyal ajar yang akan dipakai untuk pembelajaran dengan mengurangkannya dengan sinyal keluaran dari system logika fu y f%k& apabila keduanya mendapat sinyal yang sama. A,0-a.;a,0-a. A,0-a. !:

4ika posisi pemain melebihi posisi guard maka pemain berada dalam posisi attack A,0-a. #: 4ika pemain menyentuh garis ga/ang maka pemain menang A,0-a. 3: jika 0pA9 maka pemain kalah

DA(TAR PUATAKA

Subari! dan yus/anto. $99G. Panduan Lengkap Pemrograman Visual Basic 6.0. 4akarta : Cerdas Pustaka Publisher *unir! 8enaldi. 6 ,lgoritma dan Pemrogrman 6. Informatika bandung

LAMPIRAN
Lis,i./ P-o/-am Private Sub CheckH.imer%& 1merubah /arana indicator posisi If :abelI.BackColor J K02299K .hen :abelI.BackColor J K022K 5lse :abelI.BackColor J K02299K 5nd If 1memanggil fungsi kalkulasi Calculate 5nd Sub Private Sub Command#HClick%& 1posisi maju :abel#..op J :abel#..op - # 5nd Sub Private Sub Command$HClick%& 1posisi ke kiri :abel#.:eft J :abel#.:eft - # 5nd Sub Private Sub Command3HClick%& 1posisi mundur :abel#..op J :abel#..op L # 5nd Sub Private Sub CommandMHClick%& 1posisi ke kanan :abel#.:eft J :abel#.:eft L # 5nd Sub Private Sub 2ormH"eyPress%"ey,scii ,s Integer& If "ey,scii J >I .hen :abel#.:eft J :abel#.:eft - # 1a If "ey,scii J #99 .hen :abel#.:eft J :abel#.:eft L # 1d If "ey,scii J ##> .hen :abel#..op J :abel#..op - # 1s If "ey,scii J ##@ .hen :abel#..op J :abel#..op L # 1/ 1garis berikut yang digunakan untuk input 1*sgBoF %,sc%;a;& K ;N; K ,sc%;/;& K ;N; K ,sc%;d;& K ;N; K ,sc%;s;& K ;N;& 5nd Sub Private Sub 2ormH:oad%& 1menetapkan variabel kegagalan 0p J #99 Sleep J @ ,ttack J # Gaurd J #9 1menjalankan fungsi kalkulasi

Calculate 5nd Sub Private Sub *oveH.imer%& 1pergerakan merah If State J ;,ttack; .hen If :abel$.:eft O :abel#.:eft .hen :abel$.:eft J :abel$.:eft - # 5nd If If :abel$.:eft A :abel#.:eft .hen :abel$.:eft J :abel$.:eft L # 5nd If If :abel$..op O :abel#..op .hen :abel$..op J :abel$..op - # 5nd If If :abel$..op A :abel#..op .hen :abel$..op J :abel$..op L # 5nd If 1membagi form menjadi dua bagian dan menentukan posisi guard ) attack Shape#.:eft J :abel$.:eft - %Shape#.+idth ) $& L %:abel$.+idth ) $& Shape#..op J :abel$..op - %Shape#.0eight ) $& L %:abel$.0eight ) $& 5nd If 1melihat status keberadaan guard If State J ;Gaurd; .hen If :abel#.:eft OJ Shape#.:eft ,nd :abel#.:eft AJ Shape#.:eft L Shape#.+idth ,nd :abel#..op OJ Shape#..op ,nd :abel#..op AJ %Shape#..op L %Shape#.0eight P $&& .hen 1memastikan nilai attackJ# 1attack If ,ttack AJ # .hen ,ttack J ,ttack L #M Gaurd J Gaurd - > Sleep J Sleep - M 5nd If 5nd If 5nd If 1melihat kemenangan If :abel#.:eft OJ Shape$.:eft ,nd :abel#.:eft AJ %Shape$.:eft L Shape$.+idth& ,nd :abel#..op OJ Shape$..op ,nd :abel#..op AJ %Shape$..op L Shape$.0eight& .hen msg J *sgBoF%;B(= +IDQ;! vb("(nly! ;B(= +ID;& 5nd 5nd If 1proses pengurangan 0p If :abel#.:eft OJ :abel$.:eft ,nd :abel#.:eft AJ %:abel$.:eft L :abel$.+idth& ,nd :abel#..op OJ :abel$..op ,nd :abel#..op AJ %:abel$..op L :abel$.0eight& .hen 0p J 0p - $9 5nd If 1melihat bila 0pAJ9 If 0p AJ 9 .hen msg J *sgBoF%;B(= :(S5; K vbCr:f K ;G,*5 (C58;! vb("(nly! ;G,*5 (C58;& 5nd

5nd If 1menetapkan label 0P sama dengan 0pmu :abel?.Caption J 0p 5nd Sub (0./si kalk0lasi Public Sleep ,s Integer 1kemungkinan musuh dalam keadaan sleep Public ,ttack ,s Integer 1kemungkinan musuh dalam keadaan ,ttack Public Gaurd ,s Integer 1kemungkinan musuh dalam keadaan Guard 1+hat it is doing currently Public State ,s String 10olds the Player1s 0itPoints Public 0p ,s Integer 1"alkulasi tempat untuk musuh Public 2unction Calculate%& 1dims num for rnd 'im num ,s Integer 1Calculates num for rnd num J Sleep L ,ttack L Gaurd L # 1*akes a int to hold the rnd in 'im prob ,s Integer 10olds the rnd in prob prob J CInt%8nd%.ime& P num& 1Cint rounds /hatever is inside the brackets 1rnd%time& makes a random number off of the time 1.he rnd is ussually a single /ich is /hy /e use 1Cint 1the num efficiantly makes the number bet/een 9 1and %num& - # so /e add one to num 1.he 2ollo/ing 2unctions take the random 1Dumber and create a state based on those 1having them grouped together makes it so 1there is one decsision total. 1Sees if its lo/er then sleep If prob A Sleep .hen State J ;Sleep; 1Sees if its lo/er then ,ttack If prob A ,ttack .hen State J ;,ttack; 1Sees if its lo/er then gaurd If prob A Gaurd .hen State J ;Gaurd; If State J ;; .hen Calculate 5nd If 2rm2u y.:abelM.Caption J State 5nd 2unction

You might also like