PENERAPAN ALGORITMA GREEDY DALAM PENCARIAN SOLUSI TERBAIK PADA PERMAINAN TETRIS

dokumen-dokumen yang mirip
Penerapan Algoritma Greedy dalam Permainan Tetris

IMPLEMENTASI ALGORITMA GREEDY PADA PERMAINAN OTHELLO

PENGGUNAAN ALGORITMA GREEDY DALAM PERMAINAN KARTU BLACK JACK

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

BAB I PENDAHULUAN. 1.1 Latar belakang masalah

IMPLEMENTASI ALGORITMA GREEDY PADA PERMAINAN CONGKLAK

Penerapan Algoritma Greedy untuk Permainan Halma

Penerapan Algoritma Greedy untuk Permainan Flood It

Penerapan Algoritma Greedy dalam Permainan Connect 4

APLIKASI ALGORITMA GREEDY DALAM PERMAINAN JAWBREAKER

Penerapan Algoritma Greedy pada Permainan Kartu 100

Implementasi Algoritma Greedy Dua Sisi pada Permainan 2048

ALGORITMA GREEDY DALAM PERMAINAN DOTS AND BOXES

Penggunaan Algoritma Greedy untuk Mencari Solusi Optimal dalam Permainan Brick Breaker

APLIKASI GREEDY PADA ALGORITMA HUFFMAN UNTUK KOMPRESI TEKS

PERBANDINGAN APLIKASI ALGORITMA BRUTE-FORCE DAN KOMBINASI ALGORITMA BREADTH FIRST SEARCH DAN GREEDY DALAM PENCARIAN SOLUSI PERMAINAN TREASURE HUNT

Penerapan Prinsip Greedy dalam Permainan Kartu Hearts

Penerapan Algoritma Greedy pada Permainan Bubble Breaker

Penerapan Algoritma Greedy dan Backtrackng Dalam Penyelesaian Masalah Rubik s Cube

Penerapan Algoritma Greedy dalam Permainan MarketGlory

Perbandinganan Penggunaan Algoritma Greedy dan Modifikasi Algoritma Brute Force pada Permainan Collapse XXL

Pemilihan Monster yang Akan Digunakan dalam Permainan Yu-Gi-Oh! Capsule Monster Coliseum

Penerapan Algoritma Greedy dalam Permainan Bantumi

Penerapan Algoritma Greedy dalam Permainan Othello

Penerapan Algoritma Greedy Pada Permainan Kartu Truf

Penerapan Algoritma Greedy dalam Pencarian Rantai Penjumlahan Terpendek

Implementasi Algoritma Greedy pada Permainan Ludo

Penerapan Algoritma Greedy pada Permainan Fire Emblem

Solusi Terbaik Permainan Rocket Mania Deluxe dengan Pendekatan Algoritma BFS dan Algoritma Greedy

Penerapan Algoritma Greedy dan Breadth First Search pada Permainan Kartu Sevens

Aplikasi Algoritma Greedy dalam Penjurusan Mahasiswa Tingkat Pertama Institut Teknologi Bandung

Penggunaan Algoritma Backtracking pada Permainan Mummy Maze

Penerapan Algoritma Greedy pada Intelegensia Buatan untuk Transfer Pemain dalam Permainan Simulasi Sepakbola

METODE BRANCH AND BOUND UNTUK MENEMUKAN SHORTEST PATH

Penerapan Algoritma Greedy dalam Pembuatan Artificial Intelligence Permainan Reversi

Algoritma Greedy untuk AI dalam Permainan DotA

Penggunaan Algoritma Greedy Untuk Menyelesaikan Permainan Cluedo

Aplikasi Algoritma Greedy untuk Menyelesaikan Permainan Magic Wingdom

Algorima Greedy Pada Self Serve Gas Station

APLIKASI ALGORITMA GREEDY DALAM PERMAINAN CAPSA BANTING

Analisis Beberapa Algoritma dalam Menyelesaikan Pencarian Jalan Terpendek

Penerapan Algoritma Greedy dalam Algoritma Penjadwalan Prosesor Tunggal Shortest Job First

Penerapan Algoritma Greedy dalam Optimasi Keuntungan Perusahaan Pengiriman Barang

APLIKASI ALGORITMA GREEDY DALAM PENENTUAN SPESIFIKASI KOMPUTER RAKITAN

Implementasi Brute Force dan Greedy dalam Permainan Big Two (Capsa)

Pencarian Solusi Optimal dalam Permainan Congklak dengan Program Dinamis

Penerapan Algoritma Greedy dalam Algoritma Disk Scheduling Shortest Seek Time First

Aplikasi Algoritma Greedy untuk Optimasi Sistem Booking Hotel Online

Algoritma Greedy pada Board Game Saboteur

Algoritma Greedy dalam Strategi Permainan Centipede

Strategi Perancangan Bot Player pada Permainan Tradisional Congklak dengan Algoritma Greedy

Algoritma Greedy untuk Pengambilan Keputusan dalam Permainan Kartu Hearts

Penerapan Algoritma Greedy Pada Permainan Killbots

Penyusunan Jarkom HMIF ITB dengan Menggunakan Algoritma Branch and Bound

PENCARIAN SOLUSI DENGAN ALGORITMA BACKTRACKING UNTUK MENYELESAIKAN PUZZLE KAKURO

Penggunaan Algoritma Greedy untuk menyelesaikan Permainan Othello

ALGORITMA RUNUT BALIK DALAM PENYELESAIAN PERMAINAN WORD DIAGRAM

Penerapan Algoritma Greedy dalam Pemilihan Pemain di Game Football Manager

Pemecahan Masalah Knapsack dengan Menggunakan Algoritma Branch and Bound

Implementasi Algoritma Greedy untuk Pembelian Saham

Perbandingan Algoritma Dijkstra dan Algoritma Floyd-Warshall dalam Penentuan Lintasan Terpendek (Single Pair Shortest Path)

Penerapan Algoritma Greedy Pada Game Tower Defense: Tower of Greece

Perancangan Algoritma Greedy pada AI Permainan Turn Based Strategy

Penentuan Keputusan dalam Permainan Gomoku dengan Program Dinamis dan Algoritma Greedy

Aplikasi Algoritma Greedy untuk Menyelesaikan Permainan Hedgewars

GAME TETRIS DENGAN MENGGUNAKAN ALGORITMA GREEDY TUGAS AKHIR

Aplikasi Algoritma Greedy pada Permainan Zuma

Eksplorasi Algoritma Brute Force, Greedy, dan Dynamic Programming untuk Persoalan Integer Knapsack

Penggunaan Algoritma Greedy Dalam Perancangan Papan Teka Teki Silang

Penerapan Algoritma Greedy untuk Menempatkan Pelanggan dalam Permainan Video Diner Dash

Penerapan Greedy pada Jalan Jalan Di Bandung Yuk! V1.71

Penerapan Algoritma Greedy Dalam Permainan Clash Royale

Penerapan Algoritma Greedy pada Artificial Inteligence dalam Permainan Defence of the Ancient

Penerapan Algoritma Greedy pada Permainan Tower Defense

Penerapan Algoritma Greedy dalam Penyetokan Barang

Penggunaan Algoritma Greedy untuk Menyelesaikan Permainan UNO Kartu (Klasik)

Penerapan algoritma Greedy dalam penentuan Porter Generic Strategies untuk suatu perusahaan

Penerapan Algoritma Greedy dan Algoritma BFS untuk AI pada Permainan Greedy Spiders

Pemanfaatan Algoritma BFS pada Graf Tak Berbobot untuk Mencari Jalur Terpendek

Aplikasi Algoritma Greedy untuk Pergerakan Musuh pada Permainan Pac-Man

PERBANDINGAN ALGORITMA GREEDY DAN BRUTE FORCE DALAM SIMULASI PENCARIAN KOIN

Penentuan Rute Terbaik pada Permainan Taxi Rider

Algoritma Greedy dalam Artificial Intelligence Permainan Tic Tac Toe

Algoritma Branch and Bound dalam Kegunaannya Memecahkan Assignment Problem

ANALISA PENGGUNAAN ALGORITMA GREEDY PADA PERMAINAN FIVE LINK

Teknik Pengurutan Kartu Remi

PENGGUNAAN ALGORITMA GREEDY PADA MESIN PENCARI

Aplikasi Algoritma Greedy dalam Kompresi Dokumen Teks

Penentuan Rute Belanja dengan TSP dan Algoritma Greedy

Menerapkan Prinsip Greedy Dalam Bermain Digimon Card Battle

Penggunaan Algoritma Greedy Dalam Permainan. Warcraft III Tower Defense

Penggunaan Algoritma Greedy dalam Optimasi Masalah Perkebunan

Penerapan Strategi Algoritmik dalam Perancangan Kecerdasan Buatan Permainan Capsa

IMPLEMENTASI ALGORITMA LAYER-BY-LAYER UNTUK MENYELESAIKAN RUBIK S CUBE DALAM KODE PROGRAM

Implementasi Greedy Dalam Menemukan Rangkaian Logika Minimal Menggunakan Karnaugh Map

Penentuan Langkah Sederhana dalam Permainan Kartu Hearthstone dengan Algoritma Greedy

IF3051 Strategi Algoritma Penerapan Algoritma Greedy untuk Peletakan Tanaman dalam Game Harvest Moon: Back to Nature

Penerapan Algoritma BFS dan DFS dalam Mencari Solusi Permainan Rolling Block

Penggunaan Algoritma Branch and Bound dan Program Dinamis Dalam Pemecahan Masalah Rubik s Cube

Penggunaan Algoritma Greedy untuk Meminimalkan Belanja

Transkripsi:

PENERAPAN ALGORITMA GREEDY DALAM PENCARIAN SOLUSI TERBAIK PADA PERMAINAN TETRIS Muhammad Riza Putra Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung Jl. Ganesha 10, Bandung e-mail: if15108@students.if.itb.ac.id ABSTRAK Makalah ini membahas tentang pengenalan, pemahaman dan penerapan Algoritma Greedy dalam pencarian solusi terbaik pada permainan Tetris. Pendekatan yang digunakan pada Algoritma Greedy dalam pencarian solusi optimum yaitu dengan membentuk solusi langkah per langkah, dimana pada setiap langkahnya membuat pilihan optimum lokal dengan harapan bahwa sisanya mengarah ke solusi optimum global. Pendekatan ini akan diterapkan pada pencarian solusi optimum permainan Tetris, yaitu suatu permainan susun balok dimana pada permainan ini sekelompok balok yang dihasilkan atau diturunkan harus disusun sedemikian rupa sehingga didapatkan susunan balok yang penuh (tanpa celah) pada setiap baris. Pencarian solusi permainan Tetris ini sangat sesuai dengan prinsip Algoritma Greedy lainnya, yaitu keputusan yang diambil pada setiap langkah tidak dapat diubah lagi pada langkah selanjutnya. Kata kunci: Algoritma Greedy, solusi optimum, optimum lokal, optimum global, Tetris. 2. Berharap bahwa dengan memilih optimum lokal pada setiap langkah akan berakhir dengan optimum global. Skema Umum Algoritma Greedy[1] Persoalan optimasi dalam konteks algoritma Greedy disusun dengan elemen-elemen sebagai berikut. 1. Himpunan Kandidat Berisikan elemen-elemen pembentuk solusi 2. Himpunan Solusi Berisikan kandidat-kandidat yang terpilih sebagai solusi persoalan 3. Fungsi Seleksi Yaitu fungsi yang pada setiap langkah memilih kandidat yang paling memungkinkan mencapai solusi optimum 4. Fungsi Kelayakan Yaitu fungsi yang memeriksa apakah suatu kandidat yang dipilih bersama-sama himpunan solusi yang sudah terbentuk layak (tidak melanggar kendala yang ada). 1. PENDAHULUAN Pada bab pendahuluan ini, akan deberikan pengenalan sekilas mengenai Algoritma Greedy dan Permainan Tetris. 1.1 Algoritma Greedy Definisi dari Algoritma Greedy secara umum adalah suatu algoritma pencarian solusi yang memecahkan suatu masalah langkah per langkah, dimana pada setiap langkah[1]: 1. Mengambil pilihan terbaik yang dapat diperoleh pada saat itu tanpa memperhatikan konsekuensi ke depan (prinsip Take what you can get now ) 1.2 Permainan Tetris Tetris adalah suatu jenis permainan arcade yang dirancang oleh dua orang programmer komputer berkebangsaan Soviet (sekarang Rusia).[3] Pada permainan ini, suatu objek dimunculkan dari bagian atas layar dalam setiap waktu yang konstan kemudian bergerak menurun. Objek tersebut terdiri dari 4 buah balok yang dapat membentuk 7 susunan yang unik(i, J, L, O, S, T, Z), dimana kemunculan bentukbentuk ini diatur secara acak. Pemain dapat mengendalikan objek-objek tersebut dengan 4 tombol, yaitu tombol kiri, kanan, atas, dan bawah. Tombol kiri dan kanan akan menggeser objek ke arah kiri atau kanan. Tombol atas akan memutar objek 90 o searah jarum jam. Tombol terakhir akan

menjatuhkan objek ke posisi paling bawah layar atau diatas balok yang sudah tersusun. Tujuan permainan ini adalah menyusun objek-objek yang keluar dari atas layar ke bagian bawah layar sedemikan rupa agar dalam penyusunan ini, setiap barisnya terisi penuh oleh balok-balok sehinggabaris yang penuh tersebut akan dieliminasi. Tujuannya agar balok-balok pada bagian bawah layar tidak semakin meninggi mencapai tepi atas layar. Jika itu terjadi, maka pemain kalah. Akan memiliki himpunan kandidat, C: 2. ALGORITMA GREEDY Bab ini akan mengindentifikasi dan menganalisis masalah dalam pencarian solusi optimum permainan Tetris. 2.1 Identifikasi dan Analisis Elemen- Elemen Algoritma Greedy Dari skema umum Algoritma Greedy pada halaman sebelumnya, terdapat 4 elemen identifikasi masalah dalam konteks Algoritma Greedy. Keempat elemen tersebut yaitu: - Himpunan Kandidat - Himpunan Solusi - Fungsi Seleksi - Fungsi Kelayakan 2.1.1 Himpunan Kandidat, C Dalam Permainan Tetris, setiap langkah ditandai dengan munculnya suatu objek yang merupakan susunan 4 buah balok di bagian atas layar. Dengan tombol navigasi atas, objek tersebut dapat dirotasi per 90 o. Sehingga satu objek dapat memiliki 4 buah objek hasil rotasi. Dari identifikasi objek diatas, maka untuk objek yang berbentuk: Gambar 1. Objek Tetris Gambar 2. Himpunan Kandidat Objek Tetris 2.1.2 Himpunan Solusi, S Himpunan solusi S untuk permainan Tetris tersebut adalah himpunan yang berisikan salah satu dari anggota himpunan kandidat suatu objek yang dimunculkan pada setiap langkah, yang telah dipilih oleh Fungsi Seleksi. 2.1.3 Fungsi Seleksi Fungsi seleksi pada permasalahan ini adalah fungsi yang memilih atau mengembalikan tepat satu anggota dari himpunan kandidat suatu objek yang dimunculkan pada setiap langkah dalam permainan Tetris. Fungsi Seleksi ini akan memilih satu anggota himpunan kandidat yang memberikan solusi paling optimal untuk langkah pada saat itu. Untuk menerapkan strategi yang heuristik pada Algoritma Greedy, salah satu caranya adalah memanipulasi Fungsi Seleksi ini berdasarkan masalah yang ditangani. Untuk masalah permainan Tetris ini, penulis menerapkan prioritas optimasi dalam pemilihan salah satu anggota pada himpunan kandidat yang akan dikembalikan dan dimasukkan pada himpunan solusi. Berikut prioritas optimasi untuk fungsi seleksi yang urutannya dimulai dari prioritas tertinggi [2]: 1. Membentuk satu atau lebih baris yang penuh pada tumpukan balok 2. Membentuk satu atau lebih objek yang mendekati penuh pada tumpukan balok 3. Meminimalisasikan terjadinya celah/ruang kosong pada tumpukan balok 4. Sedalam mungkin dapat menyisipkannya pada tumpukan balok.

2.1.4 Fungsi Kelayakan Fungsi kelayakan pada permasalahan ini adalah fungsi yang akan memeriksa apakah himpunan solusi yang sudah ditambahkan dengan satu anggota himpunan kandidat yang dipilih oleh Fungsi Seleksi layak atau tidak. Maksud layak dalam permasalahan Tetris ini yaitu apakah setelah ditambahkan satu objek, tumpukan balok sudah melewati tinggi maksimum atau tidak. Jika melewati tinggi maksimum, maka Fungsi Kelayakan ini akan mengembalikan status tidak layak. Dengan kata lain, Game Over. akan melanjutkan ke prioritas optimasi selanjutnya untuk memperoleh solusi yang terbaik - Prioritas optimasi 3 akan menghasilkan 1 kandidat, yaitu: Kasus II Ini adalah solusi terbaik. Maka Fungsi Seleksi akan mengembalikan objek ini untuk dimasukkan ke himpunan solusi 3. STUDI KASUS PERMAINAN TETRIS Bab ini akan memberikan penjelasan dan gambaran mengenai penerapan Algoritma Greedy untuk masalah permainan Tetris yang sudah diidentifikasi dan dianalisis pada bab sebelumnya. Kasus I Gambar 4. Tetris Kasus II - Pada kasus II diatas, prioritas optimasi 1 pada Fungsi Seleksi akan menghasilkan 3 kandidat, yaitu: Gambar 3. Tetris Kasus 1 - Untuk objek pada kasus tersebut, Fungsi Seleksi akan memilih solusi terbaik dalam memilih bentuk objek apa yang akan dimasukkan ke himpunan solusi. - Dalam Fungsi Seleksi, prioritas optimasi 1 tidak akan melakukan apa-apa, karena tidak ada aksi yang masuk kriterianya. Lanjut ke prioritas berikutnya - Terdapat 2 kandidat yang memenuhi kriteria prioritas optimasi 2. Yaitu: Karena terdapat 3 kandidat, makafungsi Seleksi akan melanjutkan ke prioritas optimasi berikutnya untuk mendapatkan solusi terbaik - Prioritas optimasi berikutnya, yaitu urutan ke-2, hanya akan menghasilkan 1 kandidat, yaitu: Maka, kandidat yang dihasilkan inilah yang merupakan solusi terbaik untuk kasus II. Sehingga Fungsi Seleksi akan mengembalikan anggota dari himpunan kandidat untuk dimasukkan ke himpunan solusi. - Karena kandidat yang dihasilkan oleh prioritas optimasi 2 lebih dari satu, maka Fungsi Seleksi

Kasus III permasalahan ini yaitu dengan menganalisis dan memanipulasi Fungsi Seleksi. Fungsi Seleksi pada masalah ini memegang peranan penting dalam mendapatkan solusi terbaik dalam permainan Tetris ini. REFERENSI [1]. Munir, Rinaldi. Diktat Kuliah IF2251 Strategi Algoritmik. Program Studi Teknik Informatika Institut Teknologi Bandung. 2007 [2]. Steed, Marlo. Strategy Construction in Problem Solving with Tetris.1992 [3]. http://en.wikipedia.org/wiki/tetris.htm. Tanggal akses: 20 Mei 2007 - Fungsi Seleksi pada kasus tersebut akan mulai memeriksa pada prioritas optimasi 2, karena tidak ada kandidat yang memenuhi kriteria prioritas optimasi 1 - Prioritas optimasi 1 akan memilih 2 kandidat yaitu: Karena kandidat yang dihasilkan melebihi 1 objek, maka Fungsi Seleksi akan memeriksa prioritas optimasi berikutnya - Prioritas optimasi 3 akan memilih 1 objek yaitu: Hal ini dilakukan karena apabila objek tersebut diletakkan pada tumpukan balok bagian bawah, terdapat suatu posisi yang tidak menyebabkan terjadinya celah kosong pada susunan balok (himpunan solusi). Sehingga objek ini akan dimasukkan ke dalam himpunan solusi. 4. KESIMPULAN - Pencarian solusi terbaik dalam permainan Tetris merupakan contoh yang sangat sesuai dalam penerapan Algoritma Greedy. Karena selain algoritmanya dapat diterapkan dengan sempurna dalam pencarian solusi, gameplay permainan Tetris ini benar-benar dapat menggambarkan prinsipprinsip algoritma Greedy sehingga memudahkan pemahaman terhadap algoritma itu sendiri. - Salah satu langkah yang dapat dilakukan untuk mendapatkan algoritma Greedy yang heuristik pada

This document was created with Win2PDF available at http://www.daneprairie.com. The unregistered version of Win2PDF is for evaluation or non-commercial use only.