Analisis Permainan Halaman Menu Utama Halaman Lawan Komputer dan Lawan Teman

BAB 3 ANALISIS DAN PERANCANGAN

Dalam bab ini akan dibahas mengenai analisis sistem dan perancangan aplikasi permaian Mill. Penulis mencoba membuat suatu aplikasi permainan Mill yang menerapkan kecerdasan buatan pada komputer yang akan dilawan . Penulis juga mencoba menjelaskan bagaimana cara kerja kecerdasan buatan pada permainan Mill . Dalam hal ini, penulis menggunakan algoritma Greedy.

3.1. Analisis Permainan

Berikut ini aturan permainan yang ditetapkan oleh penulis untuk aplikasi permainan Mill : 1. Pemain berlomba membentuk 3 bidak segaris Mill di path yang tersedia pada papan permainan. 2. Pemain dapat memilih mode melawan komputer atau teman. 3. Pemain dapat memilih mode permainan Lomba 1 Mill atau Lomba Banyak Mill . 4. Untuk mode melawan komputer, pemain dapat memilih tingkat kesulitan mudah,menengah atau sulit. 5. Pemain dapat memilih siapa yang terlebih dahulu mainpemain atau komputer dan jumlah putaran permainan yang diinginkan untuk mode Lomba Banyak Mill . 6. Untuk mode Lomba 1 Mill , pemain berlomba dengan komputer untuk membentuk sebuah Mill di path yang tersedia. Permainan selesai saat pemain atau komputer telah membentuk sebuah Mill di salah satu path . Permainan juga selesai saat seluruh path pada permaian telah terisi bidak. 7. Untuk mode Lomba Banyak Mill , pemain berlomba dengan komputer untuk membentuk sebanyak mungkin Mill di path yang tersedia. Pemain atau komputer mendapatkan skor 1 jika membentuk sebuah Mill . Permainan selesai setelah semua putaran dimainkan.

3.2. Fungsi Prioritas dan Analisis Algoritma

Greedy

3.2.1. Fungsi Prioritas

Untuk membangun kecerdasan buatan pada komputer, penulis membuat sebuah fungsi prioritas berdasarkan strategi yang diterapkan. Fungsi prioritas inilah yang menjadi strategi peletakan bidak oleh komputer di path yang tersedia pada papan permainan. Berikut tabel fungsi prioritas yang digunakan oleh penulis : Tabel 3.1 Fungsi Prioritas No. Jumlah Bidak Pemain di Path Jumlah Bidak Komputer di Path Nilai Prioritas Path Keterangan 1. Jumlah Bidak dan Nilai Prioritas dilihat dari sisi Komputer 2. 1 10 3. 2 100 4. 1 1 1 5. 1 20 6. 2 200 7. 2 1 - Tidak memiliki nilai prioritas lagi karena semua node pada path tersebut sudah berisi bidak 8. 1 2 - 9. 3 - 10. 3 - Pada tabel 3.1 menjelaskan nilai prioritas path berdasarkan jumlah bidak pemain atau komputer di path . Jumlah bidak dan nilai prioritas tersebut dilihat dari sisi komputer dan akan menjadi patokan dalam menentukan langkah komputer berikutnya. Penulis memberikan nilai prioritas berbeda pada No.3 dan No.6 dikarenakan penulis bertujuan agar komputer bisa menyerang dan lebih memilih meletakkan bidaknya pada path yang berisi 2 bidaknya No.6 untuk membentuk mill karena nilai prioritasnya 200 lebih besar daripada harus bertahan untuk mem block path berisi 2 bidak pemain No.3 yang nilai prioritasnya 100 lebih kecil. Sama halnya dengan No.2 dan No.5 ,komputer akan memilih meletakkan bidaknya pada path yang bernilai prioritas lebih tinggi. Untuk No.1 penulis memberikan nilai prioritas 0 untuk semua path yang belum terisi bidak sama sekali. Untuk no.4 penulis memberikan nilai prioritas 1 saat 1 bidak pemain dan 1 bidak komputer ada di path tersebut.

3.2.2. Analisis Algoritma

Greedy Penulis membangun kecerdasan buatan AI komputer dengan menerapkan algoritma Greedy . Algoritma Greedy dipadukan dengan fungsi prioritas yang sudah disebutkan sebelumnya untuk penelusuran kemungkinan langkah terbaik yang akan dipilih komputer. Adapun elemen-elemen algoritma Greedy yang digunakan daladalah sebagai berikut : 1. Himpunan Kandidat HK : himpunan path yang ada dalam papan permainan Mill yaitu H1, H2, H3, H4, H5, H6, H7, H8, V1, V2, V3, V4, V5, V6, V7, V8, D1, D2, D3, D4. 2. Fungsi Prioritas FP : seperti penjelasan pada Tabel 3.1. 3. Himpunan Solusi HS : Himpunan path yang tidak bernilai prioritas 0 berisi bidak 4. Fungsi Seleksi dan Kelayakan FSK : seleksi path yang bernilai prioritas paling tinggi dari Himpunan Solusi. 5. Fungsi Objektif FO : Memilih salah satu dari nilai prioritas paling tinggi yang sama dari Fungsi Seleksi dan Kelayakan secara acak. Hasil dari Fungsi Objektif inilah yang menjadi langkah terbaik yang dipilih AI . Penulis mengambil sebuah sampel permainan untuk dianalisis menggunakan algoritma greedy. Penjelasan analisis terebut adalah sebagai berikut Gambar 3.1 Giliran ke-1 Pemain Pada gambar 3.1 penulis dapat membuat tabel penjelasan penerapan algoritma greedy sebagai berikut Tabel 3.2 Giliran ke-1 Pemain HK H1 H2 H3 H4 H5 H6 H7 H8 V1 V2 V3 V4 V5 V6 V7 V8 D1 D2 D3 D4 FP 10 10 10 HS H1, V1, D1 FSK H1, V1, D1 FO V1 Ket Komputer memilih meletakkan bidak pada node yang ada di path V1 lihat Gambar 3.2 Gambar 3.2 Giliran ke-2 Komputer Tabel 3.3 Giliran ke-2 Komputer Gambar 3.3 Giliran ke-3 Pemain HK H1 H2 H3 H4 H5 H6 H7 H8 V1 V2 V3 V4 V5 V6 V7 V8 D1 D2 D3 D4 FP 10 20 1 10 HS - FSK - FO - Ket Komputer menunggu langkah pemain selanjutnya untuk dievaluasi Lihat Gambar 3.3 Tabel 3.4 Giliran ke-3 Pemain HK H1 H2 H3 H4 H5 H6 H7 H8 V1 V2 V3 V4 V5 V6 V7 V8 D1 D2 D3 D4 FP 100 20 1 10 10 HS H1, H4, V1, V4, D1 FSK H1 FO H1 Ket Komputer memilih meletakkan bidak pada node yang ada di path H1 lihat Gambar 3.4 Gambar 3.4 Giliran ke-4 Komputer Tabel 3.5 Giliran ke-4 Komputer HK H1 H2 H3 H4 H5 H6 H7 H8 V1 V2 V3 V4 V5 V6 V7 V8 D1 D2 D3 D4 FP - 20 1 10 20 10 20 HS - FSK - FO - Ket Komputer menunggu langkah pemain selanjutnya untuk dievaluasi Lihat Gambar 3.5 Gambar 3.5 Giliran ke-5 Pemain Tabel 3.6 Giliran ke-5 Pemain Gambar 3.6 Giliran ke-6 Komputer HK H1 H2 H3 H4 H5 H6 H7 H8 V1 V2 V3 V4 V5 V6 V7 V8 D1 D2 D3 D4 FP - 20 10 1 10 10 20 10 20 HS H4, H6, V1, V4, V5, V8, D1, D2 FSK H4, V8, D2 FO D2 Ket Komputer memilih meletakkan bidak pada node yang ada di path D2 lihat Gambar 3.6 Tabel 3.7 Giliran ke-6 Komputer HK H1 H2 H3 H4 H5 H6 H7 H8 V1 V2 V3 V4 V5 V6 V7 V8 D1 D2 D3 D4 FP - 20 20 10 1 10 10 20 20 10 200 HS - FSK - FO - Ket Komputer menunggu langkah pemain selanjutnya untuk dievaluasi Lihat Gambar 3.7 Gambar 3.7 Giliran ke-7 Pemain Tabel 3.8 Giliran ke-7 Pemain HK H1 H2 H3 H4 H5 H6 H7 H8 V1 V2 V3 V4 V5 V6 V7 V8 D1 D2 D3 D4 FP - 1 20 10 1 100 10 20 20 10 200 HS H2, H4, H6, V1, V4, V5, V7, V8, D1, D2 FSK D2 FO D2 Ket Komputer memilih meletakkan bidak pada node yang ada di path D2 lihat Gambar 3.8 Gambar 3.8 Giliran ke-8 Komputer Tabel 3.9 Giliran ke-8 Komputer Pada Gambar 3.8 terlihat Komputer berhasil membuat Mill pada path D2. Dengan demikian Komputer berhasil mengalahkan Pemain pada giliran ke-8.

3.3. Perancangan Sistem

Pada bagian ini penulis akan menguraikan gambaran aplikasi yang akan dirancang dan sebagai tahapan persiapan sebelum penerapan dan pengimplementasian di Android . HK H1 H2 H3 H4 H5 H6 H7 H8 V1 V2 V3 V4 V5 V6 V7 V8 D1 D2 D3 D4 FP - 1 20 20 10 1 100 10 20 20 20 10 - HS - FSK - FO - Ket Komputer berhasil membuat Mill. 3.3.1 Flowchart Algoritma Greedy Flowchart Algoritma Greedy yang diterapkan dalam permainan Mill menunjukkan proses evaluasi terhadap penentuan langkah terbaik yang dapat dilakukan AI. Flowchart Algoritma Greedy tersebut dapat dilihat pada gambar START Pemain meletakkan bidak di path Fungsi Prioritas memberikan nilai prioritas setiap path Menentukan Himpunan Solusi nilai prioritas path ≠0 Fungsi Seleksi dan Kelayakan menseleksi nilai prioritas path tertinggi dari Himpunan Sousi Fungsi Objektif memilih salah satu nilai prioritas path tertinggi dari Fungsi Seleksi dan Kelayakan AI meletakkan bidak di path END Gambar 3.9 Flowchart Algoritma Greedy 3.3.2 Flowchart Aplikasi Perancangan aplikasi permainan bertujuan untuk menunjukkan interaksi yang dapat dilakukan user terhadap aplikasi permainan. Alur aplikasi permainan dimulai dengan menampilkan menu utama di layar yang terdiri dari Lawan Komputer, Lawan Teman, Statistik , Panduan, dan Tentang . Setelah memilih salah satu dari menu tersebut, aplikasi akan menampilkan halaman lainnya. Alur flowchart dari aplikasi permainan dapat dilihat pada gambar START Tampilkan Menu Utama Pilih Lawan Komputer ? Pilih Lawan Teman ? Pilih Statistik ? Pilih Panduan ? Pilih Tentang ? N N N Tampilkan Halaman Statistik Tampilkan Halaman Panduan Y Y Y Tampilkan Halaman Tentang Y Pemain Menang ? Muncul Pesan Pemain Menang Muncul Pesan Komputer Menang Y N Simpan Ke Database Statistics Kembali ? Y Kembali ? Kembali ? Kembali ? N N N END N Tampilkan Halaman Lawan Komputer Pilih Lomba 1 Mill, Lomba banyak MIll N Y Pemain Menang ? Muncul Pesan Pemain1 Menang Muncul Pesan Pemain 2 Menang Y N Simpan Ke Database Statistics Kembali ? Tampilkan Halaman Lawan Teman Pilih Lomba 1 Mill, Lomba banyak MIll N Y Y Tampil Pilihan Duluan Main dan Level Tampil Papan Permainan Tampil Pilihan Duluan Main Tampil Papan Permainan Gambar 3.10 Flowchart Aplikasi

3.3.3 Pemodelan Visual Menggunakan UML

Dalam perancangan aplikasi permainan, penulis menggunakan bahasa pemodelan UML. Model UML yang digunakan antara lain use case diagram dan activity diagram. Use Case adalah deskripsi fungsi sebuah sistem dari perspektif pengguna. Use case bekerja dengan cara mendeskripsikan tipikal interaksi antara userpengguna dengan sistem itu sendiri melalui sebuah cerita bagaimana sistem dipakai. User pengguna biasanya disebut dengan actor. Actor yang berperan dalam sistem ini adalah pemain dan AI . Untuk mendapatkan use case dari actor ,maka terlebih dahulu ditentukan interaksi apa saja yang dapat dilakukan actor terhadap sistem. Berikut interaksi yang dapat dilakukan actor terhadap sistem : 1. Mulai Lawan Komputer 2. Mulai Lawan Teman 3. Melihat Statistik 4. Melihat Panduan 5. Melihat Tentang Activity diagram adalah teknik untuk mendeskripsikan logika prosedural, proses bisnis dan aliran kerja dalam banyak kasus. Activity diagram mempunyai peran seperti halnya flowchart , akan tetapi perbedaannya dengan flowchart adalah activity diagram bisa mendukung perilaku paralel sedangkan flowchart tidak bisa. Penulis merancang use case aplikasi tersebut dalam bentuk diagram berikut. Gambar 3.11 Use Case Aplikasi Tabel dokumentatif dan Activity Diagram dari Use Case aplikasi pada Gambar 3.10 adalah sebagai berikut Tabel 3.10 Use Case Mulai Lawan Komputer Nama Use Case Mulai Lawan Komputer Aktor Pemain Deskripsi Use case ini berfungsi untuk memulai permainan Pre Condition Pemain memilih menu Lawan Komputer pada Menu Utama Flow Of Events Kegiatan Aktor Respon Sistem - Pemain menekan tombol Lawan Komputer pada halaman Menu Utama - Pilhan mode Lomba 1 Mill dan Lomba Banyak Mill ditampilkan Activity diagram untuk use case Mulai Lawan Komputer dapat dilihat pada gambar 3.12 Pemain Sistem Menekan Tombol Lomba 1 MillBanyak Mill Menampilkan pilihan duluan main,level,jlh putaran Menekan Tombol Back Menutup Halaman Lawan Komputer Gambar 3.12 Activity Diagram Mulai Lawan Komputer Post Condition Papan permainan Mill ditampilkan dan siap dimainkan Tabel 3.11 Use Case Mulai Lawan Teman Pemain Sistem Menekan Tombol Lawan Teman Menampilkan Pilihan Lomba 1 Mill dan Banyak Mill Menekan Tombol Back Menutup Halaman Lawan Teman Gambar 3.13 Activity Diagram Mulai Lawan Teman Nama Use Case Mulai Lawan Teman Aktor Pemain Deskripsi Use case ini berfungsi untuk memulai permainan Pre Condition Pemain memilih menu Lawan Teman pada Menu Utama Flow Of Events Kegiatan Aktor Respon Sistem - Pemain menekan tombol Lawan Teman pada halaman Menu Utama - Pilhan mode Lomba 1 Mill dan Lomba Banyak Mill ditampilkan Post Condition Papan permainan Mill ditampilkan dan siap dimainkan Tabel 3.12 Use Case Memilih Duluan Main, Level dan Jumlah Putaran Pemain Sistem Menekan Tombol Lomba 1 MillBanyak Mill Menampilkan pilihan duluan main,level,jlh putaran Menekan Tombol Back Menutup Halaman Lomba 1 Mill Banyak Mill Gambar 3.14 Activity Diagram Memilih Duluan Main, Level dan Jumlah Putaran Nama Use Case Memilih Duluan Main, Level dan Jumlah Putaran Aktor Pemain Deskripsi Use case ini berfungsi untuk memilih konfigurasi sebelum bermain Pre Condition Pemain memilih menu Lomba 1 Mill atau Lomba Banyak Mill Flow Of Events Kegiatan Aktor Respon Sistem - Pemain menekan tombol Lomba 1 Mill tau Lomba Banyak Mill - Pilihan konfigurasi Duluan Main, Level dan Jumlah Putaran ditampilkan Post Condition Papan permainan Mill ditampilkan dan siap dimainkan Tabel 3.13 Use Case Bermain Pemain Meletakkan Bidak Mengupdate papan permainan Pemain Sistem Gambar 3.15 Activity Diagram Bermain Nama Use Case Bermain Aktor Pemain Deskripsi Use case ini berfungsi untuk memulai permainan dengan meletakkan bidak ke papan permainan Mill Pre Condition Papan permainan sudah ditampilkan di layar Flow Of Events Kegiatan Aktor Respon Sistem -Pemain dan komputer mulai meletakkan bidak di papan permainan -Sistem meng update papan permainan Post Condition Papan Permainan Mill telah terisi bidak dan permainan berlanjut Tabel 3.14 Use Case Evaluasi Langkah Cek papan permainan Evaluasi Nilai Langkah Memilih Langkah Terbaik AI Meletakkan Bidak Mengupdate Papan Permainan AI Sistem Gambar 3.16 Activity Diagram Evaluasi Langkah Nama Use Case Evaluasi langkah Aktor AI Deskripsi Use case ini berfungsi untuk mengevaluasi langkah AI yang akan dijalankan pada gilirannya. Pre Condition Pemain telah meletakkan bidaknya Flow Of Events Kegiatan Aktor Respon Sistem - AI mengecek papan permainan - AI mengevaluasi nilai langkah - AI memilih langkah terbaik - AI meletakkan bidak - Sistem meng update papan permainan Post Condition Papan Permainan Mill telah terisi bidak dan permainan berlanjut Tabel 3.15 Use Case Statistik Menekan Tombol Statistics Menampilkan Halaman Statistics Menekan Tombol Back Menutup Halaman Statistics Pemain Sistem Gambar 3.17 Activity Diagram Statistik Nama Use Case Lihat Statistik Aktor Pemain Deskripsi Use case ini berfungsi untuk melihat statistik menangkalah pemain melawan AI Pre Condition Pemain memilih menu Statistics pada halaman Menu Utama Flow Of Events Kegiatan Aktor Respon Sistem -Pemain menekan tombol Statistics pada halaman menu utama -Menampilkan Halaman Statistik Post Condition - Tabel 3.16 Use Case Panduan Menekan Tombol Panduan Menampilkan Halaman Panduan Menekan Tombol Back Menutup Halaman Panduan Pemain Sistem Gambar 3.18 Activity Diagram Panduan Nama Use Case Lihat Panduan Aktor Pemain Deskripsi Use case ini berfungsi untuk melihat bantuan dan tata cara bermain aplikasi Mill Pre Condition Pemain memilih menu Panduan pada halaman Menu Utama Flow Of Events Kegiatan Aktor Respon Sistem -Pemain menekan tombol Panduan pada halaman menu utama -Sistem menampilkan halaman Panduan - Menutup halaman Panduan Post Condition - Tabel 3.17 Tabel Use Case Tentang Menekan Tombol Tentang Menampilkan Halaman Tentang Menekan Tombol Back Menutup Halaman Tentang Pemain Sistem Gambar 3.19 Activity Diagram Tentang Nama Use Case Lihat Tentang Aktor Pemain Deskripsi Use case ini berfungsi untuk melihat tentang latar belakang game yang dibuat. Pre Condition Pemain memilih menu Tentang pada halaman Menu Utama Flow Of Events Kegiatan Aktor Respon Sistem -Pemain menekan tombol Tentang pada halaman menu utama -Sistem menampilkan halaman Tentang Post Condition -

3.4. Transisi Layar dan Antarmuka

3.4.1 Transisi Layar

Transisi layar merupakan pergantian layar atau halaman permainan dari satu halaman ke halaman lain. Transisi layar terjadi sesaat setelah user menekan tombol yang tampak di layar. Penulis menggambarkan diagram transisi layar yang dapat terjadi di dalam sistem. Berikut diagram transisi layar pada sistem. Pada Menu Utama terdiri dari 5 tombol antara lain tombol Lawan Komputer, Lawan Teman, Statistik, Panduan, dan Tentang yang jika diklik salah satunya akan mentransisi ke halaman baru. Menu Utama Lawan Komputer Panduan Lawan Teman Statistik Tentang Gambar 3.20 Transisi Layar

3.4.2 Antarmuka

Berdasarkan transisi layar diatas, penulis membuat antarmuka dari 6 layar diatas. Berikut perancangan antarmuka yang digunakan setiap layar yang digambarkan menggunakan low fidelity interface sederhana.

a. Halaman Menu Utama

Halaman ini adalah halaman yang pertama muncul saat aplikasi dijalankan. Pada layar perangkat akan muncul halaman Menu Utama yang menampilkan logo, background image , dan beberapa tombol antara lain tombol Lawan Komputer, tombol Lawan Teman, tombol Statistik, tombol Panduan, dan tombol Tentang. Berikut rancangan tampilan halaman Menu Utama. LOGO Lawan Komputer Lawan Teman Statistik Panduan Tentang Gambar 3.21 Antarmuka Halaman Menu Utama

b. Halaman Lawan Komputer dan Lawan Teman

Pada layar perangkat akan muncul halaman Lawan Komputer dan Lawan Teman yang menampilkan tombol Lomba 1 Mill dan Lomba Banyak Mill. Berikut rancangan tampilan halaman Lawan Komputer dan Lawan Teman Lomba 1 MIll Lomba Banyak MIll LOGO Gambar 3.22 Antarmuka Lawan Komputer dan Lawan Teman

c. Halaman Statistik