104689616 Laporan AI PKL PT D I Revisi Final

Teks penuh

(1)

LUNAK DIVISI PUSAT TEKNOLOGI

PT. DIRGANTARA INDONESIA (PERSERO)

BANDUNG

BIDANG KAJIAN:

ANALISIS DAN PERANCANGAN ARTIFICIAL INTELLIGENCE

PADA SISTEM SIMULATOR TANK AMX-13

DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

INSTITUT PERTANIAN BOGOR

(2)

LUNAK DIVISI PUSAT TEKNOLOGI

PT. DIRGANTARA INDONESIA (PERSERO)

BANDUNG

BIDANG KAJIAN:

ANALISIS DAN PERANCANGAN ARTIFICIAL INTELLIGENCE

PADA SISTEM SIMULATOR TANK AMX-13

G64090065 Nur Muhammad Sidik

G64090114 Muhammad Ade Nurusani

DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

INSTITUT PERTANIAN BOGOR

(3)

PT. Dirgantara Indonesia (Persero) Bidang kajian /Nama/NRP :

AI pada Sistem Simulator Tank AMX-13

Nur Muhammad Sidik/G64090065 Muhammad Ade Nurusani/G64090114

Disetujui Komisi Pembimbing

Pembimbing Pembimbing Lapangan

Dr.

Eng. Wisnu Ananta Kusuma,ST, MT Wali Muhammad,ST

NIP. 19711110 200501 1005 NIK. 940130

Mengetahui,

Ketua Departemen Ilmu Komputer

(4)

KATA PENGANTAR

Puji syukur, penulis panjatkan kehadirat Allah SWT karena dengan rahmat dan karuniaNya tulisan ini berhasil diselesaikan. Semoga tulisan ini dapat memberikan suatu dampak positif bagi kita semua. Tulisan ini merupakan hasil Praktik Kerja Lapang(PKL) di PT Dirgantara Indonesia dengan bidang kajian

Artificial Intelligence pada simulator tank AMX-13. Kegiatan PKL ini dilaksanakan sebanyak 35 hari kerja dari tanggal 27 Juni 2012 hingga 14 Agustus 2012.

Terima kasih penulis ucapkan kepada pihak yang telah membantu menyelesaikan tulisan ini, kepada Bapak Dr. Wisnu Ananta Kusuma, ST, MT selaku pembimbing kampus dan Bapak Wali Muhammad, ST selaku pembimbing instansi. Terima kasih juga untuk kedua orang tua atas doa dan dukungannya selama penulis menjalankan PKL, rekan-rekan Ilmu Komputer angkatan 46, serta seluruh pihak yang turut membantu kelancaran pelaksanaan kegiatan PKL.

Penulis menyadari bahwa dalam penyusunan laporan ini masih banyak kekurangan dan masih jauh dari sempurna, maka dengan segala kerendahan hati penulis mengharapkan saran dan kritik yang bersifat membangun dari semua pihak demi perbaikan dan penyempurnaan laporan ini, serta pembuatan laporan-laporan lain dimasa mendatang.

Semoga setiap kata dan tulisan yang ada dalam tulisan ini dapat memberi kontribusi untuk membawa keilmuan kita ke arah yang lebih baik, amin.

Bogor, 26 Agustus 2012

(5)

DAFTAR ISI

4. Visi dan Misi PT Dirgantara Indonesia...3

5. Struktur Organisasi...3

6. Waktu dan Jadwal Kerja Praktek Kerja Lapangan...5

7. Deskripsi Singkat Kajian...5

BAB II LANDASAN TEORI...6

1. Simulasi...6

2. Simulator Terintegrasi Tank AMX-13...9

3. Spesifikasi Teknis Driving Simulator RANPUR Tank AMX-13...10

4. Kecerdasan Buatan(Artificial Intelligence)...13

5. Kecerdasan Buatan pada Game...15

6. Metodologi Pengembangan...18

7. Pengembangan Artificial Intelligence pada Sistem Simulator Tank AMX-13...19

BAB III PERENCANAAN DAN ANALISIS ARTIFICIAL INTELLIGENCE PADA SISTEM SIMULATOR TANK AMX-13...21

1. Lingkup Masalah...21

BAB IV PERANCANGAN DAN IMPLEMENTASI ARTIFICIAL INTELLIGENCE PADA SISTEM SIMULATOR...35

TANK AMX-13...35

1. Perancangan AI pada Simulator Tank AMX-13...35

2 Implementasi AI pada Simulator Tank AMX-13...39

BAB V PENUTUP...42

(6)

DAFTAR GAMBAR

Halaman

Gambar 1 Struktur Organisasi PT Dirgantara Indonesia...4

Gambar 2 Struktur Organisasi Divisi Pusat Teknologi PT Dirgantara Indonesia. 5 Gambar 3 Simulasi Dinamik Boeing 747...7

Gambar 4 Simulasi Pesawat Terbang Tempur F16...7

Gambar 5 Simulasi Kecepatan Pesawat Terbang...8

Gambar 6 Simulasi Antrian Bank...8

Gambar 7.AI pada Components Package Delta3D...18

Gambar 8 The Waterfall Model...19

Gambar 9 System Development Life Cycle (SDLC)...20

Gambar 10 Use Case trainer membuat skenario...22

Gambar 11 Use Case Skenario Trainee...25

Gambar 12 Use Case 3D World Console Trainer...25

Gambar 13 Use Case 3D World Console Trainee...26

Gambar 14 Class Diagram User...28

Gambar 15 Class Diagram AI...29

Gambar 16 Sequence diagram Actor Creation...30

Gambar 17 Sequence diagram Actor Deletion...31

Gambar 18 Sequence Diagram Trainer Console Usage...31

Gambar 19. Activity Diagram Login...32

Gambar 20. Activity Diagram Trainer...33

Gambar 21. Activity Diagram Trainee...34

Gambar 22. AI Related Classes...35

Gambar 23. Subsection of the Scenario File TestTownLt Map...37

Gambar 24. Subsection of the Senario File Marine.xml...38

Gambar 25. Method FindPathAndGoToWaypoint...40

Gambar 26. Method GoToWayPoint...40

Gambar 27. Fungsi Main...41

Gambar 28. Animation Soldier pada Delta3D...41

Gambar 29. Diagram dari contoh program pengambilan keputusan...45

Gambar 30. program pengambilan keputusan menggunakan FIS...47

(7)

DAFTAR TABEL

Halaman

Tabel 1: Rule FISKeputusan...46

Tabel 2: Rule FISLingkungan...46

Tabel 3: Rule FISKondisi_Tank...46

Tabel 4: Rule FISKondisi_Lapangan...47

(8)

DAFTAR LAMPIRAN

Halaman

(9)

BAB I PENDAHULUAN

1. Latar Belakang

Divisi Pusat Teknologi, Departemen Rekayasa Industri dan Perangkat Lunak PT. Dirgantara Indonesia sejak bulan Mei 2012 mulai mengerjakan sebuah projek Simulator Terintegrasi Tank AMX-13. Kami selaku mahasiswa PKL diberi tugas oleh pihak instansi untuk mengkaji dan ikut menganalisis bagaimana cara mengimplementasikan kecerdasan buatan pada simulator tank.

2. Tujuan

a. Pengenalan konsep Artificial Intelligence yang mampu mengendalikan

gerak teman maupun lawan pada simulator terintegrasi tank AMX-13.

b. Pemilihan metode Artificial Intelligence yang paling tepat untuk

diterapkan pada tank AMX-13.

c. Menerapkan metode terbaik dari Artificial Intelligence lalu

mengimplementasikan pada game engine Delta3D.

3. Ruang Lingkup

Ruang lingkup yang digunakan pada pengembangan perangkat lunak ini dalam pengerjaan praktek kerja lapangan adalah:

 Peserta praktek kerja lapangan hanya mengerjakan sistem analisis dan perancangan sistem dikarenakan waktu yang sedikit sedangkan pengerjaan projek memakan waktu berbulan-bulan.

 Peserta praktek kerja lapangan memberikan usul tentang metode yang akan

digunakan dalam pengembangan Artificial Intelligence pada simulator tank

(10)

produknya, tidak hanya bidang pesawat terbang, tetapi juga dalam bidang lain, seperti teknologi informasi, telekomunikasi, otomotif, maritim, militer, otomasi

dan kontrol, minyak dan gas, turbin industri, teknologi simulasi, dan engineering

services.

Divisi Pusat Teknologi merupakan salah satu unit dari Direktorat Teknologi dan Pengembangan yang berperan dalam proses pemilihan dan penentuan langkah yang diperlukan untuk mengembangkan teknologi yang akan diintegrasikan ke dalam produk yang terkait dengan teknologi kedirgantaraan serta menjaga kesiapan seluruh peralatan pengembangan teknologi sehingga dalam mengintegrasikan seluruh proses pengembangan teknologi dan peralatan yang dipilih akan dicapai rangkaian proses yang paling efisien, efektif dan kompetitif.

4. Visi dan Misi PT Dirgantara Indonesia

Visi :

Menjadi perusahaan kelas dunia dalam industri dirgantara yang berbasis pada penguasaan teknologi tinggi dan mampu bersaing dalam pasar global, dengan mengandalkan keuntungan biaya.

Misi :

 Menjalankan usaha dengan selalu berorientasi pada aspek dan bisnis komersil dan dapat menghasilkan produk dan jasa yang memiliki keunggulan biaya.

 Sebagai pusat keunggulan di bidang industri dirgantara, terutama dalam

rakayasa, rancang bangun, manufaktur, produksi dan pemeliharaan untuk kepentingan komersial dan milliter dan juga untuk aplikasi di luar industri dirgantara. membawahi enam direktorat, yaitu Direktorat Keuangan, Direktorat Umum dan

Sumber Daya Manusia, Direktorat Aerostructure, Direktorat Aircraft Integration,

Direktorat Aircraft Services serta Direktorat Teknologi dan pengembangan.

(11)

Divisi Pusat Teknologi merupakan salah satu bagian dari Direktorat Teknologi dan Pengembangan dimana dalam divisi ini terbagi menjadi lima departemen. Penulis sendiri berada di Departemen Rekayasa Industri dan Perangkat Lunak dalam Praktik Kerja Lapangan ini. Departemen Rekayasa

Industri dan Perangkat Lunak sendiri dibagi menjadi empat bidang, yaitu System

Definition and Integration, Sistem Perangkat Lunak, Sistem Perangkat Keras, serta Komunikasi dan Jaringan. Struktur organisasi Divisi Pusat Teknologi lebih lengkapnya dapat dilihat pada Gambar 2.

Environment System

Direktur Utama PT D.I

Asisten Direktur Utama Bidang Bisnis Pemerintah Asisten Direktur Utama Bidang

Bisnis Pemerintah

Asisten Direktur Utama Bidang Sistem Manajemen Mutu

Perusahaan Asisten Direktur Utama Bidang

Sistem Manajemen Mutu Perusahaan

Sekretariat Perusahaan

Sekretariat Perusahaan Satuan Pengawasan InternSatuan Pengawasan Intern Divisi Perencanaan & Pengembangan Perusahaan

Divisi Perencanaan &

Pengembangan Perusahaan Divisi PengamananDivisi Pengamanan

Direktorat Keuangan

Direktorat Keuangan Direktorat Umum & Sumber Daya Manusia

Divisi Akuntansi Divisi Jasa Material & Fasilitas Divisi Jasa Material &

Fasilitas

Aerostructure Direktorat IntegrationAircraft

Direktorat Aircraft

Integration Direktorat ServicesAircraft

Direktorat Aircraft

Services Direktorat Teknologi Direktorat Teknologi & Pengembangan& Pengembangan

Divisi Integrasi Usaha

Integration Divisi Perawatan & Divisi Perawatan & ModifikasiModifikasi

Asisten Direktur Bidang Sumber Daya Aerocraft

Structure Divisi Manajemen Sumber Daya Aerocraft

Structure

Divisi Jasa Teknologi & Rekayasa Divisi Jasa Teknologi &

Rekayasa

(12)

6. Waktu dan Jadwal Kerja Praktek Kerja Lapangan Senin – Kamis Pukul 07.30 -16.30 WIB.

Jumat Pukul 07.30 – 17.00 WIB.

7. Deskripsi Singkat Kajian

Artificial Intelligence merupakan disiplin ilmu untuk membuat aksi dan

reaksi otonom agen atau NPC (Non-Player Character), bagaimana tindakan dan

keputusan yang diambil NPC dalam strategi menyerang musuh atau bertahan dari

serangan musuh dengan FSM (Finite State Machine) untuk mendesain perilaku.

Selanjutnya digunakan logika fuzzy untuk penentuan strategi maupun respon perilaku NPC terhadap kondisi yang dihadapi. Dari keputusan yang didapat lalu

digunakan pathfinding untuk menentukan jalan mana yang diambil NPC untuk

mendapatkan jarak optimum baik ketika menyerang maupun bertahan. Pada PKL ini Artificial Intelligence dikerjakan oleh Nur Muhammad Sidik dan Muhammad Ade Nurusani.

Analisa Struktur Analisa SistemDepartemen Departemen Avionics & Flight Beck

System Avionics & Flight Beck

System

(13)

BAB II LANDASAN TEORI

1. Simulasi

Simulasi adalah proses implementasi model menjadi program komputer (software) atau rangkaian elektronik dan mengeksekusi software tersebut sehingga perilakunya menirukan atau menyerupai sistem nyata (realitas) tertentu untuk tujuan mempelajari perilaku (behaviour) sistem, pelatihan (training), atau perMainan (gamming) yang melibatkan sistem nyata (realitas). Jadi, simulasi adalah proses merancang model dari suatu sistem yang sebenarnya, mengadakan percobaan-percobaan terhadap model tersebut dan mengevaluasi hasil percobaan tersebut.

Simulasi merupakan suatu metode eksperimental dan terpakai untuk menjelaskan perilaku sistem, membangun teori atau hipotesis yang mempertanggungjawabkan perilaku dari sistem yang diamati, memakai teori-teori untuk meramalkan perilaku sistem yang akan datang, yaitu pengaruh yang akan dihasilkan oleh perubahan-perubahan variabel dan parameter sistem atau perubahan operasinya.

Berdasarkan perangkat keras yang digunakan, maka ada tiga jenis simulasi, yaitu : simulasi analog, simulasi digital, dan simulasi hybrid. Simulasi analog adalah simulasi yang implementasinya menggunakan rangkaian elektronika

analog, seperti opamp(operational amplifier) untuk integrasi, pembanding,

pembalik, penjumlah, dan lain-lain. Simulasi digital adalah simulasi yang

implementasinya menggunakan komputer digital. Simulasi hybrid adalah simulasi

yang implementasinya menggunakan gabungan rangkaian elektronika analog dan komputer digital.

Berdasarkan waktu simulasi, maka ada simulasi waktu nyata(real time) dan

simulasi offline. Simulasi waktu nyata adalah simulasi dimana waktu simulasi

adalah sama dengan satu detik waktu nyata. Contoh simulasi waktu nyata adalah

simulasi terbang(flight simulation), simulasi mobil, dan simulasi tank, dan

lain-lain. Simulasi offline adalah simulasi dimana definisi waktu simulasi adalah tidak

sama(diskalakan) dengan waktu nyata, bisa dipercepat bisa diperlambat. Data

masukan dan hasil keluaran simulasi offline tidak perlu interaktif. Contoh simulasi

(14)

Gambar 3 Simulasi Dinamik Boeing 747

(15)

Gambar 5 Simulasi Kecepatan Pesawat Terbang

(16)

2. Simulator Terintegrasi Tank AMX-13

Simulator Terintegrasi Tank AMX-13 (STTA13) merupakan wahana untuk

melatih awak/kru ranpur dalam mengoperasikan ranpur Tank AMX-13 baiksecara

modular maupun terintegrasi.

Awak/kru ranpur adalah Danran (Commander), Petembak (Gunner) dan

Pengemudi (Driver). Pelatihan secara modular adalah pelatihan secara

terpisah/masing-masing. Awak (Pengemudi, Petembak, Danran) sendiri-sendiri yang dipandu oleh Asisten atau Instruktur dengan skenario yang sesuai. Dalam pelatihan modular hanya satu awak ranpur saja yang mengoperasikan simulator dalam satu sesi latihan (satu waktu), yaitu Pengemudi saja atau Petembak saja. Pelatihan secara terintegrasi adalah pelaksanakan latihan yang melibatkan seluruh awak dengan skenario yang melibatkan koordinasi seluruh awak.

Dalam satu sesi latihan simulator digunakan oleh 2 atau 3 awak ranpur, yaitu pengemudi-petembak, pengemudi-danran, danran-petembak, dan pengemudi-petembak-danran (Pengemudi, Petembak, Danran) secara bersama-sama dengan dipandu oleh Asisten atau Instruktur.

Secara umum kemampuan STTA13 adalah sebagai berikut :

 Mempunyai tampilan interior dan pelayanan (Human Machine Interface)

yang menyerupai ranpur Tank AMX-13 yang sebenarnya. Ekivalensi tata letak, ukuran, bentuk, penampakan, fungsi peralatan maupun kemampuan dan keterbatasannya.

 Mampu menampilkan visualisasi kondisi medan operasi 3D yang dipilih

yaitu medan operasi : Pusdikkav, Cipatat, Cibenda, Aceh, Kalimantan dan

Irian, dalam pandangan (view) 360 derajat.

 Mampu memvisualisasikan target 3D baik target diam (statik) dan

bergerak (dinamis).Target statik termasuk berbentuk lesan tembak.

 Mampu membangkitkan efek kinetis dan suara sebagai akibat dari suara

mesin (automotive), kondisi medan dan tembakan.

 Mampu membangkitkan tanda atau peringatan tertentu jika pada simulator

terjadi kondisi ketidaksesuaian dengan kamampuan operasional dan prosedur pelayanan yang sebenarnya dari ranpur.

 Kubah (turret) dan Kanon (Cannon) tidak berputar secara fisik tetapi simulator mampu membangkitkan efek visual karena gerakan kubah yang bisa berputar 360 derajat.

(time of day), cuaca (visibility), angin, dan asap.

 Mampu melakukan penilaian hasil latihan secara otomatis.

 Mampu menyediakan Training Management System : manejemen data

(17)

 Ranpur musuh dapat dikendalikan oleh instruktur atau bergerak secara otomatis.

 Ranpur musuh berjumlah maksimal 10 objek yang memiliki skenario

gerakan masing-masing.

3. Spesifikasi Teknis Driving Simulator RANPUR Tank AMX-13 Driving Simulator

Driving simulator adalah alat simulasi mengemudi yang dalam konteks pendidikan merupakan alat bantu peraga dan bahan uji yang diperuntukkan bagi instruktur dan siswa. Alat ini juga merupakan sarana melatih teknik dan kesigapan pengemudi sehingga dapat dipergunakan sebagai sarana latih yang efektif dengan tingkat keamanan yang tinggi.

Driving simulator memiliki fungsi konfigurasi berupa :

 Latihan mengemudi

 Alat uji keterampilan mengemudi

 Pengusutan gangguan mengemudi

Medan Simulasi

Latihan mengemudi disimulasikan pada medan yang berbeda-beda, berikut merupakan beberapa materi latihan mengemudi:

1. Mengemudi jalan datar/jalan raya

a. Tujuan: sebagai sarana pelatihan mengemudi dasar para pengemudi untuk melatih keterampilan teknik mengemudi sebelum latihan sebenarnya.

b. Visualisasi: view alam berupa medan datar dan terdapat jaring-jaring jalan yang dapat dilalui ranpur.

c. Efek Suara: seperti suara mesin ranpur

d. Efek Gerak: pengemudi merasakan getaran saat melewati jalan tidak rata.

2. Mengemudi di medan tanjakan/turun dan jalan berbelok

a. Tujuan : melatih mengendalikan ranpur pada saat jalan menanjak/turun dan jalan berbelok.

b. Visualisasi: lebih dominan berupa panorama daerah perbukitan yang banyak jalan menanjak/turun dan berbelok.

c. Efek Suara: seperti suara mesin ranpur.

d. Efek Gerak: pengemudi merasakan gerakan naik/turun tanjakan, belok seperti saat mengemudi sebenarnya.

3. Mengemudi di medan pasir dan lumpur

a. Tujuan: melatih kemampuan pengemudi agar dapat melintasi medan pasir dan berlumpur.

(18)

d. Efek Gerak: pengemudi merasakan selip rantai saat melewati medan pasir dan lumpur.

Automotive RANPUR Tank

Dalam tubuh TNI AD terdapat kecabangan Kavaleri dimana kecabangan tersebut salah satunya menggunakan Ranpur Tank dalam melaksanakan tugas pokoknya yaitu melaksanakan pertempuran mantra darat dengan mobilitas yang tinggi.

Ranpur tank yang terdapat disatuan Kavaleri TNI AD salah satunya adalah Ranpur Tank buatan Perancis yang terdiri dari beberapa jenis, antara

lain Tank AMX-13 Kanon, Tank AMX-13 APC, Tank AMX-13 Ambulance,

Tank AMX-13 Logistik, Tank AMX-13 Jembatan, dan lainnya. Setiap jenis ranpur tank tersebut memikili karakteristik dan system automotive yang berbeda dan harus dipahami setiap prajurit Kavaleri dan satuannya.

Karakteristik Ranpur Tank AMX-13 Kanon 75-105 mm Mesin Bensin

a. Awak Kendaraan : 3 orang.

b) Bagian samping : 20 mm.

c) Bagian belakang : 15 mm.

d) Atas/bawah : 10 mm.

e)

c. Automotive

1) Mesin : Sofam Type 8G X B 8 selinder 4-4 berbaring bertolak.

2) Bahan bakar : MT-87 isi tangki 480 liter (2 tangki bahan bakar).

d. Senjata

1) Senjata utama : 1 pucuk kanon 105/75 mm.

2) Senjata Coak : 1 Pucuk metraliur AA-52.

3) Pelontar granat : 3 pasang untuk kanon 105/2 pasang.

4) Amunisi : Kanon 37 butir AA-52

AA-52 10 peti @150 butir

e. Radio : SCR 50B dan AM/GRC-9

(19)

1) Aksi radius : 480 km.

2) Kecepatan

a) Dijalan maksimal : 60 km/jam

b) Dijalan rata-rata : 35-45 km/jam

c) Dilapangan : 12-15 km/jam

3) Mendaki : 310 (60%)

4) Melangkah parit : 1,60 m.

5) Membuat lubang dengan : 6,40 m dlm 1,30 m

garis tengah

6) Naik rintang tegak maju : 0,65 m.

Naik rintang tegak mundur: 0,45 m.

7) Mengarung : 0,60 m.

1) 1 orang Danran (Commander)

2) 1 orang Penembak (Gunner)

3) 1 orang Pengemudi (Driver)

b. Data Teknis

1) Berat kosong : 15700 kg.

2) Berat siap tempur : 17200 kg.

3) Besar tekanan jejak : 0,878 kg/cm2

a) Dengan kubah : 2,18 m.

b) Badan : 1,38 m.

4) Panjang dengan kanon : 6,36 m.

5) Panjang badan : 4,88 m.

6) Lebar : 2,510 mm.

7) Tinggi dengan kubah : 2,620 m.

8) Bebas dasar normal : 0,43m/beban tempur 0,39m/beban

9) Tebal baja

1) Kanon caliber 105 mm dan coaxial. 2) PSU 7,62 mm ditambah pelontar.

3) Granat asap caliber 81 mm, dengan kemampuan putaran kubah 3600

d. Automotive

1) Mesin type : V.6 Turbocharger.

2) Model : 6.V 53 T.

(20)

4) Putaran mesin maksimal : 2800 Rpm dan mengeluarkan tenaga 300 HP

5) Putaran stasioner : 700 Rpm

6) Jenis bahan bakar : Diesel (solar)

7) Transmisi/gearbox diganti dengan otomatis penuh dengan data sebagai berikut :

a) Type : Otomatis penuh

b) Model : 5 WG-180.

c) Buatan pabrik : ZF

d) Jumlah percepatan : 5 maju dan 2 mundur

8) Suspensi. Sistem suspense yang diganti adalah shock absorber diganti dengan sistem hidrolic PNEUMATIC.

e. Radio : ANVRC-64

f. Kemampuan

1) Kecepatan maksimum : 0.65 m

2) Melewati rintangan tegak

a) Maju : 0,65 m.

b) Mundur : 0,45 m.

3) Melangkah parit : 1,60 m.

4) Menanjak besar sudut : 310

5) Mengarung kedalam : 0,80 m

6) Pemakaian bahan bakar : 1:1

7) Aksi radius dijalanan : ±450-599 Km dijalanan

8) Radius putar gandar dalam: 7,80 m / 3,90 m luar

9) Aksi radius dilapangan : 16-19 jam.

10) Berputar ditempat : 3600 ke kiri/kanan

4. Kecerdasan Buatan(Artificial Intelligence)

Kecerdasan buatan adalah suatu studi yang mengupayakan bagaimana agar komputer berlaku cerdas sehingga dapat menyelesaikan suatu persoalan yang sulit dengan meniru bagaimana manusia dapat menyelesaikan permasalahan dengan cepat. Dengan cara menyederhanakan program, kecerdasan buatan dapat meniru proses belajar manusia sehingga informasi baru dapat diserap dan digunakan sebagai acuan di massa-masa yang akan datang. Manusia dapat menyerap informasi baru tanpa perlu mengubah atau mempengaruhi informasi lain yang telah tersimpan. Program kecerdasan buatan membutuhkan cara yang jauh lebih sederhana dibandingkan dengan memakai program standar tanpa kecerdasan buatan di dalamnya.

(21)

secara otomatis dapat mengatur cara kerjanya untuk menyesuaikan diri dengan fakta atau informasi yang baru tersebut.

Makin pesatnya perkembangan teknologi menyebabkan adanya perkembangan dan perluasan lingkup yang membutuhkan kehadiran kecerdasan buatan. Karakteristik cerdas sudah mulai dibutuhkan di berbagai disiplin ilmu dan teknologi. Irisan antara psikologi dan kecerdasan buatan melahirkan sebuah area yang dikenal dengan nama cognition & psycolinguistics. Irisan antara teknik elektro dengan kecerdasan buatan melahirkan berbagai ilmu yang seperti: pengolahan citra, teori kendali, pengenalan pola, dan robotika. Adanya irisan kecerdasan buatan di berbagai ilmu menyebabkan cukup rumitnya untuk mengklasifikasikan kecerdasan buatan menurut disiplin ilmu yang menggunakannya. Untuk memudahkan hal tersebut, maka pengklasifikasian lingkup kecerdasan buatan didasarkan pada output yang diberikan yaitu pada aplikasi komersial.

Lingkup utama dalam kecerdasan buatan adalah:

- Sistem Pakar(Expert System). Komputer digunakan sebagai sarana untuk

menyimpan pengetahuan pakar. Dengan demikian komputer akan memiliki keahlian untuk menyelesaikan permasalahan dengan meniru keahlian yang dimiliki oleh pakar.

- Pengolahan Bahasa Alami(Natural Language Processing). Dengan

pengolahan bahasa alami ini diharapkan user dapat berkomunikasi dengan

komputer menggunakan bahasa sehari-hari.

- Pengenalan Ucapan(Speech Recognition). Melalui pengenalan ucapan

diharapkan manusia dapat berkomunikasi dengan komputer menggunakan suara.

- Robotika & Sistem Sensor(Robotics & Sensory Systems) .

- Computer Vision, mencoba untuk dapat menginterpretasikan gambar atau obyek-obyek tampak melalui komputer.

- Intelligent Computer-aided Instruction. Komputer dapat digunakan sebagai tutor yang dapat melatih dan mengajar.

- Game Playing.

Seiring dengan perkembangan teknologi, muncul beberapa teknologi yang juga bertujuan untuk membuat agar komputer menjadi cerdas sehingga dapat menirukan kerja manusia sehari-hari. Teknologi ini juga mampu mengakomodasi adanya ketidakpastian dan ketidaktepatan data input. Dengan didasari pada teori

himpunan, maka pada tahun 1965 muncul Logika Fuzzy. Kemudian pada tahun

(22)

5. Kecerdasan Buatan pada Game

Kecerdasan buatan pada Game mengacu pada teknik yang digunakan dalam

perMainan komputer komputer dan video untuk menghasilkan ilusi kecerdasan

dalam perilaku NPC(Non Playing Character). Kemampuan komputer yang telah

diberi kecerdasan harus mampu memberi manusia rasa penasaran dengan tingkat kesulitan tinggi dan perilaku komputer yang sulit ditebak. Penekanannya untuk membuat kecerdasan komputer melebihi kinerja kecerdasan manusia. Kecerdasan

buatan pada Game RTS(Real Time Strategy) umumnya terdiri dari perencanaan

mencari jalan yang optimum(pathfinding), untuk berperang NPC juga diharapkan

mempunyai rule untuk melancarkan strategi-strategi khusus seperti halnya

manusia. Strategi yang dimaksud bisa berupa strategi mengejar lawan, menyerang lawan maupun menghindari lawan dimana untuk mendesain perilaku NPC digunakan Finite State Machine, dan untuk menentukan respon perilaku yang

dilakukan terhadap perubahan kondisi yang dihadapi NPC digunakan logika fuzzy

mamdani.

Non Player Character

Autonomous character adalah jenis otonomous agent yang ditujukan untuk

penggunaan komputer animasi dan media interaktif seperti Games dan virtual

reality. Agen ini mewakili tokoh dalam cerita atau perMainan dan memiliki kemampuan untuk improvisasi tindakan mereka. Inia dalah kebalikan dari seorang tokoh dalam sebuah film animasi, yang tindakannya ditulis di muka, dan untuk

“avatar” dalam sebuah perMainan atau virtual reality, tindakan yang diarahkan

secara real time oleh peMain. Dalam perMainan, karakter otonom biasanya disebut NPC (Non-Player Character). Divisi gerak perilaku otonom hirarki

karakter dibagi menjadi tiga lapisan: seleksi tindakan, steering, dan penggerak.

Finite State Machine

FSM(Finite State Machine) digunakan untuk merespon perilaku NPC terhadap parameter-parameter yang digunakan sebagai dasar untuk menentukan gerakan-gerakan dari keputusan yang akan diambil pada kondisi tertentu. FSM

mengatur state untuk setiap agent. Sebuah state machine dapat mengelola banyak

states, tapi hanya ada satu state yang aktif pada satu waktu. Selain agent dan

states, FSM biasanya dapat menerima event dari agent atau dari objek lain di

dalam Game. Setiap event memiliki parameter khusus yang spesifik untuk event

tersebut.

Logika Fuzzy Mamdani

Logika fuzzy adalah sebuah metode untuk menangani masalah

ketidakpastian dalam suatu masalah yang mengandung keraguan, ketidaktepatan, kurang lengkapnya informasi, dan nilai kebenaran yang bersifat sebagian. Fungsi

logika fuzzy yaitu untuk mendukung keputusan yang akan diambil oleh NPC.

Bentuk aturan logika fuzzy mamdani adalah sebagai berikut:

IF X1 is A1 AND ... AND Xn is An THEN Y is B. Dimana A1,...,An, B adalah

nilai-nilai linguistik, sedangkan “X1 is A1” menyatakan bahwa nilai dari variabel

X1 adalah anggota himpunan fuzzy.

(23)

A* adalah algoritma pencarian umum yang biasa digunakan yang secara intuitif mudah dimengerti dan sederhana untuk diimplementasikan. Pencarian

path digunakan dalam berbagai konteks mulai dari perencanaan AI sehingga memungkinkan kita untuk memecahkan sejumlah besar masalah dengan lebih mudah. Alasan A* baik untuk digunakan karena dapat direpresentasikan sebagai

ruang state yang cocok dengan suatu masalah dimulai dari kondisi dan keadaan

awal dari lingkungan kemudian menghasilkan tindakan yang sesuai dengan tujuan penyelesaian masalah tersebut. A* tidak hanya mencari solusi yang cepat, tetapi juga dapat mencari solusi terbaik.

Beberapa fungsi yang umum digunakan pada algoritma pathfinding A*

 d adalah nilai biaya. Nilai d didapat dari nilai minimum cost

perpindahan antar node.

 Xn adalah koordinat X dari node pertama pada grid.

 Xgoal adalah koordinat X dari final node.

 Yn adalah koordinat dari node pertama dari grid.

 Ygoal adalah koordinat Y dari final node.

b. Straight Line Distance

Straight Line Distance adalah fungsi heuristic yang digunakan pada aplikasi yang dapat bergerak ke segala arah/sudut dengan fungsi:

h(n) = sqrt (abs (Xn - Xgoal)² + abs (Yn - Ygoal))² Dimana:

 Xn adalah koordinat X dari node pertama pada grid.

 Xgoal adalah koordinat X dari final node.

 Yn adalah koordinat dari node pertama dari grid.

 Ygoal adalah koordinat Y dari final node.

c. Diagonal Distance

Diagonal Distance adalah fungsi heuristic yang digunakan pada aplikasi yang memiliki delapan arah gerakan (dapat bergerak diagonal).

h(n) = d* max abs (Xn - Xgoal) + abs (Yn - Ygoal) Dimana:

 d adalah nilai biaya. Dimana nilai d didapat dari nilai minimum

cost perpindahan antar node.

 Xn adalah koordinat X dari node pertama pada grid.

 Xgoal adalah koordinat X dari final node.

 Yn adalah koordinat dari node pertama dari grid.

(24)

Kecerdasan Buatan pada Delta3D

Delta3D adalah open source game engine yang dibuat oleh MOVES Institute yang merupakan bagian dari Naval Postgraduate School. Salah satu kendala mengembangkan kecerdasan buatan pada Delta3D yaitu Delta3D kurang memiliki kemampuan spesifik untuk membuat hanya kecerdasan buatan tanpa

harus memiliki kemampuan mendesain karakter untuk mengontrol non player

character. Delta3D menyediakan tiga fasilitas basic untuk mendukung

pengembangan AI yaitu, finite state machine class, traditional waypoint-based

navigation, dan kesanggupan untuk code AI pada high level scripting language.

AI pada Delta3D terletak didalam modul components package.

Gambar 7.AI pada Components Package Delta3D

6. Metodologi Pengembangan

Metodologi yang digunakan untuk mengembangkan aplikasi bidang kajian

ini adalah Model Waterfall. Disebut waterfall(berarti air terjun) karena diagram

tahapan prosesnya mirip dengan air terjun yang bertingkat. Ada lima tahapan utama dalam Model Waterfall, antara lain :

 Tahap investigasi dilakukan untuk menentukan apakah terjadi suatu

(25)

tahap ini dilakukan studi kelayakan untuk menentukan apakah aplikasi yang akan dikembangkan merupakan solusi yang layak.

 Tahap analisis bertujuan untuk mencari kebutuhan pengguna dan organisasi serta menganalisa kondisi yang ada.

 Tahap disain bertujuan untuk menentukan spesifikasi detil dari komponen-komponen aplikasi yang sesuai dengan tahap analisis.

 Tahap implementasi merupakan tahapan untuk mengembangkan

software (pengkodean program), pengujian dan pelatihan software.

 Tahap perawatan (Maintenance) dilakukan ketika software sudah dioperasikan. Pada tahap ini dilakukan monitoring proses, evaluasi dan perbaikan bila diperluakan.

Gambar 8 The Waterfall Model

Dalam pengembangan aplikasi ini tidak lepas dari penggunaan notasi-notasi yang biasa disebut sebagai UML (Unified Modeling Language). UML adalah bahasa pemodelan standar atau kumpulan teknik-teknik pemodelan untuk menspesifikasi, mem-visualisasi, mengkonstruksi dan mendokumentasi hasil kerja dalam pengenmabangan perangkat lunak (Fowler, 2004). Ada beberapa jenis diagram UML yang digunakan pada pengembangan aplikasi ini, yakni :

Use-case diagram. Diagram ini berguna untuk menggambarkan interaksi antara pengguna dengan sebuah perangkat lunak.

Activity diagram. Diagram ini berguna untuk menggambarkan prosedur-prosedur perilaku perangkat lunak.

Class diagram. Diagram ini berguna untuk menggambarkan class, fitur dan hubungan-hubungan yang terjadi.

Sequence diagram. Diagram ini berguna untuk menggambarkan interaksi antar obyek dengan penekanan pada urutan proses atau kejadian.

(26)

7. Pengembangan Artificial Intelligence pada Sistem Simulator Tank AMX-13

Pada pengembangan aplikasi ini, tahapan dan aktifitas yang dilakukan

mengacu pada proses pengembangan System Development Life Cycle (SDLC)

seperti pada gambar di bawah ini.

(27)

BAB III PERENCANAAN DAN ANALISIS ARTIFICIAL INTELLIGENCE PADA SISTEM SIMULATOR TANK AMX-13

1. Lingkup Masalah

AI pada Simulator Tank AMX-13 adalah perangkat lunak dalam sistem simulator tank AMX-13 yang dapat menggerakan kendaraan kawan maupun musuh atau infranteri lawan secara otomatis berdasarkan keadaan yang terdapat di lapangan agar dapat digunakan dalam pelatihan pertempuran menggunakan tank AMX-13. Perangkat lunak ini dapat menghasilkan keputusan sendiri berdasarkan keadaan yang dialami oleh peserta latihan dan lingkungan sekitar kendaraannnya sehingga membantu peserta latihan dalam bertempur menggunakan tank AMX-13.

2. Deskripsi Umum Sistem

AI pada Simulator Tank AMX-13 digunakan untuk menggerakan benda dinamis seperti tank kawan ataupun musuh secara otomatis.

Perangkat lunak ini dikembangkan dengan pemrograman OOP (Object

Oriented Programming) berbasis desktop. Perangkat lunak ini dapat membantu pengguna dalam berlatih dalam medan pertempuran seperti melawan musuh sungguhan yang dapat bergerak dan menembak sasaran, selain itu perangkat lunak ini dapat meningkatkan kerjasama tim dalam menyelesaikan sebuah misi. AI pada Simulator Tank AMX-13 didukung dengan pengambilan keputusan menggunakan

metode pengambilan keputusan Fuzzy Inference System dengan menggunakan

metode mamdani serta mencari jalan terbaik untuk pathfinding menggunakan metode A*. Operasi ini untuk membantu AI dalam mengambil keputusan ketika keadaan tertentu muncul seperti musuh yang terlihat sudah memasuki jarak tembak.

3. User Requirement

Pengguna perangkat lunak ini merupakan trainer dan trainee yang terlibat

dalam suatu misi latihan menggunakan tank AMX-13.

Dari hasil analisis karakteristik pengguna dan batasan sistem, maka

kebutuhan pengguna (user requirement) adalah sebagai berikut :

1. Anggota TNI atau nama lainnya trainee yang akan berlatih menggunakan

simulator Tank AMX-13 dapat melihat musuh-musuh yang digerakan oleh

AI yang dapat menyerang trainee. Sehingga trainee tidak bisa

memperkirakan pergerakan tank musuh dan harus menyusun strategi untuk mengalahkan AI.

2. Trainer dapat mengatur skenario maupun misi yang harus diselesaikan oleh

trainee.

3. Trainer dapat mengikutsertakan AI atau tidak dalam sebuah misi latihan. 4. Trainee dapat melihat bagaimana tank bergerak dan melawan tank lain yang

dikendalikan oleh AI.

3.1 User Characteristics

(28)

Trainer adalah kelas user yang berfungsi membuat skenario pada 2D world map

dan mengamatinya pada 3D world map untuk mengevaluasi trainee setelah tahap

simulasi. Tahap pertama trainer harus membuat skenario baru dan menambahkan

aktor untuk fasilitas 2D map. Selanjutnya pada tahap kedua trainer akan

mengamati hasil skenario yang dibuat pada 3D world map.

Trainee

Kelas trainee sebagian besar menggunakan 3D world map dibandingkan 2D

world map. Tahap pertama yaitu pada 2D world map peserta pelatihan atau

trainee dapat memilih tank untuk mengontrol skenario simulasi. Tahap kedua

trainee langsung bisa mengontrol tank yang dipilih dan bebas bergerak dalam 3D

world map. Semua tindakan trainee pada 3D world map akan diamati dan dievaluasi oleh trainer.

4. Use Case Diagram

Use Case diagram digunakan untuk menunjukkan interaksi antara pengguna

dan sistem. Selain itu, Use Case juga dapat menggambarkan aliran data yang

terjadi.

4.1 Use Case Trainer membuat skenario

(29)

4.1.1 New Map

Deskripsi : Trainer dapat memilih map mana yang akan dipilih pada suatu

skenario.

Asumsi : File-file program map telah diselesaikan pada produk akhir program.

Steps :

1)Trainer mengakses bagian map yang akan dipilih. 2)Trainer memilih map dan mengkonfirmasi pilihannya.

4.1.2 Create Scenario

Deskripsi : Trainer dapat membuat skenario dari map yang dipilih.

Asumsi : Keputusan pemilihan map sudah dibuat.

Steps :

1)Trainer mengakses tombol skenario yang dibuat.

4.1.3 Load Scenario

Deskripsi : Trainer dapat memuat, memodifikasi, dan mensimulasikan

skenario yang telah ditetapkan.

Asumsi : Harus ada skenario yang telah dibuat sebelumnya. Beberapa skenario dasar akan disediakan bersamaan dengan produk akhir.

Steps :

1)Trainer mengakses tombol loading skenario yang dibuat.

2)Trainer memilih skenario yang ditetapkan dan mengkonfirmasi keputusan.

4.1.4 Save Scenario

Deskripsi : Trainer dapat menyimpan skenario yang telah dibuat.

Asumsi : Trainer telah membuat skenario.

Steps :

1)Trainer mengakses tombol saving skenario yang dibuat.

4.1.5 Add Actor To Scenario

Deskripsi : Trainer dapat menambahkan standar unit untuk skenario yang

ia buat sebelumnya.

Asumsi : Trainer telah membuat skenario.

Steps :

1)Trainer mengakses aktor dan menambahkannya.

2)Trainer memilih terrain yang akan mengambil tempat di dalam skenario dan memutuskan berapa jumlah unit yang ditampilkan.

(30)

4.1.6 Add Mission To Actor

Deskripsi : Trainer dapat menetapkan misi yang berbeda kepada aktor

yang akan berlangsung di skenario.

Asumsi : Trainer telah membuat skenario dan menambahkan aktor ke

dalam skenario.

Steps :

1)Trainer mengakses aktor dan menambahkannya. 2)Trainer memilih aktor untuk menambahkan missinya. 3)Trainer mengkonfirmasi pemilihan aktor yang ditambahkan.

4.1.7 Delete Actor

Deskripsi : Trainer mungkin ingin menghapus aktor yang sebelumnya ia

tambahkan.

Asumsi : Trainer telah membuat skenario dan telah ditambahkan aktor

ke dalam skenario.

Steps :

1)Trainer mengakses aktor dan menambahkannya.

2)Trainer memilih aktor yang ditambahkan sebelumnya kemudian menghapusnya.

3)Trainer mengkonfirmasi keputusan menghapus aktor tersebut.

4.1.8 Set Environment

Deskripsi : Trainer dapat mengatur kondisi lingkungan dari skenario.

Asumsi : Trainer telah membuat skenario.

Steps :

1)Trainer mengakses pengaturan bagian lingkungan.

2)Trainer memilih kondisi lingkungan (siang atau malam, kondisi cuaca, dll).

3)Trainer mengkonfirmasi pemilihan kondisi lingkungan.

4.1.9 Observe Scenario

Deskripsi : Setelah trainer memilih skenario dan opsi-opsinya, proses

simulasi akan mulai untuk mengobservasi.

Asumsi : Trainer telah membuat skenario, memilih aktor untuk melakukan suatu misi, dan memilih kodisi lingkungan.

Steps :

1)Trainer mengkonfirmasi semua pilihannya dari pembuatan skenario.

2) Simulasi pertempuran dimulai dengan skenarioyang sudah dipilih lalu

(31)

4.2Use Case Skenario Trainee

Gambar 11 Use Case Skenario Trainee

4.2.1 Choose Actor

Deskripsi : Trainee dapat memilih aktor yang ia inginkan untuk

digunakannya didalam 3D world.

Asumsi : Skenario telah dibuat dan aktor telah ditambahkan ke skenario tersebut oleh trainer.

Steps :

1)Trainer memilih ikon 2D dari aktor pada 2D map.

4.3 Use Case 3D World Console Trainer

Gambar 12 Use Case 3D World Console Trainer

4.3.1 Change Camera

Deskripsi : Trainer dapat mengubah sudut kamera dan posisi kamera.

Asumsi : Defaultangle kamera dan posisi kamera sudah ditambahkan

ke map.

Steps :

1)Trainer mengakses bagian perubahan kamera dari konsol.

2)Trainer mengontrol sudut kamera dengan tombol arah dan gerakan

mouse.

(32)

4.3.2 Pause-Continue

Deskripsi : Trainer dapat menghentikan sementara atau melanjutkan observasi.

Asumsi : Proses simulasi telah dimulai untuk melakukan observasi.

Steps :

1)Trainer mengakses tombol Start/Stop yang merupakan bagian dari konsol.

4.3.3 Forward

Deskripsi : Trainer dapat mempercepat observasi.

Asumsi : Proses simulasi telah dimulai untuk melakukan observasi.

Steps :

1)Trainer mengakses tombol Forward yang merupakan bagian dari konsol.

4.4 3D World Consol Trainee

Gambar 13 Use Case 3D World Console Trainee

4.4.1 Movement

Deskripsi : Trainee mengontrol pergerakan unit yang dipilihnya.

Asumsi : Tidak ada hambatan apapun pada arah gerakan.

Steps :

(33)

4.4.2 Fire

Deskripsi : Trainee menembak untuk membunuh atau menghancurkan

beberapa target musuh.

Asumsi : Trainee memiliki peluru untuk menembak.

Steps :

1)Trainee mengatur kursor untuk menghancurkan target.

2)Klik tombol kiri mouse untuk menembak.

4.4.3 Change Position

Deskripsi : Trainee mengatur gerakan tertentu dari tank seperti patroli

atau bertahan.

Asumsi : Tidak ada hambatan apapun pada gerakan vertikal.

Steps :

1)Trainee mengatur kursor unit menggunakan keyboard dan mouse.

2)Tombol arah kiri dan kanan sesuai dengan gerakan horisontal.

4.4.4 Change Position of Cursor

Deskripsi : Kursor ditampilkan pada tengah layar. Kursor menunjukkan arah unit dan senjata.

Asumsi : Tiap unit telah dibatasi kemampuan pergerakan kursornya.

Steps :

1) Mouse mengontrol posisi kursor. Menurut gerakannya arah kursor terdiri dari kiri, kanan, atas, dan bawah.

(34)

5. Class Diagram

Gambar 14 Class Diagram User

Diagram ini menggambarkan kelas pengguna yang mendefinisikan

pengguna. Kelas dasar atau base class adalah kelas user yang terdiri dari UserId,

Password, dan SimulationId. Objek dari kelas ini dapat dibuat pada awal eksekusi

dengan memparsing file konfigurasi yang diperlukan. Unique id pada

SimulationId berfungsi untuk mendefinisikan apakah user termasuk Trainer atau

(35)

Gambar 15 Class Diagram AI

Pada level ini package AI mampu menyediakan waypoint untuk aktor dan

menetapkan target. BaseAIComponent menangani komunikasi antaran Game

Engine Delta3D dan aktor. Kelas Waypoint dan WaypointManager menyediakan

waypoints untuk aktor. Kelas Goal dan Conditional didesain untuk menentukan

target tujuannya dengan memilih aktor, mendefinisikan urutan conditional, dan

(36)

6. System Sequence Diagram

(37)

Gambar 17 Sequence diagram Actor Deletion

(38)

7. Activity Diagram

Penggunaan diagram ini untuk memvisualisasikan diagram aktivitas yang dilakukan oleh trainer, trainee dan juga proses login ke dalam sistem.

(39)
(40)
(41)

BAB IV PERANCANGAN DAN IMPLEMENTASI ARTIFICIAL

INTELLIGENCE PADA SISTEM SIMULATOR

TANK AMX-13

1. Perancangan AI pada Simulator Tank AMX-13

Gambar 22. AI Related Classes

BaseAIComponent menangani komunikasi antaran Game Engine Delta3D

dan aktor. Kelas Waypoint dan WaypointManager menyediakan waypoints untuk

aktor. Kelas Goal dan Conditional didesain untuk menentukan target tujuannya

dengan memilih aktor, mendefinisikan urutan conditional, dan goal. Semua game

actor pada simulasi memiliki misi tertentu.

1) Missions

Terdapat 3 tipe misi yaitu:

Moving

Pada misi ini, setelah aktor ditambahkan ke dalam skenario lalu

aktor akan diberikan waypoint untuk menentukan titik akhir dalam map.

Kemudian aktor akan berpindah posisi dari waypoint awal ke waypoint

selanjutnya.

Defending

Pada misi ini, aktor akan menjaga suatu daerah tertentu yang telah

diberikan oleh trainer. Peserta pelatihan diharapkan mampu

(42)

Patrolling

Misi ini mirip dengan misi Defending tetapi terdapat perbedaan

yaitu setelah trainer menambahkan aktor dengan skenario, ia akan memberikan waypoint dan misi berpatroli pada waypoint tersebut.

Trainee yang mengontrol actor akan diberi pesan tentang misi patroli

dan tempat dimana saja ia harus patroli akan ditampilkan dalam map.

2) Simulation Goals

Ada 2 tipe dari Simulation Goals:

Elimination Goal

Ketika Trainer memberikan goal kapada tim, Non-Controllable Actor atau AI akan menghancurkan musuh dan bangunan, dan

Controllable Actor atau Trainee akan diberi pesan bagaimana goal

mereka dan diharapkan Trainee dapat menghancurkan musuh.

Capturing/Defending Goal

Trainer dalam satu tim akan menetapkan goal untuk menyerang

area tim lain. Dimana Trainer tim lain akan menetapkan goal bertahan

untuk menjaga area timnya. Diharapkan pesan yang disampaikan

(43)

3) Terrain Data

Berikut contoh potongan dari terrain data ditunjukkan oleh gambar

dibawah ini. XML menyimpan berbagai data yang berhubungan dengan medan dari simulasi.

(44)

4) Actor’s Data

Aktor data menyimpan berbagai data yang berkaitan dengan aktor dan property aktor yang berada dalam simulasi.

(45)

2 Implementasi AI pada Simulator Tank AMX-13

Tahap implementasi baru berhasi pada penggunaan algoritma pathfinding

dalam menjalankan soldier. Soldier akan berjalan di kota secara otomatis mengikuti jalur tertentu sesuai navigasi. Tampilan grafis berupa model 3D yang terdiri dari objek statis yang berbeda seperti rumah, batu, pohon, dan dinding dengan tekstur lingkungan yang lebih realistis.

Aplikasi ini terdiri dari beberapa source files sebagai berikut:

AICharacter.h – menyediakan kelas antarmuka untuk implementasi karakter AI. •AICharacter.cpp – Mengimplementasikan perilaku karakter prajurit. Kelas ini

berfungsi untuk menemukan logika dalam implementasi seperti metode path

planning. Perhitungan rute dilakukan oleh algoritma path planning yang ada pada

Delta3D. Pada saat runtime, API menyediakan metode yang akan merencanakan

rute antara dua titik yang akan dilakukan dengan mencari navigation graph

menggunakan algoritma A*. Fungsi ini mengembalikan jalur terpendek ke lokasi tujuan dalam bentuk daftar waypoints. Penggunaan sebenarnya dari arah titik

untuk pergerakan karakter tidak ditangani oleh Delta3D tetapi ditangani oleh code

pengguna dimana dalam hal ini oleh kelas AICharacter. Pada gambar dibawah ini

akan ditunjukkan bagaimana fungsi ini dilakukan oleh aplikasi WalkingSoldier.

Method dari FindPathAndGoToWaypoint adalah kelas member dari kelas

AICharacter. Method ini menentukan apakah ada jalan antara waypoint saat ini dan waypoint yang lain sebagai parameter input. Pemanggilan Delta3D A* Algorithm untuk menentukan apakah path ditemukan atau tidak. Jika jalur

ditemukan, bagian if statement akan mengeksekusi setiap waypoint dan diberi

warna hijau kecuali yang terakhir diberi warna merah. Jika tidak ada path yang

ditemukan FindPathAndGoToWaypoint mengembalikan nilai false.

TestAI.h – menyediakan kelas antarmuka untuk menguji aplikasi

TestAI.cpp – Menyediakan fungsi uji karakter AI dan menyiapkan konfigurasi

pemandangan, menempatkan kamera, memuat peta, dan memuat waypoint. Kelas

TestAI merupakan extends dari kelas Application yang berisi template untuk

menciptakan sebuah aplikasi Delta3D. Template ini terdiri dari sejumlah virtual

Methods yang menyediakan kerangka dasar untuk aplikasi. Kelas TestAI

meng-override virtual Methods dari kelas Application:

- Config: Mengatur pemandangan dengan menempatkan kamera dan memuat

model grafis dan menempatkan karakter di waypoint pertama.

- KeyPressed: Membuat pengguna dapat berinteraksi dengan aplikasi dengan

menggunakan keyboard.

- PreFrame: Dipanggil oleh aplikasi sebelum menggambar pemandangan dan disebut juga aplikasi loop.

(46)

Gambar 25. Method FindPathAndGoToWaypoint

Method FindPathAndGoToWaypoint menggunakan algoritma A*

pathfinding untuk menghitung path antara waypoints.

Gambar 26. Method GoToWayPoint

(47)

Gambar 27. Fungsi Main

Fungsi main berfungsi untuk menjalankan aplikasi dengan menggunakan mapName sesuai dengan yang sudah dikonfigurasi oleh pengguna dan mengambil

root path pada folder Delta3D /examples/data.

Gambar 28. Animation Soldier pada Delta3D

(48)

BAB V PENUTUP

Peserta praktek kerja lapang di PT. Dirgantara Indonesia (PERSERO), divisi Pusat Teknologi, Departemen Rekayasa Industri dan Perangkat Lunak mengikuti kegiatan pengembangan simulator Tank AMX-13 yang baru berjalan sekitar dua bulan. Peserta PKL diharapkan dapat menganalisis dan merancang serta mencoba mengimplementasikan AI pada simulator Tank AMX-13.

Kesimpulan

Implementasi AI pada simulator Tank AMX-13 belum dapat dilakukan

secara keseluruhan karena peserta PKL belum mempelajari ilmu dasar simulation

dan game engine di bangku kuliah. Peserta juga tidak memiliki waktu yang cukup karena banyaknya hal yang harus dipelajari terlebih dahulu sebelum membuatnya sampai selesai. Peserta PKL berhasil membuat sebuah rancangan pengambilan

keputusan menggunakan Fuzzy Inference System dengan metode mamdani namun

pembuatan rancangan masih menggunakan bahasa JAVA dengan bantuan aplikasi NetBeans 7. Rancangan ini masih menggunakan metode input dalam menghitung yang seharusnya input dilakukan secara otomatis dan berkala (setiap detik).

Rancangan ini menggunakan database yang ada pada library aplikasi Delta3D dan

beberapa asumsi yang diberikan oleh pebimbing lapangan.

Contoh program sederhana pathfinding Delta3D berada di tahap

implementasi. Sedangkan contoh program pengambilan keputusan telah dibuat oleh peserta PKL dan dimasukkan ke dalam halaman lampiran. Contoh program ini mampu menentukan keputusan berdasarkan informasi pada database berupa kondisi yang dihadapi oleh kendaraan AI.

Saran

Peserta harus lebih menguasai berbagai aplikasi yang dibutuhkan dalam

pembuatan simulator 3D seperti Delta3D serta beberapa dependencies yang ada.

Membuat animasi dan aktor juga perlu dipelajari contohnya menggunakan

software 3DS Max, setelah aktor dibuat maka tahapan implementasi artificial intelligence pada aktor tersebut dapat dilakukan. Peserta juga harus aktif bertanya

kepada user tentang apa yang dibutuhkan dalam simulator tersebut. Peserta juga

(49)

DAFTAR PUSTAKA

Arif, Yunia Miftachul, et al. Jurnal : Integrasi Hierarchy Finite State Machine dan

Logika Fuzzy untuk Desain Strategi NPC Game. Institut Teknologi Sepuluh

Nopember, [5 Agustus 2012].

Brandstetter, William E et al. Jurnal : SAI-BOTS:Scripted Artificial Intellegent Basic Online Tank Simulator. Department of Computer Science and Engineering University of Nevada, Reno, 2005.

Dewan, Lt Col Chetan. 2008. Disertasi : Customising Open-Source Rendering

Engine for Visual-based Simulation. Bombay : Indian Institute of Technology.

Dimyati, Akhmad dan Tjutju Tarliah Dimyati. 1987. Operations Research : Model-Model Pengambilan Keputusan. Bandung : Sinar Baru Bandung.

Martin, Robert C et al. Jurnal: UML Tutorial : Finite State Machines. Engineering

Notebook Column.

Mulyanto, Aunur. 2008. Rekayasa Perangkat Lunak Jilid 1. Departemen Pendidikan Nasional : Direktorat Pembinaan Sekolah Menengah Kejuruan. Novrisal, Dimas. Permodelan Sistem : Pusat Pengembangan Bahan Ajar-UMB.

Setiawan, Iwan. 2006. Perancangan Software Embedded System Berbasis FSM.

Universitas Diponegoro.

Benny Tsai. Introduction to the A-Star Algorithm.

http://upe.acm.jhu.edu/websites/Benny_Tsai/Introduction%20to %20AStar.htm [12 Agustus 2012].

Gronbaek, Bjorn. 2009. Thesis: Development of a Graphical Regression Test Tool

for use in 3D Virtual Environments.

http://www.delta3d.org. [29 Juni 2012].

Nottoo Soft REARTS. Detailed Design Report.

(50)

LAMPIRAN

Asumsi Membership Function TANK AMX-13

Lingkungan ---> (kondisi tanah --- tempat berlindung)

mendukung : 0-0-10-50 (trapesium)

kurang mendukung : 25-50-75 (segitiga)

tidak mendukung : 50-90-100-100 (trapesium)

Kondisi Tank ---> (kondisi mesin --- jumlah amunisi)

Bagus : 0-0-10-40 (trapesium)

kurang bagus : 25-40-60-70 (trapesium)

tidak bagus : 45-85-100-100 (trapesium)

Kondisi Lapangan ---> (jumlah tank lawan ---- kondisi tank kawan)

mendukung : 0-0-10-50 (trapesium)

kurang mendukung : 25-40-60-75 (trapesium)

tidak mendukung : 50-90-100-100 (trapesium)

Kondisi Tanah

aspal (jalan yang bagus) : 0-0-25 (segitiga)

tanah merah : 20-(30-40)-50 (trapesium)

berpasir : 40-55-75 (segitiga)

berlumpur : 60-90-100-100 (trapesium)

tempat berlindung

baik : 0-0-10-40 (trapesium)

kurang baik : 25-40-60-70 (trapesium)

tidak baik : 45-85-100-100 (trapesium)

Kondisi Mesin

baik : 0-0-10-40 (trapesium)

kurang baik : 25-40-50-70 (trapesium)

tidak baik : 50-85-100-100 (trapesium)

Jumlah Amunisi (pake selisih)

cukup : 0-25 (segitiga)

tidak cukup : 20-32 (segitiga)

Jumlah Tank Lawan

sedikit : 0-5 (segitiga)

banyak : 3-10 (segitiga)

kondisi tank kawan ---> (jumlah tank kawan --- jarak tank kawan)

mendukung : 0-0-10-50 (trapesium)

kurang mendukung : 25-50-75 (segitiga)

(51)

Jumlah tank kawan (pake selisih)

banyak : 0-3 (segitiga)

sedikit : 2-4 (segitiga)

jarak tank kawan

dekat : 0-0-10-30 (trapesium)

jauh : 25-70-100-100 (trapesium)

keputusan ---> (Lingkungan --- kondisi tank --- kondisi lapangan)

tembak : 0-0-15-35 (trapesium)

panggil bantuan tembak : 20-35-50 (segitiga)

panggil bantuan lari : 35-50-75 (segitiga)

lari : 50-90-100-100 (trapesium)

Contoh pembuatan perancangan pengambilan keputusan metode mamdani.

Gambar 29. Diagram dari contoh program pengambilan keputusan

Keputusan diambil dari perhitungan fuzzy kondisi lapangan, kondisi

lingkungan, dan kondisi Tank. Masing-masing kondisi juga merupakan hasil

perhitungan fuzzy dari data dinamis seperti jumlah tank lawan, kondisi mesin,

(52)

Tabel 1: Rule FISKeputusan

Hasil Keputusan Kondisi_Lingkungan Kondisi_Tank Kondisi_Lapangan

Tembak Mendukung Bagus Mendukung

Tembak Mendukung Kurang Bagus Mendukung

Tembak Kurang Mendukung Bagus Mendukung

Panggil Bantuan Tembak

Mendukung Bagus Kurang Mendukung

Panggil Bantuan

Lari Mendukung Bagus Tidak Mendukung

Panggil Bantuan Lari

Kurang Mendukung Bagus Kurang Mendukung

Panggil Bantuan

Lari Mendukung Kurang Bagus Kurang Mendukung

Lari Tidak Mendukung -

-Lari - Tidak Bagus

-Lari Kurang Mendukung Kurang Bagus

-Lari - Kurang Bagus Tidak Mendukung

Tabel 2: Rule FISLingkungan

Hasil Kondisi_Lingkungan Kondisi_Tanah Tempat_Berlindung

Mendukung Aspal

-Mendukung Tanah Merah Baik

Kurang Mendukung Tanah Merah Kurang Baik

Kurang Mendukung Tanah Merah Tidak Baik

Mendukung Berpasir Baik

Kurang Mendukung Berpasir Kurang Baik

Tidak Mendukung Berpasir Tidak Baik

Kurang Mendukung Berlumpur Baik

Tidak Mendukung Berlumpur Kurang Baik

Tidak Mendukung Berlumpur Tidak Baik

Tabel 3: Rule FISKondisi_Tank

Hasil Kondisi_Tank Kondisi_Mesin Jumlah_Amunisi

Bagus Baik Cukup

Kurang Bagus Baik Tidak Cukup

Kurang Bagus Kurang Baik Cukup

Tidak Bagus Kurang Baik Tidak Cukup

(53)

-Pada tabel 1 rule keputusan, input dari ‘Keputusan’ adalah

Kondisi_Lapangan, Kondisi_Tank, dan Kondisi_Lingkungan. Contoh rulenya

dapat dibaca sebagai berikut “IF Kondisi_Lingkungan = ‘mendukung’ AND

Kondisi_Tank = ‘bagus’ AND Kondisi_Lapangan = ‘mendukung’ THEN

Keputusan = ‘Tembak’”. Cara pembacaan juga berlaku untuk tabel keputusan lainnya.

Tabel 4: Rule FISKondisi_Lapangan

Hasil Kondisi_Lapangan Jumlah_Tank_Lawan Kondisi_Tank_Kawan

Mendukung Sedikit Mendukung

Mendukung Sedikit Kurang Mendukung

Kurang Mendukung Sedikit Tidak Mendukung

Kurang Mendukung Banyak Mendukung

Tidak Mendukung Banyak Kurang Mendukung

Tidak Mendukung Banyak Tidak Mendukung

Tabel 5: Rule FISKondisi_Tank_Kawan

Hasil Kondisi_Tank_Kawan Jumlah_Tank_Kawan Jarak_Tank_Kawan

Mendukung Banyak Dekat

Kurang Mendukung Sedikit Dekat

Kurang Mendukung Banyak Jauh

Tidak Mendukung Sedikit Jauh

(54)

Gambar 31. program pengambilan keputusan menggunakan FIS hasilnya

Pengambilan keputusan ini dimulai dengan perhitungan Fuzzy terhadap entitas Kondisi_Tank_Kawan dengan inputnya Jumlah_Tank_Kawan dan Jarak_Tank_Kawan. Setelah didapatkan hasilnya, entitas Kondisi_Lapangan mulai dihitung dengan inputnya Kondisi_Tank_Kawan dan Jumlah_Tank_Lawan. Kemudian secara bersamaan Kondisi_Lingkungan dan Kondisi_Tank dihitung berdasarkan inputnya masing-masing yaitu Kondisi_Tanah dan Tempat_Berlindung untuk Kondisi_Lingkungan serta Kondisi_Mesin dan Jumlah_Amunisi untuk Kondisi_Tank. Setelah output dari hitungannya didapat, Kondisi_Lapangan, Kondisi_Lingkungan, dan Kondisi_Tank menjadi input untuk

perhitungan terakhir yaitu pengambilan Keputusan. Salah satu asumsi rule yang

Figur

Gambar 1 Struktur Organisasi PT Dirgantara Indonesia

Gambar 1

Struktur Organisasi PT Dirgantara Indonesia p.11
Gambar 2 Struktur Organisasi Divisi Pusat Teknologi PT Dirgantara Indonesia

Gambar 2

Struktur Organisasi Divisi Pusat Teknologi PT Dirgantara Indonesia p.12
Gambar 4 Simulasi Pesawat Terbang Tempur F16

Gambar 4

Simulasi Pesawat Terbang Tempur F16 p.14
Gambar 3 Simulasi Dinamik Boeing 747

Gambar 3

Simulasi Dinamik Boeing 747 p.14
Gambar 5 Simulasi Kecepatan Pesawat Terbang

Gambar 5

Simulasi Kecepatan Pesawat Terbang p.15
Gambar 6 Simulasi Antrian Bank

Gambar 6

Simulasi Antrian Bank p.15
Gambar 7.AI pada Components Package Delta3D

Gambar 7.AI

pada Components Package Delta3D p.24
Gambar 8 The Waterfall Model

Gambar 8

The Waterfall Model p.25
Gambar 9 System Development Life Cycle (SDLC)

Gambar 9

System Development Life Cycle (SDLC) p.26
Gambar 10 Use Case trainer membuat skenario

Gambar 10

Use Case trainer membuat skenario p.28
Gambar 12 Use Case 3D World Console Trainer

Gambar 12

Use Case 3D World Console Trainer p.31
Gambar 13 Use Case 3D World Console Trainee

Gambar 13

Use Case 3D World Console Trainee p.32
Gambar 14 Class Diagram User

Gambar 14

Class Diagram User p.34
Gambar 15 Class Diagram AI

Gambar 15

Class Diagram AI p.35
Gambar 16 Sequence diagram Actor Creation

Gambar 16

Sequence diagram Actor Creation p.36
Gambar 17 Sequence diagram Actor Deletion

Gambar 17

Sequence diagram Actor Deletion p.37
Gambar 18 Sequence Diagram Trainer Console Usage

Gambar 18

Sequence Diagram Trainer Console Usage p.37
Gambar 19. Activity Diagram Login

Gambar 19.

Activity Diagram Login p.38
Gambar 20. Activity Diagram Trainer

Gambar 20.

Activity Diagram Trainer p.39
Gambar 21. Activity Diagram Trainee

Gambar 21.

Activity Diagram Trainee p.40
Gambar 22. AI Related Classes

Gambar 22.

AI Related Classes p.41
Gambar 24. Subsection of the Senario File Marine.xml

Gambar 24.

Subsection of the Senario File Marine.xml p.44
Gambar 25. Method FindPathAndGoToWaypoint

Gambar 25.

Method FindPathAndGoToWaypoint p.46
Gambar 28. Animation Soldier pada Delta3D

Gambar 28.

Animation Soldier pada Delta3D p.47
Gambar 27. Fungsi Main

Gambar 27.

Fungsi Main p.47
Gambar 29. Diagram dari contoh program pengambilan keputusan

Gambar 29.

Diagram dari contoh program pengambilan keputusan p.51
Tabel 2: Rule FISLingkungan

Tabel 2:

Rule FISLingkungan p.52
Tabel 3: Rule FISKondisi_Tank

Tabel 3:

Rule FISKondisi_Tank p.52
Tabel 5: Rule FISKondisi_Tank_Kawan

Tabel 5:

Rule FISKondisi_Tank_Kawan p.53
Gambar 31. program pengambilan keputusan menggunakan FIS hasilnya

Gambar 31.

program pengambilan keputusan menggunakan FIS hasilnya p.54

Referensi

Memperbarui...

Related subjects :