I. PENDAHULUAN. 1.1 Permainan Rush Hour

dokumen-dokumen yang mirip
Penerapan strategi runut-balik dalam penyelesaian permainan puzzle geser

Penerapan Pohon dengan Algoritma Branch and Bound dalam Menyelesaikan N-Queen Problem

Aplikasi Pohon pada Pohon Binatang (Animal Tree)

Menyelesaikan Permainan Wordament Menggunakan Algoritma Backtracking

Strategi Permainan Menggambar Tanpa Mengangkat Pena

Aplikasi Pohon dan Logika pada Variasi Persoalan Koin Palsu

Penyelesaian Five Coins Puzzle dan Penghitungan Worst-case Time dengan Pembuatan Pohon Keputusan

Penggunaan Pohon Biner Sebagai Struktur Data untuk Pencarian

Pemanfaatan Pohon Biner dalam Pencarian Nama Pengguna pada Situs Jejaring Sosial

Aplikasi Pohon Pencarian Biner Seimbang sebagai Memo Table Dynamic Programming

Penerapan Algoritma BFS dan DFS dalam Mencari Solusi Permainan Rolling Block

Penerapan Algoritma DFS pada Permainan Sudoku dengan Backtracking

PENERAPAN GRAF DAN POHON DALAM SISTEM PERTANDINGAN OLAHRAGA

PENERAPAN ALGORITMA BACKTRACKING PADA PERMAINAN WORD SEARCH PUZZLE

Penerapan Pohon Keputusan pada Pemilihan Rencana Studi Mahasiswa Institut Teknologi Bandung

Pohon. Bahan Kuliah IF2120 Matematika Diskrit. Program Studi Teknik Informatika ITB. Rinaldi M/IF2120 Matdis 1

Variasi Pohon Pencarian Biner Seimbang

Aplikasi Pohon Keputusan dalam PLL Patern Recognition Rubiks Cube

Pemanfaatan Algoritma Runut-Balik dalam Menyelesaikan Puzzle NeurOn dalam Permainan Logical Cell

Implementasi Pohon Keputusan untuk Membangun Jalan Cerita pada Game Engine Unity

Penerapan Algoritma Greedy untuk Permainan Halma

Penerapan Algoritma Runut Balik pada Pathuku Games

DEFINISI. Pohon adalah graf tak-berarah terhubung yang tidak mengandung sirkuit. pohon pohon bukan pohon bukan pohon 2

Penerapan Pohon Untuk Menyelesaikan Masalah Labirin

Algoritma Puzzle Pencarian Kata

Penggunaan Graf Semi-Hamilton untuk Memecahkan Puzzle The Hands of Time pada Permainan Final Fantasy XIII-2

Aplikasi Algoritma Traversal Dalam Binary Space Partitioning

Pemanfaatan Pohon dalam Realisasi Algoritma Backtracking untuk Memecahkan N-Queens Problem

Penerapan Pohon dan Himpunan dalam Klasifikasi Bahasa

Perbandingan Algoritma Depth-First Search dan Algoritma Hunt-and-Kill dalam Pembuatan Labirin

Penerapan strategi BFS untuk menyelesaikan permainan Unblock Me beserta perbandingannya dengan DFS dan Branch and Bound

Penerapan Pohon Keputusan pada Penerimaan Karyawan

Pembentukan pohon pencarian solusi dan perbandingan masingmasing algoritma pembentuknya dalam simulasi N-Puzzle

Aplikasi Pohon dan Graf dalam Kaderisasi

Penerapan Teori Graf dalam Game Bertipe Real Time Strategy (RTS)

Penerapan Algoritma Branch and Bound pada Penentuan Staffing Organisasi dan Kepanitiaan

I. PENDAHULUAN. Gambar 1. Contoh-contoh graf

Pohon dan Aplikasinya dalam Bagan Silsilah Keturunan

Penggunaan Pohon Biner dalam Binary Space Partition untuk Membuat Dungeon Game Roguelike RPG

Pencarian Solusi Permainan Pipe Puzzle Menggunakan Algoritma Backtrack

Penyelesaian Permainan Sliding Puzzle 3x3 Menggunakan Algoritma Greedy Dengan Dua Fungsi Heuristik

PENCARIAN SOLUSI TTS ANGKA DENGAN ALGORITMA RUNUT BALIK BESERTA PENGEMBANGANNYA

Implementasi Algoritma DFS pada Pewarnaan Gambar Sederhana Menggunakan Bucket tool

PERMAINAN KNIGHT S TOUR DENGAN ALGORITMA BACKTRACKING DAN ATURAN WARNSDORFF

Algoritma Backtracking Pada Permainan Peg Solitaire

Perbandingan Algoritma Brute Force dan Backtracking dalam Permainan Word Search Puzzle

Penerapan Algoritma BFS dan DFS dalam Permainan Ular Tangga

Penerapan Pohon dalam Algoritma Expectiminimax untuk Permainan Stokastik

Penerapan Algoritma DFS dan BFS untuk Permainan Wordsearch Puzzle

ANALISIS ALGORITMA PEMBANGUN POHON EKSPRESI DARI NOTASI PREFIKS DAN POSTFIKS

Algoritma Backtracking Pada Logic Game : Family Crisis (Game Penyebrangan)

Penerapan Pohon Biner dalam Proses Pengamanan Peer to Peer

Aplikasi Graf untuk Penentuan Aksi Robot Sepak Bola (Robosoccer)

Implementasi Pohon Keputusan untuk Menganalisa Desain Sistem Battle pada Game Brightsouls

Penerapan Algoritma Prim dan Kruskal Acak dalam Pembuatan Labirin

TUGAS MAKALAH INDIVIDUAL. Mata Kuliah : Matematika Diskrit / IF2153 Nama : Dwitiyo Abhirama NIM :

APLIKASI POHON DALAM PENCARIAN CELAH KEAMANAN SUATU JARINGAN

Analisis Penerapan Algoritma Kruskal dalam Pembuatan Jaringan Distribusi Listrik

P o h o n. Definisi. Oleh: Panca Mudji Rahardjo. Pohon. Adalah graf tak berarah terhubung yang tidak mengandung sirkuit.

Aplikasi Pohon Keputusan dalam Pemilihan Penerima Beasiswa UKT

Penerapan Algoritma A-star (A*) Untuk Menyelesaikan Masalah Maze

Implementasi Pohon Dalam Permainan Ragnarok Online Valkyrie Uprising

Pengaplikasian Pohon dalam Mekanisme Pengambilan Skill Game Dota 2

Pohon (TREE) Matematika Deskrit. Hasanuddin Sirait, MT 1

Aplikasi Algoritma Greedy untuk Menyelesaikan Permainan Magic Wingdom

Matematika Diskret (Pohon) Instruktur : Ferry Wahyu Wibowo, S.Si., M.Cs.

Penerapan DFS dan BFS dalam Pencarian Solusi Game Japanese River IQ Test

Penggunaan Algoritma Greedy untuk menyelesaikan Permainan Othello

Pohon (Tree) Universitas Gunadarma Sistem Informasi 2012/2013

Definisi. Pohon adalah graf tak-berarah, terhubung, dan tidak mengandung sirkuit. pohon pohon bukan pohon bukan pohon (ada sikuit) (tdk terhubung)

APLIKASI PEWARNAAN GRAPH PADA PEMBUATAN JADWAL

Asah Otak dengan Knight s Tour Menggunakan Graf Hamilton dan Backtracking

Penerapan Algoritma Brute-Force serta Backtracking dalam Penyelesaian Cryptarithmetic

Penerapan Algoritma Backtracking pada Knight s Tour Problem

Penerapan Pewarnaan Graf dalam Alat Pemberi Isyarat Lalu Lintas

Penggunaan Algoritma DFS dan BFS pada Permainan Three Piles of Stones

Penerapan Algoritma Greedy pada Permainan Tower Defense

Implementasi Algoritma Backtracking untuk Memecahkan Puzzle The Tile Trial pada Permainan Final Fantasy XIII-2

Aplikasi Pohon dalam Pengambilan Keputusan oleh Sebuah Perusahaan

Aplikasi Algoritma Runut-balik untuk Penyelesaian Jenis Permainan Smart Mike pada Permainan Mike 2 in 1

Penyelesaian Permasalahan Knight s Tour Menggunakan Algoritma Breadth First Search (BFS)

Aplikasi Graf dalam Rute Pengiriman Barang

Pencarian Pohon Solusi Permainan Alchemy Menggunakan Algoritma BFS dan DFS

Aplikasi Graf dalam Merancang Game Pong

Penggunaan Algoritma Greedy Dalam Perancangan Papan Teka Teki Silang

Penggunaan Strategi Algoritma Backtracking pada Pencarian Solusi Puzzle Pentomino

Perbandingan Algoritma Brute Force dan Breadth First Search dalam Permainan Onet

Menyelesaikan Topological Sort Menggunakan Directed Acyclic Graph

Penerapan Algoritma Runut-balik pada Permainan Math Maze

Penerapan Algoritma A* dalam Penentuan Lintasan Terpendek

Penerapan Algoritma Backtracking pada Game The Lonely Knight

Penerapan Algoritma Runut-Balik untuk Menyelesaikan Permainan Pencarian Kata

Penerapan Teori Graf untuk Menyelesaikan Teka-Teki Permainan The Knight's Tour

Penerapan Travelling Salesman Problem dalam Penentuan Rute Pesawat

Implementasi Algoritma Runut Balik dalam Pengenalan Citra Wajah pada Basis Data

Pembentukan Pohon Pencarian Solusi dalam Persoalan N-Ratu (The N-Queens Problem)

Aplikasi Graf Berarah dan Pohon Berakar pada Visual Novel Fate/Stay Night

Definisi. Pohon adalah graf tak-berarah terhubung yang tidak mengandung sirkuit. pohon pohon bukan pohon bukan pohon

Penerapan Graf dan Pohon pada Klasifikasi Aplikasi di Play Store

Aplikasi Teori Graf dalam Permainan Instant Insanity

Transkripsi:

Dimas Angga Saputra 13510046 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung 40132, Indonesia 13510046@std.stei.itb.ac.id Abstract makalah ini membahas bagaimana teori pohon diimplementasikan menjadi sebuah struktur data dalam pemrograman, studi kasus pada makalah ini adalah permainan otak rush hour. Index Terms pohon, struktur data, rush hour, if-thenelse. Gambar initial state permainan, tujuan permainan adalah mengeluarkan mobil sedan jingga yang sejajar dengan jalur exit melewati garis panah dengan memindahmindahkan mobil-mobil lain sesuai orientasi masingmasing mobil. 1.1 Permainan Rush Hour I. PENDAHULUAN Rush Hour merupakan sebuah game otak (brain game) di mana Pemain harus mengeluarkan mobil pemain pada jam-jam pulang kantor (rush hour) dari tempat parkir yang penuh dengan mobil yang diparkir secara tidak teratur (melintang, lurus, dan sebagainya). Pintu keluar hanya satu dan pemain berlagak seperti tukang parkir dengan mendorong mobil-mobil maju atau mundur sesuai arahnya. Pemain tidak boleh mengubah arah mobil lain. Rush Hour adalah teka-teki blok geser (sliding bliock) yang diciptakan oleh Nob Yoshigahara di akhir 1970-an dan pertama dijual di Amerika Serikat pada tahun 1996. Area parkir berukuran grid m n, dan setiap mobil bisa memakai (occupy) minimal 2 buah grid.. Secara umum game ini adalah game puzzle yang menggunakan keputusan-keputusan dari pemain sabagai faktor utama penentu kemenangan. Karenanya, memetakan keputusan yang diambil baik sudah diambil, akan diambil, atau tidak jadi diambil sangat penting dalam game ini. Jika diilustrasikan maka initial state dan final state adalah : Gambar final state permainan, terlihat bahwa objektif telah berhasil dilakukan dan pemain dapat melanjutkan ke tingkat kesulitan yang lebih tinggi. 1.2 Teori Pohon Dalam konteks ini, pohon adalah graf tak berarah, terhubung, yang tidak memiliki sirkuit. Secara umum teorema mengenai definisi pohon adalah : Teorema : Misalkan G = (V, E) adalah graf tak-berarah sederhana dan jumlah simpulnya n. Maka, semua pernyataan di bawah ini adalah ekivalen: 1. G adalah pohon. 2. Setiap pasang simpul di dalam G terhubung dengan lintasan tunggal.

3. G terhubung dan memiliki m = n 1 buah sisi. 4. G tidak mengandung sirkuit dan memiliki m = n 1 buah sisi. 5. G tidak mengandung sirkuit dan penambahan satu sisi pada graf akan membuat hanya satu sirkuit. G terhubung dan semua sisinya adalah jembatan. a a Teorema tersebut juga merupakan definisi lain pohon. Ilustrasi contoh pohon dan bukan pohon adalah : b c d b c d e f g e f g h i j h i j Kiri : Pohon berakar Kanan : Sesuai perjanjian, arah dalam garis pohon boleh dibuang. i.pohon (terhubung, tidak ada sirkuit) Terminologi dalam pohon berakar : 1. Child (anak) dan Parent (Orang tua) Dalam contoh pohon berakar diatas, b adalah child dari a, dan a adalah parent dari b. begitupun h adalah child dari e, dan e adalah parent dari h. 2. Path (lintasan) Dalam contoh pohon berakar diatas, lintasan dari a ke i adalah a b e i. dengan panjang lintasan adalah 3. ii. Bukan pohon, ada bagian yang tidak terhubung 3. Sibling (saudara sekandung) Dalam contoh pohon berakar diatas, e adalah sibling f. namun e bukan sibling g. 4. Sub-Tree (upa pohon) Jika dicontohkan dengan gambar : iii. Bukan pohon, ada sirkuit a-d-f-a Dalam teori ini, ada pula pohon berakar yang memiliki definisi : Pohon yang satu buah simpulnya diperlakukan sebagai akar dan sisi-sisinya diberi arah sehingga menjadi graf berarah dinamakan pohon berakar (rooted tree).

Bisa ditarik kesimpulan sub-tree adalah pohon didalam pohon atau pohon bagian yang lebih kecil didalam pohon yang lebih besar 5. Degree (derajat) Dalam contoh pohon berakar diatas, derajat a adalah 3, derajat b adalah 2. Bisa ditarik kesimpulan, derajat adalah jumlah anak dihitung dari simpul yang dimaksud. 6. Leaf (daun) Merupakan simpul-simpul yang derajatnya 0, atau tidak memiliki child. Dalam contoh pohon berakar diatas, leaf adalah c,f, g, h,i, j Adalah node 15 7. Internal nodes (simpul dalam) Simpul yang mempunyai anak adalah simpul dalam. Dalam contoh pohon berakar diatas, b, d,e adalah internal nodes. 8. Depth (kedalaman) Merupakan jumlah tingkat dengan akar adalah tingkat 0, jika memiliki satu anak, kedalaman bertambah 1. Dalam contoh pohon berakar diatas, kedalamannya adalah 3. Sementara gambar ini adalah node 14 (misal node tersebut menghasilkan kegagalan.) II. POHON PADA PERMAINAN RUSH HOUR Dalam permainan Rush Hour yang berfokus pada keputusan dan solusi, pohon bisa digunakan sebagai representasi sturuktur data dari kemungkinankemungkinan solusi yang mungkin dilakukan. Jika diilustrasikan dengan gambar maka pohon akan menjadi seperti : Dimana 15 merepresentasikan initial-state. Dan setiap daun merepresentasikan final state dengan dua kemungkinan, permainan berhasil atau gagal diselesaikan. Setiap node pada pohon merepresntasikan langkah yang diambil misal : Adalah node 40 (misal node tersebut menghasilkan keberhasilan. Dalam implementasinya, bisa saja node 14, 15 atau lebih (lebih dari satu node) menghasilkan kegagalan, baik dengan kondisi yang sama, ataupun berbeda. Begitupun isi 2 node yang berbeda mungkin sama namun cara mencapainya berbeda.

III. ANALISIS DAN PEMBAHASAN Dalam pemrograman, metode pencarian solusi dengan data struktur tree sangatlah berguna, jika dijabarkan langkah-langkah pembangunan algoritma pencarian solusi tersebut dengan ilustrasi, maka bisa dicontohkan dengan : missal pohon ini adalah pohon solusi, Setelah itu asumsikan node 2 adalah node akhir (karena sebenarnya kemungkinan solusinya sangat banyak, bisa mencapai ribuan, untuk mempersingkat, digunakan asumsi dan permisalan) dan node 2 menemukan kegagalan dengan solusi : State ini adalah node 15 sebagai permulaan. setelah itu algoritma akan mencoba node 8 yang missal berisi solusi : Maka algoritma akan mencoba solusi di node 5, jika masih ditemui kegagalan, algoritma akan mencoba secara berurutan node 12 11 14 (karena node 4 sudah lebih dulu dicoba) dengan asumsi ketika missal solusi ditemukan di node 11, maka pencarian dihentikan untuk menghemat waktu. Ketika algoritma belum menemukan solusi di tingkat tersebut, maka akan dicari ke tingkat yang lebih atas yaitu node 45 yang missal berisi solusi : Dan algoritma mencoba meneruskan mencoba node 4 yang missal berisi solusi : s

dilanjutkan mencoba solusi yang tersimpan di node 22 yang misal berisi : then endwhile End. else endif cek sibling parent stop Jadi algoritma pertama mengecek terus anak terkiri sampai mencapai daun, ketika solusi tidak ditemukan, akan dicek sibling dari daun tersebut, ketika tidak ditemukan juga, akan dicek sibling dari parent dari daun tersebut sampai ke anak-anaknya, jika masih tidak ditemukan akan naik ke sibling dari parent ke tingkat yang lebih atas. Dengan algoritma tersebut urutan pencarian dari pohon contoh adalah : Asumsikan beberapa node setelah node 22 (dengan urutan pencarian seperti yang dilakukan sebelumnya) solusi ditemukan : 15 8 4 2 5-12- 11 14-45 22 16 40 70 55 81 Dengan asumsi solusi ditemukan di node 81 atau solusi tidak ditemukan setelah mengecek semua node. Pencarian pun dihentikan dengan mengeluarkan solusi posisi-posisi mobil. Ada pula kemungkinan ketika seluruh solusi sudah dipetakan, namun tidak ada satupun node yang berisi keberhasilan maka algoritma akan memberitahukan solusi tidak ditemukan. Singkatnya, metode pencarian solusi di pohon adalah : Begin Mulai /* mengecek state akar */ while (solusi belum ditemukan or belum semua daun dicek) while (belum mencapai daun) Cek anak terkiri endwhile if (solusi ditemukan) then stop else cek sibling endif IV. KESIMPULAN Setelah melakukan studi pustaka maka kesimpulan yang dapat diambil adalah : 1. Konsep pohon dapat diimplementasikan menjadi sebuah struktur data 2. Dalam pemetaan solusi, pencarian dengan struktur data ini dapat membantu jika harus melakukan runut balik 3. Implementasi konsep pohon dapat digunakan untuk pemecahan masalah yang berbasiskan keputusan atau solusi. 4. Konsep if-then-else sangat erat kaitannya dengan struktur data ini. DAFTAR REFERENSI [1]. Munir, Rinaldi. (2006). B ahan Kuliah IF2153 Matematika Diskrit. Departemen Teknik Informatika, Institut Teknologi Bandung. [2]. http://www.agame.com/game/rush_hour_2.html Tanggal akses : selasa 18 desember 2012 pukul 18.05 [3]. http://www.freepatentsonline.com/6567815-0-large.jpg tanggal akses : selasa 18 desember 2012 pukul 19.24 [4]. www.thinkfun.com/microsite/rushhour/nob tanggal akses : selasa 18 desember 2012 pukul 08.42 if (solusi tidak ditemukan di sibling)

PERNYATAAN Dengan ini saya menyatakan bahwa makalah yang saya tulis ini adalah tulisan saya sendiri, bukan saduran, atau terjemahan dari makalah orang lain, dan bukan plagiasi. Bandung, 18 Desember 2010 Ttd Dimas Angga Saputra 13510046