• Tidak ada hasil yang ditemukan

APLIKASI ALGORITMA GREEDY DAN PROGRAM DINAMIS (DYNAMIC PROGRAMMING) PADA PERMAINAN GREDDY SPIDERS.

N/A
N/A
Protected

Academic year: 2017

Membagikan "APLIKASI ALGORITMA GREEDY DAN PROGRAM DINAMIS (DYNAMIC PROGRAMMING) PADA PERMAINAN GREDDY SPIDERS."

Copied!
34
0
0

Teks penuh

(1)

Ika Zulhidayati, 2013

Aplikasi Algoritma Greedy Dan Program Dinamis (Dynamic Programming) Pada Permainan Greedy Spiders

Universitas Pendidikan Indonesia | repository.upi.edu| perpustakaan.upi.edu

APLIKASI ALGORITMA GREEDY DAN PROGRAM DINAMIS (DYNAMIC PROGRAMMING) PADA PERMAINAN GREDDY SPIDERS

SKRIPSI

Diajukan untuk Memenuhi Sebagian dari Syarat untuk Memperoleh Gelar Sarjana Sains

Program Studi Matematika Konsentrasi Terapan

Oleh

IKA ZULHIDAYATI 0900626

PROGRAM STUDI MATEMATIKA JURUSAN PENDIDIKAN MATEMATIKA

FAKULTAS PENDIDIKAN MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS PENDIDIKAN INDONESIA

(2)

ii

Ika Zulhidayati, 2013

Aplikasi Algoritma Greedy Dan Program Dinamis (Dynamic Programming) Pada Permainan Greedy Spiders

Universitas Pendidikan Indonesia | repository.upi.edu| perpustakaan.upi.edu IKA ZULHIDAYATI

APLIKASI ALGORITMA GREEDY DAN PROGRAM DINAMIS (DYNAMIC PROGRAMMING) PADA PERMAINAN GREEDY SPIDERS

DISETUJUI DAN DISAHKAN OLEH

PEMBIMBING : Pembimbing 1

Kartika Yulianti, S.Pd., M.Si NIP : 198207282005012001

Pembimbing II

Utari Wijayanti, S.Kom., M.Si NIP : 197608202010122003

Mengetahui

Ketua Jurusan Pendidikan Matematika

(3)

iii

Ika Zulhidayati, 2013

Aplikasi Algoritma Greedy Dan Program Dinamis (Dynamic Programming) Pada Permainan Greedy Spiders

Universitas Pendidikan Indonesia | repository.upi.edu| perpustakaan.upi.edu

APLIKASI ALGORITMA GREEDY DAN PROGRAM DINAMIS (

DYNAMIC

PROGRAMMING

) PADA PERMAINAN

GREEDY SPIDERS

Oleh Ika Zulhidayati

Sebuah skripsi yang diajukan untuk memenuhi salah satu syarat memperoleh gelar Sarjana pada Fakultas Pendidikan Matematika dan Ilmu Pengetahuan Alam

© Ika Zulhidayati 2013 Universitas Pendidikan Indonesia

Agustus 2013

Hak Cipta dilindungi undang-undang.

(4)

viii

Ika Zulhidayati, 2013

Aplikasi Algoritma Greedy Dan Program Dinamis (Dynamic Programming) Pada Permainan Greedy Spiders

Universitas Pendidikan Indonesia | repository.upi.edu| perpustakaan.upi.edu

ABSTRAK

Semakin pesatnya perkembangan teknologi, perkembangan games pun semakin maju. Greedy Spiders merupakan salah satu game untuk smartphone yang berbasis seperti Android yang dikembangkan oleh Blyts sebuah software house. Pada game ini terdapat laba-laba yang ingin memakan serangga yang terjebak di jaring laba-laba tersebut. Laba-laba tersebut merupakan Artificial Intelligence (AI) pada permainan ini, yang akan menjadi lawan bagi pemain dalam menyelesaikan permainan ini. Tugas pemain adalah menyelamatkan serangga yang terjebak sehingga laba-laba tidak dapat memakan serangga tersebut dengan cara memutuskan beberapa sisi pada jaring laba-laba. Algoritma Greedy merupakan metode yang paling populer untuk memecahkan persoalan optimasi. Algoritma Greedy membentuk solusi langkah per langkah. Program Dinamis (Dynamic Programming) adalah suatu metode pemecahan masalah dengan cara menguraikan solusi menjadi sekumpulan langkah (step) atau tahapan (stage) sedemikian sehingga solusi dari persoalan dapat dipandang dari serangkaian keputusan yang saling berkaitan. Pada program dinamis, rangkaian keputusan yang optimal dibuat dengan menggunakan Prinsip Optimalitas, dengan prinsip optimalitas ini dijamin bahwa pengambilan keputusan pada suatu tahap adalah keputusan yang benar untuk tahap-tahap selanjutnya. Algoritma Greedy digunakan untuk mengetahui pergerakan laba-laba, kemudian program dinamis (dynamic programming) pada permainan Greedy Spiders digunakan untuk mencari solusi optimal dari pergerakan laba-laba ke serangga, yaitu mencari jalur terpendek dari pergerakan laba-laba ke serangga sehingga pemain dapat memutuskan jaring mana yang akan dipotong untuk memperoleh hasil yang maksimal atau dalam hal ini pemain dapat memperoleh skor tertinggi.

(5)

ix

Ika Zulhidayati, 2013

Aplikasi Algoritma Greedy Dan Program Dinamis (Dynamic Programming) Pada Permainan Greedy Spiders

Universitas Pendidikan Indonesia | repository.upi.edu| perpustakaan.upi.edu

ABSTRACT

As the technology rapidly develops, the development of games follows. Greedy Spiders is a game for smartphone with such system as Android developed by Blyts, a software house. There is spider in this game wishing to eat insects that are trapped on a spider web. The spider is an Artificial Intelligence (AI) in this

game, which will be the opponent of player in completing this game. Player’s duty

is to save the trapped insects, so that the spider will not get any chance to eat those insects. The step is to cut the spider web by tapping it. Greedy algorithm is one most popular method in solving optimization problems. It provides step by step solution. Dynamic programming is a problem shooting method which disentangles solutions into a set of steps in such a way, so that the solution of the problem is known as a combination of interrelated conclusions. On dynamic programming, an optimum combination of conclusions is made by applying principle of optimally, this principle guarantees that a conclusion taken on one step will be the correct conclusion on the following steps. Greedy algorithm is

used in noticing the spider’s movement, while, dynamic programming on Greedy Spiders game is used to find the optimal solution of it, which is to find the shortest path between spider and insects so the player can decide which nets to cut in which it aims at getting the best result, or, in this case to get the highest score.

Keywords: Greedy Algorithm, Dynamic Programming, insects, spider web, spider.

(6)

x

Ika Zulhidayati, 2013

Aplikasi Algoritma Greedy Dan Program Dinamis (Dynamic Programming) Pada Permainan Greedy Spiders

Universitas Pendidikan Indonesia | repository.upi.edu| perpustakaan.upi.edu

DAFTAR ISI

PERNYATAAN ... iv

KATA PENGANTAR ... vi

UCAPAN TERIMA KASIH ... vii

ABSTRAK ... viii

ABSTRACT ... ix

DAFTAR ISI ... x

DAFTAR GAMBAR ... xii

DAFTAR ISTILAH ... xiii

BAB IPENDAHULUAN ... 1

1.1 Latar Belakang Masalah ... 1

1.2 Rumusan Masalah ... 4

1.3 Batasan Masalah ... 4

1.4 Tujuan Penulisan ... 4

1.5 Manfaat Penulisan ... 4

1.6 Definisi Operasional ... 5

1.7 Sistematika Penulisan ... 5

BAB II KAJIAN PUSTAKA ... 7

2.1 Greedy Spiders ... 7

2.1.1 Level ... 9

2.1.2 Serangga ... 10

2.2 Konsep Dasar Teori Graf ... 11

2.2.1 Definisi Graf ... 11

2.3 Lintasan ... 12

2.4 Sisi Pemotong ... 13

2.5 Keterhubungan sisi ... 14

(7)

xi

Ika Zulhidayati, 2013

Aplikasi Algoritma Greedy Dan Program Dinamis (Dynamic Programming) Pada Permainan Greedy Spiders

Universitas Pendidikan Indonesia | repository.upi.edu| perpustakaan.upi.edu

3.1 Algoritma Greedy ... 17

3.1.1 Skema Umum Algoritma Greedy ... 17

3.2 Program Dinamis (Dynamic Programming) ... 19

3.2.1 Konsep Dasar ... 19

3.2.2 Skema Umun Program Dinamis ... 23

3.2.2.1 Prinsip Optimalitas 23 3.2.2.2 Karakteristik Persoalan Program Dinamis 24 3.2.2.3 Dua Pendekatan Program Dinamis 25 3.2.2.4 Langkah-langkah Pengembangan Algoritma Program Dinamis 26 BAB IV STUDI KASUS ... 30

4.1 Deskripsi Masalah ... 30

4.2 Aplikasi Algoritma Greedy dan Program Dinamis ... 32

4.2.1 Level 1-6 ... 32

4.2.2 Level 1-7 ... 36

4.2.3 Level 1-10 ... 42

4.2.4 Level 1-13 ... 48

4.2.5 Level 1-17 ... 54

4.3 Tampilan Hint dengan Program Delphi ... 57

4.3.1 Tampilan Hint pada Level 1-6 ... 57

4.3.2 Tampilan Hint pada Level 1-7 ... 59

4.3.3 Tampilan Hint pada Level 1-10 ... 60

BAB V PENUTUP ... 62

5.1 Kesimpulan ... 62

5.2 Saran ... 63

DAFTAR PUSTAKA ... 64

(8)

xii

Ika Zulhidayati, 2013

Aplikasi Algoritma Greedy Dan Program Dinamis (Dynamic Programming) Pada Permainan Greedy Spiders

Universitas Pendidikan Indonesia | repository.upi.edu| perpustakaan.upi.edu

DAFTAR GAMBAR

Gambar 2- 1 Menu Utama pada Game Greedy Spiders ... 8

Gambar 2- 2 Empat Level Utama pada Game Greedy Spiders ... 9

Gambar 2- 3 Contoh Interface pada Game Greedy Spiders ... 9

Gambar 2- 4 Jenis Serangga pada Game Greedy Spiders ... 10

Gambar 2- 5 Tap pada Jaring Laba-laba ... 11

Gambar 2- 6 Representasi Graf ... 12

Gambar 2- 7 Graf Sederhana dan Graf Terhubung ... 12

Gambar 2- 8... 13

Gambar 3- 4 Graf Multitahap (multistage graph) ... 25

Gambar 3- 5 Lintasan Terpendek (shortest path) ... 26

Gambar 4- 1 Titik Kemungkinan Terbesar ... 31

Gambar 4- 2 Titik Kemungkinan Terbesar pada Level 1-6 ... 33

Gambar 4- 3 Tiga Sisi yang Berjarak Satu Langkah dari Serangga ... 33

Gambar 4- 4 Titik Kemungkinan Terbesar pada Level 1-7 ... 36

Gambar 4- 5 Enam Sisi yang Berjarak Satu Langkah dari Serangga ... 37

Gambar 4- 6 Titik Kemungkinan Terbesar pada Level 1-10 ... 42

Gambar 4- 7 Lima Sisi yang Berjarak Satu Langkah dari Serangga ... 42

Gambar 4- 8 Titik Kemungkinan Terbesar pada Level 1-13 ... 48

Gambar 4- 9 Lima Sisi yang Berjarak Satu Langkah dari Serangga ... 49

Gambar 4- 10 Titik Kemungkinan Terbesar pada Level 1-17 ... 55

Gambar 4- 11 Dua Sisi yang Berjarak Satu Langkah dari Serangga ... 55

(9)

xiii

Ika Zulhidayati, 2013

Aplikasi Algoritma Greedy Dan Program Dinamis (Dynamic Programming) Pada Permainan Greedy Spiders

Universitas Pendidikan Indonesia | repository.upi.edu| perpustakaan.upi.edu DAFTAR ISTILAH

Smartphone : Smartphone atau telepon pintar adalah telepon genggam yang

mempunyai kemampuan tingkat tinggi, kadang-kadang dengan fungsi yang menyerupai komputer.

Entry-level : Smartphone Android versi Entry-level biasanya disajikan dengan

spesifikasi terbaik dengan OS Android versi menengah hingga paling baru.

High-end : Smartphone Android level High-end adalah smartphone yang

memiliki kelebihan dari segi fitur, hardware, dan teknologi serta versi OS Android tertinggi.

Platform : Sistem operasi, atau tempat suatu aplikasi dijalankan.

Android : Android adalah sistem operasi yang berbasis Linux untuk telepon seluler seperti telepon pintar dan komputer tablet.

iOS : iOS (sebelumnya iPhone OS) adalah sistem operasi perangkat bergerak yang dikembangkan dan didistribusikan oleh Apple Inc.

Blackberry : Perangkat genggam nirkabel yang dikembangkan oleh perusahaan Blackberry.

Windows Phone 7 : Ponsel yang menggunakan sistem operasi windows (mobile).

Gadget : Sebuah obyek atau barang elektronik teknologi kecil yang memiliki

fungsi khusus. Game : Permainan.

(10)

xiv

Ika Zulhidayati, 2013

Aplikasi Algoritma Greedy Dan Program Dinamis (Dynamic Programming) Pada Permainan Greedy Spiders

Universitas Pendidikan Indonesia | repository.upi.edu| perpustakaan.upi.edu

Personal Computer (PC) : Istilah yang sering digunakan sehari-hari untuk

komputer.

Vendor : lembaga, perorangan atau pihak ketiga yang menyediakan bahan, jasa, produk.

Konsol : Istilah yang digunakan untuk sebuah mesin atau sistem yang dirancang khusus untuk memainkan game.

Multiplayer : Mode permainan yang anggota pemainnya lebih dari satu dan dapat

berbentuk sebuah tim.

LAN : Local Area Network merupakan suatu jenis jaringan komputer dengan mencakup wilayah lokal.

Bluetooth : Spesifikasi industri untuk jaringan kawasan pribadi tanpa kabel

dengan jarak terbatas.

Wi-Fi : Wireless Fidelity adalah koneksi tanpa kabel seperti handphone dengan menggunakan teknologi radio.

Fitur : Suatu aspek, kualitas atau ciri yang menonjol sehingga menjadi daya tarik suatu produk.

Portabilitas : Kemampuan sebuah program untuk berjalan pada lebih dari satu jenis sistem komputer tanpa modifikasi.

Fleksibilitas : Kemampuan untuk bekerja dengan efektif dalam situasi yang berbeda.

Joystick : Suatu perangkat input yang terdiri dari tongkat yang berporos di

pangkalan dan pada sudut pangkal terdapat terdapat tombol perangkat untuk mengarahkan atau mengendalikan.

Online : On yang dimaksud di sini adalah hidup di dalam dunia maya dengan

sebutan online.

Game Online : Jenis permainan komputer yang memanfaatkan jaringan komputer

(11)

xv

Ika Zulhidayati, 2013

Aplikasi Algoritma Greedy Dan Program Dinamis (Dynamic Programming) Pada Permainan Greedy Spiders

Universitas Pendidikan Indonesia | repository.upi.edu| perpustakaan.upi.edu

Puzzle game : Permainan teka-teki yang membutuhkan logika dan menantang

kecerdasan seperti matematika.

Software : Istilah umum yang digunakan untuk semua jenis program komputer ,

menggambarkan koleksi program, prosedur dan dokumentasi komputer yang melakukan beberapa tugas pada sebuah sistem komputer.

Software house : Suatu perusahaan yang memproduksi berbagai keperluan

software tertentu.

AI : Artificial Intelligent atau kecerdasan buatan adalah suatu cabang dalam bidang sains komputer yang mengkaji tentang bagaimana melengkapi sebuah komputer dengan kemampuan atau kepintaran seperti manusia. Seperti yang telah dibangun dalam beberapa aplikasi perangkat lunak komputer dan game.

Interface : Sarana atau sistem operasi yang digunakan untuk menghubungkan

antara perangkat mikroprosesor agar dapat berkomunikasi dengan pengguna (user).

(12)

1

Ika Zulhidayati, 2013

Aplikasi Algoritma Greedy Dan Program Dinamis (Dynamic Programming) Pada Permainan Greedy Spiders

Universitas Pendidikan Indonesia | repository.upi.edu| perpustakaan.upi.edu

BAB I

PENDAHULUAN

1.1 Latar Belakang Masalah

Pesatnya perkembangan teknologi diikuti pula dengan semakin tingginya kebutuhan akan penggunaan perangkat telepon pintar (smartphone) dengan mulai dari entry-level hingga high-end. Smartphone dengan berbagai platform, mulai dari Android, iOS, BlackBerry hingga Windows Phone 7 telah merambah di pasar gadget di seluruh belahan dunia, termasuk Indonesia. Kehadiran berbagai

perangkat smartphone ternama berbasis Android dipasaran tampaknya sudah berhasil menjangkau berbagai kalangan pengguna. Android merupakan sistem operasi besutan Google. Sebanyak 39,63 persen pembuat games yang disurvei mengaku tertarik untuk mengembangkan game pada sistem operasi tersebut (tekno.liputan6.com).

Seiring majunya perkembangan teknologi, perkembangan games pun seolah tidak mau ketinggalan. Para vendor bersaing membuat games yang dapat merebut hati para gamers melalui games besutannya. Para penyuka games pun semakin mewabah dan memasuki berbagai kalangan umur.

Awalnya games berupa konsol dengan layar televisi sebagai audionya. Lalu, games pun ikut muncul di komputer atau personal computer (pc), tak ketinggalan juga telepon seluler mulai meyuguhkan aplikasi games. Lalu, games yang biasanya hanya bisa dimainkan seorang diri yang melawan komputer berkembang menjadi multiplayer, yang dapat dimainkan lebih dari satu orang dengan pc yang berbeda dengan memanfaatkan LAN (Local Area Network). Dan sekarang games pada smartphone, yang tidak hanya dapat dibawa kemana-mana namun dapat juga bermain multiplayer dengan memanfaatkan bantuan bluetooth, LAN ataupun wifi.

(13)

2

Ika Zulhidayati, 2013

Aplikasi Algoritma Greedy Dan Program Dinamis (Dynamic Programming) Pada Permainan Greedy Spiders

Universitas Pendidikan Indonesia | repository.upi.edu| perpustakaan.upi.edu

portabilitas dan fleksibilitasnya serta kemampuan yang tak kalah dari games konsol, dan juga ada beberapa jenis smartphone yang kini menyediakan joystick ke dalam smartphone mereka sehingga memanjakan para pecinta game untuk bermain. Smartphone yang diduga menjadi saingan games konsol ini adalah smartphone berbasis Android dan iOS. Kedua smartphone ini menyuguhkan

games dalam tampilan yang menakjubkan seperti halnya tampilan yang

disuguhkan oleh games konsol, dengan adanya perangkat pendukung grafis maka tampilan games pada smartphone pun semakin tidak kalah dengan games konsol. Terlebih lagi dengan adanya koneksi wifi ataupun fungsi bluetooth yang membuat para gamers dapat “berperang” melawan gamers lainnya dalam satu permainan. Bahkan bukan hanya dua orang namun dapat lebih banyak lagi sesuai dengan games-nya, dan fungsi internet yang membuat pemain dapat menjangkau pemain lainnya yang jauh seperti games online. Selain itu, banyak aplikasi-aplikasi lain yang membuat smartphone lebih unggul dibanding games konsol yang hanya menyediakan permainan saja.

Greedy Spiders merupakan salah satu game untuk smartphone yang

berbasis seperti Android. Pada game ini terdapat laba-laba yang ingin memakan serangga yang terjebak di jaring laba-laba tersebut. Laba-laba tersebut merupakan Artificial Intelligence (AI) pada permainan ini yang akan menjadi lawan bagi

pemain dalam menyelesaikan permainan ini. Tugas pemain adalah menyelamatkan serangga yang terjebak sehingga laba-laba tidak dapat memakan serangga tersebut.

(14)

3

Ika Zulhidayati, 2013

Aplikasi Algoritma Greedy Dan Program Dinamis (Dynamic Programming) Pada Permainan Greedy Spiders

Universitas Pendidikan Indonesia | repository.upi.edu| perpustakaan.upi.edu

atau mengambil langkah yang paling bagus atau yang paling mahal. Sesuai dengan arti tersebut, algoritma ini akan mengambil pilihan yang terbaik yang dapat diperoleh pada saat itu tanpa memperhatikan konsekuensi ke depan. Masalah seperti memilih beberapa jenis investasi atau mencari jalur tersingkat yang sering ditemui sehari-hari dapat diselesaikan dengan menggunakan algoritma greedy.

Program Dinamis (Dynamic Programming) adalah suatu metode pemecahan masalah dengan cara menguraikan solusi menjadi sekumpulan langkah (step) atau tahapan (stage) sedemikian sehingga solusi dari persoalan dapat dipandang dari serangkaian keputusan yang saling berkaitan. Pemograman dinamis menggambarkan proses pemecahan masalah untuk menemukan suatu keputusan yang terbaik. Program dinamis akan memecahkan masalah, kemudian solusi optimal yang dihasilkan dapat dipandang sebagai suatu deret keputusan dari masalah tersebut. Pada program dinamis, rangkaian keputusan yang optimal dibuat dengan menggunakan prinsip optimalitas, dengan prinsip optimalitas ini dijamin bahwa pengambilan keputusan pada suatu tahap adalah keputusan yang benar untuk tahap-tahap selanjutnya. Persoalan partisi merupakan persoalan yang sering diterapkan dalam kehidupan sehari-hari seperti misalnya pada persoalan pembagian pekerjaan. Persoalan membagi pekerjaan untuk dikerjakan oleh n pekerja secara efisien sedemikian sehingga setiap pekerja mendapat pekerjaan yang relatif sama. Penyelesaian persoalan ini salah satunya dengan menggunakan algoritma program dinamis. Suatu pekerjaan yang berskala besar seringkali harus dikerjakan oleh banyak pekerja. Pekerjaan skala besar itu biasanya dapat dibagi-bagi menjadi beberapa dibagi-bagian pekerjaan yang masing-masing dibagi-bagian memiliki bobot tertentu. Pembagian bobot pekerjaan selayaknya relatif sama (perbedaan bobot yang diterima setiap pekerja dibuat seminimum mungkin) untuk setiap pekerja. Cara pembagian dengan memperhitungkan bobot tersebut dapat mengefisienkan waktu pengerjaan dan juga mendapatkan hasil yang optimal.

(15)

4

Ika Zulhidayati, 2013

Aplikasi Algoritma Greedy Dan Program Dinamis (Dynamic Programming) Pada Permainan Greedy Spiders

Universitas Pendidikan Indonesia | repository.upi.edu| perpustakaan.upi.edu

game Greedy Spiders karena untuk menyelesaikan suatu game dibutuhkan logika

permainan yang tinggi, berbeda dengan persoalan yang sering ditemui dalam kehidupan sehari-hari. Logika untuk menyelesaikan game lebih rumit, untuk selanjutnya skripsi ini diberi judul “Aplikasi Algoritma Greedy dan Program Dinamis (Dynamic Programming) pada Permainan Greedy Spiders.”

1.2 Rumusan Masalah

Berdasarkan latar belakang masalah di atas, permasalahan yang akan diangkat dalam skripsi ini dapat dirumuskan sebagai berikut:

1. Bagaimana kajian secara teoritis tentang algoritma greedy dan program dinamis?

2. Bagaimana aplikasi dari algoritma greedy dan program dinamis pada permainan Greedy Spiders?

1.3 Batasan Masalah

Dalam penulisan ini, aplikasi algoritma greedy dan program dinamis pada permainan Greedy Spiders dibatasi hanya pada permasalahan untuk menentukan pergerakan spiders dan mencari solusi optimal pada level dasar (time to eat) yang memiliki titik kemungkinan terbesar.

1.4 Tujuan Penulisan

Berdasarkan rumusan masalah di atas, maka tujuan penulisan skripsi ini sebagai berikut:

1. Mengetahui kajian secara teoritis tentang algoritma greedy dan program dinamis.

2. Mengetahui aplikasi dari algoritma greedy dan program dinamis pada permainan Greedy Spiders.

1.5 Manfaat Penulisan

(16)

5

Ika Zulhidayati, 2013

Aplikasi Algoritma Greedy Dan Program Dinamis (Dynamic Programming) Pada Permainan Greedy Spiders

Universitas Pendidikan Indonesia | repository.upi.edu| perpustakaan.upi.edu

Penulisan skripsi ini diharapkan dapat memberikan pengetahuan mengenai konsep-konsep algoritma greedy dan program dinamis yang akan diaplikasikan pada permainan Greedy Spiders.

2. Manfaat Praktis

Secara praktis, penulisan skripsi ini diharapkan dapat menjadi masukan tentang bagaimana mengaplikasikan algoritma greedy dan program dinamis. Sehingga diperoleh hint untuk menyelesaikan game Greedy Spiders dengan skor tertinggi.

1.6 Definisi Operasional

Solusi optimal yang dimaksud dalam penulisan ini adalah usaha untuk mencapai skor tertinggi dalam menyelesaikan suatu level dengan cara pemutusan jaring laba-laba seminimal mungkin.

1.7 Sistematika Penulisan

Adapun sistematika penulisan untuk skripsi ini adalah:

BAB I PENDAHULUAN

Mengemukakan latar belakang masalah, rumusan masalah, batasan masalah, tujuan penulisan, manfaat penulisan dan sistematika penulisan.

BAB II KAJIAN PUSTAKA

Mengemukakan landasan teori yang mendukung BAB III diantaranya menjelaskan konsep dasar dari teori graf, lintasan, sisi pemotong, keterhubungan sisi, dan permainan Greedy Spiders itu sendiri.

BAB III ALGORITMA GREEDY DAN PROGRAM DINAMIS

Mengemukakan kajian teoritis tentang Algoritma Greedy dan Program Dinamis (Dynamic Programming).

(17)

6

Ika Zulhidayati, 2013

Aplikasi Algoritma Greedy Dan Program Dinamis (Dynamic Programming) Pada Permainan Greedy Spiders

Universitas Pendidikan Indonesia | repository.upi.edu| perpustakaan.upi.edu

Berisikan deskripsi masalah, penggunaan serta aplikasi dari Algoritma Greedy menentukan pergerakan spiders dan Program Dinamis (Dynamic Programming) untuk mencari solusi optimal pada permainan, dan tampilan hint permainan dengan menggunakan program Delphi.

BAB V KESIMPULAN DAN SARAN

Mencoba merangkum keselurahan hasil pembahasan dalam bentuk kesimpulan dan saran.

(18)

17

Ika Zulhidayati, 2013

Aplikasi Algoritma Greedy Dan Program Dinamis (Dynamic Programming) Pada Permainan Greedy Spiders

Universitas Pendidikan Indonesia | repository.upi.edu| perpustakaan.upi.edu

BAB III

ALGORITMA GREEDY DAN PROGRAM DINAMIS

3.1 Algoritma Greedy

Algoritma Greedy merupakan metode yang paling populer dalam memecahkan persoalan optimasi. Hanya ada dua macam persoalan optimasi, yaitu maksimasi dan minimasi. Algoritma Greedy adalah algoritma yang memecahkan masalah langkah per langkah. Algoritma Greedy membentuk solusi langkah per langkah. Pada setiap langkah, terdapat banyak pilihan yang perlu dieksplorasi. Oleh karena itu, pada setiap langkah harus dibuat keputusan yang terbaik dalam menentukan pilihan. Pada setiap langkahya merupakan pilihan, untuk membuat langkah optimum lokal (local optimum) dengan harapan bahwa langkah sisanya mengarah ke solusi optimum global (global optimum). Prinsip Greedy adalah

take what you can get now”, mengambil pilihan yang terbaik yang dapat

diperoleh pada saat itu tanpa memperhatikan konsekuensi ke depan (Munir). 3.1.1 Skema Umum Algoritma Greedy

Persoalan optimasi dalam konteks algoritma greedy disusun oleh elemen-elemen sebagai berikut :

1. Himpunan kandidat, C.

Himpunan ini berisi elemen-elemen pembentuk solusi. Pada setiap langkah, satu buah kandidat diambil dari himpunannya.

2. Himpunan solusi, S.

Himpunan ini berisi kandidat-kandidat yang terpilih sebagai solusi persoalan. Dengan kata lain, himpunan solusi adalah himpunan bagian dari himpunan kandidat.

3. Fungsi seleksi (selection function)

(19)

18

Ika Zulhidayati, 2013

Aplikasi Algoritma Greedy Dan Program Dinamis (Dynamic Programming) Pada Permainan Greedy Spiders

Universitas Pendidikan Indonesia | repository.upi.edu| perpustakaan.upi.edu

mencapai solusi optimal. Kandidat yang sudah dipilih pada suatu langkah tidak pernah dipertimbangkan lagi pada langkah selanjutnya. 4. Fungsi kelayakan (feasible)

Fungsi ini dinyatakan dengan predikat layak. Fungsi kelayakan ini merupakan fungsi yang 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 yang tidak layak dibuang dan tidak pernah dipertimbangkan lagi.

5. Fungsi obyektif

Fungsi obyektif ini merupakan sebuah fungsi yang memaksimumkan atau meminimumkan nilai solusi.

Dengan kata lain, algoritma greedy melibatkan pencarian sebuah himpunan bagian, S, dari himpunan kandidat, C; yang dalam hal ini, S harus memenuhi beberapa kriteria yang ditentukan, yaitu menyatakan suatu solusi dan S dioptimasi oleh fungsi obyektif.

(20)

19

Ika Zulhidayati, 2013

Aplikasi Algoritma Greedy Dan Program Dinamis (Dynamic Programming) Pada Permainan Greedy Spiders

Universitas Pendidikan Indonesia | repository.upi.edu| perpustakaan.upi.edu

Jika jawaban terbaik mutlak tidak diperlukan, maka algoritma greedy sering berguna untuk menghasilkan solusi hampiran (approximation), daripada menggunakan algoritma yang lebih rumit untuk menghasilkan solusi yang eksak. Bila algoritma greedy optimum, maka keoptimalannya itu dapat dibuktikan secara matematis (Munir).

3.2 Program Dinamis (Dynamic Programming)

Di dalam ilmu matematika dan ilmu komputer, program dinamis (dynamic programming) didefinisikan sebagai suatu metode penyelesaian masalah untuk

permasalahan yang memiliki sifat-sifat overlapping subproblems dan optimal substructure. Istilah dynamic programming pertama kali digunakan pada era

1940-an oleh Richard Bellman.

Program Dinamis digunakan untuk menggambarkan proses penyelesaian masalah dimana solusi yang diinginkan harus benar-benar paling optimum atau biasanya disebut sebagai optimum global (global optimum). Pada Dynamic

Programming, istilah “programming” sama sekali tidak ada hubungannya dengan

pemograman komputer (computer programming). Penggunaan kata

programming” justru berasal dari istilah “mathematical programming”, yang

merupakan sinonim untuk kata “optimization”. Dengan demikian, kata

programming” disini berarti rencana yang optimal (optimal plan) untuk aksi-aksi

yang dihasilkan. Sehingga “programming” bisa diartikan sebagai pencarian rencana aksi-aksi yang dapat diterima (Suyanto, 2010).

3.2.1 Konsep Dasar

Optimal substructure berarti bahwa solusi optimal untuk

(21)

20

Ika Zulhidayati, 2013

Aplikasi Algoritma Greedy Dan Program Dinamis (Dynamic Programming) Pada Permainan Greedy Spiders

Universitas Pendidikan Indonesia | repository.upi.edu| perpustakaan.upi.edu

menggunakan sub jalur terpendek tersebut untuk mendapatkan jalur terpendek yang utuh. Perhatikan Gambar 3-1 di bawah ini

40 30

60 25

70

20

100

15

Gambar 3-1 (Suyanto, 2010)

Gambar di atas merupakan contoh pencarian jalur terpendek (shortest path) dalam suatu graf menggunakan optimal substructure. Garis yang tebal menunjukkan suatu busur tunggal antara dua simpul. Sedangkan garis putus-putus menunjukkan shortest path antara dua simpul, dimana simpul-simpul yang berada diantara

kedua simpul tersebut tidak diperlihatkan. Garis tebal menyatakan shortest path yang utuh dari simpul asal S ke simpul tujuan G.

Secara umum, untuk menyelesaikan suatu masalah dengan optimal substructure dapat digunakan tiga langkah berikut :

1. Pecah masalah menjadi submasalah-submasalah yang lebih kecil A

S

B

C

D

(22)

21

Ika Zulhidayati, 2013

Aplikasi Algoritma Greedy Dan Program Dinamis (Dynamic Programming) Pada Permainan Greedy Spiders

Universitas Pendidikan Indonesia | repository.upi.edu| perpustakaan.upi.edu

2. Selesaikan submasalah-submasalah secara optimal menggunakan tiga langkah ini secara rekursif

3. Gunakan solusi-solusi optimal untuk submasalah-submasalah tersebut untuk membangun solusi optimal yang utuh untuk masalah yang dihadapi.

Setiap submasalah diselesaikan dengan cara membaginya kedalam submasalah-submasalah yang lebih kecil, dan seterusnya, sampai mencapai suatu kasus sederhana yang dapat diselesaikan dalam waktu singkat dan konstan.

Suatu masalah dikatakan memiliki overlapping subproblems jika subproblems yang sama digunakan untuk menyelesaikan banyak masalah lain

yang lebih besar. Sebagai contoh, perhatikan gambar deret fibonacci pada Gambar 3-2 dibawah ini.

1 1 2 3 5 8 ...

F0 F1 F2 F3 F4 F5 ...

... F5

F4 F3

F1

(23)

22

Ika Zulhidayati, 2013

Aplikasi Algoritma Greedy Dan Program Dinamis (Dynamic Programming) Pada Permainan Greedy Spiders

Universitas Pendidikan Indonesia | repository.upi.edu| perpustakaan.upi.edu Gambar 3-2

(Suyanto, 2010)

Gambar di atas merupakan graf subproblem untuk deret fibonacci yang menunjukkan adanya overlapping subproblems. Pada deret ini, F0 = F1 = 1. Selanjutnya, F2 = F1 + F0, F3 = F2 + F1, F4 = FF3 + F2, dan seterusnya. Secara umum, deret ini dapat dirumuskan sebagai F0 = F1 = 1 dan = F(n - 1) + F(n - 2) untuk n lebih dari atau sama dengan 2.

Pada deret di atas, F3 = F1 + F2 dan F4 = F2 + F3. Penghitungan F3 dan F4 memerlukan penghitungan F2. Karena F3 dan F4 diperlukan untuk menghitung F5, metode naif untuk menghitung F5 mungkin memerlukan penghitungan F2 sebanyak 2 kali atau lebih. Hal ini dilakukan setiap kali muncul subproblems. Dengan demikian, metode naif akan menghabiskan banyak waktu

penghitungan, secara berulang-ulang, solusi-solusi optimal untuk subproblems yang sebenarnya sudah diselesaikan.

Untuk mencegah hal ini, solusi-solusi untuk submasalah-submasalah yang sudah diselesaiakan dapat disimpan. Selanjutnya, jika perlu untuk menyelesaikan masalah yang sama, dapat mengambil dan menggunakan solusi tersebut. Pendekatan ini disebut memoization (bukan memorization, meskipun istilah ini juga sesuai). Jika yakin bahwa tidak akan membutuhkan solusi yang disimpan tersebut, solusi tersebut dapat dihapus untuk menghemat memory. Bahkan dalam beberapa kasus, dapat dihitung terlebih dahulu solusi-solusi mana yang akan dibutuhkan untuk submasalah-submasalah yang diketahui yang nantinya akan diperlukan.

Program dinamis biasanya menggunakan salah satu dari dua pendekatan berikut ini :

Top-down

(24)

23

Ika Zulhidayati, 2013

Aplikasi Algoritma Greedy Dan Program Dinamis (Dynamic Programming) Pada Permainan Greedy Spiders

Universitas Pendidikan Indonesia | repository.upi.edu| perpustakaan.upi.edu

agar dapat digunakan kembali. Dalam hal ini, recursion dan memoization dikombinasikan secara bersamaan.

Bottom-up

Semua submasalah-submasalah, yang mungkin diperlukan, diselesaikan terlebih dahulu dan kemudian digunakan untuk membangun solusi-solusi untuk masalah-masalah yang lebih besar. Pendekatan ini sedikit lebih baik dalam hal ruang tumpukan (stack space) dan jumlah function calls, tetapi kadang-kadang tidak intuitif untuk menggambarkan semua submasalah yang diperlukan untuk menyelesaikan masalah yang diberikan (Suyanto, 2010).

3.2.2 Skema Umun Program Dinamis

Program Dinamis (Dynamic Programming) merupakan suatu metode pemecahan masalah dengan cara menguraikan solusi menjadi sekumpulan langkah (step) atau tahapan (stage) sedemikian sehingga solusi dari persoalan dapat dipandang dari serangkaian keputusan yang saling berkaitan. Karakteristik penyelesaian persoalan dengan program dinamis:

1. Terdapat sejumlah berhingga pilihan yang mungkin

2. Solusi pada setiap tahap dibangun dari hasil solusi tahap sebelumnya 3. Menggunakan persyaratan optimasi dan kendala untuk membatasi

sejumlah pilihan yang harus dipertimbangkan pada suatu tahap (Munir).

3.2.2.1 Prinsip Optimalitas

(25)

24

Ika Zulhidayati, 2013

Aplikasi Algoritma Greedy Dan Program Dinamis (Dynamic Programming) Pada Permainan Greedy Spiders

Universitas Pendidikan Indonesia | repository.upi.edu| perpustakaan.upi.edu

bahwa jika dari tahap k ke tahap k+1, dapat menggunakan hasil optimal dari tahap k tanpa harus kembali ke tahap awal.

Ongkos pada tahap k+1 = (ongkos yang dihasilkan pada tahap k) +

(ongkos dari tahap k ke tahap k+1)

Gambar 3-3 (Munir)

Dengan prinsip optimalitas ini dijamin bahwa pengambilan keputusan pada suatu tahap adalah keputusan yang benar untuk tahap-tahap selanjutnya. Perbedaan antara algoritma greedy dan program dinamis adalah pada metode greedy hanya satu rangkaian keputusan yang pernah dihasilkan, sedangkan pada metode program dinamis lebih dari satu rangkaian keputusan yang memenuhi prinsip optimalitas yang akan dihasilkan (Munir).

3.2.2.2 Karakteristik Persoalan Program Dinamis

Ada beberapa karakteristik persoalan yang dalam penyelesaian dengan menggunakan program dinamis yaitu:

1. Persoalan dapat dibagi menjadi beberapa tahap (stage), yang pada setiap tahap hanya diambil satu keputusan.

2. Masing-masing tahap terdiri dari sejumlah status (state) yang berhubungan dengan tahap tersebut. Secara umum, status merupakan bermacam kemungkinan masukan yang ada pada tahap tersebut.

... ...

1 2 k n

...

k+1

(26)

25

Ika Zulhidayati, 2013

Aplikasi Algoritma Greedy Dan Program Dinamis (Dynamic Programming) Pada Permainan Greedy Spiders

Universitas Pendidikan Indonesia | repository.upi.edu| perpustakaan.upi.edu

3. Hasil dari keputusan yang diambil pada setiap tahap ditransformasikan dari status yang bersangkutan ke status berikutnya pada tahap berikutnya.

4. Ongkos (cost) pada suatu tahap meningkat secara teratur (steadily) dengan bertambahnya jumlah tahapan.

5. Ongkos pada suatu tahap bergantung pada ongkos tahap-tahap yang sudah berjalan dan ongkos pada tahap tersebut.

6. Keputusan terbaik pada suatu tahap bersifat independen terhadap keputusan yang dilakukan pada tahap sebelumnya.

7. Adanya hubungan rekursif yang menidentifikasikan keputusan terbaik untuk setiap status pada tahap k memberikan keputusan terbaik untuk setiap status pada tahap k+1.

8. Prinsip optimalitas berlaku pada persoalan tersebut.

Gambar 3-4 Graf Multitahap (multistage graph) (Munir)

1

3 2

4

6

7

8

9

11 10

5

12

(27)

26

Ika Zulhidayati, 2013

Aplikasi Algoritma Greedy Dan Program Dinamis (Dynamic Programming) Pada Permainan Greedy Spiders

Universitas Pendidikan Indonesia | repository.upi.edu| perpustakaan.upi.edu

Pada gambar di atas, tiap simpul didalam graf tersebut menyatakan status, sedangkan , , ... menyatakan tahap (Munir).

3.2.2.3 Dua Pendekatan Program Dinamis

Dua pendekatan yang digunakan dalam program dinamis: 1. Program dinamis maju (forward atau up-down)

2. Program dinamis mundur (backward atau bottom-up)

Misalkan , , ..., menyatakan peubah (variable) keputusan yang harus dibuat masing-masing untuk tahap 1, 2, ..., n. Maka,

1. Program dinamis maju. Program dinamis bergerak mulai dari tahap 1, terus maju ke tahap 2, 3, dan seterusnya sampai tahap n. Runtunan peubah keputusan adalah , , ..., .

2. Program dinamis mundur. Program dinamis bergerak mulai dari tahap n, terus mundur ke tahap n-1, n-2, dan seterusnya sampai tahap 1. Runtunan peubah keputusan adalah , , ..., .

 Prinsip optimalitas pada program dinamis maju:

ongkos pada tahap k+1 = (ongkos yang dihasilkan pada tahap k)

+

(ongkos dari tahap k ke tahap k+1), dengan k = 1, 2, ..., n-1.

 Prinsip optimalitas pada program dinamis mundur:

ongkos pada tahap k = (ongkos yang dihasilkan pada tahap k+1) +

(28)

27

Ika Zulhidayati, 2013

Aplikasi Algoritma Greedy Dan Program Dinamis (Dynamic Programming) Pada Permainan Greedy Spiders

Universitas Pendidikan Indonesia | repository.upi.edu| perpustakaan.upi.edu

3.2.2.4 Langkah-langkah Pengembangan Algoritma Program Dinamis Adapun bagaimana langkah-langkah dalam pengembangan algoritma program dinamis:

1. Karakteristikkan struktur solusi optimal. 2. Definisikan secara rekursif nilai solusi optimal. 3. Hitung nilai solusi optimal secara maju atau mundur. 4. Konstruksi solusi optimal.

Contoh kasus

Tentukan lintasan terpendek dari simpul 1 ke simpul 10 :

Gambar 3-5 Lintasan Terpendek (shortest path) (Munir)

Penyelesaian dengan menggunakan program dinamis mundur

 Misalkan , , ..., adalah simpul-simpul yang dikunjungi pada tahap k (k = 1, 2, 3, 4).

 Maka rute yang dilalui adalah

1 , yang dalam hal ini = 10. Pada persoalan ini,

Tahap (k) adalah proses memilih simpul tujuan berikutnya (ada 4 tahap).

(29)

28

Ika Zulhidayati, 2013

Aplikasi Algoritma Greedy Dan Program Dinamis (Dynamic Programming) Pada Permainan Greedy Spiders

Universitas Pendidikan Indonesia | repository.upi.edu| perpustakaan.upi.edu

 Status (s) yang berhubungan dengan masing-masing tahap adalah simpul-simpul didalam graf.

Relasi rekurens berikut menyatakan lintasan terpendek dari status s ke pada tahap k:

(s) = (basis)

(s) = { + ( )}, (rekurens) k = 1, 2, 3

Keterangan:

: peubah keputusan pada tahap k (k = 1, 2, 3).

: bobot (cost) sisi dari s ke

(s, ) : total bobot lintasan dari s ke (s) : nilai minimum dari (s, )

Tujuan program dinamis mundur: mendapatkan (s), dengan mencari (s), (s), (s) terlebih dahulu.

Tahap 4: (s) =

s Solusi Optimum

(s)

8 3 10

9 4 10

Catatan: adalah nilai yang meminimumkan (s, ). Tahap 3:

(s) = { + ( )}

s (s, ) = + ( ) Solusi Optimum

8 9 (s)

(30)

29

Ika Zulhidayati, 2013

Aplikasi Algoritma Greedy Dan Program Dinamis (Dynamic Programming) Pada Permainan Greedy Spiders

Universitas Pendidikan Indonesia | repository.upi.edu| perpustakaan.upi.edu

6 9 7 7 9

7 6 7 6 7

Tahap 2:

(s) = { + ( )}

s (s, ) = + ( ) Solusi Optimum

5 6 (s)

2 11 11 12 5 atau 6

3 7 9 10 5

4 8 8 11 5 atau 6

Tahap 1:

(s) = { + ( )}

s (s, ) = + ( ) Solusi Optimum

2 3 4 (s)

1 13 11 11 11 3 atau 4

Solusi optimum dapat dibaca pada tabel dibawah ini:

Panjang Lintasan Terpendek

1 3 5 8 10 11

(31)

30

Ika Zulhidayati, 2013

Aplikasi Algoritma Greedy Dan Program Dinamis (Dynamic Programming) Pada Permainan Greedy Spiders

Universitas Pendidikan Indonesia | repository.upi.edu| perpustakaan.upi.edu

6 9 10 11

Jadi ada tiga lintasan terpendek dari 1 ke 10, yaitu: 1 3 5 8 10

1 4 5 8 10 1 4 6 9 10

(32)

62

Ika Zulhidayati, 2013

Aplikasi Algoritma Greedy Dan Program Dinamis (Dynamic Programming) Pada Permainan Greedy Spiders

Universitas Pendidikan Indonesia | repository.upi.edu| perpustakaan.upi.edu

BAB V

PENUTUP

5.1 Kesimpulan

Berdasarkan hasil dari aplikasi algoritma greedy dan program dinamis (dynamic programming) pada permainan Greedy Spiders yang telah dibahas pada bab-bab sebelumnya,diperoleh bahwa :

1. Pada metode algoritma greedy hanya satu rangkaian keputusan yang pernah dihasilkan, oleh karena itu mengapa algoritma greedy digunakan untuk menentukan bagaimana pergerakan laba-laba yang merupakan AI dalam permainan Greedy Spiders. Sedangkan pada metode program dinamis lebih dari satu rangkaian keputusan yang dihasilkan. Hanya rangkaian keputusan yang memenuhi prinsip optimalitas yang akan dihasilkan, oleh karena itu mengapa program dinamis digunakan untuk mencari solusi optimal, yaitu usaha untuk mencapai skor tertinggi dalam menyelesaikan suatu level dengan cara pemutusan jaring laba-laba seminimal mungkindalam menyelesaikan permainan ini. Sehingga pemain dapat menyelesaikan permainan ini dengan skor tertinggi yaitu memperoleh 3 bintang pada setiap levelnya.

(33)

63

Ika Zulhidayati, 2013

Aplikasi Algoritma Greedy Dan Program Dinamis (Dynamic Programming) Pada Permainan Greedy Spiders

Universitas Pendidikan Indonesia | repository.upi.edu| perpustakaan.upi.edu

permainan berakhir dan pemain gagal dalam menyelesaikan level tersebut. Oleh karena itu digunakan algoritma greedy, untuk mengetahui titik-titik tersebut dalam setiap level permainan pada level dasar time to eat. Semakin tinggi suatu level, terdapat level-level yang memiliki titik kemungkinan terbesar lebih dari satu titik. Setelah mengetahui titik-titik tersebut dengan menggunakan algoritma greedy, dengan begitu jalur terpendek yang akan dilalui oleh laba-laba untuk mencapai titik tersebut dapat diketahui. Maka pemain dapat memutuskan jaring mana yang akan dipotong sehingga laba-laba tidak dapat mendekati titik tersebut. Memilih jaring mana yang terbaik untuk dipotong dimaksudkan agar, jaring yang dipotong dapat seminimal mungkin sehingga pemain dapat menyelamatkan semua serangga dan dapat memperoleh point tertinggi. Untuk itulah digunakan program dinamis (dynamic programming) untuk mencari jalur terpendek dengan begitu pemotongan jaring dapat dilakukan seminimal mungkin.

5.2 Saran

Berdasarkan hasil dari aplikasi algoritma greedy dan program dinamis (dynamic programming) pada permainan Greedy Spiders yang telah dibahas pada bab-bab sebelumnya, penulis mengajukan beberapa saran sebagai berikut :

1. Pada penulisan ini penerapan algortima greedy dan progam dinamis hanya pada level dasar permainan yaitu, time to eat yang memiliki titik kemungkinan terbesar. Pada penulisan skripsi selanjutnya kedua algoritma di atas dapat diterapkan atau diaplikasikan pada level-level berikutnya.

2. Untuk penulisan skripsi selanjutnya, algoritma greedy dan program dinamis dapat diterapkan pada permainan lainnya, tidak hanya pada

game smartphone, dan dalam menyelesaikannya dapat

(34)

64

Ika Zulhidayati, 2013

Aplikasi Algoritma Greedy Dan Program Dinamis (Dynamic Programming) Pada Permainan Greedy Spiders

Universitas Pendidikan Indonesia | repository.upi.edu| perpustakaan.upi.edu

DAFTAR PUSTAKA

Anonim.(2013).[Online].Tersedia:http://tekno.liputan6.com/read/527945/dibandin g-android-ios-lebih-diminati-pengembang-game.

Kusuma, Y. (1997). Matematika Diskrit. Bandung : Bahan Ajar IKIP Bandung dan University Press : Tidak diterbitkan.

Jungnickel, D. (2008). Graphs, Network and Algorithms Third Edition. Germany : Springer.

J. A. Bondy and Murty, U. S. R. (1976). Graph Teory with Application. Ontario: North-Holland

Munir, R. Diktat Kuliah IF2251 (Algortima Greedy) Strategi Algoritmik. Bandung : Program Studi Informatika Sekolah Teknik Elektro dan Informatika ITB : Tidak diterbitkan.

Bednorz, W. (2008). Advances in Greedy Algorithms. Croatia : In-Teh.

Neapolitan, R dan Naimipour, K. (2011). Foundations of Algorithms Fourth Edition. Canada : Jones and Bartlett Publishers, LLC.

Munir, R. Diktat Kuliah IF3051 (Program Dinamis) Strategi Algoritmik. Bandung : Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika ITB : Tidak diterbitkan.

Suyanto. Algoritma Optimasi Deterministik atau Probabilitik. (2010). Yogyakarta : Graha Ilmu.

Bellman, R. (1957). Dynamic Programming. New Jersey : Princeton University Press.

Gambar

Gambar 3-1 (Suyanto, 2010)
Gambar 3-3 (Munir)
Gambar 3-4 Graf Multitahap (multistage graph) (Munir)
Gambar 3-5 Lintasan Terpendek (shortest path) (Munir)

Referensi

Dokumen terkait

Jika komputer sebagai taxi, komputer akan mengaplikasikan algoritma greedy untuk melakukan penyusunan prioritas penumpang yang akan didatangi termasuk menentukan rute yang

Pada metode greedy, kita membuat keputusan pada setiap tahap dengan cara mengambil pilihan yang paling memenuhi ukuran optimasi yang digunakan.. Pada Algoritma Greedy,

Data yang digunakan untuk menganalisis algoritma Dynamic Programming adalah dengan mencari rute yang optimum pada graf rute antar node yang terdiri dari fase-fase seperti

Algoritma greedy untuk menurunkan kartu Jika seorang pemain mempunyai katu tertinggi pada bunga tersebut, maka pemain tersebut mengeluarkan kartu tertinggi tersebut,

Algoritma Greedy dalam permainan ini digunakan dengan cara selalu menggeser papan permainan ke arah di mana akan didapatkan kotak baru dengan hasil penjumlahan yang paling

Keuntungan saat menerapkan algoritma greedy dalam permainan ini adalah kemampuan untuk menghitung jumlah biji congklak dan memprediksi langkah untuk semua pilihan yang

Beberapa penelitian yang pernah dilakukan untuk menyelesaikan permasalahan dari suatu game (permainan) dengan menggunakan algoritma greedy antara lain untuk permainan

Dengan semakin banyaknya algoritma yang ditemukan, maka pengembang sistem (system developer) perlu untuk lebih pintar dalam memilih algoritma yang cocok untuk digunakan