• Tidak ada hasil yang ditemukan

AUTOMATIC LEVELING PADA SLIDING PUZZLE GAME BERBASIS FINITE STATE MACHINE SKRIPSI AMELIA ASTARI

N/A
N/A
Protected

Academic year: 2021

Membagikan "AUTOMATIC LEVELING PADA SLIDING PUZZLE GAME BERBASIS FINITE STATE MACHINE SKRIPSI AMELIA ASTARI"

Copied!
13
0
0

Teks penuh

(1)

AUTOMATIC LEVELING PADA SLIDING PUZZLE GAME

BERBASIS FINITE STATE MACHINE

SKRIPSI

AMELIA ASTARI

061401079

PROGRAM STUDI S1 ILMU KOMPUTER

DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS SUMATERA UTARA

(2)

AUTOMATIC LEVELING PADA SLIDING PUZZLE GAME

BERBASIS FINITE STATE MACHINE

SKRIPSI

Diajukan untuk melengkapi tugas akhir dan memenuhi syarat mencapai gelar Sarjana Komputer

AMELIA ASTARI 061401079

PROGRAM STUDI S1 ILMU KOMPUTER DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA

MEDAN 2011

(3)

PERSETUJUAN

Judul : AUTOMATIC LEVELING PADA SLIDING PUZZLE

GAME BERBASIS FINITE STATE MACHINE

Kategori : SKRIPSI

Nama : AMELIA ASTARI

Nomor Induk Mahasiswa : 061401079

Program Studi : S1 ILMU KOMPUTER Departemen : ILMU KOMPUTER

Fakultas : MATEMATIKA DAN ILMU PENGETAHUAN

ALAM (FMIPA) UNIVERSITAS SUMATERA UTARA

Diluluskan di

Medan, 10 Januari 2011 Komisi Pembimbing :

Pembimbing 2 Pembimbing 1

Ade Candra, ST, M.Kom Drs. Suyanto, M.Kom NIP 197909042009121002 NIP 195908131986011002

Diketahui/Disetujui oleh

Program Studi S1 Ilmu Komputer Ketua,

Dr. Poltak Sihombing, M.Kom NIP 196203171991021001

(4)

PERNYATAAN

AUTOMATIC LEVELING PADA SLIDING PUZZLE GAME

BERBASIS FINITE STATE MACHINE

SKRIPSI

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

Medan, 10 Januari 2011

AMELIA ASTARI 061401079

(5)

PENGHARGAAN

Bismillahirrahmanirrahim.

Alhamdulillah, puji syukur penulis panjatkan kehadirat Allah SWT yang telah memberikan rahmat dan hidayah-Nya sehingga penulis dapat menyelesaikan skripsi ini dengan baik. Shalawat beriring salam penulis persembahkan kepada Nabi Besar Muhammad SAW.

Ucapan terima kasih penulis sampaikan kepada Bapak Drs. Suyanto, M.Kom, selaku pembimbing pertama dan Bapak Ade Candra, ST, M.Kom, selaku pembimbing kedua yang telah banyak meluangkan waktunya untuk memberikan masukan-masukan kepada penulis dalam penyelesaian skripsi ini. Ucapan terima kasih juga ditujukan kepada Bapak M. Andri Budiman, ST, MCompSc, MEM, selaku pembanding pertama dan Bapak Syahriol Sitorus, S.Si, MIT, selaku pembanding kedua yang telah memberikan kritik dan saran yang sangat bermanfaat dalam penyelesaian skripsi ini. Ucapan terima kasih juga ditujukan kepada Ketua dan Sekretaris Program Studi S1 Ilmu Komputer, Bapak Dr. Poltak Sihombing, M.Kom, dan Ibu Maya Silvi Lydia, B.Sc, M.Sc. Dekan dan Pembantu Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara, semua dosen serta pegawai di Program Studi S1 Ilmu Komputer FMIPA USU.

Skripsi ini penulis persembahkan untuk ayahanda tercinta drh. Adi Nirwan Soeripto dan ibunda tercinta Rahayu Retno Purwati, B.Sc, serta kedua kakanda tersayang Andri Aritama, S.Si, dan drh. Astria Ardika, yang tak henti-hentinya mendoakan, mendukung dan memotivasi penulis hingga terselesaikannya skripsi ini. Kepada yang tersayang Muhammad Arsyad, terima kasih atas senyum dan tawa, serta air mata yang telah menguatkan penulis selama ini, terima kasih atas semua kisah yang telah terukir. Tidak lupa ucapan terima kasih juga penulis ucapkan buat sahabat-sahabat terhebat yang pernah penulis miliki, Muhammad Alvin, Putri Ramadhani S, Yahdin Faridhi, Siti Rezeki, Faurina Sari, Riky Andi Syahputra, Syauvika Lubis, Dian Novita Sari, Ilmi Fadilla, Afridayanti Damanik, Lestari Sri Wulandhari, Arridha Hutami Putri, Novi Citra Pratiwi, teman-teman S1 Ilmu Komputer angkatan ’06, serta teman-teman lain yang tak kalah hebatnya, yang telah banyak membantu dan mendukung penulis selama ini. Semoga Allah SWT memberikan imbalan atas apa yang telah diberikan.

(6)

ABSTRAK

Finite State Machine (FSM) adalah sebuah metodologi perancangan sistem kontrol

yang menggambarkan tingkah laku atau prinsip kerja sistem dengan menggunakan tiga hal berikut: State (Keadaan), Event (kejadian) dan action (aksi). Sebagai sebuah metodologi perancangan sistem kontrol, penerapan FSM telah banyak diterapkan pada perangkat lunak, khususnya pada game. Metode FSM dapat diterapkan untuk nilai-nilai batas perpindahan yang rigid/pasti dan sangat mudah diterapkan pada pembuatan

automatic leveling pada game, serta menghasilkan perpindahan level pada Sliding Puzzle Game yang sesuai dengan Finite State Diagram. Penerapan FSM pada automatic leveling dapat dilakukan dengan cara Lookup Table. Dimana tabel ini berisi

semua transisi state yang mungkin terjadi pada sistem. Tabel ini direpresentasikan sebagai matriks pada kode program dimana tiap baris merepresentasikan event atau transisi state dan kolomnya merepresentasikan state sedangkan elemennya merepresentasikan next state. Pengimplementasian FSM dengan Lookup Table memiliki kelebihan dalam kemudahannya untuk diimplementasikan dan pemeliharaannya yang lebih fleksibel dikarenakan tabel atau matriks tersebut mudah untuk dipahami. Metode FSM dapat diterapkan untuk mengatur level pada game agar

game dapat memberikan tantangan otomatis (automatic leveling) sesuai dengan

kemampuan pemain. Dan penerapan Automatic Leveling berbasis FSM mampu menjadikan Sliding Puzzle Game lebih menarik.

(7)

AUTOMATIC LEVELING ON SLIDING PUZZLE GAME BASED ON FINITE STATE MACHINE

ABSTRACT

Finite State Machine (FSM) is a control system design methodology that describes the behavior or the working principle of the system by using the following three things: State, event and action. As a control system design methodology, the implementation of FSM has been widely applied to software, especially in games. FSM method can be applied to the values of the rigid/definite displacement boundaries and very easily applied to automatic leveling in the game, and results displacement level on Sliding Puzzle Game which according to Finite State Diagram. Implementation of FSM in an automatic leveling can be done by using Lookup Table. Where this table contains all state transitions that may occur in the system. This table is represented as a matrix in the source code where each row represents an event or a transition state and columns represent the state while the elements represent the next state. FSM implementation with Lookup Table has advantages in its simplicity to be implemented and its flexible maintenance because the table or matrix is easy to understand. FSM method can be implemented to control the level of game so that game can give automatic challenge (automatic leveling) depends on players ability. And FSM-based Automatic Leveling implementation can make Sliding Puzzle Game more interesting.

(8)

DAFTAR ISI Halaman Persetujuan ii Pernyataan iii Penghargaan iv Abstrak v Abstract vi

Daftar Isi vii

Daftar Tabel x Daftar Gambar xi Bab 1 Pendahuluan 1 1.1 Latar Belakang 1 1.2 Rumusan Masalah 2 1.3 Batasan Masalah 2 1.4 Tujuan Penelitian 3 1.5 Manfaat Penelitian 3 1.6 Metode Penelitian 3 1.7 Sistematika Penulisan 4

Bab 2 Landasan Teori 6

2.1 Finite State Machine (FSM) 6

2.1.1 Defenisi FSM 6 2.1.1.1 Moore Machine 8 2.1.1.2 Mearly Machine 9 2.1.2 Kelebihan FSM 9 2.1.3 Kelemahan FSM 9 2.1.4 Teknik Pemodelan FSM 10

2.1.5 Implementasi FSM pada perangkat lunak 11

2.1.5.1 Cara Tradisional 12

2.1.5.2 Lookup Table 13

2.1.5.3 Object Oriented 16

2.2 Interaksi Manusia Dengan Komputer 20

2.2.1 Definisi 20

2.2.2 Prinsip Utama Mendesain Antarmuka (Interface) 20

2.2.2.1 User compatibility 20

2.2.2.2 Product Compatibility 21

2.2.2.3 Task Compatibility 21

2.2.2.4 Work Flow Compatibility 22

2.2.2.5 Consistency 22

2.2.2.6 Familiarity 23

2.2.2.7 Simplicity 23

2.2.2.8 Direct Manipulation 23

(9)

2.2.2.10 WYSIWYG 24 2.2.2.11 Flexibility 24 2.2.2.12 Responsiveness 25 2.2.2.13 Invisible Technology 25 2.2.2.14 Robustness 25 2.2.2.15 Protection 26

2.2.2.16 Ease Of Learning And Ease Of Use 26

Bab 3 Analisis dan Perancangan Aplikasi 27

3.1 Analisis Kebutuhan Aplikasi 27

3.1.1 Gambaran Umum Tentang Sliding Puzzle 27

3.1.2 Analisis Kemampuan Pemain 28

3.1.3 Analisis Perancangan FSM 29

3.1.3.1 Pendeskripsian FSM dengan Tabel Transisi 32

3.2 Perancangan Aplikasi 33

3.2.1 Perancangan Konseptual 33

3.2.1.1 Flowchart Program Sliding Puzzle Game 33 3.2.1.1.1 Flowchart SetLevelSlidingPuzzle() 34 3.2.1.1.2 Flowchart startSlidingPuzzle() 35 3.2.1.1.3 Flowchart TimerSlidingPuzzle() 36 3.2.1.1.4 Flowchart MakePuzzlePieces() 37 3.2.1.1.5 Flowchart ShufflePuzzlePieces() 38 3.2.1.1.6 Flowchart CekPuzzleComplete() 39 3.2.1.2 Flowchart Aplikasi Sliding Puzzle Game Secara Umum 40 3.2.1.2 Pendeskripsian Fungsionalitas Aplikasi Sliding Puzzle

Game 41

3.2.1.3 Pendeskripsian Proses dan Aktifitas dalam Aplikasi

Sliding Puzzle Game 42

3.2.1.3.1 Start 43 3.2.1.3.2 Highscore 45 3.2.1.3.3 About 46 3.2.1.3.4 Exit 47 3.2.2 Perancangan Fisik 48 3.2.2.1 Perancangan Database 48 3.2.2.2 Perancangan Antarmuka 49 3.2.2.2.1 Layar Pembuka 49 3.2.2.2.2 Menu Utama 50 3.2.2.2.3 Layar Highscore 51 3.2.2.2.4 Layar About 51

3.2.2.2.5 Layar Isian Data Pemain 52

3.2.2.2.6 Message Dialog 52

(10)

4.1.3.1 Layar Pembuka 56

4.1.3.2 Menu Utama 56

4.1.3.3 Layar Highscore 57

4.1.3.4 Layar About 57

4.1.3.5 Layar Isian Data Pemain 58

4.1.3.6 Message Dialog 59

4.1.3.7 Layar Permainan 59

4.1.3.8 Layar Konfirmasi 60

4.1.4 Implementasi FSM pada Baris Program 61

4.2 Pengujian Aplikasi 62

4.2.1 Pengujian Kehandalan FSM 62

4.2.2 Pengujian Integrasi Aplikasi 65

4.2.2.1 Proses Lihat Layar Pembuka 66

4.2.2.2 Proses Highscore 66

4.2.2.3 Proses Start 67

4.2.2.4 Proses About 68

4.2.2.5 Proses Exit 68

4.2.3 Pengujian Langsung Kepada Pengguna 68 4.2.3.1 Pengujian Aspek Ketertarikan Pemain 69 4.2.3.2 Pengujian Aspek Kesesuain Perpindahan Level 69 4.2.3.3 Pengujian Aspek Implementasi Antarmuka 70 4.2.3.4 Pengujian Aspek Penggunaan Aplikasi 72

Bab 5 Kesimpulan dan Saran 75

5.1 Kesimpulan 75

5.2 Saran 76

Daftar Pustaka 77

Lampiran A: Tabel Uji Kemampuan Pemain Pada Sliding Puzzle Dengan

Level Manual 79

(11)

DAFTAR TABEL

Halaman

Tabel 2.1: Implementasi cara tradisional 12

Tabel 2.2: Contoh Lookup Table FSM 14

Tabel 2.3 Contoh Tabel Transisi 15

Tabel 2.4 Simbol-simbol FlowChart 19

Tabel 3.1 Tabel Waktu Penyelesain Level 28

Tabel 3.2 Persentase Waktu Penyelesaian Level 29 Tabel 3.3 Tabel Transisi FSM untuk Automatic Leveling Pada Sliding Puzzle 32 Tabel 3.4 Proses dan Activity Diagram Start 43 Tabel 3.5 Proses dan Activity Diagram Highscore 45 Tabel 3.6 Proses dan Activity Diagram About 46 Tabel 3.7 Proses dan Activity Diagram Exit 47 Tabel 3.8 Rancangan Tabel pada Database Sliding Puzzle 49 Tabel 4.1 Implementasi FSM pada Baris Program 61 Tabel 4.2 Hasil Pengujian Proses Lihat Pembuka 66 Tabel 4.3 Hasil Pengujian Proses Lihat Info Tombol 66

Tabel 4.4 Hasil Pengujian Proses Start 67

Tabel 4.5 Hasil Pengujian Proses About 68

Tabel 4.6 Hasil Pengujian Proses Exit 68

Tabel 4.7 Hasil Kuisioner Pengujian Aspek Implementasi Antarmuka 70 Tabel 4.8 Hasil Kuisioner Pengujian Aspek Penggunaan Aplikasi 72

(12)

DAFTAR GAMBAR

Halaman

Gambar 2.1 Contoh diagram state sederhana 7

Gambar 2.2 Moore State Machine 8

Gambar 2.3 Mearly State Machine 9

Gambar 2.4 FSM mesin minuman dalam kaleng menggunakan koin 12

Gambar 2.5 Contoh FSD 15

Gambar 2.6 Contoh OOFSM untuk mesin minuman dalam kaleng 17 Gambar 2.7 Contoh OOPFSM Menggunakan State Driven Transition 16 Gambar 3.1 Finite State Diagram untuk Automatic Leveling pada Sliding 31 Gambar 3.2 Flowchart Fungsi Setlevelslidingpuzzle(). 34 Gambar 3.3 Flowchart Fungsi StartSlidingPuzzle() 35 Gambar 3.4 Flowchart Fungsi TimerSlidingPuzzle() 36 Gambar 3.5 Flowchart Fungsi MakePuzzlePieces() 37 Gambar 3.6 Flowchart Fungsi ShufflePuzzlePieces() 38 Gambar 3.7 Flowchart Fungsi CekPuzzleComplete() 39 Gambar 3.8 Flowchart Aplikasi Sliding Puzzle Game 40 Gambar 3.9 Use Case Diagram Aplikasi Sliding Puzzle Game 41 Gambar 3.10 Activity Diagram Aplikasi Sliding Puzzle Game 42

Gambar 3.11 Activity Diagram Start 44

Gambar 3.12 Activity Diagram Highscore 45

Gambar 3.13 Activity Diagram About 46

Gambar 3.14 Activity Diagram Exit 48

Gambar 3.15Desain Antarmuka Layar Pembuka 50

Gambar 3.16 Desain Antarmuka Layar Menu Utama 50 Gambar 3.17 Desain Antamuka Layar Highscore 51

Gambar 3.18 Desain Antarmuka Layar About 51

Gambar 3.19 Desain Antarmuka Layar Isian Data Pemain 52

Gambar 3.20 Message Dialog 53

Gambar 3.21 Desain Antarmuka Layar Permainan 54 Gambar 3.22 Desain Antarmuka Layar Konfirmasi 54

Gambar 4.1 Layar Pembuka 56

Gambar 4.2 Menu Utama 57

Gambar 4.3 Layar Highscore 57

Gambar 4.4 Layar About 58

Gambar 4.5 Layar Isian Data Pemain 58

Gambar 4.6 Message Dialog 59

Gambar 4.7 Layar Permainan 59

Gambar 4.8 Layar Permainan Saat Pause 60

Gambar 4.9 Layar Konfirmasi 60

Gambar 4.10 History permainan Sliding Puzzle 63 Gambar 4.11 State Machine Diagram untuk History Permainan Pemain 1 63 Gambar 4.12 State Machine Diagram untuk History Permainan Pemain 2 64 Gambar 4.13 State Machine Diagram untuk History Permainan Pemain 3 64

(13)

Gambar 4.14 State Machine Diagram untuk History Permainan Pemain 4 65 Gambar 4.15 Diagram Hasil Pengujian Aspek Ketertarikan Pemain 69 Gambar 4.16 Diagram Hasil Pengujian Aspek Kesesuaian Perpindahan Level 70 Gambar 4.17 Diagram Hasil Evaluasi Aspek Implementasi Antarmuka 71 Gambar 4.18 Diagram Hasil Pengujian Aspek Implementasi Antarmuka Secara

Keseluruhan 72

Gambar 4.19 Diagram Hasil Pengujian Aspek Penggunaan Aplikasi 73 Gambar 4.20 Diagram Hasil Pengujian Aspek Penggunaan Aplikasi Secara

Referensi

Dokumen terkait