PERMAINAN PERGESERAN ANGKA BENTUK BINTANG MENGGUNAKAN ALGORITMA BEST FIRST SEARCH SKRIPSI SISKA MARIA ARITONANG 081402004

  

PERMAINAN PERGESERAN ANGKA BENTUK BINTANG

MENGGUNAKAN ALGORITMA BEST FIRST SEARCH

SKRIPSI

SISKA MARIA ARITONANG

081402004

  

PROGRAM STUDI S1 TEKNOLOGI INFORMASI

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA

MEDAN

2014 PERMAINAN PERGESERAN ANGKA BENTUK BINTANG MENGGUNAKAN ALGORITMA BEST FIRST SEARCH SKRIPSI Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah

  Sarjana Teknologi Informasi SISKA MARIA ARITONANG

  081402004 PROGRAM STUDI S1 TEKNOLOGI INFORMASI FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN

  2014

  

PERSETUJUAN

  Judul : PERMAINAN PERGESERAN ANGKA BENTUK BINTANG MENGGUNAKAN ALGORITMA BEST FIRST SEARCH

  Kategori : SKRIPSI Nama : SISKA MARIA ARITONANG Nomor Induk Mahasiswa : 081402004 Program Studi : SARJANA (S1) TEKNOLOGI INFORMASI Departemen : TEKNOLOGI INFORMASI Fakultas :

  ILMU KOMPUTER DAN TEKNOLOGI

  INFORMASI (FASILKOM-TI) UNIVERSITAS SUMATERA UTARA

  Diluluskan di Medan, April 2014

  Komisi Pembimbing : Pembimbing 2 Pembimbing 1 Romi Fadillah R, B.Comp.Sc.M.Sc. Dedy Arisandi, ST., M.Kom.

  NIP 19860303 201012 1 004 NIP 19610817 198701 1 001 Diketahui/Disetujui oleh Program Studi S1 Teknologi Informasi Ketua, Prof. Dr. Opim Salim Sitompul, M.Sc.

  NIP 19610817 198701 1 001

  

PERNYATAAN

  PERMAINAN PERGESERAN ANGKA BENTUK BINTANG MENGGUNAKAN ALGORITMA BEST FIRST SEARCH SKRIPSI Saya mengakui bahwa skripsi ini adalah hasil karya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.

  Medan, April 2014 Siska Maria Aritonang 081402004

UCAPAN TERIMA KASIH

  Puji dan syukur penulis sampaikan kehadirat Tuhan Yang Maha Esa yang telah memberikan hikmat dan kebijaksanaan sehingga penulis dapat menyelesaikan skripsi Studi S1 Teknologi Informasi Universitas Sumatera Utara.

  Ucapan terima kasih penulis sampaikan kepada Bapak Dedy Arisandi, ST., M.Kom. selaku pembimbing satu dan Bapak Romi Fadillah Rahmat, B.Comp.Sc., M.Sc. selaku pembimbing dua yang telah banyak meluangkan waktu dan pikirannya, memotivasi dan memberikan kritik dan saran kepada penulis. Ucapan terima kasih juga ditujukan kepada Drs. Sawaluddin, M.IT dan Baihaqi Siregar, S.Si., MT yang telah bersedia menjadi dosen pembanding. Ucapan terima kasih juga ditujukan kepada Ketua dan Sekretaris Program Studi Teknologi Informasi, Prof. Dr. Opim Salim Sitompul, M.Sc. dan Drs. Sawaluddin, M.IT, Dekan dan Pembantu Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara, semua dosen serta pegawai di Program Studi S1 Teknologi Informasi.

  Skripsi ini terutama penulis persembahkan untuk kedua orang tua dan keluarga penulis yang telah memberikan dukungan dan motivasi, ayahanda (alm.) ML. Aritonang dan ibunda R. Tampubolon yang selalu sabar dalam mendidik dan membesarkan penulis. Untuk kakak penulis Gokma Aritonang, Lusiana Aritonang, SE, dan Yoice Helena Aritonang, Amd., abang penulis Solyandri Aritonang, SE, Hendra Aritonang, SH, dan Janter Aritonang, serta adik penulis Dorkas Aritonang yang selalu memberikan dorongan kepada penulis. Terima kasih penulis ucapkan kepada teman-teman yang selalu memberikan dukungan, Lia Hartati, Mutiara Rajagukguk, Umi Hani, Desfi Ramadhani, Ester Simanjuntak, Fanny Nababan, Cahya, Karina Ayesha, seluruh angkatan 08, serta teman-teman mahasiswa Teknologi Informasi lainnya yang tidak dapat penulis sebutkan satu persatu. Teman-teman di asrama, Kak Erna Sitorus, Selfia Sinaga, Vivia Simarmata, Hill Intan, Ariance Sitanggang dan Sarta Sinaga. Semoga Tuhan membalas kebaikan kalian dengan berkat dan karunia yang berlimpah.

  

ABSTRAK

  Permainan pergeseran angka bentuk bintang merupakan permainan pergeseran angka yang memiliki aturan bermain yang sama seperti permainan pergeseran angka (sliding yaitu agar bisa menempatkan semua angka yang teracak berada pada posisi sebenarnya dengan hanya berturut-turut menggeser setiap angka ke tempat kosong yang berdekatan. Namun permainan pergeseran angka ini dibangun dalam grid yang berbentuk bintang (star polygon). Algoritma best first search dapat diterapkan untuk melakukan pencarian solusi otomatis pada aplikasi yang akan dibangun. Algoritma

  

best first search adalah salah satu algoritma pencarian heuristik yang merupakan

  kombinasi dari dua algoritma pencarian buta (blind search), yaitu breadth first search dan depth first search dengan mengambil kelebihan dari kedua algoritma tersebut. Hasil yang diperoleh dari aplikasi yang dibangun adalah bahwa implementasi algoritma best first search dapat memberikan pencarian solusi terpendek pada permainan ini. Kata Kunci : Permainan Pergeseran Angka Bentuk Bintang, Sliding Puzzle, Heuristik, Best First Search .

  

SLIDING PUZZLE IN A STAR-SHAPED GRID USING

BEST FIRST SEARCH ALGORITHM

ABSTRACT

  Sliding puzzle in a star-shaped grid is a sliding puzzle that has the same rule of game as any other sliding puzzle which is commonly played in a square or rectangular grid, it is to place all random numbers to the right position (goal position) by successively sliding tiles into the orthogonally adjacent empty square (the blank square). But this sliding puzzle is built in a star-shaped grid (star polygon). Best first search algorithm can be implemented to perform an automatic search for solutions in applications to be built. Best first search algorithm is one of the heuristic search algorithm that is a combination of two blind search algorithms, the breadth-first search and depth-first search by taking advantages of the two algorithms. The result obtained from the application built shows that the implementation of best first search algorithm can provide a shortest solution search for the game. Keyword: Sliding Puzzle In A Star-Shaped Grid, Sliding Puzzle, Heuristic, Best First Search.

  

DAFTAR ISI

Hal.

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

   viii

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

DAFTAR TABEL

Hal.

Tabel 2.1 Penelitian Sebelumnya

  

  

  

  

  

  

  

  

  

  

  

  

DAFTAR GAMBAR

Hal.

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

Gambar 2.1 Definisi Kecerdasan Buatan Dalam 4 Kategori (Russell, et al, 2010)

  

  

  

  

  

Gambar 3.1 Aturan Pergeseran Angka Dalam Bintang

  

  

  

  

  

  

  

  

Gambar 3.6 Pohon Pencarian Best First Search Pada Bintang Berkaki 5

  

  

  

  

  

  

  

BAB 1 PENDAHULUAN

1.1 Latar Belakang

  Permainan (game) merupakan bidang usaha manusia terhadap kecerdasan buatan, salah satunya adalah sliding puzzle. Permainan ini merupakan permainan yang dapat melatih kecerdasan. Dalam kehidupan sehari-hari maupun dalam literatur dapat ditemukan berbagai jenis sliding puzzle, ada yang menggunakan huruf, gambar dan angka. Namun yang akan dibahas pada tugas akhir ini adalah sliding puzzle yang menggunakan angka. Permainan pergeseran angka biasanya dimainkan dalam kotak berbentuk persegi atau persegi panjang. Pada jenis ini cenderung lebih mudah untuk dimainkan dan diselesaikan. Permainan ini akan menjadi jauh lebih rumit apabila dimainkan dalam wadah yang berbentuk bintang. Bentuk wadah ini menyebabkan arah proses pergeseran angka menjadi terbatas (Dewi, 2010).

  Walaupun permainan ini terlihat sederhana namun untuk bisa menempatkan semua angka berada pada posisi sebenarnya merupakan suatu masalah. Permainan pergeseran angka pada bentuk bintang ini dapat diselesaikan dengan bantuan pohon pencarian (search tree). Struktur pohon pencarian digunakan untuk menggambarkan keadaan secara hirarkis, dimana akar dari pohon berupa keadaan awal dan cabang berupa keadaan-keadaan yang mungkin terjadi dari keadaan sebelumnya serta daun merupakan keadaan akhir, yang dapat dijadikan sebagai solusi dari permasalahan atau bisa merupakan jalan buntu (dead end).

  Ada dua metode untuk membangun sebuah pohon pencarian, salah satunya adalah metode pencarian heuristik. Metode pencarian heuristik mampu melakukan pencarian solusi langsung pada cabang dari pohon yang memuat tujuan (goal) tanpa harus mengunjungi node-node lain yang tidak perlu, dengan demikian waktu pencarian solusi dapat diminimalkan terutama terhadap pencarian dengan solusi

  2 penyelesaian yang panjang. Ada beberapa algoritma pencarian yang bersifat heuristik, namun yang akan digunakan dalam penyelesaian permainan pergeseran angka pada bentuk bintang ini adalah algoritma Best First Search. Algoritma ini adalah salah satu algoritma pencarian heuristik yang merupakan kombinasi dari dua algoritma pencarian buta (blind search), yaitu breadth first search dan depth first search dengan mengambil kelebihan dari kedua algoritma tersebut. Pada algoritma best first search, pencarian diperbolehkan mengunjungi simpul yang ada dilevel yang lebih rendah, jika ternyata simpul pada level yang lebih tinggi memiliki nilai heuristik lebih buruk.

  Permainan pergeseran angka dalam bentuk bintang selain sangat rumit untuk diselesaikan secara manual dan juga memerlukan waktu yang lama dalam menyelesaikannya. Oleh karena itu, dalam penelitian ini penulis akan mencari solusi terpendek bagi permainan pergeseran angka pada bentuk bintang menggunakan algoritma best first search.

  1.2 Rumusan Masalah Setiap titik perpotongan dalam bintang merupakan titik (node) penempatan angka.

  Seperti permainan pergeseran angka lainnya, dalam permainan ini juga disediakan satu tempat kosong sebagai ruang untuk menggeser posisi angka sehingga kondisi angka yang teracak pada keadaan awal (intial state) dapat tersusun kembali ke keadaan semula. Permainan pergeseran angka dalam wadah bintang memiliki arah pergeseran yang berbeda dengan permainan pergeseran angka biasa yang berbentuk persegi atau persegi panjang sehingga sangat rumit untuk diselesaikan secara manual karena wadah ini menyebabkan arah proses pergeseran angka menjadi terbatas. Oleh karena itu diperlukan suatu algoritma untuk membantu proses pencarian solusi permainan ini dan algoritma yang akan diterapkan untuk membantu mendapatkan langkah pencarian solusi yang lebih pendek pada permainan pergeseran angka pada bentuk bintang adalah algoritma best first search.

  1.3 Batasan Masalah

  Pada tugas akhir ini dilakukan beberapa batasan masalah sebagai berikut:

  3 1. Bintang yang digunakan memiliki 2 jenis (bentuk), yaitu : a.

  Bentuk bintang berkaki 5 (pentagram), dengan jumlah titik (node) dalam bintang sebanyak 10 buah, dan jumlah titik yang dapat diisi adalah sebanyak 9 buah.

  b.

  Bentuk bintang berkaki 6 (hexagram), dengan jumlah titik (node) dalam bintang sebanyak 12 buah, dan jumlah titik yang dapat diisi adalah sebanyak 11 buah.

  2. Hanya keadaan awal yang dapat ditentukan secara manual ataupun di-setting secara acak oleh komputer.

  3. Input berupa angka-angka dengan tipe data bilangan bulat positif.

  4. Menyediakan fasilitas permainan bebas (pengguna dapat menyelesaikan dengan solusi sendiri).

  5. Permainan dianggap selesai hanya jika pengguna mampu menyelesaikan permainan dengan cara mengembalikan angka yang teracak ke keadaan tujuan.

  1.4 Tujuan Penelitian

  Adapun tujuan penelitian ini adalah untuk membangun suatu aplikasi yang dapat menemukan solusi permainan pergeseran angka dalam bentuk bintang dengan menerapkan algoritma best first search.

  1.5 Manfaat Penelitian

  Manfaat dari penyusunan tugas akhir ini adalah untuk menambah wawasan ilmu bagi penulis dan pembaca tentang penggunaan algoritma best first search dalam pencarian solusi permainan pergeseran angka pada bentuk bintang. Selain itu permainan ini juga termasuk salah satu jenis permainan edukasi sehingga dapat digunakan untuk melatih kemampuan nalar dan logika seseorang.

  4

1.6 Metode Penelitian

  Metode penelitian yang akan digunakan adalah: 1.

  Studi Literatur jurnal atau sumber-sumber lain yang berkaitan dengan tugas akhir ini, baik berasal dari buku maupun dari internet.

  2. Analisis dan Perancangan Desain Sistem Pada tahap ini dilakukan analisis terhadap hasil studi literatur untuk mengetahui dan mendapatkan pemahaman mengenai algoritma best first search, serta perancangan aplikasi mengenai tugas akhir ini, seperti: menggambar flowchart, perancangan aplikasi, dan perancangan antarmuka (interface).

  3. Implementasi Sistem Pada tahap ini akan dilakukan pengkodean dan menerapkan perancangan aplikasi tersebut ke dalam bahasa pemrograman.

  4. Pengujian Sistem Pada tahap ini akan dilakukan pengujian terhadap aplikasi apakah telah memenuhi kriteria atau tidak.

  5. Dokumentasi Sistem Pada tahap ini akan dilakukan penulisan laporan mengenai aplikasi tersebut yang bertujuan untuk menunjukkan hasil penelitian ini.

1.7 Sistematika Penulisan

  Agar pembahasan lebih sistematis, maka tulisan ini dibuat dalam lima bab, yaitu:

  5 Bab 1 Pendahuluan Berisi latar belakang pemilihan judul, rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, algoritma penelitian dan sistematika penulisan.