BAB III ANALISIS DAN PERANCANGAN

dokumen-dokumen yang mirip
BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

BAB III ANALISA MASALAH DAN PERANCANGAN

BAB IV. adalah tahap implementasi dan penyempurnaan. Berikut ini akan dijelaskan. implementasi dari aplikasi permainan komputer game knight s tour


BAB IV HASIL DAN PEMBAHASAN

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

BAB I PENDAHULUAN. remaja maupun orang dewasa. Game ini terdiri dari game tradisional dan

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

BAB IV HASIL DAN UJI COBA

BAB III METODE PENELITIAN

BAB IV HASIL DAN PEMBAHASAN

BAB III PEMBAHASAN DAN PERANCANGAN

APLIKASI GAME TIC TAC TOE 6X6 BERBASIS ANDROID MENGGUNAKAN ALGORITMA MINIMAX DAN HEURISTIC EVALUATION

BAB III ANALISIS DAN KEBUTUHAN ALGORITMA

BAB III ANALISA MASALAH DAN RANCANGAN PROGRAM

BAB 4 IMPLEMENTASI DAN EVALUASI

BAB III ANALISA DAN PERANCANGAN

BAB 2 LANDASAN TEORI. adalah perintah yang dimengerti oleh komputer untuk melakukan tugas-tugas tertentu.

BAB III ANALISA DAN PERANCANGAN

JURNAL INFORMATIKA SIMULASI PERGERAKAN LANGKAH KUDA MENGGUNAKAN METODE BREADTH FIRST SEARCH

IMPLEMENTASI DAN PENGUJIAN

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

BAB III ANALISIS DAN DESAIN SISTEM

BAB III ANALISIS DAN PERANCANGAN. Perancangan game mencocokkan gambar ini dibuat agar dapat berjalan

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB 1 PENDAHULUAN. Hal 1. 1 Dan W. Patterson, Introduction to Artificial Intelligence and Expert System, Prentice Hall, 1990,

BAB I PENDAHULUAN. orang yang tepat pada pekerjaan yang tepat sejak permulaannya.

BAB I PENDAHULUAN. media penyimpanan data yang memiliki ukuran hingga ratusan gigabyte bahkan

BAB IV HASIL DAN PEMBAHASAN

BAB 3 METODOLOGI 3.1. Analisis Kebutuhan dan Masalah Analisis Kebutuhan

BAB I PENDAHULUAN 1.1 Latar Belakang

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB III ANALISA DAN PERANCANGAN

ANALISIS MASALAH DAN RANCANGAN PROGRAM

BAB IV IMPLEMENTASI DAN PENGUJIAN. Perangkat Keras Yang Digunakan Dalam Pembuatan

PENERAPAN ALGORITMA BACKTRACKING PADA PERMAINAN MATH MAZE

BAB 4 IMPLEMENTASI DAN EVALUASI

BAB III ANALISIS DAN PERANCANGAN

BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM

BAB IV PEMBUATAN DAN PENGUJIAN SISTEM

Gambar 3.1 Menentukan Jumlah Koin yang diacak

BAB 3 ANALISIS DAN PERANCANGAN SISTEM

Penerapan strategi BFS untuk menyelesaikan permainan Unblock Me beserta perbandingannya dengan DFS dan Branch and Bound

BAB IV HASIL DAN UJI COBA

BAB 2 LANDASAN TEORI. menyelenggarakan pelayanan dengan baik kepada semua tamunya baik berupa

BAB IV HASIL DAN UJI COBA

PENERAPAN ALGORITMA BACKTRACKING PADA PERMAINAN WORD SEARCH PUZZLE

BAB III METODOLOGI Analisis Kebutuhan Fungsi dan Kinerja Fungsi dan kinerja yang dibutuhkan dalam aplikasi ini adalah sebagai berikut:

BAB 3 ANALISIS DAN PERANCANGAN APLIKASI

BAB V IMPLEMENTASI SISTEM

BAB III ANALISIS DAN PERANCANGAN. Deskripsi konsep aplikasi game adalah sebagai berikut:

BAB III ANALISIS DAN DESAIN SISTEM

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

BAB IV IMPLEMENTASI DAN PENGUJIAN. Pada bab 4 ini akan dilakukan implementasi dan pengujian terhadap sistem.

BAB III ANALISIS DAN DESAIN SISTEM

Rancangan Permainan Othello Berbasis Android Menggunakan Algoritma Depth-First Search

BAB IV IMPLEMENTASI DAN PENGUJIAN. dilanjutkan dengan pengujian terhadap aplikasi. Kebutuhan perangkat pendukung dalam sistem ini terdiri dari :

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB V IMPLEMENTASI DAN PEMBAHASAN. Berikut ini adalah hardware dan software yang dibutuhkan untuk menggunakan

BAB III ANALISA DAN PERANCANGAN

BAB 4 PERANCANGAN PROGRAM

BAB III METODE PENELITIAN

PROSEDUR MENJALANKAN APLIKASI

BAB 3 ANALISIS DAN PERANCANGAN

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB III ANALISIS DAN PERANCANGAN APLIKASI 3.1 ANALISIS

BAB 4. Implementasi dan Evaluasi

BAB 4 IMPLEMENTASI DAN EVALUASI. 4.1 Spesifikasi Perangkat Keras dan Pera ngkat Lunak. program aplikasi dengan baik adalah sebagai berikut:

BAB IV HASIL DAN UJI COBA

BAB 3 PERANCANGAN SISTEM Pengaturan Properties Form Aplikasi Game Tetris

BAB 4 IMPLEMENTASI DAN EVALUASI Implementasi Program Simulasi. mengevaluasi program simulasi adalah sebagai berikut :

BAB III ANALISA DAN PERANCANGAN

BAB II LANDASAN TEORI

Sebelum membahas mengenai pemrograman LabVIEW, sebaiknya pembaca mengenal istilah istilah penting berikut ini.

Bab 3 Metode dan Perancangan Sistem

Analisis Pengimplementasian Algoritma Greedy untuk Memilih Rute Angkutan Umum

BAB IV HASIL DAN UJICOBA

BAB III ANALISIS DAN PERANCANGAN

BAB 1 PENDAHULUAN Pengantar

BAB I PENDAHULUAN 1.1 Latar Belakang Masalah

BAB III ANALISIS SISTEM. literatur, paper maupun beberapa artikel di internet, mulai dari randomization

BAB 4 IMPLEMENTASI DAN EVALUASI

BAB V IMPLEMENTASI SISTEM

BAB V IMPLEMENTASI SISTEM

BAB IV HASIL DAN UJI COBA

BAB V IMPLEMENTASI SISTEM

BAB III ANALISIS DAN PERANCANGAN

Penggunaan Algoritma Greedy untuk menyelesaikan Permainan Othello

BAB IV IMPLEMENTASI DAN PENGUJIAN Implementasi Aplikasi Pembelajaran Kemacetan Jaringan Dengan Mekanisme Weighted Fair Queueing (WFQ).

BAB IV IMPLEMENTASI DAN EVALUASI..Net 2005 dan menggunalan SQL Server 2005 sebagai database.

BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM

BAB IV HASIL DAN UJI COBA

BAB IV HASIL DAN UJI COBA

BAB V IMPLEMENTASI SISTEM

BAB I PENDAHULUAN. dan militer, kini telah digunakan secara luas di berbagai bidang, misalnya Bisnis,

Transkripsi:

BAB III ANALISIS DAN PERANCANGAN 3.1 Analisis Dalam sub bab analisis dan perancangan akan dibahas hal-hal yang berhubungan dengan pembuatan permainan ular tangga yang meliputi Analisis, Flowchart, Perancangan, dan Pembuatan yang meliputi desain antarmuka. 3.1.1 Deskripsi Masalah Analisis dilakukan pada sistem aplikasi dengan mempertimbangkan halhal yang diperlukan untuk merancang aplikasi ini. Sebagai contoh, bermain ular tangga denang jumlah pemain yang banyak lebih diminati dari pada sendiri. Namun ketika tidak ada lawan pemain manusia yang dapat di ajak untuk bermain, pemain dari komputer dapat menjadi solusi untuk sebagai lawan untuk bermain. Program ular tangga ini menerapkan sebagian konsep algoritma Minimax pada pemain dari komputer untuk proses penentuan langkah kedepan pada saat giliran main yang akan diambil, dengan berpegang pada nilai mata dadu. 3.1.2 Analisa Kebutuhan User Beberapa karakteristik yang dibutuhkan user terhadap permainan : 1. Tampilan atau rancangan permainan yang user friendly. 2. Permainan yang dibutuhkan saat ini adalah permainan yang dapat menghibur, interaktif, dan aktraptif. 3. Input permainan menggunakan mouse dan keyboard. 37

38 4. Aplikasi yang tidak terbatas pada usia, karena aplikasi ini merupakan sebuah game maka bisa digunakan oleh anak-anak dan orang dewasa. Penulis mengambil beberapa karakteristik untuk diimplementasikan pada permainan Ular Tangga, yaitu : 1. Permainan tradisional ular tangga yang dapat diaplikasikan di komputer. 2. Tampilan permainan yang user friendly sehingga memudahkan para pemain dalam menggunakan aplikasinya. 3. Pengimplementasian algoritma Minimax pada proses pencarian 1 langkah kedepan pada saat tiba giliran main untuk pemain komputer. 3.1.3 Aturan Permainan Permainan ini dimainkan dalam suatu daerah yang berbentuk kotak atau segi empat, yang di representasikan dalam matrik (cell) dengan 1 cell awal sebagai cell tidak aktif (karena sebagai tempai awal permainan) dan sisa cell yang lain sebagai cell aktif. Permainan ini dapat dimainkan oleh maksimal 4 pemain sekaligus dengan diwakili oleh 4 macam warna, yaitu warna hijau, kuning, merah dan biru. Setiap pemain menjalankan 1 buah pion berwarna secara otomatis sesuai dengan urutan waktu pemilihan, dengan berpegang pada hasil pelemparan dadu. Sasaran dari permainan ini adalah memindahkan pion berwarna tersebut dari tempat awal (Start) ke tempat tujuan akhir (Finish). Dengan cara menggeser pion (pergerakan dilakukan secara otomatis) sebanyak nilai hasil dari pengacakan dadu untuk melangkah ke depan, ke atas atau ke bawah dengan syarat diakhir langkah terdapat tangga atau ular sebagai rintangan di jalurnya, dan kembali ke cell yang lebih kecil dari cell 55 ketika hampir finish mendapatkan poin melebihi yang

39 diperlukan. Dadu yang dipakai dalam permainan ular tangga sebanyak satu buah, yang mana nilai dari mata dadu terdiri dari 6 nilai (1 sampai dengan 6). 3.1.4 Komponen Permainan Untuk membuat permainan ular tangga dibutuhkan beberapa komponen, adapun komponen yang di butuhkan adalah sebagai berikut : 1. Papan permainan ular tangga. 2. Dadu. 3. Pengecekan langkah sesuai dengan daerah akhir yang dihasilkan dari pelemparan mata dadu. 4. Pengambilan keputusan untuk pemain yang mendapatkan bonus. 5. Pengecekan pemenang. 3.2 Perancangan Proses perancangan ular tangga melalui beberapa tahapan dapat dilihat pada gambar 3.1: 1. Proses perancangan gambar papan Ular Tangga 2. Proses inisialisasi gambar papan Ular Tangga Desain 3. Proses pengesetan pion pada papan Ular Tangga 4. Proses pengaturan urutan giliran 5. Proses pengecekan langkah yang dapat dijalankan 6. Proses Pengambilan keputusan untuk yang mendapatkan bonus. 7. Proses pengecekan pemenang Sistem Gambar 3.1 Proses perancangan desain dan sistem

40 3.2.1 Perancangan Papan Permainan Ular Tangga Untuk proses pembuatan papan permainan (game board), dilakukan dengan menggunakan software Microsof Visio 2007 dan untuk pembuatan biji pion sendiri menggunakan fasilitas Label pada Visual Studio 2010 Ultimate. Setiap biji pion di set pada (cell 0) posisi masing-masing, dan ditempatkan pada papan permainan. Gambar 3.2 Rancangan gambar papan ular tangga Proses pembuatan biji pion menggunakan fasilitas windows form designer generated code dan label yang ada pada tool Visual Studio 2010 Ultimate, yang mana setiap biji pion memiliki nomer dan warna yang terdiri dari nomer 1 dengan warna merah, nomer 2 dengan warna biru, nomer 3 dengan warna kuning, dan nomer 4 dengan warna hijau.

41 Gambar 3.3 Rancangan set biji pion pada papan permainan ular tangga 3.2.2 Proses Inisialisasi Papan Permainan Ular Tangga Pada tahap ini, gambar yang telah dibuat kemudian di inisiasi sebagai cell pada sebuah matriks 8 x 7 (8 untuk kolom dan 7 untuk baris) dengan ukuran 8 x 100 untuk kolom dan 7 x 100 untuk baris, dengan total keseluruhan cell sebanyak 56 x 100 pixel = 5600 pixel. Gambar 3.4 Penomeran dan pemetaan pada papan permainan ular tangga

42 Cell 0 tidak di hitung sebagai cell aktif karena awal mula permainan di mulai dari cell 0, sedangkan cell 1 55 merupakan cell aktif pada papan permainan game ular tangga ini. Setiap pergerakan biji pion sebangak satu cell ke kanan + 100 pixel, ke atas +100, dan 100 untuk pergerakan satu cell ke kiri untuk cell yang lebih kecil dengan asumsi mengabaikan pergerakan yang melebihi batas normal seperti naik ketika terdapat tangga pada akhir pergerakan, turun ketika terdapat ular di akhir pergerakan, terreset ke posisi start (cell 0) ketika posisi tergantikan pemain lawan, dan kembali ke cell yang lebih kecil ketika mendapatkan nilai lebih (nilai dadu) untuk mencapai garis finish. Karena papan permainan terdiri dari 8 kolom dan 7 baris, pergerakan di mulai kesebelah kiri dari cell 0 (baris ke 1), naik 1 cell ke atas ketika sampai akhir dari baris ke 1 pada kolom yang sama (cell), dilanjutkan kesebelah kiri pada baris yang sama setelah naik 1 cell dari akhir baris dan kolom yang sama pada pergerakan sebelumnya dan begitu seterusnya. Untuk lebih jelasnya dilihat pada contoh dibawah ini : Tabel 3.1 Tabel contoh nilai Cell pergerakan No. Cell Posisi pada matriks Pergerakan Pergerakan arah selanjutnya 1. 7 [1,8] naik ke cell 8 ke arah kiri 2. 15 [2,1] naik ke cell 16 ke arah kanan 3. 23 [3,8] naik ke cell 24 ke arah kiri 4. 31 [4,1] naik ke cell 32 ke arah kanan 5. 39 [5,8] naik ke cell 40 ke arah kiri 6. 47 [6,1] naik ke cell 48 ke arah kanan

43 3.2.3 Proses Pengesetan Posisi Ular dan Tangga Sebelum permainan dimulai, maka terlebih dahulu kita harus mengeset masing-masing posisi untuk ular dan tangga. Naik sebagai bonus apabila di akhir pergerakan terdapat tangga atau turun sebagai rintangan jika terdapat ular di akhir pergerakan. Proses pengesetan ular dan tangga pertama kali di buat dengan notepad, kemudian dengan menggunakan perintah pada Visual Studio 2010 Ultimate proses inisialisasi ular dan tangga di panggil dan di jalankan ketika permainan di mulai. Proses pengecekan akan di lakukan ketika game berjalan, apakah ada pemain yang berhenti tepat pada cell yang terdapat tangga atau ular. Tabel 3.2 Tabel pengesetan cell untuk tangga dan ular No. Posisi cell pada matriks Awal cell Akhir cell Aksi keterangan 1. 3 [1,4] 10 [2,6] naik tangga 2. 9 [2,7] 21 [3,6] naik tangga 3. 12 [2,4] 1 [1,2] turun ular 4. 13 [2,3] 31 [4,1] naik tangga 5. 18 [3,3] 35 [5,4] naik tangga 6. 20 [3,5] 4 [1,5] turun ular 7. 25 [4,7] 40 [8,6] naik tangga 8. 36 [5,5] 51 [7,4] naik tangga 9. 39 [5,8] 22 [3,7] turun ular 10. 44 [6,4] 15 [2,1] turun ular 11. 46 [6,2] 50 [7,3] naik tangga 12. 47 [6,2] 30 [4,2] turun ular 13. 54 [7,7] 19 [3,4] turun ular

44 Proses pengesetan ini menggunakan array untuk menyimpan posisi setiap biji pion pemain, setiap warna pada biji pion sudah memiki posnya masingmasing pada saat inisialisasi biji dilakukan. Pergerakan biji pion ketika berhenti tepat pada tangga atau ular dilakukan secara otomatis, bisa naik ataupun turun. Sebagai contoh lihat pada gambar 3.5 dan tabel 3.2, ketika ada pemain yang berhenti di cell 3 [1,4] karena terdapat awal dari tangga, pemain tersebut berhak melakukan lompatan (naik) sampai dengan cell 10 [2,6] akhir dari tangga. Kebalikannya ketika ada pemain yang berhenti tepat pada awal dari ular cell 12 [2,4], pemain tersebut harus turun sampai dengan akhir dari ekor ular cell 2 [1,3]. Finish 48 49 50 51 52 53 54 55 47 46 45 44 43 42 41 40 32 33 34 35 36 37 38 39 31 30 29 28 27 26 25 24 16 17 18 19 20 21 22 23 15 14 13 12 11 10 9 8 Start 0 1 2 3 4 5 6 7 Gambar 3.5 Hasil pengesetan ular dan tangga pada papan permainan

45 3.2.4 Proses Pengecekan Langkah Langkah Yang Dapat Dijalankan Oleh Biji Pion Pergerakan biji pion dalam permainan, dilakukan secara otomatis sesuai dengan nilai mata dadu yang di dapatkan dari pengacakan dadu. Hanya saja pengacakan mata dadu yang dilakukan secara manual (mengklik tombol) untuk pemain user, sedangkan untuk pemain dari komputer pengacakan dadu dilakukan secara otomatis. Dadu yang digunakan dalam permainan ular tangga ini satu buah, adapun nilai mata dadu di mulai dari 1 sampai dengan 6, maka pergerakan yang dapat dilakukan maksimal 6 langkah ke depan, keculai jika terdapat tangga atau ular di akhir dari pergerakan biji pion. Proses pengecekan langkah untuk biji pion yang diperbolehkan dalam perminan ular tangga adalah sebagai berikut : 1. Proses pengecekan dimulai dari posisi awal start biji pion, dengan mengecek nilai setiap posisi biji pion pemain tersebut. 2. Pergerakan di mulai kesebelah kiri dari cell 0 (baris ke 1), naik 1 cell ke atas ketika sampai akhir dari baris ke 1 pada kolom yang sama (cell), dilanjutkan kesebelah kiri pada baris yang sama setelah naik 1 cell dari akhir baris dan kolom yang sama pada pergerakan sebelumnya dan begitu seterusnya. 3. Jika posisi tujuan akhir terdapat ular atau tangga, pemain tersebut dapat melakukan lompatan naik ke atas atau turun ke bawah jika terdapat ular dan berhenti pada akhir dari tangga atau ular.

46 4. Ketika posisi tujuan tidak kosong (ditempati oleh biji pion lawan), maka biji dapat menempati biji pion lawan tersebut, secara otomatis biji pion lawan tersebut terreset dan kembali ke titik start (cell 0). 5. Pemain mundur atau kembali pada cell yang lebih kecil ketika hampir mencapai cell 55 (finish), tetapi mendapatkan nilai lebih. 6. Permainan berakhir ketika ada salah satu player yang berhenti tepat pada cell 55, secara otomatis permainan berakhir. Sebagai contoh pergerakan yang diijinkan oleh biji pion dengan posisi awal biji pion berada pada cell 0, 31, dan 51 : Tabel 3.3 Tabel pergerakan yang diperbolehkan Posisi awal Posisi tujuan mengacu pada nilai mata dadu (biji pion) 1 2 3 4 5 6 0 maju Maju naik ke cell 10 maju maju maju 31 naik 1 cell Maju maju maju naik ke cell 51 maju 51 maju Maju turun ke cell 19 finish Kembali, lalu turun Kembali ke cell ke cell 19 53 Melihat tabel di atas, pergerakan biji pion ketika ada pemain yang berada pada posisi 0 secara normal ketika mendapatkan nilai dari mata dadu 1, 2, 4, 5, dan 6 biji pion pemain bergerak secara normal, terkecuali ketika mendapatkan nilai 3 biji pion melakukan lompatan naik ke cell 10 karena terdapat awal dari tangga pada cell 3. Untuk pergerakan ketika biji pion berada pada cell 51 dan mendapatkan nilai dadu 5 atau 6, pergerakan pemain tersebut terhenti karena melebihi nilai

47 yang dibutuhkan mencapai finish dan kembali ke cell sebanyak selisih yang dibutuhkan untuk mencapai cell 55 (finish). Proses pengecekan dilakukan diakhir pergerakan biji pion, langkah yang diperbolehkan sesuai dengan nilai yang didapatkan dari hasil pengacakan dadu. Apakah diakhir pergerakan terdapat tangga, ular, dan pemain lain, kecuali untuk langkah yang melebihi cell 55 pengecekan dilakukan setelah melempar dadu dan diakhir pergerakan biji pion. 3.2.5 Proses Pencarian Langkah Terbaik a. Metode Depth first search Pada proses pencarian dengan metoda Depth First Search (DFS), proses DFS dilakukan pada semua anaknya sebelum dilakukan pencarian ke node-node (titik) yang selevel. Pencarian dimulai dari node akar ke level yang lebih tinggi. Proses ini diulangi terus hingga ditemukannya solusi path terpendek. Metode ini digunakan untuk mencari langkah terbaik yang ditempuh oleh biji pion pemain ke daerah tujuan. b. Algoritma Minimax Sebagaimana yang telah dijelaskan di bab sebelumnya dan telah diketahui bahwa Algoritma Minimax menggunakan penelusuran Depth-First Search (DFS) untuk menelusuri pohon permainan. Terdapat istilah pruning, Kita dapat menggunakan teknik branch-and-bound untuk mengurangi junlah keadaan yang harus diuji untuk menentukan nilai dari suatu pohon pelacakan. Kita dapat menyimpan nilai batas bawah pada node yang melakukan maksimasi, dan kita

48 tidak perlu menghiraukan cabang-cabang yang tidak akan memperbaiki batas tersebut (lebih tinggi). Oleh karena itu, penulis tidak sepenuhnya menerapkan algoritma Minimax, tetapi hanya menggunakan konsep algoritma Minimax untuk mendapatkan nilai optimal. Penerapan metode algoritma minimax dalam permainan ini adalah untuk mencari langkah terbaik selanjutnya sesuai angka dadu yang dibutuhkan agar mendapatkan jalan tercepat untuk mencapai finish. Adapun langkah-langkah yang dilakukan dalam metode algoritma minimax yang pertama adalah membangkitkan semua node yang ada dari setiap kombinasi, langkah selanjutnya dicari harga yang paling rendah dengan cara membandingkan setiap harga yang didapat dari setiap kombinasi. Adapun algoritma selengkapnya sebagai berikut: 1. Jika keadaan awal merupakan tujuan, keluar (sukses). 2. Jika tidak demikian, kerjakan langkah-langkah berikut ini sampai tercapai keadaan sukses atau gagal : (a) Bangkitkan successor E dari keadaan awal. Jika tidak ada successor, maka akan terjadi kegagalan (b) Panggil depth-first search dengan E sebagai keadaan awal. (c) Jika sukses berikan tanda sukses. Namun jika tidak, ulangi langkah 2

49 48 49 50 51 52 53 54 55 47 46 45 44 43 42 41 40 32 33 34 35 36 37 38 39 31 30 29 28 27 26 25 24 2 1 16 17 18 19 20 21 22 23 15 14 13 12 11 10 9 8 Start 04 1 3 2 3 4 5 6 7 Gambar 3.6 Contoh pencarian langkah terbaik pada permainan ular tanggap Seperti contoh Gambar 3.6 di atas, biji pion pemain ke dua berada pada cell 17. Algoritma minimax akan mencarikan langkah terbaik untuk mencapai garis finish, dengan mengacu pada nilai mata dadu yang digunakan. Adapun proses pencarian langkannya : Inisialisasi posisi keadaan pion pada cell sebelum mencari nilai maksimum Hitung sisa cell menuju garis finish dan kurangi 1, dan set sementara nilai posisi pion ke 0 Masukan nilai 1, kemudian uji nilai bobot setiap cell sebanyak 1000 untuk setiap 1 cell.

50 Jika belum menemukan nilai maksimal, ulangi langkah sebelumnya. Ketika nilai berikutnya lebih besar dari hasil sebelumnya, simpan sebagai nilai maksimal sementara kemudian uji sampai dengan nilai 6 Nilai maksimal akhir adalah nilai dari dadu ditambah dengan nilai selisih dari lompatan (jika terdapat awal tangga dengan akhir dari tangga tersebut) pada pengujian dari 6 nilai dadu sebelumnya dikalikan dengan 1000 Simpan nilai maksimal akhir, dan keluarkan nilai dari dadu tersebut Proses pencarian langkah terbaik dari awal dengan menelusuri ke dalam sejauh mungkin sebelum kembali ke pencarian awal. Pohon ruang status dari solusi di atas adalah : Gambar 3.7 Pohon ruang solusi dengan algoritma Minimax

51 Tabel 3.4 Tabel Keterangan pohon No. Cell Keterangan 1. 17 Posisi pemain ke 2 2. 19, 21, 22, 23 Tidak ada tangga ataupun ular 3. 35 Melakukan lompatan karna terdapat tangga 4. 5 Turun karena terdapat ular 5. 0 Terreset oleh pemain lawan 3.2.6 Proses Pengecekan Pemenang Pada proses pengecekan pemenang akan dilakukan apabila ada salah satu biji pion pemain yang berhasil mencapai tepat pada cell 55 (cell posisi+nilai dadu = 55), yang merupakan cell terakhir yang digunakan pada permainan ular tangga ini. Namun apabila pemain tersebut melebihi cell 55, pemain tersebut akan mundur sebanyak selisih dari cell 55 (cell posisi+nilai dadu > 55). Pemain yang lebih dahulu mencapai cell 55 dinyatakan sebagai pemenang. 3.3 Flowchart Flowchart Gambar 3.7 di bawah menunjukan kegiatan program yang mengalir dari awal permainan sampai dengan permainan selesai. Setiap pemain dapat berinteraksi dengan menu yang memiliki berbagai perintah pengeksekusian antara lain berisi konfigurasi permainan ular tangga dan informasi hasil dari permainan yang telah dilakukan oleh pemain dan komputer, flowchart tersebut menjelaskan alur jalannya permainan ular tangga. Pemain akan berjalan pada board sesuai dengan angka dadu yang didapat. Komputer akan memberikan nilai dadu secara acak, pemain harus bergantian dengan pemain yang lainnya sampai menuju finish.

52 Hasil interaksi pemain dengan sistem ini akan menghasilkan output (keluaran) yang diwakili warna dan cordinat yang menjadi perbandingan untuk menentukan pemenang dimana nilai ini didapat dari hasil pemain dalam permainan Ular Tangga. Gambar 3.8 Flowchart permainan ular tangga

53 3.4 Perancangan Antarmuka Peancangan antarmuka pada aplikasi ini melibatkan banyak komponen yang dipakai untuk memenuhi kebutuhan perancangan, pada tabel 3.4 penulis jelaskan nama komponen, fungsi sekaligus keterangan dari komponen-komponen yang digunakan pada perancangan aplikasi. Tabel 3.5 Komponen yang digunakan dalam perancangan Nama Komponen Form Label Text Box Command Button Check Box Radio Button Line Picture Box Image Box Shape Fungsi Merupakan lembar kerja tempat meletakkan item dalam Windows pada Visual Basic.net. Unit ini digunakan untuk menampilkan teks, angka, atau simbol pada saat program dijalankan. unit ini digunakan untuk menampilkan teks pada form atau untuk menerima input dari pemakai pada saat program Visual Basic.netdijalankan. unit ini digunakan untuk memberikan suatu perintah atau tindakan ketika digunakan unit ini digunakan untuk memilih List item. unit ini digunakan untuk memilih List item. unit ini memungkinkan pemakai membuat garis lurus unit ini untuk menampilkan file gambar unit akan menampilkan gambar Unit ini membentuk objek dua dimensi Keterangan Bitmaps, Icon, Gif, JPG dan sebagainya Bitmaps, Windows, Metafile dan Icon Bujur sangkar, lingkaran, empat persegi panjang dan elips.

54 Form yang dimiliki oleh aplikasi adalah : 1. Form pengaturan permainan. 2. Form permainan ulartangga. 3. Form tentang cara permainan (bantuan) 3.4.1 Form Pengaturan Permainan Form Pengaturan permainan berisi opsi yang disediakan untuk memilih aturan permainan yang akan dipakai ketika permaian berlangsung. Gambar 3.9 Rancangan form pengaturan permainan

55 Dengan mengacu pada Gambar 3.9, algoritma yang digunakan pada form pengaturan permainan : Procedur pengaturan permainan (human, human2, human3, human4 : Boolean. computer1, computer2, computer3 : Boolean) {program ini digunakan pada form1 untuk pengaturan permainan} Deklarasi Name Player1 Player2 Player3 Player4 Texb2 Texb3 Texb4 : string : text : text : text : text : text : text : text Deskripsi : If Human = TRUE then Player1 Player Output ( creat player1 ) End If If Human2 = TRUE Then Player2 Player Output ( creat player2 ) Else If human2 = FALSE and computer = TRUE then textb2 FALSE Player2 Player Output("Computer 1") End If End If If Human3 = TRUE Then Player3 Player Output ( creat player3 ) Else If human3 = FALSE and computer = TRUE then Textb3 FALSE Player3 Player Output("Computer 2") End If End If If Human4 = TRUE Then Player4 New Player Output ( creat player4 ) Else If human4 = FALSE and computer = TRUE then Textb4 FALSE Player4 Player Output("Computer 3") End If End If Gambar 3.10 Listing rancangan pegaturan permainan

56 Tabel 3.6 Tabel keterangan form pengaturan permainan No. Komponen Fungsi 1. Label Daerah tampilan nama pemain 2. Chek Box Untuk memilih player yang ikut 3. Label Tempan opsi pemilihan player yang ikut serta 4. Command Button Tombol mulai untuk permainan 5. Command Button Tombol tentang permainan 6. Command Button Tombol keluar dari pengaturan permainan 3.2.5 Form Permainan Ular Tangga Pada Form permainan ular tangga, setiap permainan akan dilakukan sesuai dengan aturan standar dengan sedikit perubahan aturan enyesuaian yang telah dibuat dan tipe pemain beserta jumlahnya pada form sebelumnya (pengaturan permainan). Gambar 3.11 Rancangan form permainan ular tangga

57 Dengan mengacu pada gambar 3.11, algoritma yang digunakan pada form permainan : Procedur pencarian langkah terbaik {untuk pencarian langkah terbaik pada form2, bagi pemain computer} Deklarasi i k best_val pos_value move_list user user_cell left_board : integer : integer : integer : integer : array : player : cell : integer Deskripsi : MinMove() best_val 1000000000 Return best_val Output ( hitung minimum move ) MaxMove If pos_value i = -1 Then Return pos_value End If best_val -1000000000 Return best_val Output ( hitung maximum move ) Generate_moves For i 0 To 8 do If board(i) = 0 Then move_list.removeat(i) End If End for Output ( hitung generate move ) GenerateBestMoves user = list(currentplayer) usercell = Game.board.GetCell If (55 - user.cell) <= 6 Then left_board = 55 - user.cell Else left_board 6 End If Output ( hitung generate best move ) For (k 0) To left_board - 1 List_Moves(k) (k + 1) * 1000 End for Output ( hitung jumlah list move ) Gambar 3.12 Listing algoritma Minimax pada permainan ular tangga

58 Tabel 3.7 Tabel keterangan form permainan No. Komponen Fungsi 1. Label Daerah tampilan list nama pemain 2. Label Daerah tamilan posisi cell pemain 3. Label Daerah tamilan nama pemain 4. Label Daerah tamilan giliran pemain 5. Command Button Tombol untuk proses random dadu 6. Image Box Tamilan animasi random dadu 7. Command Button Tombol untuk keluar dari permainan 8. Command Button Tombol untuk keluar dari permainan 9. picture Box picture tempat permainan berlangsung 3.5 Perangkat Pembuatan Pembuatan perangkat lunak permainan ular tangga dengan algoritma minimax ini menggunakan 1 buah laptop, adapun spesifikasi perangkat keras laptop sebagai berikut : 1. Prosesor Intel Pentium Core2Duo 2.26 GHz. 2. RAM yang berukuran 1 GB 3. Hardisk yang berukuran 350 GB 4. Layar 17 inchi 5. Mouse dan keyboard Perangkat lunak yang digunakan terdiri dari : 1. Visual Basic.net ultimate 2010 2. Sistem operasi Windows 7 3. Adobe photoshop