Aplikasi Algoritma Greedy pada Permainan Pixelated

dokumen-dokumen yang mirip
Penggunaan Algoritma Greedy untuk Mencari Solusi Optimal dalam Permainan Brick Breaker

Penerapan Algoritma Greedy pada Permainan Kartu 100

Penerapan Algoritma Greedy untuk Permainan Flood It

Aplikasi Algoritma Greedy pada Permainan Zuma

Implementasi Algoritma Greedy Dua Sisi pada Permainan 2048

Aplikasi Algoritma Greedy, BFS dan DFS pada Penyelesaian Permainan Mahjong Solitaire

Penerapan Algoritma Greedy dalam Permainan Othello

Penerapan Algoritma Greedy dalam Permainan Connect 4

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

Aplikasi Algoritma Greedy dalam Permainan Kartu Truf

Penggunaan Algoritma Greedy untuk menyelesaikan Permainan Othello

Aplikasi Algoritma Greedy untuk Menyelesaikan Permainan Magic Wingdom

Perbandingan Algoritma Greedy & Bactracking Dalam Penyelesaian Permainan 2048

Penerapan Algoritma Greedy Untuk Memenangkan Permainan Go

Penerapan Algoritma Greedy dan Backtrackng Dalam Penyelesaian Masalah Rubik s Cube

Implementasi Algoritma Greedy pada Permainan Ludo

Penentuan Langkah dengan Greedy dalam Permainan Ludo

Penerapan Algoritma Greedy Pada Permainan Kartu Truf

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

PENERAPAN ALGORITMA GREEDY DALAM PENCARIAN SOLUSI TERBAIK PADA PERMAINAN TETRIS

Penerapan Algoritma Greedy dalam Pembuatan Artificial Intelligence Permainan Reversi

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

Pencegahan Deadlock pada Alokasi Resource dalam Sistem Operasi Menggunakan Algoritma Greedy

Algoritma Greedy pada Board Game Saboteur

Penerapan Algoritma Greedy dalam Permainan Tetris

Penerapan Algoritma Greedy dan Breadth First Search pada Permainan Kartu Sevens

Penggunaan Algoritma Greedy Untuk Menyelesaikan Permainan Cluedo

Penerapan Prinsip Greedy dalam Permainan Kartu Hearts

Penerapan Algoritma Greedy untuk Permainan Halma

Algoritma Greedy untuk Pengambilan Keputusan dalam Permainan Kartu Hearts

PENGGUNAAN ALGORITMA GREEDY PADA MESIN PENCARI

Penerapan Algoritma BFS dan DFS dalam Mencari Solusi Permainan Rolling Block

Penerapan Algoritma Greedy dalam Algoritma Disk Scheduling Shortest Seek Time First

Penerapan Algoritma Greedy pada Permainan Tower Defense

Penerapan Algoritma Greedy Pada Game Tower Defense: Tower of Greece

Penerapan Algoritma Greedy dalam Meraih IP tertinggi dengan Waktu yang Terbatas

Penggunaan Algoritma Greedy Dalam Permainan. Warcraft III Tower Defense

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

Penerapan Algoritma Greedy dalam Pembuatan Klasemen Kompetisi

Aplikasi Algoritma Greedy untuk Pergerakan Musuh pada Permainan Pac-Man

Penentuan Keputusan dalam Permainan Gomoku dengan Program Dinamis dan Algoritma Greedy

Analisis Pengimplementasian Algoritma Greedy untuk Memilih Rute Angkutan Umum

Algoritma Greedy dalam Strategi Permainan Centipede

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

Algoritma Greedy dalam Artificial Intelligence Permainan Tic Tac Toe

Optimalisasi Susunan Tempat Duduk Kereta Api Menggunakan Algoritma Greedy dan Program Dinamis

Algoritma Greedy untuk AI dalam Permainan DotA

Implementasi Algoritma Greedy pada Permainan Hangman Versi Bahasa Indonesia dengan Memanfaatkan Frekuensi Huruf

Penerapan Algoritma Greedy dalam Strategi Bermain The Sims Medieval

Aplikasi Algoritma Greedy untuk Menyelesaikan Permainan Hedgewars

Penerapan Algoritma Greedy Dalam Permainan Clash Royale

IMPLEMENTASI ALGORITMA GREEDY PADA PERMAINAN OTHELLO

Optimisasi Penjadwalan Proses Pada Central Processing Unit Dengan Menggunakan Algoritma Greedy

Strategi Perancangan Bot Player pada Permainan Tradisional Congklak dengan Algoritma Greedy

Penerapan Algoritma Greedy pada Permainan Fire Emblem

Penggunaan Algoritma Greedy untuk Menyelesaikan Permainan UNO Kartu (Klasik)

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

Penerapan Algoritma Greedy dalam Pemilihan Pemain di Game Football Manager

Penggunaan Algoritma DFS dan BFS pada Permainan Three Piles of Stones

Penerapan Algoritma Brute force dan Greedy pada Penjadwalan Disk

Perancangan Algoritma Greedy pada AI Permainan Turn Based Strategy

Penggunaan Algoritma Brute Force dan Greedy dalam Permainan Atomas

Penyelesaian Game Lights Out dengan Algoritma Runut Balik

Penerapan Algoritma Greedy dalam Algoritma Penjadwalan Prosesor Tunggal Shortest Job First

Aplikasi Algoritma MiniMax pada Beberapa Permainan Papan

Algorima Greedy Pada Self Serve Gas Station

APLIKASI ALGORITMA GREEDY DALAM PERMAINAN CAPSA BANTING

Pembahasan Pencarian Lintasan Terpendek Menggunakan Algoritma Dijkstra dan A*

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

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

Penerapan Algoritma DFS pada Permainan Sudoku dengan Backtracking

Analisis Beberapa Algoritma dalam Menyelesaikan Pencarian Jalan Terpendek

Penggunaan Algoritma Divide and Conquer Dalam Pewarnaan Graf

Penggunaan Algoritma Greedy Dalam Perancangan Papan Teka Teki Silang

Penerapan Algoritma Greedy dalam Permainan MarketGlory

Penerapan Algoritma Greedy dalam Pencarian Rantai Penjumlahan Terpendek

Penggunaan Algoritma Greedy untuk Meminimalkan Belanja

Penerapan Algoritma Greedy pada Permainan Bubble Breaker

Penentuan Langkah Sederhana dalam Permainan Kartu Hearthstone dengan Algoritma Greedy

ALGORITMA GREEDY DALAM PERMAINAN DOTS AND BOXES

Aplikasi Algoritma Greedy pada Permainan Kartu Truf Pass

Penerapan Algoritma Greedy untuk Menempatkan Pelanggan dalam Permainan Video Diner Dash

PERBANDINGAN ALGORITMA GREEDY DAN BRUTE FORCE DALAM SIMULASI PENCARIAN KOIN

Aplikasi Algoritma Traversal Dalam Binary Space Partitioning

Aplikasi Algoritma Greedy Untuk Pengambilan Keputusan Karakter Plants vs Zombies

Perbandingan Algoritma Pencarian Kunci di dalam Himpunan Terurut Melalui Linear Search dan Binary Search

Pencarian Jalan untuk Menghasilkan Skor Tertinggi pada Permainan Voracity

Penerapan Algoritma Greedy untuk Menyelesaikan Permainan Threes

Penerapan algoritma Greedy dalam penentuan Porter Generic Strategies untuk suatu perusahaan

Aplikasi Algoritma Greedy untuk Optimasi Sistem Booking Hotel Online

PENGGUNAAN ALGORITMA GREEDY DALAM PERMAINAN KARTU BLACK JACK

Penerapan Algoritma Greedy dalam Penyetokan Barang

Perbandingan Algoritma Brute Force dan Backtracking dalam Permainan Word Search Puzzle

Implementasi Algoritma Greedy dalam Pembagian kerja pada Mesin yang Identik

Kompleksitas Algoritma untuk Penyelesaian Persoalan Penukaran Koin dengan Algoritma Greedy

Strategi Permainan Menggambar Tanpa Mengangkat Pena

Penyelesaian Berbagai Permasalahan Algoritma dengan Kombinasi Algoritma Brute Force dan Greedy

Penerapan Algoritma Greedy untuk Menentukan Loadout dalam Permainan PAYDAY 2

Penyempurnaan Intelegensa Buatan Mode AI ++ Ragnapolis dengan Langkah Penjualan Kota Berbasiskan Algoritma Greedy

APLIKASI ALGORITMA GREEDY DALAM PERMAINAN JAWBREAKER

Transkripsi:

Aplikasi Algoritma Greedy pada Permainan Pixelated Rachmat Arifin - 13508070 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung 40132, Indonesia if18070@students.if.itb.ac.id Abstrak Pixelated merupakan salah satu permainan berbasis mobile yang berjalan pada platform BB(Black Berry). Pixelated merupakan permainan yang bertujuan membuat sejumlah pixel yang terdiri dari berbagai warna menjadi seragam. Permainan selalu dimulai dari Pixel paling kiri atas dan ketika pixel ini merubah warnanya, seluruh pixel yang bersinggungan dan memiliki warna yang sama akan menjadi bagian yang sama dengan pixel tersebut. Hal ini terus dilakukan sehingga seluruh layar menjadi satu warna atau pemain telah melakukan 22 kali gerakan. Apabila seluruh layar berhasil menjadi satu warna maka pemain dinyatakan menang, tetapi apabila sampai 22 kali gerakan seluruh layar belum memiliki warna yang seragam maka pemain dinyatakan kalah. Dengan menerapkan algoritma greedy diharapkan permainan dapat mencapai hasil optimalnya. Kata kunci : Pixelated, Algoritma greedy, warna, seragam I. PENDAHULUAN Aplikasi berbasis mobile merupakan salah satu basis pemrograman yang sedang cukup diminati. BB-OS (BlackBerry Operating System) merupakan salah satu platform untuk aplikasi mobile yang dikembangkan oleh RIM (Research In Motion). RIM menyediakan fitur AppWorld pada produk produknya yang merupakan fitur untuk mengunduh aplikasi yang berbasis BB-OS. Salah satu aplikasi permainan yang terdapat pada fitur tersebut adalah Pixelated. Pixelated merupakan aplikasi freeware yang dikembangkan oleh vendor Ebscer. Objective atau tujuan utama dari permainan ini adalah membuat seluruh layar menjadi satu warna dengan jumlah langkah tidak lebih dari niali yang telah ditetapkan yaitu 22 langkah. Permainan dimulai dari bagian -dalam konteks ini disebut sebagai Pixel- paling kiri atas. Setelah itu pemain diberikan 6 pilihan warna untuk merubah pixel tersebut menjadi warna yang dikehendakinya. Setelah pixel berubah menjadi warna yang dipilih, seluruh pixel yang bersinggungan dengan pixel tersebut dan memiliki warna yang sama setelah pixel berubah warna akan menjadi bagian dari pixel tersebut. Gambar 1 Kondisi awal permainan Pixelated Tantangan dalam permainan ini adalah bagaimana melakukan langkah yang baik sehingga seluruh layar dapt menjadi satu warna dengan jumlah langkah kurang dari 21 kali. Ketika semakin banyak warna yang bisa diambil menjadi bagian dari pixel utama, akan semakin baik karena semakin besar area yang dimiliki. Hala ini pun akan memberikan keuntungan lebih besar dan mengoptimalkan setiap langkah yang digunakan. Salah satu solusi yang dapat digunakan untuk memecahkan permasalahan ini adalah dengan menerapkan algoritma Greedy. Salah satu dasar dalam bermain permainan ini adalah mengambil warna yang memiliki jumlah pixel yang bersinggungan dengan warna yang sama paling banyak. Konsep bermain seperti memiliki prinsi yang sama dengan algoritma Greedy, yaitu mengambil nilai maksimum atau minimum dari sejumlah nilai nilai lokal.

bagian dari pixel tersebut. Apabila tidak warna yang sama dengan pilihan dari pemain maka tidak aka nada perubahan apapun pada pixel yang ada tetapi jumlah langkah yang digunakan tetap akan bertambah. Permainan ini merupakan permainan yang menarik, karena apabila dikaji lebih dalam banyak cara cara atau strategi yang bisa digunakan untuk menyelesaikan permasalahan ini. Pada awalnya mungkin orang akan mencoba mengambil jumlah pixel terbanyak yang bersinggungan dengan pixel pemain. Tetapi, apakah memilih jumlah terbnayak adalah pilihan terbaik? Apakah ketika memilih pilihan yang paling banyak akan memberikan hasil yang optimal? Atau apakah dengan mengambil memilih warna yang terbanyak pasti akan memberikan kemenangan bagi pemain? Hal tersebut masih belum dapat dibuktikan. Gambar 2 Help screen dari pixelated II. DESKRIPSI PERMASALAHAN Permainan ini merupakan permainan yang biasa saja ketika yang dituju hanyalah membuat seluruh layar memiliki warna yang sama, tetapi akan berbeda ketika hanya 22 langkah saja yang dapat digunakan pemain untuk memenangkan permainan ini. Setiap langkah yang diambil memerlukan petimbangan yang baik agar permainan ini dapat diselesaikan hanya dengan 22 langkah saja atau kurang dari itu. III. ALGORITMA GREEDY Selalu mengambil nilai maksimum atau minimum merupakan sifat dari algoritma greedy. Dengan menggunakan algoritma greedy, atau dapat dikatakan dengan mengambil nilai paling besar atau kecil, diharapkan dapat memberikan hasil yang paling optimal, walaupun pada beberapa kasus hal tersebut tidak selalu terpenuhi. Berikut ini adalah salah satu contoh skema algoritma Greedy Gambar 3 Kondisi ketika pemain menang Ketika sebuah warna dipilih seluruh warna yang sama dan bersinggungan dengan pixel tersebut akan menjadi Gambar 4 Algoritma Greedy Algoritma Greedy merupakan strategi algoritma yang menentukan dari setiap langkahnya, tidak menentukan solusi secara keseluruhan permasalahan. Hal inilah yang

membuat strategi ini tidak akan selalu memberikan hasil yang optimum ketika diimplementasikan. Akan tetapi algoritma greedy merupakan salah satu pilihan yang sering digunakan orang karena simplicities yang dimilikinya. Algoritma Greedy memiliki beberapa elemen yang terdapat di dalamnya, antara lain : 1. Himpunan kandidat 2. Himpunan solusi 3. Fungsi seleksi 4. Fungsi kelayakan 5. Fungsi obyektif Dapat dikatakan bahwa algoritma Greedy melibatkan pencarian sejumlah himpunan bagian dari himpunan kandidat yang dalam hal ini harus memenuhi beberapa kriteria yang telah ditentukan. Keoptimalan hasil dari algoritma greedy, seperti disebutkan sebelumnya, belum terjamin. Pada beberapa kasus algoritma greedy akan menghasilkan hasil yang tidak optimal sementara hasil pada kasus lain akan memberikan nilai yang optimum. Ketika algoritma greedy memeberikan nilai yang optimal maka keoptimalan dari nilai tersebut dapat dibuktikan secara matematis. Terdapat 2 properti penting yang menjadi permasalahan ketika algorima greedy tidak dapat memberikan nilai optimalnya, yaitu greedy choice property dan optimal substructure. Greedy choice property memperlihatkan bahwa algoritma greedy hanya mengambil keputusan berdasarkan fakta yang ada sekarang tanpa adanya pertimbangan lebih lanjut mengenai fakta fakta yang mungkin muncul pada langkah langkah berikutnya. Dapat dikatakan pula bahwa algoritma greedy tidak pernah melakukan pertimbangan ulang terhadap pilihannya. Hal lain yang bisa dianalisis dari algoritma ini adlaah optimal substructure. Algoritma greedy memberikan solusi pada permasalahan lokal (substructure). Apabila keputusan telah diambil dan langkah langkah selanjutnya memberikan nilai yang optimal maka hal ini disebut sebagai optimal substructure. Kebalikannya, ketika pengambilan nilai optimal pada suatu permasalahan membuat nilai yang akan diambil pada langkah langkah berikutnya tidak optimal secara global, maka hal ini disebut sebagai non-optimal substructure. Gambar 5 Ilustrasi permasalahan penukaran koin III. IMPLEMENTASI Seperti telah disebutkan sebelumnya bahwa permainan pixelated dapat disimulasikan dengan algoritma greedy dan mungkin akan memberikan hasil yang optimal. Dengan menggunakan algoritma greedy, permainan pixelated akan selalu mencari jumlah pixel dengan warna yang seragan dengan jumlah paling banyak. Langkah tersebut terus berulang hingga seluruh pixel pada layar memiliki warna yang sama. Ketika permainan dimulai pixel paling kiri atas adalah pixel awal dari permainan. Kemudian informasi dari seluruh pixel yang bersinggungan langsung dengan pixel tersebut dikumpulkan. Setelah semua informasi warna telah terkumpul, lalu diputuskan warna apa yang akan dipilih berdasarkan jumlahnya. Jumlah warna yang paling banyak lah yang akan dipilih berdasarkan algoritma greedy ini. Pixel dengan warna yang sama pun makin banyak. Langkah tadi pun diulangi lagi dengan melakukan pengecekan terhadap seluruh pixel yang bersingungan. Langkah langkah tersebut terus diulangi hingga seluruh pixel pada layar menjadi satu warna. Apabila jumlah langkah yang dibutuhkan bernilai 22 langkah atau kurang dari nilai tersebut maka algoritma greedy merupakan salah satu strategi yang dapat digunakan untuk menyelesaikan permasalahan ini. Akan tetapi, hal tersebut belum dapat membuktikan bahwa algoritma greedy memberikan hasil yang paling baik jika dibandingkan dengan algoritma atau strategi yang lain. Tetapi, permasalahan yang memang telah diperkirakan sebelumnya dapat terjadi yang akan berakibat pada hasil yang tidak akan optimal. Salah satu contoh kasu dapat diilustrasikan seperti berikut : 1. Pilihan 1 a. Hijau : 2 b. Biru : 3 2. Pilihan a a. Merah : 3 b. Biru : 5 3. Pilihan b

a. Kuning : 1 b. Biru : 1 c. Kuning : 3 Ketika pada pilihan 1, pilihan akan jatuh pada warna biru, yang berarti jumlah pixel yang telah dimiliki ada 4. Saat masuk pada langkah kedua pilihan akan jatuh pada warna kuning dan jumlah pixel sekarang ada 7. Apabila pada pilihan 1 warna hijau yang diambil, lalu mengambil warna biru pad apilihan keduanya jumlah pixel yang ada mencapai 8 buah. Hal inilah yang menjadi kekurangan dari algoritma greedy. Algoritma greedy hanya mengambil keputusan berdasarkan informasi saat itu saja, tanpa memperhatikan kondisi disaat langkah langkah berikutnya. IV. HASIL PERCOBAAN Berikut ini adalah hasil percobaan dari implementasi algoritma greedy pada permainan Pixelated. Percobaan No. Jumlah Keterangan Langkah 1. 22 Berhasil 2. 23 Gagal 3. 27 Gagal 4. 28 Gagal 5. 28 Gagal 6. 21 Berhasil 7. 24 Gagal 8. 20 Berhasil 9. 29 Gagal 10. 29 Gagal 11. 23 Gagal 12. 22 Berhasil 13. 21 Berhasil 14. 25 Gagal 15. 30 Gagal 16. 22 Berhasil 17. 21 Berhasil 18. 27 Gagal 19. 25 Gagal 20. 31 Gagal Tabel 1 Tabel hasil percobaan Dari 20 kali percobaan didapat 7 kali percobaan yang berhasil dan 13 kali percobaan yang gagal. Nilai dari langkah pun bervariasi dalam rentang 20 31 langkah. V. ANALISIS Dari hasil 20 kali percobaan didapat bahwa dengan mengimplementasikan algoritma greedy tidak selalu membuat pemain memenangkan permainan ini. Dengan jumlah 7 kali berhasil dan 13 kali gagal berarti kemungkinan keberhasilan strategi algoritma greedy untuk diimplementasikan pada permainan pixelated adalah 35% dan kemungkinan kegagalnnya adalah 65%. Walaupun algoritma greedy dapat menyelesaikan permasalahn pada permainan ini, nilai tersebut menunjukkan bahwa algoritma greedy sebenarnya tidak efektif untuk diimplementasikan pada permainan ini. Jika dilihat pada table, ada 7 kali kebehasilan dari hasil tersebut. Rentang nilai keberhasilan tersebut adalah 20 22. Saat jumlah langkah adalah 22, berarti algoritma greedy berhasil menyelesaikan permainan pada ambang batasnya. Sama halnya pada keberhasilan dengan jumlah langkah 21 dan 20. Keberhasilan dengan 22 langkah berjumlah 3 kali, 21 langkah 3 kali dan 1 kali dengan jumlah langkah 20. Hal ini menunjukkan walaupun algoritma greedy terkadang berhasil menyelesaikan memberikan nilai 22 atau kurang, algoritma greedy masih sangat riskan untuk diimplementasikan pada permainan ini karena kemungkinan keberhasilannya yang masih sangat kecil. Kemungkinan jumlah langkah 20 adalah 5%, 21 langkah 15% dan 22 langkah adalah 15%. Dari analisis diatas dapat dilihat bahwa secara umum algoritma greedy tidak dapat menyelesaikan permasalahanpada permainan pixelated. Salah satu solusi yang dapat penulis tawarkan adalah DFS dan backtracking. Algoritma greedy hanya mampu mengambil keputusan berdasarkan info dan fakta yang ada pada saat itu saja. Algoritma greedy belum mampu memperkirakan fakta yang mungkin akan nada nantinya. Hal inilah sebenernya yang menjadi permasalahan implementasi algoritma greedy. Dengan menggunakan algoritma DFS dan backtracking semua informasi mengenai kemungkinan langkah yang ada dapat dikumpulkan. Sehingga langkah langkah dengan jumlah paling sedikit dapat ditemukan. Dengan menggunakan strategi algoritma DFS serta backtracking, diharapkan dapat memberikan hasil yang lebih baik sehingga dapat memberikan hasil yang lebih optimal dibandingkan dengan algoritma greedy. VI. CONCLUSION Algoritma greedy merupakan strategi yang digunaan dengan konsep memilih sesuatu yang memiliki nilai maksismum atau minimum, bergantung pada objective. Algoritma greedy dapat diimplementasikan pada permainan pixelated yang merupakan permainan berbasis mobile pada platform BlackBerry Operating System. Setelah dilakukan percobaan dan analisis algoritma greedy memiliki nilai probabilitas sebanyak 35% untuk keberhasilannya. Dapat disimpulkan bahwa implementasi algoritma greedy untuk penyelesaian permainan pixelated tidaklah efektif karena nilai kemungkinan keberhasilanya lebih kecil disbanding nilai kemungkinan kegagalannya. Penulis menyarankan untuk mengimplementasikan algoritma DFS serta backtracking untuk menyelesaikan perasalahan pada permainan ini.

REFERENCES [1] Cormen, Leiserson, and Rivest, Introduction to Algorithms, Chapter 16 pp. 329 [2] http://www.informatika.org/~rinaldi/stmik/2010-2011/stmik10-11.htm#slidekuliah [3] http://www.personal.kent.edu/~rmuhamma/algorithms/myalgorit hms/greedy/greedyintro.htm 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, 7 Desember 2010 Rachmat Arifin 13508070