• Tidak ada hasil yang ditemukan

IMPLEMENTASI NEUROEVOLUTION OF AUGMENTING TOPOLOGIES UNTUK SELF-DRIVING KART PADA UNITY KARTING MICROGAME SKRIPSI

N/A
N/A
Protected

Academic year: 2021

Membagikan "IMPLEMENTASI NEUROEVOLUTION OF AUGMENTING TOPOLOGIES UNTUK SELF-DRIVING KART PADA UNITY KARTING MICROGAME SKRIPSI"

Copied!
16
0
0

Teks penuh

(1)

IMPLEMENTASI NEUROEVOLUTION OF AUGMENTING

TOPOLOGIES UNTUK SELF-DRIVING KART PADA UNITY

KARTING MICROGAME

SKRIPSI

Diajukan sebagai salah satu syarat untuk memperoleh gelar Sarjana Komputer (S.Kom.)

Ezra Abednego Hayvito 00000012949

PROGRAM STUDI INFORMATIKA FAKULTAS TEKNIK DAN INFORMATIKA UNIVERSITAS MULTIMEDIA NUSANTARA

TANGERANG 2020

(2)

IMPLEMENTASI NEUROEVOLUTION OF AUGMENTING

TOPOLOGIES UNTUK SELF-DRIVING KART PADA UNITY

KARTING MICROGAME

SKRIPSI

Diajukan sebagai salah satu syarat untuk memperoleh gelar Sarjana Komputer (S.Kom.)

Ezra Abednego Hayvito 00000012949

PROGRAM STUDI INFORMATIKA FAKULTAS TEKNIK DAN INFORMATIKA UNIVERSITAS MULTIMEDIA NUSANTARA

TANGERANG 2020

(3)
(4)

iii

PERNYATAAN TIDAK MELAKUKAN PLAGIAT

Dengan ini saya:

Nama : Ezra Abednego Hayvito NIM : 0000001949

Program Studi : Informatika

Fakultas : Teknik dan Informatika

menyatakan bahwa Skripsi yang berjudul “Implementasi Neuroevolution of Augmenting Topologies untuk Self-Driving Kart pada Unity Karting Microgame ” ini adalah karya ilmiah saya sendiri, bukan plagiat dari karya ilmiah yang ditulis oleh orang lain atau lembaga lain, dan semua karya ilmiah orang lain atau lembaga lain yang dirujuk dalam Skripsi ini telah disebutkan sumber kutipannya serta dicantumkan di Daftar Pustaka.

Jika di kemudian hari terbukti ditemukan kecurangan/ penyimpangan, baik dalam pelaksanaan Skripsi maupun dalam penulisan laporan Skripsi, saya bersedia menerima konsekuensi dinyatakan TIDAK LULUS untuk mata kuliah Skripsi yang telah saya tempuh.

Tangerang, 1 Juli 2020

(5)

iv

PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS

Sebagai sivitas akademik Universitas Multimedia Nusantara, saya yang bertanda tangan di bawah ini:

Nama : Ezra Abednego Hayvito

NIM : 00000012949

Program Studi : Informatika

Fakultas : Teknik dan Informatika Jenis Karya : Skripsi

Demi pengembangan ilmu pengetahuan, menyetujui dan memberikan izin kepada Universitas Multimedia Nusantara hak Bebas Royalti Non-eksklusif (Non-exclusive Royalty-Free Right) atas karya ilmiah saya yang berjudul:

Implementasi Neuroevolution of Augmenting Topologies untuk Self-Driving Kart pada Unity Karting Microgame

beserta perangkat yang diperlukan.

Dengan Hak Bebas Royalti Non-eksklusif ini, pihak Universitas Multimedia Nusantara berhak menyimpan, mengalihmedia atau format-kan, mengelola dalam bentuk pangkalan data (database), merawat, dan mendistribusi dan menampilkan atau mempublikasikan karya ilmiah saya di internet atau media lain untuk kepentingan akademis, tanpa perlu meminta izin dari saya maupun memberikan royalti kepada saya, selama tetap mencantumkan nama saya sebagai penulis karya ilmiah tersebut.

(6)

v

Demikian pernyataan ini saya buat dengan sebenarnya untuk dipergunakan sebagaimana mestinya.

Tangerang, 1 Juli 2020

(7)

vi

HALAMAN PERSEMBAHAN

Love is large and incredibly patient. Love is gentle and consistently kind to all.

It refuses to be jealous when blessing comes to someone else.

L e d e b ag ab e achie e e ts nor inflate its own importance.

Love does not traffic in shame and disrespect, nor selfishly seek its own honor. Love is not easily irritated or quick to take offense.

Love joyfully celebrates honesty and finds no delight in what is wrong.

Love is a safe place of shelter,

for it never stops believing the best for others.

Love never takes failure as defeat, for it never gives up.

(8)

vii

KATA PENGANTAR

Puji syukur kepada Tuhan Yang Maha Esa atas kasih-Nya yang kekal, penyertaan-Nya yang sempurna, dan hikmat-Nya yang tidak terbatas, sehingga penulis dapat menyelesaikan Skripsi dengan sangat baik.

Penulis juga mengucapkan terima kasih kepada:

1. Dr. Ninok Leksono, Rektor Universitas Multimedia Nusantara, yang memberi inspirasi bagi penulis untuk berprestasi,

2. Dr. Eng. Niki Prastomo, S.T., M.Sc., Dekan Fakultas Teknik dan Informatika Universitas Multimedia Nusantara,

3. Ibu Nunik Afriliana, S.Kom., M.M.S.I., Ketua Program Studi Informatika Universitas Multimedia Nusantara, yang menerima penulis dengan baik untuk berkonsultasi,

4. Ibu Alethea Suryadibrata, S.Kom., M.Eng. yang membimbing pembuatan Skripsi dan mengajar penulis tata cara menulis karya ilmiah dengan benar, 5. Bapak Julio Christian Young, S.Kom., M.Kom., yang memberikan saran dan

masukan pada awal pengerjaan karya ilmiah.

6. Orang tua penulis atas segala dukungan dan bantuan yang diberikan dari awal pembelajaran sampai dengan penulis mengerjakan Skripsi,

7. Sahabat-sahabat penulis yang selalu ada untuk memberikan dukungan dan doa, 8. Rekan-rekan kerja penulis yang selalu memberikan inspirasi, motivasi, dan

pengalaman berharga.

Semoga Skripsi ini dapat bermanfaat, baik sebagai sumber informasi maupun sumber inspirasi, bagi para pembaca.

(9)

viii Tangerang, 1 Juli 2020

(10)

ix

IMPLEMENTASI NEUROEVOLUTION OF AUGMENTING

TOPOLOGIES UNTUK SELF-DRIVING KART PADA UNITY

KARTING MICROGAME

ABSTRAK

Perkembangan kecerdasan buatan dan perkembangan game saling terkait. Game dan simulasi dapat dimanfaatkan untuk memahami dan memvisualisasikan bagaimana perkembangan kecerdasan sebuah agen dalam pembelajaran mesin. Unity ML-Agents Toolkit sebagai proyek open-source untuk melatih kecerdasan agen sudah diimplementasikan pada berbagai game yang dikeluarkan Unity, salah satunya adalah Unity Karting Microgame. Unity Karting Microgame mengambil konsep simulasi racing game dimana kart dikendalikan untuk menyelesaikan lintasan. Implementasi Unity ML-Agents Toolkit pada Unity Karting Microgame menghasilkan self-driving kart, agen cerdas dalam bentuk kart yang dapat mengemudikan dirinya sendiri tanpa bantuan manusia untuk dapat menyelesaikan lintasan, sehingga Unity Karting Microgame termasuk dalam robot path planning problem. Algoritma genetik, khususnya neuroevolution, terbukti berguna untuk menyelesaikan robot path planning problem. NeuroEvolution of Augmenting Topologies (NEAT) adalah salah satu metode neuroevolution yang memungkinkan pencarian topologi dengan kompleksitas (koneksi) minimal dan terbukti efektif. Dalam implementasi Unity ML-Agents Toolkit pada Unity Karting Microgame, NEAT belum diterapkan pada sebagai metode pengembangan kecerdasan untuk self-driving kart. Oleh karena itu, simulasi dibuat dengan mengimplementasi NEAT untuk self-driving kart pada Unity Karting Microgame. Adapun bahasa pemrograman yang digunakan adalah C# dengan platform Unity Engine. Uji coba dilakukan untuk mengetahui keunikan evolusi topologi jaringan saraf tiruan pada NEAT melalui hubungan kompleksitas dan fitness. Disimpulkan bahwa kompleksitas bertambah seiring berjalan waktu dan mempengaruhi tingkat nilai fitness. Individu terbaik didapatkan dengan 5 input node, 2 output node, 2 hidden node, dan 12 kompleksitas. Sebagai solusi optimal, individu terbaik juga dapat menyelesaikan lintasan yang berbeda dengan bebas tabrakan.

Kata Kunci: NEAT, neuroevolution, self-driving, simulasi, Unity Karting Microgame

(11)

x

NEUROEVOLUTION OF AUGMENTING TOPOLOGIES

IMPLEMENTATION FOR SELF-DRIVING KART ON UNITY

KARTING MICROGAME

ABSTRACT

The development of artificial intelligence and gaming industry are interrelated. Games and simulations are often used to understand and visualize how an agent develops its intelligence in machine learning. Unity ML-Agents Toolkit as an open-source project to train intelligent agents has been implemented in various games released by Unity, one of which is Unity Karting Microgame. Unity Karting Microgame takes the concept of a racing game simulation where karts are controlled to complete a track. The implementation of the Unity ML-Agents Toolkit on Unity Karting Microgame produces self-driving karts, intelligent agents in the form of karts that can drive themselves without human assistance to complete a track, so that Unity Karting Microgame is seen as a robot path planning problem. Genetic algorithms, especially neuroevolution, have proven to be useful for solving robot path planning problems. Neuro-Evolution of Augmenting Topologies (NEAT) is one of the neuroevolution methods that allows the search of topologies with minimal complexity (connections) and proven effective. In the implementation of the Unity ML-Agents Toolkit on Unity Karting Microgame, NEAT has not been applied as the intelligence development method for self-driving karts. Therefore, simulation was made by implementing NEAT for self-driving karts on Unity Karting Microgame. The programming language used is C # with the Unity Engine platform. Testing was conducted to see the uniqueness of augmenting topologies in NEAT through the relation of complexity and fitness. It was concluded that complexity increases as simulation runs and affects the level of fitness value. The best individual is obtained with 5 input nodes, 2 output nodes, 2 hidden nodes, and 12 complexities. As an optimal solution, the best individual also succeeded to complete a collision free path on a different track.

Keywords: NEAT, neuroevolution, self-driving, simulation, Unity Karting Microgame

(12)

xi DAFTAR ISI

HALAMAN JUDUL ... i

LEMBAR PENGESAHAN ... ii

PERNYATAAN TIDAK MELAKUKAN PLAGIAT ... iii

PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH... iv

HALAMAN PERSEMBAHAN ... vi

KATA PENGANTAR ... vii

ABSTRAK ... ix

ABSTRACT ... x

DAFTAR ISI ... xi

DAFTAR GAMBAR ... xiii

DAFTAR TABEL ... xiv

DAFTAR RUMUS ... xv

BAB I PENDAHULUAN ... 1

1.1 Latar Belakang Masalah ... 1

1.2 Rumusan Masalah ... 6

1.3 Batasan Masalah ... 6

1.4 Tujuan Penelitian ... 7

1.5 Manfaat Penelitian ... 8

1.6 Sistematika Penulisan ... 8

BAB II LANDASAN TEORI ... 10

2.1 Game dan Simulasi ... 10

2.2 Unity Karting Microgame dan Self-Driving Kart ... 11

2.3 Algoritma Genetik ... 15

2.4 Jaringan Saraf Tiruan ... 17

2.5 NeuroEvolution of Augmenting Topologies (NEAT) ... 20

BAB III METODOLOGI PENELITIAN DAN PERANCANGAN SISTEM .... 26

3.1 Metodologi Penelitian ... 26

3.2 Perancangan Sistem ... 27

3.2.1 Use Case Diagram ... 27

3.2.2 Flowchart ... 29

3.2.3 Rancangan Antarmuka Pengguna ... 35

3.2.4 Rancangan Simulasi ... 36

BAB IV IMPLEMENTASI DAN ANALISIS ... 39

4.1 Modifikasi Karting Microgame Template ... 39

4.1.1 Modifikasi Tampilan Antarmuka Pengguna ... 40

4.1.2 Modifikasi Lintasan ... 40

4.1.3 Modifikasi Kart ... 42

4.2 Implementasi NEAT ... 42

4.2.1 Implementasi Set Configuration ... 43

4.2.2 Implementasi Antarmuka Pengguna ... 43

4.2.3 Implementasi Start NEAT ... 44

4.2.4 Implementasi Stop NEAT ... 48

(13)

xii

4.2.5 Implementasi Kart System ... 49

4.3 Uji Coba dan Evaluasi ... 52

BAB V SIMPULAN DAN SARAN ... 59

5.1 Simpulan ... 59

5.2 Saran ... 60

DAFTAR PUSTAKA ... 61

(14)

xiii

DAFTAR GAMBAR

Gambar 2.1 Ilustrasi Unity Karting Microgame ... 12

Gambar 2.2 Kontrol pada Unity Karting Microgame ... 13

Gambar 2.3 Simulasi Self-Driving Kart dengan Unity ML-Agents Toolkit ... 13

Gambar 2.4 Contoh Self-Driving Kart dengan 5 Input Sensor ... 14

Gambar 2.5 Siklus Algoritma Genetika oleh David Goldberg ... 16

Gambar 2.6 Jaringan Saraf Biologis ... 18

Gambar 2.7 Topologi Umum Jaringan Saraf Tiruan ... 18

Gambar 2.8 Contoh Pemetaan dari Genotype menjadi Phenotype ... 22

Gambar 2.9 Contoh Mutasi Topologi pada NEAT ... 23

Gambar 2.10 Contoh Crossover dari Dua Topologi yang berbeda pada NEAT ... 24

Gambar 3.1 Use Case Diagram Implementasi NEAT pada Karting Microgame . 28 Gambar 3.2 Flowchart Umum Implementasi NEAT pada Karting Microgame ... 29

Gambar 3.3 Flowchart Set Configuration ... 30

Gambar 3.4 Flowchart Start NEAT ... 31

Gambar 3.5 Flowchart Evaluasi Fitness... 32

Gambar 3.6 Flowchart Stop NEAT ... 33

Gambar 3.7 Flowchart Run Champion ... 34

Gambar 3.8 Rancangan Antarmuka Pengguna ... 35

Gambar 3.9 Rancangan Topologi pada Self-Driving Kart ... 37

Gambar 4.1 Tampilan Halaman Karting Microgame pada Unity Learn ... 39

Gambar 4.2 Tampilan Antarmuka Pengguna ... 40

Gambar 4.3 Unity Karting Microgame Training Track (Lintasan 1) ... 41

Gambar 4.4 Modifikasi Lintasan Karting Microgame Template (Lintasan 2) ... 41

Gambar 4.5 Modifikasi Kart dengan Input Sensor ... 42

Gambar 4.6 Konfigurasi Populasi dan Spesies dalam Unity ... 43

Gambar 4.7 Potongan kode UIController (Start) ... 44

Gambar 4.8 Potongan kode UIController (Update) ... 44

Gambar 4.9 Potongan kode Inisiasi pada Kart Experiment ... 45

Gambar 4.10 Potongan kode Inisiasi berdasarkan Nama File ... 45

Gambar 4.11 Potongan kode pada Unity Parallel List Evaluator ... 46

Gambar 4.12 Potongan kode Update Champion Collection ... 47

Gambar 4.13 Potongan kode Load Population dan Save Population... 48

Gambar 4.14 Potongan kode pada Abstract Generational Algorithm... 48

Gambar 4.15 Potongan kode Run Champion Collection ... 49

Gambar 4.16 Potongan kode Kart Controller ... 50

Gambar 4.17 Potongan kode NEAT Input ... 51

Gambar 4.18 Potongan kode NEAT Output ... 51

Gambar 4.19 Potongan kode Update Checkpoint ... 52

Gambar 4.20 Grafik Perbandingan Kompleksitas dan Fitness (P=75; S=15) ... 55

Gambar 4.21 Grafik Perbandingan Kompleksitas dan Fitness (P=50; S=10) ... 55

Gambar 4.22 Grafik Perbandingan Kompleksitas dan Fitness (P=25; S=5) ... 56

Gambar 4.23 Topologi Jaringan Saraf Tiruan Individu Terbaik ... 57

(15)

xiv

DAFTAR TABEL

Tabel 4.1 Jumlah Populasi dan Spesies untuk Uji Coba ... 53

Tabel 4.2 Perbandingan Rata-rata Kompleksitas pada Uji Coba ... 54

Tabel 4.3 Perbandingan Rata-rata Fitness pada Uji Coba... 54

Tabel 4.4 Perbandingan Kompleksitas dan Fitness Akhir ... 56

(16)

xv

DAFTAR RUMUS

Rumus 2.1 Persamaan Fitness ... 15 Rumus 2.2 Persamaan Kompleksitas ... 19

Referensi

Dokumen terkait

menyatakan dengan sesungguhnya bahwa karya ilmiah yang berjudul : “ Implementasi Metode Resitasi Untuk Meningkatkan Aktivitas Dan Hasil Belajar Siswa (Studi Kasus

Dengan ini menyatakan bahwa skripsi yang berjudul “Kontribusi Self-Efficacy Dan Goal Setting Terhadap Kinerja Karyawan PT.Indosat Mega Media Jakarta” adalah benar merupakan karya

Dengan ini menyatakan bahwa skripsi yang berjudul “ Pengaruh Kematangan Emosi terhadap Kecenderungan Perilaku Self Injury Pada Remaja ” adalah benar merupakan

Menyatakan bahwa karya ilmiah/skripsi/tugas akhir saya yang berjudul ”IMPLEMENTASI RMI (REMOTE METHOD INVOCATION) PADA APLIKASI KUISIONER FLEKSIBEL BERBASIS DESKTOP DENGAN

menyatakan bahwa Skripsi yang berjudul “IMPLEMENTASI ALGORITMA CONVOLUTIONAL NEURAL NETWORK UNTUK KLASIFIKASI EKSPRESI WAJAH” ini adalah karya ilmiah saya sendiri,

menyatakan bahwa Skripsi yang berjudul “Implementasi Metode Textrank Dan Maximum Marginal Relevance Pada Peringkas Berita Difabel” ini adalah karya ilmiah saya sendiri, bukan

Menyatakan dengan sesungguhnya bahwa dalam skripsi yang berjudul “Teknik Self Management untuk Meningkatkan Kecerdasan Emosional Siswa di Panti Asuhan Yatim Muhammadiyah Grogol

Dengan ini menyatakan bahwa skripsi yang berjudul Implementasi Jurnalisme Advokasi Dalam Film Dokumenter Sexy Killers Produksi Watchdoc adalah benar merupakan karya saya