• Tidak ada hasil yang ditemukan

Pembangunan game tradisional damdaman berbasis desktop

N/A
N/A
Protected

Academic year: 2017

Membagikan "Pembangunan game tradisional damdaman berbasis desktop"

Copied!
64
0
0

Teks penuh

(1)
(2)
(3)
(4)
(5)

BIODATA

Nama : Agus Mustaram

NIM : 10109518

T.T.L : Sumedang, 14 September 1991

Jenis Kelamin : Laki-laki

Agama : Islam

Alamat di Bandung : Jl. Siliwangi Dalem III No 75, Bandung

No. Hp : 087827793787

Email : agusmustaram@gmail.com

Judul Skripsi : Pembangunan Game Tradisional Damdaman

Berbasis Desktop

Jurusan : Teknik Informatika

(6)

SKRIPSI

Diajukan untuk Menempuh Ujian Akhir Sarjana Program Studi Teknik Informatika Fakultas Teknik dan Ilmu Komputer

AGUS MUSTARAM

10109518

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS TEKNIK DAN ILMU KOMPUTER

(7)

iii

KATA PENGANTAR

Assalaamu’alaikum wr. wb,

Puji syukur penulis panjatkan kepada Allah SWT yang telah melimpahkan

rahmat hidayah dan karunia-Nya, shalawat serta salam semoga selalu tercurah

kepada Rasulullah SAW, sehingga penulis dapat menyelesaikan skripsi yang berjudul “Pembangunan Game Tradisional Damdaman Berbasis Desktop”.

Adapun tujuan dari penyusunan skripsi ini adalah untuk memenuhi salah

satu syarat dalam menyelesaikan studi jenjang strata satu (S1) di Program Studi

Teknik Informatika, Universitas Komputer Indonesia.

Dengan keterbatasan ilmu dan pengetahuan yang dimiliki oleh penulis,

maka penulis membutuhkan peran serta dari pihak lain dalam proses penyelesaian

skripsi ini. Oleh karena itu ijinkanlah penulis untuk menyampaikan ucapan terima

kasih yang sebesar-besarnya kepada :

1. Allah SWT, yang telah memberikan rahmat, hidayah, dan karunia-Nya

kepada penulis sehingga dapat menyelesaikan skripsi dengan baik.

2. Nabi Muhammad Rasulullah SAW yang telah menyampaikan wahyu

Allah.

3. Kedua Orang Tua Bapak Endang Suryana Dan ibu Roswati yang telah

memberikan kasih sayang, doa dan dorongan baik moril dan materil yang

tiada henti.

4. Bapak Dr. Ir. Eddy Soeryanto Soegoto, M.Sc., selaku rektor Universitas

Komputer Indonesia.

5. Bapak Prof. Dr. H Denny Kurniadie, Ir., M.Sc., selaku Dekan Fakultas

Teknik dan Ilmu Komputer.

6. Bapak Irawan Afrianto, S.T., M.T., selaku Ketua Jurusan Program Studi

(8)

iv

telah meluangkan waktu untuk memberikan nasehat, kritik dan saran

selama penyusunan skripsi ini.

9. Bapak Galih Hermawan, S.Kom., M.T. Selaku penguji II. Terima kasih

karena telah meluangkan waktu untuk memberikan nasehat, kritik dan

saran selama penyusunan skripsi ini.

10.Ibu Utami Dewi W, S.Kom., selaku dosen wali kelas IF-12 Angkatan

2009.

11.Seluruh staf dosen jurusan Teknik Informatika Universitas Komputer

Indonesia.

12.Sekretariat jurusan Teknik Informatika Universitas Komputer Indonesia.

13.Teman-teman di Jurusan Teknik Informatika Angkatan 2009 khususnya

kelas IF-12 terima kasih atas doa, bantuan dan dorongannya.

14.Serta semua pihak yang telah turut membantu dalam penyusunan skripsi

ini, yang tidak bisa disebutkan satu persatu.

Didalam penulisan skripsi ini, penulis telah berusaha semaksimal mungkin

walaupun demikian penulis menyadari bahwa skripsi ini jauh dari sempurna.

Untuk itu penulis akan selalu menerima segala masukan yang ditujukan untuk

menyempurnakan skripsi ini. Akhir kata, penulis berharap semoga skripsi ini

dapat bermanfaat bagi penulis pada khususnya dan pembaca pada umumnya.

Wassalamualaikum Wr. Wb.

Bandung, 27 Agustus 2013

(9)

v

DAFTAR ISI

LEMBAR JUDUL

ABSTRAK ... i

ABSTRACT ... ii

KATA PENGANTAR ... iii

DAFTAR ISI ... v

DAFTAR GAMBAR ... ix

DAFTAR TABEL ... xiii

DAFTAR SIMBOL ... xiv

DAFTAR LAMPIRAN ... xv

BAB 1 PENDAHULUAN ... 1

1.1 Latar Belakang ... 1

1.2 Rumusan Masalah ... 2

1.3 Maksud Dan Tujuan ... 2

1.4 Batasan Masalah ... 3

1.5 Metodologi Penelitian ... 3

1.5.1 Metode pengumpulan data ... 4

1.5.2 Metode Pembangunan Perangkat Lunak. ... 4

1.6 Sistematika Penulisan ... 5

BAB 2 LANDASAN TEORI ... 7

2.1 Permainan (Game) ... 7

(10)

vi

2.3.2 Langkah Bidak Pada Permainan Damdaman ... 13

2.3.3 Aturan Permainan Damdaman ... 14

2.4 AI (artificial Intellegence) ... 15

2.5 Graph ... 16

2.5.1 Implementasi Graph ... 17

2.5.1.1 Matrik Tetangga ... 18

2.5.1.2 Matrik Jalur ... 19

2.5.1.3 Matrik Beban ... 20

2.6 Pohon Permainan ... 22

2.7 Algoritma Minimax ... 24

2.8 Negascout ... 28

2.8.1 Pemotongan Alpha ... 29

2.8.2 Pemotongan Beta ... 30

2.8.3 Pemotongan Alpha Beta ... 30

2.8.4 Zero-Width Test ... 30

2.9 Diagram Konteks ... 31

2.10 Data Flow Diagram (DFD) ... 32

2.11 Pengujian ... 33

2.11.1 Blackbox Testing ... 33

2.11.2 Whitebox Testing ... 34

2.11 Tools Yang Digunakan ... 39

(11)

vii

2.11.2 ActionScript ... 40

BAB 3 ANALISIS DAN PERANCANGAN SISTEM ... 41

3.1 Analisis Sistem ... 41

3.1.2. Analisis game Sejenis ... 41

3.1.3. Analisis GamePlay Damdaman ... 43

3.1.4 Analisis Tingkat Kesulitan ... 46

3.1.5 Analisis Algoritma ... 46

3.1.5.1 Struktur Data game Damdaman ... 46

3.1.5.2 Fungsi Evaluasi Damdaman ... 48

3.1.5.3 Contoh Kasus Gerak Bidak NPC ... 50

3.1.5.4 Penentuan Kemungkinan Langkah Bidak ... 51

3.1.5.5 Membandingkan Nilai Evaluasi Pada Algoritma Negascout ... 65

3.2 Spesifikasi Kebutuhan Perangkat Lunak ... 70

3.3 Analisis Kebutuhan Non Fungsional ... 71

3.3.1 Analisis Pengguna ... 71

3.3.2 Analisis Perangkat Lunak ... 72

3.3.3 Analisis Perangkat Keras ... 72

3.4 Kebutuhan Fungsional ... 72

3.4.1 Diagram Konteks ... 73

3.4.2 Data Flow Diagram (DFD) ... 73

3.4.2.1 DFD Level 1 game Damdaman ... 73

3.4.2.2 DFD Level 2 Proses Penyajian Menu Utama Game Damdaman ... 74

3.4.2.2 DFD Level 3 Proses Penyajian Permainan ... 75

3.4.2.2 DFD Level 4 Proses Pengolahan Gerak Bidak ... 76

(12)

viii

3.6.2 Perancangan Struktur Menu ... 84

2.6.3 Perancangan Antarmuka ... 85

3.6.4 Perancangan Antarmuka Pesan ... 93

3.6.5 Jaringan Semantik ... 95

3.6.5 Perancangan Prosedural ... 96

BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM... 105

4.1 Implementasi Sistem ... 105

4.1.1 Perangkat Keras yang Digunakan ... 105

4.1.2 Perangkat Lunak yang Digunakan ... 106

4.2 Implementasi Aplikasi ... 106

4.2.1 Implementasi Antarmuka ... 107

4.3 Pengujian Sistem ... 113

4.3.1 Kasus dan Hasil Pengujian Black-box ... 114

4.3.2 Kasus dan Hasil Pengujian White-box ... 116

4.3.3 Kesimpulan Hasil Pengujian White-Box dan Black-box ... 121

4.3.2 Kuesioner ... 121

4.3.2.1 Hasil Kuesioner ... 123

4.3.2.2 Kesimpulan Kuesioner ... 128

BAB 5 KESIMPULAN DAN SARAN ... 131

5.1 Kesimpulan ... 131

5.2 Saran ... 131

(13)

133

DAFTAR PUSTAKA

[1] Dharmamulya,Sukirman. 2005. Permainan Tradisional Jawa. Yogyakarta: Penerbit Kepel Press.

[2] Husna. 2009. 100+ permainan Indonesia untuk kreativitas,ketangkasan dan keakraban. Yogyakarta : PenerbitAndi.

[3] Roger S, Pressman. 2010. Software Engineering, A Practitioner's Approach, Seventh Edition. McGraw-Hill Inc.

[4] Andang Ismail. 2009. Pengertian Game. Diakses 12 Pebruari 2013, dari http://belajarpsikologi.com/metode-permainan-dalam-pembelajaran.

[5] Zaini,Muhammad .1988. Permainan Tradisional Indonesia.

[6] Coppin, B. 2004. Artificial Intelligence Illuminated, Jones and Bartlett. Diakses 12 Pebruari 2013, dari

http://ftmk.utem.edu.my/bachelor-of-computer-science (artificial_intelligence).pdf .

[7] Actionsript. Pengertian actionsript. Diakses 12 Pebruari 2013, dari

http://www.ilmugrafis.com/flash.php?page=dasar-pembuatan-games-flash.

[8] Jogiyanto Hartono. 2005. Pengertian Data Flow Diagram (DFD). Diakses

12 Pebruari 2013, dari

http://mohamadkemaludin.wordpress.com/2012/10/18/tugas-softskill-2-1-data-flow-diagram.

[9] Millington, Ian. 2006. Artificial Intelligence For Games. United States of America: Morgan Kaufmann. Diakses 18 Pebruari 2013, dari

http://ftmk.utem.edu.my/bachelor-of-computer-science

(artificial_intelligence).pdf.

[10] Jones, M., Dkk. 2008. Artificial Intelligence : A System Approach. Infinity Science Press LLC:Massachusetts.

(14)

[12] Bruin, D.A., Wim,Pijls., Aske,Plaat.1994. Solution Trees as a Basis for Game Tree Search. Technical Report EUR-CS-94-04, Department of Computer Science, Erasmus University Rotterdam. Diakses 20 Pebruari

2013, dari http://repub.eur.nl/res/pub/1456/eur-few-cs-94-04.pdf.

[13] Reinfelf, F.2011.How to Win at Checkers. Diakses 20 Pebruari 2013, dari http://www.bobnewell.t/checkers/howtowin.pdf.

[14]Stuart, Russel., Peter, Norvig.2000. Artificial inteligen edition. United States Of Amerika : Prentice Hall. Di akses 3 Maret 2013, dari

http://www.scribd.com/doc/43344403.

[15]Meilir, Jones. 1988. The Practical Guide to Structured Systems Design, Second Edition. Yourdon Press. Prentice Hall

(15)

1 BAB 1 PENDAHULUAN

1.1 Latar Belakang

Permainan tradisional merupakan kekayaan khasanah budaya lokal, ragam

permainan tradisional sangat banyak ditemukan di Indonesia sehingga permainan

tradisional ini seharusnya dipertahankan dan dilestarikan sebagai warisan budaya bangsa. Salah satu permainan tradisional adalah Damdaman, permainan ini

berasal dari daerah jawa sekalipun di daerah lain ada [1].

Damdaman biasanya dimainkan oleh anak laki-laki walaupun tidak ada

larangan anak perempuan untuk memainkankannya karena termasuk permainan

kompetitif, mengasah otak, ada yang kalah dan menang. Permainan ini dimainkan

oleh dua orang pemain. Tujuan permainan ini adalah untuk menghabiskan bidak

lawan dengan aturan yang telah disepakati bersama sebagai akhir permainannya

[1]. Damdaman dimainkan oleh dua orang pemain, dan arena permainan

Damdaman dimainkan di atas papan yang telah diberi arena bermain, dan sebagai

bidaknya menggunakan batu atau krikil dengan jumlah yang telah ditentukan.

Berdasarkan pengamatan melalui kuesioner dengan jumlah 40 orang

responden, 54,60 % responden menyatakan permainan tradisional Damdaman

kurang menarik dan membosankan, 71,79% responden menjawab adanya

permainan modern yang lebih praktis dalam penyajiannya sehingga mengurangi

ketertarikan anak anak di zaman sekarang untuk memainankan permainan

tradisional Damdaman, 40% responden menyatakan peran orang dewasa untuk

memperkenalkan permainan tradisional Damdaman pada anak zaman sekarang

dirasakan kurang sehingga anak-anak zaman sekarang merasa asing dengan

permainan tradisional ini sehinga mengurangi minat anak-anak di zaman sekarang

untuk memainkan permainan ini, dan 52,77 % menyatakan sarana permainan yang

sudah semakin dijumpai karena begitu pesatnya perkembangan teknologi yang

(16)

Dari fakta yang telah didapatkan, permainan ini perlu dikenalkan kembali

pada anak-anak di zaman sekarang, karena suatu tradisi tidak akan hidup jika

tidak diturunkan secara baik oleh generasi sebelumnya dan dilaksanakan oleh

generasi penerus. Selain dengan berkembangnya permainan modern yang lebih

menarik, bisa jadi pudarnya perhatian terhadap permainan tradisional merupakan

akibat dari tidak diturunkan atau diwariskannya permainan tradisional secara baik

oleh generasi sebelumnya dalam hal ini orangtua terhadap generasi penerus

(anak), sehingga tidak terjadi keberlangsungan terhadap permainan tradisional

tersebut.

Implementasi permainan Damdaman pada perangkat lunak komputer

diharapkan memudahkan anak-anak zaman sekarang memainkan permainan ini,

karena memiliki kelebihan tidak diharuskan untuk mencari lawan tanding dan

menyiapkan sarana permainan yang kini telah sudah jarang ditemui, karena sarana

permainan disajikan dalam bentuk digital dan salah satu pemain dapat dimainkan

oleh komputer yang telah diterapkan artificial intellegence (AI) sehingga komputer mampu menentukan pemilihan langkah optimal untuk mengimbangi

atau setidaknya memberikan hambatan pemain untuk memenangkan permainan.

Berdasarkan uraian diatas, akan dibangun aplikasi game tradisional Damdaman berbasis desktop, dengan tujuan game tradisional Damdaman ini dapat dimainkan dengan kecanggihan teknologi saat ini, sehinga anak-anak pada

zaman sekarang tetap bisa memainkan permainan ini dengan bentuk digital karena

kini sarana asli permainan ini sudah jarang ditemui.

1.2 Rumusan Masalah

Dari uraian latar belakang didapat rumusan masalah yaitu bagaimana

membangun aplikasi game tradisional Damdaman berbasis desktop.

1.3 Maksud Dan Tujuan

Maksud penyusunan tugas akhir ini adalah untuk membangun aplikasi

(17)

3

Tujuan yang akan dicapai dalam pembangunan game Damdaman berbasis

desktop adalah :

1. Untuk mengenalkan permainan tradisional Damdaman dalam bentuk game

digital.

2. Memberikan sarana permainan tradisional Damdaman dengan bentuk

game digital.

1.4 Batasan Masalah

Batasan masalah dalam pembangunan aplikasi ini sebagai berikut :

1. Permainan yang dibuat berbasis dekstop.

2. Tampilan permainan berupa 2D.

3. Permainan ditujukan untuk usia 9 tahun ke atas. 4. Permainan bersifat single player atau double player.

5. Untuk permainan bersifat single player level permainan dibagi menjadi 2 kategori yaitu kategori level mudah dan level sulit.

6. Untuk permainan bersifat double player tidak ada pilihan level, tingkat kesulitan ditentukan oleh siapa yang menjadi lawan main.

7. Pembangunan aplikasi game menggunakan adobe flash cs6. 8. Bahasa pemograman yang digunakan actionscript 2.0.

9. Algoritma yang diterapkan pada permainan ini adalah Negascout untuk

menentukan langkah yang lebih optimal.

10.Penerapan algoritma diterapkan pada tipe permainan bersifat single player. 11. Metode analisis yang digunakan adalah metode aliran data terstruktur,

sedangkan untuk menggambarkan proses digunakan Data Flow Diagram

(DFD).

1.5 Metodologi Penelitian

Metodologi yang digunakan dalam penelitian ini adalah metode deskriptif

(18)

yang jelas tentang hal-hal yang dibutuhkan dan berusaha menggambarkan serta

menginterpretasi objek yang sesuai dengan fakta secara sistematis dan faktual.

Pengumpulan data dan pengembangan perangkat lunak dalam penelitian

ini menggunakan metode sebagai berikut :

1.5.1 Metode Pengumpulan Data

Metode pengumpulan data yang digunakan dalam penelitian ini adalah sebagai berikut :

a. Studi pustaka

Studi Pustaka yang dilakukan ialah dengan mempelajari berbagai literatur,

seperti buku-buku, artikel-artikel, e-book, website, dan sumber – sumber yang berkaitan dengan game yang akan dibangun, meliputi kecerdasan buatan, desain, tools dan juga pemodelan dengan DFD

b. Kuesioner

Pengumpulan data melalui kuesioner dilakukaan dengan memberikan pertanyaan seputar game tradisional Damdaman kepada pengguna, hal ini dilakukan pada saat pembangunan dan saat pengujian aplikasi untuk mengetahui tanggapan dan respon mengenai pembanguan game Damdaman.

1.5.2 Metode Pembangunan Perangkat Lunak.

Metode pembangunan perangkat lunak menggunakan model waterfall, yang digambarkan pada Gambar 1.1. Metode ini disebut dengan waterfall karena tahap yang pertama harus dilalui dan diselesaikan terlebih dahulu untuk dapat

melanjutkan ke tahapan selanjutnya. Tahap dari model ini adalah sebagai berikut :

a. Communication

Pada tahap ini dilakukan pengumpulan data dengan melakukan penyebaran

kuesioner kepada pengguna untuk mengetahui tanggapan dan harapan user

terhadap game yang akan dibangun dan mengumpulkan data tambahan yang ada pada jurnal, artikel maupun internet yang berkaitan dengan aplikasi yang

(19)

5

b. Planning

Pada tahap ini data yang dikumpulkan pada tahap sebelumnya diidentifikasi

dan menghasilkan dokumen user requirment untuk pembuatan aplikasi c. Modeling

Pada tahap ini akan menerjemahkan syarat kebutuhan ke sebuah perancangan

software yang dapat diperkirakan sebelum dibuat coding. Pada tahap ini dilakukan perancangan struktur data, arsitektur perangkat lunak yang

digambarkan dengan DFD (Data Flow Diagram) , representasi Antarmuka aplikasi, dan detail (algoritma) prosedural.

d. Construction

Pada tahap ini akan mengimplementasikan sebuah model perangkat lunak

kedalam bahasa komputer melalui proses coding kemudian dilakukan pengujian untuk menghindari terjadinya kesalahan (error)

e. Deployment

Tahapan ini bisa dikatakan akhir dalam pembuatan sebuah software atau sistem. Setelah melakukan analisis, desain dan pengkodean maka sistem yang

sudah jadi akan digunakan oleh user.

Gambar 1. 1 Diagram Waterfall [3]

1.6 Sistematika Penulisan

Sistematika penulisan laporan penelitian ini disusun untuk memberikan

gambaran umum tentang penelitian yang dilakukan. Adapun sistematika penulisan

(20)

BAB I PENDAHULUAN

Bab ini bersisikan tentang latar belakang permasalahan pembangunan

game tradisional Damdaman, perumusan masalah, maksud dan tujuan, batasan masalah, metodologi penelitian serta sistematika penulisan.

BAB II LANDASAN TEORI

Bab ini berisikan tentang konsep dasar dan teori yang mendukung dalam

pembangunan game, pengertian game, klasifikasi game, pengertian game

tradisional, Damdaman, aturan permainan Damdaman, AI, algoritma Minimax,

algoritma Negascout, Diagram konteks, DFD, dan tools yang digunakan untuk pembangunan game.

BAB III ANALISIS DAN PERANCANGAN SISTEM

Bab ini berisikan tentang analisis sistem yang berhubungan dengan

pembangunan game Damdaman, meliputi analisis game sejenis, analisis game

yang dikembangkan, analisis kebutuhan fungsional, analisis dan kebutuhan

non-fungsional, perancangan, Diagram Konteks, DFD (Data Flow Diagram), perancangan antar muka, dan perancangan prosedural.

BAB IV IMPLEMENTASI DAN PENGUJIAN

Bab ini berisikan tentang implementasi perancangan game tradisional Damdaman yang dibahas di Bab III, meliputi implementasi antarmuka aplikasi,

dan pengujian sistem yang telah dibangun dengan metode pengujian Black box

dan White Box untuk mengetahui fungsionalitas pada game yang dibangun.

BAB V KESIMPULAN DAN SARAN

Bab ini berisi kesimpulan yang merupakan rangkuman dari hasil pengujian

perangkat lunak dan saran yang perlu diperhatikan bagi pengembangan perangkat

(21)

7 BAB 2

LANDASAN TEORI

2.1 Permainan (Game)

Game berasal dari kata bahasa inggris yang berarti dasar permainan. Permainan dalam hal ini merujuk pada pengertian kelincahan intelektual ( Intellectual Playability Game) yang juga bisa diartikan sebagai arena keputusan dan aksi pemainnya. Dalam game, ada target-target yang ingin dicapai pemainnya.

Permainan adalah kegiatan yang kompleks yang didalamnya terdapat

peraturan, play dan budaya. Sebuah permainan adalah sebuah sistem dimana pemain terlibat dalam konflik buatan, disini pemain berinteraksi dengan sistem dan

konflik dalam permainan merupakan rekayasa atau buatan, dalam permainan

terdapat peraturan yang bertujuan untuk membatasi perilaku pemain dan

menentukan permainan [4].

Game bertujuan untuk menghibur, game banyak disukai oleh anak – anak hingga orang dewasa. Game sebenarnya penting untuk perkembangan otak, untuk meningkatkan konsentrasi dan melatih untuk memecahkan masalah dengan tepat

dan cepat karena dalam game terdapat berbagai konflik atau masalah yang menuntut kita untuk menyelesaikannya dengan cepat dan tepat. Game juga bisa merugikan karena apabila kita sudah kecanduan game kita akan lupa waktu dan akan mengganggu kegiatan atau aktivitas yang sedang kita lakukan.

2.1.1 Kriteria Game

Pada sebuah game ada penggolongan jenis game, baik game tradisional maupun game modern. Pada game modern penggolongan jenis game dibagi menjadi beberapa jenis yaitu [4]:

1. Petualangan (Adventure)

(22)

eksplorasi dan pemecahan teka-teki. Terkadang meliputi masalah konseptual,

dan tantangan fisik namun sangat jarang. Game adventure telah berkembang jauh hingga menjadi genre campuran (Action bebat-em). Dalam game lebih menekankan pada jalan cerita dan kemampuan berpikir pemain untuk

menganalisa tempat secara visual, memeccahkan teka-teki maupun

menyimpulkan rangkaian peristiwa dan percakapan. Salah satu game adventure

adalah game Super Mario. 2. RPG (Role Playing Game)

Pada tipeRPG pemain memainkan tokoh khayalan dan berkolaborasi untuk

merajut sebuah cerita bersama. Para pemain memilih tokoh – tokoh mereka

berdasarkan karakteristik tokoh tersebut, dan keberhasilan aksi mereka

tergantung dari sistem peraturan yang telah ditentukan. Cerita dalam game ini kebanyakan berceritakan tentang sejarah, kebudayaan sesuatu tempat. Karena

sebagian besar game tipe ini berawal dari Asia timur, khususnya Jepang, maka secara pengembangan game ini bisanya membuat cerita dengan arah linear. Contoh dari game ini adalah final fantasy, megaman X: command Mission, dan Ninja saga.

3. Strategy

Game strategi adalah jenis permaian seperti simulasi, dengan tujuan jelas, sehingga pemain harus pintar mengolah strategi dalam memecahkan tipe game

ini. Game strategi merupakan kebalikan dari game action yang berjalan cepat dan perlu refleks secepat kilat, akan tetapi game ini pemain dituntun untuk berhati hati karena bisa jadi salah menerapkan strategi bermain permainan

menuju game over. Game strategi biasanya memberikan pemain atas kendali tidak hanya satu orang tapi minimal dua tang atau kelompok. Game strategi dibagi menjadi dua yaitu [4]:

a. Real Time strategy

Real Time strategy merupakan game berjalan dalam waktu sebenarnya dan serentak antara semua pihak dan pemain harus

memutuskan setiap langkah yang diambil saat itu juga berbarengan

(23)

9

Contoh game ini adalah Company of heroes (2006), Cage Empire II : The Cage of Kings (1999), Rome : total bar (2004) dan sebagainya.

b. Turn based strategy

Game ini dilakukan secara bergiliran, saat kita mengambil keputusan dan menyegerakan pasukan, saat itu isak lawan menunggu,

begitu pula sebaliknya. Contoh : Catur, Chekers, Gunrox, Silent Strom,

dan advance War.

4. Puzzle

Game ini sesuai bercerita mengenai pemecahan teka-teki, baik itu menyusun blok, menyamakan warna bola, memecahkan perhitungan

matematika, melewati labirin, sampai mendorong-dorong kotak sampai masuk

ke tempatnya. Contoh dari game ini adalah Mahjong-Naga, Square Freenzy, dan Typer Shark Deluxe.

5. Arcade

Game arcade adalah jenis permainan game dengan objek yang bergerak

cepat, “membahayakan” atau “menyerang” pemaian. Game disajikan dalam dua dimensi, sangat ringan untuk dimainkan sehingga sering disebut mini game.

Game arcade digolongkan berdasarkan beberapa aspek didalamnya yaitu : kecepatan reaksi (Speed), kepintaran (cleverness), pengalaman (experience), pemahaman (insight), surprise, dan emosi.

2.2 Permainan Tradisional

Permainan tradisional adalah suatu jenis permainan yang ada pada satu

daerah tertentu yang berdasarkan kepada kultur atau budaya daerah tersebut.

Permainan tradisional biasanya dimainkan oleh orang-orang pada daerahnya

tertentu dengan aturan dan konsep yang tradisional pada jaman dulu [5]. Permainan

tradisional kurang begitu dikenal oleh anak-anak pada jaman sekarang kebanyakan

orang tua jaman dulu yang masih sangat tahu bagaimana memainkan permainan ini

khususnya mengenang masa kecil mereka bermain permainan tradisional ini.

Permainan tradisional merupakan unsur-unsur kebudayaan yang tidak dapat

(24)

terhadap perkembangan kejiwaan, sifat, dan kehidupan sosial anak dikemudian

hari. Permainan tradisonal mendapat pengaruh yang kuat dari budaya setempat,

oleh karena itu permainan tradisonal mengalami perubahan baik berupa pergantian,

penambahan maupun pengurangan sesuai dengan kondisi daerah setempat [1].

Dengan demikian, permainan tradisional meskipun nama permainannya berbeda

antar daerah, namun memiliki persamaan atau kemiripan dalam cara

memainkannya.

Salah satu pengaruh Permainan tradisional besar untuk pemainnya seperti

Mengembangkan kecerdasan logika anak, anak dituntut untuk menyelesaikan

permainan dengan urutan yang sesuai dan menentukan langkah yang harus

dilaluinya. Beberapa contoh permainannya anatara lain Damdaman, Congklak,

Lompat tali atau Sapintrong, dan Sondah [1].

2.3 Damdaman

Damdaman merupakan salah satu permainan tradisional yang mampu

mengembangkan kecerdasan logika anak. Permainan Damdaman berasal dari

daerah Jawa sekalipun di daerah lain ada. Nama permainan ini beragam disetiap

daerah seperti di masyarakat yogya mengenal dengan macanan, kemudian di

masyarakat Betawi permainan ini dikenal dengan nama damdas, dan di jawabarat

permaian ini dikenal dengan Damdaman. Dengan berbedanya sebutan disetiap

daerah, maka dalam aturan yang digunakan sedikit berbeda, karena tidak adanya

aturan yang jelas tertulis [5].

Mayoritas anak masyarakat Jawa, setidaknya yang berada di daerah

Yogyakarta, yang hidup di era tahun 1970-an mengenal sebuah permainan

tradisional yang bernama Macanan. permainan ini banyak digemari oleh anak

laki-laki karena bermasuk permainan kompetitif, mengasah otak, ada yang kalah dan

menang. Walaupun tidak ada larangan bagi anak wanita untuk bermain, namun

kebanyakan dimainkan oleh anak laki-laki. Permainan Damdaman sudah dikenal

sejak sebelum Perang Dunia (PD) II. Hanya saja untuk saat sekarang sudah sangat

jarang dimainkan karena tergeser dolanan modern lain, seperti halma dan lainnya

(25)

11

Permainan Damdaman dimainkan oleh 2 orang, setiap pemain memiliki 16

bidak yang disusun di arena main, adapun arena main yang digunakan bisa diatas

papan atau pun diatas kertas karton yang telah diberi arena main. Pemain harus

berpikir bagaimana menyusun strategi untuk menyusun bidaknya agar bisa

bergerak menyerang ke daerah lawan dengan tujuan menghabiskan bidak lawan

dengan aturan yang disepakati sebagai akhir permainannya. Permainan ini

bertujuan untuk melatih daya ingat dan kepekaan indera serta melatih ketelitian dan

kecermatan dalam menentukan keputusan.

2.3.1 Pelaksanaan Permainan Damdaman

Pada permainan tradisional selain pemain dituntut untuk bisa memainkan

permainan, pemain pun dituntut untuk kreatif menentukan tempat permainan.

Berikut akan dijelaskan pelaksanaan permainan Damdaman [1].

a. Apabila ada dua anak, misalkan pemain A dan B, atau lebih (dalam

kelompok) yang ingin bermain Damdaman, maka mereka segera bersepakat

untuk menentukan tempat bermain. Tidak lupa masing-masing pemain juga

sudah harus mempersiapkan orang-orangan berupa kerikil dan sejenisnya.

Setiap orang dalam memilih orang-orangan bebas, asalkan satu pemain

dengan pemain lain tidak boleh sama. Artinya jika pemain A telah memilih

orang-orangan berupa kecik tanjung, maka pemain B harus menggunakan

kerikil. Pembedaan orang-orangan ini hanya untuk memudahkan permainan

agar tidak keliru. Setiap pemain harus mencari orang-orangan sebanyak 16

buah.

b. Setelah itu mereka membuat arena bermain yang berbentuk seperti pada

(26)

Gambar 2. 1 Papan Permainan Damdaman [1]

c. Langkah pertama, kedua pemain menyusun 16 bidak pada arena main, mulai

dari daerah segitiga hingga daerah kotak. Sehingga bidak tersusun seperti

pada gambar 2.2.

Gambar 2. 2 Susunan Bidak Pada Permainan Damdaman

d. Setelah kedua pemain menyusun bidak, maka pemain membuat kesepakatan

untuk menentukan yang terlebih dalu main.

e. Permainan berakhir jika salah satu bidak dari pemain dan menghasilkan satu

(27)

13

2.3.2 Langkah Bidak Pada Permainan Damdaman

Langkah bidak pada permainan Damdaman terdiri dari dua langkah yang

berbeda, yaitu langkah bidak biasa dan langkah bidak raja. pada gambar 2.3 akan

dijelaskan langkah bidak biasa.

Gambar 2. 3 Langkah Bidak Biasa

Bidak biasa bergerak maju, kekiri, kanan, miring satu langkah ke daerah

lawan. Sedangkan untuk bidak raja langkah bisa lebih dari satu langkah, seperti

gambar 2.4 dan gambar 2.5.

Gambar 2. 4 Langkah Bidak Raja Satu Langkah

(28)

Gambar 2. 6 langkah Bidak A memakan Bidak B

Kesempatan bidak untuk memakan bidak lawan sesuai dengan kondisi

papan, seperti diilustrasikan pada gambar 2.6. bidak A akan memakan bidak B

maka bidak A akan melewati bidak B, jika pada jalur yang dilangkahi ada bidak

lawan yang dekat satu langkah dengan jalur yang dilangkahi maka bidak A bisa

mekan bidak B di jalur tersebut, dan begitu seterusnya.

2.3.3 Aturan Permainan Damdaman

Aturan permainan yang digunakan disetiap daerah sangat beragam, berikut

akan dijelas aturan permainan dari daerah jawabarat [1].

a. Bidak dibagi menjadi 2 yaitu bidak biasa dan bidak raja.

b. Pada awal permainan, status bidak adalah bidak biasa.

c. Bidak biasa bisa menjadi bidak raja, jika bidak biasa telah berhasil masuk

darah segitiga lawan.

d. Langkah bidak biasa melangkah satu langkah maju, ke kiri, kanan, dan miring

sesuai dengan kondisi papan.

e. Langkah bidak raja melangkah lebih dari satu langkah ke semua arah, selama

pada jalur tersebut tidak ada bidak kawan.

Gambar 2. 7 Langkah Makan Bidak A

(29)

15

f. Cara memakan bidak lawan adalah melangkahkan bidak melewati bidak

lawan. Dan bidak bisa memakan bidak lawan jika bidak lawan ada satu

langkah bidaknya.

g. Permainan berakhir jika salah satu bidak pemain habis.

2.4 AI (artificial Intellegence)

Para ahli mendefinisikan AI secara bebeda-beda tergantung pada sudut pandang mereka asing-masing. Ada yang fokus pada logika berpikir manusia saja.

Tetapi ada juga yang mendefinisikan AI secara lebih luas pada tingkah laku

manusia. Pengelompokan definisi AI ada empat kategori [14], yaitu :

1. Thinking Humanly : The Cognitive Modeling Approach

Pendekatan ini dilakukan dengan dua cara yaitu :

a. Melalui introjeksi : mencoba menangkap pemikiran – pemikiran kita sendiri

saat berpikir.

b. Melalui eksperimen-eksperimen psikologi.

2. Actual Humanly : The Turing Test Approach

Kecerdasan buatan dalam kategori ini dirancang oleh Alan Turing, pada tahun

1950 beliau merancang sebuah komputer berintelejensia dengan tujuan apakah

komputer tersebut mampu mengelabui seorang manusia yang

mengintrograsinya melalui teletype (komunikasi berbasis pesan jarak jauh).

Jika integrator tidak dapat membedakan yang diintrograsi adalah manusia atau

komputer maka komputer tersebut lulus dari turing Test. Untuk menerapkan kelompok AI ini komputer harus memiliki kemampuan mengolah bahasa

secara natural, perangkat belajar berdasarkan kondisi apapun, representasi

pengetahuan, pengambilan keputusan, Computer Vision, robotics. turing Test sengaja menghindari interaksi fisik antara integrator dan komputer karena

(30)

3. Thinking Rationally : The Laws Of Trought Approach

Masalah pada pendekatan ini diantaranya :

a. Tidak mudah untuk membuat pengetahuan informasi dan menyatakan

pengetahuan tersebut ke dalam kondisi formal yang diperlukan oleh notasi

logika, khususnya ketika pengetahuan tersebut memiliki kepastian kurang

dari 100%.

b. Terdapat perbedaan besar antara dapat memecahkan masalah “dalam

prinsip” dan memecahkannya “dalam dunia maya”.

4. Acting Rationally : The Rational Agen Approach

Membuat tindakan berdasarkan kesimpulan yang diambilsecara logis merupakan

bagian dari satu rational agent. Aksi rasional harus dilakukan dengan cara menalar secara logis, dengan menalar secara logis maka bisa didapatkan kesimpulan aksi

apa yang harus dilakukan untuk mencapai tujuan, sehingga agent memiliki aksi yang tepat.

Thinking Humanly dan acting humanly adalah dua definisi dam arti yang sangat luas. Sampai saat ini, pemikiran manusia diluar rasio, yakni refleks dan

intuitif (berhubungan dengan perasaan), belum dapat ditirukan sepenuhnya oleh

komputer. Dengan demikian, kedua definisi ini dirasa kurang tepat untuk saat ini.

Jika kita menggunakan definisi ini makabanyak produk komputasi cerdas saat ini

tidak layak disebut sebagai produk AI.

Definisi thingking rationally terasa lebih sempit dari pada acting rationally

dengan pendekatan rational agent. Didasari dengan pemikiaran komputer yang mampu melakukan penalaran secara logis dan juga bisa melakukan aksi secara

rasional dengan pengambilan keputusan dengan menyimpulkan penalaran logis

yang dilakukan komputer.

2.5 Graph

Graph adalah sebuah struktur data yang terdiri dari kumpulan simpul (node)

(31)

17

A

G

B

C

D

F

E g

h

j i d

f c

a

b

e

Gambar 2. 8 Contoh Graph

Karena sebuah garis diawali dan diakhiri sebuah simpul maka sebuah garis

misalnya untuk garis a dinyatakan dengan a = [A,B] dalam hal ini diartikan bahwa

garis a diawali dengan simpul A dan diakhri dengan simpul B sedangkan simpul

yang terhubung dengan sebuah garis disebut simpul tetangga sehingga dapat

dikatakan simpul A bertetangga dengan simpul B.

Pada sebuah graph ada istilah yang disebut dengan jalur (Path ). Jalur adalah kumpulan garis dan simpul yang saling berhubungan satu sama lainnya

dengan simpul awal dan simpul akhir yang ditentukan, misalnya Z adalah sebuah

jalur dari simpul A ke simpul D, maka dapat dinyatakan bahwa Z=( A,B,D). Sebuah

jalur yang memiliki simpul akhir samadengan simpul awal disebut jalur tertutup

(Close Path ) sedangkan jalur yang terbentuk dari simpul-simpul yang berbeda disebut dengan jalursederhana (Simple Path ) seperti halnya jalur dari simpul A ke simpul D.

2.5.1 Implementasi Graph

(32)

2.5.1.1 Matrik Tetangga

Matrik tetangga merupakan salah satu cara untuk merepresentasikan graph

berarah dengan meenggunkan array [15]. Berikut adalah representasi graph pada gambar 2.9 dengan menggunkan matrik tetangga berikut :

S

imp

u

l awal

Simpul Tujuan

A B C D E F

A 0 1 0 0 0 0

B 0 0 0 1 1 0

C 1 0 0 0 0 0

D 1 0 1 0 0 0

E 0 0 0 1 0 1

F 0 0 0 1 0 0

Gambar 2. 9 Matrik Tetangga

Angka 1 (satu) menyatakan bahwa simpul awal memiliki jalur ke simpul

tujuan, dan angka 0 (nol) menyatakan bahwa simpul awal tidak memiliki jalur ke

simpul tujuan. Dari representasi pada gambar 2.9 dapat dilihat bahwa

simpul-simpul yang memiliki jalur sebagai berikut.

a. simpul A memiliki jalur dan bertetangga dengan simpul B

b. simpul B memiliki jalur dan bertetangga dengan simpul D dan E

c. simpul C memiliki jalur dan bertetangga dengan simpul A

d. simpul D memiliki jalur dan bertetangga dengan simpul A dan C

e. simpul E memiliki jalur dan bertetangga dengan simpul D dan F

f. simpul F memiliki jalur dan bertetangga dengan simpul D

Implemetasi dengan bahasa algoritmik sebagi berikut :

Array [1...6, 1...6] of integer matGraf = {

{0, 1, 0, 0, 0, 0},

(33)

19

{1, 0, 0, 0, 0, 0},

{1, 0, 1, 0, 0, 0},

{0, 0, 0, 1, 0, 1},

{0, 0, 0, 1, 0, 0}

}

Untuk mengakses simpul, dapat digunkan indeks array, misalnya simpul A ke simpul B maka yang diakses adalah matGraph2,1.

2.5.1.2 Matrik Jalur

Matriks jalur merupakan salah satu cara untuk merepresentasikan graph

berarah menggunakan array [15]. Berikut adalah representasi graph pada gambar

2.10. dengan menggunakan matriks jalur berikut :

S

im

pul aw

al

Simpul Tujuan

A B C D E F

A 1 1 1 1 1 1

B 1 1 1 1 1 1

C 1 1 1 1 1 1

D 1 1 1 1 1 1

E 1 1 1 1 1 1

F 1 1 1 1 1 1

Gambar 2. 10 Matrik Jalur

Angka 1 (satu) menyatakan bahwa simpul awal memiliki jalur ke simpul

tujuan, dan 0 (nol) meyatakan bahwa simpul awal tidak memiliki jalur ke simpul

tujuan, bedanya dengan matrik tetangga, angka 1 menyatakan jika simpul awal

bertetangga secara langsung dengan simpul tujuan, sedangkan pada matriks jalur,

simpul awal tidak harus bertetangga secara langsung dengan simpul tujuan, asalkan

ada jalur yang di simpul awal ke simpul tujuan melewati simpul manapun maka

(34)

simpul dapat ditempuh dari simpul manapun. Implementasi dengan bahasa

algoritma sebagai berikut :

Array [1...6, 1...6] of integer matGraf = {

{1, 1, 1, 1, 1, 1},

{1, 1, 1, 1, 1, 1},

{1, 1, 1, 1, 1, 1},

{1, 1, 1, 1, 1, 1},

{1, 1, 1, 1, 1, 1},

{1, 1, 1, 1, 1, 1}

}

Untuk mengakses simpul, dapat digunkan indeks array, misalnya simpul A

ke simpul B maka yang diakses adalah matGraph2,1.

2.5.1.3 Matrik Beban

Matrik beban merupakan salah satu cara untuk merepresentasikan graph

berarah yang memiliki beban dengan menggunakan array. Matriks beban biasanya digunakan untuk merepresentasikan graph berarah pada jalur yang dilewatinya ada beban atau jarak tempuh dengan nilai tertentu. Graph berarah yang memiliki beban biasanya digunakan untuk menentukan letak kota-kota beserta jarak tempuh [15].

(35)

21

B

D A

E

C F

3

3

7

4

3 3

8

4

2

Gambar 2. 11 Contoh Graph Berarah dengan Beban

Berikut adalah representasi graph pada gambar 2.11 dengan menggunkan matriks beban seperti pada gambar 2.12.

S

im

pul aw

al

Simpul Tujuan

A B C D E F

A 0 3 0 0 0 0

B 0 0 0 3 7 0

C 3 0 0 0 0 0

D 8 0 3 0 0 0

E 0 0 0 4 0 4

F 0 0 0 2 0 0

Gambar 2. 12 Matrik Beban

Angka bukan nol menyatakan bahwa simpul awal memiliki jalur ke simpul

tujuan dengan beban yang dituliskan pada matriks, dan angka 0 (nol) menyatakan

bahwa simpul awal tidak memiliki jalur ke simpul tujuan. Pada dasarnya matriks

beban sama dengan matrik tetangga hanya berbeda penanda adanya jalur, angka 1

(satu) pada matriks tetangga dan nilai beban pada matriks beban. Implementasi

(36)

Array [1...6, 1...6] of integer matGraf = {

{0, 3, 0, 0, 0, 0},

{0, 0, 0, 3, 7, 0},

{3, 0, 0, 0, 0, 0},

{8, 0, 3, 0, 0, 0},

{0, 0, 0, 4, 0, 4},

{0, 0, 0, 2, 0, 0}

}

Untuk mengakses simpul, dapat digunkan indeks array, misalnya simpul A

ke simpul B maka yang diakses adalah matGraph2,1.

2.6 Pohon Permainan

Pohon permainan mempresentasikan kepada pemain kondisi – kondisi yang

mungkin dihadapi pada permainan dimulai dari kondisi yang sedang dihadapi

sekarang hingga beberapa kondisi ke depan. Sebuah pohon permainan merupakan

representasi grafis dari contoh permainan. Pohon permainan menyediakan

informasi pemain, hasil, strategi, dan pilihan langkah .

Pohon permainan dapat direpresentasikan dengan baik pada permainan

yang dilakukan secara giliran (turn-based-game). Pohon permaian memiliki root

yang merupakan representasi dari kondisi langkah yang belum diambil, node pada pohon mempresentasikan keadaan-keadaan yang mungkin diambil pada permainan,

dan Arcs yang mempresentasikan langkah.

Pengguna pohon permainan pada permainan yang dimainkan oleh dua

pemain direpresentasikan dengan cara bergantian. Untuk edges dari tingkat pertama keringat kedua mempresentasikan langkah – langkah yang dapat diambil oleh

pemain pertama, sedangkan untuk edges dari tingkat kedua ketingkat ketiga mempresentasikan langkah-langkah yang diambil oleh pemain kedua, dan begitu

(37)

23

Leaf node pada pohon permainan mempresentasikan keadaan akhir pada permainan, Diana pemain tersebut dimenangkan, dikalahkan ataupun seri. Pada

permainan sederhana, untuk mencapai leaf node mungkin dapat direpresentasikan, tetapi untuk permainan yang rumit seperti Damdaman, pencapaian leaf node sangat tidak memungkinkan karena percabangan pada pohon permainan yang sangat

besar.

Gambar 2. 13 Contoh Pohon Permainan Tic-Tac-Toe [6]

Berikut penjelasan pohon permainan tictactoe pada gambar 2.13 :

1. Terdapat root yang merupakan keadaan awal Dimana pemain belum mulai bermain dan langkah belum diambil.

2. Edges yang menghubungkan tingkat pertama (root) dengan tingkat kedua merupakan langkah pemain pertama dan begitu seterusnya. Sehingga pohon

permainan tersebut merepresentasikan langkah kedua pemain secara bergantian.

(38)

4. Percabangan pertama yang dihasilkan adalah 9, kemudian untuk

percabangan berikutnya adalah 8, dan begitu seterusnya hingga mencapai

keadaan akhir (leaf nodes).

2.7 Algoritma Minimax

Pada permainan yang tidak terlalu kompleks, terdapat algoritma yang

yangdigunakan untuk mencari langkah terbaik dari situasi sekarang. Algoritma yang paling terkenal ialah algoritma Minimax. Algoritma Minimax ialah satu

metode yang sangat bermanfaat untuk tipe permainan bergiliran dengan 2 pemain.

Metode ini memilih langkah terbaik yang diberikan, Dimana kedua pemain

berusaha mengatur sebuah strategi untuk memenangkan permainan. Sehingga

semua langkah selanjutnya akan dapat diketahui [10].

Minimax merupakan algoritma yang digunakan untuk menentukan pilihan

agar kemungkinan kehilangan nilai maksimal dapat diminalisir. Algoritma ini dapat

diterapkan dengan baik pada permainan yang melibatkan dua pemain yangsaling

bergantian seperti atid-tac-toe, chekers, catur, dan permainan yang menggunakan

strategi atau logika lainnya [11]. Permainan tersebut memiliki karakteristik yang

sama yakni “permainan dengan informasi lengkap”. Setiap pemain mengetahui

kemungkinan langkah yang akan dilakukan lawan. Sehingga pemain bisa tetap

“memantau” kondisi permainan sewaktu permainan sedang berlangsung.

Jika pemain memilih satu langkah, maka pemain akan memilih yang

terbaik. Sehingga secara nalar pemain akan mentukan posisi yang terbaik untuk

melangkah. Dengan kata lain , ketika pemain mendapat giliran bermain maka

pemain akan mencoba memaksimalkan nilainya, perhatikan gambar 2.14.

(39)

25

Ketika lawan mendapat giliran bermain, pemain akan mengganggap bahwa

lawan akan memilih langkah yang akan memberikan pemain posisi terburuk yang

tersedia. Lawan sedang berusaha meminimalisir nilai dari pemain, perhatikan

gambar 2.15.

Gambar 2. 15 Langkah Lawan pada Algoritma Minimax [6]

Algoritma Minimax adalah salah satu implementasi dari pencarian DFS

(Dept-First Search), sehingga dalam melakukan pencarian pada pohon Minimax mirip dengan apa yang dilakukan dengan DFS. DFS akan melakukan penelusuran

simpul paling dalam terlebih dahulu, setelah simpul akar dibangkitkan, algoritma

ini akan membangkitkan simpul pada tingkat kedua, yang akandilanjutkan pada

tingkat ketiga, dst.

Dalam representasi pohon pada algoritma Minimax, terdapat dua jenis node, yaitu node min dan node Max. Mak akan memilih langkah dengan nilai tertinggi dan min akan memilih langkah dengan nilai tererendah. Untuk proses dan cara kerja

algoritma yang lebih jelasnya lagi, dapat dilihat pada gambar 2.16 yang

(40)

Gambar 2. 16 Illustrasi Cara Kerja Algoritma Minimax [6]

Dari gambar 2.11, proses pencarian dimulai dari jalur paling kiri terlebih

dahulu, sehingga DFS akan menelusuri simpul paling kiri bawah yaitu 5. Nilai 5

disimpan sebagai nilai maksimum sementara karena berada ditingkat oma,

kemudian DFS melakukan backtrak dan menelusuri simpul berteangga dengan simpul 5 yaitu 2. Karena nilai 5 lebih besar dari nilai 2, maka nilai 2 tidak disimpan.

Lalu DFS akan melakukan backtrack keringat min sehingga nilai 5 yang diperoleh akan disimpan sebagai nilai minimum sementara. Untuk simpul 1 dan 3, nilai 3

akan disimpan di node min karena merupakan nilai maksimum di tingkat max. Saat mencapai tingkat min, sudah ada nilai minimum sementara yaitu 5,namun karena

nilai 3 lebih kecil dari nilai 5, maka nilai 5 akan digantikan dengan nilai 3. Nilai 3

akan disimpan sebagia nilai maksimum sementara di tingkat paling atas karena

merupakan tingkat max. Lalu penelusuranjalur kanan akan dilakukan dengan cara

yang sama dengan jalur kiri, sehingga diperoleh nilai 6. Karena nilai maksimum

menara pada tingkat paling atas adalah 3, maka nilai 3 akan digantikan dengan nilai

6 karena nilai 6 lebih besar dari pada 3.dengan demikian, jalur yang akan dipilih

menggunakan algoritma Minimax adalah jalur belah kanan karena untuk kondisi

terburuknya, pemain akan mendpat nilai 6 sedangkan jika pemain memilih jalur

(41)

27

Pada dasarnya, algoritma Minimax sangat handal untuk menyelesaikan

segala masalah dalam pencarian langkah untuk permainan komputer dengan jumlah

kemungkinan penyelesaian yang kecil. Tetapi jika, algoritma Minimax digunakan

untuk permainan dengan jumlah kemungkinan penyelesaian yang besar seperti

permainan Damdaman, algoritma Minimax ini memelukan waktu lama untuk

membangun pohon penyelesaian.

Oleh karena itu, beberapa metode lanjutan dari algoritma Minimax telah

dikembangkan untuk membatasi melonjaknya jumlah simpul dalam pembangunan

pohon penyelesaian. Berbagai jenis metode telah ditemukan untuk meningkatkan

kinerja algoritma Minimax, salah satunya adalah Negascout. Dengan menggunakan

metode ini maka diharapkan sistem dapat bekerja lebih baik. Pseudocode Minimax Dapat dilihat pada gambar 2.17.

Gambar 2. 17 Pseudocode Minimax

1 function minimax(node,depth)

2 if depth <= 0 then

3 {positive values are good for the maximizing player}

4 {negative values are good for the minimizing player}

5 return objective_value(node)

6 end

7 {maximizing player is (+1)}

8 {minimizing player is (-1)}

9 local alpha = -node.player * INFINITY

10 local child = next_child(node,nil) 11 while child ~= nil do

12 local score = minimax(child,depth-1)

13 alpha = node.player==1 and math.max(alpha,score) or math.min(alpha,score)

14 child = next_child(node,child)

15 end

16 return alpha

(42)

2.8 Negascout

Negascout adalah salah satu metode pencarian Minimax dengan berasumsi

bahwa langkah pertama yang diambil merupakan langkah terbaik, sedangkan

sisanya merupakan langkah terburuk. Namun jika ternyata ada langkah yang lebih

baik dari langkah pertama, maka akan terjadi proses Research atau proses pencarian ulang [12].

Dalam memperkecil jendela pencarian agar mendapat jendela pencarian

dengan lebar nol. Negascout akan memotong hampir semua cabang-cabang dari

pohon, untuk membuat suatu pencarian yang sangat tepat. Tetapi sayangnya, ia

akan memotong semua cabang-cabang berguna bersamaan dengan yang tidak

berguna. Hal ini tidak berlaku jika algoritma dimulai dengan hasil yang benar. Satu

jendela nol dapat dilihat sebagai uji coba. Uji coba dilakukan jika nilai sebenarnya

sama dengan nilai yang ditebak [6].

Algoritma negascout cukup efisien, tetapi melakukan pemeriksaan posisi

papan lebih dari yang diperlukan. Pemotongan cabang memungkinkan algoritma

untuk mengabaikan bagian dari pohon yang tidak mungkin berisi langkah terbaik.

Ini menghasilkan dua jenis pemotongan yaitu pemotongan alpha dan pemotongan

beta. pada gambar 2.18 dapat dilihat pseudocode Negascout.

(43)

29

1 5

n := max (alpha, m) +1; 1

6

END; 1

7

RETURN (m); 1

8

END; 1

9

END;

Gambar 2. 18 pseudocode Negascout

Keterangan pseudo code: p = kondisi papan

d = kedalaman maksimum dari pohon yang ditelusuri

b = lebar pohon (banyak langkah yang mungkin terjadi pada papan)

evaluate(p ) = merupakan fungsi yang memberikan nilai evaluasi pada kondisi

papan “p”.

2.8.1 Pemotongan Alpha

Gambar 2.19 menunjukan satu pohon permainan sebelum proses

pemotongan dilakukan. Untuk lebih mudah melihat bagaimana nilai nilai di proses,

akan dicoba dlakukan dengan algoritma Minimax untuk ilustrasi ini.

Gambar 2. 19 Pohon Permainan dengan Proses Pemotongan Alpha [6]

Untuk proses pertama, sama halnya dengan algoritma Minimax. Jika

pemain memilih langkah A, maka lawan akan membirakan respons dengan langkah

C, dan memberikan pemain nilai 5. Maka nilai 5 naik pada tingkat min. Jika pemain

(44)

mendapat nilai 4. Setelah melihat kondisi demikian pemain akan menyadari nilai

yang didapatkan lebih rendah dari nilai sementara di tingkat max. Sehingga pemain

akan menyimpulkan ini adalah langkah yang salah.

Untuk melakukan pemotongan dengan cara ini, perlu dilakukan pencarian

nilai terbaik yang pasti akan tercapai. Bahkan, nilai ini membentuk batas bawah

pada nilai yang akan tercapai. Sehingga urutan langkah yang lebih baik dapat

ditemukan dalam pencarian, namun nilai yang paling rendah akan mustahil untuk

didapatkan. Batas bawah ini dinamakan nilai alpa dan pemotongannya dinamakan

dengan pemotongan alpa.

2.8.2 Pemotongan Beta

Pemotongan beta bekerja dengan cara yang sama. Nilai beta terus melacak

nilai batas tertinggi dari nilai yang diharapkan. Nilai beta berubah ketika ditemukan

satu langkah yang dipaksakan oleh lawan.

Pada posisi itu pemain mengetahui tidak ada nilai yang lebih besar dari beta.

Jika urutan langkah yang bernilai lebih besar dari nilai beta ditemukan maka dari

kondisi ini dapat diabaikan, karena kesempatan untuk mendapatkannya lebih kecil.

2.8.3 Pemotongan Alpha Beta

Bersamaan nilai – nilai dari alpa dan beta memberikan satu jendela

kemungkinan langkah. Pemain etika pernah memilih untuk melakukan langkah

yang dinilainya lebih kecil dari alpaha, dan lawan tidak akan pernah membiarkan

ada langkah yang lebih besar dari beta. Nilai pada akhirnya harus terletak antara

alpa dan beta. Ketika pencarian mulai dilakukan pada pohon, nilai - nilai dari alpha

dan beta diperbaharui. Jika cabang dari pohon yang ditemukan di luar nilai – nilai

ini, maka akan dilakukan pemotongan pada cabang.

2.8.4 Zero-Width Test

Pada algoritma negascout ada yang disebut dengan kondisi failsoft, kondisi ini menggambarkan pemotongan alpa dan beta yang telah diketahui. Pada dasarnya

(45)

31

sebagai nilai jika gagal berdasarkan gagal karena nilai yang didapatkan lebih tinggi

atau lebih rendah dari nilai maksimum sementara pada tingkat pencarian tertentu.

Dengan kondisi fail soft dapat membantu untuk menemukan satu solusi. Dengan kondisi ini memungkinkan untuk menebak nilai awal dan megulangi pencarian

dengan jendela yang lebih masuk akal (Zero width test).

Pada dasarnya algoritma negascout menggabungkan pencarian Minimax

dengan pemotongan alpa beta dan pemanggilan zero-width Test. Negascout tidak selebar pencarian algoritma Minimax. Negascout menggunakan pemotongan alpa

dan beta untuk uji coba tersebut.

Negascout bekerja dengan melakukan pemerikasaan secara menyeluruh

pada langkah pertama dalam setiap posisi papan. Hal ini dilakukan pada satu

jendela pencarian luas, sehingga algoritma tidak gagal. Berturut-turut langkah diuji

menggunakan satu jalur berdasarkan nilai dari langkah pertama, jika berhasil, maka

akan diulangi pada jendela dengan lebar sebenarnya, perhatikan gambar 2.20.

Gambar 2. 20 Pohon Permainan dengan Algoritma Negascout [6].

2.9 Diagram Konteks

Diagram konteks merupakan alat pemodelan atau suatu diagram yang

menggambarkan sistem berbasis komputer yang dirancang secara global dan

(46)

ini menggambarkan seluruh jaringan, baik masukan maupun sebuah keluaran

sebuah sistem [8].

Diagram konteks terdiri dari sebuah simbol proses tunggal yang

menggambarkan sebuah sistem dan menunjukan data aliran utama untuk dan dari

terminator. Diagram ini merupakan dasar yang digunakan untuk menentukan aliran data yang mengalir menuju sistem (input system) dan keluar dari sistem (output system), yang meliputi objek berupa kesatuan luar (eksternal entity). Diagram konteks dapat mendefinisikan jangkauan proses penurunan sistem informasi yaitu

menentukan apa yang menjadi bagian dari sistem informasi dan apa yang tidak

menjadi bagian sistem informasi.

2.10 Data Flow Diagram (DFD)

Pengertian Data Flow Diagram (DFD) menurut Jogiyanto Hartono adalah:

“Diagram yang menggunakan notasi simbol untuk menggambarkan arus data

system” [8].

DFD sering digunakan untuk menggambarkan suatu sistem yang telah ada

atau sistem yang baru yang akan dikembangkan secara logika dan menjelaskan

arus data dari mulai pemasukan sampai dengan keluaran data tingkatan diagram

arus data mulai dari diagram konteks yang menjelaskan secara umum suatu system

atau batasan system dari level 0 dikembangkan menjadi level 1 sampai system tergambarkan secara rinci. Gambaran ini tidak tergantung pada perangkat keras,

perangkat lunak, struktur data atau organisasi file.

Menurut Jogiyanto Hartono, tahun 2005 dalam bukunya Basia Data ada

beberapa simbol digunakan pada DFD untuk mewakili :

a) Kesatuan Luar (External Entity)

Kesatuan luar (external entity) merupakan kesatuan (entity) di lingkungan luar sistem yang dapat berupa orang, organisasi, atau sistem lain yang berada pada

(47)

33

b) Arus Data (Data Flow)

Arus Data (data flow) di DFD diberi simbol suatu panah. Arus data ini mengalir di antara proses, simpan data dan kesatuan luar. Arus data ini

menunjukan arus dari data yang dapat berupa masukan untuk sistem atau hasil dari

proses sistem.

c) Proses (Process)

Proses (process) menunjukan pada bagian yang mengubah input menjadi

output, yaitu menunjukan bagaimana satu atau lebih input diubah menjadi beberapa output. Setiap proses mempunyai nama, nama dari proses ini menunjukan apa yang dikerjakan proses.

d) Simpanan Data (Data Store)

Data Store merupakan simpanan dari data yang dapat berupa suatu file atau

database pada sistem komputer.

2.11 Pengujian

Pengujian perangkat lunak (bahasa Inggris: software testing) merupakan suatu investigasi yang dilakukan untuk mendapatkan informasi mengenai kualitas

dari produk atau layanan yang sedang diuji (under test) [16]. Pengujian perangkat lunak juga memberikan pandangan mengenai perangkat lunak secara obyektif dan

independen, yang bermanfaat dalam operasional bisnis untuk memahami tingkat

risiko pada implementasinya. Teknik-teknik pengujian mencakup, namun tidak

terbatas pada, proses mengeksekusi suatu bagian program atau keseluruhan aplikasi

dengan tujuan untuk menemukan bug perangkat lunak (kesalahan atau cacat lainnya).

Pengujian perangkat lunak dapat dinyatakan sebagai

proses validasi dan verifikasi bahwa sebuah program :

1. Memenuhi kebutuhan (requirement) yang mendasari perancangan dan pengembangan perangkat lunak tersebut;

(48)

3. Dapat diterapkan menggunakan karakteristik yang sama;

4. Memenuhi kebutuhan semua pihak yang berkepentingan.

2.11.1 Blackbox Testing

Test case ini bertujuan untuk menunjukkan fungsi Perangkat Lunak tentang cara beroperasinya, apakah pemasukan data keluaran telah berjalan sebagaimana

yang diharapkan dan apakah informasi yang disimpan secara eksternal selalu dijaga

kemutakhirannya.

2.11.2 Whitebox Testing

White box Testing atau pengujian glass box adalah metode desain test case

menggunakan struktur kontrol desain prosedural untuk mendapatkan test case. Dengan menggunakan metode White box analisis sistem akan memperoleh Test case sebagai berikut:

1. Menjamin seluruh independent path di dalam modul yang dikerjakan sekurang-kurangnya sekali

2. Mengerjakan seluruh keputusan logika

3. Mengerjakan seluruh loop yang sesuai dengan batasannya

4. Mengerjakan seluruh struktur data internal yang menjamin validitas.

1. Uji Coba Basis Path

Merupakan teknik uji coba white box yang diusulkan Tom McCabe. Metode ini memungkinkan perancang test case mendapatkan ukuran kekompleksan logical dari perancangan prosedural dan menggunakan

ukuran ini sebagai petunjuk untuk mendefinisikan basis set dari jalur

pengerjaan. Test case yang didapat digunakan untuk mengerjakan basis set yang menjamin pengerjaan setiap perintah minimal satu kali selama uji

(49)

35

Gambar 2. 21 Notasi Diagram Alir

Lingkaran (node), menggambarkan satu/lebih perintah prosedural. Urutan proses dan keputusan dapat dipetakan dalam satu node. Tanda panah (edge), menggambarkan aliran kontrol. Setiap node harus mempunyai tujuan node.

Region adalah daerah yang dibatasi oleh edge dan node. Termasuk daerah diluar grafik alir. Contoh menterjemahkan pseudocode pada gambar 2.21 ke grafik alir akan ditunjukan pada gambar 2.22.

Gambar 2. 22 Contoh pseudocode

1 do while record masih ada baca record

2 if record ke 1 = 0

3 then proses record simpan di buffer naikan counter

4 else if record ke 2 = 0

5 then riser counter

6 proses record simpan pada file

7 endif

8 endif

9 end do

(50)

Gambar 2. 23 Diagram Alir

Nomor pada pseudocode berhubungan dengan nomor node. Apabila ditemukan kondisi majemuk (compound condition) pada pseudocode pembuatan grafik alir menjadi rumit. Kondisi majemuk mungkin terjadi pada operator Boolean

(AND, OR, NAND, NOR) yang dipakai pada perintah if. Berikut contoh gambar akan ditunjukan pada gambar 2.24 berikut :

(51)

37

if A or B

then procedure x

else procedure y

endif

Node dibuat terpisah untuk masing-masing kondisi A dan B dari pernyataan

IF A OR B. Masing-masing node berisi kondisi yang disebut pridicate node dan mempunyai karakteristik dua atau lebih edge darinya.

2. Cyclomatic complexity

Cyclomatic complexity adalah metrik software yang menyediakan ukuran kuantitatif dari kekompleksan logikal program. Apabila digunakan dalam konteks

metode uji coba basis path , nilai yang dihitung untuk cyclomatic complexity

menentukan jumlah jalur independen dalam basis set suatu program dan memberi

batas atas untuk jumlah uji coba yang harus dikerjakan untuk menjamin bahwa

seluruh perintah sekurang-kurangnya telah dikerjakan sekali.

Jalur independent adalah jalur yang melintasi atau melalui program dimana

sekurang-kurangnya terdapat proses perintah yang baru atau kondisi yang baru.

Gambar 2. 25 Contoh Flowgraph

Path 1 = 1 - 11

(52)

Path 3 = 1 - 2 - 3 - 6 - 8 - 9 ...: 10 - 1 - 11

Path 4 = 1 - 2 - 3 - 6 - 7 - 9 - 10 - 1 - 11

Path 1,2,3,4 yang telah didefinisikan diatas merupakan basis set untuk diagram alir.

Cyclomatic complexity digunakan untuk mencari jumlah path dalam satu

flowgraph. Dapat dipergunakan rumusan sebagai berikut :

1. Jumlah region grafik alir sesuai dengan cyclomatic complexity.

2. Cyclomatix complexity V(G) untuk grafik alir dihitung dengan rumus: V(G) = E - N + 2

Dimana:

E = jumlah edge pada grafik alir N = jumlah node pada grafik alir

3. Cyclomatix complexity V(G) juga dapat dihitung dengan rumus:

V(G) = P + 1

Dimana P = jumlah predicate node pada grafik alir Pada gambar 2.5 dapat dihitung cyclomatic complexity: 1. Flowgraph mempunyai 4 region

2. V(G) = 11 edge - 9 node + 2 = 4 3. V(G) = 3 predicate node + 1 = 4

Jadi cyclomatic complexity untuk flowgraph adalah 4.

3. Graph Metrik

(53)

39

node. Berikut ini adalah contoh sederhana pemakaian graph metrik dapat digambarkan pada gambar 2.26.

Gambar 2. 26 Penggunaan Graph Metrik

Hubungan bobot menyediakan tambahan informasi tentang aliran kontrol.

Secara simpel hubungan bobot dapat diberi nilai 1 jika ada hubungan antara node

atau nilai 0 jika tidak ada hubungan. Dapat juga hubungan bobot diberi tanda

dengan:

a. Kemungkinan link (edge) dikerjakan

b. Waktu yang digunakan untuk proses selama traversal dari link

c. Memori yang diperlukan selama traversallink

d. Sumber daya yang diperlukan selama traversal link

2.11 Tools Yang Digunakan

Adapun perangkat lunak yang digunakan untuk Pembangunan game

Damdaman yaitu adobe flash dan menggunakan bahasa pemograman

menggunakan ActionScript 2.0. dan untuk versi adobe flash yang digunakan versi CS6.

2.11.1 Adobe Flash

Flash adalah salah satu perangkat lunak komputer yang digunakan untuk

(54)

popular untuk membuat animasi, iklan, multimedia interaktif, integrasi video pada

halaman Web.

Sama halnya dengan aplikasi grafik lainnya Flash dapat memanipulasi

vektor dan bitmap, namun Flash dapat diisi dengan pemprograman yang rumit dan dapat menghasilkan animasi yang ringan apabila dikerjakan dengan mode vektor

yang sederhana. Keunggulan Flash lainnya adalah dapat mendukung streaming audio maupun video, hal yang tidak dapat dilakukan oleh aplikasi grafik lainnya.

Flash bekerja dengan bahasa pemprograman yang dinamakan ActionScript. Bahasa ini telah mengalami beberapa kali perkembangan sejak pertama kali

diperkenalkan. Versi terakhir adalah ActionScript 3.0 atau disingkat AS3, dengan struktur bahasa yang sangat menyerupai javascript.

Dengan dukungan ActionScript, maka aplikasi yang dibangun dengan Flash dapat ditampilkan secara online di internet. Sebuah game yang ditulis dalam format Flash boleh menghasilkan file SWF berukuran beberapa kilobyte saja. SWF adalah

kependekan dari “ShockWave Flash”, kata lain yang biasanya dipergunakan untuk

menyebutkan file swf adalah Flash Movie. File Flash Movie memiliki ekstensi .swf, yang hanya dapat ditampilkan apabila komputer yang menjalankan aplikasi

tersebut telah memiliki plug-in“Flash Player”.

2.11.2 ActionScript

ActionScript adalah bahasa pemrograman yang dibuat berdasarkan ECMAScript, yang digunakan dalam pengembangan situs web dan perangkat lunak menggunakan platform Adobe Flash Player. ActionScript juga dipakai pada beberapa aplikasi basis data, seperti Alpha Five. Bahasa ini awalnya dikembangkan oleh Macromedia, tapi kini sudah dimiliki dan dilanjutkan perkembangannya oleh

Adobe, yang membeli Macromedia pada tahun 2005.

ActionScript terbaru saat ini adalah ActionScript 3.0. ActionScript 3.0 adalah bahasa terbaru dari edisi yang sebelumnya dikenal dengan ActionScript 2.0.

ActionScript 3.0 memiliki beberapa kelebihan dibanding pendahulunya, antara lain fitur yang ditawarkan adalah file pada ActionScript 3.0 dapat dibuat terpisah saat

(55)

131

BAB 5

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Berdasarkan hasil implementasi game Damdaman, maka dapat diambil kesimpulan sebagai berikut :

1. Pembangunan game Damdaman dapat mengenalkan kembali permainan tradisional Damdaman yang sebelumnya kurang dikenal oleh anak-anak

jaman sekarang.

2. Pembangunan game Damdaman memudahkan anak-anak untuk

memainkan permainan tradisional Damdaman, karena lebih praktis dalam

penyajiannya dan dapat dimainkan single player.

5.2 Saran

Saran untuk pengembangan aplikasi ini agar lebih baik yaitu :

1. Penambahan level permainan, agar user lebih tertantang untuk memainkan

game Damdaman.

(56)

Gambar

Gambar 2. 8 Contoh Graph
Gambar 2. 9 Matrik Tetangga
Gambar 2. 10 Matrik Jalur
Gambar 2. 12 Matrik Beban
+7

Referensi

Dokumen terkait

Berdasarkan dari hasil uji aktivitas biokimia (Tabel 2) yang telah dilakukan sebelumnya, diperoleh hasil identifikasi jenis–jenis bakteri yang ditemukan di

Instrumen evaluasi proses pembelajaran untuk memperoleh informasi deskriptif dan/atau informasi judgemental dapat berwujud (1) Lembar pengamatan untuk mengumpulkan

heritabilitas antarsifat pada kedua lokasi plot uji keturunan di mana diameter dan volume batang menunjukkan nilai heritabilitas yang lebih besar dibandingkan dengan tinggi

Placement in Bank Indonesia and other bank 1.000.150.000.000 Surat-surat berharga / Securities 716.225.632.797 Kredit yang diberikan / Loans

Berdasarkan ciri-ciri tersebut, Zainal Arifin Mochtar menetapkan tujuh Lembaga Negara independen yang menjadi kajiannya. Lembaga-lembaga itu terdiri dari Komisi Nasional Hak

Bisa jadi hal ini merupakan trauma terhadap permasalahan kebanyakan perusahaan yang terbelit hutang pada saat terjadi krisis, yang selanjutnya berakhir dengan penyitaan atau

Perkebunan Nusantara XII Kebun Ngrangkah Pawon Kediri adalah suatu kerjasama antara dua belah pihak pihak perkebunan sebagai pihak pemilik lahan yang menyiapkan

Sebagai muslimah kita harus tahu jilbab yang dapat menutup aurat, aurat yang menutup dada dan tidak terlihat lekuk tubuh muslimah. muslimah harus tau apa