• Tidak ada hasil yang ditemukan

Perbandingan Algoritma Particle Swarm Optimization (PSO) dan Differential Evolution Algorithm (DEA) Untuk Perilaku Non Player Character Secara Berkelompok

N/A
N/A
Protected

Academic year: 2017

Membagikan "Perbandingan Algoritma Particle Swarm Optimization (PSO) dan Differential Evolution Algorithm (DEA) Untuk Perilaku Non Player Character Secara Berkelompok"

Copied!
33
0
0

Teks penuh

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

BIODATA PENULIS

DATA PRIBADI

Nama : Iffan Firmansyah Jenis Kelamin : Laki-laki

Tempat & Tanggal Lahir : Bandung, 06 Desember 1990 Kewarganegaraan : Indonesia

Agama : Islam

Status : Belum Menikah Golongan Darah : O

Alamat : Jl. Melur 1 No.40 Rancaekek Kencana

Telepon : 085861117020

Email : pankdkop@gmail.com

PENDIDIKAN FORMAL

(1996 – 2002) : SD Negeri 5 Cimahi (2002 – 2005) : SMP Negeri 23 Bandung (2005 – 2008) : SMK Taruna Mandiri Cimahi

(2009 – 2016) : Program Strata 1 (S1) Teknik Informatika Universitas Komputer Indonesia

Demikian riwayat hidup saya yang dibuat dengan sebenar-benarnya dalam keadaan sadar dan tanpa paksaan.

Bandung, 1 September 2016

(5)

PERBANDINGAN ALGORITMA PARTICLE SWARM

OPTIMIZATION (PSO) DAN DIFFERENTIAL EVOLUTION

ALGORITHM (DEA) UNTUK PERILAKU NON PLAYER

CHARACTER SECARA BERKELOMPOK

SKRIPSI

Diajukan untuk Menempuh Ujian Akhir Sarjana

IFFAN FIRMANSYAH

10109112

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS TEKNIK DAN ILMU KOMPUTER

(6)

iii

KATA PENGANTAR

Assalamu’alaikum Wr. Wb.

Alhamdulillahi Rabbil„alamin,segala puji dan syukur penulis panjatkan kehadirat sang Maha Pintar Allah SWT, karena dengan izin-Nya dan setitik ilmu pengetahuan yang dipinjamkan kepada mahluk-Nya laporan skripsi ini dapat diselesaikan tepat pada waktunya. Shalawat serta salam semoga senantiasa tercurahkan kepada baginda Nabi Besar Muhammad SAW beserta seluruh keluarga dan sahabatnya yang selalu membantu perjuangan beliau dalam menegakkan Dinullah di muka bumi ini.

Laporan skripsi dengan judul “perbandingan algoritma particle swarm optimization (pso) dan differential evoluitonal algorithm (dea) untuk perilaku non player character secara berkelompok” ini disusun guna memenuhi salah satu syarat dalam menyelesaikan studi jenjang strata satu (S1) di Program Studi Teknik Informatika Universitas Komputer Indonesia. Selama menulis skripsi ini, penulis telah mendapatkan banyak sekali bimbingan dan bantuan dari berbagai pihak yang telah dengan segenap hati dan keikhlasan yang penuh membantu dan membimbing penulis dalam menyelesaikan laporan ini. Dengan kerendahan hati penulis ucapkan terima kasih kepada :

1. Kedua Orang Tua, yang selalu berdoa serta memberikan kasih sayang, dukungan, dan bimbingan untuk anaknya.

2. Keluarga Besar yang selalu memberikan doa, nasehat-nasehat, semangat, dan motivasi yang begitu besar khususnya adik adik saya.

3. Bapak Galih Hermawan, S.Kom, M.T. selaku dosen pembimbing dan Ibu Ednawati Rainarli, S.Si., M.Si. selaku reviewer yang selalu mengarahkan, membimbing dan memberikan saran-sarannya selama melakukan penelitian tugas akhir.

(7)

iv

5. Teman-teman seperjuangan IF-3 2009 yang selalu ceria bersama-sama dalam menuntut ilmu di kampus yang penuh dengan suka dan duka.

6. Semua pihak yang turut memberikan dukungan dalam penulisan skripsi ini yang tidak bisa disebutkan satu persatu.

Penulis sadar bahwa dalam penulisan skripsi ini masih terdapat banyak kekurangan. Oleh karena itu penulis sangat mengharapkan segala bentuk saran dan kritik dari semua pihak demi penyempurnaan skripsi ini. Akhir kata, semoga Allah SWT senantiasa melimpahkan karunia-Nya dan membalas segala amal budi serta kebaikan pihak-pihak yang telah membantu penulis dalam penyusunan laporan ini dan semoga tulisan ini dapat memberikan manfaat bagi pihak-pihak yang membutuhkan.

Bandung, 1 September 2016

(8)

v

DAFTAR ISI

ABSTRAK ... i

ABSTRACT ... ii

KATA PENGANTAR ... iii

DAFTAR ISI ... v

DAFTAR GAMBAR ... viii

DAFTAR TABEL ... ix

DAFTAR SIMBOL ... x

DAFTAR LAMPIRAN ... xv

1 BAB 1 PENDAHULUAN ... 1

1.1 Latar Belakang Masalah ... 1

1.2 Identifikasi Masalah ... 2

1.3 Maksud dan Tujuan ... 2

1.3.1 Maksud ... 2

1.3.2 Tujuan ... 2

1.4 Batasan Masalah... 3

1.5 Metodologi Penelitian ... 3

1.1 Sistematika Penulisan ... 4

2 BAB 2 TINJAUAN PUSTAKA ... 6

2.1 Kecerdasan Buatan / AI ... 6

2.1.1 Lingkup utama kecerdasan buatan ... 7

2.1.2 Keuntungan Kecerdasan Buatan ... 7

2.2 Algoritma particle swarm optimization (PSO) ... 8

2.2.1 Langkah-langkah Penyelesaian Dalam PSO ... 9

2.2.2 Kelebihan dan Kekurangan PSO ... 11

2.3 Differential Evolution Algorithm (DEA) ... 11

2.3.1 Langkah-langkah Penyelesaian Dalam DEA ... 12

2.3.2 Kelebihan dan Kekurangan DEA ... 13

2.4 Pemrograman Berorientasi Object (PBO) ... 17

2.4.1 Konsep Dasar PBO ... 17

(9)

vi

3 BAB 3 ANALISIS DAN PERANCANGAN ... 21

3.1 Analisis Masalah ... 21

3.2 Analisis Masukan ... 21

3.3 Analisis Algoritma ... 22

3.3.1 Algoritma PSO dan DEA Dalam Game ... 23

3.3.2 Alur Proses Penyelesaian Dalam PSO dan DEA ... 24

3.4 Analisis Kasus PSO ... 26

3.4.1 Penyelesaian PSO ... 27

3.4.2 Penyelesaian DEA ... 32

3.5 Analisis Kebutuhan Non-Fungsional ... 40

3.5.1 Analisis Kebutuhan Perangkat Lunak ... 40

3.5.2 Analisis Kebutuhan Perangkat Keras ... 41

4 BAB 4 IMPLEMENTASI DAN PENGUJIAN ... 42

4.1 Implementasi ... 42

4.1.1 Implementasi perangkat keras ... 42

4.1.2 Implementasi perangkat lunak ... 43

4.1.3 Implemntasi antarmuka ... 43

4.1.3.1 Antarmuka menu utama ... 43

4.1.3.2 Antarmuka menu simulasi PSO ... 44

4.1.3.3 Antarmuka menu simulasi DEA ... 45

4.1.3.4 Antarmuka menu hasil perbandingan PSO dan DEA ... 46

4.1.3.5 Antarmuka menu bantuan ... 47

4.2 Pengujian simulasi ... 48

4.2.1 Pengujian PSO dan DEA kondisi pertama ... 48

4.2.2 Pengujian PSO dan DEA kondisi kedua ... 52

4.2.3 Pengujian PSO dan DEA kondisi ketiga ... 55

4.2.4 Pengujian PSO dan DEA kondisi keempat ... 58

4.2.5 Pengujian PSO dan DEA kondisi kelima ... 61

4.3 Kesimpulan Pengujian ... 64

5 BAB 5 KESIMPULAN DAN SARAN ... 67

(10)

vii

(11)

68

DAFTAR PUSTAKA

[1] Kennedy & R. Eberhart. (1995), Particle Swarm Optimization, IEEE Conference on Neural Networks, pp. 1942-1948, Perth, Australia

[2] Irmaduta Fahmiari dan Budi Santosa. (2010), Aplikasi Algoritma Differential Evolution Untuk Permasalahan Kompleks Pemilihan

Portofolio. Undergraduate Thesis. Surabaya, ITS

[3] Madehan anis, Widowati dan R.Heru Tjahjana (2012), Perbandingan Algoritma Particle Swarm Optimization dan Differntial Evolutional

Algorithm Untuk Perancangan Umpan Balik Keadaan : Studi Kasus

Gerak Lateral Pesawat F-16 . Jurnal Sains dan Matematika. Vol.20, no.4,

81-88. Semarang, Undip

[4] Kusumadewi, Sri. (2003), Artificial inelligence (Teknik dan Aplikasinya) . Yogyakarta. Graha Ilmu

[5] Ir. Balza Achmad, M.Sc.E. (2006), Kecerdasan Buatan. Yogyakarta, UGM

[6] Bai, Kinghai. (2010), Analysis of Particle Swarm Optimization Algorithm. Computer and Information Science, vol.3, no.1, pp 180-184

[7] R. Storn & K.Price. (1997), Differential Evolution- A Simple and Efficient Heuristic for Global Optimization Over Continuous Spaces, Journal of

(12)

1

1 BAB 1

PENDAHULUAN

1.1 Latar Belakang Masalah

NPC atau Non Player Character adalah salah satu karakter dalam game yang tidak dikontrol oleh pemain. NPC dikontrol oleh kecerdasan buatan. Ada banyak algoritma optimasi yang dapat diterapkan untuk menentukan gerak NPC diantaranya algoritma particle swarm optimization (PSO) dan differential evolution Algorithm (DEA). Berdasarkan penelitian yang dilakukan Yoga Baskara

[8], implementasi PSO pada game action-RPG berjalan dengan baik dalam menentukan perilaku NPC (non-player character) mendekati player dan menetukan NPC yang menjadi pemimpin. Dari hasil penelitian tersebut dari 10 NPC membutuhkan 15-18 kali proses iterasi untuk dapat menentukan NPC yang menjadi pemimpin pada koordinat player yang diam.

(13)

2

Berdasarkan latar belakang tersebut, algoritma PSO dan DEA akan diimplementasikan pada simulasi perilaku NPC secara berkelompok untuk mengetahui kemungkinan algoritma DEA tetap lebih unggul dibandingkan algoritma PSO dalam mengoptimalkan waktu proses dan iterasi. Perbandingan PSO dan DEA pada simulasi action-RPG dipilih karena kedua algoritma merupakan algoritma yang dapat digunakan untuk optimasi pergerakan beberapa objek baik pada gerak lateral pesawat maupun pergerakan NPC pada game.

1.2 Identifikasi Masalah

Dengan latar belakang yang telah diuraikan diatas, adapun identifikasi masalah yang ada adalah bagaimana setiap NPC dalam suatu kelompok NPC dapat memilih NPC mana yang memiliki posisi terbaik untuk dijadikan pemimpin dan diikuti NPC lain dalam mengejar karakter player menggunakan DEA lalu membandingkan waktu proses dan iterasi untuk menuju keadaan steady state atau koordinat player antara penggunaan algoritma PSO dan DEA.

1.3 Maksud dan Tujuan

Berdasarkan permasalahan yang diteliti, maka maksud dan tujuan dari penelitian:

1.3.1 Maksud

Membandingkan antara algoritma PSO dan DEA yang lebih mengoptimalkan pergerakan NPC pada simulasi perilaku NPC secara berkelompok dengan mengoptimalkan waktu proses dan iterasi.

1.3.2 Tujuan

Mengetahui performansi dari perbandingan kedua algoritma dari segi waktu proses dan iterasi paling optimal untuk perilaku NPC dan langkah optimal menuju keadaan steady state dimana NPC dapat mencapai posisi atau koordinat player.

1.4 Batasan Masalah

(14)

3

1. Simulasi dibuat untuk membandingkan performansi waktu proses dan iterasi yang dibutuhkan NPC menuju posisi atau koordinat player.

2. Algoritma yang digunakan adalah algoritma particle swarm optimization (PSO) dan algoritma defferential evolution (DEA).

3. Terdapat 10 NPC.

4. Posisi awal tiap partikel sudah ditentukan.

5. Simulasi hanya menunjukan bagaimana kelompok NPC mendekati karakter player.

6. Aplikasi simulasi berbasis desktop.

1.5 Metodologi Penelitian

Metodologi penelitian yang digunakan dalam penulisan tugas akhir adalah metode penelitian kualitatif. Metode ini adalah salah satu jenis metode yang lebih menekankan pada aspek pemahaman secara mendalam terhadap suatu masalah daripada melihat permasalahan untuk penelitian generalisasi. Metode penelitian ini lebih suka menggunakan teknik analisis mendalam.Metodologi penelitian dalam skripsi ini meliputi metode pengumpulan data dan metode pembangunan perangkat lunak.

1. Tahap Pengumpulan Data

Metode pengumpulan data yang digunakan dalam penelitian adalah study literatur. Study literatur merupakan tahapan pengumpulan data dengan cara mengumpulkan literatur, jurnal, paper dan bacaan-bacaan yang ada kaitannya dengan judul penelitian yaitu perbandingan algoritma particle swarm optimization (PSO) dan differential evolution algorithm (DEA) untuk perilaku NPC menyerang secara berkelompok.

2. Tahap Pembangunan Perangkat Lunak

Model ini mengusulkan sebuah pendekatan kepada perkembangan aplikasi yang

sistematik yang mulai pada tingkat dan kemajuan sistem pada seluruh analisis, desain,

(15)

4

1. Analisis Kebutuhan

Tahap analisis kebutuhan ini yaitu untuk memahami sistem yang ada pada permainan action-RPG serta mendefinisikan permasalahan sistemnya dan selanjutnya untuk menentukan kebutuhan sistem secara garis besar.

2. Desain Sistem

Tahap desain sistem ini yaitu untuk memberikan gambaran umum kepada pengguna mengenai permainan action-RPG yang akan dibangun dan rancang bangun yang lengkap tentang sistem permainan action-RPG yang akan dikembangkan.

3. Penulisan Kode Program

Tahap penulisan kode program yaitu untuk merancang sistem dengan menggunakan bahasa pemrograman matlab. Tahap ini dilakukan pembuatan komponen-komponen sistem yang meliputi modul program dan antarmuka

4. Pengujian Program

Tahap pengujian program ini dilakukan untuk mendapatkan serta memastikan bahwa NPC pada simulasi action-RPG yang dibangun sesuai dengan kebutuhan yang telah dideskripsikan.

1.6 Sistematika penulisan

Sistematika penulisan tugas akhir disusun untuk memberikan gambaran umum tentang penelitian yang dijalankan. Sistematika penulisan tugas akhir ini adalah sebagai berikut :

BAB 1 PENDAHULUAN

Bab ini berisi penjelasan mengenai latar belakang masalah, identifikasi masalah, maksud dan tujuan, batasan masalah, metodologi penelitian serta sistematika penulisan.

BAB 2 LANDASAN TEORI

(16)

5

permasalahan serta tinjauan terhadap penelitian-penelitian serupa yang telah pernah dilakukan sebelumnya termasuk sintesisnya.

BAB 3 ANALISIS DAN KEBUTUHAN ALGORITMA

Menganalisis masalah dari model penelitian, menggambarkan identifikasi masalah, analisis kebutuhan data, hardware, software, brainware, diagram pembuatan sistem dan UML (Unified Modeling Language).

BAB 4 IMPLEMENTASI DAN PENGUJIAN ALGORITMA

Merupakan tahapan yang dilakukan dalam penelitian dalam menjelaskan implementasi, tampilan antarmuka, menu yang tersedia pada sistem, dan pengujian terhadap sistem.

BAB 5 KESIMPULAN DAN SARAN

(17)

6

1 BAB 2

TINJAUAN PUSTAKA

2.1 Kecerdasan Buatan

Kecerdasan Buatan adalah bagian ilmu komputer yang membuat agar mesin komputer dapat melakukan pekerjaan seperti dan sebaik yang dilakukan manusia. Pada awal diciptakannya, komputer hanya difungsikan sebagai alat hitung saja. Namun seiring dengan perkembangan jaman, maka peran komputer semakin mendominasi kehidupan manusia. Komputer tidak lagi hanya digunakan sebagai alat hitung, lebih dari itu, komputer diharapkan untuk dapat diberdayakan untuk mengerjakan segala sesuatu yang bisa dikerjakan oleh manusia.

Manusia bisa menjadi pandai dalam menyelesaikan segala permasalahan di dunia ini karena manusia mempunyai pengetahuan dan pengalaman Pengetahuan diperoleh dari belajar. Semakin banyak bekal pengetahuan yang dimiliki oleh seseorang tentu saja diharapkan akan lebih mampu dalam menyelesaikan permasalahan. Namu bekal pengetahuan saja tidak cukup, manusia juga diberi akal untuk melakukan penalaran, mengambil kesimpulan berdasarkan pengetahuan dan pengalaman yang mereka miliki. Tanpa memiliki kemampuan untuk menalar dengan baik, manusia dengan segudang pengalaman dan pengetahuan tidak akan dapat menyelesaikan masalah dengan baik. Demikian pula dengan kemampuan menalar yang sangat baik, namun tanpa bekal pengetahuan dan pengalaman yang memadai, manusia juga tidak akan bisa menyelesaikan masalah dengan baik [4].

(18)
(19)

7

2.1.1 Lingkup utama kecerdasan buatan

Lingkup utama kecerdasan buatan ada 7 hal [4] antara lain:

1. Sistem pakar. Komputer digunakan sebagai saran untuk menyimpan pengetahuan para pakar. Dengan demikian komputer akan memiliki keahlian untuk menyelesaikan masalah dengan meniru keahlian yang dimiliki para pakar

2. Pengolahan bahasa alami. Dengan pengolahan bahasa alami ini diharapkan user mampu berkomunikasi dengan komputer dengan menggunakan bahasa sehari-hari.

3. Pengenalan ucapan. Melalui pengenalan ucapan diharapkan manusia mampu berkomunikasi dengan komputer dengan menggunakan suara. 4. Robotika dan Sistem sensor.

5. Computer vision, mencoba untuk dapat mengintrepetasikan gambar atau objek-objek tampak melalui komputer.

6. Intelligent Computer aid Instruction. Komputer dapat digunakan sebagai tutor yang dapat melatih dan mengajar.

7. Game Playing

2.1.2 Keuntungan Kecerdasan Buatan

Keuntungan kecerdasan buatan ada 7 hal [5]antara lain:

1. Kecerdasan buatan lebih bersifat permanen. Kecerdasan alami akan cepat mengalami perubahan. Hal ini dimungkinkan karena sifat manusia yang pelupa. Kecerdasan buatan tidak akan berubah sepanjang sistem komputer dan program tidak mengubahnya.

(20)

8

3. Kecerdasan buatan lebih murah dibanding dengan kecerdasan alami. Menyediakan layanan komputer akan lebih mudah dan lebih murah dibanding dengan harus mendatangkan seseorang untuk mengerjakan sejumlah pekerjaan dalam jangka waktu yang sangat lama.

4. Kecerdasan buatan bersifat konsisten. Hal ini disebabkan karena kecerdasan busatan adalah bagian dari teknologi komputer. Sedangkan kecerdasan alami senantiasa berubah-ubah.

5. Kecerdasan buatan dapat didokumentasikan. Keputusan yang dibuat komputer dapat didokumentasikan dengan mudah dengan melacak setiap aktivitas dari sistem tersebut. Kecerdasan alami sangat sulit untuk direproduksi.

6. Kecerdasan buatan dapat mengerjakan pekerjaan lebih cepat dibanding dengan kecerdasan alami

7. Kecerdasan buatan dapat mengerjakan pekerjaan lebih baik dibanding dengan kecerdasan alami.

2.2 Algoritma particle swarm optimization (PSO)

Algoritma particle swarm optimization (PSO) merupakan algoritma yang dikembangkan oleh Kennedy dan R. Eberhart pada tahun 1995 yang terinspirasi dari perilaku pergerakan kawanan hewan seperti ikan (school of fish), hewan herbivora (herd), burung (flock), dan kawanan serangga seperti semut rayap dan lebah. Tiap objek hewan disederhanakan menjadi partikel. Algoritma ini menerapkan sifat masing masing individu dalam satu kelompok besar kemudian menggabungkan sifat sifat tersebut untuk menyelesaikan masalah. Algoritma PSO adalah salah satu metode dari teknik kecerdasan buatan swarm intelligence yang berlandaskan perilaku kolektif (collective beharviour) dan dapat mengatur dirinya sendiri (self-organizing). Dalam swarm intelligence algoritma particle swarm optimization ini merupakan metoda yang digunakan untuk penentuan

(21)

9

dioptimasi, selain itu parameter lain yang dimiliki oleh tiap partikel adalah posisi partikel, konstanta, kecepatan partikel, posisi terbaik partikel dan posisi global terbaik. dari beberapa parameter yang di gunakan diatas dapat membentuk update posisi dilakukan secara serempak di tiap tiap partikel. Sebelum update posisi setiap partikel terlebih dahulu melakukan update kecepatan. PSO dapat diterapkan pada berbagai kasus misalnya game, PSO digunakan untuk mengoptimasi gerak optimal NPC untuk mendapatkan tujuan yakni menentukan dari beberapa NPC yang memilik posisi terbaik sebagai pemimpin dari NPC lainnya.

2.2.1 Langkah–langkah penyelesaian Algoritma PSO

Dalam PSO untuk menyelesaikan masalah langkah langkahnya adalah sebagai berikut [1]:

1. Inisialisasi populasi partikel

Langkah ini merupakan tahap awal dimana jumlah dan koordinat partikel / posisi partikel ditentukan terlebih dahulu secara acak.

2. Melakukan perhitungan nilai fitness dari setiap partikel

Untuk memperoleh nilai fitness dibutuhkan nilai posisi setiap partikel tersebut untuk dievaluasi oleh fungsi fitness dengan menggunakan persamaan berikut: √ (1)

F(X) adalah fitness

adalah koordinat X player adalah koordinat Y player = koordinat X NPC

= koordinat Y NPC 3. Menentukan Pbest (personal best)

Pbest adalah posisi terbaik setiap partikel. Posisi ini merupakan posisi yang ditempati oleh partikel saat ini.

4. Menentukan Gbest (Global best)

(22)

10

fitness paling optimal tersebut akan dijadikan Gbest. Nilai fitness dikatakan optimal tergantung kasus yang dimiliki apakah maksimasi ataupun minimasi 5. Menghitung nilai velocity (V)

Untuk mendapatkan nilai V terbaru dapat digunakan persamaan untuk perbaharui kecepatan menggunakan persamaan berikut :

Vi (t+1) = Vi(t)+C1.r1(Pbest i– Xi(t)) + C2.r2(Gbest i–Xi(t)) (2) Dimana :

Vi (t) adalah kecepatan partikel ke (i) pada iterasi ke (t) Xi (t) adalah Posisi partikel ke (i) pada iterasi ke (t) V adalah Velocity (kecepatan partikel)

X adalah Koordinat partikel (posisi partikel) i adalah Partikel ke (1,2,3 . . . N)

C1 dan C2 adalah Faktor cognitive dan sosial nilai ini adalah nilai konstanta bernilai diantara ( 0 dan 1 )

r1 dan r2 adalah Bilangan acak antara 0 – 1

Pbest adalah Posisi terbaik yang dimiliki setiap partikel

Gbest adalah posisi partikel yang memiliki posisi paling baik dari partikel lainnya.

6. Menghitung nilai koordinat terbaru

Memasukan hasil perhitungan nilai V dari setiap partikel kedalam persamaan menggunakan persamaan berikut :

Xi (t+1) = Xi (t) +Vi (t+1) (3) Dimana :

Vi (t) adalah kecepatan partikel ke (i) pada iterasi ke (t) Xi (t) adalah Posisi partikel ke (i) pada iterasi ke (t)

7. Mengecek posisi partikel apakah sudah mencapai titik tujuan atau belum

(23)

11

mengevaluasi nilai partikel saat ini kedalam fungsi tujuan dibatasi hingga 30 kali iterasi.

2.2.2 Kelebihan dan Kekurangan PSO

A. Kelebihan dari algoritma PSO [6] :

1. Algoritma PSO didasari oleh intelligence. Hal ini dapat diterapkan baik kedalam penelitian ilmiah maupun teknik.

2. Algoritma PSO tidak memiliki perhitungan mutasi yang tumpang tindih. Pencarian dapat dilakukan dengan kecepatan setiap partikel. partikel yang optimal dapat mengirim informasi sehingga partikel lain dapat cepat melakukan pencarian.

3. Perhitungan dari algoritma PSO sangat sederhana dibandingkan dengan perhitungan algoritma yang berkembang lainnya.Algoritma PSO ini memiliki tingkat optimasi yang paling tinggi dan dapat diselesaikan dengan perhitungan yang sederhana.

4. Algoritma PSO mengandung bilangan real

B. Kekurangan dari algoritma PSO [6] :

1. Algoritma ini mudah mengalami optimasi yang parsial yang mengakibatkan kurang tepatnya pengaturan terhadap kecepatan dan tujuan.

2. Algoritma ini tidak dapat bekerja diluar masalah optimasi.

3. Algoritma ini tidak dapat bekerja diluar masalah sistem koordinat

2.3 Differential Evolution Algorithm (DEA)

Differential evolutional algorithm (DEA) atau lebih dikenal dengan

(24)

12

konvergensinya dan merupakan salah satu algoritma evolusioner yang memiliki performansi lebih baik daripada algoritma evolusioner yang lain seperti genetic algorithm (GA). Kelebihan DEA adalah pada evolusi yang dialami oleh setiap

individu dalam populasi dimana diferensiasi dan crossover terjadi secara berurutan pada setiap individu yang terpilih acak dari populasi setiap waktu. Parameter crossover diubah untuk mengetahui pengaruhnya pada proses komputasi. DEA dalam beberapa kasus disebutkan memiliki kecepatan komputasi yang lebih baik dibandingkan PSO dimana sistem akan lebih cepat menuju keadaan steady state [2].

2.3.1 Langkah-langkah penyelesaian dalam DEA

Penyelesaian Dalam DEA langkah- langkahnya sebagai berikut [7] : 1. Inisialisasi populasi partikel

Langkah ini merupakan tahap awal dimana jumlah dan koordinat partikel / posisi partikel ditentukan terlebih dahulu secara acak.

2. Mutation

Setelah diinisialisasi, DEA akan bermutasi dan me-rekombinasi populasi awal untuk menghasilkan populasi baru. Mutasi pada beberapa kamus bahasa menunjukan pengertian berubah dan dalam konteks genetika mutasi berarti perubahan dengan elemen acak.Proses mutasi menggunakan persamaan berikut :

V

i,g =

X

r1,g +

F . (X

r2,g –

X

r3,g

)

(4)

Dimana :

Vi,g adalah persamaan yang menunjukan bagaimana membentuk vektor mutan

r1,r2,r3 adalah index acak

F adalah skala faktor konstan antara [0,2].

3. crossover

(25)

13

membangun vektor uji dari nilai parameter yang telah dikopi dari dua vektor yang berbeda. Persamaan untuk vektor uji adalah sebagai berikut:.

U j,i,g = V j,i,g , if (rand i,j [0,1) ≤ Cr or j=jrand) X j,i,g , otherwise, (5)

Dimana:

U adalah persamaan crossover.

Cr adalah konstanta crossover yang ditentukan oleh pembuat. jrand adalah indeks yang dipilih secara acak.

4. Selection

Setelah diperoleh vektor hasil proses mutasi, dan crossover proses selanjutnya adalah seleksi antara vektor turunan dengan vektor target dimana vektor yang memiliki nilai fitness yang lebih baik akan digunakan untuk generasi berikutnya. Untuk proses seleksi menggunakan persamaan berikut :

X I,G+1 = Ui,G , if ƒ(U I,G) ≤ƒ(X I,G) = X I,G , if ƒ(U I,G) > ƒ(X I,G) (6) Dimana :

ƒ

adalah fungsi yang harus diminimalkan.

5. Kriteria penghentian iterasi

Nilai dikatakan konveregen jika posisi partikel mencapai posisi tujuan. Jika partikel belum mencapai titik tujuan maka langkah 2 diulangi dengan mengevaluasi nilai partikel saat ini kedalam fungsi tujuan dibatasi hingga 20 kali iterasi. [2]

2.3.2 Kelebihan dan kekurangan DEA

A. Kelebihan dari algoritma DEA [7]:

1. Algoritma DEA didasari oleh intelligence. Hal ini dapat diterapkan baik kedalam penelitian ilmiah maupun teknik.

(26)

14

3. kukan dengan kecepatan setiap partikel. partikel yang optimal dapat mengirim informasi sehingga partikel lain dapat cepat melakukan pencarian.

4. Perhitungan dari algoritma DEA sangat sederhana dibandingkan dengan perhitungan algoritma yang berkembang lainnya.Algoritma DEA ini memiliki tingkat optimasi yang paling tinggi dan dapat diselesaikan dengan perhitungan yang sederhana.

5. Algoritma DEA mengandung bilangan real

B. Kekurangan dari algoritma DEA [7]:

1. Algoritma ini mudah mengalami optimasi yang parsial yang mengakibatkan kurang tepatnya pengaturan terhadap kecepatan dan tujuan.

2. Algoritma ini tidak dapat bekerja diluar masalah optimasi.

3. Algoritma ini tidak dapat bekerja diluar masalah sistem koordinat

Tabel 1.1 Tabel Penelitian PSO dan DEA

PENULIS TEMA HASIL KESIMPULAN

(27)
(28)
(29)

17

2.4 Pemrograman Berorientasi Object (PBO)

Metodologi berorientasi objek adalah suatu strategi pembangunan perangkat lunak yang mengorganisasikan perangkat lunak sebagai kumpulan objek yang berisi data dan operasi yang diberlakukan terhadapnya. Metologi berorientasi objek merupakan suatu cara bagaimana sistem perangkat lunak dibangun melalui pendekatan objek secara sistematis. Metode berorientasi objek didasarkan pada penerapan prinsip-prinsip pengelolaan kompleksitas. Metode berorientasi objek meliputi rangkaian aktifitas analisis berorientasi objek, perancangan berorientasi objek, pemrograman berorientasi objek dan pengujian berorientasi objek .

Dalam rekayasa perangkat lunak, konsep pendekatan berorientasi objek dapat diterapkan pada tahap analisis perancangan,pemrograman dan pengujian perangkat lunak. Ada berbagai teknik yang dapat digunakan pada masing-masing tahap tersebut, dengan aturan dan alat bantu pemodelan tersebut

2.4.1 Konsep Dasar PBO

Berikut ini adalah beberapa konsep dasar yang harus dipahami tentangmetodologi berorientasi objek :

2.4.1.1 Object

Objek adalah abstraksi dan sesuatu yang mewakili dunia nyata,seperti benda, manusia, satuan, tempat, kejadian, struktur, statusatau hal-hal lain yang bersifat abstrak. Objek merupakan suatuentitas yang mampu menyimpan informasi (status) dan mempunyaioperasi (kelakuan) yang dapat diterapkan atau dapat berpengaruhpada status objek. Objek mempunyai siklus hidup yaitu diciptakan,dimanipulasi dan dihancurkan.

2.4.1.2 Kelas (Class)

(30)

18

pembuatan perangkat lunak. Kelas merupakan bentuk struktur padakode program yang menggunakan metodologi berorientasi objek

2.4.1.3 Methode

Operasi atau metode atau method pada sebuah kelas hampir sama dengan fungsi atau prosedur pada metodologi struktural. Sebuah kelas boleh memiliki lebih dari satu metode atau operasi. Metode atau operasi yang berfungsi untuk memanipulasi objek itu sendiri.Operasi atau transformasi yang dapat dilakukan terhadap objek atau dilakukan oleh objek.Metode atau operasi dapat berasal dari event , aktivitas atau aksi keadaan, fungsi atau kelakuan dunia nyata. Contoh metode atau operasi misalnya :Read, Write, Move, Copy, dan sebagainya.

2.4.1.4 Encapsulation

Pembukusan atribut data dan layanan (operasi-operasi) yang dipunyai objek untuk menyembunyikan implementasi dan objek sehingga objek lain tidak mengetahui cara kerja-nya. Misalkan seperti pada ilustrasi berikut.

2.4.1.5 Inheritance (Pewarisan)

Mekanisme yang memungkinkan satu objek mewarisi sebagian atau seluruh definisi objek lain sebagai bagian dari dirinya.

2.4.1.6 Polimorfisme

Kemampuan suatu objek untuk digunakan di banyak tujuan yangberbeda dengan nama yang sama sehingga menghemat barisprogram.

2.4.1.7 Antarmuka

(31)

19

2.4.1.8 Reusability

Pemanfaatan kembali objek yang sudah didefinisikan untuk suatu permasalahan pada permasalahan lainnya yang melibatkan objek tersebut.

2.4.1.9 Generalisasi Spesialisai

Menunjukkan hubungan antar kelas dan objek yang umum dengankelas dan objek yang khusus. Misalnya kelas yang lebih umum(generalisasi) adalah kendaraan darat dan kelas khususnya(spesialisasi) adalah mobil, motor dan kereta.

2.4.1.10 Komunikasi Antar Object

Komunikasi antar objek dilakukan lewat pesan (message) yang dikirim dari satu objek ke objek lainnya.

2.4.1.11 Package

Package adalah sebuah kontainer atau kemasan yang dapat digunakan untuk mengelompokkan kelas-kelas sehingga memungkinkan beberapa kelas yang bernama sama disimpan dalam package yang berbeda.

2.4.1.12 Atribute

Atribut dari sebuah kelas adalah variabel global yang dimiliki sebuah kelas. Atribut dapat berupa nilai elemen-elemen data yang dimiliki oleh objek dalam kelas objek Atribut dipunyai secara individual oleh sebuah objek, misalnya berat, jenis, nama dan sebagainya.

2.4.1.13 Abstraksi

Prinsip untuk merepresentasikan dunia nyata yang kompleksmenjadi satu bentuk model yang sederhana dengan mengabaikanaspek-aspek lain yang tidak sesuai dengan permasalahan.

2.4.2 Unified Modelling Language (UML)

Unified Modelling Language (disingkat UML) adalah salah satu standar bahasa yang banyak digunakan di dunia industri untuk mendefinisikan kebutuhan (requirement), membuat analisis dan desain, serta menggambarkan arsitektur dalam pemrograman berorientasi objek.

(32)

20

UML paling banyak digunakan pada metodologi berorientasi objek. Berikut merupakan macam-macam diagram UML:

2.4.2.1 Use Case Diagram

a. Menggambarkan bagaimana sistem digunakan

b. Mendeskripsikan apa yang sistem lakukan tanpa mendeskripsikan bagaimana sistem menyelesaikannya.

c. Dibuat berdasarkan interaksi dan relasi dari individual use case. d. Berisi aktor, event, dan use case.

e. Titik awal untuk pemodelan UML.

2.4.2.2 Activity Diagram

Menggambarkan berbagai alir aktivitas dalam sistem yang sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir.

2.4.2.3 Sequence Diagram

Menggambarkan interaksi antar objek di dalam dan di sekitar sistem (termasuk pengguna, display, dan sebagainnya) berupa message yang digambarkan terhadap waktu. Sequence diagrams terdiri atas dimensi vertical (waktu) dan dimensi horizontal (objek-objek yang terkait).

2.4.2.4 Class Diagram

(33)

67 1 BAB 5

KESIMPULAN DAN SARAN

Pada bab ini berisikan kesimpulan dari hasil penelitian yang telah dilakukan serta saran untuk perbaikan dan pengembangan penelitian lebih lanjut.

5.1 Kesimpulan

Berdasarkan hasil yang didapat dalam penelitian dan penyusunan skripsi ini serta disesuaikan dengan tujuan, dari 5 kali percobaan menghasilkan waktu proses rata-rata menggunakan pso adalah 32.29476 detik dan 16.6 kali iterasi sedangkan menggunakan DEA 47.97894 detik dan 24.4 kali iterasi yang artinya penggunaan algoritma PSO menghasilkan waktu proses lebih cepat 40% untuk mencapai tujuan dan iterasi yang dibutuhkan 20% lebih sedikit, dimana semakin sedikit iterasi yang dibutuhkan maka dapat meminimalkan kinerja dari komputer. Berdasarkan hasil pengujian maka diperoleh kesimpulan bahwa penggunaan algoritma DEA lebih sulit mencapai posisi player dan penggunaan waktu proses per-iterasi lebih lama dan menggunakan proses iterasi lebih banyak dibandingkan PSO. Sebaliknya, penggunaan algoritma PSO cepat mencapai posisi player dan penggunaan waktu proses per-iterasi lebih singkat dan algoritma PSO menggunakan proses iterasi lebih sedikit dibandingkan dengan menggunakan algoritma DEA. Maka dari itu peneliti menyimpulkan algoritma PSO lebih cocok diimplementasikan untuk perilaku NPC pada sebuah game.

5.2 Saran

Berdasarkan hasil dari keseluruhan simulasi, maka dapat diberikan saran-saran yaitu :

1. Untuk pengembangan selanjutnya dapat dilakukan penambahan maupun perbaikan untuk mengatasi kondisi tidak tercapainya fungsi tujuan.

Gambar

Tabel 1.1  Tabel Penelitian PSO dan DEA

Referensi

Dokumen terkait

Berdasarkan tabel 2 dapat dilihat bahwa kategori pengetahuan responden sebelum dilakukan intervensi (4,3%) termasuk kategori sangat tidak baik, setelah intervensi tidak

Melakukan kerja sama yang baik antar guru satu dengan guru lainnya baik staf, kepala sekolah dan pegawai lainnya dalam menyelesaikan masalah yang sedang dihadapi

Dengan demikian, semakin jelas bahwa proses belajar mengajar IPA lebih ditekankan  pada pendekatan keterampilan proses, hingga siswa dapat menemukan fakta-fakta, membangun

Di kota Bukittinggi pada bulan Februari 2016, 2 (dua) kelompok pengeluaran memberikan sumbangan deflasi antara lain; kelompok bahan makanan sebesar -0,32 persen

Pengaruh pemberian kombinasi konsentrasi ekstrak daun kelor ( Moringa oleifera ) dengan pupuk walne dalam media kultur terhadap laju pertumbuhan dan kandungan karotenoid

Berdasarkan hal-hal tersebut di atas, maka penelitian ini dilakukan untuk mengetahui perubahan mental/perilaku aparatur sebagai model dalam mewujudkan reformasi birokrasi

SD unggulan di Kota Bandung dengan intervening pengembangan diri siswa sebesar 0,317 atau sekitar 31,7%, sedangkan sisanya dipengaruhi oleh faktor lain.(4) Terdapat pengaruh

Kur angnya pengawasan dan terlalu mudahnya WNA yang termasuk kedalam 169 negara untuk masuk Indonesia menyebabkan banyak WNA yang tidak mempunyai manfaat bagi