Behaviour NPC Game Historical War 3D Using Finite State Machine

BEHAVIOUR NPC GAME HISTORICAL WAR 3D USING FINITE
STATE MACHINE

SKRIPSI

ANDEAN ARIPPA
101402010

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

Universitas Sumatera Utara

BEHAVIOUR NPC GAME HISTORICAL WAR 3D USING FINITE STATE
MACHINE

SKRIPSI


Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah
Sarjana Teknologi Informasi

ANDEAN ARIPPA
101402010

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

Universitas Sumatera Utara

ii

PERSETUJUAN

Judul


: BEHAVIOUR NPC GAME HISTORICAL WAR 3D
USING FINITE STATE MACHINE

Kategori

: SKRIPSI

Nama

: ANDEAN ARIPPA

Nomor Induk Mahasiswa

: 101402010

Program Studi

: SARJANA (S1) TEKNOLOGI INFORMASI

Departemen


: TEKNOLOGI INFORMASI

Fakultas

: ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

Komisi Pembimbing

:

Pembimbing 2

Pembimbing 1

Romi Fadillah Rahmat, B.Comp.Sc.,M.Sc. Muhammad Fadly Syahputra, B.Sc., M.Sc.IT
NIP. 19860303201012 1 004

NIP. 198301292009121003


Diketahui/Disetujui Oleh
Program Studi Teknologi Informasi
Ketua,

Muhammad Anggia Muchtar, ST.,MM.IT
NIP. 198001102008011010

ii
Universitas Sumatera Utara

iii

PERNYATAAN

BEHAVIOUR NPC GAME HISTORICAL WAR 3D
USING 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, Juli 2016

ANDEAN ARIPPA
101402010

Universitas Sumatera Utara

iv

UCAPAN TERIMA KASIH

Puji dan syukur penulis ucapkan kepada Allah SWT dengan segala rahmat dan
karuniaNya penulisan tugas akhir ini berhasil diselesaikan dalam waktu yang telah
ditetapkan. Selama penyelesaian tugas akhir ini, banyak bantuan dan kerja sama serta
doa dan dukungan dari berbagai pihak, oleh karena itu penulis sampaikan ucapan
terima kasih sedalam-dalamnya dan penghargaan kepada:
1. Kedua orang tua dan sanak saudara penulis yang telah memberikan dukungan
dan motivasi baik materil dan spiritual selama penulis mengikuti

pendidikan hingga selesainya tugas akhir ini.
2. Bapak M. Fadly Syahputra, B.Sc.,M.Sc.IT, selaku pembimbing 1 sekaligus
Sekretaris Program Studi Teknologi Informasi dan Bapak Romi Fadillah
Rahmat, B.Comp.Sc.,M.Sc. selaku pembimbing 2 yang telah banyak
meluangkan waktu dan pikiran beliau, memotivasi, memberikan arahan,
kritik dan saran kepada penulis.
3. Bapak Dan Ibu Dosen Penguji yang telah memberikan kritik dan saran kepada
penulis.
4. Semua dosen, staff dan pegawai di Jurusan Teknologi Informasi serta Fakultas
Ilmu Komputer dan Teknologi Informasi yang tidak dapat saya sebutkan
satu-persatu.
5. Rekan seperjuangan dalam penelitian ini, M.Kurniawan Widhianto, Ovy
Rizky, dan Joko Almady, serta rekan-rekan mahasiswa yang tidak dapat
saya sebutkan satu-persatu, khususnya angkatan 2010 Program Studi
Teknologi Informasi USU yang telah memberikan dukungan dan semangat
untuk saya.

Semoga segala kebaikan dan bantuannya dibalas oleh Allah SWT dan semoga
tugas akhir ini dapat bermanfaat bagi semua pihak yang memerlukannya.


Universitas Sumatera Utara

v

ABSTRAK

Sumatera Utara memiliki banyak cerita sejarah tentang perjuangan. Misalnya tentang
agresi militer belanda di Indonesia setelah merdeka. Banyak perlawanan-perlawanan yang
dilakukan tiap daerah di sumatera utara untuk mempertahankan kemerdekaannya.
Aplikasi ini dibuat untuk menampilkan game dalam bentuk 3D yang digunakan sebagai
sarana hiburan dan edukasi. Game ini bergenre First-Person Shooting yang mana pemain
mencari musuh dan membunuh dengan cara menembaknya. Perancangan aplikasi game
ini berdasarkan cerita rakyat sumatera utara tentang memperebutkan stabat dari tangan
belanda. Game Engine yang digunakan adalah Unity 5. Unity dapat digunakan untuk
menghasilkan game dalam bentuk 3D untuk merealisasikan dunia nyata dalam bentuk
virtual. Perancangan game ini adalah hasil dari analisis, desain , dan implementasi dari
metode Finite State Machine yang digunakan untuk behavior NPC. Hasil dari
perancangan game ini adalah Game dalam bentuk 3D berdasarkan cerita sejarah dan
untuk Npcnya menggunakan metode Finite State Machine.
Kata kunci: Sumatera Utara, Unity, First-Person Shooter, Finite State Machine.


Universitas Sumatera Utara

vi

BEHAVIOUR NPC GAME HISTORICAL WAR 3D USING FINITE
STATE MACHINE

ABSTRACT

North Sumatra has a lot of stories about the history of the struggle. For instance on the
Dutch military aggression in Indonesia after independence. Many insurgencies do each
region in northern Sumatra to maintain its independence. This application was created to
show the game in the form of 3D for entertainment and education. This game genre of
First-Person Shooter in which players seek to kill the enemy and shot her way. This game
application design based on the folklore of North Sumatra on fighting Stabat from Dutch
hands. Game Engine used is Unity 5. Unity can be used to produce the game in 3D to
realize the real world in virtual form. The design of this game is the result of the analysis,
design, and implementation of methods Finite State Machine is used for NPC behavior.
Results from the design of this game is a game in 3D based on the story of history and to

Npc using Finite State Machine.
Keywords: North Sumatra, Unity, First-Person Shooter, Finite State Machine.

Universitas Sumatera Utara

vii

DAFTAR ISI
ABSTRAK

v

ABSTRACT

vi

DAFTAR ISI

vii


DAFTAR TABEL

x

DAFTAR GAMBAR

xi

BAB 1 PENDAHULUAN
1.1

Latar Belakang

1

1.2

Rumusan Masalah

3


1.3

Batasan Masalah

3

1.4

Tujuan Penelitian

4

1.5

Manfaat Penelitian

4

1.6

Metode Penelitian

4

1.7

Sistematika Penulisan

5

BAB 2 LANDASAN TEORI
2.1

Sejarah Singkat Perang Merebut Stabat

7

2.2

Teori 2D dan 3D

9

2.2.1

Prinsip Vektor

9

2.2.2

Defenisi Ruang 2D dan 3D

12

2.2.3

Translasi, Rotasi dan Skala

13

2.3

Prinsip Desain atau Aturan pada game First-Person Shooter

15

2.4

Teori Finite State Machine

16

2.4.1

Perencanaan State dan Transisi

17

2.4.2

Menerapkan Finite State Machine

17

2.5

Pengertian NPC

28

Universitas Sumatera Utara

viii

2.6

Penelitian Terdahulu

29

BAB 3 ANALISIS DAN PERANCANGAN
3.1

Arsitektur Umum

30

3.2

Pengumpulan Data

31

3.2.1

31

3.3

Foto-Foto Masa Lalu

Modelling

34

3.3.1

Pemodelan NPC

34

3.3.2

Pemodelan Environment

35

3.3.2.1 Membangun Landscape

36

3.3.2.2 Pengaturan Cahaya

36

3.3.2.3 Collision Detection

38

3.3.2.4 Penggunaan Player Controller

38

3.3.2.5 Camera

39

3.3.2.6 Terrain Editor

39

3.3.2.7 Skybox

41

3.3.2.8 Clouds

42

3.4 Game Logic

3.5.

43

3.4.1

Alur Dasar Permainan

43

3.4.2

Implementasi Finite State Machine

43

Antarmuka Pengguna (User Interface)

44

3.5.1

46

Tampilan Menu Utama

3.5.2 Tampilan Loading Screen

46

BAB 4 IMPLEMENTASI DAN PENGUJIAN
4.1

Konfigurasi Sistem

48

4.1.1

Konfigurasi Perangkat Keras

48

4.1.2

Konfigurasi Perangkat Lunak yang digunakan

48

Universitas Sumatera Utara

ix

4.2

4.1.3

File Asset

49

4.1.4

Eksekusi Aplikasi

50

Pengujian Sistem

54

4.2.1

Uji Metode

54

4.2.2

Uji Antarmuka

55

4.2.3

Uji Sistem

57

BAB 5 KESIMPULAN

5.1

Kesimpulan

60

5.2

Saran

61

DAFTAR PUSTAKA

62

Universitas Sumatera Utara

x

DAFTAR TABEL

Halaman
Tabel 4.1 Konfigurasi perangkat keras yang digunakan

49

Tabel 4.2. Konfigurasi perangkat lunak yang digunakan

49

Tabel 4.3 Kategori Pemberian Nilai

56

Tabel 4.4 Uji Antarmuka Aplikasi

56

Universitas Sumatera Utara

xi

DAFTAR GAMBAR
Halaman
Gambar 2.1

Peta imajinatif menggambarkan penggunaan vektor

10

Gambar 2.2

Koordinat di Edit Scene pada Unity

11

Gambar 2.3

Memahami Ruang 2D

13

Gambar 2.4

Menskalakan Objek

14

Gambar 2.5.

Siklus Mekanisme Game

15

Gambar 2.6

Menggambarkan Otak dari Semut

18

Gambar 2.7

FSM Menggambarkan Otak dari Semut. Perhatikan kurangnya
Transisi antara Run away dan Go home

18

Gambar 2.8

FSM dari Otak Semut Dengan Berfokus Pada Kode

20

Gambar 2.9

FSM Semut Diperbaharui Dengan Transisi Baru

24

Gambar 3.1

Arsitektur Umum

30

Gambar 3.2

Tampilan Laman Situs KITLV

32

Gambar 3.3

Tampak Depan Stasiun Kereta Api Tanjung Pura

32

Gambar 3.4

Tampak Belakang Stasiun Kereta Api Tanjung Pura

33

Gambar 3.5

Jembatan Menuju Stabat

33

Gambar 3.6

Peta Jalur Kereta Api Tanjung Pura – Stabat

34

Gambar 3.7

Tampilan Adobe FUSE

35

Gambar 3.8

Lingkungan Virtual Stasiun Kereta api

37

Gambar 3.9

Intensitas Cahaya yang Terlalu Tinggi atau Terlalu
Rendah Akan Merusak Realitas Pada Dunia Virtual

37

Gambar 3.10 Cara Kerja Collision Detection

38

Gambar 3.11 Kamera Perspective di Unity3D

40

Gambar 3.12 Terrain Tools pada Inspector

41

Gambar 3.13 Enam Texture Digunakan Untuk Membuat Sebuah Skybox

42

Gambar 3.14 Flowchart Sistem Aplikasi Game

45

Gambar 3.15 Desain Tampilan Antarmuka Pengguna Menu Utama

46

Universitas Sumatera Utara

xii

Gambar 3.16 Desain Tampilan Antarmuka Pengguna Loading Screen

47

Gambar 4.1

Berkas File Pada Folder Project Unity

50

Gambar 4.2

Tampilan Awal Game

50

Gambar 4.3

Tampilan Loading Screen

51

Gambar 4.4

Tampilan In-Game Pertempuran Stabat

51

Gambar 4.5

Pause Pada Saat inGame

52

Gambar 4.6

Tampilan Player Kehabisan Health Point

53

Gambar 4.7

NPC Berpatroli

54

Gambar 4.8

NPC kembali Berpatroli

55

Gambar 4.9

Frame per Second game

58

Gambar 4.10 Profiler Window Unity

59

Universitas Sumatera Utara