Analisis Kebutuhan Sistem Analisis Dan Implementasi Algoritma Backtracking Pada Permainan Congklak

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. Apemain[1..7] Acomp[1..7] Lpemain Lcomp 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. Lubang- lubang 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 ← deepNodebiji,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 maxpointdeep 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 maxpointdeep 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 C1 C2 C3 C6 C5 C4 C7 P2 C1 P3 C2 P4 C3 P5 C4 P6 C5 P7 C6 L B B B B B B 1,7 1,7 1,7 1,7 1,7 1,7 9,8 1,7 9,8 9,8 9,8 9,8 9,8 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 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