BAB I PENDAHULUAN
1.1. Latar Belakang Permasalahan Perkembangan teknologi komputer dan informasi semakin pesat, baik dari perangkat lunak (software) maupun perangkat keras (hardware). Perkembangan software ditandai dengan banyaknya aplikasi yang menawarkan kemudahan untuk menyelesaikan berbagai tugas/pekerjaan yang berhubungan dengan teknologi informasi. Sedangkan perkembangan hardware-nya ditandai dengan ditemukannya prosesor dan berbagai perangkat/alat generasi terbaru yang menawarkan kemampuan yang semakin cepat. Komputer semakin berperan dalam berbagai bidang pekerjaan manusia, salah satunya dalam aplikasi pembuatan game / permainan yang menggunakan bantuan Artificial Inteligence (AI) atau Kecerdasan Buatan, karena kemampuannya yang dapat diterapkan di berbagai aplikasi. Dengan Kemampuan AI tersebut, penulis mencoba untuk mengimplementasikan Algoritma AO* Searching yang merupakan bagian dari AI itu sendiri dalam ’Pembuatan Permainan Lacak Kata’. ‘Pembuatan Permainan Lacak Kata’ ini dilakukan dengan cara meletakkan kata-kata tertentu di dalam kotak-kotak yang sudah disediakan, baik itu secara horizontal, vertikal, maupun diagonal. Keseluruhannya ada 8 arah, yaitu arah kiri ke kanan, arah kanan ke kiri, arah atas ke bawah, arah bawah ke atas, arah kiri atas ke kanan bawah, arah kanan bawah ke kiri atas, arah kanan atas ke kiri bawah, dan arah kiri bawah ke kanan atas. Sisa kotak yang tidak terisi huruf-huruf, akan diisi sembarang huruf secara random / acak. Hasil Pembuatan Program Permainan Lacak Kata ini akan dipakai oleh user untuk menguji atau mengetes secara cepat dan tepat menemukan satu atau beberapa kata yang mempunyai makna, yang terletak pada matriks/ kotak-kotak yang berisi huruf-huruf yang terlihat berserakan. Kata-kata tersebut terletak dalam 8 arah secara
vertikal, horizontal, maupun secara diagonal. User bisa memainkannya di komputer, maupun di kertas, karena puzzle bisa dicetak di atas kertas. Untuk keragaman kata-kata, maka
digunakan dictionary/wordlist (daftar
kata). Dictionary/wordlist ini akan disimpan di dalam Data Base. Database dalam hal ini hanya sebagai tempat penyimpanan data kata, sehingga tidak membutuhkan perancangan yang khusus. Kata-kata dalam Wordlist nantinya akan dipakai dalam ‘Make Word By Computer’ yang merupakan salah satu menu game dalam permainan Lacak Kata. Semakin banyak kata yang dipunyai oleh database, akan mempengaruhi proses. Metode AO* Searching ini diharapkan
dapat diselesaikan
dan dapat
meletakkan kata-kata dalam kotak matriks Permainan Lacak Kata. 1.2. Rumusan Masalah Adapun rumusan masalah dari program yang akan dibuat adalah sebagai berikut: •
Apakah user bisa menentukan
sendiri ukuran kotak yang diinginkan untuk
meletakkan huruf-huruf yang diinginkan? •
Apakah program mampu melakukan generate/ membentuk kata-kata yang tersedia ke dalam matriks yang ukurannya ditentukan oleh user, yang peletakannya dilakukan dalam ‘Prioritas 8 Arah’ yaitu arah kiri ke kanan, arah kanan ke kiri, arah atas ke bawah, arah bawah ke atas, arah kiri atas ke kanan bawah, arah kanan bawah ke kiri atas, arah kanan atas ke kiri bawah, dan arah kiri bawah ke kanan atas, dengan menerapkan aturan-aturan dalam Algoritma AO* Searching.
•
Apakan komputer bisa melakukan proses random posisi untuk mencari posisi awal pohon dan bisa menghitung jumlah pohon yang terbentuk dari hasil proses ?
•
Apakah user bisa melakukan update kata dalam wordlist seperti tambah, hapus dan ubah/edit ?
•
Apakah program mampu untuk membersihkan (clear) seluruh kotak matriks dan listbox dan memulai new game lagi?
•
Apakah program dapat memilih sendiri kata-kata secara random/acak dalam database kata yang jumlahnya sebanyak yang diinputkan oleh user, mampu menyimpan/menampung kata-kata yang diinputkan manual oleh user maupun diacak komputer secara random ke dalam listbox, dan menghitung panjang kata yang ingin dicetak?
•
Apakah program mampu untuk menyimpan hasil program berupa word puzzle, membuka kembali file word puzzle yang sudah disimpan, dan dapat mencetak (print) puzzle yang sudah dihasilkan?
1.3. Batasan Masalah Pengembangan
dan
Penerapan
Algortma
AO*
Searching
dalam
Permainan/Game sangat luas dan beragam, maka dilakukan batasan masalah dalam pembuatan program ini antara lain, program lebih menitikberatkan dan membahas bagaimana
komputer mampu melakukan generate/ membentuk kata-kata yang
tersedia ke dalam matriks yang ukurannya ditentukan oleh user dengan menerapkan aturan-aturan logika dalam Algoritma AO* Searching, yang peletakannya dilakukan dalam Prioritas 8 Arah. 1.4. Tujuan Penulisan Tujuan dari Penulisan Tugas Akhir ini adalah untuk memenuhi beberapa hal antara lain: •
Syarat untuk mendapatkan gelar sajana dengan menyelesaikan program studi di Fakultas Teknik, Jurusan Teknik Informatika, Universitas Kristen Duta Wacana
•
Agar dapat melatih diri dalam menerapkan ilmu-ilmu dengan membuat aplikasi permainan (game) yang
menerapkan Kecerdasan Buatan, agar dengan
pengetahuan yang diberikan, komputer mampu melakukan tindakan yang menyerupai pola. •
Merancang dan mengaplikasikan
Algoritma AO* Searching
pada ‘Program
Pembuatan Permainan Lacak Kata’ yang menerapkan Kecerdasan Buatan agar komputer bisa melakukan pekerjaan / tindakan yang serupa dengan pola pikir manusia. 1.5. Spesifikasi Program Permasalahan yang mungkin timbul dalam mengimplementasikan program ini cukup beragam dan luas. Karena itu penulis mencoba untuk membatasi permasalahan yang ada, sebagai berikut: •
Bidang permainan merupakan 2 dimensi yang berbentuk bidang segi 4.
•
Untuk memilih kata-kata yang ingin diletakkan dalam kotak-kotak bisa diinput sendiri oleh user maupun diacak secara random oleh komputer yang diambil dari database kata, yang mana kata-kata tersebut ditampung dalam sebuah listbox. Untuk kata-kata yang diacak random oleh komputer, digunakan wordlist yang disimpan dalam database. Sedangkan untuk kata yang diinputkan manual oleh user, inputannya bebas. Selain itu user bisa menambah, maupun menghapus katakata dalam database kata.
•
User menentukan sendiri ukuran kotak yang diinginkan, ukuran kotak maksimal 20x20, minimal 4x4.
•
Ada batasan jumlah maksimal pencarian, sehingga tidak terjadi looping yang terus-menerus.
•
User bisa menyimpan hasil puzzle yang telah dibuat dalam bentuk file, dan juga bisa membuka file yang telah disimpan
serta
bisa memainkan file puzzle
tersebut. •
Ada menu help untuk membantu user.
•
Outputnya, komputer mendesain Permainan Lacak Kata beserta solusinya.
•
Ada analisa langkah-langkah proses Algoritma AO* Searching.
1.6. Proses Penelitian Pembuatan Permainan Acak Kata ini dilakukan melalui metodologi sebagai berikut: 1. Studi Literatur, untuk mencari dan mempelajari buku-buku referensi maupun pencarian lewat internet tentang Kecerdasan Buatan, khususnya tentang metode AO* Searching, dan juga panduan software yang akan dipakai dan teknis praktis untuk membuat Program Pembuatan Permainan Acak Kata tersebut. 2. Pembuatan Program dan Pengerjaan Laporan, antara lain dengan: a.
Mempelajari tentang Metode AO* Searching.
b. Konsultasi dengan dosen tentang metode dan cara-cara yang digunakan dalam pembuatan program c.
Melakukan perancangan program yang akan dibuat.
d. Pengimplementasian program Pembuatan Permainan Lacak Kata dengan menerapkan masalah yang sudah dipelajari ke dalam bahasa pemrograman. e. Menguji dan melakukan perbaikan program yang telah dibuat untuk memastikan bahwa tidak ada kesalahan / error f. Menyusun laporan Tugas Akhir. 1.7. Sistematika Penulisan Pada sistematika penulisan laporan ini, penulis akan mengemukakan tentang Pendahuluan, Latar Belakang Permasalahan, Rumusan Masalah, Spesifikasi Program, Tujuan Penelitian, Metodologi Penelitian dan Sistematika Penulisan,
yang akan
dijelaskan pada BAB 1 yang merupakan bab pembuka . Berikutnya
yakni pembahasan mengenai Dasar
Teori yang melandasi
pembuatan Program Lacak Kata ini dan sedikit penjelasan tentang Artificial
Inteligence yang merupakan dasar dari pembuatan program tersebut beserta beberapa teori pendukung lainnya, akan dibahas di BAB 2. Bab berikutnya, yaitu BAB 3, akan membahas mengenai perancangan program, grafical design, yang meliputi daftar kebutuhan proyek, analisa proses dan lainnya. Selanjutnya
pada BAB 4, penulis akan membahas lebih lanjut tentang
implementasi proyek, beserta manualnya, berserta analisa prosesnya dan juga laporan evaluasi tentang hasil implementasinya. Pada Bab terakhir yaitu BAB 5, yang merupakan bab terakhir yang akan berisi tentang kesimpulan dan saran dari penulis. Sedangkan pada bagian lampiran akan disediakan source code dari program Pembuatan Permainan Lacak Kata yang telah dibuat, dan contoh puzzle yang dicetak di atas kertas.