IMPLEMENTASI ALGORITMA BACKTRACKING PADA PERMAINAN HANGMAN

(1)

IMPLEMENTASI ALGORITMA

BACKTRACKING

PADA PERMAINAN HANGMAN

TUGAS AKHIR

Sebagai Persyaratan Guna Meraih Gelar Sarjana Strata 1 Teknik Informatika Universitas Muhammadiyah Malang

Oleh :

ARIEF HIJAYANTO NIM. 08560416

JURUSAN TEKNIK INFORMATIKA

FAKULTAS TEKNIK

UNIVERSITAS MUHAMMADIYAH MALANG

2012


(2)

LEMBAR PENGESAHAN

IMPLEMENTASI ALGORITMA BACKTRACKING

PADA PERMAINAN HANGMAN

TUGAS AKHIR

Sebagai Persyaratan Guna Meraih Gelar Sarjana Strata 1 Teknik Informatika Universitas Muhammadiyah Malang

Disusun Oleh: ARIEF HIJAYANTO

NIM. 08560416

Tugas akhir ini telah diuji dan dinyatakan lulus melalui sidang majelis penguji pada tanggal 23 Juli 2012

Penguji I

Ir. Lailis Syafa’ah, MT

NIP: 108.9009.0189

Penguji II

Denar Regata Akbi, S.Kom

Mengetahui,

Ketua Jurusan Teknik Informatika


(3)

KATA PENGANTAR

Dengan memanjatkan puji dan syukur kehadirat Allah SWT atas limpahan rahmat dan hidayah-NYA sehingga peneliti dapat menyelesaikan tugas akhir yang berjudul:

“IMPLEMENTASI ALGORITMA BACKTRACKING

PADA PERMAINAN HANGMAN”

Di dalam tulisan ini disajikan pokok-pokok bahasan yang meliputi permainan (game), backtracking, dan Depth First Search.

Peneliti menyadari sepenuhnya bahwa dalam penulisan tugas akhir ini masih banyak kekurangan dan keterbatasan. Oleh karerna itu peneliti mengharapkan saran yang membangun agar tulisan ini bermanfaat bagi perkembangan ilmu pengetahuan kedepan.

Malang, 16 OKTOBER 2012 Penulis


(4)

DAFTAR ISI

ABSTRAK ... i

ABSTRACT ... ii

LEMBAR PERSEMBAHAN ...iii

KATA PENGANTAR ... iv

DAFTAR ISI ... .v

DAFTAR GAMBAR ... vii

DAFTAR TABEL ... ix

BAB I ... 1

1.1 Latar Belakang ... 1

1.2 Rumusan Masalah ... 2

1.3 Batasan Masalah ... 2

1.4 Tujuan Penelitian ... 3

1.5 Metodologi ... 3

1.6 Sistematika Penulisan ... 4

BAB II ... 5

2.1 Kecerdasan Buatan ... 5

2.1.1 Lingkup Kecerdasan Buatan pada Aplikasi ... 7

2.2 Game Playing ... 8

2.3 Searching (Pencarian) ... 9

2.4 Depth First Search (DFS) ... 9

2.5 Algoritma Runut Balik (Backtracking Algorithm) ... 10

2.5.1 Properti Umum Metode Runut-Balik ... 12

2.5.2 Prinsip Pencarian Solusi dengan Metode Runut-Balik ... 12


(5)

3.1 Bahasa Pemrograman yang digunakan ... 14

3.2 Perancangan Permainan ... 14

3.3 Analisa Algoritma ... 15

3.4 Flowchart ... 19

3.4.1 Flowchart Algoritma Backtracking (Komputer) ... 20

3.5 Use Case Diagram ... 21

3.6 Activity Diagram ... 21

3.7 Sequence Diagram ... 24

3.8 Class Diagram ... 27

3.9 Desain Interface ... 28

BAB IV ... 32

4.1 Implementasi Sistem ... 32

4.1.1 Implementasi Halaman Menu Utama... 32

4.1.2 Implementasi Permainan Hangman Level 1 ... 37

4.1.3 Implementasi Permainan Hangman Level 2 ... 42

4.2 Pengujian Aplikasi ... 48

4.2.1 Pengujian Integrasi Aplikasi ... 49

4.2.2 Pengujian Aplikasi Kepada Responden ... 52

4.2.3 Contoh Kuesioner yang Digunakan ... 53

4.2.4 Hasil Uji Coba Responden ... 54

BAB V ... 57

5.1 Kesimpulan ... 57

5.2 Saran ... 57

DAFTAR PUSTAKA ... 58


(6)

DAFTAR PUSTAKA

[1] Amin, Imaduddin. 2007. Penerapan Algoritma Runut Balik dalam Permainan Teka-Teki Silang.

http://informatika.stei.itb.ac.id/~rinaldi.munir/Stmik/2006-2007/Makalah_2007/MakalahSTMIK2007-098.pdf. Diakses pada tanggal 14 Maret 2012.

[2] Astuti, Yuni Dwi. Logika dan Algoritma:

http://yuni_dwi.staff.gunadarma.ac.id/Downloads/files/12677/Bab+7+-+Teknik+Backtracking.pdf. Diakses pada tanggal 20 Maret 2012.

[3] Ihsan, Ahmad. 2011. Implementasi Algoritma Backtracking Dalam Perancangan Perangkat Lunak Game Tebak Kata Pada Anak SD (Sekolah dasar). Skripsi. Malang:Program Studi S1 Teknik Informatika Universitas Muhammadiyah Malang.

[4] Kusrini. 2006. Sistem Pakar Teori dan Aplikasi. Yogyakarta: Andi.

[5] Kusumadewi, Sri. 2003. Artificial Intelligence (Teknik dan Aplikasinya). Yogyakarta:Graha Ilmu.

[6] Kusumadewi, Sri dan Purnomo, Hari. 2005. Penyelesaian Masalah Optimasi dengan Teknik – Teknik Heuristik.Yogyakarta: Graha Ilmu. [7] Munir, Rinaldi. 2004. Bahan Kuliah ke-9: Algoritma Runut-Balik

(Backtracking):http://kur2003.if.itb.ac.id/file/trans-Bahan%20Kuliah%20ke-9.DOC. Diakses pada tanggal 26 Maret 2012. [8] Munir, Rinaldi. 2004. Bahan Kuliah ke-10: Algoritma Runut-Balik

(Backtracking):http://kur2003.if.itb.ac.id/file/trans-Bahan%20Kuliah%20ke-10.DOC. Diakses pada tanggal 26 Maret 2012. [9] Pandjaitan. L,W. 2007. Dasar-dasar Komputasi Cerdas. Yogyakarta :

ANDI.

[10] Sulun, Hafni Syaeful dan Rinaldi Munir. 2010. Pembangkit Teka-Teki Silang Dengan Algoritma Backtracking Serta Aplikasi Permainannya Yang Berbasis Web. (Jurnal Informatika Vol 4, No. 2, Juli 2010). Yogyakarta: Universitas Muhammadiyah Yogyakarta.


(7)

KUMPULAN KOSAKATA BAHASA INGGRIS

KOSAKATA DESKRIPSI

ANIMAL jenis makhluk hidup yang dapat berpindah dan dapat merasa tetapi bukan orang

APPLE buah yang keras yang kulitnya berwarna hijau atau merah

APRICOT jenis buah kecil yang berwarna kuning lembut dengan biji berukuran besar di dalamnya

ASPARAGUS jenis tanaman hijau yang lunak dan berwarna putih yang akar tunggalnya (rebung) digunakan sebagai sayuran

BACTERIA makhluk hidup terkecil yang hidup dimana dan dapat berkembang biak dengan cepat

BANANA jenis buah yang berwarna kuning berbentuk melengkung panjang dan dagingnya tebal

BANJO jenis alat musik dengan bentuk tubuh sejenis gitar, cara memainkannya dengan cara di petik

BEACH perbatasan antara daratan dengan lautan yang tertutup oleh batuan

BEECH pohon tinggi yang tumbuh di hutan dengan kulit abu-abu halus, daun berkilau dan kacang-kacangan kecil

BEETLE jenis serangga yang memiliki dengan sayap yang keras dengan bentuk tubuh yang ramping

BELIEF sebuah perasaan yang meyakini kebenaran atau kenyataan dari sesuatu

BICYCLE jenis kendaraan yang memiliki dua roda dan sepasang pengayuh

BIRCH pohon yang mempunyai kulit halus dan cabang tipis, yang tumbuh di negara bagian utara

BISON hewan berbulu, liar dan besar yang merupakan keluarga sapi

BLACKBOARD sebuah papan yang berwarna hitam yang biasa digunakan guru untuk menulis dengan kapur

BLUEBERRY buah berry yang berwarna biru gelap yang tumbuh di semak yang dapat di makan dan tumbuh di amerika


(8)

BOARD sebuah papan yang datar, panjang dan tipis terbuat dari kayu

BROCCOLI jenis sayuran bunga seperi kembang kol berwarna hijau tua keputih-putihan yang biasa digunakan untuk makanan

BUFFALO jenis hewan liar besar yang terlihat seperti sapi yang memiliki tanduk melengkung panjang

BUTTER makanan berlemak yang kental dan lunak yang terbuat dari susu

BUTTERFLY jenis serangga yang mempunyai sayap yang biasanya berwarna cerah dan bisa terbang

CABBAGE jenis tanaman yang daunnya besar dan berbentuk bola yang berwarna hijau keputih-putihan

CACTUS tanaman berduri yang tumbuh di daerah panas dan kering

CALCULATOR sebuah alat elektronik kecil yang biasa di gunakan untuk menghitung

CAMEL jenis hewan yang berleher panjang dan mempunyai punuk

CANARY jenis burung kuning kecil yang sering dijadikan sebagai burung peliharaan yang bersuara merdu

CARDINAL jenis penomoran yang digunakan untuk menunjukkan kuantitas

CARROT jenis sayuran yang berwarna orange yang berbentuk panjang

CELERY jenis sayuran yang berbentuk batang yang berwarna putih dan daun yang berwarna hijau

CELLO jenis alat musik besar seperti biola dan memiliki dawai

CENTIPEDE jenis hewan bertubuh pipih dan berkaki banyak

CHAIR sebuah benda furniture yang digunakan untuk duduk dan memiliki empat kaki


(9)

CHERRY buah yang kecil dan berwarna merah atau hitam dan terdapat biji di dalamnya

CHICKEN jenis hewan yan dipelihara dan biasa di manffatkan telur ataupun dagingnya

CHIEF orang yang mengepalai atau memimpin suatu perkumpulan

CHILD anak laki-laki atau perempuan yang masih muda

CLARINET

jenis alat musik yang terbuat dari kayu atau logam dan terdapat lubang-lubang dan bila ditiup menghasilkan suara yang melengking

CLASS kelompok anak atau siswa yang belajar bersama

CLOCK sebuah benda penunjuk waktu

COBRA ular berbisa yang dapat menyebarkan kulit pada bagian belakang leher agar dirinya terlihat lebih besar

COCKROACH jenis serangga besar yang berwarna coklat dan bisa ditemukan di rumah, khususnya ditempat yang kotor

COCONUT jenis buah besar yang tumbuh di pohon yang terdapat di negara yang beriklim panas

COFFEE sebuah bubuk yang terbuat dari biji yang berasal dari semak hutan tropis

CRANE mesin besar mepunyai lengan yang terbuat dari logam panjang, untuk mengangkat benda berat

CRAYON jenis pensil warna yang tebal dan lembut

CRICKET jenis pertandingan untuk dua tim, dari sebelas pemain yang mencoba untuk memukul bola dengan pemukul kayu

CRISIS suatu keadaan yang berbahaya atau genting

CROCODILE hewan besar dengan ekor panjang, mulut besar dengan gigi yang tajam

CUCUMBER sayuran yang panjang dengan kulit berwarna hijau, yang sering kita makan dalam bentuk acar


(10)

CUPBOARD benda furniture mempunyai rak dan pintu yang berfungsi untuk menyimpan barang seperti pakaian atau makanan

DINOSAUR hewan yang hidup jutaan tahun lalu dan sekarang telah punah

DOLPHIN hewan pandai yang hidup di laut

DRAGONFLY serangga yang mempunyai dua pasang sayap dan berbadan panjang (sering menjadi mangsa burung)

DRESS sebuah baju dengan bagian atasan dan bawahan (rok)

DRINK cairan yang dapat digunakan untuk minum

EAGLE burung yang sangat besar berpenglihatan tajam

ELEPHANT hewan liar sangat besar yang berasal dari asia afrika dan mempunyai belalang

FEATHER sesuatu yang lembut dan tumbuh di kulit burung dan menutup tubuhnya

FIREPLACE suatu tempat di dalam ruangan dimana anda dapat menyalakan api

FISHERMAN orang yang menagkap ikan sebagai pekerjaannya atau olahraga

FLOWER bagian dari tanaman yang berwarna cerah yang tumbuh sebelum berbiji atau berbuah

FLUTE instrumen musik yang dimainkan dengan cara ditahan dan ditiup

FOUNTAIN air yang dapat menembak ke udara kemudian turun kembali ke bawah

FRUIT bagian dari tanaman yang terdiri dari biji dan daging, dapat dimakan dan rasa nya manis

FUNGUS jenis tanaman yang tidak berdaun dan tidak berbuah yang berkembang biak denganmenggunakan spora


(11)

GIRAFFE hewan besar dari afrika dengan leher sangat panjang dan kaki panjang

GLASSES sebuah alat bantu penglihatan yang terdiri dari bingkai dan dua lensa

GLOBE tiruan bumi yang berbentuk bulat dengan gambar peta di permukaannya

GLOVES sebuah benda yang digunakan untuk membungkus tangan

GOOSE burung air yang lebih besar dari bebek

GORILLA kera afrika yang besar dan kuat

GRAPE buah berry yang berwarna hijau atau ungu yang dapat digunakan untuk membuat minuman

GRASS tanaman liar dengan daun berwarna hijau sempit dan terdapat batang, yang dimakan oleh sapi, kuda, domba, dll

GUITAR alat musik yang berdawai

HEDGEHOG binatang yang kulitnya berupa duri yang runcing

HERBS tanaman yang daun, bunga atau bijinya dapat digunakan untuk perasa makanan atau obat

HORSE hewan yang dapat mengangkut orang dan benda yang berat

HOSPITAL tempat dimana dokter dan perawat menyembuhkan orang sakit

HOUSE sebuah bangunan yang dapat ditinggali orang atau keluarga

JACKET baju berlengan penahan dingin dan angin

JAGUAR binatang buas termasuk jenis kucing yang hidup di amerika tengah dan amerika selatan sebesar macan tutul


(12)

JUICE sebuah minuman yang terbuat dari sari buah atau sayuran

KANGAROO hewan australia yang jalannya melompat, kaki belakangnya lebih kuat, panjang dan besar

KNIFE logam tajam yang digunakan untuk memotong

KOALA hewan asutralia dengan telinga besar dan tebal berwarna abu-abu yang hidup dipohon

LADYBUG serangga kecil berwarna merah dengan bulatan hitam

LEMON buah berwarna kuning yang bisa memberikan rasa untuk makanan dan minuman

LEOPARD hewan seperti kucing besar dengan bulu kuning dan gelap

LETTUCE tanaman berdaun hijau besar, biasanya digunakan untuk salad

LOUSE sebuah serangga kecil yang hidup pada badan manusia dan hewan

MACHINE sebuah benda bergerak yang dibuat untuk melakukan pekerjaan

MAGAZINE buku tipis bersampul kertas yang bisa anda beli setiap hari, minggu atau bulan

MAGICIAN orang yang pintar melakukan trik untuk menghibur orang

MAGNET sebuah logam yang dapat membuat logam lainnya berpindah menuju kearahnya

MANGO buah berwarna kuning atau merah di luar

MARGARINE

zat berwarna kuning seperti mentega terbuat dari lemak hewani atau nabati, digunakan memasak atau dioleskan pada roti

MICROPHONE sebuah alat listrik yang digunakan untuk membuat suara lebih keras


(13)

MONITOR sebuah mesin yang menunjukkan gambar atau informasi pada layar seperti televisi

MONKEY hewan berekor panjang, biasa hidup di pohon

MOSQUITO serangga kecil yang biasa menggigit manusia dan meminum darah mereka

MOUNTAIN sebuah bukit yang sangat tinggi

MOUSE hewan kecil berekor panjang

MOVIE sebuah film yang anda lihat di bioskop

MUSEUM sebuah bangunan dimana orang bisa melihat benda kuno dan menarik

MUSHROOM tanaman dengan bagian atas datar dan tidak berdaun

NECKLACE sebuah perhiasan yang anda gunakan dileher

NOTEBOOK buku kecil yang bisa untuk menulis

NUCLEUS inti sel atau atom

NURSING pekerjaan menjadi seorang perawat

OASIS tempat di gurun yang terdapat pohon dan air

ONION sayur berbentuk bulat dengan bau yang tajam

ORANGE buah berbentuk bulat, dengan warna merah dan kuning, dan berkulit tebal

ORCHID tanaman dengan bunga yang berwarna cerah dengan bentuk tidak biasa

OSTRICH burung sangat besar dari afrika, dapat berlari cepat karena punya lengan panjang


(14)

OTTER hewan kecil yang mepunyai empat kaki berselaput, berekor rata dan bulu coklat yang tebal

PANDA hewan besar berwarna hitam dan putih yang hidup di cina

PAPAYA buah tropis dengan kulit kuning dan green dengan daging merah yang manis dan biji hitam menyebar didalamnya

PARAKEET burung kecil , merupakan keluarga burung beo biasanya berekor panjang

PARROT burung berbulu cerah, dapat menirukan apa yang dikatakan orang

PARSNIP sebuah tanaman yang memiliki akar panjang berwarna kuning pucat

PEACH buah bulat, lembut, berwarna merah, dengan batu besar di tengahnya

PEACOCK burung besar berbulu hijau dan biru yang indah

PELICAN

burung air yang besar dengan tas pada bagian kulit dibawah paruh panjangnya yang berfungsi untuk menyimpan

makanan

PENCIL obyek tipis yg dapat dipakai untuk menulis dan menggambar

PENGUIN burung hitam dan putih yang hidup di tempat yang sangat dingin

PENKNIFE pisau kecil yang anda bisa bawa di dompet anda

PEPPER

bubuk kuning atau abu-abu pucat terbuat dari buah berry kering, digunakan untuk memberikan rasa pedas pada makanan

PHEASANT burung besar dengan ekor panjang, dengan warna yang cerah

PHOTO sebuah gambar berwarna atau hitam dan putih hasil dari sebuah pemotretan

PIANO alat musik yang dimainkan dengan menekan balok putih dan hitam


(15)

PINEAPPLE buah berwarna kuning di dalam dan berkulit abu abu

PLANT semua yang tumbuh di tanah

PLUM buah lembut dengan biji di tengah

POTATO sayuran yang mempunyai kulit berwarna coklat yang tumbuh di bawah tanah

PRUNE buah kismis yang kering yang sering dimakan dengan dimasak

RABBIT hewan kecil bertelinga panjang

RADIO alat yang dapat menerima dan mengirim suara degan gelombang khusus

RADISH sayuran akar kecil merah atau putih renyah dengan rasa yang kuat, dimakan mentah dalam salad

RAISIN buah anggur yang dikeringkan dan dihilangkan bijinya

REPTILE jenis hewan berdarah dingin berkembang biak dengan cara bertelur

RHINOCEROS binatang buas dari afrika atau asia, berkulit tebal

ROBIN burung kecil abu abu, dengan ujung merah

ROOSTER ayam jantan dewasa

RUBBER material kuat yang kita gunakan untuk bahan dan berasal dari getah pohon besar

RULER benda panjang terbuat dari plastik, logam atau kayu yang digunakan untuk menggambar garis lurus

SADDLE sebuah kursi pada kuda atau sepeda


(16)

SALESMAN pria yang bekerja menjual suatu benda

SALMON sebuah ikan besar dengan daging berwarna merah muda yang hidup di laut dan di sungai

SANDAL sebuah alas kaki yang anda pakai di cuaca hangat

SANDWICH dua potong roti dengan berbagai makanan didalamnya

SARDINE sebuah ikan laut yang sangat kecil dan bisa di makan

SAUCE sebuah cairan yang dapat membuat pedas

SAXOPHONE alat musik dari logam yang dimainkan dengan cara ditiup

SCALE ukuran atau tingkatan tertentu

SCALLION daun bawang

SCARF sesuatu yang kita pakai di leher atau kepala

SCISSORS alat untuk memotong, mempunyai 2 bagian yang tajam

SCORPION hewan kecil,seperti serangga, beracun dan berekor

SEAGULL burung abu abu atau putih, dengan suara keras , hidup di sekitar laut

SHARK ikan besar yang hidup di laut

SHARPENER alat yang bisa dipakai untuk membuat tajam

SHEEP hewan yang dipelihara manusia untuk diambil daging dan bulunya

SHELF lemari yang tidak berpintu terbuat dari kepingan kayu yang diletakkan di dinding untuk menaruh sesuatu


(17)

SHIRT jenis pakain yang dikenakan di tubuh bagian atas tubuh

SHRIMP binatang tidak bertulang, berkaki sepuluh, hidup di air, berkulit keras berekor pendek dan bersepit dua

SKIRT pakaian untuk wanita yang dikenakan pada bagian bawah

SNAIL jenis hewan yang kulitnya berbentuk spiral yang hidup di darat, laut dan air tawar dan dagingnya dapt di makan

SNAKE binatang bertubuh panjang dan tidak bersayap

SPARROW burung kecil berwarna abu abu

SPECIES kelompok dari hewan atau tanaman yang sama dan dapat berkembang biak

SPICE rempah-rempah yang berfungsi menyedapkan masakan

SPIDER hewan kecil dengan delapan kaki, yang bisa menangkap dan pemakan serangga

SPINACH sayuran berdaun hijau lebar

STEAK sebuah irisan tebal yang terbuat dari daging sapi brkualitas baik

STRAWBERRY buah berwarna merah yang lembut dengan biji didekat permukaan atas

STUDIO ruang tempat berkerja dan berkarya bagi artis, fotografer dll

SUGAR

zat manis berbentuk kristal putih atau coklat yang berasal dari sari tanaman yang digunakan untuk memasak atau campuran untuk membuat teh dan kopi

SUNFLOWER tanaman yang sangat tinggi dengan bunga kuning besar,ang dapat dimanfaatkan minyak dan bijinya

SUNGLASSES bingkai dengan kaca lensa berwarna gelap yang digunakan di cahaya yang tajam


(18)

SWEATER pakaian penghangat tubuh dengan lengan yang panjang yang digunakan sebagai baju atasan

TABLE benda furniture dengan prmukaan rata dan biasanya mempunyai empat kaki

TABLECLOTH kain yang anda letakan di atas meja

TABLESPOON sendok besar yang anda gunakan untuk menempatkan makanan pada piring

TABLET sebuah obat yang kecil dan keras

TABLOID sebuah surat kabar dengan halaman kecil

TAILOR orang yang pekerjaannya membuat pakaian untuk pria

TALENT sebuah kemampuan untuk melakukan sesuatu yang sangat baik

TANGERINE

jeruk manis yang pohonnya berbatang rendah dan buahnya berwarna orange dan kulitnya mudah dikupas dan celah-celah dagingnya lekang

TARGET suatu hasil yang anda coba untuk mencapainya

TEACHER orang yang pekerjaannya mengajar

TEAPOT sebuah tempat yang digunakan untuk membuat dan menuangkan the

TEASPOON sendok kecil yang digunakan untuk menempatkan gula ke teh atau kopi

TELEPHONE pesawat dengan kabel dan kawat yang digunakan untuk berbicara ditempat yang berjauhan

TELESCOPE sebuah alat yang panjang dengan kaca khusus di dalamnya

TEMPLE sebuah bangunan dimana orang pergi kesana untuk berdoa

TENNIS

sebuah pertandingan untuk dua atau empat pemain. dimana kedua pemain saling memukul bola dengan sebuah alat yang bernama raket


(19)

TERMINAL sebuah bangunan dimana orang berangkat dan berakhir pada perjalanannya dengan menggunakan bus

TERRACE sebuah bangunan di depan rumah untuk berkumpul bersama

TEXTBOOK buku yang mengajarkan anda tentang sesuatu

TEXTURE suatu bentuk objek yang kita sentuh dan dapat diketahui bentuknya

THEME sesuatu yang anda bicarakan atau tulis

THEORY suatu ide yang berusaha untuk menjelaskan sesuatu

THERAPY sebuah cara membantu orang yang sakit di tubuh mereka atau pikiran biasanya tanpa obat

THIEF seseorang yang mengambil barang seseorang tanpa ijin dan dengan sembunyi-sembunyi

TICKET sebuah kertas atau kartu yang anda beli untuk perjalanan

TIGER hewan liar seperti kucing besar, dengan bulu berwarna kuning dan dengan garis berwarna hitam

TIMBER kayu yang digunakan untuk membangun dan membuat benda

TISSUE sebuah kertas lembut yang anda gunakan untuk bersihkan hidung atau wajah anda

TITLE nama dari suatu hal contohnya buku, film atau gambar

TOASTER sebuah mesin untuk memanggang roti

TOMATO

tanaman sayuran yang batang dan daunnya berbulu halus buahnya agak bulat dan berwarna merah bisa dimakan biasa atau sebagai sayur

TOOTH bagian dari mulut yang berwarna putih yang digunakan untuk makan


(20)

TOOTHBRUSH sikat kecil untuk membersihkan gigi anda

TOOTHPASTE sebuah zat yang digunakan untuk membersikat gigi anda

TOPIC sesuatu yang anda bicarakan, pelajari atau tulis

TORNADO sebuah badai dengan angin sangat kuat yang berhembus dalam sebuah lingkaran

TRACTOR sebuah kendaraan yang kuat dan besar digunakan pada peternakan untuk menarik benda berat

TRADE suatu pembelian dan penjualan

TRAFFIC semua mobil dan kendaraan lain yang berada di jalanan

TRAIN sebuah kendaraan yang berjalan di atas rel

TRAWLER sebuah perahu besar untuk memancing

TRICYCLE jenis sepeda dengan tiga roda

TROLLEY keranjang dengan roda yang anda gunakan untuk membawa sesuatu

TROMBONE sebuah instrumen musik besar yang dimainkan dengan menggerakan tabung panjang ke atas dan bawah

TROUSERS pakaian luar yang menutup pinggang sampai mata kaki yang membungkus batang kaki secara terpisah

TRUCK sebuah kendaraan besar untuk membawa benda berat

TRUMPET alat musikyang terbuat dari logam dan dimainkan dengan cara ditiup

TSUNAMI sebuah gelombang sangat besar di laut

TULIP sebuah bunga berwarna cerah yang tumbuh di musim semi dan berbentuk seperti mangkuk


(21)

TUNNEL lubang yang panjang di bawah tanah untuk jalan atau perkeretaapian

TURKEY sebuah burung yang besar dipelihara pada peternakan dan bisa makan

TURNIP sayuran yang umbi nya berwarna putih dan daunnya bisa dibuat sayuran yang tumbuh dibawah tanah

TURTLE hewan yang hidup di laut dan memiliki cangkang keras di belakangnya

UKULELE alat musik yang mempunyai empat dawai, seperti guitar kecil

UMBRELLA sesuatu yg dipakai untuk melindungi kamu

UNCLE saudara laki-laki dari ibu atau ayah

UNIFORM pakaian yang digunakan pada waktu sekolah atau kerja

UNIVERSITY tempat dimana orang belajar dengan materi yang lebih sulit setelah sekolah

URGENCY kebutuhan melakukan sesuatu dengan cepat karena sangat penting

UTENSIL alat yang digunakan di rumah

VACANCY pekerjaan dimana tidak ada seorang pun yang melakukannya

VACATION sebuah periode waktu saat anda tidak bekerja atau belajar

VACCINE sebuah zat yang diberikan ke orang atau darah hewan dengan jarum

VACUUM sebuah ruang tanpa gas, air atau zat lainnya

VALLEY tanah rendah antara gunung-gunung dimana ada arus sungai mengalir ditanah tersebut


(22)

VALVE bagian dalam pipa tabung

VANILLA sebuah zat dari tanaman yang memberikan rasa untuk beberapa makanan manis

VANITY menjadi terlalu bangga terhadap apa yang bisa anda lakukan

VARIETY banyak hal yang berbeda

VARNISH sebuah cat yang berwarna transparan biasanya digunakan untuk membuat mengkilap suatu benda

VEGAN orang yang tidak makan daging atau makanan lain yang berasal dari hewan

VEGETABLE daun-daunan atau bagian dari tanaman yang dimanfaatkan sebagai makanan

VELVET kain yang lembut dan tebal pada satu sisi

VERTEBRA bagian rangka tubuh manusia atau hewan yang terhubung satu sama lain yang membentuk tulang belakang

VICTORY sukses dalam game, perjuangan atau perang

VIDEO rekaman gambar hidup atau program televisi untuk ditayangkan melalui pesawat televisi

VILLA rumah dengan kebun dipedesaan yang berada didataran tinggi

VILLAGE kota sangat kecil dipedesaan

VILLAGER orang yang hidup di desa

VINEGAR sebuah cairan dengan rasa tajam yang kuat digunakan dalam memasak

VIOLA alat musik dengan dawai dimainkan dengan dawai dan diletakkan di bawah pipi, lebih besar dari violin


(23)

VIOLIN alat musik dengan dawai dimainkan dengan dawai dan diletakkan di bawah pipi, lebih kecil dari viola

VIRUS mahluk hidup yang terlalu kecil untuk dilihat yang dapat membuat anda sakit

VISITOR orang yang datang untuk melihat-lihat untuk waktu yang singkat

VITAMIN salah satu zat makanan yang membuat tubuh menjadi sehat

VOICE suara yang keluar ketika anda berbicara atau bernyanyi

VOLCANO sebuah gunung dengan lubang dibagian atas yang dapat menyebabkan kebakaran, gas, dan batu panas yang cair

VOLUME suatu kadar jumlah

VOTER orang yang memberikan suara pada pemilu politik

VOUCHER sebuah kertas yang berisi nominal uang yang biasa digunakan untuk mengisi pulsa

VOYAGE sebuah perjalanan panjang dengan perahu atau di ruang angkasa

VULTURE jenis burung yang memakan hewan mati

WAGON sebuah kendaraan roda empat dengan yang kuda sebagai penariknya

WAIST bagian sempit sekitar tengah tubuh anda

WAISTCOAT pakaian seperti jaket tanpa lengan

WAITER pria yang membawa makanan dan minuman pada restoran

WAITRESS seorang wanita yang membawa makanan dan minuman pada restaoran


(24)

WALLPAPER kertas khusus yang anda gunakan untuk memberi pola atau gambar pada dinding ruangan

WALNUT

buah yang berwarna hijau tua, berkulit keras dan bijinya dapat digunakan sebagai minyak dan bijinya biasa digunakan sebagai pengisi roti

WARDROBE sebuah lemari dimana anda menaruh pakaian anda

WAREHOUSE sebuah bangunan besar dimana orang menyimpan benda sebelum mereka jual

WATCH sesuatu yg dipakai di pergelangan yang dapat menunjukkan waktu

WATER

cairan tanpa warna, bau atau rasa yang jatuh sebagai hujan terdapat di danau, sungai dan laut yang digunakan untuk minum, mencuci, dll

WATERMELON buah bulat, berkulit hijau tebal dan dagingnya berwarna merah segar

WHALE hewan sangat besar yang hidup di laut dan terlihat seperti ikan yang sangat besar

WOMAN manusia perempuan yang telah dewasa

WOODPECKER

burung dengan paruh yang panjang digunakan untuk membuat lubang di pohon ketika mencari serangga untuk dimakan


(25)

BAB I

PENDAHULUAN

1.1 Latar Belakang

Permainan atau sering disebut dengan game merupakan suatu sarana hiburan yang menggunakan media elektronik berbentuk multimedia yang dimainkan oleh banyak orang baik dari kalangan anak-anak, remaja maupun orang dewasa. Game komputer merupakan salah satu aplikasi software yang saat ini banyak dikembangkan. Dengan jenis yang bermacam-macam dan tampilan yang menarik. Selain karena tampilan dan aplikasinya yang menarik, game juga dapat berguna sebagai salah satu sarana pembelajaran untuk melatih dan mengasah kemampuan berpikir seseorang.

Kecerdasan buatan (Artificial Intelegence) merupakan bagian bidang ilmu yang dapat menirukan tingkah laku dan fungsi otak manusia. Hal ini menyebabkan lahirnya berbagai teknologi yang dapat dikatakan bersifat cerdas, khususnya pada perkembangan game. Dengan adanya game berbasis AI ini, membuat para pemain terlibat untuk mengasah dan mengatur strategi untuk mengalahkan AI tersebut.

Untuk itu, penulis tertarik untuk merancang dan membangun sebuah game yaitu: game Hangman berbasis kecerdasan buatan. Hangman adalah permainan dimana pemain akan menebak sebuah kata rahasia. Pemain hanya mengetahui jumlah huruf pada kata berdasarkan jumlah ruang kosong yang tersedia untuk ditebak. Hangman dapat menjadi media pembelajaran untuk meningkatkan perbendaharaan kosakata bahasa.

Algoritma Runut Balik (Backtracking) merupakan salah satu solusi algoritma dalam pencarian solusi yang lebih baik untuk beberapa penyelesaian masalah dan untuk kecerdasan buatan dalam permainan. Algoritma backtracking atau runut balik adalah algoritma yang cara kerjanya berdasarkan pada DFS (Depth First Search). Algoritma ini merupakan perbaikan dari algoritma brute force. Pada algoritma brute force, semua simpul kemungkinan yang ada akan dibangkitkan tanpa melihat apakah simpul tersebut mendekati solusi yang diinginkan atau tidak sehingga memakan waktu yang lama untuk menyelesaikan


(26)

suatu masalah. Lain halnya dengan algoritma backtracking yang secara sistematis mencari solusi persoalan di antara semua kemungkinan solusi yang ada kemudian membangkitkan simpul dari solusi yang mendekati penyelesaian. Dengan kata lain, tidak perlu dibangkitkan simpul yang menjauhi solusi sehingga waktu pencarian solusi dapat dikurangi.

Penulis merasa tertarik untuk mengimplementasikan algoritma backtracking sebagai kecerdasan buatan dalam permainan Hangman. Dimana game terdiri dari dua pemain. Pemain pertama adalah manusia dan pemain kedua adalah komputer. Komputer akan menggunakan algoritma backtracking sebagai kecerdasan buatan untuk menebak huruf-huruf yang sesuai.

Oleh karena itu, dalam penelitian ini penulis mengangkat judul

Implementasi Algoritma Backtracking pada Permainan Hangman” sebagai salah

satu syarat kelulusan jenjang strata satu Teknik Informatika Universitas Muhammadiyah Malang.

1.2 Rumusan Masalah

Dari latar belakang yang telah di uraikan tersebut diatas, maka timbul suatu permasalahan sebagai berikut:

1. Bagaimana mengimplementasikan algoritma Runut Balik (Backtracking) sebagai kecerdasan buatan pada permainan Hangman?

2. Bagaimana merancang permainan yang mengandung unsur pendidikan?

1.3 Batasan Masalah

Pada penelitian ini perlu didefinisikan beberapa batasan sejauh mana penelitian ini akan dikerjakan. Batasan-batasan masalah tersebut adalah sebagai berikut:

1. Implementasi permainan Hangman ini dirancang menggunakan bahasa pemrograman java.

2. Kata yang akan ditebak adalah kosakata dalam bahasa inggris, khususnya kata benda.


(27)

3. Jumlah huruf dalam sebuah kata yaitu minimal lima huruf dan maksimal sepuluh huruf.

4. Permainan ini hanya diperuntukan kelas lima dan kelas enam SD (Sekolah Dasar).

1.4 Tujuan Penelitian

Tujuan yang ingin dicapai dalam penelitian ini adalah:

1. Mengimplementasikan algoritma Runut Balik (Backtracking) sebagai kecerdasan buatan pada permainan Hangman.

2. Merancang permainan yang mengandung unsur pendidikan.

1.5 Metodologi

Adapun metode tugas akhir yang dilakukan terbagi menjadi beberapa bagian sebagai berikut:

1. Studi Pustaka

Tahap pencarian informasi sehubungan dengan proses-proses yang dikembangkan dalam aplikasi. Literatur yang digunakan meliputi buku referensi, dokumentasi internet dan software yang akan digunakan sehingga dapat mendukung penyusunan tugas akhir ini.

2. Analisa dan Perancangan Sistem

Tahap analisa dan perancangan sistem merupakan tahapan untuk melakukan analisa dan pembuatan flowchart mengenai penerapan algoritma backtracking pada permainan Hangman.

3. Implementasi Algoritma Backtracking Permainan Hangman

Tahap implementasi aplikasi adalah tahap pengimplementasian aplikasi terhadap perangkat yang telah tersedia dengan menggunakan bahasa pemrograman java dalam bentuk source code.

4. Pengujian Sistem

Pada tahap ini aplikasi akan diuji apakah telah sesuai dengan tujuan yang diinginkan.


(28)

5. Penyusunan Laporan Tugas Akhir

Tahapan akhir dalam penelitian tugas akhir ini adalah penarikan kesimpulan atas keseluruhan hasil yang diperoleh dari langkah-langkah yang telah dilakukan. Dimana penarikan kesimpulan ini merupakan jawaban dari permasalahan yang ada. Selain itu juga akan diberikan saran sebagai masukan yang berkaitan dengan pengembangan lebih lanjut

1.6 Sistematika Penulisan

Tugas akhir ini akan disusun berdasarkan sistematika pembahasan sebagai berikut:

BAB I : Pendahuluan

Bab ini menjelaskan tentang latar belakang, rumusan masalah, batasan masalah, tujuan penelitian, metode penelitian dan sistematika penulisan..

BAB II : Dasar Teori

Bab ini menguraikan tentang berbagai teori yang mendukung untuk menyelesaikan Tugas Akhir ini.

BAB III : Analisa dan Perancangan Sistem

Bab ini menguraikan tentang perancangan perangkat lunak yang akan dibuat pada tugas akhir ini.

BAB IV : Implementasi dan Hasil Pengujian

Bab ini berisikan pembahasan tentang implementasi algoritma yang disusun pada Bab III dan pengujian terhadap sistem yang dibuat.

BAB V : Penutup

Bab ini berisikan kesimpulan dari keseluruhan uraian bab-bab sebelumnya dan saran-saran yang diajukan untuk pengembangan program selanjutnya.


(29)

BAB II

LANDASAN TEORI

2.1 Kecerdasan Buatan

Kecerdasan buatan atau artificial intelligence merupakan salah satu bagian ilmu komputer yang membuat agar mesin (komputer) dapat melakukan pekerjaan seperti dan sebaik yang dilakukan oleh manusia. Agar komputer bisa bertindak seperti dan sebaik manusia, maka komputer juga harus diberi bekal pengetahuan, dan mempunyai kemampuan berfikir untuk menalar. Untuk itu pada artificial intelligence, akan mencoba untuk memberikan beberapa metode untuk membekali komputer dengan kedua komponen tersebut agar computer bisa menjadi mesin yang pintar [5].

Definisi lain diungkapkan oleh H. A. Simon [1987]. Kecerdasan buatan (artificial intelligence) merupakan kawasan penelitian, aplikasi dan instruksi yang terkait dengan pemrograman komputer untuk melakukan sesuatu hal yang dalam pandangan manusia adalah cerdas [4].

Ada 2 bagian utama yang sangat dibutuhkan untuk aplikasi kecerdasan buatan, yaitu [5]:

1. Basis pengetahuan (knowledge base): berisi fakta-fakta, teori, pemikiran dan hubungan antara satu dengan lainnya.

2. Motor inferensi (inference engine): kemampuan menarik kesimpulan berdasarkan pengetahuan.


(30)

Kecerdasan alami dalam hal ini kecerdasan manusia berbeda dengan kecerdasan buatan. Berikut beberapa kelebihan kecerdasan buatan dan kecerdasan alami. Keuntungan kecerdasan buatan dibanding kecerdasan alamiah:

1. Kecerdasan buatan lebih bersifat permanen. Kecerdasan alami akan cepat mengalami perubahan. Hal ini dimungkinkan karena sifat manusia yang pelupa. Kecerdasan buatan tidak akan berubah sepanjang sistem computer dan program tidak mengubahnya.

2. Kecerdasan buatan lebih mudah diduplikasi dan disebarkan. Mentransfer pengetahuan manusia dari satu orang ke orang lain membutuhkan proses yang sangat lama. Oleh karena itu, jika pengetahuan terletak pada suatu sistem computer, pengetahuan tersebut dapat disalin dari computer tersebut dan dapat dipindahkan dengan mudah ke komputer yang lain.

3. Kecerdasan buatan lebih murah dibandingkan dengan kecerdasan alami. Menyediakan layanan komputer akan lebih mudah dan lebih murah dibandingkan dengan harus mendatangkan seseorang untuk mengerjakan sejumlah pekerjaan dalam jangka waktu yang sangat lama.

4. Kecerdasan buatan bersifat konsisten. Hal ini disebabkan karena kecerdassan buatan adalah bagian dari teknologi komputer. Sedangkan kecerdasan alami akan senantiasa berubah-ubah.

5. Kecerdasan buatan dapat didokumentasi. Keputusan yang dibuat oleh komputer dapat didukumentasikan dengan mudah dengan cara melacak setiap aktivitas dari sistem tersebut. Kecerdasan alami sangat sulit untuk direproduksi.

6. Kecerdasan buatan dapat mengerjakan pekerjaan lebih cepat dibanding dengan kecerdasan alami.

7. Kecerdasan buatan dapat mengerjakan perkerjaan lebih baik dibanding dengan kecerdasan alami.

Sedangkan keuntungan kecerdasan alami dibandingkan kecerdasan buatan adalah:

1. Bersifat lebih kreatif. Kemampuan untuk menambah ataupun memenuhi pengetahuan itu sangat melekat pada jiwa manusia. Pada kecerdasan buatan,


(31)

untuk menambah pengetahuan harus dilakukan melalui system yang dibangun.

2. Kecerdasan alami memungkinkan orang untuk menggunakan pengalaman secara langsung. Sedangkan pada kecerdasan buatan harus bekerja dengan input-input simbolik.

3. Pemikiran manusia dapat digunakan secara luas, sedangkan kecerdasan buatan sangat terbatas.

2.1.1 Lingkup Kecerdasan Buatan pada Aplikasi

Makin pesatnya perkembangan teknologi menyebabkan adanya perkembangan dan perluasan lingkup yang membutuhkan kehadiran kecerdasan

buatan. Karakteristik „cerdas‟ sudah mulai dibutuhkan di berbagai disiplin ilmu

dan teknologi. Kecerdasan buatan tidak hanya dominan dibidang ilmu komputer (informatika), namun juga sudah merambah diberbagai disiplin ilmu yang lain. Kecerdasan buatan juga memberikan konstribusi yang cukup besar dibidang manajemen. Adanya sistem pendukung keputusan, dan Sistem Informasi Manajemen juga tidak terlepas dari andil kecerdasan buatan.

Adanya irisan penggunaan kecerdasan buatan diberbagai ilmu tersebut menyebabkan cukup rumitnya untuk mengklasifikasikan kecerdasan buatan menurut disiplin ilmu yang menggunakannya. Untuk memudahkan hal tersebut, maka pengklasifikasian lingkup kecerdasan buatan berdasarkan output yang diberikan, yaitu pada aplikasi komersial (meskipun sebenarnya kecerdasan buatan itu sendiri bukan merupakan medan komersial).

Lingkup utama dalam kecerdasan buatan adalah [5]:

1. Sistem Pakar (Expert System).

Dalam sistem pakar, komputer digunakan sebagai sarana untuk menyimpan pengetahuan para pakar. Dengan demikian, komputer akan memiliki keahlian untuk menyelesaikan permasalahan dengan meniru keahlian yang dimiliki oleh pakar.


(32)

Dengan pengolahan bahasa alami ini diharapkan user dapat berkomunikasi dengan komputer dengan menggunakan bahasa sehari-hari.

3. Pengenalan Ucapan (Speech Recognition).

Melalui pengenalan ucapan diharapkan manusia dapat berkomunikasi dengan komputer menggunakan suara.

4. Robotika & Sistem Sensor (Robotics & Sensory Systems).

5. Computer Vision, mencoba untuk dapat menginterpretasikan gambar atau objek-objek tampak melalui komputer.

6. Intelligent Computer-aided Instruction. Komputer dapat digunakan sebagai tutor yang dapat melatih dan mengajar.

7. Game Playing.

2.2 Game Playing

Dalam kamus bahasa Indonesia “Game” adalah permainan. Game bertujuan untuk menghibur, dimana game banyak disukai oleh anak-anak hingga orang dewasa. Selain bertujuan untuk menghibur game penting untuk perkembangan otak, untuk meningkatkan konsentrasi dan mengasah kemampuan berpikir seseorang.

Ada beberapa alasan mengapa games merupakan domain yang baik untuk di eksplore, yaitu [5]:

1. Sangat mudah untuk menentukan ukuran kesuksesan dan kegagalannya (menang atau kalah).

2. Tidak membutuhkan terlalu banyak pengetahuan. Permainan dapat diselesaikan dengan melakukan pencarian dari arah start sampai posisi menang.

3. Ruang keadaaan mudah direpresentasikan.

4. Operator-operator yang digunakan tidak terlalu banyak. 5. Sebagian besar game dapat dimodelkan dengan mudah.


(33)

2.3 Searching (Pencarian)

Searching atau Pencarian merupakan suatu proses mencari solusi dari suatu permasalahan melalui sekumpulan kemungkinan ruang keadaan (state space). Ruang keadaan merupakan suatu ruang yang bersisi semua keadaan yang mungkin.

Didalam kecerdasan buatan, metode pencarian sangat menentukan tingkat keberhasilan sistem cerdas tersebut. Teknik pencarian ini terbagi atas 2, yaitu pencarian buta (blind search) dan pencarian heuristic (heuristic search). Pencarian buta merupakan pencarian yang penelusurannya dimulai dengan tidak ada informasi awal yang digunakan dalam proses pencarian. Contohnya Breath-First Search (BFS) dan Depth-First Search (DFS). Sedangkan pencarian heuristik merupakan pencarian yang penelusurannya dimulai dengan adanya informasi awal yang digunakan dalam proses pencarian. Contohnya hill climbing, tabu search, algoritma genetika, algoritma semut dan simulated annealing [6].

2.4 Depth First Search (DFS)

Depth First Seacrh pertama kali diperkenalkan oleh Tarjan dan Hopcroft 20 tahun yang lalu. Metode Depth First Seacrh (DFS) merupakan metode pencarian secara mendalam. Perlu diperhatikan bahwa kebutuhan waktu dalam proses pencarian dengan DFS, sejalan dengan kedalamn maksimum pohon pencarian. Jika kedalaman pohon tidak terbatas, maka dapat dimungkinkan bahwa algoritma tidak akan berhenti. Hal ini dapat terjadi jika ruang pencarian tidak terbatas, atau jika ruang pencarian mengandung siklus keadaan. Dengan demikian algoritma DFS tidak menunjukan sifat komplit, hanya sebagian ruang pencarian yang ditempuh.

Pada Depth First Search, proses pencarian akan dilakukan pada semua anaknya sebelum dilakukan pencarian ke node-node yang selevel. Pencarian dimulai dari node akar ke level yang lebih tinggi. Proses ini diulang terus hingga ditemukan solusi. Sebagai ilustrasinya dapat dilihat pada Gambar 2.2.


(34)

Gambar 2. 2 Depth First Search

Keuntungan DFS adalah:

1. Membutuhkan memori yang relative kecil, karena hanya node-node pada lintasan yang aktif saja yang disimpan.

2. Secara kebetulan, metode depth first search akan menemukan solusi tanpa harus menguji lebih banyak lagi dalam ruang keadaan.

Kelemahan DFS adalah:

1. Memungkinkan tidak ditemukannya tujuan yang diharapkan. 2. Hanya akan mendapatkan 1 solusi pada setiap pencarian.

2.5 Algoritma Runut Balik (Backtracking Algorithm)

Istilah runut balik atau teknik backtracking pertama kali diperkenalkan oleh D.H. Lehmer pada tahun 1950. Selanjutnya di tahun 1960, R. J. Walker, Golomb, dan Baumert menyajikan uraian umum tentang runut balik dan penerapannya pada berbagai persoalan.

Teknik runut balik (backtracking) merupakan salah satu teknik dalam penyelesaian masalah secara umum (General Problem Solving). Adapun dasar dari teknik ini adalah suatu teknik pencarian (Teknik Searching). Teknik pencarian ini digunakan dalam rangka mendapatkan himpunan penyelesaian yang mungkin. Dari himpunan penyelesaian yang mungkin ini akan diperoleh solusi optimal atau memuaskan [2].


(35)

Runut-balik (backtracking) adalah algoritma yang berbasis pada Depth First Search (DFS) untuk mencari solusi persoalan secara lebih mangkus. Runut-balik, yang merupakan perbaikan dari algoritma brute-force, secara sistematis mencari solusi persoalan di antara semua kemungkinan solusi yang ada. Dengan metode runut balik, tidak perlu memeriksa semua kemungkinan solusi yang ada. Hanya pencarian yang mengarah ke solusi saja yang selalu dipertimbangkan. Akibatnya, waktu pencarian dapat dihemat. Saat ini algoritma runut-balik banyak diterapkan untuk program games (seperti game tic-tac-toe, menemukan jalan keluar dalam sebuah labirin, catur, dll) dan masalah-masalah pada bidang kecerdasan buatan (artificial intelligence) [7].

Dalam penelitian yang dilakukan Amin Immaduddin, 2007 algoritma backtracking pada permainan teka-teki silang, algoritma backtracking sudah bisa memberikan jawaban yang pasti sehingga algoritma runut balik juga merupakan algoritma yang sederhana namun cukup mangkus. Hal ini disebabkan karena pada prinsipnya, tidak perlu memeriksa semua kenungkinan solusi yang ada. Pencarian hanya mengarah pada solusi yang dipertimbangkan saja. Algoritma runut balik digunakan untuk mengisi kotak-kotak permainan yang sebelumnya telah dibuat.

Secara umum kerja dari program yang dirancang oleh Amin Immaduddin, 2007 pada penerapan algoritma runut balik dalam permainan teka-teki silang adalah kotak-kotak tek-teki silang direpresentasikan dengan struktur data matriks sehingga setiap kotak akan mewakili indeks. Indeks ini akan digunakan untuk melakukan pencarian kata yang cocok. Pada pengisian kata kedalam kotak-kotak, pertama-tama program akan menentukan deretan kotak awal yang ingin diisi. Program akan menghitung jumlah kotak pada deretan kotak tersebut kemudian akan mencari kata (didalam database yang terdiri atas kumpulan kata (jawaban)) yang memiliki jumlah karakter sama dengan jumlah kotak tersebut.

Dalam pencarian data kata-kata mungkin akan terdapat beberapa kata yang cocok untuk dimasukan kedalam satu deretan kotak, untuk itu program akan memilih kata yang berada lebih awal dalam database kata. Langkah selanjutnya, program akan mengidentifikasi indeks pada deretan kotak yang terhubung dengan deretan kotak lainnya. Program akan mencatat dimana letak hubungan antar deretan kotak tersebut kemudian mencatat indeks dan mengambil karakter yang


(36)

terdapat di dalamnya untuk dibandingkan kembali dengan deretan kata yang ada di dalam database kata.

Jika kata yang dimasukkan berikutnya cocok maka pencarian akan dilanjutkan, namun jika tidak terdapat kata yang cocok maka program akan melakukan backtrack. Sehingga pada penelitian tersebut algoritma backtracking dapat digunakan dalam penelusuran kata.

2.5.1 Properti Umum Metode Runut-Balik

Untuk menerapkan metode runut-balik, properti berikut didefinisikan: 1. Solusi persoalan.

Solusi dinyatakan sebagai vector dengan n-tuple: X=(x1, x2, …, xn), xi  himpunan berhingga Si.

Mungkin saja S1 = S2 = … = Sn.

Contoh: Si = {0,1}, Xi = 0 atau 1

2. Fungsi pembangkit nilai xk Dinyatakan sebagai:

T(k)

T(k) membangkitkan nilai untuk xk, yang merupakan komponen vector solusi

3. Fungsi pembatas (fungsi kriteria) Dinyatakan sebagai:

B(x1, x2, …,xk)

Fungsi pembatas menentukan apakah (x1, x2, x3, …, xk) mengarah ke

solusi. Jika ya, maka pembangkitan nilai untuk xk+1 dilanjutkan, tetapi jika

tidak, maka (x1, x2, …, xk) dibuang dan tidak dipertimbangkan lagi dalam

pencarian solusi.

2.5.2 Prinsip Pencarian Solusi dengan Metode Runut-Balik Langkah-langkah pencarian solusi adalah sebagai berikut:

1. Solusi dicari dengan membentuk lintasan dari akar ke daun. Aturan pembentukan yang dipakai adalah mengikuti aturan pencarian mendalam (DFS). Simpul-simpul yang sudah dilahirkan dinamakan simpul hidup


(37)

(live node). Simpul hidup yang sedang diperluas dinamakan simpul-E (Expand-node).

2. Tiap kali simpul-E diperluas, lintasan yang dibangun olehnya bertambah panjang. Jika lintasan yang sedang dibentuk tidak mengarah ke solusi, maka simpul-E tersebut “dinonaktifkan” sehingga menjadi simpul mati (dead node). Fungsi yang digunakan untuk menonaktifkan simpul-E adalah dengan menerapkan fungsi pembatas (bounding function). Simpul yang sudah mati tidak akan pernah diperluas lagi.

3. Jika pembentukan lintasan berakhir dengan simpul mati, maka proses pencarian diteruskan dengan membangkitkan simpul anak yang lainnya. Bila tidak ada lagi simpul anak yang dapat dibangkitkan,maka pencarian solusi dilanjutkan dengan melakukan runut-balik (backtrack) ke simpul hidup terdekat (simpul orang tua). Selanjutnya simpul ini menjadi simpul-E yang baru.

4. Pencarian dihentikan bila kita telah menemukan solusi atau tidak ada lagi simpul hidup untuk runut-balik (backtrack).


(1)

4 Dengan pengolahan bahasa alami ini diharapkan user dapat berkomunikasi dengan komputer dengan menggunakan bahasa sehari-hari.

3. Pengenalan Ucapan (Speech Recognition).

Melalui pengenalan ucapan diharapkan manusia dapat berkomunikasi dengan komputer menggunakan suara.

4. Robotika & Sistem Sensor (Robotics & Sensory Systems).

5. Computer Vision, mencoba untuk dapat menginterpretasikan gambar atau objek-objek tampak melalui komputer.

6. Intelligent Computer-aided Instruction. Komputer dapat digunakan sebagai tutor yang dapat melatih dan mengajar.

7. Game Playing.

2.2 Game Playing

Dalam kamus bahasa Indonesia “Game” adalah permainan. Game bertujuan untuk menghibur, dimana game banyak disukai oleh anak-anak hingga orang dewasa. Selain bertujuan untuk menghibur game penting untuk perkembangan otak, untuk meningkatkan konsentrasi dan mengasah kemampuan berpikir seseorang.

Ada beberapa alasan mengapa games merupakan domain yang baik untuk di eksplore, yaitu [5]:

1. Sangat mudah untuk menentukan ukuran kesuksesan dan kegagalannya (menang atau kalah).

2. Tidak membutuhkan terlalu banyak pengetahuan. Permainan dapat diselesaikan dengan melakukan pencarian dari arah start sampai posisi menang.

3. Ruang keadaaan mudah direpresentasikan.

4. Operator-operator yang digunakan tidak terlalu banyak. 5. Sebagian besar game dapat dimodelkan dengan mudah.


(2)

5

2.3 Searching (Pencarian)

Searching atau Pencarian merupakan suatu proses mencari solusi dari suatu permasalahan melalui sekumpulan kemungkinan ruang keadaan (state space). Ruang keadaan merupakan suatu ruang yang bersisi semua keadaan yang mungkin.

Didalam kecerdasan buatan, metode pencarian sangat menentukan tingkat keberhasilan sistem cerdas tersebut. Teknik pencarian ini terbagi atas 2, yaitu pencarian buta (blind search) dan pencarian heuristic (heuristic search). Pencarian buta merupakan pencarian yang penelusurannya dimulai dengan tidak ada informasi awal yang digunakan dalam proses pencarian. Contohnya Breath-First Search (BFS) dan Depth-First Search (DFS). Sedangkan pencarian heuristik merupakan pencarian yang penelusurannya dimulai dengan adanya informasi awal yang digunakan dalam proses pencarian. Contohnya hill climbing, tabu search, algoritma genetika, algoritma semut dan simulated annealing [6].

2.4 Depth First Search (DFS)

Depth First Seacrh pertama kali diperkenalkan oleh Tarjan dan Hopcroft 20 tahun yang lalu. Metode Depth First Seacrh (DFS) merupakan metode pencarian secara mendalam. Perlu diperhatikan bahwa kebutuhan waktu dalam proses pencarian dengan DFS, sejalan dengan kedalamn maksimum pohon pencarian. Jika kedalaman pohon tidak terbatas, maka dapat dimungkinkan bahwa algoritma tidak akan berhenti. Hal ini dapat terjadi jika ruang pencarian tidak terbatas, atau jika ruang pencarian mengandung siklus keadaan. Dengan demikian algoritma DFS tidak menunjukan sifat komplit, hanya sebagian ruang pencarian yang ditempuh.

Pada Depth First Search, proses pencarian akan dilakukan pada semua anaknya sebelum dilakukan pencarian ke node-node yang selevel. Pencarian dimulai dari node akar ke level yang lebih tinggi. Proses ini diulang terus hingga ditemukan solusi. Sebagai ilustrasinya dapat dilihat pada Gambar 2.2.


(3)

6 Gambar 2. 2 Depth First Search

Keuntungan DFS adalah:

1. Membutuhkan memori yang relative kecil, karena hanya node-node pada lintasan yang aktif saja yang disimpan.

2. Secara kebetulan, metode depth first search akan menemukan solusi tanpa harus menguji lebih banyak lagi dalam ruang keadaan.

Kelemahan DFS adalah:

1. Memungkinkan tidak ditemukannya tujuan yang diharapkan. 2. Hanya akan mendapatkan 1 solusi pada setiap pencarian.

2.5 Algoritma Runut Balik (Backtracking Algorithm)

Istilah runut balik atau teknik backtracking pertama kali diperkenalkan oleh D.H. Lehmer pada tahun 1950. Selanjutnya di tahun 1960, R. J. Walker, Golomb, dan Baumert menyajikan uraian umum tentang runut balik dan penerapannya pada berbagai persoalan.

Teknik runut balik (backtracking) merupakan salah satu teknik dalam penyelesaian masalah secara umum (General Problem Solving). Adapun dasar dari teknik ini adalah suatu teknik pencarian (Teknik Searching). Teknik pencarian ini digunakan dalam rangka mendapatkan himpunan penyelesaian yang mungkin. Dari himpunan penyelesaian yang mungkin ini akan diperoleh solusi optimal atau memuaskan [2].


(4)

7 Runut-balik (backtracking) adalah algoritma yang berbasis pada Depth First Search (DFS) untuk mencari solusi persoalan secara lebih mangkus. Runut-balik, yang merupakan perbaikan dari algoritma brute-force, secara sistematis mencari solusi persoalan di antara semua kemungkinan solusi yang ada. Dengan metode runut balik, tidak perlu memeriksa semua kemungkinan solusi yang ada. Hanya pencarian yang mengarah ke solusi saja yang selalu dipertimbangkan. Akibatnya, waktu pencarian dapat dihemat. Saat ini algoritma runut-balik banyak diterapkan untuk program games (seperti game tic-tac-toe, menemukan jalan keluar dalam sebuah labirin, catur, dll) dan masalah-masalah pada bidang kecerdasan buatan (artificial intelligence) [7].

Dalam penelitian yang dilakukan Amin Immaduddin, 2007 algoritma backtracking pada permainan teka-teki silang, algoritma backtracking sudah bisa memberikan jawaban yang pasti sehingga algoritma runut balik juga merupakan algoritma yang sederhana namun cukup mangkus. Hal ini disebabkan karena pada prinsipnya, tidak perlu memeriksa semua kenungkinan solusi yang ada. Pencarian hanya mengarah pada solusi yang dipertimbangkan saja. Algoritma runut balik digunakan untuk mengisi kotak-kotak permainan yang sebelumnya telah dibuat.

Secara umum kerja dari program yang dirancang oleh Amin Immaduddin, 2007 pada penerapan algoritma runut balik dalam permainan teka-teki silang adalah kotak-kotak tek-teki silang direpresentasikan dengan struktur data matriks sehingga setiap kotak akan mewakili indeks. Indeks ini akan digunakan untuk melakukan pencarian kata yang cocok. Pada pengisian kata kedalam kotak-kotak, pertama-tama program akan menentukan deretan kotak awal yang ingin diisi. Program akan menghitung jumlah kotak pada deretan kotak tersebut kemudian akan mencari kata (didalam database yang terdiri atas kumpulan kata (jawaban)) yang memiliki jumlah karakter sama dengan jumlah kotak tersebut.

Dalam pencarian data kata-kata mungkin akan terdapat beberapa kata yang cocok untuk dimasukan kedalam satu deretan kotak, untuk itu program akan memilih kata yang berada lebih awal dalam database kata. Langkah selanjutnya, program akan mengidentifikasi indeks pada deretan kotak yang terhubung dengan deretan kotak lainnya. Program akan mencatat dimana letak hubungan antar deretan kotak tersebut kemudian mencatat indeks dan mengambil karakter yang


(5)

8 terdapat di dalamnya untuk dibandingkan kembali dengan deretan kata yang ada di dalam database kata.

Jika kata yang dimasukkan berikutnya cocok maka pencarian akan dilanjutkan, namun jika tidak terdapat kata yang cocok maka program akan melakukan backtrack. Sehingga pada penelitian tersebut algoritma backtracking dapat digunakan dalam penelusuran kata.

2.5.1 Properti Umum Metode Runut-Balik

Untuk menerapkan metode runut-balik, properti berikut didefinisikan: 1. Solusi persoalan.

Solusi dinyatakan sebagai vector dengan n-tuple: X=(x1, x2, …, xn), xi  himpunan berhingga Si. Mungkin saja S1 = S2 = … = Sn.

Contoh: Si = {0,1}, Xi = 0 atau 1 2. Fungsi pembangkit nilai xk

Dinyatakan sebagai: T(k)

T(k) membangkitkan nilai untuk xk, yang merupakan komponen vector solusi

3. Fungsi pembatas (fungsi kriteria) Dinyatakan sebagai:

B(x1, x2, …,xk)

Fungsi pembatas menentukan apakah (x1, x2, x3, …, xk) mengarah ke solusi. Jika ya, maka pembangkitan nilai untuk xk+1 dilanjutkan, tetapi jika tidak, maka (x1, x2, …, xk) dibuang dan tidak dipertimbangkan lagi dalam pencarian solusi.

2.5.2 Prinsip Pencarian Solusi dengan Metode Runut-Balik Langkah-langkah pencarian solusi adalah sebagai berikut:

1. Solusi dicari dengan membentuk lintasan dari akar ke daun. Aturan pembentukan yang dipakai adalah mengikuti aturan pencarian mendalam (DFS). Simpul-simpul yang sudah dilahirkan dinamakan simpul hidup


(6)

9 (live node). Simpul hidup yang sedang diperluas dinamakan simpul-E (Expand-node).

2. Tiap kali simpul-E diperluas, lintasan yang dibangun olehnya bertambah panjang. Jika lintasan yang sedang dibentuk tidak mengarah ke solusi, maka simpul-E tersebut “dinonaktifkan” sehingga menjadi simpul mati (dead node). Fungsi yang digunakan untuk menonaktifkan simpul-E adalah dengan menerapkan fungsi pembatas (bounding function). Simpul yang sudah mati tidak akan pernah diperluas lagi.

3. Jika pembentukan lintasan berakhir dengan simpul mati, maka proses pencarian diteruskan dengan membangkitkan simpul anak yang lainnya. Bila tidak ada lagi simpul anak yang dapat dibangkitkan,maka pencarian solusi dilanjutkan dengan melakukan runut-balik (backtrack) ke simpul hidup terdekat (simpul orang tua). Selanjutnya simpul ini menjadi simpul-E yang baru.

4. Pencarian dihentikan bila kita telah menemukan solusi atau tidak ada lagi simpul hidup untuk runut-balik (backtrack).