IMPLEMENTASI ALGORITMA GREEDY PADA PERMAINAN CONGKLAK

dokumen-dokumen yang mirip
IMPLEMENTASI ALGORITMA GREEDY PADA PERMAINAN OTHELLO

Penerapan Algoritma Greedy dalam Permainan Bantumi

Penerapan Algoritma Greedy dalam Penyetokan Barang

Penerapan Algoritma Greedy untuk Permainan Halma

Penerapan Algoritma Greedy dalam Permainan Connect 4

Algorima Greedy Pada Self Serve Gas Station

Penerapan Algoritma Greedy dalam Permainan Tradisional Congklak

Penerapan Algoritma Greedy dalam Permainan Othello

Aplikasi Algoritma Greedy dalam Penjurusan Mahasiswa Tingkat Pertama Institut Teknologi Bandung

Penerapan Algoritma Greedy pada Permainan Kartu 100

APLIKASI ALGORITMA GREEDY DALAM PERMAINAN JAWBREAKER

Strategi Perancangan Bot Player pada Permainan Tradisional Congklak dengan Algoritma Greedy

ALGORITMA GREEDY DALAM PERMAINAN DOTS AND BOXES

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

Penerapan Algoritma Greedy pada Permainan Bubble Breaker

Pencarian Solusi Optimal dalam Permainan Congklak dengan Program Dinamis

Penerapan Algoritma Greedy untuk Permainan Flood It

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

PENERAPAN ALGORITMA GREEDY DALAM PENCARIAN SOLUSI TERBAIK PADA PERMAINAN TETRIS

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

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

Implementasi Algoritma Greedy pada Permainan Ludo

Penggunaan Algoritma Greedy Dalam Perancangan Papan Teka Teki Silang

PENGGUNAAN ALGORITMA GREEDY DALAM PERMAINAN KARTU BLACK JACK

Penerapan Algoritma Greedy Pada Permainan Kartu Truf

Penggunaan Algoritma Greedy untuk Mencari Solusi Optimal dalam Permainan Brick Breaker

Penggunaan Algoritma Greedy untuk Menyelesaikan Permainan UNO Kartu (Klasik)

Penggunaan Algoritma Greedy dalam Optimasi Masalah Perkebunan

Penggunaan Algoritma Greedy untuk menyelesaikan Permainan Othello

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

Penerapan Prinsip Greedy dalam Permainan Kartu Hearts

Penerapan Algoritma Greedy dalam Optimasi Keuntungan Perusahaan Pengiriman Barang

Algoritma Exhaustive Search Dalam Permainan Congklak

Penerapan Algoritma Greedy dan Breadth First Search pada Permainan Kartu Sevens

Penerapan Algoritma Greedy Pada Game Tower Defense: Tower of Greece

Penerapan Algoritma Greedy pada Permainan Tower Defense

Aplikasi Algoritma Greedy untuk Menyelesaikan Permainan Hedgewars

Penentuan Keputusan dalam Permainan Gomoku dengan Program Dinamis dan Algoritma Greedy

Algoritma Greedy untuk Pengambilan Keputusan dalam Permainan Kartu Hearts

Aplikasi Algoritma Greedy untuk Optimasi Sistem Booking Hotel Online

Penggunaan Algoritma Greedy Untuk Menyelesaikan Permainan Cluedo

APLIKASI ALGORITMA GREEDY DALAM PENENTUAN SPESIFIKASI KOMPUTER RAKITAN

APLIKASI ALGORITMA GREEDY DALAM PERMAINAN CAPSA BANTING

Penerapan Algoritma Greedy dalam Pembuatan Artificial Intelligence Permainan Reversi

Penerapan Algoritma Greedy dan Backtrackng Dalam Penyelesaian Masalah Rubik s Cube

Penerapan Algoritma Greedy dalam Pencarian Rantai Penjumlahan Terpendek

Aplikasi Algoritma Greedy pada Permainan Kartu Truf Pass

Algoritma Greedy untuk AI dalam Permainan DotA

Penerapan Algoritma Greedy Pada Permainan Killbots

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

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

Implementasi Algoritma Greedy Dua Sisi pada Permainan 2048

Strategi Permainan Bridge menggunakan Algoritma Greedy

Penentuan Langkah Sederhana dalam Permainan Kartu Hearthstone dengan Algoritma Greedy

Penentuan Langkah dengan Greedy dalam Permainan Ludo

Penerapan Algoritma Greedy dalam Permainan MarketGlory

Aplikasi Algoritma Greedy Pada Permainan Big Two

IMPLEMENTASI ALGORITMA GREEDY BEST FIRST SEARCH PADA APLIKASI PERMAINAN CONGKLAK UNTUK OPTIMASI PEMILIHAN LUBANG DENGAN POLA BERFIKIR DINAMIS

Algoritma Greedy pada Penjadwalan Real-Time untuk Earliest Deadline First Scheduling dan Rate Monotonic Scheduling serta Perbandingannya

Penentuan Lokasi Pemasaran Produk dengan Media Periklanan Menggunakan Algoritma Greedy

Aplikasi Algoritma Greedy untuk Pergerakan Musuh pada Permainan Pac-Man

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

Penggunaaan Algoritma Greedy Dalam Aplikasi Vending Machine

Penerapan Algoritma Greedy dalam Permainan Tetris

Penerapan algoritma Greedy dalam penentuan Porter Generic Strategies untuk suatu perusahaan

Penerapan Algoritma Greedy dalam Pemilihan Pemain di Game Football Manager

Aplikasi Algoritma Greedy dalam Permainan Kartu Truf

Algoritma Greedy pada Board Game Saboteur

Penerapan Algoritma Greedy pada Permainan Fire Emblem

Penentuan Rute Belanja dengan TSP dan Algoritma Greedy

PENGGUNAAN ALGORITMA GREEDY PADA MESIN PENCARI

Perbandingan BFS, DFS dan Greedy pada Permainan Logika Crossing Bridge

Implementasi Algoritma Greedy dalam Pembagian kerja pada Mesin yang Identik

APLIKASI GREEDY PADA ALGORITMA HUFFMAN UNTUK KOMPRESI TEKS

PERBANDINGAN ALGORITMA GREEDY DAN BRUTE FORCE DALAM SIMULASI PENCARIAN KOIN

Penerapan Algoritma Greedy untuk Menempatkan Pelanggan dalam Permainan Video Diner Dash

Penerapan Algoritma Greedy dalam Algoritma Disk Scheduling Shortest Seek Time First

Penerapan Algoritma Greedy dalam Pembuatan Klasemen Kompetisi

Optimisasi Penjadwalan Proses Pada Central Processing Unit Dengan Menggunakan Algoritma Greedy

Perancangan Algoritma Greedy pada AI Permainan Turn Based Strategy

Aplikasi Algoritma Greedy pada Permainan Zuma

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

PENERAPAN ALGORITMA GREEDY UNTUK PENENTUAN JALUR DISTRIBUSI BANTUAN PASCA BENCANA ALAM

Analisis Beberapa Algoritma dalam Menyelesaikan Pencarian Jalan Terpendek

ANALISA PENGGUNAAN ALGORITMA GREEDY PADA PERMAINAN FIVE LINK

Aplikasi Algoritma Greedy untuk Menyelesaikan Permainan Magic Wingdom

BAB 3 METODOLOGI 3.1. Analisis Kebutuhan dan Masalah Analisis Kebutuhan

Algoritma Greedy untuk Membangun Korpus Pengenalan Suara Al-Quran

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

Penerapan Algoritma Greedy dalam Algoritma Penjadwalan Prosesor Tunggal Shortest Job First

PENGGUNAAN EXHAUSTIVE SEARCH SEBAGAI SOLUSI PERMAINAN SCRAMBLE

Menerapkan Prinsip Greedy Dalam Bermain Digimon Card Battle

Algoritma Greedy dalam Strategi Permainan Centipede

Algoritma Greedy dalam Artificial Intelligence Permainan Tic Tac Toe

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

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

Penyelesaian Permainan Bantumi dengan Algoritma Expand, Mark and Select

ALGORITHM. 5 Greedy Algorithm. Dahlia Widhyaestoeti, S.Kom dahlia74march.wordpress.com

Implementasi Greedy Dalam Menemukan Rangkaian Logika Minimal Menggunakan Karnaugh Map

Penerapan Algoritma Greedy Dalam Permainan Clash Royale

Transkripsi:

IMPLEMENTASI ALGORITMA GREEDY PADA PERMAINAN CONGKLAK Ripandy Adha - NIM 13507115 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung Jalan Ganesha nomor 10 e-mail: if17115@students.itb.ac.id, ree_p_and_y@yahoo.com ABSTRAK Algoritma Greedy adalah algoritma yang umum digunakan dalam pemecahan masalah optimasi. Secara harfiah, kata greedy berarti tamak. Prinsip yang digunakan dalam algoritma greedy adalah "take what you can get now", yaitu mengambil kesempatan yang ada tanpa memikirkan konsekuensi kedepannya. Makalah ini akan membahas mengenai implementasi algoritma greedy dalam permainan congklak. Permainan congklak adalah permainan dengan 2 orang pemain, menggunakan biji dengan arena permainan umumnya memiliki 16 buah lubang tempat biji diletakkan, dimana 2 lubang merupakan "lubang penyimpanan" milik masing-masing pemain. Tujuan dari permainan congklak adalah mendapatkan sebanyak mungkin biji pada "lubang penyimpanan" sendiri. Penerapan algoritma greedy yang dapat diimplementasikan dalam permainan congklak adalah dengan mengambil langkah yang dapat memberikan biji terbanyak ke dalam "lubang penyimpanan". Kata kunci: Algoritma Greedy, Congklak. 1. PENDAHULUAN 1.1 Permainan Congklak Permainan congklak adalah permainan tradisional Indonesia yang dimainkan oleh dua orang pemain. Permainan dilakukan dengan menggunakan 98 buah biji dan papan permainan berbentuk lonjong yang umumnya memiliki 7 buah lubang di setiap sisinya. Selain itu juga terdapat dua lubang di ujung papan, yang umumnya terletak di tengah, berukuran lebih besar, dan digunakan sebagai "lubang penyimpanan" dalam permainan. Lubanglubang tersebut adalah tempat biji congklak dimainkan. Tujuan dari permainan congklak adalah mendapatkan sebanyak mungkin biji ke dalam lubang penyimpanan milik sendiri. Pemenang dalam permainan congklak adalah pemain dengan jumlah biji terbanyak pada lubang penyimpanan miliknya, atau pemain yang masih dapat memainkan biji pada gilirannya, yaitu saat pemain lawan kehabisan biji di sisi papannya, dan tidak dapat melanjutkan permainan. Permainan congklak pada umumnya dimainkan dalam beberapa babak, dimana babak pertama dengan babak selanjutnya memiliki peraturan yang sedikit berbeda. Akan tetapi, dalam makalah ini hanya akan dibahas permainan congklak pada babak pertama saja. Gambar 1. Papan Permainan Congklak 1.2 Algoritma Greedy Algoritma greedy merupakan metode yang paling populer untuk memecahkan masalah optimasi. Secara harfiah, greedy berarti tamak atau rakus. Prinsip dari algoritma greedy adalah mengambil setiap kesempatan yang ada saat itu juga, tanpa memperhatikan konsekuensi kedepannya. Algoritma greedy membentuk solusi dari langkah demi langkah, dan pada setiap langkah harus dibuat keputusan yang terbaik dalam menentukan pilihan. Di setiap langkahnya algoritma greedy mengambil pilihan yang terbaik yang dapat diperoleh pada saat itu tanpa memperhatikan konsekuensi kedepan. Setiap keputusan yang diambil diharapkan merupakan langkah optimum pada langkah tersebut, dikenali sebagai solusi optimum lokal, kemudian dengan setiap langkah yang ditempuh diharapkan dapat memperoleh solusi optimum di akhir proses, yaitu solusi optimum global.

Algoritma greedy tidak selalu memperoleh solusi optimum untuk keseluruhan permasalahan yang ditangani, dikarenakan algoritma greedy tidak melakukan operasi secara exhaustive kepada semua data, dan seringkali tidak mementingkan solusi optimum global. Akan tetapi, algoritma greedy merupakan solusi yang baik digunakan dikarenakan algoritma greedy bekerja dengan cepat dan sering memberikan perkiraan nilai optimum yang baik di setiap langkahnya. Dan tidak jarang dapat menghasilkan solusi optimum global pada suatu permasalahan dari pengambilan solusi optimum lokal di setiap langkahnya. Elemen-elemen algoritma greedy dalam persoalan optimasi adalah sebagai berikut : 1. Himpunan kandidat Himpunan ini berisi elemen-elemen pembentuk solusi. 2. Himpunan solusi Himpunan ini berisi kandidat-kandidat yang terpilih sebagai solusi persoalan. Himpunan solusi merupakan himpunan bagian dari himpunan kandidat. 3. Fungsi seleksi Fungsi seleksi dinyatakan sebagai predikat SELEKSI merupakan fungsi yang pada setiap langkah memilih kandidat yang paling mungkin untuk mendapatkan solusi optimal. 4. Fungsi kelayakan Fungsi kelayakan dinyatakan sebagai predikat LAYAK merupakan fungsi yang memeriksa apakah suatu kandidat yang dipilih dapat memberikan solusi yang layak, yaitu kandidat tersebut tidak melanggar aturan yang ada. 5. Fungsi objektif Fungsi objektif merupakan fungsi yang memaksimumkan atau meminimumkan nilai solusi. 2. METODE 2.1 Aturan Permainan Congklak Permainan congklak dimainkan oleh dua orang pemain. Permainan dilakukan bergiliran secara bergantian. Permainan congklak dimainkan diatas sebuah papan lonjong yang masing-masing sisi memiliki tujuh lubang dan dua lubang penyimpanan di kedua ujung papan. Masing-masing pemain menghadap ke sisi papan dan saling berhadapan. Lubang penyimpanan tiap pemain berada di sebelah kiri pemain. Permainan dilakukan selama beberapa babak, dimana babak pertama memiliki sedikit perbedaan peraturan dengan babak-babak selanjutnya. Untuk babak pertama, pada awal permainan, masingmasing lubang diisi tujuh buah biji, tetapi dua lubang penyimpanan dibiarkan kosong. Pemain pertama mengambil seluruh biji di lubang manapun pada sisinya, kemudian melakukan langkah searah jarum jam menelusuri lubang-lubang sambil meletakan satu biji di tiap lubang yang dilalui dalam usaha mengisi lubang penyimpanan. Biji-biji diletakkan di setiap lubang termasuk lubang-lubang di sisi lawan dan lubang penyimpanan milik sendiri, tetapi tidak termasuk lubang penyimpanan milik lawan. Pada saat melangkah, terdapat beberapa kasus untuk menangani langkah dimana biji terakhir berhenti : 1. Jika biji terakhir dalam melakukan langkah adalah pada lubang yang masih terdapat biji, maka ambil semua biji pada lubang tersebut, dan lakukan langkah seperti sebelumnya. 2. Jika biji terakhir jatuh di lubang yang kosong, maka tinggalkan biji terakhir di lubang tersebut, dan saat itu giliran berakhir, bergantian dengan pemain lawan. 3. Jika biji terakhir jatuh di lubang penyimpanan, maka pemain mendapat giliran sekali lagi. 4. Jika biji terakhir jatuh di lubang kosong di sisi milik sendiri, serta telah mengelilingi papan sebanyak paling sedikit satu kali, maka jika lubang diseberangnya tidak kosong (lubang pada sisi lawan yang berhadapan dengan lubang tempat biji terakhir tersebut), maka ambil biji terakhir tersebut dan semua biji di lubang di seberangnya, dan simpan di lubang penyimpanan, kemudian saat itu juga giliran berakhir, bergantian dengan pemain lawan. Keadaan ini sering dikenal dengan istilah "tembak" dalam permainan. Saat giliran pemain pertama berakhir, pemain kedua melakukan cara bermain yang sama dengan yang dilakukan pemain pertama. Suatu babak berakhir ketika salah satu pemain kehabisan biji di sisi papan miliknya. Pemain yang terlebih dahulu kehabisan biji kalah pada babak tersebut, dan pemain lawan menjadi pemenang di babak tersebut. Pemain yang menang pada suatu babak mendapat giliran jalan pertama pada babak selanjutnya. Babak kedua dan seterusnya memiliki peraturan khusus yang berbeda dari babak pertama, tergantung dari hasil permainan pada babak sebelumnya. Akan tetapi, makalah ini tidak akan membahas mengenai hal tersebut, karena masalah yang dibahas dibatasi pada permainan babak pertama. Permainan berakhir jika salah satu pemain kehabisan seluruh biji nya, atau kedua pemain memutuskan untuk berhenti bermain. Pada saat akhir permainan, kedua pemain menghitung jumlah biji yang dimilikinya untuk menentukan pemenang dari permainan.

2.2 Pendekatan Algoritma Greedy Algoritma greedy pada permainan congklak dapat diterapkan dalam mencapai tujuan permainan, yaitu mendapatkan biji terbanyak di lubang penyimpanan. Pendekatan untuk algoritma greedy dapat disesuaikan dengan peraturan permainan congklak, dengan menentukan prioritas pengambilan langkah akan diawali pada lubang yang paling menguntungkan. Strategi pertama, yang paling baik untuk bisa mendapat sebanyak mungkin biji di lubang penyimpanan, adalah mendapat giliran sebanyak mungkin dengan cara mengambil langkah yang akan menjatuhkan biji terakhir pada lubang penyimpanan. Jika terdapat beberapa pilihan, maka pilihan terbaik adalah dengan memilih langkah pada lubang terdekat dari lubang penyimpanan, karena dapat dipastikan pemilihan langkah tersebut terlebih dahulu akan memberikan kesempatan yang sama saat mengambil langkah lainnya. Jika tidak ada langkah yang memungkinkan untuk mendapatkan giliran lagi dengan cara yang telah disebutkan sebelumnya, strategi kedua adalah dengan melakukan "tembak" kepada lawan, dengan cara mencari langkah yang akan memberikan kemungkinan untuk dapat melakukan satu putaran, dan berhenti pada lubang kosong di sisi milik sendiri, dimana pada lubang yang tepat berseberangan pada sisi lain memiliki jumlah biji paling banyak, sehingga semua biji terakhir dan biji lawan dapat diletakkan seluruhnya dalam lubang penyimpanan dan menjadi milik sendiri. Kedua strategi tersebut merupakan strategi terbaik yang dapat digunakan dalam permainan, akan tetapi ketika kedua strategi tersebut tidak dapat dilakukan, maka strategi default yang akan digunakan oleh algoritma greedy adalah dengan mengambil langkah dari lubang dengan biji terbanyak dan paling sedikit dapat mencapai lubang penyimpanan sebanyak satu kali, dengan harapan akan dapat terus melanjutkan langkah selama mungkin. 3. REPRESENTASI ALGORITMIK 3.1 Representasi Papan Congklak Bentuk papan permainan congklak direpresentasikan dalam notasi algoritmik : 1. Hole1 : Merupakan larik bertipe sebagai representasi papan pada sisi pemain pertama dimana larik dengan indeks [0..6] merepresentasikan tujuh lubang papan permainan dan nilai pada larik lubang dengan index tertentu merepresentasikan jumlah biji dalam larik lubang di indeks tersebut. Indeks terurut membesar dimulai dari lubang yang paling dekat dengan lubang penyimpanan hingga yang paling jauh. 2. Hole2 : Merupakan larik bertipe sebagai representasi papan pada sisi pemain kedua dimana larik dengan indeks [0..6] merepresentasikan tujuh lubang papan permainan dan nilai pada larik lubang dengan index tertentu merepresentasikan jumlah biji dalam larik lubang di indeks tersebut. Indeks terurut membesar dimulai dari lubang yang paling dekat dengan lubang penyimpanan hingga yang paling jauh. 3. Store1 : Merupakan representasi lubang penyimpanan pemain pertama dengan tipe. Nilai merepresentasikan jumlah biji pada lubang penyimpanan tersebut. 4. Store2 : Merupakan representasi lubang penyimpanan pemain kedua dengan tipe. Nilai merepresentasikan jumlah biji pada lubang penyimpanan tersebut. Store1 Hole2[0..6] 7 7 7 7 7 7 7 7 7 7 7 7 7 7 Hole1[0..6] Gambar 2. Representasi Papan Permainan Congklak 3.2 Representasi Algoritma Greedy Store2 Algoritma greedy dalam masalah pengambilan langkah dalam permainan congklak adalah : 1. Himpunan kandidat C, adalah semua lubang dalam permainan congklak. 2. Himpunan solusi S, adalah salah satu dari himpunan kandidat yang dapat memberikan solusi maksimal. 3. Fungsi objektif adalah mengambil langkah yang menghasilkan paling banyak biji di lubang penyimpanan dalam satu giliran. 4. Fungsi kelayakan adalah solusi bukan merupakan lubang yang tidak ada bijinya. 5. Fungsi seleksi adalah fungsi yang menentukan lubang manakah yang menjadi solusi dari algoritma greedy dan yang paling mungkin dapat memberikan solusi paling optimal. Dalam masalah ini, fungsi seleksi dapat direalisasikan dengan menggunakan strategi yang telah dibahas pada bab sebelumnya. Disini, Algoritma greedy akan memilih langkah tergantung kepada tingkat baiknya strategi yang digunakan. Fungsi seleksi akan selalu menggunakan strategi terbaik yang memungkinkan untuk dilakukan.

Pseudo-code untuk fungsi seleksi dapat dituliskan seperti berikut : function greedycongklak (input {Merupakan fungsi yang mengembalikan nilai index dari larik lubang yang dipilih sebagai langkah yang tepat} kamus lokal function isstg1avail (input boolean {merupakan fungsi yang mengembalikan nilai true jika strategi pertama dapat dilakukan} function isstg2avail(input Hole[0..6] : array of ) -> boolean {merupakan fungsi yang mengembalikan nilai true jika strategi kedua dapat dilakukan} function getindexstg1(input {mengembalikan index larik lubang terendah yang mungkin untuk strategi pertama} function getindexstg2(input {mengembalikan index larik lubang mungkin untuk strategi kedua} function getmaks(input Hole[0..6] : array of ) -> {merupakan fungsi yang akan mengembalikan index larik lubang yang memiliki biji paling banyak} idx : Algoritma if (isstg1avail(hole)= true) then idx <- getindexstg1(hole) else if (isstg2avail(hole)=true) then idx <- getindexstg2(hole) else idx <- getmaks(hole) endif -> idx Fungsi greedycongklak adalah fungsi yang mengembalikan nilai indeks dari larik lubang yang merupakan pilihan langkah terbaik yang dapat dilakukan. Pada awalnya fungsi ini akan memeriksa apakah langkah strategi pertama, yaitu dengan mengambil langkah yang berakhir di lubang penyimpanan, dapat dilakukan pada saat itu, dengan bantuan fungsi isstg1avail sebagai pemeriksanya. Jika fungsi isstg1avail mengembalikan nilai true, maka menandakan bahwa langkah strategi pertama dapat dilakukan, dan kemudian dengan bantuan fungsi getindexstg1 akan mencari indeks larik lubang yang paling dekat dengan lubang penyimpanan untuk strategi yang maksimal. Ketika fungsi isstg1avail tidak mengembalikan nilai true, berarti strategi pertama tidak dapat dijalankan pada langkah tersebut. Maka dari itu dilakukan pemeriksaan selanjutnya, apakah langkah strategi kedua, yaitu dengan mengambil langkah yang dapat melakukan "tembak" pada lawan dengan keuntungan maksimum, dapat dilakukan. Pemeriksaan dilakukan dengan bantuan fungsi isstg2avail. Ketika fungsi isstg2avail mengembalikan nilai true, maka menunjukkan bahwa langkah strategi kedua dapat dilakukan, dan kemudian dengan bantuan fungsi getindexstg2 akan mencari indeks larik lubang yang dapat melakukan "tembak" dengan keuntungan terbesar. Apabila fungsi isstg2avail juga tidak mengembalikan nilai true setelah melakukan pemeriksaan terhadap kedua strategi terbaik, berarti kedua strategi permainan tidak dapat dilakukan pada langkah tersebut, sehingga strategi terakhir yang dapat digunakan adalah dengan memilih langkah pada lubang dengan jumlah biji terbanyak yang dapat diambil. Fungsi getmaks akan membantu mencari indeks larik lubang yang memiliki jumlah biji terbanyak pada saat itu. 4. KESIMPULAN Algoritma greedy adalah algoritma yang sederhana, cepat, praktis, dan cukup baik dalam pemecahan masalah optimasi, walaupun hasil yang diberikan tidak selalu optimal secara keseluruhan. Pemecahan masalah permainan congklak dapat diselesaikan dengan pendekatan algoritma greedy untuk mendapatkan biji sebanyak mungkin pada lubang penyimpanan milik sendiri. Pendekatan dilakukan dengan memperhatikan aturan permainan dan menyusun strategi terbaik yang dapat dilakukan sesuai dengan aturan permainan yang berlaku. Algoritma greedy dapat diimplementasikan dengan menerapkan strategi terbaik tersebut dalam setiap keputusan pengambilan langkah di setiap kesempatan untuk memperoleh langkah yang sebisa mungkin dapat memberikan biji terbanyak ke dalam lubang penyimpanan.

REFERENSI [1] Munir, Rinaldi. Diktat Kuliah Strategi Algoritmik. 2007. Bandung : Program Studi Teknik Informatika ITB. [2] http://www.expat.or.id/info/congklak.html. Diakses pada tanggal 29 Desember 2009. [3] http://www.expat.or.id/info/congklakinstructions.html#top. Diakses pada tanggal 29 Desember 2009.