BAB 1 PENDAHULUAN 1.1 Latar Belakang Minesweeper merupakan salah satu permainan (game) yang pada umumnya ditemukan pada sistem operasi Windows. Permainan minesweeper ini cukup sulit diselesaikan, sehingga sangat jarang seorang pemain bisa dipastikan memenangkan permainan ini. Tema yang diangkat dalam permainan ini adalah menemukan seluruh ranjau yang tersebar pada petak yang telah disediakan tanpa meledakkannya. Ranjau dapat ditemukan dengan menggunakan petunjuk yang tertera, yakni nilai yang ditampilkan pada petak yang telah terbuka. Solusi permainan minesweeper termasuk golongan pemecahan masalah NPComplete. Bahkan Clay Mathematics Institute of Chambridge, Massachusetts (CMI) menggolongkannya ke dalam salah satu dari tujuh masalah millenium yang dikenal dengan nama Prize Problems. CMI akan menganugrahkan $1 juta bagi yang dapat memecahkan salah satu masalah tersebut terkait hal masalah P = NP (Sansani, 2009, hal:1). Minesweeper termasuk ke dalam NP-Complete, hal ini menunjukkan tidak ada algoritma yang dapat digunakan untuk menyelesaikan masalah tersebut dalam waktu polinomial. Walaupun begitu, tetap ada langkah-langkah yang dapat digunakan untuk mencoba memecahkan masalah tersebut. Salah satu cara yang dapat digunakan untuk menyelesaikan masalah ini adalah menggunakan salah satu algoritma pencarian terbaik pertama (best first search) yaitu greedy best first search dengan menggunakan fungsi heuristik. Menurut George Poyla, heuristik merupakan studi metode dan kaidah yang dinyatakan sebagai aturan untuk melakukan pemilihan cabang-cabang dalam Universitas Sumatera Utara 2 ruang keadaan yang paling tepat sehingga mencapai solusi permasalahan yang dapat diterima (Desiani. A dan Arhami. M, 2006). Dalam kasus minesweeper, heuristik dapat digunakan untuk melakukan pemilihan cabang-cabang dalam ruang keadaan yang paling tepat untuk menemukan posisi ranjau. Ruang keadan tersebut dapat direpresentasikan dalam pohon keadaan. Berdasarkan hal tersebut di atas, penulis memilih judul tugas akhir ini, yakni Analisis dan Implementasi Penyelesaian Game Minesweeper Menggunakan Algoritma Greedy Best First Search. Untuk mendukung penelitian ini, penulis terlebih dahulu membuat simulasi dari game minesweeper. 1.2 Rumusan Masalah Dari uraian latar belakang sebelumnya, maka yang menjadi masalah dalam tulisan ini adalah : 1. Bagaimana penerapan algoritma depth first search di dalam simulasi game untuk menentukan daerah bebas ranjau terkait lainnya ketika user mengklik suatu petak dalam game. 2. Bagaimana penerapan algoritma greedy best first search untuk membantu menemukan posisi petak ranjau dan posisi petak aman dalam kotak seleksi (kotak analisa) 4x4. 3. Bagaimana keoptimalan algoritma greedy best first search pada penyelesaian game minesweeper dalam kotak seleksi. 1.3 Batasan Masalah Ruang lingkup penelitian ini dibatasi pada : 1. Penelitian ini membahas implementasi algoritma depth first search pada proses pembuatan simulasi game, yakni untuk menentukan daerah aman terkait lainnya ketika user mengklik suatu petak dan implementasi algoritma greedy best first search untuk membantu menyelesaikan game. Universitas Sumatera Utara 3 2. Solusi pencarian lokasi ranjau dan bebas ranjau menggunakan kotak seleksi berukuran 4x4. 3. Kotak seleksi tidak serta merta memberikan solusi langsung untuk penyelesaian game. 4. Aplikasi dirancang dengan menggunakan bahasa pemograman Visual Basic 6.0. 1.4 Tujuan Penelitian Adapun tujuan penelitian ini yaitu: 1. Menganalisis dan mengimplementasikan algoritma depth first search dan algoritma greedy best first search dalam game minesweeper. 2. Membantu pemain agar dapat menyelesaikan permainan minesweeper dengan menggunakan kotak seleksi berukuran 4 x 4. 1.5 Manfaat Penelitian Manfaat dari penelitian ini adalah : 1. Untuk menganalisis cara menyelesaikan game minesweeper dengan menggunakan algoritma greedy best first search yang direpresentasikan dalam kotak seleksi berukuran 4x4. 2. Merancang perangkat lunak game minesweeper beserta kotak seleksi dengan menggunakan bahasa pemrograman Visual Basic 6.0. 1.6 Metode Penelitian Tahapan yang dilakukan dalam penelitian ini adalah: 1. Studi Literatur Pada tahap ini dilakukan dengan mempelajari buku-buku referensi atau sumbersumber yang berkaitan dengan skripsi ini, baik dari text book maupun internet. 2. Analisis Data Universitas Sumatera Utara 4 Pada tahap ini dilakukan analisis terhadap algoritma greedy best first search sebagai metode pencarian untuk membantu menyelesaikan game minesweeper. 3. Implementasi algoritma Pada tahap ini dilakukan pengkodean program perangkat lunak game minesweeper beserta kotak seleksi pembantu penyelesaian sesuai dengan algoritma program. 4. Pembuatan Laporan Pembuatan laporan skripsi bertujuan untuk dijadikan sebagai dokumentasi hasil penelitian dalam bentuk skripsi. 1.7 Sistematika Penulisan Sistematika penulisan dari skripsi ini terdiri dari lima bagian utama sebagai berikut: BAB 1: PENDAHULUAN Bab ini akan menjelaskan tentang latar belakang, rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metode penelitian, dan sistematika penulisan. BAB 2: LANDASAN TEORI Pada bab ini dibahas tentang teori yang berhubungan dengan algoritma pencarian, algoritma pencarian mendalam pertama (depth first search), pencarian heuristik, algoritma pencarian terbaik pertama (best first search), analisis algoritma, kecerdasan buatan (artificial intelligence/AI), game playing dan NP-Complete. BAB 3: ANALISIS DAN PERANCANGAN Dalam bab ini akan dibahas tentang gambaran umum game minesweeper, pembuatan simulasi game minesweeper, analisis penyelesaian game dalam kotak seleksi, analisis kompleksitas waktu eksekusi algoritma greedy best first search, dan perancangan program aplikasi. BAB 4: IMPLEMENTASI DAN PENGUJIAN SISTEM Bab ini berisi pembahasan tentang implementasi algoritma yang disusun pada Bab 3 dan pengujian terhadap sistem yang dibangun. Universitas Sumatera Utara 5 BAB 5: KESIMPULAN DAN SARAN Bab ini memuat kesimpulan dari keseluruhan uraian bab-bab sebelumnya dan saransaran yang diajukan untuk pengembangan program selanjutnya. Universitas Sumatera Utara