BAB 1 PENDAHULUAN
1.1 Latar Belakang Masalah Kecerdasan Buatan ( Artificial Intelligence ) merupakan salah satu cabang dari ilmu computer yang membuat agar mesin atau komputer dapat melakukan pekerjaan seperti dan sebaik yang dilakukan oleh manusia.1 Kecerdasan Buatan dapat diterapkan dalam berbagai bidang seperti Sistem Pakar (Expert System), Pengolahan Bahasa Alami (Natural Language Processing), Pengenalan Ucapan (Speech Recognition), Robotika dan Sistem Sensor, Computer vision, serta yang paling menarik adalah penerapannya dalam permainan (game). Pembuatan aplikasi kecerdasan buatan dalam bidang permainan sangat berguna bagi kita untuk mengisi waktu luang dengan mengasah otak serta mengembangkan kreatifitas dan logika berpikir kita atau bahkan sekedar untuk refreshing saat kita terlalu jenuh berada didepan computer mengerjakan sesuatu. Aplikasi kecerdasan buatan dalam bidang permainan memberikan area penyelidikan yang sangat luas sehingga dibutuhkan suatu teknik khusus untuk dapat menyelesaikan permainan tersebut. Pada tugas akhir ini penulis mengambil salah satu aplikasi kecerdasan buatan di bidang permainan yang sangat populer karena banyak dimainkan oleh anak-anak maupun orang dewasa yang sering disebut-sebut dengan permainan puzzle. Permainan Puzzle merupakan permainan yang memerlukan penyusunan strategi tertentu yaitu pemain diminta untuk menyusun suatu deret angka tertentu dari keadaan awal ke keadan tujuan. Penentuan strategi yang baik sangat diperlukan dalam menyelesaikan suatu permainan dengan cepat. Pada awalnya, permainan puzzle sangatlah terlihat membosankan setelah kita menyelesaikannya karena ukuran papannya yang tidak bisa diubah-ubah. Akan tetapi saat ini pembuatan program permainan dengan menggunakan 1 Kusumadewi, Sri (2003), Artificial Intelligence (Teknik dan Aplikasinya ) Edisi 1 (Yogyakarta : Graha Ilmu), hlm.1.
1
kecerdasan buatan memberikan perubahan karena dengan program permainan ini kita dapat mengubah ukuran papan sesuai dengan yang kita inginkan dan yang telah disediakan. Selain itu kita juga dimungkinkan untuk meminta bantuan jika kita mendapatkan jalan buntu dalam menyelesaikan permainan tersebut. Masalah yang muncul dalam pembuataan program ini adalah mencari tujuan dengan cepat dan tepat. Maka pada kesempatan ini akan dibangun suatu alternative pemecahan masalah dengan merancang suatu program yang didalamnya akan diimplementasikan pengetahuan yang telah didapat kedalam bidang permainan dengan algoritma Steepest Ascent Hill Climbing sehingga akan dapat meningkatkan kinerja sistem komputer dalam menyelesaikan permainan tersebut.
1.2. Perumusan Masalah Berdasar latar belakang masalah, maka penulis merumuskan permasalahan yang akan digunakan untuk menyelesaikan tugas akhir ini yaitu: •
Apakah algoritma Steepest Ascent Hil Climbing dapat dimplementasikan pada permainan n-puzzle untuk membantu menyelesaikan permainan?
•
Apakah aplikasi dengan menggunakan algoritma Steepest Ascent Hill Climbing ini selalu dapat memberikan solusi yang terbaik?
1.3. Batasan Masalah Sistem yang akan diimplementasikan memiliki beberapa batasan masalah sebagai berikut: •
n-puzle yang akan dibuat memiliki ukuran papan yang bervariasi seperti 3x3, 4x4, dan 5x5
•
permainan hanya dapat dimainkan oleh seorang pemain saja (single user)
•
permainan dianggap selesai hanya jika user mampu menyelesaikan permainan dengan cara mengembalikan biji puzzle yang teracak ke keadaan tujuan.
•
Nilai Tertinggi ditampilkan berdasarkan lama user dapat menyelesaikan permainan.
2
•
Nilai Tertinggi hanya akan menampilkan 3 record pemain yang tercepat menyelesaikan permainan.
1.4. Tujuan Penelitian Tujuan dari dilakukannya penelitian ini adalah sebagai berikut: •
Mengimplementasikan beberapa bidang ilmu yang telah diperoleh selama ini seperti mata kuliah Kecerdasan Buatan, Rekayasa Perangkat Lunak, dan Algoritma Pemrograman.
•
Sebagai salah satu syarat yang harus ditempuh oleh mahasiswa jurusan Teknik Informatika Universitas Kristen Duta Wacana untuk memperoleh gelar sarjana strata 1.
1.5. Tahapan Penelitian Tahapan penelitian yang penulis lakukan untuk menyelesaikan tugas akhir ini antara lain: 1) Analisa Sistem Analisa sistem dilakukan untuk mengetahui masalah-masalah dan kebutuhan apa saja yang perlu diselesaikan dan ditambahkan dalam membangun sistem 2) Perancangan Sistem Berdasarkan analisa sistem yang telah dilakukan, maka dibuat suatu desain dan rancangan aplikasi yang akan dibuat meliputi perancangan sistem, perancangan logika atau urutan proses yang terjadi dalam sistem dan perancangan input dan outputnya. 3) Pembuatan Sistem (Pemrograman) Pembuatan sistem (pemrograman) dilakukan sesuai dengan perancangan sistem yang telah dibuat.
3
4) Uji coba Sistem Setelah selesai pembuatan sistem, sistem akan diujicobakan. Pada tahapan ui coba ini, dilakukan pencatatan terhadap kekurangan yang masih didapati dalam sistem 5) Perbaikan Sistem Jika masih terdapat kekurangan dalam sistem, maka perlu dilakukan tahap perbaikan sistem. Ujicoba dan perbaikan sistem terus dilakukan sampai sistem benar-benar dapat berjalan dengan baik dan siap dipakai. 6) Pembuatan Laporan Pembuatan laporan tugas akhir sebagai hasil dan bukti tertulis dari penelitian yang telah dilakukan.
1.6. Sistematika Penulisan Sistematika penulisan disusun berdasarkan lima bab utama, bab 1 berisikan pendahuluan yang akan menguraikan latar belakang masalah, perumusan masalah, batasan masalah, tujuan penelitian, metodologi penelitian yang akan digunakan serta sistematika penulisan. Selanjutnya bab 2 menguraikan teori – teori yang berhubungan dengan tugas akhir ini seperti definisi kecerdasan buatan, algoritma pencarian (Steepest Ascent Hill Climbing) dan konsep yang digunakan penulis dalam pembuatan tugas akhir yang tergabung dalam implementasi program. Penulis akan memberikan penjelasan tentang rancangan aplikasi dan desain yang meliputi perancangan logika, perancangan sistem, perancangan proses, input dan outputnya pada bab perancangan sistem atau bab 3. Sedangkan pada bab 4 yang penulis beri judul bab implementasi program, penulis akan memberikan penjelasan tentang implementasi algoritma Steepest Ascent Hill Climbing dan analisa dari hasil implementasi program permainan n-puzzle.
4
Selanjutnya pada bab 5 yaitu bab kesimpulan dan saran, penulis akan mencoba untuk menarik kesimpulan dari tugas akhir yang telah dibuat dan memberikan saran untuk pengembangan program selanjutnya. Penulisan tugas akhir ini juga diawali dengan kata pengantar, daftar isi, dan diakhiri dengan daftar pustaka dan juga lampiran – lampiran.
5