Implementasi Algoritma Greedy Pada Game Summy

IMPLEMENTASI ALGORITMA GREEDY PADA GAME SUMMY

SKRIPSI

REZA HIDAYAT BAYU PRABOWO
091401068

PROGRAM STUDI S-1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
2017

IMPLEMENTASI ALGORITMA GREEDY PADA GAME SUMMY

SKRIPSI

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah
Sarjana Ilmu Komputer

REZA HIDAYAT BAYU PRABOWO

091401068

PROGRAM STUDI S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
2017

ii

PERSETUJUAN

Judul

: IMPLEMENTASI ALGORITMA GREEDY PADA
GAME SUMMY

Kategori

: SKRIPSI


Nama

: REZA HIDAYAT BAYU PRABOWO

Nomor Induk Mahasiswa

: 091401068

Program Studi

: SARJANA (S1) ILMU KOMPUTER

Departemen

: ILMU KOMPUTER

Fakultas

: ILMU KOMPUTER DAN TEKNOLOGI

INFORMASI

Komisi Pembimbing

:

Pembimbing 2

Pembimbing 1

Siti Dara Fadilla, S.Si, M.T

Dr. Syahril Efendi, S.Si, M.IT

NIP. 197705162005012001

NIP. 196711101996021001

Diketahui/Disetujui oleh
Program Studi S1 Ilmu Komputer

Ketua,

Dr. Poltak Sihombing, M.Kom
NIP. 196203171991031001

iii

PERNYATAAN

IMPLEMENTASI ALGORITMA GREEDY PADA GAME SUMMY

SKRIPSI

Saya menyatakan bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa
kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.

Medan, 24 Januari 2017

Reza Hidayat Bayu Prabowo
NIM. 091401068


iv

PENGHARGAAN

Puji dan syukur penulis ucapkan kepada Tuhan Yang Maha Esa atas berkat dan kasih karuniaNya sehingga penulis dapat menyelesaikan skripsi ini dengan baik.
Dengan segala kerendahan hati, pada kesempatan ini penulis menyampaikan terima kasih
kepada semua pihak yang telah membantu penyelesaian skripsi ini. Penulis mengucapkan
terima kasih kepada:
1. Teristimewa orang tua yang penulis sayangi, ibunda Nina Erleni dan ayahanda
Brata Yudha Gunawan yang tidak henti hentinya memberikan doa, motivasi, dan
dukungan yang selalu menjadi sumber semangat penulis.
2. Dekan dan Wakil Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas
Sumatera Utara.
3. Bapak Dr. Poltak Sihombing, M.Kom sebagai Ketua Program Studi S1 Ilmu Komputer
Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.
4. Ibu Dr. Maya Silvi Lydia, M.Sc sebagai Sekretaris Program Studi S1 Ilmu Komputer
Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera.
5. Bapak Dr. Syahril Efendi, S.Si, M.IT dan Ibu Siti Dara Fadilla, S.Si, M.T selaku dosen
pembimbing yang telah membimbing penulis sehingga penulis dapat menyelesaikan

skripsi ini.
6. Bapak Prof. Dr. Iryanto, M.Si dan Bapak Drs. Marihat Situmorang, M.Si sebagai dosen
penguji yang telah memberikan saran dan kritikan yang sangat berguna bagi penulis.
7. Seluruh dosen serta pegawai di Program Studi S1 Ilmu Komputer Departemen Ilmu
Komputer Fakultas Ilmu Komputer dan Teknologi Informasi USU.
8. Adik penulis R. F. Aditya Purboyo, R. R. Dimas Prayoga, dan Yuniar Adharistin yang
selalu memberikan doa, motivasi dan dukungannya terhadap penulis agar dapat
menyelesaikan skripsi ini.
9. Dan juga kepada teman-teman seperjuangan program studi S1 Ilmu Komputer USU,
terkhusus kepada: Riski Oktavian, Septian Maihadi Putra Lubis, Septian Dwi Cahya
Panjaitan, Samuel Tarigan dan Saydina Muhamad Elsyah yang telah berbagi
kebersamaan selama berada di S1 Ilmu Komputer
Penulis menyadari bahwa skripsi ini masih jauh dari sempurna. Oleh karena itu penulis
menerima kritik dan saran dari semua pihak yang bersifat membangun dan menyempurnakan
skripsi ini. Penulis berharap semoga skripsi ini bermanfaat bagi penulis sendiri pada khususnya
dan pembaca pada umumnya.
Medan, 30 Januari 2017

Reza Hidayat Bayu Prabowo
NIM : 091401068


v

ABSTRAK

Summy adalah sebuah board game yang diciptakan oleh Corné van Moorse dan

merupakan varian dari game Scrabble. Game ini dapat dimainkan oleh dua orang
pemain atau lebih dengan menyusun angka-angka dan operator aritmatika menjadi
bentuk penjumlahan, pengurangan, perkalian, atau pembagian. Dan setiap pemain akan
mendapatkan poin berdasarkan jumlah total angka-angka yang digunakan pada saat
membentuk penjumlahan, pengurangan, perkalian, atau pembagian yang valid pada
setiap gilirannya. Tujuan penelitian ini adalah membangun sebuah agen kecerdasan
buatan yang dapat menyusun angka-angka dan operator aritmatika menjadi bentuk
penjumlahan, pengurangan, perkalian, atau pembagian dengan jumlah poin maksimum
pada setiap gilirannya sebagai lawan tanding pemain dalam bentuk computer game.
Metodologi yang digunakan yaitu algoritma greedy yang merupakan algoritma yang
menggunakan pendekatan penyelesaian masalah dengan mencari nilai maksimum pada
setiap langkahnya tanpa memedulikan konsekuensi pada langkah selanjutnya. Hasil
yang diperoleh dari computer game yang dibangun adalah penerapan algoritma greedy

dalam membangun agen kecerdasan buatan dapat memberikan lawan tanding yang
cukup kompetitif bagi pemain.

Kata Kunci : Game, Summy, Algoritma Greedy, Kecerdasan Buatan

vi

THE IMPLEMENTATION OF GREEDY ALGORITHM IN SUMMY GAME

ABSTRACT

Summy is a board game created by Corné van Moorse and is a variant of the game
Scrabble. This game can be played by two or more persons by compiling the numbers
and arithmetic operators into the shape of addition, subtraction, multiplication, or
division. And each player will earn points based on the total number of figures used at
the time of forming addition, subtraction, multiplication, or division valid at every turn.
The purpose of this research is to build an artificial intelligence agent who could arrange
the numbers and arithmetic operators to form the summing, subtraction, multiplication,
or division with the maximum number of points on each turn as a rival in the form of
computer game players. The methodology used is the greedy algorithm is an algorithm

that uses a problem-solving approach to find the maximum value at every step of
ignoring the consequences for the next step. The results of the computer game built
greedy algorithm is the application of artificial intelligence in the build agent can
provide sufficient competitive opponent for the player.

Keywords: Game, Summy, Greedy Algorithm, Artificial Intelligence

vii

DAFTAR ISI

Hal.
HALAMAN JUDUL

i

PERSETUJUAN

ii


PERNYATAAN

iii

PENGHARGAAN

iv

ABSTRAK

v

ABSTRACT

vi

DAFTAR ISI

vii


DAFTAR TABEL

ix

DAFTAR GAMBAR

x

BAB I

PENDAHULUAN

1

1.1. Latar Belakang

1

1.2. Rumusan Masalah

2

1.3. Batasan Penelitian

2

1.4. Tujuan Penelitian

3

1.5. Manfaat Penelitian

3

1.6. Metode Penelitian

3

1.7. Sistematika Penulisan

4

BAB II LANDASAN TEORI

5

2.1. Kecerdasan Buatan

5

2.2. Algoritma Greedy

9

2.3. Permainan (Game)

10

2.4. Game Summy

11

2.6. Penelitian Terdahulu

13

BAB III ANALISIS DAN PERANCANGAN SISTEM

15

3.1. Analisis Game Summy

15

3.2. Analisis Algoritma Greedy pada Game Summy

17

3.3. Perancangan Sistem

24

3.3.1. Flowchart Algoritma Greedy

24

viii

3.3.2 Perancangan Aplikasi Game

25

3.3.3 Pemodelan Visual Menggunakan UML

26

3.4 Perancangan Transisi Halaman dan Antarmuka

32

3.4.1 Transisi Halaman

32

3.4.2 Antarmuka

33

BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM
4.1 Implementasi Sistem

38
38

4.1.1 Spesifikasi Perangkat Lunak

38

4.1.2 Spesifikasi Perangkat Keras

38

4.2 Tampilan Aplikasi

39

4.2.1 Tampilan Halaman Menu Utama

39

4.2.2 Tampilan Halaman Game

39

4.2.3 Tampilan Halaman Bantuan

42

4.2.4 Tampilan Halaman Tentang

42

4.3 Pengujian Sistem

43

BAB V KESIMPULAN DAN SARAN

44

5.1 Kesimpulan

44

5.2 Saran

44

DAFTAR PUSTAKA

46

LAMPIRAN A

47

LAMPIRAN B

56

ix

DAFTAR TABEL

Tabel 2.1 Penelitian Terdahulu
Tabel 2.2 Penelitian Terdahulu (Lanjutan)
Tabel 3.1 Bentuk Penjumlahan, Pengurangan, Perkalian, atau Pembagian
Tabel 3.2 Pengelompokan Himpunan Kandidat Berdasarkan Tipe
Tabel 3.3 Hasil Permutasi Himpunan Numerik (Menjadi Himpunan A)
Tabel 3.4 Hasil Permutasi Himpunan Numerik (Menjadi Himpunan B)
Tabel 3.5 Hasil Permutasi Himpunan Numerik (Menjadi Himpunan C)
Tabel 3.6 Hasil Pembentukan Bentuk Perkalian dan Pembagian
Tabel 3.7 Use Case Spesification Mulai Bermain
Tabel 3.8 Use Case Specification Bermain
Tabel 3.9 Use Case Specification Evaluasi Langkah
Tabel 3.10 Use Case Specification Lihat Tentang
Tabel 3.11 Use Case Specification Lihat Bantuan

Hal.
13
14
17
19
19
20
21
21
27
28
29
30
31

x

DAFTAR GAMBAR

Hal.
GAMBAR 2.1 Penerapan Konsep Kecerdasan Buatan di Komputer
GAMBAR 2.2 Domain Area
GAMBAR 2.3 Game Summy
GAMBAR 2.4 Penjumlahan, Pengurangan, Perkalian atau Pembagian Valid pada Summy
GAMBAR 2.5 Memperoleh Score pada Summy
GAMBAR 3.1 Kotak-Kotak yang Disusun pada Game Summy
GAMBAR 3.2 Kotak Milik Komputer pada Set Awal Game Summy
GAMBAR 3.3 Cek Papan Game
GAMBAR 3.4 Kotak Milik Komputer Dicocokkan ke Papan Game
GAMBAR 3.5 Kotak Milik Komputer Setelah Diletakkan Pada Papan Game
GAMBAR 3.6 Flowchart Algoritma Greedy pada Game Summy
GAMBAR 3.7 Flowchart Algoritma Greedy pada Game Summy (Lanjutan)
GAMBAR 3.8 Flowchart Game Summy
GAMBAR 3.9 Use Case Diagram Summy
GAMBAR 3.10 Activity Diagram Mulai Bermain
GAMBAR 3.11 Activity Diagram Bermain
GAMBAR 3.12 Activity Diagram Evaluasi Langkah
GAMBAR 3.13 Activity Diagram Lihat Tentang
GAMBAR 3.14 Activity Diagram Lihat Bantuan
GAMBAR 3.15 Transisi Halaman
GAMBAR 3.16 Antarmuka Halaman Menu Utama
GAMBAR 3.17 Antarmuka Halaman Game
GAMBAR 3.18 Antarmuka Halaman Bantuan
GAMBAR 3.19 Antarmuka Halaman Tentang
GAMBAR 4.1 Halaman Menu Utama
GAMBAR 4.2 Halaman Game
GAMBAR 4.3 Pemain Meletakkan Kotak Miliknya ke Papan Game
GAMBAR 4.4 Komputer Telah Memilih Bentuk Terbaik dengan Algoritma Greedy
GAMBAR 4.5 Game Berakhir dengan Kemenangan Komputer
GAMBAR 4.6 Halaman Bantuan
GAMBAR 4.7 Halaman Tentang

7
7
11
12
12
15
18
22
23
23
24
25
26
27
28
29
30
31
32
33
33
35
36
37
39
40
40
41
41
42
42