• Tidak ada hasil yang ditemukan

BAB 3 ANALISIS DAN PERANCANGAN

3.3 Activity Diagram

+ Nama No_T elepon : String : String + tambah(nama,no_telepon) () Reservasi + tanggal : Date Reservasi Langganan + jumlah : int Reservasi Mandiri T iket + ketersediaan : boolean + penjualan () Penampilan + + + tanggal_penampilan jam jumlah_Kursi : Date : T ime : int Pertunjukan + nama : String

Gambar 2.6 ContohClass DiagramPemesanan Tiket Pertunjukan

2.3.3 Activity Diagram

Activity diagram menggambarkan berbagai alir aktifitas dalam sistem yang

sedang dirancang, bagaimana masing-masing alir berawal, keputusan yang mungkin terjadi dan bagaimana berakhirnya. Activity diagram juga dapat menggambarkan proses pararel yang mungkin terjadi pada beberapa eksekusi [8]. Activity diagram

sebagian besar transisi di-trigger oleh selesainya state sebelumnya (internal

processing). Oleh karena ituactivity diagramtidak menggambarkan perilaku internal

sebuah sistem secara eksak, tetapi lebih menggambarkan proses-proses dan jalur-jalur aktifitas dari level atas secara umum.

Sebuah aktifitas dapat direalisasikan oleh suatu use case atau lebih. Aktifitas menggambarkan proses yang berjalan sementara use case menggambarkan bagaimana aktor menggunakan sistem untuk melakukan aktifitas. Contoh pada

activity diagram pengembalian buku perpustakaan, pada activity diagram

pengembalian buku perpustakaan mempunyai alir aktifitas sebagai berikut :

a. Anggota perpustakaan mengembalikan buku perpustakaan kepada pustakawan. b. Pustakawan memvalidasi data buku yang dipinjam oleh anggota perpustakaan. c. Apabila anggota perpustakaan mengembalikan buku melebihi batas waktu maka

anggota perpustakaan akan mendapat denda dengan membayar sejumlah uang. d. Kemudian pustakawan memvalidasi data anggota perpustakaan.

e. Apabila anggota perpustakaan mengembalikan buku tidak melebihi batas waktu pengembalian maka anggota tidak mendapat denda.

Berikut adalah contohactivity diagrampengembalian buku perpustakaan pada gambar 2.7.

Anggota Pustakawan

Mengembalikan Buku

Denda

Bayar Denda Ya

Validasi Data Buku

Validasi Data Melebihi Tenggat Waktu

Tidak

Gambar 2.7 ContohActivity DiagramPengembalian Buku Perpustakaan

2.3.4 Sequence Diagram

Sequence diagram menggambarkan interaksi antar objek di dalam dan di

sekitar sistem berupa message yang digambarkan terhadap waktu.Sequence diagram

terdiri atas dimensi vertikal (waktu) dan dimensi horizontal (objek-objek yang terkait)

[8]. Sequence diagram biasa digunakan untuk menggambarkan skenario atau

rangkaian langkah-langkah yang dilakukan sebagai respons dari sebuah event untuk menghasilkan output tertentu. Diawali dari apa yang men-trigger aktifitas tersebut, proses dan perubahan apa saja yang terjadi secara internal dan output apa yang dihasilkan. Contoh pada sequence diagram login mempunyai interaksi sebagai berikut :

a. Administrator (Aktor) melakukan login, maka method User ID, Password () memanggil kelas LayarLogin.

b. Kelas Layar Login memanggil kelas Cek User untuk mengecek User ID dan

Password.

c. Kelas Cek User memanggil kelas Data User untuk memvalidasi User ID dan

Passworddidatabase.

d. Apabila User ID dan Password valid maka Administrator beerhasil melakukan

Login.

Berikut adalah contoh darisequence diagram loginpada gambar 2.8.

Sequence Diagram Login

5 : Membuka Menu Utama () 4 : Validasi ()

3 : User ID, Password () 2 : User ID, Password ()

1 : User ID, Password () Administrator

Layar Login Cek User Data User Menu Utama

5 : Membuka Menu Utama () 4 : Validasi ()

3 : User ID, Password () 2 : User ID, Password ()

1 : User ID, Password ()

2.4 Unity

Unity adalah sebuah game developing software. Dengan menggunakan

software ini karena dapat membuat game 3D. Karena software ini sangat mudah

menggunakannya, dengan GUI yang memudahkan kita untuk membuat, memanpulasi dan membuat script untuk menciptakan sebuah game berkonsep 3D. Selain itu bisa untuk build game PC, Unity juga dapat digunakan untuk membangun game console

seperti Nintendo Wii, PS3, Xbox 360, juga Ipad. Iphone dan Android. Namun masing-masih membutuhkan biaya lisensinya sendiri. Selain itu juga bisa juga membuat web, hanya membutuhkan install unity web player. Berikut adalah tampilan

dariUnitypada gambar 2.9.

Gambar 2.9 TampilanUnity

2.5 Pemrograman C

Bahasa pemrograman C diciptakan oleh Dennis Ritchie pada tahun 1972 di Bell Laboratories. Bahasa pemrograman C memiliki kelebihan yaitu :

1. Bahasa C tersedia hampir di semua jenis komputer.

2. Kode bahasa C sifatnya adalah portable dan flesksibel untuk semua jenis komputer.

3. Bahasa C hanya menyediakan sedikit kata-kata kunci, hanya terdapat 32 kata kunci.

4. Prosesexecutableprogram bahasa C lebih cepat. 5. Bahasa C mempunyai dukungan pustaka yang banyak. 6. Bahasa C merupakan bahasa yang terstruktur.

7. Bahasa C termasuk bahasa tingkat menengah.

Penempatan ini hanya menegaskan bahwa C bukan bahasa pemrogaman yang berorintasi pada mesin yang merupakan ciri bahasa tingkat rendah, melainkan berorientasi objek tetapi dapat diintrepertasikan oleh mesin dengan cepat secepat bahasa mesin. Inilah salah satu kelebihan C yaitu memiliki kemudahan dalam menyusun programnya semudah bahasa tingkat tinggi namun dalam mengeksekusi program secepat bahasa tingkat rendah.

Selain kelebihan bahasa pemrograman C juga memiliki kekurangan yaitu : 1. Banyaknya operator serta fleksibilitas penulisan program kadang-kadang

membingungkan pengguna.

2. Bagi pemula pada umumnya akan kesulitan dalam menggunakan pointer.

Dalam mengkompilasi program baru dapat dijalankan setelah melalui tahap kompilasi dan penggabungan. Tahap kompilasi dimaksudkan untuk memeriksa

source program sesuai dengan kaidah-kaidah yang berlaku di dalam bahasa

pemrograman C. Tahap kompilasi akan menghasilkanrelocatable object file.File-file

objek tersebut kemudian digabung dengan perpustakaan fungsi yang sesuai untuk menghasilkan suatuexecutable program.

27 3.1 Analisis

Pada proses analisis ini mencakup berbagai analisis diantaranya analisis masalah, analisis game, analisis masukan, analisis algoritma, analisis kebutuhan perangkat lunak yang mencakup analisis kebutuhan fungsional dan nonfungsional serta perancangan-perancangan dalam pembuatan perangkat lunak.

3.1.1 Analisis Masalah

Game yang bertipe Real Time Strategy (RTS) merupakan game yang mengharuskan pemain mengatur unit-unit, mengatur resources dan mengalahkan lawan. Pada game RTS yang dibuat memiliki konsep bagaimana mengatur perilaku menyerang dan route finding untuk mendapatkan prioritas serangan yang dilakukan dengan mendapatkan posisi dan jarak yang tepat untuk menyerang. Logika fuzzy merupakan solusi yang bisa diterapkan padagame bertipeReal Time Strategy (RTS) untuk mengatur perilaku menyerang dengan pola auto-attackdan route finding. Pola menyerang pada game RTS pada saat ini pada umumnya mengacu pada posisi dan jangkauan tembak atau serangan, sementara itu pada game RTS juga ada pola yang dinamakan route finding, dimana route finding pada saat ini juga digunakan untuk menggerakan unit ke tempat yang diinginkanplayer.

3.1.2 AnalisisGame

Misi utama dari game RTS yang dibuat adalah menyerang musuh, yang menjadi objek atau target sasaran serangannya adalah pasukan musuh dan bangunan musuh. Penggunaan logika fuzzy digunakan untuk mengatur perilaku menyerang dengan pola auto-attack danroute findingkemudian mendapat posisi dan jarak yang tepat untuk menyerang. Peran player pada game yang dibuat adalah menggerakan

unit pasukan ke tempat yang diinginkan player, kemudian menyerang satu pasukan musuh untuk serangan selanjutnya logika fuzzy yang berperan untuk mengatur perilaku menyerang auto-attack dan route finding dimana player tidak perlu memerintahkan unit pasukan untuk menyerang tetapi unit pasukan akan bergerak dan menyerang secara otomatis apabila musuh berada pada jarak dan jangkauan serangan unit pasukan, maka unit pasukan akan menyerang musuh.

Parameter-parameter yang dimiliki musuh menjadi acuan serangan sebab pasukan akan mendapat prioritas serangan berdasarkan life dan power yang dimiliki musuh, peran logika fuzzy yaitu untuk menghasilkan pengambilan keputusan dan prioritas serangan untuk pasukan player, yang sebelumnya melalui tahapan dari logika fuzzy mulai dari tahap fuzzifikasi sampai tahap defuzzikasi. Sehingga keputusan yang dihasilkan relevan dan efektif untuk menyerang musuh.

3.1.3 Analisis Komponen PembuatanGame

Berikut merupakan komponen-komponen yang digunakan dalam pembuatan aplikasi yang dibuat pada penelitian untukgamebertipeReal Time Strategy(RTS).

Tabel 3.1 Komponen PembuatanGame

No Komponen Keterangan

1 Kecerdasan Buatan (AI) Menggunakan logika fuzzy untuk mengatur perilaku menyerang dengan menggunakan pola

auto-attackdanroute finding. 2 Karakter Pemain dan

Musuh

Unit yang dimodelkan dan objek yang digunakan sebagai sasaran serangan yaitu :

1. Pasukan (Player), dan

2. Musuh (Pasukan Musuh dan Bangunan Musuh)

tujuan menerapkan algoritma logika fuzzy untuk mengatur perilaku menyerang dan route finding

pasukanplayer untuk mendapat prioritas serangan yang dilakukan dengan mendapat posisi dan jarak yang tepat untuk menyerang berdasarkan life dan

poweryang dimiliki musuh.

3.1.4 Analisis Masukan

Analisis masukan yang dilakukan dalam penelitian ini adalah menganalisis parameter dalam algoritma logika fuzzy pada Game yang bertipe Real Time Strategy

(RTS), parameter tersebut antara lain jarak, nyawa dan kekuatan yang dimiliki pasukan player, yang nantinya parameter- parameter tersebut berpengaruh pada prioritas serangan yang dilakukan pasukan player. Berikut rentang nilai masukan yang diperbolehkan untuk dimasukan ke dalam parameter jaak, nyawa dan kekuatan musuh pada tabel 3.2.

Tabel 3.2 Parameter Masukan Musuh dan Rentang Nilai Masukannya

No Parameter Rentang Nilai

1 Range(Jarak) 10–80

2 Life(Nyawa) 1–100

3 Power(Kekuatan) 0–100

3.1.5 Analisis Algoritma

Analisis algoritma yang dilakukan dalam penelitian ini adalah menerapkan logika fuzzy pada perilaku menyerang dengan menggunakan pola auto-attack dan

route finding pada unit pasukan player. Logika fuzzy yang digunakan adalah logika

3.1.5.1 Analisis Logika Fuzzy

Logika fuzzy pada game yang dibuat diterapkan pada unit pasukan, untuk mengatur perilaku menyerang danroute finding, dengan tujuan digunakannya logika fuzzy agar keputusan yang unit lakukan menjadi relevan dan efektif. Pada gameyang dibuat ada beberapa tahapan yang digunakan dalam penerapan logika fuzzy untuk mengatur perilaku menyerang dan route finding unit pasukan player menggunakan logika fuzzy Mamdani. Berikut adalah gambar proses dari logika fuzzy Mamdani.

HIMPUNAN FUZZY FUNGSI IMPLIKASI KOMPOSISI ATURAN DEFUZZYKASI

Gambar 3.1 Proses Logika Fuzzy Mamdani

Adapun tahapan-tahapan dari proses logika fuzzy Mamdani antara lain : 1. Pembentukan himpunan fuzzy

Terdapat empat parameter yang digunakan dalam pembentukan himpunan fuzzy antara lain :

a. ParameterRange(Jarak) sebagaiinput. b. ParameterLife(Nyawa) sebagaiinput. c. ParameterPower(Kekuatan) sebagaiinput. d. Parameter Target sebagaioutput.

2. Aplikasi Fungsi Implikasi

Terdapat tiga parameter implikasi yang digunakan antara lain :

a. Range(Jarak) : Dekat dan Jauh.

b. Life(Nyawa) : Lemah, dan Kuat.

3. Komposisi Aturan

Pada kompisisi aturan yang digunakan menggunakan inferensi min. Berikut adalah komposisi aturan untuk logika fuzzy yang digunakan.

a. ParameterRange(Jarak)

Parameter Range (Jarak) dibagi menjadi tiga bagian yaitu Dekat dan Jauh. Rentang nilai dari parameter jarak yaitu antara 10–80. Berikut adalah derajat keanggotaan dari parameterRange(Jarak) pada gambar 3.2.

10 20 30 40 50 60 70 80 0 0.2 0.6 0.8 1 Dekat Jauh Jarak 0.4

Gambar 3.2 Derajat KeanggotaanRange(Jarak)

Pada parameter jarak (Dekat) fuzzifikasinya dihitung berdasarkan grafik yang berbentuk trapesium sebelah kiri. Berikut adalah persamaan untuk parameter jarak (Dekat) pada persamaan 3.1.

µ

Dekat [x] = (3.1)

Pada parameter jarak (Jauh) fuzzifikasinya dihitung berdasarkan grafik yang berbentuk trapesium sebelah kanan. Berikut adalah persamaan untuk parameter jarak (Jauh) pada persamaan 3.2.

µ

Jauh [x] = (3.2)

b. ParameterLife(Nyawa)

Parameter Life (Nyawa) dibagi menjadi dua bagian yaitu : Lemah dan Kuat. Rentang nilai dari parameter Life(Nyawa) yaitu antara 1-100. Berikut adalah derajat keanggotaanLife(Nyawa) pada gambar 3.3

10 20 30 40 50 60 70 80 90 100 1 0 0.2 0.6 0.8 1 Lemah Kuat

Pada parameter nyawa (Lemah) fuzzifikasinya dihitung berdasarkan grafik yang berbentuk trapesium sebelah kiri. Berikut adalah persamaan untuk parameter nyawa (Lemah) pada persamaan 3.3.

µ

Lemah [x] = (3.3)

Pada parameter nyawa (Kuat) fuzzifikasinya dihitung berdasarkan grafik yang berbentuk trapesium sebelah kanan. Berikut adalah persamaan untuk parameter nyawa (Kuat) pada persamaan 3.4.

µ

Kuat [x] = (3.4)

c. ParameterPower(Kekuatan)

ParameterPower(Kekuatan) dibagi menjadi dua bagian yaitu : Lemah dan Kuat. Rentang nilai parameterPower(Kekuatan) yaitu antara 0-100. Berikut adalah derajat keanggotaan parameterPower(Kekuatan) pada gambar 3.4.

10 20 30 40 50 60 70 80 90 100 0 0 0.2 0.6 0.8 1 Kekuatan Lemah Kuat

Gambar 3.4 Derajat KeanggotaanPower(Kekuatan)

Pada parameter kekuatan (Lemah) fuzzifikasinya dihitung berdasarkan grafik yang berbentuk trapesium sebelah kiri. Berikut adalah persamaan untuk parameter kekuatan (Lemah) pada persamaan 3.5.

µ

Lemah [x] = (3.5)

Pada parameter kekuatan (Kuat) fuzzifikasinya dihitung berdasarkan grafik yang berbentuk trapesium sebelah kanan. Berikut adalah persamaan untuk parameter kekuatan (Lemah) pada persamaan 3.6.

d. Kaidah /RulesFuzzy

Berikut adalah aturan perilaku yang berlaku berdasarkan kaidah atau rules yang diterapkan dalam penentuan perilaku menyerang dari unit pasukan player untuk mendapat prioritas serangan diantaranya adalah :

1) If (Range is Dekat) and (Life is Lemah) and (Poweris Lemah) then (Menyerang

Prioritas Ke-1).

2) If (Range is Dekat) and (Life is Lemah) and (Power is Kuat) then (Menyerang

Prioritas Ke-2).

3) If (Range is Dekat) and (Life is Kuat) and (Power is Lemah) then (Menyerang

Prioritas Ke-1)

4) If (Range is Dekat) and (Life is Kuat) and (Power is Kuat) then (Menyerang

Prioritas Ke-2).

5) If (Range is Jauh) and (Life is Lemah) and (Power is Lemah) then (Menyerang

Prioritas Ke-1).

6) If (Range is Jauh) and (Life is Lemah) and (Power is Kuat) then (Menyerang

Prioritas Ke-2).

7) If (Range is Jauh) and (Life is Kuat) and (Power is Lemah) then (Menyerang

Prioritas Ke-1).

8) If (Range is Jauh) and (Life is Kuat) and (Power is Kuat) then (Menyerang

Prioritas Ke-2).

e. Defuzzikasi

Merupakan suatu proses untuk memperoleh nilai crisp sebagai solusi dari sistem fuzzy menggunakan metode centroid. Metode centroid akan mencari nilai z yang nantinya menjadi pengambilan keputusan pasukan player untuk menyerang prioritas utama atau prioritas kedua berdasarkan rumus 2.1.

Pada parameter target yaitu menyerang prioritas ke-1 dan menyerang prioritas ke-2 mempunyai rentang nilai antara 10–80 dijelaskan sebagai berikut :

1. Menyerang Prioritas Ke-1 = 10–30 2. Menyerang Prioritas Ke-2 = 50–80

10 20 30 40 50 60 70 80 0 0.2 0.6 0.8 1 Menyerang Prioritas Ke- 1 Menyerang Prioritas Ke- 2 Target 0.4 Z

Gambar 3.5 Derajat Keanggotan Target

Untuk menghitung target menyerang prioritas ke-1 menggunakan perhitungan dengan rumus 2.1. Berikut perhitungan untuk target menyerang prioritas ke-1.

30–(min[i] * 8)

Sedangkan untuk menghitung target menyerang prioritas ke-2 menggunakan perhitungan dengan rumus 2.1, Berikut perhitungan untuk target menyerang prioritas ke-2

Contoh Kasus PadaGame

Misal apabila Range (Jarak) antara pasukan player dan pasukan musuh memiliki nilai [31], Life (Nyawa) yang dimiliki pasukan player memiliki nilai [45],

dan Power (Kekuatan) yang dimiliki pasukan player memiliki nilai [25], maka

tahapan-tahapan yang menentukan output sesuai dengan aturan yang sudah dibuat akan dijelaskan sebagai berikut :

1. Pembentukan Himpunan Fuzzy

a. Pembentukan himpunan fuzzy dengan menghitung Range(Jarak) setiap parameter yaitu Dekat dan Jauh. Apabila nilai Range (Jarak) antara pasukan player dan pasukan musuh memiliki nilai [31] untuk fungsi keanggotaan Dekat dihitung berdasarkan persamaan 3.1, sedangkan untuk fungsi keanggotaan Jauh dihitung berdasarkan persamaan 3.2.

µDekat [31] = = 0.95 µJauh [31] = 31≤50 = 0

Maka diperoleh nilai untuk fungsi keanggotaan untuk parameter Range

(Jarak) yaitu :

1. Fungsi Keanggotaan Dekat = 0.95 2. Fungsi Keanggotaan Jauh = 0

b. Pembentukan himpunan fuzzy dengan menghitung Life (Nyawa) setiap parameter yaitu Lemah dan Kuat. Apabila nilai Life (Nyawa) yang dimiliki musuh memiliki nilai [45] untuk fungsi keanggotaan Lemah dihitung berdasarkan persamaan 3.3, sedangkan untuk fungsi keanggotaan Kuat dihitung berdasarkan persamaan 3.4.

µ Lemah [45] = = 0.75 µKuat [45] = 45≤60 = 0

Maka diperoleh nilai untuk fungsi keanggotaan untuk parameterLife(Nyawa) yaitu :

1. Fungsi Keanggotaan Lemah = 0.75 2. Fungsi Keanggotaan Kuat = 0

c. Pembentukan himpunan fuzzy dengan menghitung Power (Kekuatan) setiap parameter yaitu Lemah dan Kuat. Apabila nilai Power (Kekuatan) yang musuh memiliki nilai [25] untuk fungsi keanggotaan Lemah dihitung berdasarkan persamaan 3.5, sedangkan untuk fungsi keanggotaan Kuat dihitung berdasarkan persamaan 3.6.

µ Lemah [25] = 25≤ 40 = 1

µKuat [25] = 25≤60 = 0

Maka diperoleh nilai untuk fungsi keanggotaan untuk parameter Power

(Kekuatan) yaitu :

1. Fungsi Keanggotaan Lemah = 1 2. Fungsi Keanggotaan Kuat = 0

2. Aplikasi Fungsi Implikasi dan Komposisi Aturan

Setelah fungsi keanggotaan didapat, maka nilai-nilai tersebut harus dibandingkan sesuai dengan rule yang ada, tujuannya untuk mencari nilai minimum untuk setiap

rule yang dihitung. Berikut adalah fungsi implikasi yang dibandingkan dengan rule

yang telah ditentukan antara lain :

1. If (Range is Dekat) and (Life is Lemah) and (Poweris Lemah) then (Menyerang

Prioritas Ke-1)

Range(Dekat) = 0.95

Power(Lemah) = 1 Min (0.95, 0.75, 1) = 0.75

2. If (Range is Dekat) and (Life is Lemah) and (Power is Kuat) then (Menyerang

Prioritas Ke-2).

Range(Dekat) = 0.95

Life(Lemah) = 0.75

Power(Kuat) = 0

Min (0.95, 0.75, 0) = 0

3. If (Range is Dekat) and (Life is Kuat) and (Power is Lemah) then (Menyerang

Prioritas Ke-1).

Range(Dekat) = 0.95

Life(Kuat) = 0

Power(Lemah) = 1

Min (0,95, 0, 1) = 0

4. If (Range is Dekat) and (Life is Kuat) and (Power is Kuat) then (Menyerang

Prioritas Ke-2)

Range(Dekat) = 0.95

Life(Kuat) = 0

Power(Kuat) = 0

Min (0,95, 0, 0) = 0

5. If (Rangeis Jauh) and (Life is Lemah) and (Poweris Lemah) then (Menyerang

Prioritas Ke-1).

Range(Jauh) = 0

Life(Lemah) = 0.75

Power(Lemah) = 1

Min (0, 0,75, 1) = 0

6. If (Range is Jauh) and (Life is Lemah) and (Power is Kuat) then (Menyerang

Prioritas Ke-2).

Life(Lemah) = 0.75

Power(Kuat) = 0

Min (0, 0,75, 0) = 0

7. If (Range is Jauh) and (Life is Kuat) and (Power is Lemah) then (Menyerang

Prioritas Ke-1).

Range(Jauh) = 0

Life(Kuat) = 0

Power(Lemah) = 1

Min (0, 0, 1) = 0

8. If (Range is Jauh) and (Life is Kuat) and (Power is Kuat) then (Menyerang

Prioritas Ke-2). Range(Jauh) = 0 Life(Kuat) = 0 Power(Kuat) = 0 Min (0, 0, 0) = 0 3. Defuzzikasi

Setelah nilai keanggotaan didapat melalui proses fungsi implikasi maka langkah berikutnya adalah menentukan himpunan nilai z dari setiap rule. Berikut adalah proses menentukan nilai z menggunakan rumus perhitungan 2.1 pada tabel 3.3.

Tabel 3.3 Proses Menentukan Nilai Z

Rule Perhitungan Target Menyerang

1 Z = 30–(0,75 * 8) = 23.25 Prioritas Ke-1 2 Z = 30–(0,95 * 8) = 22.8 Prioritas Ke-2 3 Z = 30–(0 * 8) = 30 Prioritas Ke-1

4 Z = 50–(0 * 8) = 50 Prioritas Ke-2 5 Z = 30–(0 * 8) = 30 Prioritas Ke-1 6 Z = 30–(0 * 8) = 30 Prioritas Ke-2 7 Z = 30–(0 * 8) = 30 Prioritas Ke-1 8 Z = 50–(0 * 8) = 50 Prioritas Ke-2

Setelah mendapatkan nilai dari setiap rules maka langkah selanjutnya adalah menentukan nilai defuzzifikasi dengan menggunakan rumus metode centroid pada rumus 2.1.

Z = = 33.42

Jadi nilai yang dihasilkan berdasarkan rule/aturan yang sudah dibentuk sebelumnya. Sesuai dengan contoh dari perhitungan yang dihasilkan dari nilaiRange

(Jarak) [31], nyawa [45] dan Kekuatan [25] yang dimiliki pasukan player dengan nilai Z yang didapatkan yaitu 33.42 maka keputusannya adalah target menyerang prioritas Ke-1.

3.2 Analisis Kebutuhan Perangkat Lunak

Pada tahap ini meliputi elemen-elemen yang diperlukan dalam mengimplementasikan logika fuzzy yaitu terdiri dari kebutuhan non-fungsional dan

kebutuhan fungsional. Spesifikasi kebutuhan perangkat lunak akan dibagi kedalam dua bagian yaitu Kebutuhan Fungsional dan Spesifikasi Kebutuhan Non-Fungsional.

3.2.1 Analisis Kebutuhan Non-Fungsional

Analisis kebutuhan non-fungsional adalah langkah pembangunan perangkat lunak dengan menganalisis sumber daya yang akan dibutuh dan digunakan serta menggunakan perangkat lunak yang digunakan untuk membangun sistem. Perangkat keras dan perangkat lunak yang dimiliki harus sesuai dengan kebutuhan, sehingga dapat ditentukan kompabilitas aplikasi yang dibangun terhadap sumber daya yang ada.

3.2.1.1 Analisis Perangkat Keras

Perangkat keras atauhardware merupakan salah satu hal yang penting karena tanpa hardware yang memenuhi syarat, sistem yang akan dibuat tidak akan dapat berjalan. Perangkat keras minimum yang digunakan :

1. Processor Dual Core 1,80 Ghz 2. RAM 1 GB

3. VGA 512 MB 4. Hard disk 80 GB 5. Monitor

6. Keyboard

3.2.1.2 Analisis Perangkat Lunak

Perangkat lunak atau software merupakan hal yang terpenting dalam mendukung kinerja sebuah sistem. Perangkat lunak digunakan dalam sebuah sistem merupakan perintah-perintah yang diberikan kepada perangkat keras agar dapat saling berinteraksi diantara keduanya. Perangkat lunak yang dibutuhkan untuk membangun aplikasigameini adalah sebagai berikut :

1. Sistem operasi Microsoft Windows 8. 2. Unity sebagai editor.

3.2.2 Analisis Kebutuhan Fungsional

Tahap pertama yang dilakukan dalam melakukan analisis berorientasi objek adalah salah satunya menggunakan Unified Modelling Language (UML) dengan menentukan aktor yang ada pada sistem. Aktor pada UML yaitu dengan menampilkan peran atau roles dari sistem yang dapat dikembangkan pada aspek perangkat lunak, perangkat keras dan lain sebagainya.

3.2.2.1Use Case Diagram

Diagram use case akan sangat membantu analisis sistem dan juga program untuk merumuskan spesifikasi kebutuhan untuk sistem atau perangkat lunak yang akan dibangun maupun untuk dikembangkan. Dari hasil analisis gameyang dibangun maka diagranuse caseseperti pada gambar 3.6.

Gambar 3.6Use Case Diagram

3.2.2.2 Identifikasi Aktor

Mengidentifikasi aktor adalah sangat penting, sepenting mengidentifikasi kelas-kelas, struktur, relasi, atribut dan perilaku. Kata aktor dalam konteks UML adalah menampilkan peran pengguna sistem. Identifikasi aktor diterangkan pada tabel 3.4.

Tabel 3.4 Identifikasi Aktor

Aktor Deskripsi

Pemain Pemain atau Orang yang memainkan

3.2.2.3 IdentifikasiUse Case

Setelah mengidentifikasi aktor kemudian mengidentifikasi dari use case

dengan melihat pekerjaan-pekerjaan dan fungsi-fungsi yang aktor lakukan, secara representatif yang mencerminkan layanan spesifik atau fungsionalitas yang diharapkan dari sistem atau perangkat lunak yang dibangun serta mendeskripsikan masing-masing kelas dalam konteks use case agar tidak muncul pemahaman ganda (ambigu). Berikut identifikasiuse casepada tabel 3.5.

Tabel 3.5 IdentifikasiUse Case

No Use Case Deskripsi

1 Memilih Pasukan Player Pemain memilih pasukan player

2 Menyerang Musuh Pasukan player menyerang musuh pertama yang dipilih pemain, selanjutnya menyerang musuh secara otomatis dengan menyerang prioritas ke-1 dan prioritas ke-2.

3 Route Finding Route finding digunakan pasukan untuk

bergerak ke tempat yang diinginkan pemain kemudian mendapat posisi untuk menyerang 4 MengaturRange(Jarak) Pasukan mengatur jarak dan jangkauan

tembak 5 MengidentifikasiLife(Nyawa)

musuh

Pasukan mengidentifikasi Life (Nyawa) yang dimiliki oleh musuh

6 MengidentifikasiPower

(Kekuatan) musuh

Pasukan mengidentifikasiPower(Kekuatan) yang dimiliki oleh musuh

7 Mengatur posisi menyerang Pasukan mengatur posisi untuk menyerang musuh

3.2.2.4 SkenarioUse Case

Skenario use case berisi tentang flow of event atau alur dari use case utama, yang menggambarkan urutan interaksi Aktor denganuse casedari awal sampai akhir. Skenariouse casepadagameyang dibuat adalah :

3.2.2.5 SkenarioUse CaseMemilih Pasukan Player

Skenario use case memilih pasukan player, digunakan pemain untuk memilih pasukan player yang digunakan. Skenario use case memilih pasukan seperti pada tabel 3.6.

Tabel 3.6 SkenarioUse CaseMemilih Pasukan Player Identifikasi

NamaUse Case Memilih Pasukan Player

Aktor Pemain

Tujuan Setfocus ke pasukan player

Kondisi Awal Pasukan pada posisidefaultatau awal

Kondisi Akhir Pemain sudah memilih pasukan player kemudian

setfocuske pasukan player

Skenario

Aksi Aktor Sistem

a. Memilih pasukan player

b. Setfocuske pasukan player

3.2.2.6 SkenarioUse CaseMenyerang Musuh

Skenario use case menyerang musuh, bertujuan agar pasukan player menyerang musuh tanpa perintah dari pemain dan menyerang musuh secara

auto-attack kemudian mendapat prioritas serangan dengan menyerang prioritas ke-1 dan

Tabel 3.7 SkenarioUse CaseMenyerang Musuh Identifikasi

NamaUse Case Menyerang Musuh

Aktor Pemain

Tujuan Menyerang musuh Prioritas 1 dan prioritas ke-2

Kondisi Awal Pasukan pada posisidefaultatau awal

Kondisi Akhir Pasukan menyerang musuh dengan prioritas ke-1 dan prioritas ke-2

Skenario

Aksi Aktor Sistem

a. Memilih pasukan player

b. Setfocuske pasukan player

c. Memilih musuh yang diserang pertama

d. Pasukan player menyerang musuh yang dipilih pemain e. Pasukan player

mengidentifikasilife,power

Dokumen terkait