Anda di halaman 1dari 38

BAB 2

TINJAUAN TEORETIS

2.1 Kecerdasan Buatan

Kecerdasan buatan atau Artificial Intelligence merupakan bagian dari ilmu


pengetahuan komputer yang khusus ditujukan dalam perancangan otomatisasi tingkah
laku cerdas dalam sistem kecerdasan komputer. Sistem memperlihatkan sifat-sifat
khas yang dihubungkan dengan kecerdasan dalam kelakukan atau tindak-tanduk yang
sepenuhnya bisa menirukan beberapa fungsi otak manusia, seperti pengertian bahasa,
pengetahuan, pemikiran, pemecahan masalah dan lain sebagainya (Kristanto, 2004).

Adapun defenisi kecerdasan buatan menurut Paul Y. Gloess dalam Kristanto,


adalah ilmu yang mempelajari bagaimana membuat suatu mesin seolah-olah memiliki
kecerdasan dalam memecahkan suatu masalah yang diberikan kepadanya.

Ada 2 bagian utama yg dibutuhkan untuk aplikasi kecerdasan buatan, yaitu:


1. Basis pengetahuan (knowledge base) : berisi fakta-fakta, teori, pemikiran dan
hubungan antara satu dengan lainnya.
2. Motor inferensi (inference engine)

kemampuan

menarik

kesimpulan

berdasarkan pengetahuan

Kecerdasan alami dalam hal ini kecerdasan manusia berbeda dengan


kecerdasan buatan. Berikut beberapa kelebihan kecerdasan buatan dan kecerdasan
alami.
1. Kecerdasan buatan lebih tahan lama dan konsisten, bahkan dapat dikatakan
permanen sejauh program dan sistemnya tidak diubah.

Universitas Sumatera Utara

2. Kecerdasan buatan lebih mudah diduplikasi dan disebarluaskan, berbeda


dengan kecerdasan alami yang membutuhkan proses belajar mengajar untuk
mentransfer kecerdasan.
3. Kecerdasan buatan dapat didokumentasi.
4. Kecerdasan buatan cenderung dapat mengerjakan perkerjaan lebih baik dan
lebih cepat dibanding dengan kecerdasan alami.

Kelebihan kecerdasan alami antara lain:


1. Kecerdasan alami bersifat kreatif. Kecerdasan alami dapat berkembang dengan
mudah dan dapat menciptakan kreasi baru.
2. Kecerdasan alami memungkinkan manusia untuk menggunakan pengalaman
secara langsung. Sedangkan pada kecerdasan buatan harus bekerja dengan
input-output simbolik.
3. Manusia dapat memanfaatkan kecerdasannya secara luas, tanpa batas.
Sedangkan kecerdasan buatan memiliki batasan.

2.1.1 Intelligent Agent (Agen Cerdas)

Intelligent Agent atau agen cerdas adalah sesuatu yang dapat mengamati dan
merasakan lingkungannya melalui sensor dan memberikan tindakan terhadap
lingkungan tersebut melalui actuator.

Sebuah agen yang dibuat menyerupai manusia (human agent) memiliki sensor
berupa mata, telinga, dan organ lain serta actuator yang berupa kaki, mulut dan
lainnya. Berbeda dengan agen robot yang menggunakan kamera dan sinar infrared
dalam jangkauan tertentu sebagai sensor dan berbagai mesin (motor) sebagai actuator.
Gambar 2.1 adalah ilustrasi dari agen.

Universitas Sumatera Utara

Gambar 2.1 Ilustrasi dari Agent

Sebuah agen dikatakan rasional jika untuk setiap deretan persepsi yang
mungkin, sebuah agen rasional hendaklah dapat memilih satu tindakan yang
diharapkan memaksimalkan ukuran performance-nya, dengan adanya bukti yang
diberikan oleh deretan presepsi dan apapun pengetahuan terpasang yang dimiliki agen
itu.

Sebuah agen dapat dikatakan otonom (autonomous) apabila perilakunya


ditentukan oleh pengalamannya sendiri (dengan kemampuan belajar dan beradaptasi).

2.1.2 Penggunaan Kecerdasan Buatan di berbagai Bidang

Kecerdasan buatan merupakan suatu hal yang dikembangkan pada sebuah sistem oleh
para ahli untuk masa depan. Beberapa bidang perkembangan kecerdasan buatan ini
adalah sebagai berikut, yaitu:

1. Natural Languange
Suatu teknologi yang memberikan kemampuan kepada komputer untuk
memahami bahasa manusia sehingga pengguna komputer dapat berkomunikasi
dengan komputer dengan menggunakan bahasa sehari-hari. Bahasa computer
yang khusus pada bidang ini adalah LISP, INTERLISP, SAIL, PLANNER,
KRL , PROLOG.

Universitas Sumatera Utara

2. Robotik dan Sistem Sensor


Sistem sensor, seperti sistem vision, sistem tactile, dan sistem pemrosesan
sinyal jika dikombinasikan dengan AI, dapat dikategorikan kedalam suatu
sistem yang luas yang disebut sistem robotik.

3. Expert System (Sistem Pakar)


Sistem pakar (Expert System) adalah program penasehat berbasis komputer
yang mencoba meniru proses berpikir dan pengetahuan dari seorang pakar
dalam menyelesaikan masalah-masalah spesifik. Contohnya adalah sistem
pakar menentukan suatu jenis penyakit, sistem pakar untuk bisnis dan
sebagainya.

4. Games (Permainan)
Game playing (permainan game) merupakan bidang AI yang sangat populer
berupa permainan antara manusia melawan mesin yang memiliki intelektual
untuk berpikir. Bermain dengan komputer memang menarik bahkan sampai
melupakan tugas utama yang lebih penting. Komputer dapat bereaksi dan
menjawab tindakan-tindakan yang diberikan oleh lawan mainnya. Banyak
permainan komputer telah dibuat dan dikembangkan. Sebagai contohnya
adalah permainan catur.

2.2 Game

Game merupakan sesuatu hal yang dimainkan dengan suatu aturan tertentu yang biasa
digunakan untuk tujuan kesenangan dan kadang-kadang digunakan untuk tujuan
pendidikan. Komponen utama dari game adalah tujuan, aturan, tantangan, dan
interaksi. Game umumnya melibatkan stimulasi mental atau fisik, dan terkadang
kedua-duanya. Banyak game membantu mengembangkan keterampilan praktis,
berfungsi sebagai bentuk latihan, atau melakukan peran pendidikan, simulational, atau
psikologis.

Universitas Sumatera Utara

2.2.1 Sejarah Game

Pada tahun 1952, seorang mahasiswa Universitas Cambridge bernama A.S Gouglas
membuat game OXO (tic tac toe) dalam versi grafik. Game ini ia kembangkan ketika
hendak mendemonstrasikantesisnya tentang interaksi antara manusia dan komputer.

Memasuki era modern, pada tahun 1966 game digital pertama kali dibuat oleh
Ralph Baer bersama timnya yang berjumlah 500 orang yang terdiri dari insinyur dan
teknisi dan didanai oleh Pentagon. Game ini hanya dapat dimainkan dengan komputer
seharga US$40.000. Unsur edukasi menjadi tujuan utama dalam game ini. Game
dalam bentuk game antara papan dan bola tersebut diperuntukkan untuk membantu
pasukan belajar strategi dan melatih kemampuan refleks pemainnya.

Pada tahun 1972, muncul game baru yang disebut Game Arcade, yang
dipelopori oleh Nolan Brushnel dengan gamenya berjudul Pong. Mesin untuk
memainkan game ini disebut mesin Arcade. Pemain yang ingin bermain diharuskan
untuk memasukkan koin kedalam mesin. Pada hari kedua mesin ini diletakkan pada
suatu bar, orang-orang mengantri untuk memainkan game Pong.

Tidak mau tertinggal dengan sistem Arcade, sistem konsol seperti Magnavox
Odyssey, Atari 2006, Mattel Intelvision, Calleco Vision dan Nintendo Entertaiment
System menciptakan game yang dapat dimainkan di rumah. Game yang paling
menghebohkan orang-orang dengan tampilan grafik dan gameplay yang luar biasa
pada sistem konsol tersebut adalah Super Mario Brothers yang diciptakan oleh
Nintendo.

Pada perkembangannya, game komputer berkembang dengan pesatnya seiring


perkembangan perangkat keras yang mendukung. Hal ini dibuktikan dengan program
game yang lebih kompleks dan tampilan grafik tiga dimensi.

Universitas Sumatera Utara

2.2.2 Klasifikasi Game

Gameplay merupakan alat dan aturan-aturan yang mendefinisikan konteks


keseluruhan permainan sehingga pada saat gilirannya, menghasilkan keterampilan,
strategi, dan kesempatan.

Berdasarkan media permainannya, game dapat dikelompokkan menjadi


beberapa bagian, yaitu:
1. Board Games
Board games merupakan permainan yang menggunakan sebuah media papan
sebagai alat atau tempat untuk berinteraksi dan melakukan sebuah permainan .
Biasanya permainan ini dilakukan dengan menggunakan strategi untuk
memenangi permainan tersebut. Contohnya: Catur, Congklak.

2. Card Games
Card games merupakan permainan yang menggunakan satu set kartu sebagai
alat utama permainan. Permainan ini biasanya diawali dengan pengacakan
kartu

sehingga

membutuhkan kesempatan

dan keberuntungan untuk

memenangi permainan ini. Contohnya: permainan kartu Uno, permainan


Poker, permainan Spider Solitare dan sebagainya.

3. Dice Games
Dice games merupakan permainan dadu sebagai elemen utama permainan.
Permainan dilakukan dengan cara mengacak angka dadu kemudian angka dadu
inilah yang menjadi dampak kemungkinan besar kemenangan permainan ini.
Contohnya: Ludo, dadu Poker dan sebagainya.

4. Domino and Tile Games


Domino and tile games merupakan permainan yang menggunakan kartu
berbentuk ubin sebagai alat permainannya. Permainan ini mirip dengan
permainan kartu. Contohnya: Domino dan Mahjong.

Universitas Sumatera Utara

5. Pencil and Paper Games


Pencil and paper games merupakan suatu permainan yang memerlukan media
kertas untuk menggambar arena permainan dan pensil untuk menulis langkah
permainan tersebut. Contohnya, Scrabble, Tic-tac-toe, Sudoku dan sebagainya.

2.3 Permainan Congklak

Congklak merupakan suatu permainan tradisional dari Indonesia. Permainan ini


dimainkan dengan menggunakan sebuah papan yang disebut papan congkak dan 98
(14 x 7) buah biji yang dinamakan biji congkak atau buah congkak. Di Indonesia,
sebutan untuk permainan ini ada bermacam-macam seperti Congkak di Sumatera
dengan kebudayaan Melayu, Congkak, Dakon, Dhakon atau Dhakonan untuk di Jawa
dan Mokaotan, Maggaleceng, Aggalacang dan Nogarata di Sulawesi.

2.3.1 Sejarah Permainan Congklak

Permainan congklak merupakan permainan yang diadaptasi dari permainan tradisional


Afrika yang disebut dengan Mancala. Nama Mancala diadaptasi dari bahasa Arab
yaitu naqala yang artinya bergerak. Di Afrika, Mancala ini dimainkan di berbagai
macam media seperti sepetak tanah yang digali lubangnya sebagai papan dengan batu
kerikil sebagai biji permainan atau sebuah papan kayu yang telah dilubangi dengan
bebijian sebagai biji permainan. Mancala ini dapat ditemukan di atas atap kuil di
daerah Memphis, Thebes, dan Luxor. Setelah diidentifikasi, permainan ini telah
dimainkan oleh penduduk setempat semenjak 1400 SM, atau sekitar 3400 tahun yang
lalu (Hakim,2007).

Menurut sejarah, permainan ini tersebar di Asia dan masuk ke Indonesia


melalui para pedagang Arab. Pada saat itu, permainan ini digunakan para pedangang
untuk melakukan dakwah kepada kalangan ningrat.

Pada umumnya di Indonesia, permainan congklak ini menggunakan papan


congkak terbuat dari kayu dan plastik, sedangkan bijinya terbuat dari cangkang
kerang, biji-bijian, batu-batuan, kelereng atau plastik . Pada papan congkak terdapat

Universitas Sumatera Utara

16 buah lubang yang terdiri `atas 14 lubang kecil yang saling berhadapan dan 2 lubang
besar di kedua sisinya. Setiap 7 lubang kecil di sisi pemain dan lubang besar di sisi
kananya dianggap sebagai milik sang pemain. Gambar peralatan permainan congklak
ini dapat dilihat pada Gambar 2.1.

(a)

(b)
Gambar 2.2 Peralatan Permainan Congklak

Gambar (a) merupakan gambar biji congklak dan gambar (b)

merupakan

gambar papan congklak.

2.3.2 Peraturan Permainan Congklak

Prinsip permainan Mancala adalah dengan memindahkan sejumlah batu-batu dari


salah satu lubang ke dalam lubang lainnya. Proses arah pergerakan ini selalu
dilakukan berlawanan arah jarum jam. Terdapat dua lubang utama di tepi papan yang
diberi nama sama dengan permainannya: lubang Mancala. Pemain yang berhasil
memasukkan paling banyak batu ke dalam Mancala menjadi pemenangnya.

Universitas Sumatera Utara

Permainan congklak juga mengadopsi prinsip permainan Mancala ini tetapi


memiliki beberapa perbedaan. Pada permainan congklak, arah pergerakan permainan
dilakukan mengikuti arah jarum jam. Selain itu, apabila biji yang ditangan telah habis
dan jatuh pada lubang kecil yang berisi biji lainnya, maka giliran pemain tersebut
dilanjutkan. Untuk lebih jelasnya, peraturan permainan congklak adalah sebagai
berikut:

1. Pada awal permainan, setiap lubang kecil diisi dengan tujuh buah biji
congkak.
2. Permainan dimulai dengan suit untuk menentukan giliran pertama.
3. Pemain yang mendapat giliran pertama, dapat memilih lubang yang akan
dijalankan dengan mengambil biji lubang tersebut dan memasukkan satu
buah biji congkak ke dalam masing-masing lubang sesuai dengan arah
putaran jarum jam.

4. Giliran pemain akan tetap berlanjut jika memenuhi kondisi berikut:


a.

Apabila biji congkak ditangan habis dilubang besar miliknya maka ia


dapat melanjutkan dengan memilih lubang kecil disisinya. Proses ini
dapat dilihat pada Gambar 2.2.
Lubang yang dipilih

Gambar 2.3 Proses terjadinya kondisi 4a

Dari gambar dapat dilihat, apabila pemain yang memiliki arena


bagian atas menjalankan langkah tersebut, maka dia dapat memilih
lubang kecil lain disisinya.

Universitas Sumatera Utara

b.

Apabila biji congkak ditangan habis dilubang kecil yang berisi biji
lainnya, ia dapat melanjutkan permainan. Proses ini dapat dilihat pada
Gambar 2.4.

Lubang yang dipilih

Tempat biji akhir


berhenti

Gambar 2.4 Proses terjadinya kondisi 4b

Dari gambar dapat dilihat, apabila pemain yang memiliki arena


bagian bawah memilih lubang tersebut, maka ia berhenti pada lubang
yang ditunjuk oleh panah gambar di atas. Ia dapat melanjutkan gilirannya
karena lubang tersebut terdapat biji congklak.

5. Giliran pemain akan berakhir apabila biji habis di lubang kecil yang kosong
pada daerah permainan sendiri atau lawan. Jika jatuh di daerah permainan
sendiri, maka ia dapat mengambil seluruh biji di sisi yang berhadapan dengan
lubang tersebut (biji sisi lawan) , proses ini dinamakan tembak. Untuk lebih
jelasnya dapat dilihat pada Gambar 2.5. Gambar (a) memperlihatkan
permainan berhenti di daerah sendiri dan gambar (b) memperlihatkan
permainan berhenti di daerah lawan. Pada gambar (a), pemain dapat
melakukan tembak karena lubang di hadapannya berisi biji.

Universitas Sumatera Utara

Tempat biji terakhir


berhenti

Lubang yang dipilih

(a)
tempat biji terakhir
berhenti

Lubang yang dipilih

(b)

Gambar 2.5 Proses giliran permainan berakhir

6. Permainan selesai apabila sudah tidak ada biji lagi yang dapat diambil
(seluruh biji di lubang besar kedua pemain) atau salah satu arena pada lubang
kecil tidak berisi biji lagi.

7. Pemain yang memiliki banyak biji pada lubang besar, maka dialah pemenang
permainan ini.

Permainan congklak ini akan dibuat menjadi permainan yang berbasis


komputer dengan pemain permainan adalah seorang pengguna dan sebuah kecerdasan
buatan.

Universitas Sumatera Utara

2.4 Searching (Pencarian)

Searching atau Pencarian merupakan suatu proses mencari solusi dari suatu
permasalahan melalui sekumpulan kemungkinan ruang keadaan (state space). Ruang
keadaan merupakan suatu ruang yang berisi semua keadaan yang mungkin.

Di dalam kecerdasan buatan, metode pencarian sangat menentukan tingkat


keberhasilan sistem cerdas tersebut. Teknik pencarian ini terbagi atas 2, yaitu
pencarian buta (blind search) dan pencarian heuristic (heuristic search). Pencarian
buta merupakan pencarian yang penelusurannya dimulai dengan tidak ada informasi
awal yang digunakan dalam proses pencarian. Contohnya Breath-First Search (BFS) dan
Depth-First Search (DFS). Sedangkan Pencarian heuristik merupakan pencarian yang
penelusurannya dimulai dengan adanya informasi awal yang digunakan dalam proses
pencarian. Contohnya hill climbing, tabu search, algoritma genetika, algoritma semut dan
simulated annealing (Kusumadewi,2005).

2.5 Depth-First Search (DFS)

Depth-First Search atau DFS merupakan pencarian yang dilakukan pada satu node
dalam setiap level dari yang paling kiri. Jika pada level yang paling dalam, solusi
belum ditemukan, maka pencarian dilanjutkan pada node sebelah kanan. Node yang
kiri dapat dihapus dari memori. Jika pada level yang paling dalam tidak ditemukan
solusi, maka pencarian dilanjutkan pada level sebelumnya. Demikian seterusnya
sampai ditemukan solusi. Jika solusi ditemukan maka tidak diperlukan proses
backtracking (penelusuran balik untuk mendapatkan jalur yang dinginkan). Gambar
2.6 adalah contoh DFS untuk mencari simpul j.
a

Gambar 2.6 DFS untuk mencari simpul j

Universitas Sumatera Utara

Kelebihan DFS adalah:


1. Pemakaian memori hanya sedikit, berbeda jauh dengan BFS yang harus
menyimpan semua node yang pernah dibangkitkan.
2. Jika solusi yang dicari berada pada level yang dalam dan paling kiri, maka
DFS akan menemukannya secara cepat.

Kelemahan DFS adalah:


1. Jika pohon yang dibangkitkan mempunyai level yang dalam (tak terhingga),
maka tidak ada jaminan untuk menemukan solusi (Tidak Complete).
2. Jika terdapat lebih dari satu solusi yang sama tetapi berada pada level yang
berbeda, maka pada DFS tidak ada jaminan untuk menemukan solusi yang
paling baik (Tidak Optimal).

2.6 Algoritma Runut-Balik (Backtracking Algorithm)

Istilah runut balik pertama kali diperkenalkan oleh D.H. Lehmer pada tahun 1950.
Selanjutnya di tahun 1960, R. J. Walker, Golomb, dan Baumert menyajikan uraian
umum tentang runut balik dan penerapannya pada berbagai persoalan.

Teknik runut balik (backtracking) merupakan salah satu teknik dalam


penyelesaian masalah secara umum (General Problem Solving). Adapun dasar dari
teknik ini adalah suatu teknik pencarian (Teknik Searching). Teknik pencarian ini
digunakan dalam rangka mendapatkan himpunan penyelesaian yang mungkin. Dari
himpunan penyelesaian yang mungkin ini akan diperoleh solusi optimal atau
memuaskan. Runut-balik (backtracking) adalah algoritma yang berbasis pada Depth
First Search (DFS) untuk mencari solusi persoalan secara lebih mangkus.

Runut-balik, yang merupakan perbaikan dari algoritma brute-force, secara


sistematis mencari solusi persoalan di antara semua kemungkinan solusi yang ada.
Dengan metode runut balik, tidak perlu memeriksa semua kemungkinan solusi yang
ada. Hanya pencarian yang mengarah ke solusi saja yang selalu dipertimbangkan.
Akibatnya, waktu pencarian dapat dihemat. Saat ini algoritma runut-balik banyak
diterapkan untuk program games (seperti game tic-tac-toe, menemukan jalan keluar

Universitas Sumatera Utara

dalam sebuah labirin, catur, dll) dan masalah-masalah pada bidang kecerdasan buatan
(artificial intelligence).(Munir, 2004).

2.6.1 Properti Umum Metode Runut-Balik

Untuk menerapkan metode runut-balik, properti berikut didefinisikan:


1. Solusi persoalan.
Solusi dinyatakan sebagai vektor n-tuple:
Contoh: Si = {0,1}
Si = 0 atau 1

2. Fungsi pembangkit nilai xk


Dinyatakan sebagai:
T(k)
T(k) membangkitkan nilai untuk xk, yang merupakan komponen vektor solusi

3. Fungsi pembatas (fungsi kriteria)


Dinyatakan sebagai:
B(x1, x2, ..., xk)
Fungsi pembatas menentukan apakah (x1, x2, ..., xk) mengarah ke solusi. Jika ya,
maka pembangkitan nilai untuk xk+1 dilanjutkan, tetapi jika tidak, maka (x1, x2,
..., xk) dibuang dan tidak dipertimbangkan lagi dalam pencarian solusi.

2.6.2 Prinsip Pencarian Solusi dengan Metode Runut-Balik

Di sini penulis hanya akan meninjau pencarian solusi pada pohon ruang status yang
dibangun secara dinamis. Langkah-langkah pencarian solusi adalah sebagai berikut:

1. Solusi dicari dengan membentuk lintasan dari akar ke daun. Aturan pembentukan
yang dipakai adalah mengikuti aturan pencarian mendalam (DFS). Simpul-simpul
yang sudah dilahirkan dinamakan simpul hidup (live node). Simpul hidup yang
sedang diperluas dinamakan simpul-E (Expand-node).

Universitas Sumatera Utara

2. Tiap kali simpul-E diperluas, lintasan yang dibangun olehnya bertambah panjang.
Jika lintasan yang sedang dibentuk tidak mengarah ke solusi, maka simpul-E
tersebut dibunuh sehingga menjadi simpul mati (dead node). Fungsi yang
digunakan untuk membunuh simpul-E adalah dengan menerapkan fungsi
pembatas (bounding function). Simpul yang sudah mati tidak akan pernah
diperluas lagi.

3. Jika pembentukan lintasan berakhir dengan simpul mati, maka proses pencarian
diteruskan dengan membangkitkan simpul anak yang lainnya. Bila tidak ada lagi
simpul anak yang dapat dibangkitkan, maka pencarian solusi dilanjutkan dengan
melakukan runut-balik ke simpul hidup terdekat (simpul orangtua). Selanjutnya
simpul ini menjadi simpul-E yang baru.

4. Pencarian dihentikan bila kita telah menemukan solusi atau tidak ada lagi simpul
hidup untuk runut-balik.

Berikut ini adalah contoh penerapan algoritma Backtracking pada persoalan NRatu (The N-Queens Problem).

Persoalan: Diberikan sebuah papan catur yang berukuran NxN dan empat buah
ratu. Bagaimanakah menempatkan N buah ratu (Q) itu pada petak-petak papan catur
sedemikian sehingga tidak ada dua ratu atau lebih yang terletak pada satu baris yang
sama, atau pada satu kolom yang sama atau pada satu diagonal yang sama.

Berdasarkan pada Bahan Kuliah ke- 10 : Algoritma Runut-Balik


(Backtracking) Lanjutan karangan Rinaldi Munir, solusi dari permasalahan tersebut
adalah sebagai berikut:

X = (x1,x2,x3,x4), dimana X merupakan vektor untuk peletakkan posisi ratu pada


papan dan xi Si
S = {1,2,3,4}, S menyatakan kolom pada papan catur.

Universitas Sumatera Utara

Dari hal ini, dapat dibentuk pohon ruang solusi persoalan 4-Ratu yang terlihat
pada Gambar 2.7 sebagai berikut:
1

x2=2

11

x3=3

x3=3
x3=3

14

16

20

22

10

x3=1

25

27

30

32

x3=1
36

38

x4=4

12

15

17

21

23

26

28

31

33

41

37

43

39

46

48

44

52

x4=1

47

49

54

x3=1
57

59

55

62

x4=1
58

60

63

Dari gambar, dapat dilihat ruang seluruh solusi yang mungkin diterapkan pada
persoalan 4-Ratu pada papan catur tersebut. Langkah-langkah solusi dengan
menggunakan backtracking adalah berikut :

Menelusuri node dari akar sampai ke daun yang membentuk ruang solusi
secara DFS. Penelusuran dilakukan dengan mempertimbangkan setiap batasan
atau kriteria yang telah ditetapkan.

2.

Apabila node yang dikunjungi memenuhi kriteria, maka akan dilakukan


penulusuran menuju node berikutnya. Sebaliknya, apabila node yang
dikunjungi tidak memenuhi kriteria, maka akan dilakukan backtracking
menuju node yang berada di atas dan node tersebut sampai ke bawahnya tidak
dipertimbangkan lagi.

3.

64

x4=1

Gambar 2.7 Pohon ruang kemungkinan solusi persoalan 4-Ratu

1.

x3=2

x4=2

x4=3
x4=2

53

x3=3

x3=3

x4=3

x4=2
x4=1

42

x3=1
x3=2

61

56

x3=2

x3=4

x4=4
x4=2

x4=1

x4=3

x4=3

x3=1

x3=4

x3=3

x4=3

x4=4

x4=4
x4=2

x4=2

x4=3

x3=2

x3=4

x3=4

x2=3

x2=2

51

45

40

x4=3

x4=4

x4=4

x2=1

x2=4

x2=2

35

29

24

19

13

x3=4 x3=2 x3=4

x2=1

x1=1

x3=2
x3=3

x2=4

x2=1

x2=4

50

34

18

x2=3

x1=4

x1=3

x1=2

x1=1

Pencarian berhenti apabila ditemukan solusi atau tidak ada node hidup pada
pohon tersebut.

Dari langkah-langkah tersebut, dapat dilihat contoh solusi pada Gambar 2.8
dan pohon solusi persoalan 4-Ratu pada papan catur pada Gambar2.9.

Universitas Sumatera Utara

65

(b)

(a)

(c)

(d)

4
(e)

(f)

(g)

(h)

Gambar 2.8 Penelusuran Solusi Backtraking 4-Ratu pada papan catur

x1=1

x1=2

x2=2

18

x2=3

x2=1

x2=4

13

B
x3=2

x2=3

19

24

x2=4

29

x3=3

x3=1

x3=2 x3=4

11

14

16

30

B
x4=3

15

x4=3

31

Gambar 2.9 Pohon pencarian solusi dengan Backtraking pada persoalan 4-Ratu

Universitas Sumatera Utara

BAB 3

ANALISIS DAN PERANCANGAN SISTEM

3.1 Analisis Kebutuhan Sistem

Pada analisis kebutuhan sistem ini, akan dilakukan analisis terhadap arena permainan
dan analisis algoritma.

3.1.1 Analisis Arena Permainan

Pada aplikasi yang akan dibangun, permainan congklak ini akan dimainkan oleh dua
pihak, yaitu seorang pengguna yang dinamakan dengan pemain dan sebuah
kecerdasan buatan yang pada aplikasi ini dinamakan dengan Btrack.

Arena permainan pada papan congklak ini akan terbagi atas 3 daerah, yaitu:
daerah permainan yang terdiri dari daerah permainan pemain dan daerah permainan
Btrack serta daerah target yaitu lumbung pemain dan lumbung Btrack. Hal ini dapat
dilihat pada Gambar 3.1.

Acomp[1..7]

Lpemain

Lcomp

Apemain[1..7]

Gambar 3.1 Papan permainan congklak

Universitas Sumatera Utara

Keterangan :

1. Apemain[1..7] : merupakan daerah permainan pemain yang terdiri dari 7


buah lubang. Setiap lubang akan terisi 7 buah biji pada saat awal
permainan. Daerah ini digunakan pemain untuk pemilihan langkah
permainan dan melakukan tembak.

2. Acomp[1..7] : merupakan daerah permainan Btrack yang terdiri dari 7 buah


lubang. Setiap lubang akan terisi 7 buah biji pada saat awal permainan.
Daerah ini digunakan Btrack untuk pemilihan langkah permainan dan
melakukan tembak. Proses ini nantinya akan menggunakan algoritma
backtracking untuk melakukan pemilihan tersebut.

3. Lpemain : merupakan daerah lumbung atau target pemain. Lubang ini


hanya dapat diisi oleh pemain tersebut. Banyaknya isi pada Lpemain akan
menjadi skor untuk si pemain tersebut.

4. Lcomp : merupakan daerah lumbung atau target Btrack. Lubang ini hanya
dapat diisi oleh Btrack tersebut. Banyaknya isi pada Lcomputer akan
menjadi skor untuk Btrack tersebut.

3.1.2 Analisis Algoritma

Seperti yang telah dipaparkan pada bab sebelumnya, algoritma yang digunakan untuk
membangun aplikasi ini adalah algoritma Runut-balik (Backtraking). Algoritma ini
nantinya, akan digunakan oleh agen kecerdesan buatan yaitu Btrack untuk memilih
langkah permainan.

Pada

algoritma

Backtracking,

ada

beberapa

properti

yang

perlu

dipertimbangkan yaitu properti solusi persoalan, properti komponen vektor solusi dan
properti kriteria pembatas. Berikut ini adalah penjabaran properti-properti tersebut.

Universitas Sumatera Utara

1. Properti solusi persoalan

Properti solusi persoalan merupakan properti yang berisikan simpul-simpul


solusi dari persoalan. Pada permainan congklak ini, simpul-simpul persoalan
merupakan lubang permainan yang tersedia pada papan congklak. Lubanglubang tersebut diberi simbol C1 C7 untuk lubang daerah permainan Btrack
dan simbol P1 P7 untuk lubang daerah permainan pemain. Untuk lubang
besar atau lumbung diberi simbol L.

S = {C1,C2,C3,C4,C5,C6,C7,P1,P2,P3,P4,P5,P6,P7,L}

2. Properti komponen vektor solusi.

Properti komponen vektor sulusi merupakan parameter yang digunakan untuk


mengarahkan penelusuran simpul menuju ke arah solusi. Parameter ini terdiri
atas dua, yaitu x dan y. x untuk menyatakan jumlah biji yang diperoleh untuk
dimasukkan ke lumbung dan y menyatakan jumlah biji simpul sebelumnya.

3. Properti kriteria pembatas

Properti kriteria pembatas merupakan properti yang berupa fungsi untuk


menentukan apakah simpul-simpul mengarah ke solusi. Kriteria pembatas
yang diterapkan pada algoritma backtracking ini, mengacu pada strategi yang
akan dipakai pada kecerdasan buatan pada permainan congklak. Strategi
tersebut, yaitu :

a) Langkah langsung menuju lumbung. Pemilihan langkah ini diambil


berdasarkan jumlah biji pada arena Btrack yang langsung berhenti pada
lubang besar. Langkah ini diambil membuat giliran permainan
berlanjut dengan memilih lubang yang lain pada arena sendiri dan
membuat biji pada lumbung bertambah.

Universitas Sumatera Utara

b) Langkah melakukan tembak. Pemilihan langkah ini terjadi apabila biji


permainan habis dan jatuh di daerah sendiri dan diseberang lubang
tersebut terdapat biji (biji > 0) atau melakukan pemilihan lubang yang
dapat melakukan tembak pada arena sendiri. Langkah ini diambil
membuat biji yang akan dimasukkan ke lumbung pada setiap giliran
menjadi lebih besar.

Pada kriteria pembatas ini, strategi a) menjadi prioritas utama untuk kriteria
pembatas ini. Sedangkan strategi b) dilakukan jika strategi a) tidak diperoleh
pada saat penelusuran simpul.

Berikut ini adalah pseudocode penerapan algoritma Backtracking pada


permainan congklak.
Stop false
nodeComp 1
While (nodeComp 7) and (not stop) do
begin
biji isi[nodeComp]
if biji = 0 then
nodeComp nodeComp+1
else
begin
cek false
while not cek do
begin
nextNode deepNode(biji,nodeComp)
if nextNode = L then
begin
stop true
step nextNode
end
else if deep 10 then
begin
stop false
nodeComp nextNode
biji isi[nextNode]
cek false
pointdeep isiL
end
else
begin
cek true
nodeComp nodeComp+1
stop false
end
end

Universitas Sumatera Utara

end
end
if not found L then
max(pointdeep)

Pada pseudocode diatas, dapat dilihat bahwa penelusuran simpul dimulai dari
lubang milik Btrack (C1 s.d C7) yaitu nodeComp. Jika isi nodeComp sama dengan nol
maka akan dilakukan backtracking menuju nodeComp berikutnya. Jika berisi, maka
akan dilakukan penelusuran simpul berikutnya sampai deepNode() ditemukan simpul
yang berbiji kosong atau sampai kedalaman 10. Jika ditemukan nextNode sama
dengan L, maka penelusuran dihentikan dan simpul tersebut menjadi langkah yang
akan diambil Btrack untuk melakukan permainan. Jika tidak, maka langkah yang
diambil adalah nodeComp yang memiliki max(pointdeep) yang terbesar.

Berikut ini adalah contoh kasus penelusuran algoritma Backtracking pada


permainan congklak.

1. Contoh kasus untuk pemilihan strategi a.

Berikut ini adalah gambar keadaan papan permainan congklak yang dapat
dilihat pada Gambar 3.2.

C7

C6

C5

C4

C3

C2

C1

P1

P2

P3

P4

P5

P6

P7

Gambar 3.2 Keadaan papan permainan congklak untuk strategi a

Pada gambar di atas, hasil dari penelusuran algoritma backtracking


adalah memilih lubang C7 karena langkah lubang tersebut langsung menuju
lumbung. Hasil penelusurannya dapat dilihat pada Gambar 3.3.

Universitas Sumatera Utara

C2

C1
(1,7)

(1,7)

(1,7)

P3

P2
(9,8)

C3

(9,8)

C4

C5

(1,7)

P4
(9,8)

C6

(1,7)

P5

P7

(9,8)

(9,8)

(1,7)

(1,7)

P6

C7

(9,8)

C1

C2

C3

C4

C5

C6

Gambar 3.3 Pohon penelusuran backtracking untuk hasil C7

2. Contoh kasus untuk pemilihan strategi b.

Berikut ini adalah gambar keadaan papan permainan congklak yang dapat
dilihat pada Gambar 3.4.

C7

C6

C5

C4

C3

C2

C1

P1

P2

P3

P4

P5
3

P6
2

P7
1\

Gambar 3.4 Keadaan papan permainan congklak untuk strategi b

Pada gambar di atas, hasil dari penelusuran algoritma backtracking


adalah memilih lubang C2 karena langkah lubang tersebut memiliki jumlah
poin yang lebih besar dari lubang lainnya. Hasil penelusurannya dapat dilihat
pada Gambar 3.5.

Universitas Sumatera Utara

C1
(1,3)

P6
(0,6)

C7
(1,16)

C2
(1,5)

P5
(0,4)

P1
(0,3)

C6
(0,2)

C5
(1,9)

C4
(0,2)

P4
(15,6)

C2

C5

C3
(1,5)

C4
B

P6
(0,6)

C7
(1,16)

C5

C6
B

(1,8)

P5
(0,4)

C7
(1,15)

C7
B

P1
(14,3)

C6
(0,2)

P1
B

C4
(0,2)

C2
(1,8)

(1,7)
B

P3
(1,15)

P2
(3,7)

P3

C2

Gambar 3.5 Pohon penelusuran backtracking untuk hasil C2

3.2 Perancangan Sistem

Perancangan sistem yang akan dibahas meliputi perancangan alur permainan pada
permainan congklak, perancangan aplikasi permainan dan perancangan antarmuka.

3.2.1 Perancangan Alur Permainan

Pada perancangan alur permainan ini, akan dirancang langkah langkah bermain pada
permainan congklak dengan flowchart berdasarkan peraturan permainan congklak
tersebut. Peraturan congklak ini telah dibahas pada bab sebelumnya. Gambar 3.6
berikut adalah gambar flowchart permainan congklak.

Universitas Sumatera Utara

Start

X,Y,i,j,Biji,BijiApemain,BijiAcomp,
Langkah,Apemain[],Acomp[],
Amilik[],Alawan[]

Randomize
X = Random(99)+1
Y = Random(99)+1

ya

tidak
X>Y?

Abacktracking()

Langkah = i
Biji = Apemain[i]

j = step
Langkah = j
Biji = Acomp[j]

Amilik[] = Apemain []
Alawan[] = Acomp []

Amilik[] = Acomp[]
Alawan[] = Apemain[]

Bermain()

biji = Amilik[i]

biji = lawan[j]

ya

Amilik[i] = 0 OR
Alawan[j] = 0

tidak

Arena = Amilik ?

tidak

ya
Tembak()

Universitas Sumatera Utara

cekbijiArena()
ya

ya

BijiApemain = 0 OR
BijiAcomp = 0 ?

tidak

Giliran = Pemain?

tidak

HitungSkor()

ya

SkorPemain >
SkorComp

Pemain
Menang

tidak

Computer
Menang

End

Gambar 3.6 Flowchart Alur Permainan

Keterangan:
X

: nilai acak untuk pemain

: nilai acak untuk Btrack

: urutan lubang daerah pemain

: urutan lubang daerah Btrack

Biji

: variabel untuk jumlah biji yang dijalankan.

BijiApemain : jumlah biji pada seluruh lubang pemain


BijiAcomp

: jumlah biji pada seluruh lubang Btrack

Langkah

: variabel untuk langkah yang dijalankan pada permainan

Apemain[]

: daerah pemain

Acomp[]

: daerah Btrack

Amilik[]

: daerah sendiri

Alawan[]

: daerah lawan

Universitas Sumatera Utara

3.2.1.1 Flowchart Abacktracking()

Flowchart ini menggambarkan bagaimana algoritma backtracking dilakukan untuk


mendapatkan langkah yang paling optimal untuk dijalan oleh kecerdasan buatan yaitu
Btrack . Gambar 3.7 merupakan flowchart fungsi Abacktracking().

Start

Stop, nodeComp,isi[],biji,
cek, nextNode,
deep,pointdeep

Stop = false
nodeComp = 1

tidak

Not found L?

tidak

ya

(nodeComp 7)
and (not stop) ?

nodeComp = nodeComp+1

ya

ya

Step = Max(pointdeep)

Biji = 0?

Biji = isi[nodeComp]

tidak

Cek = false

end

not cek?

tidak

ya
nextNode = deepNode(biji,nodeComp)

Cek = true
nodeComp = nodeComp + 1
Stop = false

tidak

Deep 10 ?

tidak

nextNode = L

ya

Stop = true
Cek = true
Step = nextNode

ya
Stop = false
nodeComp = nextNode
Biji = isi[nextNode]
cek = false
Pointdeep = isiL

Gambar 3.7 Flowchart Abacktracking()

Keterangan:
stop,cek

: tipe boolean untuk berhenti

nodeComp

: simpul untuk lubang milik Btrack

Universitas Sumatera Utara

biji,isi[]

: jumlah biji pada lubang

nextNode

: simpul selanjutnya

step

: langkah yang dipilih

deep

: kedalaman penelusuran

: menyatakan lubang lumbung

3.2.1.2 Flowchart Bermain()

Flowchart ini menggambarkan bagaimana biji congklak didistribusikan dari satu


lubang ke lubang lainnya sesuai banyak biji yang diperoleh. Apabila biji diperoleh
habis, maka pendistribusian biji selesai. Gambar 3.8 merupakan flowchart fungsi
bermain().
Start

i, j, n, biji

n = biji

i>0?

ya

Amilik[i]=Amilik[i]+1
i=i-1

ya

Lmilik=Lmilik+1
i=i-1

ya

Alawan[j]=Alawan[j]+1

ya

i=7
Alawan[i]=Alawan[i]+1
i=i-1

tidak

i=0?

tidak
j=8+I
i=i-1
n=n-1
j>0?

tidak

j=0?

tidak
tidak

n=0?

ya
end

Gambar 3.8 Flowchart Bermain()

Universitas Sumatera Utara

Keterangan:
N

: menyatakan jumlah biji yang dimainkan

Lmilik : menyatakan lumbung yang diisi pada saat bermain

3.2.1.3 Flowchart Tembak()

Flowchart ini menggambarkan proses tembak terjadi pada permainan congklak.


Apabila biji yang dimainkan berakhir pada daerah sendiri dan poinTembak tidak sama
dengan nol, maka proses tembak dapat dilakukan. Jika tidak, maka isi biji lumbung
tetap. Gambar 3.9 merupakan flowchart untuk proses tembak().

Start

n, dLawan, i, j

n=0 AND NOT


dLawan ?

tidak

ya

j=8I
poinTembak = Alawan[j]

Giliran =
pemain?

ya

Lumbung = Lpemain

tidak

Lumbun= Lcomp

ya

poinTembak>0?

Lumbung = Lumbung + poinTembak + Amilik[i]

tidak

Lumbung = Lumbung

end

Gambar 3.9 Flowchart tembak()

Universitas Sumatera Utara

Keterangan:
Lpemain

: menyatakan lumbung pemain

Lcomp

: menyatakan lumbung Btrack

poinTembak : menyatakan jumlah biji tembak yang terdapat pada arena lawan

3.2.1.4 Flowchart CekbijiArena()

Gambar 3.10 merupakan flowchart untuk proses cekbijiArena(). Proses ini merupakan
pengecekan seluruh biji yang terdapat pada lubang kecil baik pada arena pemain
maupun arena Btrack. cekbijiArena() berguna untuk menentukan apakah permainan
masih berlanjut atau telah berakhir.

Start

Lubang,Apemain[],
Acomp[]

BijiApemain=0
BijiAcomp=0

Lubang=1

tidak

Lubang 7?

ya

BijiApemain = BijiApemain+Apemain[lubang]
BjiAcomp = BijiAcomp+Acomp[lubang]

Lubang=lubang+1

End

Gambar 3.10 Flowchart CekbijiArena()

Universitas Sumatera Utara

3.2.1.5 Flowchart Hitungskor()

Hitungskor() merupakan fungsi yang berguna untuk menghitung seluruh biji yang
dimiliki oleh pemain dan Btrack. Penjumlahan pada fungsi ini meliputi jumlah biji
yang terdapat padan masing-masing lumbung dengan jumlah biji yang terdapat pada
lubang kecil pada masing-masing arena permainan. Total dari jumlah biji ini akan
menjadi skor untuk pemain dan skor untuk Btrack. Gambar 3.11 merupakan flowchart
untuk proses Hitungskor().

Start

l,Lpemain,Lcomp

l=1

tidak

l<=7?
ya

l=l+1

Apemain[l] 0?

tidak

ya

SkorPemain=Lpemain+Apemain[l]

Acomp[l] 0?

tidak

ya

SkorComp=Lcomp+Acomp[l]

end

Gambar 3.11 Flowchart HitungSkor()

Universitas Sumatera Utara

3.2.2 Perancangan Aplikasi Permainan

Perancangan aplikasi permainan merupakan perancangan interaksi apa yang dapat


dilakukan pengguna terhadap aplikasi permainan yang dibangun. Aplikasi ini dimulai
dengan menampilkan form Utama yang berisikan menu pilihan Mulai Baru, Menu
Panduan, Tentang Permainan dan Keluar. Pada setiap pilihan ini, akan memberikan
tampilan form-form berikutnya. Aplikasi akan berhenti jika pengguna memilih tombol
Keluar. Berikut ini adalah proses yang terjadi pada aplikasi permainan congklak yang
dapat dilihat pada Gambar 3.12.
Start

Tampilkan Form
Menu

ya

Kembali?

ya

tidak

Kembali?

Tampilkan Form
Permainan
Congklak

ya

tidak

Pilih Menu
Mulai Baru ?

tidak
tidak
Pilih Tombol
History
Permainan ?

tidak

Pilih Tombol
Main ?

ya

ya

Pilih Menu
Panduan
Permainan ?

ya

Tampilkan Form
Panduan
Permainan

ya

tidak
Kembali?

Tampilkan Form
History Permainan

Tampilkan Form
Undi Giliran
Pilih Menu
Tentang
Permainan ?

ya

Kembali?

tidak

Tekan Tombol
Acak

ya

Tampilkan Form
Tentang Permainan

tidak

tidak

Tampilkan Pesan
Pemenang giliran
Keluar

Bermain Congklak
End
Permainan berakhir

Munculkan pesan
pemenang

Gambar 3.12 Flowchart Aplikasi

Universitas Sumatera Utara

3.2.3 Perancangan Antarmuka

Perancangan antarmuka aplikasi permainan congklak ini terdiri dari beberapa form,
yaitu form Utama, form Undi Giliran, form Panduan Permainan, form Tentang
Permainan, form History Permainan dan form Arena Permainan. Berikut ini adalah
rancangan antarmuka form-form tersebut.

1. Form Utama
Form Utama merupakan form yang pertama kali ditampilkan pada saat aplikasi
dijalankan. Form ini berisikan menu yang dapat dipilih oleh penggunan yaitu
Mulai Baru, Panduan Permainan, Tentang Permainan dan Keluar. Rancangan
antarmuka form ini dapat dilihat pada Gambar 3.13.

Utama
CONGKLAK GAME

Mulai Baru
Panduan Permainan
Tentang Permainan
Keluar

2
3
4
5

Gambar 3.13 Form Utama

Keterangan :
1. Congklak Game merupakan judul aplikasi yang dirancang dengan
menggunakan komponen Tlabel.
2. Mulai baru merupakan tombol menu yang berfungsi untuk menampilkan
form Arena Permainan yang dirancang dengan menggunakan komponen
Tbutton.

Universitas Sumatera Utara

3. Panduan permainan merupakan tombol menu yang berfungsi untuk


menampilkan

form Panduan

Permainan

yang

dirancang

dengan

menggunakan komponen Tbutton.


4. Tentang permainan merupakan tombol menu yang berfungsi untuk
menampilkan

form

Tentang

Permainan

yang

dirancang

dengan

menggunakan komponen Tbutton.


5. Keluar merupakan tombol menu yang berfungsi untuk keluar dari aplikasi
yang dirancang dengan menggunakan komponen Tbutton.

2. Form Undi Giliran


Form undi giliran merupakan form yang digunakan untuk melakukan dan
menampilkan pengundian giliran awal permainan. Rancangan antarmuka form
ini dapat dilihat pada Gambar 3.14.

Undi Giliran
Pemain1

Btrack
Computer

Acak

Gambar 3.14 Form Undi Giliran

Keterangan :
1. Pemain merupakan nama untuk panel bagian pemain yang dirancang
dengan menggunakan komponen Tlabel.
2. Btrack merupakan nama untuk panel bagian Btrack yang dirancang
dengan menggunakan komponen Tlabel.

Universitas Sumatera Utara

3. Komponen Tpanel yang berfungsi untuk menampilkan hasil pengacakan


angka pemain.
4. Komponen Tpanel yang berfungsi untuk menampilkan hasil pengacakan
angka Btrack.
5. Acak merupakan tombol yang berfungsi untuk mengacak angka.
Dirancang dengan menggunakan komponen Tbutton.

3. Form Panduan Permainan


Form panduan permainan merupakan form yang berisikan peraturan dan cara
bermain sehingga dapat memberikan informasi kepada pengguna tentang
permainan congklak. Rancangan antarmuka form ini dapat dilihat pada
Gambar 3.15.

Panduan Permainan
Peraturan dan Cara Bermain1

Kembali

Main

Gambar 3.15 Form Panduan Permainan


Keterangan :
1. Peraturan dan Cara Bermain merupakan judul dari form yang dirancang
dengan komponen Tlabel.
2. Komponen Tmemo yang berguna untuk menampilkan informasi peraturan
dan cara bermain.
3. Kembali merupakan tombol yang berguna untuk menampilkan form
Utama dirancang menggunakan komponen Tbutton.

Universitas Sumatera Utara

4. Main merupakan tombol yang berguna untuk menampilkan form Arena


Permainan dirancang menggunakan komponen Tbutton.

4. Form Tentang Permainan


Form tentang permainan merupakan form yang berisikan informasi mengenai
author aplikasi. Rancangan antarmuka form ini dapat dilihat pada Gambar
3.16.

Tentang Permainan

Kembali

Gambar 3.16 Form Tentang Permainan

Keterangan :
1. Komponen Tmemo yang digunakan untuk menampilkan author aplikasi.
2. Kembali merupakan tombol yang berguna untuk menampilkan form
Utama dirancang menggunakan komponen Tbutton.

5. Form History Permainan


Form history permainan merupakan form yang berisikan informasi mengenai
penelusuran simpul oleh Btrack, langkah yang dipilih oleh pemain dan langkah
yang dipilih oleh Btrack. Rancangan antarmuka form ini dapat dilihat pada
Gambar 3.17.

Universitas Sumatera Utara

History Permainan

Penelusuran langkah

Langkah Pemain Langkah


computer
Langkah
Btrack

Kembali

Gambar 3.17 Form History Permainan


Keterangan :
1. Penelusuran langkah merupakan nama untuk komponen Tmemo dibawah
yang dirancang dengan menggunakan komponen Tlabel.
2. Langkah pemain merupakan nama untuk komponen Tmemo dibawah yang
dirancang dengan menggunakan komponen Tlabel.
3. Langkah Btrack merupakan nama untuk komponen Tmemo dibawah yang
dirancang dengan menggunakan komponen Tlabel.
4. Komponen Tmemo yang digunakan untuk menampilkan hasil penelusuran
langkah dengan algoritma backtracking.
5. Komponen Tmemo yang digunakan untuk menampilkan hasil pemilihan
langkah oleh pemain.
6. Komponen Tmemo yang digunakan untuk menampilkan hasil pemilihan
langkah oleh Btrack.
7. Kembali merupakan tombol untuk menampilkan form Arena Permainan.
Dirancang dengan menggunakan komponen Tbutton.

6. Form Arena Permainan


Form arena permainan merupakan form yang digunakan untuk bermain
permainan congklak. Rancangan antarmuka form ini dapat dilihat pada
Gambar 3.18.

Universitas Sumatera Utara

Arena Permainan
Btrack 1
computer

4
Pemain

Kembali

History

8
Mulai

Gambar 3.18 Form Arena Permainan

Keterangan :
1. Btrack merupakan nama untuk panel bagian Btrack yang dirancang
dengan menggunakan komponen Tlabel.
2. Komponen Tpanel yang digunakan untuk menampilkan jumlah biji yang
diambil pada arena Btrack.
3. Papan congklak yang dirancang dengan menggunakan komponen Timage.
4. Komponen Tpanel yang digunakan untuk menampilkan jumlah biji yang
diambil pada arena pemain.
5. Pemain merupakan nama untuk panel bagian pemain yang dirancang
dengan menggunakan komponen Tlabel.
6. Kembali merupakan tombol untuk menampilkan form Arena Permainan.
Dirancang dengan menggunakan komponen Tbutton.
7. Mulai merupakan tombol yang berfungsi menampilkan form Undi Giliran.
Dirancang dengan menggunakan komponen Tbutton.
8. History merupakan tombol untuk menampilkan history permainan.

Universitas Sumatera Utara

Anda mungkin juga menyukai