BAB 1 PENDAHULUAN 1.1 Latar Belakang Permainan atau game adalah suatu struktur kegiatan, yang biasanya dilakukan untuk kesenangan dan kadang-kadang digunakan sebagai sarana pendidikan. Permainan berbeda dengan pekerjaan, yang biasanya dilakukan untuk mendapat suatu upah tertentu, atau dengan seni, yang lebih peduli dengan ekspresi ide. Namun adakalanya perbedaan itu menjadi tidak jelas, banyak permainan juga dinilai sebagai pekerjaan (seperti pemain olahraga profesional) atau sebagai seni karena melibatkan sebuah layout artistik (seperti puzzle atau solitaire). Komponen kunci dari permainan adalah tujuan, aturan, tantangan, dan interaksi. Ada berbagai macam jenis permainan, adalah satunya adalah jenis permainan yang menggunakan alat tulis dan kertas sebagai medium pusat permainan. Salah satu contoh permainan jenis ini adalah sudoku. Sudoku adalah sebuah permainan teka-teki berdasarkan logika dengan kombinasi penempatan angka. Tujuan dari permainan ini adalah untuk mengisi mengisi N x N kotak sehingga tiap baris dan kolom mengandung angka satu sampai N masing-masing hanya satu kali, terdapat juga M x M kotak yang dimana nilai dari M adalah akar dari N. sama halnya seperti pada baris dan kolom,area M x M mengandung angka satu sampai N. Banyak penelitian yang dilakukan oleh para ahli terkait dengan pengembangan aplikasi permainan dan pencarian solusi sudoku. Penelitian dilakukan dengan memasukan peraturan permainan Sudoku ke dalam komputer untuk kemudian diproses dengan algoritma tertentu yang ditujukan untuk mencari solusi terbaik dari persoalan 1
2 sudoku tersebut. Banyak penelitian yang dilakukan dengan menerapkan kecerdasan buatan ( Artificial Inteligence ) pada komputer untuk memecahkan masalah ini. Kecerdasan Buatan ini bertujuan agar komputer memiliki kecerdasan sehingga dapat melakukan berbagai kegiatan seperti yang dilakukan oleh manusia. Cakupan dari kercedasan buatan ini cukup banyak di antaranya sistem pakar, matangan saraf tiruan, computer vision, fuzzy logic, dan Algoritma Genetika. Sudoku terdiri dari berbagai macam tingkat kesulitan. Semakin sulit soal, tentu akan semakin lama waktu yang dibutuhkan untuk memecahkan soal tersebut. Adakalanya dalam mengerjakan kita mengalami jalan buntu, untuk itu penulis membuat aplikasi yang dapat menemukan solusi dengan input yang acak namun tetap terikat pada peraturan dasar sudoku dengan menggunakan metode algoritma genetika dan pemenuhan konstrain. Algoritma Genetika merupakan bagian dari artificial intelligence (kecerdasan buatan) dan memiliki konsep optimasi yang didasarkan pada mekanisme evolusi biologis yang memiliki berbagai jenis kromosom induk dalam pembentukkan kromosom pada individu individu baru (anak). Kemampuan individu yang lebih kuat akan memiliki kemampuan yang lebih tinggi untuk mempertahankan hidup dan memiliki tingkat reproduksi yang lebih tinggi dibandingkan dengan individu yang lemah. Kromosom kromosom induk dan anak dalam aplikasi ini mewakili solusi solusi yang mungkin dihasilkan, sehingga dengan mengadaptasi algoritma genetika memungkinkan solusi dengan kualitas terbaik akan tetap bertahan. Karena keunikan sifat algoritma genetika ini, maka dipilih Algoritma Genetika untuk pembuatan aplikasi sudoku ini dimana hasil yang akhir yang didapat merupakan hasil kromosom (solusi) yang terbaik (solusi optimal).
3 Pemenuhan Konstrain (Constraint Satisfaction) adalah sebuah prosedur pencarian yang beroperasi dalam kumpulan ruang pembatasan (space constraint). Pertama constraint ditemukan dan disebarkan sejauh mungkin ke dalam sistem. Jika masih tidak ada solusi maka pencarian dimulai. Lalu perkiraan tentang sesuatu dibuat dan ditambahkan sebagai sebuah constraint yang baru. Penyebaran kemudian akan terjadi dengan constraint yang baru tadi dan seterusnya. 1.2 Ruang Lingkup Ruang lingkup yang dibuat adalah membuat aplikasi penyelesaian pada permainan sudoku menggunakan Algoritma Genetika dan Pemenuhan Konstrain untuk mencari solusi yang tepat dan dengan waktu yang lebih cepat. Adapun masalah-masalah yang akan dihadapi adalah bagaimana aplikasi dapat menemukan solusi dari soal dengan tetap terikat pada peraturan dasar sudoku. Ruang lingkup permainan dibatasi berukuran sembilan kali sembilan kotak, dimana tiap tiga kali tiga kotak terdapat angka satu sampai sembilan, juga dibuat tingkat kesulitan berbeda-beda yang dapat dipilih oleh user. Aplikasi penulis juga menawarkan fitur bantuan sebagai pilihan bantuan yang dapat digunakan sebanyak tiga kali dalam satu soal. Bantuan yang diberikan adalah melakukan pengkoreksian terhadap input yang dimasukkan oleh user.
4 1.3 Tujuan dan Manfaat Tujuan dari analisis dan perancangan aplikasi ini adalah untuk membuat aplikasi sudoku yang mampu mencari solusi dari soal-soal dengan berbagai macam tingkat kesulitan dengan menggunakan Algoritma Genetika dan Pemenuhan Konstrain. Adapun manfaat dari aplikasi ini adalah untuk meningkatkan kecerdasan numeric serta mengasah logika dari para pengguna aplikasi 1.4 Metodologi 1.4.1. Pengumpulan Data atau Literatur Dalam metode ini dilakukan pencarian data sebanyak mungkin, dilakukan dengan mempelajari literature yang ada, baik dari buku, perpustakaan, e-book, jurnal, serta situs-situs internet tentang perancangan dan pembuatan aplikasi Sudoku dengan Algoritma Genetika dan Pemenuhan Konstrain. Setelah data-data sebagai dasar untuk melakukan penelitian ini telah terkumpul, dilakukan review tentang apa yang sebenarnya dihadapi, masalah-masalah apa saja yang terdapat pada pembuatan aplikasi sudoku, serta metode atau algoritma apa yang sudah berkembang dan sudah dipakai sejauh ini dalam pemecahan masalah sudoku.
5 1.4.2 Analisa, perancangan, implementasi dan evaluasi Metode selanjutnya adalah pengenalan permainan sudoku, baik peraturan ataupun cara menyelesaikannya secara konvensional, dan juga membahas tentang teori-teori yang digunakan dalam aplikasi sudoku yang penulis buat. Diuraikan pula hasil analisis dari permainan sudoku yang telah ada sebelumnya. Setelah itu diuraikan tahap-tahap perancangan aplikasi untuk analisis permasalahan dan penyelesaiannya. Diputuskan untuk menggunakan Algoritma Genetika dan Pemenuhan Konstrain, maka penulis mulai mengimplementasikannya ke dalam aplikasi. Lalu dibuatlah perancangan dan pembuatan program uji, yang mencakup spesifikasi sistem, software yang akan digunakan, data data yang dibutuhkan dalam pembuatan aplikasi, cara pengoperasian aplikasi, serta hasil yang dicapai dari aplikasi yang dibuat. Lalu dilakukan pengujian program yang telah di kembangkan dengan menggunakan Algoritma Genetika, menganalisa dan mengevaluasi hasil dari metode tersebut, termasuk menganalisa tingkat error (kesalahan) yang dihasilkan pada tiap pengujian, batasan batasan yang berhasil di penuhi, lama waktu berjalan dan generasi yang di hasilkan.
6 1.5 Sistematika Penulisan Skripsi ini dibagi dalam lima bab, terdiri dari beberapa sub bab yang saling berhubungan erat. Berikut adalah garis besar skripsi ini : Bab 1 Pendahuluan Bab ini berisi latar belakang, ruang lingkup, tujuan dan manfaat, metodologi penelitian dan sistematika penulisan. Latar belakang menjelaskan tentang perancangan dan pembuatan aplikasi Sudoku dengan Algoritma Genetika. Setelah latar belakang, dijelaskan pula ruang lingkup atau batasan batasan dalam pembuatan skripsi. Metodologi penelitan menjelaskan tentang apa yang dilakukan dalam mencari data-data pendukung yang digunakan dan dibutuhkan. Bagian akhir pada bab ini menjelaskan tentang sistematika penulisan yang ada pada laporan Bab 2 Landasan Teori Bab ini mengemukakan tentang teori teori, baik teori umum maupun teori khusus yang digunakan untuk membahas dan menganalisis masalah yang ada melalui studi pustaka. Dalam bab ini juga dijelaskan mengenai tahapan tahapan perancangan program serta landasan teori yang menjelaskan tentang perancangan program yang dirancang ini dan cara penyusunannya. Landasan teori ini didapatkan dari berbagai media seperti buku dan internet mengenai bagaimana cara mengambil keputusan yang baik, cepat dan akurat dan berbagai teori lain yang berhubungan dengan topik skripsi ini.
7 Bab 3 Analisis dan Perancangan Di dalam bab ini dibahas mengenai perancangan dari aplikasi. Perancangan berisi tentang urutan dalam pembuatan sistem ini. Juga memuat tentang masalah yang diteliti dan pendekatan-pendekatan yang digunakan dalam penelitian. Bab 4 Implementasi dan Evaluasi Dalam bab ini dibahas tentang pengimplementasian aplikasi sudoku yang disesuaikan dengan kebutuhan yang ada. Aplikasi ini nantinya akan diujicobakan kemudian dievaluasi apakah hasil rancangan sudah sesuai dengan kebutuhan atau belum. Bab 5 Kesimpulan dan Saran Bab ini merupakan bab terakhir dari seluruh rangkaian bab yang ada di laporan skripsi ini, maka dalam bab ini akan termuat kesimpulan dari hasil bahasan seluruh bab serta saran-saran yang dapat bermanfaat dan cukup memiliki alasan yang kuat untuk diperlihatkan serta dipertimbangkan untuk dilaksanakan.