C1 C2
C3 C6
C5 C4
C7
P5
P1 C7
B
B 1,8
1,15
P6
C7
1,3
C6
C4
C2
P3 P3
P5
P1
C5
P4
C5
15,6
P6
C7
C6
C4
C2 P2
C2
3,7
B B
B B
B
P1
0,6
1,16 0,2
0,2
1,7 1,15
1,5
0,4
0,3 1,9
1,5
0,6
1,16
0,2
0,2
1,8 0,4
14,3
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 = Random99+1
Y = Random99+1
X Y ?
Langkah = i Biji = Apemain[i]
Amilik[i] = 0 OR Alawan[j] = 0
biji = Amilik[i] j = step
Langkah = j Biji = Acomp[j]
Amilik[] = Apemain [] Alawan[] = Acomp []
Amilik[] = Acomp[] Alawan[] = Apemain[]
Arena = Amilik ?
biji = lawan[j] ya
tidak
ya tidak
ya tidak
Bermain
Tembak Abacktracking
A C
B
Universitas Sumatera Utara
BijiApemain = 0 OR BijiAcomp = 0 ?
SkorPemain SkorComp
“Pemain Menang”
“Computer Menang”
Giliran = Pemain?
End ya
ya ya
tidak tidak
tidak HitungSkor
A
B C
cekbijiArena
Gambar 3.6 Flowchart Alur Permainan
Keterangan: X
: nilai acak untuk pemain Y
: nilai acak untuk Btrack i
: urutan lubang daerah pemain j
: 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
nodeComp ≤ 7
and not stop ?
Stop = false nodeComp = 1
Biji = isi[nodeComp] Stop, nodeComp,isi[],biji,
cek, nextNode, deep,pointdeep
Biji = 0? nodeComp = nodeComp+1
Cek = false
not cek?
nextNode = deepNodebiji,nodeComp nextNode = L
Stop = true Cek = true
Step = nextNode Deep ≤ 10 ?
Stop = false nodeComp = nextNode
Biji = isi[nextNode] cek = false
Pointdeep = isiL Cek = true
nodeComp = nodeComp + 1 Stop = false
Not found L?
Step = Maxpointdeep
end
ya ya
ya
ya ya
tidak tidak
tidak
tidak tidak
tidak ya
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
L : 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
Amilik[i]=Amilik[i]+1 i=i-1
n = biji
i 0 ?
i = 0 ?
Lmilik=Lmilik+1 i=i-1
j=8+I i=i-1
j 0 ?
Alawan[j]=Alawan[j]+1
j = 0 ?
i=7 Alawan[i]=Alawan[i]+1
i=i-1 n=n-1
n = 0 ?
end ya
ya
ya
ya
ya tidak
tidak tidak
tidak
tidak
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
j = 8 – I poinTembak = Alawan[j]
n, dLawan, i, j
n=0 AND NOT
dLawan ?
Giliran = pemain?
Lumbung = Lpemain Lumbun= Lcomp
Lumbung = Lumbung + poinTembak + Amilik[i]
poinTembak0?
Lumbung = Lumbung
end
ya ya
ya tidak
tidak
tidak
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 = BijiApemain+Apemain[lubang] BjiAcomp = BijiAcomp+Acomp[lubang]
Lubang=1
BijiApemain=0 BijiAcomp=0
Lubang=lubang+1
Lubang ≤
7?
End ya
tidak
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
SkorPemain=Lpemain+Apemain[l] l=1
l=7?
Apemain[l] ≠ 0?
l=l+1
SkorComp=Lcomp+Acomp[l]
Acomp[l] ≠ 0?
end
ya tidak
tidak tidak
ya ya
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.
Tampilkan Form Menu
Start
Pilih Menu Mulai Baru ?
Tampilkan Form Permainan
Congklak
Pilih Tombol Main ?
Tampilkan Form Undi Giliran
Tekan Tombol Acak
Tampilkan Pesan Pemenang giliran
Bermain Congklak
Permainan berakhir Munculkan pesan
pemenang
Pilih Menu Panduan
Permainan ?
Pilih Menu Tentang
Permainan ?
Tampilkan Form Panduan
Permainan
Tampilkan Form Tentang Permainan
Kembali?
End Keluar
Kembali?
Kembali?
ya
ya
ya ya
ya
tidak tidak
tidak
tidak
tidak tidak
tidak ya
ya
Pilih Tombol History
Permainan ?
Tampilkan Form History Permainan
Kembali?
ya tidak
tidak ya
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.
CONGKLAK GAME
Tentang Permainan Panduan Permainan
Keluar Mulai Baru
Utama
1 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
Acak Pemain
Computer
1 3
4
5
Btrack
2
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
Kembali Main
Peraturan dan Cara Bermain
1
2
3 4
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
1
2
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
Kembali
Penelusuran langkah
Langkah Pemain Langkah computer
1 2
4 5
6
7
Langkah Btrack
3
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
computer
Pemain
Kembali Mulai
2
3
4 5
6 7
History
8
Btrack
1
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
BAB 3
ANALISIS DAN PERANCANGAN SISTEM
3.1 Analisis Kebutuhan Sistem