Penggunaan Algoritma Greedy untuk Menyelesaikan Permainan UNO Kartu (Klasik)

dokumen-dokumen yang mirip
Penerapan Algoritma Greedy pada Permainan Kartu 100

Penerapan Algoritma Greedy Pada Permainan Kartu Truf

Penggunaan Algoritma Greedy Untuk Menyelesaikan Permainan Cluedo

Penerapan Algoritma Greedy untuk Permainan Halma

Penggunaan Algoritma Greedy Dalam Perancangan Papan Teka Teki Silang

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

IMPLEMENTASI ALGORITMA GREEDY PADA PERMAINAN CONGKLAK

Algorima Greedy Pada Self Serve Gas Station

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

Analisis Pengimplementasian Algoritma Greedy untuk Memilih Rute Angkutan Umum

Penerapan Algoritma Greedy dalam Permainan Othello

Penggunaan Algoritma Greedy untuk menyelesaikan Permainan Othello

Penerapan Algoritma Greedy dan Breadth First Search pada Permainan Kartu Sevens

Penentuan Langkah dengan Greedy dalam Permainan Ludo

Aplikasi Algoritma Greedy dalam Permainan Kartu Truf

ALGORITMA GREEDY DALAM PERMAINAN DOTS AND BOXES

Strategi Permainan Bridge menggunakan Algoritma Greedy

Algoritma Greedy pada Board Game Saboteur

APLIKASI ALGORITMA GREEDY DALAM PERMAINAN CAPSA BANTING

Penentuan Langkah Sederhana dalam Permainan Kartu Hearthstone dengan Algoritma Greedy

Aplikasi Algoritma Greedy pada Optimasi Pelaksanaan Misi dalam Permainan Assassins Creed : Revelations

IMPLEMENTASI ALGORITMA GREEDY PADA PERMAINAN OTHELLO

Implementasi Algoritma Greedy pada Permainan Ludo

Aplikasi Algoritma Greedy Pada Permainan Big Two

Penerapan Algoritma Greedy untuk Permainan Flood It

Aplikasi Algoritma Greedy dalam Penjurusan Mahasiswa Tingkat Pertama Institut Teknologi Bandung

Penerapan Algoritma Greedy dalam Optimasi Keuntungan Perusahaan Pengiriman Barang

Algoritma Greedy dalam Strategi Permainan Centipede

Implementasi Algoritma Greedy dalam Pembagian kerja pada Mesin yang Identik

Penggunaan Algoritma Brute Force dan Greedy dalam Permainan Atomas

Aplikasi Algoritma Greedy untuk Pergerakan Musuh pada Permainan Pac-Man

Aplikasi Algoritma Greedy dalam Permainan Kartu Yu-Gi-Oh!

Penerapan Prinsip Greedy dalam Permainan Kartu Hearts

LOGIKA PERMAINAN UNO KARTU

Penggunaan Algoritma Greedy untuk Mencari Solusi Optimal dalam Permainan Brick Breaker

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

Strategi Perancangan Bot Player pada Permainan Tradisional Congklak dengan Algoritma Greedy

Algoritma Greedy untuk AI dalam Permainan DotA

Aplikasi Algoritma Greedy pada Permainan Kartu Truf Pass

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

Penerapan Algoritma Greedy dalam Pembuatan Artificial Intelligence Permainan Reversi

Penerapan Algoritma Greedy dalam Penyetokan Barang

Penerapan Algoritma Greedy dalam Permainan Tradisional Congklak

PENGGUNAAN ALGORITMA GREEDY DALAM PERMAINAN KARTU BLACK JACK

Penerapan Algoritma Greedy dalam Permainan Connect 4

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

Penerapan Algoritma Greedy pada Permainan Tower Defense

Penerapan Algoritma Greedy dalam Permainan Bantumi

Implementasi Algoritma Greedy Dua Sisi pada Permainan 2048

Penerapan Algoritma Greedy dalam Permainan Tetris

PENERAPAN ALGORITMA GREEDY DALAM PENCARIAN SOLUSI TERBAIK PADA PERMAINAN TETRIS

APLIKASI ALGORITMA GREEDY DALAM PENENTUAN SPESIFIKASI KOMPUTER RAKITAN

Aplikasi Algoritma Greedy pada Permainan Zuma

Penentuan Rute Belanja dengan TSP dan Algoritma Greedy

Algoritma Greedy untuk Pengambilan Keputusan dalam Permainan Kartu Hearts

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

Penggunaan Algoritma Greedy dalam Optimasi Masalah Perkebunan

Penentuan Lokasi Pemasaran Produk dengan Media Periklanan Menggunakan Algoritma Greedy

Aplikasi Algoritma Greedy untuk Menyelesaikan Permainan Hedgewars

Penerapan Algoritma Greedy Pada Game Tower Defense: Tower of Greece

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

Penerapan Algoritma Greedy pada Permainan Bubble Breaker

Aplikasi Algoritma MiniMax pada Beberapa Permainan Papan

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

Penerapan Algoritma Greedy pada Permainan Fire Emblem

Penerapan Algoritma Greedy dalam Algoritma Disk Scheduling Shortest Seek Time First

dengan Algoritma Branch and Bound

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

PENGGUNAAN ALGORITMA GREEDY PADA MESIN PENCARI

Penerapan Algoritma Greedy dalam Pencarian Rantai Penjumlahan Terpendek

Penggunaan Algoritma Greedy untuk Meminimalkan Belanja

Penggunaan Algoritma Divide and Conquer Dalam Pewarnaan Graf

Penerapan Algoritma Greedy dalam Permainan MarketGlory

Algoritma Greedy dalam Artificial Intelligence Permainan Tic Tac Toe

Penentuan Keputusan dalam Permainan Gomoku dengan Program Dinamis dan Algoritma Greedy

Algoritma Greedy untuk Pengambilan Keputusan pada Battle Game Pokemon

Penerapan Algoritma Greedy dalam Algoritma Penjadwalan Prosesor Tunggal Shortest Job First

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

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

Penerapan Algoritma Greedy dan Backtrackng Dalam Penyelesaian Masalah Rubik s Cube

Penerapan Algoritma Greedy dalam Meraih IP tertinggi dengan Waktu yang Terbatas

Aplikasi Graf untuk Penentuan Aksi Robot Sepak Bola (Robosoccer)

Optimisasi Penjadwalan Proses Pada Central Processing Unit Dengan Menggunakan Algoritma Greedy

Aplikasi Algoritma Greedy untuk Menyelesaikan Permainan Magic Wingdom

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

PERBANDINGAN ALGORITMA GREEDY DAN BRUTE FORCE DALAM SIMULASI PENCARIAN KOIN

Metode Path Finding pada Game 3D Menggunakan Algoritma A* dengan Navigation Mesh

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

Kompleksitas Algoritma untuk Penyelesaian Persoalan Penukaran Koin dengan Algoritma Greedy

Penerapan Algoritma Greedy untuk Menempatkan Pelanggan dalam Permainan Video Diner Dash

Penerapan Algoritma Greedy Dalam Permainan Clash Royale

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

Penerapan Algoritma Brute force dan Greedy pada Penjadwalan Disk

Penerapan Algoritma Greedy dalam Pembuatan Klasemen Kompetisi

Pengaturan Sistem Lampu Lalu Lintas dengan Algoritma Branch and Bound dengan Waktu Tunggu Menggunakan Algoritma Greedy

Aplikasi Graf Breadth-First Search Pada Solver Rubik s Cube

Algoritma Greedy pada permainan Dragon City

Strategi Permainan Menggambar Tanpa Mengangkat Pena

Penerapan Algoritma Greedy Best First Search untuk Menyelesaikan Permainan Chroma Test : Brain Challenge

Penerapan Algoritma Greedy dalam Pemilihan Pemain di Game Football Manager

Transkripsi:

Penggunaan Algoritma Greedy untuk Menyelesaikan Permainan UNO Kartu (Klasik) Denver - 13509056 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung 40132, Indonesia If18071@itb.ac.id Abstrak Uno Kartu Klasik adalah sebuah permainan kartu yang dapat dimainkan oleh dua sampai sepuluh orang. Uno Kartu Klasik merupakan permainan yang tidak sulit untuk dimainkan, tetapi mengasyikkan. Dalam makalah kali ini akan dijelaskan penggunaan algoritma greedy yang dapat digunakan untuk menyelesaikan Uno Kartu Klasik. Akan diberikan dua buah algoritma greedy dengan penjelasan perbandingan kedua algoritma tersebut. Kata Kunci Uno kartu, klasik,algoritma,greedy. 2011, dimenangkan oleh USA yang memecahkan catatan lama bermain sebanyak 5 jam dan 16 menit. Tahun 2012 nanti kompetisi akan diadakan pada tanggal 8 Agustus sampai 12 Agustus. Uno kartu klasik merupakan topik yang dipakai dalam makalah kali ini. Uno kartu klasik ini dikembangkan oleh Merle Robbins pada tahun 1971. Permainan ini bertipe shedding-type, dapat dimainkan oleh 2 sampai 10 pemain, diperuntukan untuk pemain berumur 7 tahun keatas, dan jumlah kartu 108 buah. 1. PENDAHULUAN Permainan Uno merupakan permainan yang beragam macamnya. Ada Uno Stacko, merupakan permainan menyusun balok-balok untuk ditumpuk keatas tumpukan secara terus menerus. Ada Uno kartu, yang terdiri dari Uno Classic, Uno Attack, Uno Deluxe, Uno Dice, Uno Flash, Uno Moo, dan masih banyak lainnya. Kartu Uno Klasik ini juga terdapat berbagai tema, Batman, Bob The Builder, Cars, Disney, dan masih banyak lainnya. Gambar 2. Uno Kartu Klasik Gambar 1. Uno dengan tema Disney Permainan Uno kartu ini merupakan salah satu permainan yang terlaris di Amerika. Karena kelarisannya itu, diadakan tiap tahun kejuaraan Uno World Championship. Kejuaran Uno dunia ini diadakan di Moscow, Rusia. Lebih dari 71 negara berpatisipasi dalam kejuaran dunia ini. Tahun 2011 diadakan pada Agustus 2. DASAR PERMAINAN UNO KARTU KLASIK Dalam permain Uno Kartu Klasik, pemain memiliki tujuan untuk membuat semua kartu di tangannya habis terbuang. Pemain yang semua kartu telah habis, akan memenangi permainan ini, dan pemain yang memenangi babak tersebut akan mendapat nilai total dari jumlah kartu di masing-masing tangan pemain lainnya. Pemain-pemain yang tidak memenangi pertandingan, tidak mendapat nilai sama sekali. Permainan Uno Kartu Klasik ini terdiri dari beberapa babak. Pemain yang memiliki nilai tertinggi pada akhir babak, yaitu pemain yang memenangkan permainan ini.

2.1 Kartu Uno Klasik Dalam 108 kartu, terdapat kartu angka dengan 4 warna, kartu drawtwo, kartu skip, kartu reverse, kartu wild, dan kartu wilddrawfour. Kartu angka terdiri dari angka 0-9. Warna terdiri dari warna merah, biru, kuning, dan hijau. Kartu Wild berfungsi untuk mengubah warna kartu yang ada sekarang Kartu Wilddrawfour berfungsi mengubah warna kartu yang ada sekarang dan pemain yang main selanjutkan mengambil 4 kartu dari tumpukan Kartu Drawtwo berfungsi menambahkan dua kartu kepada pemain selanjutnya. Kartu Skip berfungsi untuk melewatkan giliran pemain setelah anda, dan giliran diberikan kepada pemain setelah pemain sebelah anda. Kartu Reverse berfungsi untuk membalikan arah putar permainan. 2.2 Aturan Permainan Pada awal permainan, tiap pemain dibagikan kartu satu buah, dan dibuka. Pemain dengan angka terbesar, akan memulai permainan terlebih dahulu. Kartu yang bukan angka akan dihitung nol. Kartu berjumlah tujuh buah akan dibagikan kepada masing-masing pemain. Satu kartu akan dikeluarkan dari tumpukan dan dijadikan acuan bagi pemain awal bermain. Pemain dapat mengeluarkan kartu yang sama warnanya atau kartu dengan angka yang sama atau kartu aksi lainnya (Wild, Wilddrawfour, Reverse, Skip, Drawtwo). Arah permainan pertama kali berputar searah arah jarum jam. Bila seorang pemain tidak dapat mengeluarkan kartu, pemain tersebut harus mengambil satu kartu dalam tumpukan. Setelah pemain mengambil kartu dari tumpukan, pemain tersebut dapat melihat apakah kartu yang diambil tersebut dapat keluar, bila bisa, maka pemain diijinkan untuk mengeluarkan kartu tersebut. Pemain yang memiliki hanya satu kartu di tangan, perlu mengecupkan Uno. Bila tidak mengucapkan Uno, maka pemain tersebut akan diganjar dengan mendapatkan dua kartu dari tumpukan. Bila salah satu pemain telah mengeluarkan semua kartu ditangannya, maka permainan berakhir. Pemain yang menang, akan mendapat poin sejumlah dari total nilai kartu yang dipunyai pemain lainnya. 2.3 Taktik Permainan yang Digunakan Pemain diusahakan untuk dapat mengeluarkan kartu ditangannya yang memiliki angka terbesar, karena bila seorang pemain menang dan kita memiliki kartu dengan angka yang besar, otomatis kita akan memberi lawan nilai yang besar. Pemain diusahakan untuk dapat mengeluarkan kartu dengan nilai yang berbeda dengan nilai yang sudah pernah dikeluarkan pemain sebelumnya, hal ini bertujuan untuk menjaga kemungkinan bila suatu saat warna yang sedang bergulir merupakan warna yang kita tidak punyai, bila kita mempunyai angka yang sama dengan pemain sebelum kita, kita dapat mengeluarkan kartu tersebut walaupun warnanya berbeda. Pertahankan kartu Wild dan Wilddrawfour, hal ini berguna karena kedua kartu ini tidak memberikan nilai kepada lawan sama sekali dan kartu ini berguna saat kita tidak mempunyai kartu dengan warna yang sama dengan warna kartu yang sedang bergulir, dan kartu yang dikeluarkan pemain sebelum kita berbeda angka dengan semua kartu ditangan kita. Kartu Drawtwo, Reverse dan Skip adalah kartu yang penggunaannya perlu memperhatikan kondisi sekitar. Saat kartu lawan masih banyak, kartu Reverse dan Skip bebas untuk dikeluarkan, tetapi saat salah satu lawan memiliki jumlah kartu yang sedikit, kedua kartu ini digunakan untuk membuat susah pemain tersebut sulit memenangi permainan. Taktik yang terakhir merupakan taktik jadi-jadian. Pemain diusahakan untuk mempengaruhi seorang pemain yang jumlah kartu ditangannya tidak banyak lagi. Hal ini bertujuan agar membuyarkan

konsentrasi pemain tersebut sehingga saat kartu ditangannya bersisa satu buah, pemain tersebut lupa untuk menyebut Uno dan mendapat ganjaran memperoleh dua kartu dari tumpukan. 3. ALGORITMA GREEDY Algoritma Greedy membentuk solusi pada langkah per langkah dengan memanfaatkan prinsip Greedy yakni ambil apa yang bisa anda ambil sekarang juga. Algoritma Greedy mempunyai sifat rakus, tamak, tidak peduli akan masa depan. Prinsip Greedy ini mengambil keuntungan optimal sekarang juga, dengan harapan mengambil keuntungan optimal sekarang dan mendapatkan keuntungan optimal secara global pula. Bila jawaban terbaik tidak mutlak diperlukan, algoritma Greedy baik untuk digunakan, karena algoritma Greedy dapat memberikan hampiran jawaban terbaik. 3.1 Elemen-elemen pada Algoritma Greedy Algoritma greedy disusun oleh elemen-elemen berikut: Himpunan kandidat. Berisi elemen-elemen pembentuk solusi. Himpunan solusi Berisi kandidat-kandidat yang terpilih sebagai solusi persoalan. Fungsi seleksi (selection function) Memilih kandidat yang paling memungkinkan mencapai solusi optimal. Kandidat yang sudah dipilih ada suatu langkah tidak pernah dipertimbangkan lagi pada langkah selanjutnya. Fungsi kelayakan (feasible) Memeriksa apakah suatu kandidat yang telah dipilih dapat memberikan solusi yang layak, yakni kandidat tersebut bersama-sama dengan himpunan solusi yang sudah terbentuk tidak melanggar kendala (constraints) yang ada. Kandidat yang layak dimasukkan ke dalam himpunan solusi, sedangkan kandidat yang tidak layak dibuang dan tidak pernah dipertimbangkan lagi. Fungsi objektif Fungsi yang memaksimumkan atau meminimumkan nilai solusi (misalnya panjang lintasan, keuntungan, dan lain-lain). 4. PENERAPAN ALGORITMA GREEDY Permainan Uno Kartu Klasik ini merupakan permainan yang tidak sulit untuk dimainkan. Pemain tidak perlu berfikir memainkannya. Akantetapi ada taktik yang dapat dilakukan untuk memperbesar kemungkinan menang dalam permainan. Taktik yang telah disebutkan diatas, akan diterapkan dalam algoritma greedy dibawah ini. 4.1 Algoritma Greedy Cari Aman Algoritma Greedy Cari Aman merupakan algoritma greedy yang bertujuan untuk membuat aman seorang pemain. Dengan menerapkan algoritma greedy ini, diharapkan seorang pemain mendapat nilai rata-rata terbesar dalam permainan (karena dalam sekali permainan dilakukan beberapa kali babak, pemain dengan total nilai terbanyak ialah pemenangnya). Dalam Algoritma Greedy Cari Aman, pemain menerapkan taktik pertama yaitu pemain berusaha mengelurkan kartu dengan jumlah angka terbesar. Dalam algoritma ini, pada awal permainan, kartu pemain akan dibagi dalam 2 kelompok. Kelompok pertama berisikan kartu angka dan kelompok kedua berisikan kartu-kartu yang bukan merupakan kartu angka (kartu Wild, Wilddrawfour, Drawtwo, Skip, dan Reverse). Pengelompokan ini berguna pada karena setiap langkah yang pemain ambil, akan diusahakan untuk mengeluarkan kartu dari kelompok pertama (ingat taktik). Dalam setiap giliran bermain, akan dicek kartu pemain apakah kartu dari kelompok satu bisa keluar atau tidak. Bila ada yang bisa keluar, maka akan diambil warna dari kartu bisa keluar. Dari warna yang diambil, maka akan ditelusuri lagi dalam kelompok satu, akan dicari kartu dengan warna yang dimaksud dengan nilai yang terbesar. Bila kartu dari kelompok satu tidak ada yang bisa keluar, maka akan dilanjutkan penelusuran ke kelompok kedua. Dalam kelompok kedua ini, ada beberapa kondisi. Kondisi pertama adalah kondisi terdapat seorang pemain setelah pemainnya, yang memiliki kartu hanya satu buah. Kondisi kedua adalah kondisi dimana kondisi pertama tidak dipenuhi, seperti seorang pemain memiliki kartu hanya satu buah, tetapi posisinya berselang pemain lain, atau posisinya berada sebelum pemain. Contoh kondisi kedua lainnya adalah tidak ada pemain yang memiliki jumlah kartu hanya satu buah. Bila kondisi pertama dipenuhi, maka kartu Wilddrawfour, Drawtwo, Skip, dan Reverse akan dipakai. Kemudian keempat kartu tersebut akan dikeluarkan sesuai prioritas. Prioritas tertinggi ke terendahnya adalah Drawtwo, Wilddrawfour, dan Skip/Reverse. Alasan Skip/Reverse menjadi prioritas terndah adalah kartu Skip/Reverse tidak menambah jumlah kartu pemain tersebut. Kartu Drawtwo menjadi prioritas pertama karrena Wilddrawfour merupakan kartu serba guna yang dapat digunakan bila pemain tidak dapat mengeluarkan kartu. Bila kondisi kedua yang dipenuhi, maka kartu dari kelompok pertama akan ditahan, dilakukan pencarian dalam kartu kelompok kedua. Bila ditemukan, keluarkan kartu dari kelompok kedua, bila tidak, maka akan ditelusuri kartu dikelompok pertama. Prioritas keluar kartu dari tertinggi ke terendah yaitu Wild, Skip/Reverse, Drawtwo, dan Wilddrawfour. Wild menempati posisi teratas karena kartu Wild tidak dapat digunakan saat kondisi pertama terpenuhi. Kartu Wilddrawfour menempati posisi paling

buncit karena kartu ini kartu yang dianggap kartu yang berharga, kartu yang menyelamatkan. Untuk Algoritma Greedy Cari Aman disajikan dalam pseudo code dibawah ini. KAMUS LOKAL: Kelompok:integer {menentukan kelompok} M[]:integer {array kartu tangan pemain} PemainJumlahKartu1:boolean {untuk mengecek apakah ada pemain yang jumlah kartu sisa satu buah} AkhirBabak:boolean {untuk mengecek apakah permainan dalam babak tersebut sudah selesai atau belum} PilihKartu:integer {indeks untuk menunjuk kartu mana yang perlu keluar} ALGORITMA: while(akhirbabak()=false) do PilihKartu 99 if(pemainjumlahkartu1()=true) then PilihKartu doprioritaskel1() doganggupemain() PilihKartu doprioritaskel2() if(pilihkartu=99) then doambilkartudeck() if(cekbisakeluarkartudarideck()=true) then KeluarKartu(M[doAmbilKartuDeck]) dopass() Elemen-elemen pada Algoritma Greedy Cari Aman yaitu: Himpunan kandidat: himpunan kartu ditangan. Himpunan solusi: kelompok pertama, kelompok kedua. Fungsi seleksi: doprioritaskel1, doprioritaskel2. Fungsi kelayakan: mengecek warna sama/tidak atau angka sama/tidak (untuk kartu angka, Drawtwo, Skip, Reverse). Fungsi objektif: kartu yang keluar merupakan kartu dengan prioritas tertinggi. 4.2 Algoritma Greedy Hitung Kartu AlgoritmaGreedy Hitung Kartu ini menggunakan taktik nomor dua yang telah dijelaskan diatas. Algoritma greedy ini akan mencatat setiap kartu angka yang telah keluar. Pencatatan ini berguna untuk mengeluarkan kartu dengan angka mana yang perlu dikeluarkan dan mana yang tidak boleh dikeluarkan dahulu. Dalam algoritma ini, fungsi pencatat ini menjadi kunci. Mencatat semua kartu yang telah dikeluarkan oleh pemain lain. Hal ini berguna dalam penentuan kartu mana yang akan dikeluarkan, dimaksudkan agar memunculkan kemungkinan kartu angka yang dikeluarkan oleh lawan sama angka dengan kartu yang dimiliki oleh pemain. Fungsi pencatat ini juga akan mencatat warna kartu yang tidak dimiliki oleh kedua pemain disebelah pemain (setelah pemain dan sebelum pemain). Fungsi ini bertujuan untuk menjebak pemain sebelah agar tidak mengeluarkan kartu dan diharuskan mengambil kartu dari tumpukan. Fungsi pencatat warna kartu yang tidak dimiiki oleh pemain lain digunakan terlebih dahulu, bila tidak ditemukan yang cocok, maka akan digunakan fungsi pertama, yaitu mengeluarkan kartu dengan angka yang pernah keluar sebelumnya. Dengan menggunakan kedua fungsi diatas, maka tiap langkah pemain ditentukan oleh kedua fungsi ini. Algoritma Greedy Hitung Kartu disajikan dalam pseudo code dibawah ini: KAMUS LOKAL M[]:integer {array kartu tangan pemain} PemainJumlahKartu1:boolean {untuk mengecek apakah ada pemain yang jumlah kartu sisa satu buah} AkhirBabak:boolean {untuk mengecek apakah permainan dalam babak tersebut sudah selesai atau belum} PilihKartu:integer {indeks untuk menunjuk kartu mana yang perlu keluar} ALGORITMA while(akhirbabak()=false) do PilihKartu 99 if(pemainjumlahkartu1()=true) then doganggupemain() PilihKartu docatatkartukeluar() if(not(pilihkartu=99)) then PilihKartu dokartulawantidakada() if(not(pilihkartu=99)) then PilihKartu docarikartuacak() Elemen-elemen pada Algoritma Greedy Hitung Kartu yaitu: Himpunan kandidat: himpunan kartu ditangan. Himpunan solusi: himpunan kartu yang memiliki angka berbeda dengan fungsi pencatat, himpunan kartu yang tidak dimiliki lawan. Fungsi seleksi: docatatkartukeluar, dokartulawantidakada. Fungsi kelayakan: mengecek warna sama/tidak atau angka sama/tidak (untuk kartu angka, Drawtwo, Skip, Reverse). Fungsi objektif: kartu yang keluar merupakan kartu dengan kemungkinan kemunculan tertinggi angka berbeda dengan angka yang pernah keluar dan warna tidak dipunyai lawan. Algoritma Greedy mana yang lebih optimum untuk permainan Uno Kartu Klasik? Hal itu bergantung pada

jumlah pemain. Bila jumlah pemain banyak, lebih optimal digunakan Algoritma Greedy Hitung Kartu. Karena bila pemain berjumlah banyak, banyak kartu yang keluar, lebih banyak kemungkinan mencatat kemunculan pemain yang tdak mempunyai warna tertentu. Dan lebih banyak juga angka yang keluar, memudahkan dalam penentuan kartu angka mana yang akan keluar. Bila jumlah pemain sedikit, lebih optimal digunakan Algoritma Greedy Cari Aman, karena kesulitan penentuan kartu angka mana yang dapat keluar. 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,08 Desember 2011 5. KESIMPULAN 1. Algoritma Greedy dapat digunakan untuk menyelesaikan permainan Uno Kartu Klasik, walaupun hasil penyelesaiannya tidak selalu menghasilkan hasil yang paling optimum. 2. Pemilihan algoritma greedy yang lebih optimal, bergantung pada jumlah pemain yang bermain. Algoritma Greedy Cari Aman lebih optimal bila digunakan dengan jumlah pemain yang sedikit, sedangkan Algoritma Greedy Hitung Kartu lebih optimal bila digunakan dengan jumlah pemain yang banyak. Denver - 13509056 6. UCAPAN TERIMA KASIH Penulis mengucapkan terima kasih terutama kepada Tuhan Yang Maha Esa karena berkat anugerah yang diberikan-nya makalah ini dapat diselesaikan. Penulis juga mengucapkan terima kasih kepada Bapak Ir. Rinaldi Munir, M.T. selaku dosen pengajar kuliah IF3051 Strategi Algoritma karena berkat kuliah yang diberikan dan buku diktat yang ditulis oleh beliau makalah ini dapat disempurnakan. DAFTAR PUSTAKA [1] Munir, Rinaldi. Diktat Kuliah IF3051 Strategi Algoritma. 2009. [2] http://butuhbelajar.blogspot.com/2010/07/cara-main-kartuuno.html (07/12/2011). [3] www.king.com (07/12/2011).