P. 1
Analisis Dan Implementasi Algoritma Backtracking Pada Permainan Hangman

Analisis Dan Implementasi Algoritma Backtracking Pada Permainan Hangman

|Views: 1,007|Likes:

More info:

Published by: Danny 'donat' Nasution on Jun 05, 2011
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PPT, PDF, TXT or read online from Scribd
See more
See less

04/15/2013

pdf

text

original

Analisis dan Implementasi Algoritma Backtracking pada Permainan Hangman

Proposal Skripsi

DELY UTARI 071401035

Latar Belakang
Permainan sering digunakan sebagai contoh dalam mengajar Kecerdasan Buatan. Permainan merupakan suatu sarana hiburan yang diminati dan dimainkan oleh banyak kalangan. Permainan juga dapat berguna untuk melatih dan mengasah kemampuan berpikir seseorang. Permainan Hangman adalah salah satu permainan kata klasik dimana pemain akan menebak sebuah kata rahasia, huruf demi huruf. Pemain hanya mengetahui jumlah huruf pada kata berdasarkan jumlah ruang kosong yang tersedia untuk ditebak. Hangman dapat mengasah otak dan dijadikan sebagai media pembelajaran kosakata untuk beberapa bahasa serta dapat dimainkan oleh berbagai usia. Algoritma Runut Balik (Backtracking) sering digunakan dalam beberapa penyelesaian masalah dan untuk memberikan kecerdasan buatan dalam permainan.

Pemain yang berhasil menebak huruf terakhir dari kata rahasia yang dimaksud adalah pemenangnya. Selanjutnya pemain secara bergantian akan menebak huruf demi huruf sampai kata tersebut berhasil ditebak.Latar Belakang (lnjut. Permainan terdiri dari dua pemain. digunakan pula algoritma pencocokan string untuk mencocokkan huruf yang dimasukkan pemain dengan kata yang ditebak. Komputer sebagai pemain kedua akan menggunakan algoritma runut balik sebagai kecerdasan buatan yang akan mencari huruf-huruf yang sesuai dengan kata yang ditebak. dipilih secara acak dari database tersebut dengan pembangkit bilangan acak. Selain itu. Sejumlah kata akan disimpan dalam sebuah database.) Penulis tertarik untuk menerapkan algoritma runut balik ini sebagai kecerdasan buatan dalam permainan Hangman. Pemain pertama adalah manusia dan pemain kedua adalah komputer. Kata rahasia yang akan ditebak. .

Rumusan Masalah 1. Bagaimana mengimplementasikan algoritma Backtracking sebagai kecerdasan buatan pada permainan Hangman. . 2. Bagaimana merancang dan membangun permainan Hangman yang menarik dan edukatif.

2. Kata yang akan ditebak adalah kosakata dalam Bahasa Indonesia.Batasan Masalah 1. . khususnya kata-kata yang berhubungan dengan bidang ilmu komputer. Kata yang akan ditebak disediakan oleh sistem. Pembangunan permainan Hangman ini menggunakan aplikasi Macromedia Flash 8 dan Database Management System (DBMS) MySQL. 3.

2.Tujuan Penelitian 1. Menerapkan algoritma Backtracking sebagai kecerdasan buatan pada permainan Hangman. . Merancang dan membangun permainan komputer yang menarik dan edukatif.

khususnya Bahasa Indonesia. .Manfaat Penelitian Manfaat dari penelitian ini adalah untuk mengimplementasikan algoritma backtracking dalam pencarian huruf-huruf yang sesuai dengan kata rahasia dan mengasah kemampuan pemain untuk menebak kata serta menambah perbendaharaan kata.

Satu pemain memilih kata rahasia. kemudian menuliskan sejumlah garis sama banyak dengan panjang kata. maka tebakan salah dan pemain pertama menggambarkan satu elemen dari bagan Hangman sebagai tanda perhitungan. . Pemain lain mulai menebak huruf. Jika seorang pemain menebak sebuah huruf dan ternyata yang ada pada kata. Permainan berakhir ketika semua huruf dalam kata telah terungkap atau bila penebak sudah kehabisan tebakan. Hangman Hangman dimainkan sebagai berikut: a. c. b. pemain yang pertama mengungkapkan semua huruf tersebut dalam kata. Jika tidak.Tinjauan Pustaka 1.

Jumlah bagian tubuh manusia juga dapat bervariasi.) Sifat Hangman bisa berbeda-beda. tangan kiri. Pemain lain memulai tanpa gambar sama sekali untuk memberikan peluang lebih banyak kepada pemain lain untuk menebak. Alternatif lainnya adalah membuat permainan sedikit lebih mudah dengan memberikan definisi kata sehingga memungkinkan permainan untuk belajar bahasa.Tinjauan Pustaka (lnjut. Beberapa pemain menggambar tiang gantungan sebelum bermain dan menggambar bagian tubuh manusia (seperti kepala. kaki kiri dan kaki kanan satu per satu) saat permainan. tangan kanan. . badan. tergantung jumlah peluang yang akan diberikan.

) 2.Tinjauan Pustaka (lnjut. dan juga mudah untuk diimplementasikan.1) dimana: xn = bilangan acak ke-n dari deretnya xn-1 = bilangan acak sebelumnya a = faktor pengali b = konstanta penambah m = modulus . LCG didefinisikan dalam relasi berulang berikut: xn= ( a . LCG merupakan pembangkit bilangan acak yang sederhana. Pembangkit Bilangan Acak Dalam pengacakan kata dalam permainan Hangman akan digunakan salah satu pembangkit bilangan acak yang cukup terkenal. mudah dimengerti. yaitu Linear Congruential Generator (LCG). xn-1 + b ) mod m (2.

Maksudnya adalah deret bilangan acak yang dihasilkan tidak lebih banyak dari modulonya. .Tinjauan Pustaka (lnjut. LCG berguna untuk aplikasi non-kriptografi seperti simulasi. sebab LCG mangkus dan memperlihatkan sifat statistik yang bagus dan sangat tepat untuk uji-uji empiris. Keunggulan LCG terletak pada kecepatannya dan hanya membutuhkan sedikit operasi bit.) LCG mempunyai periode tidak lebih besar dari m dan pada kebanyakan kasus periodenya kurang dari itu.

Dengan kata lain kita tidak perlu membangkitkan simpul yang menjauhi solusi sehingga waktu pencarian solusi dapat dikurangi. 2008).) 3. Algoritma Runut Balik (Backtracking) Algoritma Backtracking atau runut balik adalah algoritma yang cara kerjanya berdasarkan pada DFS (Depth Search First). (Enrich. . Algoritma runut balik yang secara sistematis mencari solusi persoalan di antara semua kemungkinan solusi yang ada kemudian membangkitkan simpul dari solusi yang mendekati penyelesaian. Algoritma ini merupakan perbaikan dari algoritma Brute Force.Tinjauan Pustaka (lnjut.

. Fungsi pembatas (fungsi kriteria) Dinyatakan sebagai : B( x1. «... xi  Si. 3..) Properti-properti dalam algoritma runut balik adalah sebagai berikut : 1. Mungkin saja S1=S2=«=Sn. xk ) Fungsi pembatas menentukan apakah ( x1. xi = 0 atau 1 2. x2. xk ) mengarah ke solusi. 1}. x2.. xn).. Contoh: Si={0. .Tinjauan Pustaka (lnjut. Fungsi pembangkit nilai xk Dinyatakan sebagai : T(k) T(k) membangkitkan nilai untuk xk yang merupakan komponen vektor solusi. Solusi persoalan Solusi dinyatakan sebagai : X = (x1. . x2..

... x[k]) adalah lintasan dari akar ke daun then CetakSolusi(x) Endif RunutBalik(k+1){Tentukan nilai untuk x[k+1]} endfor . x[2].. x[k] = true do if (x[1].. x[n]) } Algoritma: for tiap x[k] yang belum dicoba sedemikian sehingga (x[k] T(k)) and B (x[1]... x[k] Keluaran: solusi x = (x[1]... yaitu indeks komponen vektor solusi. x[2]. .) Berikut ini adalah skema umum Algoritma Runut Balik: procedure RunutBalik(input k:integer) {Mencari semua solusi persoalan dengan metode runut balik Masukan: k.. . x[2].Tinjauan Pustaka (lnjut.

Pada metode ini akan dipelajari bagaimana komputer bisa mendapatkan satu pola atau dereten pola yang diberikan. (Purwanto.. Bagaimana mendapat integer s (disebut valid shift) yang memenuhi 0 e s n-m dan T[s + 1. selanjutnya akan diketahui apakah P di dalam T. Ide dasarnya muncul dari permasalahan umum yaitu bagaimana mendapat simbol atau huruf dalam kumpulan teks yang diberikan..Tinjauan Pustaka (lnjut.. Jika P sebagai substring dari T. Teks (text) yaitu (long) string yang panjangnya n karakter. Pencocokan String String matching adalah suatu metode yang digunakan untuk mencocokkan lambang atau huruf (string) dalam suatu deret.n] dan suatu pola dengan m karakter dalam array P[1.s + m] = P[1. . 2008).m]..) 4. Misalnya diberikan teks dengan n karakter dalam array T[1.m]. Pattern yaitu string dengan panjang m karakter (m<n) yang akan dicari di dalam teks.

Algoritma ini disebut naive atau naif karena metode yang digunakan adalah perbandingan langsung untuk tiap bagian teks dengan pola yang sedang dicari dan ditelusuri secara sequensial (terurut) dari kiri ke kanan mulai karakter pertama sampai karakter terakhir di dalam string teks.Tinjauan Pustaka (lnjut. yang umumnya digunakan untuk mencari suatu pola atau kata di dalam suatu teks yang tersusun dari sederetan karakter yang dalam dunia pemrograman dikenal dengan sebutan string.) Naive string matching (NSM) adalah salah satu algoritma dalam bidang pattern matching atau pencocokan pola. . Metode ini juga disebut metode brute force.

) Algoritma backtracking telah banyak diterapkan dalam beberapa permainan.Tinjauan Pustaka (lnjut. 2007. 2007 menggunakan algoritma runut balik pada permainan teka-teki silang untuk mengisi kotak-kotak permainan yang sebelumnya telah dibuat. Algoritma backtracking dapat pula gunakan pada permainan word diagram seperti penelitian yang dilakukan Saputra. . Dalam penelitian yang dilakukan Irwanti. Penelitian yang dilakukan Amin. 2010 algoritma backtracking digunakan dalam mencari anagram dari sebuah kata.

Pengujian Sistem 6. Implementasi Sistem 5. Studi Literatur 2.Metodologi Penelitian 1. Penulisan Skripsi . Analisis Masalah 4. Pengumpulan Data 3.

Rencana Jadwal Kegiatan Tahun 2011 No. Nama Kegiatan April 1 2 3 4 5 Pembuatan Proposal Studi Literatur Seminar Proposal Perbaikan Proposal Analisis dan Perancangan Sistem Implementasi dan Pengujian Sistem Penulisan Skripsi Seminar Hasil Perbaikan Skripsi Sidang Meja Hijau Mei Juni Juli Agustus September 6 7 8 9 10 .

2008. Munir. Diktat Kuliah Strategi Algoritmik.pdf.org/~rinaldi/Stmik/2006-007/Makalah_2007/ MakalahSTMIK2007-098.DAFTAR PUSTAKA Aho. Medan:Program Studi S1 Ilmu Komputer Universitas Sumatera Utara. Diakses tanggal 5 April 2011. Penerapan Algoritma Runut Balik dalam Permainan Teka-Teki Silang. Imaduddin. http://www. Enrich.org/~rinaldi/Stmik/20072008/Makalah2008/MakalahIF2251-2008-081. J. . Kriptografi. A. 2007. Penerapan Algoritma Runut-Balik (Backtracking) pada Permainan Menyeberangkan Serigala. Hopcroft. http://www. Edisi 2007. J. USA:Addison-Wesley Publishing Company. E.informatika.. D. Munir. V.pdf. Diakses tanggal 5 April 2011.informatika. 1983. Amin. Rinaldi. Rinaldi. 2006. Kenny. 2010. Silvina. Kambing. Bandung:Informatika. Skripsi.. Implementasi Algoritma Backtracking dalam Perancangan Perangkat Lunak Game Anagram. Irwanti. dan Ullman. dan Sayuran. 2007. Bandung:Program Studi Teknik Informatika STEI ITB. Data Structures and Algorithms.

Diakses tanggal 16 April 2011. 2011. http://www. 2007. Algoritma Runut Balik dalam Penyelesaian Permainan Word Diagram.informatika. . Santosa. 2007. http://www. Diakses tangal 5 April 2011. Analisis Frekuensi Teks Bahasa Inggris dan Indonesia. A.pdf.) Purwanto. Ivan.informatika. Yogyakarta:Graha Ilmu. N. Perancangan dan Analisis Algoritma.http://www. 2008.org/~rinaldi/Stmik/2006-2007/Makalah2007/ MakalahSTMIK2007-074. D. dkk.org/~rinaldi/Kriptografi/2010-2011/ Makalah1/Makalah1-IF3058-Sem1-2010-2011-074.pdf. Penerapan dan Implementasi Algoritma Backtracking.org/~rinaldi/Stmik/ Makalah/MakalahStmik26. Saputra. dan Efektifitasnya Jika Disisipkan ke Citra Bitmap..informatika. Putra. Komputer Masa Depan Pengenalan Artificial Intelligence. Yogyakarta:ANDI.DAFTAR PUSTAKA (lnjut. Eko B. Suparman dan Marlan. Diakses tanggal 5 April 2011.pdf. D.

SEKIAN TERIMA KASIH .

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->