Anda di halaman 1dari 54

LAPORAN PRAKTEK KERJA LAPANGAN

DI DEPARTEMEN REKAYASA INDUSTRI DAN PERANGKAT


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
BOGOR
2012
LAPORAN PRAKTEK KERJA LAPANGAN
DI DEPARTEMEN REKAYASA INDUSTRI DAN PERANGKAT
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
BOGOR
2012
Instansi :
Departemen Rekayasa Industri dan Perangkat Lunak Divisi Pusat Teknologi
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

Dr.Ir. Agus Buono, MSi, MKom


NIP. 19660702 199302 1001
i

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

Penulis
ii

DAFTAR ISI

Halaman
KATA PENGANTAR..................................................................................................i
DAFTAR ISI................................................................................................................ii
DAFTAR GAMBAR..................................................................................................iii
DAFTAR TABEL.......................................................................................................iv
BAB I PENDAHULUAN..........................................................................................vi
1.Latar Belakang....................................................................................................vi
2.Tujuan..................................................................................................................vi
3. Ruang Lingkup..................................................................................................vi
PT Dirgantara Indonesia........................................................................................vi
4.Visi dan Misi PT Dirgantara Indonesia ............................................................vii
5.Struktur Organisasi............................................................................................vii
6.Waktu dan Jadwal Kerja Praktek Kerja Lapangan.............................................ix
7.Deskripsi Singkat Kajian....................................................................................ix
BAB II LANDASAN TEORI......................................................................................x
Simulasi...................................................................................................................x
Simulator Terintegrasi Tank AMX-13................................................................xiii
Spesifikasi Teknis Driving Simulator RANPUR Tank AMX-13.......................xiv
Kecerdasan Buatan(Artificial Intelligence)........................................................xvii
Kecerdasan Buatan pada Game...........................................................................xix
Metodologi Pengembangan................................................................................xxii
Pengembangan Artificial Intelligence pada Sistem Simulator Tank AMX-13 xxiii
BAB III PERENCANAAN DAN ANALISIS ARTIFICIAL INTELLIGENCE
PADA SISTEM SIMULATOR TANK AMX-13..................................................xxiv
Lingkup Masalah................................................................................................xxiv
Deskripsi Umum Sistem....................................................................................xxiv
User Requirement..............................................................................................xxiv
Use Case Diagram...............................................................................................xxv
Class Diagram....................................................................................................xxxi
System Sequence Diagram..............................................................................xxxiii
Activity Diagram...............................................................................................xxxv
BAB IV PERANCANGAN DAN IMPLEMENTASI ARTIFICIAL
INTELLIGENCE PADA SISTEM SIMULATOR...........................................xxxviii
TANK AMX-13.................................................................................................xxxviii
1.Perancangan AI pada Simulator Tank AMX-13........................................xxxviii
Implementasi AI pada Simulator Tank AMX-13................................................xlii
BAB V PENUTUP...................................................................................................xlv
DAFTAR PUSTAKA..............................................................................................xlvi
iii

DAFTAR GAMBAR

Halaman
Gambar 1 Struktur Organisasi PT Dirgantara Indonesia.........................................viii
Gambar 2 Struktur Organisasi Divisi Pusat Teknologi PT Dirgantara Indonesia.....ix
Gambar 3 Simulasi Dinamik Boeing 747...................................................................xi
Gambar 4 Simulasi Pesawat Terbang Tempur F16....................................................xi
Gambar 5 Simulasi Kecepatan Pesawat Terbang......................................................xii
Gambar 6 Simulasi Antrian Bank..............................................................................xii
Gambar 7.AI pada Components Package Delta3D..................................................xxi
Gambar 8 The Waterfall Model...............................................................................xxii
Gambar 9 System Development Life Cycle (SDLC).............................................xxiii
Gambar 10 Use Case trainer membuat skenario.....................................................xxv
Gambar 11 Use Case Skenario Trainee................................................................xxviii
Gambar 12 Use Case 3D World Console Trainer................................................xxviii
Gambar 13 Use Case 3D World Console Trainee..................................................xxix
Gambar 14 Class Diagram User.............................................................................xxxi
Gambar 15 Class Diagram AI...............................................................................xxxii
Gambar 16 Sequence diagram Actor Creation.....................................................xxxiii
Gambar 17 Sequence diagram Actor Deletion.....................................................xxxiv
Gambar 18 Sequence Diagram Trainer Console Usage.......................................xxxiv
Gambar 19. Activity Diagram Login.....................................................................xxxv
Gambar 20. Activity Diagram Trainer.................................................................xxxvi
Gambar 21. Activity Diagram Trainee................................................................xxxvii
Gambar 22. AI Related Classes..........................................................................xxxviii
Gambar 23. Subsection of the Scenario File TestTownLt Map.................................xl
Gambar 24. Subsection of the Senario File Marine.xml...........................................xli
Gambar 25. Method FindPathAndGoToWaypoint ................................................xliii
Gambar 26. Method GoToWayPoint......................................................................xliii
Gambar 27. Fungsi Main.........................................................................................xliv
Gambar 28. Animation Soldier pada Delta3D........................................................xliv
Gambar 29. Diagram dari contoh program pengambilan keputusan....................xlviii
Gambar 30. program pengambilan keputusan menggunakan FIS...............................l
Gambar 31. program pengambilan keputusan menggunakan FIS hasilnya...............li
iv

DAFTAR TABEL
Halaman
Tabel 1: Rule FISKeputusan....................................................................................xlix
Tabel 2: Rule FISLingkungan.................................................................................xlix
Tabel 3: Rule FISKondisi_Tank..............................................................................xlix
Tabel 4: Rule FISKondisi_Lapangan...........................................................................l
Tabel 5: Rule FISKondisi_Tank_Kawan.....................................................................l
v

DAFTAR LAMPIRAN
Halaman
Asumsi Membership Function TANK AMX-13.......................................................44
vi

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
AMX-13.
• Pengembangan Artificial Intelligence yang diajukan peserta PKL berupa
beberapa asumsi yang akan diterapkan untuk gerak tank dalam keadaan
sebenarnya.

PT Dirgantara Indonesia
Pada tahun 1976 melalui Peraturan Pemerintah No. 12 tanggal 5 April,
pemerintah Indonesia telah memberikan kepercayaan penuh kepada Prof. BJ.
Habibie untuk mengembangkan industri pesawat terbang di Indonesia dengan nama
PT. Industri Peswata Terbang Nurtanio, tepatnya pada tanggal 23 Agustus 1976.
Industri ini mempunyai misi untuk menguasai teknologi kedirgantaraan dan
sekaligus mengembangkan kegiatan usaha sebagai layaknya sebuah badan usaha
milik negara. Pada tahun 1986 dalam rangka lebih memperluas jangkauan produksi
dan pemasaran, industri ini berganti nama menjadi PT. Industri Pesawat Terbang
Nusantara. PT. IPTN tidak hanya mempertahankan dan meningkatkan penguasan
teknologi tetapi juga mulai mengarah kepada upaya-upaya bisnis pesawat terbang
yang sesungguhnya. Ketika tahun 1997 krisis ekonomi dan moneter melanda
kawasan Asia tenggara dan Indonesia yang berdampak pada berkurangnya potensi
pasar Dirgantara Indonesia. Berkaitan dengan hal tersebut, sejak Oktober 1998
industri ini mempersiapkan paradigma baru, puncaknya adalah perubahan nama
menjadi PT. Dirgantara Indonesia. Saat ini, PT. Dirgantara Indonesia telah berhasil
sebagai industri manufaktur dan memiliki diversifikasi produknya, tidak hanya
vii

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.
• Menjadikan perusahaan sebagai peMain kelas dunia di industri global yang
mampu bersaing dan melakukan aliansi strategis dengan industri dirgantara
kelas dunia lainya.

5. Struktur Organisasi
PT Dirgantara Indonesia dikepalai oleh seorang direktur utama yang
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. Struktur
organisasi Direktorat Teknologi dan Pengembangan lebih lengkapnya dapat dilihat
pada Gambar 1. Bagian yang dilingkari dengan garis merah adalah tempat penulis
melaksanakan Praktik Kerja Lapangan, yaitu Divisi Pusat Teknologi.
viii

Direktur Utama
PT D.I

Asisten Direktur Utama Bidang


Asisten Direktur Utama Bidang
Sistem Manajemen Mutu
Bisnis Pemerintah
Perusahaan

Divisi Perencanaan &


Sekretariat Perusahaan Satuan Pengawasan Intern Divisi Pengamanan
Pengembangan Perusahaan

Direktorat Umum &


Direktorat Keuangan Sumber Daya Manusia

Divisi Perbendaharaan Divisi Sumber Daya


Manusia

Divisi Jasa Material &


Divisi Akuntansi
Fasilitas

Direktorat Direktorat Aircraft Direktorat Aircraft Direktorat Teknologi &


Aerostructure Integration Services Pengembangan

Divisi Pemasaran & Divisi Pemasaran & Asisten Direktur Bidang


Divisi Integrasi Usaha Penjualan Aircraft Penjualan Aircraft Pengembangan Produk
Integration Services Strategis

Divisi Operasi Divisi Operasi Aircraft Divisi Perawatan &


Aerostructure Integration Divisi Pusat Teknologi
Modifikasi

Divisi Rekayasa Divisi Logistik & Divisi Manajemen Divisi Pusat Rancang
Dukungan Pelanggan Logistik Bangun

Divisi Manajemen
Divisi Manajemen
Sumber Daya Divisi Pusat Uji Terbang
Sumber Daya Aerocraft
Aerostructure
Structure
Divisi Sertifikasi &
Manajemen Sumber
Daya

Divisi Jasa Teknologi &


Rekayasa

Gambar 1 Struktur Organisasi PT Dirgantara Indonesia

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
ix

Divisi Pusat
Teknologi

Perancangan dan Pengendalian Program

Departemen
Departemen
Departemen Departemen Departemen Rekayasa Industri
Pengembangan
Aerodinamika Analisa Struktur Analisa Sistem & Perangkat
Teknologi
Lunak

Kerjasama Teknologi Pengembangan Produk Structrural Loadability Speciality & System System Definition &
& Manajemen HKI Baru Analysis Enginering Integration

Rancang Bangun Sistem Perangkat


Kesiapan Teknologi Load Electrics System
Konfigurasi Lunak

Pengembangan Propulsion & Related Sistem Perangkat


Aero & Dinamika Gas Aeroelasticity System Keras
Metoda

Avionics & Flight Beck Komunikasi &


Mekanika Terbang Stress System Jaringan

Fatique & Fracture Flight Control &


Eksperimenn Aero Mechanical System
Mechanics

Environment System

Gambar 2 Struktur Organisasi Divisi Pusat Teknologi PT Dirgantara Indonesia

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.
x

BAB II LANDASAN TEORI

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
offline adalah simulasi perang, simulasi antrian bank, simulasi ekonomi, dan lain-
lain. Berikut beberapa contoh gambar simulasi,
xi

Gambar 3 Simulasi Dinamik Boeing 747

Gambar 4 Simulasi Pesawat Terbang Tempur F16


xii

Gambar 5 Simulasi Kecepatan Pesawat Terbang

Gambar 6 Simulasi Antrian Bank


xiii

Simulator Terintegrasi Tank AMX-13


Simulator Terintegrasi Tank AMX-13 (STTA13) merupakan wahana untuk
melatih awak/kru ranpur dalam mengoperasikan ranpur Tank AMX-13 baik secara
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.
• Mampu menirukan dinamika ranpur Tank AMX-13 termasuk efek tembakan
dari Cannon.
• Mampu menirukan penembakan senjata Cannon 105 mm dan senjata Coax.
• Mampu membangkitkan visualisasi dinamika lingkungan : efek waktu (time
of day), cuaca (visibility), angin, dan asap.
• Mampu melakukan penilaian hasil latihan secara otomatis.
• Mampu menyediakan Training Management System : manejemen data
siswa, majemen latihan, manajemen skenario latihan dan sistem penilaian.
• Ranpur musuh dapat dikendalikan oleh instruktur atau bergerak secara
otomatis.
xiv

• Ranpur musuh berjumlah maksimal 10 objek yang memiliki skenario


gerakan masing-masing.

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.
b. Visualisasi: berupaview daerah pasir dan lumpur terbatas.
c. Efek Suara: seperti suara mesin ranpur
xv

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. Data Teknis
1. Berat lengkap : 14,5 Ton.
2. Berat kubah + meriam : 5 Ton.
3. Tinggi
a) Dengan kubah : 2,18 m.
b) Badan : 1,38 m.
4. Lebar
a) Badan : 2,51 m.
b) Lebar rantai : 0,35 m.
5. Panjang
a) Dengan kanon : 6,36 m.
b) Tanpa kanon : 44.88 m.
6. Bebas dasar : 0,37 m.
7. Tebal baja
a) Bagian depan : 40 mm.
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.
xvi

4) Amunisi : Kanon 37 butir AA-52


AA-52 10 peti @150 butir
e. Radio : SCR 50B dan AM/GRC-9
f. Kemampuan
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.
8) Tekanan jejak : 0,75 m.
9) Rintangan miring : 310 (60%)

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


(Retrofitting)
a. Awak Kendaraan : 3 orang.
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
a) Depan : 40 mm.
b) Kiri/kanan : 20 mm.
c) Atas/bawah : 10 mm.
d) Belakang : 15 mm.
xvii

c. Senjata
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.
3) Buatan pabrik : Detroit Diesel Alison (DDA).
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

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
xviii

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.
Teknik yang digunakan dalam kecerdasan buatan memungkinkan dibuatnya
sebuah program yang setiap bagiannya mengandung langkah-langkah independen
dan dapat diidentifikasi dengan baik untuk dapat memecahkan sebuah atau
sejumlah persoalan. Setiap potong bagian program adalah seperti sepotong
informasi dalam pikiran manusia. Jika informasi tadi diabaikan, pikiran kita 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
xix

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
1975 John Holland mengatakan bahwa setiap problem berbentuk adaptasi(alami
maupun buatan) secara umum dapat diformulasikan dalam terminologi genetika.
Algortima Genetika ini merupakan simulasi proses evolusi Darwin dan operasi
genetika atas kromosom.

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
xx

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.

A* Pathfinding
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*
adalah sebagai berikut:
a. Manhattan Distance
Manhattan Distance adalah fungsi heuristic standar untuk algoritma
A*. Digunakan pada aplikasi yang memiliki empat arah gerakan dengan
fungsi:
h(n) = d * (abs (Xn - Xgoal) + abs (Yn - Ygoal))
Dimana:
• 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:
xxi

• 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.
• Ygoal adalah koordinat Y dari final node.

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


xxii

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
masalah atau adakah peluang suatu aplikasi dikembangkan. Pada
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.
xxiii

State machine diagram, Diagram ini digunakan untuk menggambarkan


bagaimana suatu kejadian mengubah objek selama masa hidup obyek tersebut.

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.

Gambar 9 System Development Life Cycle (SDLC)


xxiv

BAB III PERENCANAAN DAN ANALISIS ARTIFICIAL INTELLIGENCE


PADA SISTEM SIMULATOR TANK AMX-13

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.

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.

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

Trainer
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
xxv

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.

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

Gambar 10 Use Case trainer membuat skenario

4.1.1 New Map


xxvi

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.
3) Trainer mengkonfirmasi pemilihan aktor yang ditambahkan.
4) Sistem menampilkan daftar unit yang dipilih dan jumlahnya.

4.1.6 Add Mission To Actor


xxvii

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 skenario yang sudah dipilih lalu
trainer mengamatinya.

4.2 Use Case Skenario Trainee


xxviii

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 : Default angle 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.
3) Trainer mengkonfirmasi ketika posisi kamera dan angle diatur.
xxix

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 :
1) Trainee mengontrol unit menggunakan keyboard dan mouse.
2) Tombol arah kiri dan kanan sesuai dengan gerakan horisontal.
3) Mouse dapat mengontrol arah unit.
xxx

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.
.
xxxi

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 Trainee.
xxxii

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
goal. Semua game actor pada simulasi memiliki misi tertentu.
xxxiii

System Sequence Diagram

Gambar 16 Sequence diagram Actor Creation


xxxiv

Gambar 17 Sequence diagram Actor Deletion

Gambar 18 Sequence Diagram Trainer Console Usage


xxxv

Activity Diagram

Penggunaan diagram ini untuk memvisualisasikan diagram aktivitas yang


dilakukan oleh trainer, trainee dan juga proses login ke dalam sistem.

Gambar 19. Activity Diagram Login


xxxvi

Gambar 20. Activity Diagram Trainer


xxxvii

Gambar 21. Activity Diagram Trainee


xxxviii

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
mempertahankan daerah tersebut dari serangan musuh.
xxxix

• 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 trainer
kepada trainee dapat diselesaikan dengan baik oleh trainee.
xl

3) Terrain Data
Berikut contoh potongan dari terrain data ditunjukkan oleh gambar
dibawah ini. XML menyimpan berbagai data yang berhubungan dengan
medan dari simulasi.

Gambar 23. Subsection of the Scenario File TestTownLt Map


xli

4) Actor’s Data
Aktor data menyimpan berbagai data yang berkaitan dengan aktor
dan property aktor yang berada dalam simulasi.

Gambar 24. Subsection of the Senario File Marine.xml


xlii

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.
• Main.cpp – berfungsi untuk memulai aplikasi.
xliii

Gambar 25. Method FindPathAndGoToWaypoint

Method FindPathAndGoToWaypoint menggunakan algoritma A* pathfinding


untuk menghitung path antara waypoints.

Gambar 26. Method GoToWayPoint

Method GoToWaypoint mengirimkan karakter ke waypoint yang telah


didefinisikan oleh parameter input.
xliv

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

Tampilan program yang sudah dieksekusi, soldier akan otomatis berjalan


mencari path terdekat menggunakan algoritma A* Delta3D.
xlv

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 harus
mengetahui keadaan sebenarnya dalam latihan menggunakan tank AMX-13
sehingga peserta paham dalam tahap pembuatannya.
xlvi

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.
Nottoo Soft REARTS. Requirement Analysis Report: Realistic Army Training
Simulation.
xlvii

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)
tidak mendukung : 50-90-100-100 (trapesium)
xlviii

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,
jumlah amunisi, dan lainnya. Perhitungan juga menggunakan data statis (dari
database yang tak berubah nilainya) sepert informasi tentang permukaan tanah.
Berikut tabel Rule setiap FIS dan membership function dari setiap Rulenya terdapat
di lampiran.
xlix

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 Mendukung Bagus Kurang Mendukung
Tembak
Panggil Bantuan Mendukung Bagus Tidak Mendukung
Lari
Panggil Bantuan Kurang Mendukung Bagus Kurang Mendukung
Lari
Panggil Bantuan Mendukung Kurang Bagus Kurang Mendukung
Lari
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
Tidak Bagus Tidak Baik -
l

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

Gambar 30. program pengambilan keputusan menggunakan FIS


li

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 dibuat adalah “IF
Kondisi_Lingkungan = ‘mendukung’ AND Kondisi_Tank = ‘bagus’ AND
Kondisi_Lapangan = ‘mendukung’ THEN Keputusan = ‘Tembak’”. Setelah
pengambilan keputusan didapatkan, AI akan memanggil fungsi yang sesuai dengan
keputusan.

Anda mungkin juga menyukai