Perancangan Sistem Analisis Dan Implementasi Algoritma Backtracking Pada Permainan Congklak

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