Implementasi Logika Fuzzy Pada Permainan Bonny's Tooth Booth

(1)

SKRIPSI

Diajukan untuk Menempuh Ujian Akhir Sarjana

SEPTIANI NUR HASANAH

10109572

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS TEKNIK DAN ILMU KOMPUTER

UNIVERSITAS KOMPUTER INDONESIA

2014


(2)

v

ABSTRAK ... i

ABSTRACT ... ii

KATA PENGANTAR ... iii

DAFTAR ISI ... v

DAFTAR GAMBAR ... viii

DAFTAR TABEL ... x

DAFTAR SIMBOL ... xii

DAFTAR LAMPIRAN ... xvi

BAB 1 PENDAHULUAN ... 1

1.1 Latar Belakang Masalah ... 1

1.2 Rumusan Masalah ... 2

1.3 Maksud dan Tujuan ... 2

1.4 Batasan Masalah... 2

1.5 Metodologi Penelitian ... 3

1.5.1 Teknik Pengumpulan Data ... 3

1.5.2 Metode Pembuatan Perangkat Lunak ... 3

1.6 Sistematika Penulisan ... 4

BAB 2 TINJAUAN PUSTAKA ... 7

2.1 Kecerdasan Buatan ... 7

2.1.1 Fuzzy Logic ... 8

2.1.2 Desain fuzzy Pada Permainan ... 16


(3)

vi

2.4 Tools yang Digunakan ... 20

2.4.1 Perancangan Berbasis Objek ... 21

2.4.2 UML ... 21

2.4.3 Android ... 23

2.6.2 Java ... 27

BAB 3 ANALISIS DAN KEBUTUHAN ALGORITMA ... 29

3.1 Analisis Masalah ... 29

3.2 Analisis Game ... 29

3.2.1 Analisis Permainan Sejenis ... 29

3.2.2 Gameplay Bonny’s Tooth Booth ... 32

3.3 Analisis Masukan ... 33

3.4 Analisis Metode / Algoritma ... 36

3.4.1 Analisis Fuzzy Nafsu makan ... 36

3.4.2 Analisis Fuzzy Kesehatan ... 41

3.4.3 Analisis Fuzzy Emosi ... 45

3.4.4 Analisis Kasus ... 51

3.5 Analisis Kebutuhan Non-Fungsional ... 60

3.5.1 Analisis Kebutuhan Perangkat Keras ... 60

3.5.2 Analisis Kebutuhan Perangkat Lunak ... 61

3.6 Analisis Kebutuhan Fungsional ... 62

3.6.1 Use Case Diagram ... 62


(4)

vii

BAB 4 IMPLEMENTASI DAN PENGUJIAN ... 85

4.1 Implementasi ... 85

4.1.1 Implementasi Perangkat Keras ... 85

4.1.2 Implementasi Perangkat Lunak ... 85

4.1.3 Implementasi Aplikasi ... 85

4.1.4 Implementasi Antarmuka ... 86

4.2 Pengujian Simulasi ... 88

4.2.1 Pengujian Rule Kondisi Nafsu Makan ... 88

4.2.2 Pengujian Rule Kondisi Kesehatan ... 92

4.2.3 Pengujian Rule Kondisi Emosi ... 95

4.2.4 Kesimpulan Pengujian ... 105

BAB 5 KESIMPULAN DAN SARAN ... 107

5.1 Kesimpulan ... 107

5.2 Saran ... 107


(5)

109

FuzzyDan Jaringan Syaraf.

[2] Gunawan, Kharisma. Jurnal Aplikasi Permainan cat-pet dengan metode

logika fuzzy, Universitas Siliwangi.

[3] Pirovano, Michele. Jurnal The use of Fuzzy Logic for Artificial

Intelligence in Games.

[4] Nazir, Moh. 2011. Metode Penelitian, Ghalia Indonesia, Bogor.

[5] Manonmaniam Sundaranar University, Software Engineering – Concept

and Implementation

[6] Pressman. Roger S, Software Engineering – A Practitioner’s Approach

fifth editionMcGraw-Hill Higher Education, 2001.

[7] Kusumadewi, S. 2003. Artificial Interlligence (Teknik dan Aplikasinya).

Yogyakarta: Graha Ilmu.

[8] Kusumadewi, S., & Purnomo, H. 2010. Aplikasi Logika Fuzzy untuk

pendukung keputusan. Yogyakarta: Graha Ilmu.

[9] Zimmerman. Erick, Katie Salen, Rules Play: Game Design Fundamentals,

United State Of America: MIT Press, 2003.

[10] Rollings. Andrew and Adams. Ernest, Andrew Rollings and Ernest Adams

on Game Design, New Riders Publishing, 2003

[11] Danauta Maria Catrinel, virtual pets: Interaction, Uses, Technology,


(6)

[12] Dental Health Education Sumber:

http://www.scribd.com/doc/193087209/Dental-Health (diakses Desember 2013)

[13] Sutopo. Hadi. Ariesto, Analisis dan Desain Berorientasi Objek. J & J

Learning: Yogyakarta, 2002.

[14] Dharwiyanti. Sri dan Wahono. Satria, Pengantar Unified Modelling

Language (UML), 2003.

[15] Booch, G., Rumbaugh, J., & Jacobson, I. (2005). The Unified Modeling

Language User Guide SECOND EDITION. Addision Wesley Professional.

[16] Flynt, John P., Salem, Omar. (2005). Software Engineering for Game

Developers. Thomson Course Technology PTR, Boston.

[17] Nazruddin. S. H, Android Pemrograman Aplikasi Mobile Smartphone dan

Tablet PC Berbasis Android, Bandung: Informatika, 2011.

[18] http://elinux.org/Android_Architecture (diakses Februari 2014)

[19] B. Hermawan, Menguasai Java 2, Yogyakarta: Andi, 2004.

[20] Pao, Jennie. 2012. Designing an Audio-based mobile virtual pet game

application. Keio University.

[21] http://carasehathidup.blogspot.com/2014/03/10-cara-menjaga-kesehatan-

gigi-dan-mulut.html (diakses April 2014)

[22] Magy Seif El-Nasr, John Yen, and Thomas R. Ioerger. Flamefuzzy logic

adaptive model of emotions. Autonomous Agents and Multi-Agent Systems, September 2000.

[23] Kalori makanan: http://www.kalorimakanan.com/ (diakses Juni 2014)


(7)

[26] Gameplay definition:

http://www.oxforddictionaries.com/definition/english/gameplay (diakses


(8)

iii

Assalamualaikum Warahmatullahi Wabarakatuh.

Alhamdulillah puji syukur kehadirat Allah Subhanallah Wata’ala karena

atas semua nikmatnya penulis dapat melakukan dan menyelesaikan penulisan skripsi sebagai salah satu persyaratan untuk menyelesaikan program studi Strata I Teknik Informatika Fakultas Teknik dan Ilmu Komputer pada Universitas Komputer Indonesia.

Penulisan skripsi yang berjudul “Implementasi Logika Fuzzy Pada

Permainan Bonny’s Tooth Booth”, dalam pelaksanaan dan penyusunan laporan

Skripsi ini banyak menemui hambatan dan kesulitan. Namun berkat dorongan, bantuan dan bimbingan baik secara moril ataupun materil dari berbagai pihak hingga dapat mengatasinya. Oleh karena itu kepada semua pihak yang telah membantu dalam penyelesaian skripsi ini disampaikan penghargaan dan ucapan terimakasih, khususnya kepada yang terhormat :

1. Kepada Kedua orang tua tercinta yang selalu memberikan dukungan,

doa dan motivasi sehingga menjadi kekuatan bagi penulis untuk menyelesaikan tugas akhir ini.

2. Ibu Nelly Indriani W, S.Si., MT. selaku dosen pembimbing, terima

kasih banyak atas bimbingan, dukungan dan arahannya dalam penyusunan skripsi ini

3. Ibu Rani Susanto, S.Kom. selaku dosen penguji seminar dan penguji

satu sidang yang juga ikut membimbing saya, terima kasih atas arahan dan masukannya.

4. Ibu Sufa’atin, S.T., M.Kom. selaku dosen penguji tiga sidang yang juga ikut memberikan arahan dan masukannya.


(9)

iv

Informatika Universitas Komputer Indonesia.

7. Seluruh dosen pengajar di UNIKOM khususnya di Program Studi

Teknik Informatika yang telah memberikan ilmu serta pengetahuannya.

8. Kepada teman-teman IF-13 2009 yang telah bersama-sama melewati

pahit manisnya selama masa perkuliahan.

9. Gyta Nurul, Dhila Rachmaniah, Linda Lestari, Cicy Eka, yang selalu

menemani penulis disaat senang maupun susah.

10. Kumang, Irfan, Bayu, Alim, Yoga, Feri, Riansyah, Anggi S, Anggitia,

Evi Hayati, A Irfan, Gea dan anak bimbingan Ibu Nelly yang menjadi teman seperjuangan penulis dalam menyelesaikan tugas akhir.

11. Semua pihak yang telah terlibat dan ikut membantu dalam

menyelesaikan tugas akhir ini baik secara langsung maupun tidak langsung.

Akhir kata, semoga semua pihak yang telah memberikan bantuan mendapatkan balasan dari Allah SWT. Amin Ya Rabbal Alamin.

Wassalamu’alaikum Warahmatullahi Wabarakatuh.

Bandung, 12 Agustus 2014


(10)

1

1.1 Latar Belakang Masalah

Logika fuzzy adalah cabang dari sistem kecerdasan buatan (artificial

intelegence) yang dapat mengemulasi kemampuan manusia dalam berfikir ke dalam bentuk algoritma berdasarkan bahasa alami atau linguistik, sehingga pada perancangannya tidak memerlukan persamaan matematis dari objek yang

dibangun. Pada konsep Logika fuzzy dapat mengimplementasikan suatu kondisi

yang bersifat relatif dimana nilai relatif inilah yang memiliki derajat keanggotaan

yang nilainya diantara 0 dan 1, himpunan ini disebut himpunan kabur atau fuzzy.

Konsep tersebut sering digunakan sebagai dasar untuk representasi manajemen keputusan dan pemodelan untuk perancangan perilaku karakter pada aplikasi

game.[1]

Dewasa ini game dengan genre virtual pet semakin digemari dan telah

banyak berkembang. Salah satu perkembangannya yaitu dengan memanfaatkan

kecerdasan buatan untuk menghasilkan perilaku pet agar dapat berperilaku

adaptif seperti pet sungguhan, sehingga tidak hanya dari pengaturan waktu saja

sebagai penentu perilakunya.

Berdasarkan penelitian studi literatur dari jurnal yang berjudul Aplikasi

Permainan Cat-Pet dengan Metode Logika Fuzzy, perancangan perilaku karakter

pet pada permainan ini yaitu untuk menentukan output kondisi nafsu makan dan

haus, dengan energi dan suhu sebagai parameter input-nya.[2] Sementara itu,

menyorot dari kekurangan yang terdapat pada jurnal tersebut yaitu, karakter pet

belum dapat menghasilkan emosi sebagai representasi kondisi karakter pet.

Padahal respon emosi merupakan bentuk interaksi secara tidak langsung dari

agent pet dengan pengguna yang memainkannya.[3]

Dengan mengembangkan kembali aturan-aturan dari konseptual fuzzy pada


(11)

selanjutnya menformulasi dari kondisi nafsu makan dan kesehatan sebagai

variabel input fuzzy, sehingga dapat menghasilkan respon emosi melalui ekspresi

wajah pada karakter pet.

Berdasarkan uraian latar belakang yang telah dijelaskan sebelumnya, untuk

mengimplementasikan logika fuzzy pada penulisan tugas akhir ini yaitu ke dalam

konsep permainan virtual pet dengan misi permainan menjaga kebersihan gigi

pada permainan Bonny’s Tooth Booth.

1.2 Rumusan Masalah

Berdasarkan uraian latar belakang yang sudah dijelaskan sebelumnya, maka dapat dirumuskan masalahnya yaitu, bagaimana cara mengimplementasikan

algoritma fuzzy logic dalam memodelkan perilaku dan emosi karakter pet pada

permainan Bonny’s Tooth Booth.

1.3 Maksud dan Tujuan

Maksud dari penelitian ini adalah dapat mengimplementasikan Fuzzy Logic

pada permainan Bonny’s Tooth Booth.

Sedangkan tujuan yang akan dicapai dalam tugas akhir ini adalah

menampilkan kesesuaian antara output emosi berupa ekspresi wajah karakter

sesuai dengan kondisi, berdasarkan variabel inputfuzzy nafsu makan, kesehatan.

1.4 Batasan Masalah

Pembatasan masalah ini dilakukan agar dapat mengolah sistem yang akan

dibangun dapat lebih terarah dari permasalahan yang timbul, batasan masalah dalam penulisan skripsi ini di antaranya adalah:

1. Konsep permainan seputar pemeliharaan gigi.

2. Gameplay pada permainan berupa memberikan makanan, membersihkan kuman gigi, dan mengobati gigi.

3. Menggunakan fuzzy logic dalam memodelkan beberapa perilaku

karakter, diantaranya emosi (senang, agak senang, dan tidak senang), nafsu makan (lapar, agak lapar, dan kenyang), dan kesehatan (sakit, agak sakit, dan sehat).


(12)

4. Game merupakan prototype.

5. Game diimplementasikan dengan berbasis mobile Android.

1.5 Metodologi Penelitian

Metodologi penelitian merupakan suatu proses yang digunakan untuk memecahkan suatu masalah yang logis, dimana memerlukan data-data untuk mendukung terlaksananya suatu penelitian. Penelitian ini menggunakan metode deskriptif. Tujuan dari penelitian deskriptif ini adalah untuk membuat deskripsi, gambaran secara sistematis, faktual dan akurat mengenai fakta-fakta, sifat-sifat serta hubungan antar fenomena yang diselidiki.

1.5.1 Teknik Pengumpulan Data

Teknik pengumpulan data merupakan cara pengumpulan data yang dibutuhkan untuk menjawab rumusan masalah penelitian dari topik yang diambil. Cara-cara yang digunakan untuk mendapatkan data adalah sebagai berikut: [4]

a. Observasi

Observasi adalah metode pengumpulan data dengan cara pengamatan obyek penelitian secara langsung pada objek dan juga proses yang terjadi

pada contoh permainan virtual pet.

b. Studi Literatur

Studi literatur adalah metode pengumpulan data yang berkaitan dengan penelitian dan pembangunan melalui buku, internet, dan jurnal yang

berkaitan dengan fuzzy logic, kesehatan gigi dan mulut, dan pembelajaran

mengenai game.

1.5.2 Metode Pembuatan Perangkat Lunak

Metode yang digunakan dalam pengembangan perangkat lunak ini adalah

menggunakan model sekuensial linear yang meliputi beberapa aktivitas

pengembangan perangkat lunak sebagai berikut [6]:

1. Analisis, Pada proses ini, meliputi proses perancangan fuzzy logic

dengan merancang parameter yang dibutuhkan, menganganalisis permainan sejenis, dan menganalisa kebutuhan sistem, fungsional dan non fungsional untuk permainan.


(13)

2. Design, Pada proses ini, meliputi proses perancangan karakter,

gambar-gambar, dan menu pada permainan Bonny’s Tooth Booth.

3. Code, langkah ini adalah proses menerjemahkan tahapan analisis dan

desain permainan Bonny’s Tooth Booth ke dalam bahasa

pemrograman, yaitu dengan bahasa pemrograman Java.

4. Test atau pengujian adalah proses yang dilakukan setelah proses

pengkodean selesai, program diuji, yang berfokus pada logika internal perangkat lunak. Memastikan bahwa semua persyaratan sudah diuji,

dari error dan memastikan bahwa input yang didefinisikan telah

menghasilkan hasil yang aktual sesuai dengan yang dibutuhkan, dan menguji permainan yang telah dibangun sudah diimplementasikan

dengan logika fuzzy yang sesuai alur dan perancangan.

Gambar 1.1 Linear Sequential Model [5]

1.6 Sistematika Penulisan

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

BAB 1 PENDAHULUAN

Pada bab ini, akan berisi penjelasan mengenai latar belakang masalah, rumusan masalah, maksud dan tujuan, batasan masalah, metodologi penelitian serta sistematika penulisan.


(14)

BAB 2 TINJAUAN PUSTAKA

Pada bab ini, akan dibahas mengenai teori-teori dan konsep yang berkaitan dengan judul dari penulisan skripsi ini. Digunakan untuk dapat membantu menyelesaikan setiap tahapan yang dilalui. Seperti teori mengebai kecerdasan

buatan, Fuzzy Logic, Gamevirtual pet, UML, teori tentang pembuatan game, tools

yang digunakan dan lain-lain.

BAB 3 ANALISIS DAN KEBUTUHAN ALGORITMA

Menguraikan tentang metode analisis kebutuhan data dan perancangan dari

pembangunan Implementasi dan perancangan permainan Bonny’s Tooth Booth.

Pada bab ini berisi penjelasan analisis masalah, analisis aplikasi game yang

dibangun, analisis masukan, analisis metode dan algoritma, analisis kebutuhan non fungsional, dan analisis kebutuhan fungsionalnya, serta perancangan sistem.

BAB 4 IMPLEMENTASI DAN PENGUJIAN

Pada tahapan bab ini akan dilakukan implementasi dalam penelitian secara garis besar sejak dari tahap persiapan, menu yang digunakan, penarikan kesimpulan dan pengujian. Pada bab ini berisi penjelasan implementasi kebutuhan perangkat keras, implementasi kebutuhan perangkat lunak, implementasi algoritma, dan pengujian sistem.

BAB 5 KESIMPULAN DAN SARAN

Menguraikan tentang kesimpulan yang diperoleh dari hasil implementasi dan pengujian sistem yang telah dibangun, serta saran-saran untuk mengembangkan aplikasi kedepannya.


(15)

(16)

7

Tinjauan pustaka memberikan gambaran dari teori yang terkait dengan pembangunan sistem. Teori pokok pada tinjauan pustaka yang terdapat di dalam skripsi ini adalah sebagai berikut :

2.1 Kecerdasan Buatan

Kecerdasan Buatan atau Artificial Intelligence merupakan salah satu bagian

dari ilmu komputer yang membuat agar mesin komputer dapat melakukan pekerjaan seperti dan sebaik yang dilakukan oleh manusia. Makin pesatnya perkembangan teknologi menyebabkan adanya perkembangan dan perluasan lingkup yang membutuhkan kehadiran kecerdasan buatan. Adanya irisan penggunaan kecerdasan buatan di berbagai disiplin ilmu tersebut menyebabkan cukup rumitnya untuk mengklasifikasikan kecerdasan buatan menurut disiplin ilmu yang menggunakannya, untuk memudahkan hal tersebut maka untuk

pengklasifikasian lingkup kecerdasan buatan didasarkan pada output yang

diberikan yaitu [7]:

1. Sistem pakar (expert system) disini computer digunakan sebagai sarana

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

2. Pengolahan Bahasa Alami (Natural Language Processing) dengan

pengolahan bahasa alami ini diharapkan user dapat berkomubikasi dengan computer dengan menggunakan bahasa sehari-hari.

3. Pengenalan ucapan (Speech Recognition) melalui pengenalan ucapan

diharapkan manusia dapat berkomunikasi dengan computer dengan menggunakan suara.


(17)

5. Computer Vision, mencoba untuk dapat mengintrepertasikan gambar atau objek-objek tampak melalui komputer.

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

7. Game playing.

2.1.1 Fuzzy Logic

Logika fuzzy merupakan salah satu komponen pembentuk soft computing.

Logika fuzzy pertama kali diperkenalkan oleh Prof. Lotfi A. Zadeh pada tahun

1965. Dasar logika fuzzy adalah teori himpunan fuzzy. Pada teori himpunan fuzzy,

peranan derajat keanggotaan sebagai penentu keberadaan elemen dalam suatu himpunan sangatlah penting. Nilai keanggotaan atau derajat keanggotaan atau

membership function menjadi ciri utama dari penalaran dengan logika fuzzy

tersebut. Menurut Cox (1994) ada beberapa alasan mengapa orang menggunakan

logika fuzzy antara lain [7]:

1. Konsep logika fuzzy mudah dimengerti, karena logika fuzzy menggunakan

dasar teori himpunan, maka konsep matematis yang mendasari penalaran fuzzy tersebut cukup mudah untuk dimengerti

2. Logika fuzzy sangat fleksibel, artinya mampu beradaptasi dengan

perubahan-perubahan, dan ketidakpastian yang menyertai

permasalahannya.

3. Logika fuzzy memiliki toleransi terhadap data yang tidak tepat. Jika

diberikan sekelompok data yang cukup homogen, dan kemudian ada

beberapa data yang “eksklusif”, maka logika fuzzy memiliki kemampuan untuk menangani data eksklusif tersebut.

4. Logika fuzzy mampu memodelkan fungsi nonlinear yang sangat kompleks.

5. Logika fuzzy dapat membangun dan mengaplikasikan pengalaman pakar

secara langsung tanpa harus melalui proses pelatihan. Dalam hal ini, sering


(18)

6. Logika fuzzy dapat bekerjasama dengan teknik-teknik kendali secara konvensional. Hal ini umumnya terjadi pada aplikasi-aplikasi di bidang teknik mesin maupun teknik elektro.

7. Logika fuzzy didasarkan pada bahasa alami. Logika fuzzy menggunakan

bahasa sehari-hari sehingga mudah dimengerti.

Ada beberapa hal yang perlu diketahui dalam memahami sistem fuzzy, yaitu [8]:

a. Variabel fuzzy merupakan variabel yang hendak dibahas dalam suatu

sistem fuzzy. Contoh yang diterapkan pada penelitian ini adalah kondisi nafsu makan, Kesehatan, dan Kebersihan, dan lain-lain.

b. Himpunan fuzzy merupakan suatu grup yang mewakili suatu kondisi atau

keadaan tertentu dalam suatu variabel fuzzy. Pada himpunan tegas (crisp),

nilai keanggotaan suatu item x dalam suatu himpunan A, yang sering

ditulis dengan µA(x), memiliki dua kemungkinan, yaitu:

1. Satu (1), yang berarti bahwa suatu item menjadi anggota dalam suatu

himpunan, atau

2. Nol (0), yang berarti bahwa suatu item tidak menjadi anggota dalam

suatu himpunan. Contoh, Jika diketahui:

S = {1, 2, 3, 4, 5, 6} adalah semesta pembicaraa A = {1, 2, 3} dan B = {3, 4, 5}

Bisa dikatakan bahwa:

a. Nilai keanggotaan 2 pada himpunan A, µA[2]= 1, karena 2 A.

b. Nilai keanggotaan 3 pada himpunan A, µA[3]= 1, karena 3 A.

c. Nilai keanggotaan 4 pada himpunan A, µA[4]= 0, karena 4 A.

d. Nilai keanggotaan 2 pada himpunan B, µA[2]= 0, karena 2 B.

e. Nilai keanggotaan 3 pada himpunan B, µA[3]= 1, karena 3 A.

Contoh:

a. Variabel Lapar, terbagi menjadi dua himpunan fuzzy, yaitu:


(19)

b. Variabel temperatur, terbagi menjadi 5 himpunan fuzzy, yaitu: Dingin, sejuk, normal, hangat dan panas.

Gambar 2.1 Himpunan Fuzzy Pada Variabel Temperatur [7]

c. Semesta Pembicaraan adalah keseluruhan nilai yang diperbolehkan untuk

dioperasikan dalam suatu variabel fuzzy. Semesta pembicaraan merupakan

himpunan bilangan real yang senantiasa naik (bertambah) secara monoton

dari kiri ke kanan. Nilai semesta pembicaraan dapat berupa bilangan positif maupun negatif. Adakalanya nilai semesta pembicaraan ini tidak dibatasi batas atasnya. Contoh semesta pembicara pada penerapan penelitian ini adalah parameter kalori dengan semesta pembicara 0-100.

d. Fungsi Keanggotaan adalah suatu kurva yang menunjukkan pemetaan

titik-titik input data kedalam nilai keanggotaannya (sering juga disebut dengan derajat keanggotaan) yang memiliki interval antara 0 sampai 1. Salah satu cara yang dapat digunakan untuk mendapatkan nilai keanggotaan adalah dengan melalui pendekatan fungsi. Ada beberapa fungsi yang digunakan, diantaranya adalah:

1. Representasi Linear

Pada representasi linear, pemetaan input derajat keanggotaan yang

digambarkan sebagai suatu garis lurus. Bentuk ini paling sederhana dan menjadi pilihan yang baik untuk mendekati suatu konsep yang kurang

jelas. Terdapat dua keadaan himpunan fuzzy yang linear. Pertama,


(20)

(0) bergerak ke kanan menuju ke nilai dimain yang memiliki derajat keanggotaan lebih tinggi.

Gambar 2.2 Kurva Linear Naik [7] Fungsi keanggotaan:

µ [x] = 0;�

�− − ;

1;�

� (2.1)

Gambar 2.3 Kurva Linear Turun [7] Fungsi keanggotaan:

µ [x] =

−�

− ; �

0;�


(21)

2. Representasi Kurva Segitiga

Kurva segitiga pada dasarnya merupakan gabungan antara dua garis linear. Seperti dapat dilihat pada gambar

Gambar 2.4 Kurva Segitiga [7] Fungsi keanggotaan:

µ [x] =

0;� �

�− − ; −�

− ; �

� (2.3)

3. Representasi Kurva Bahu

Representasi kurva bahu digunakan untuk mengakhiri variabel suatu daerah variabel fuzzy. untuk lebih jelasnya dapat dilihat pada Gambar 2.5.


(22)

Fungsi keanggotaan Kurva Bahu Kiri:

µ [x] = 1;�

( −�)

( − );

0;�

� (2.4)

Fungsi keanggotaan Kurva Bahu Kanan:

µ [x] = 0;�

(�− )

( − );

1;�

� (2.5)

4. Representasi Kurva Trapesium

Kurva trapesium pada dasarnya seperti bentuk segitiga, hanya saja ada beberapa titik yang memiliki nilai kenggotaan 1.

Gambar 2.6 Kurva Trapesium [7] FungsiKeanggotaan

µ[x]=

0;� �

�− −

1; �

−� − ;�

; � (2.6)

e. Sistem Inferensi Fuzzy

Inferensi fuzzy merupakan kerangka komputasi yang didasarkan pada teori


(23)

Inferensi fuzzy telah berhasil diterapkan di bidang-bidang seperti kontrol otomatis, klasifikasi data, analisis keputusan, dan sistem pakar. Sehingga dari

penerapan yang ada dikenal beberapa istilah lain dalam inferensi fuzzy yaitu

fuzzy rule based.

Dalam inferensi fuzzy ada beberapa komponen utama yang dibutuhkan.

Komponen tersebut meliputi data variabel input, data variabel output, dan data

aturan. Untuk mengolah data variabel input dibutuhkab beberapa fungsi

meliputi fungsi fuzzifikasi yang terbagi dua, yaitu fungsi untuk menentukan

nilai jenis keanggotaan suatu himpunan dan fungsi penggunaan operator.

Sistem inferensi fuzzy dari sumber buku yang ditulis oleh Kusumadewi,

terdapat tiga metode, yaitu:

1. Metode Tsukamoto

Pada Metode Tsukamoto, setiap konsekuen pada aturan yang berbentuk

IF-Then harus direpresentasikan dengan suatu himpunan fuzzy dengan

fungsi keanggotaan yang monoton. Sebagai hasilnya, output hasil inferensi

dari tiap-tiap aturan diberikan secara tegas (crisp) berdasarkan α-predikat

(fire strength). Hasil akhirnya diperoleh dengan menggunakan rata-rata terbobot.


(24)

Gambar 2.7 Inferensi Menggunakan Metode Tsukamoto [7]

Agregasi untuk menentukan keluaran semua rules dan dikombinasikan

menjadi sebuah fuzzy set tunggal. Defuzzifikasi untuk menghasilkan nilai

kesehatan menggunakan rata-rata terbobot.

z = �1�1+ �2�2…+ ����

�1+ �2…+ ��

(2.7)

1. z = nilai crisp

2. α1 = derajat keanggotaan masing-masing variabel

3. z1 = nilai domain pada variabel linguistik z.

2. Metode Mamdani

Metode Mamdani sering juga dikenal dengan nama Metode Max-Min. Metode ini diperkenalkan oleh Ebrahim Mamdani pada tahun 1975. Untuk

mendapatkan output, diperlukan 4 tahapan, yaitu Pembentukan himpunan

fuzzy, Aplikasi fungsi implikasi (aturan), Komposisi aturan, dan

Penegasan (deffuzy).

3. Metode Sugeno

Penalaran dengan metode Sugeno hampir sama dengan penalaran MAMDANI, hanya saja output (konsekuen) sistem tidak berupa himpunan


(25)

fuzzy, melainkan berupa konstanta atau persamaan linear. Metode ini diperkenalkan oleh Takagi-Sugeno Kang pada tahun 1985.

a. Model fuzzy Sugeno Orde-Nol

Secara umum bentuk Model fuzzy Sugeno Orde-Nol adalah:

IF (X1 is A1) ● (X2 is A2) ● (X3 is A3) ●....● (XN is AN) THEN z=k

Dengan A1adalah himpunan fuzzy ke-i sebagai antaseden, dan

k adalah sebagai konstanta (tegas) sebagai konsekuen.

a. Model fuzzy Sugeno Orde-Satu

Secara umum bentuk Model fuzzy Sugeno Orde-Satu adalah:

IF (X1 is A1) ● ... ● (XN is AN) THEN z = p1 * x1 +...+ pN*pN + q

Dengan A1adalah himpunan fuzzy ke-i sebagai antaseden, dan

p1 adalah sebagai konstanta (tegas) ke-i dan q juga merupakan

konstanta sebagai konsekuen.

Apabila komposisi aturan menggunakan metode Sugeno, maka

defuzzifikasi dengan cara mencari nilai rata-ratanya.

2.1.2 Desain fuzzy Pada Permainan

Dalam penelitian ini dikembangkan sebuah model fuzzy yang mampu

memodelkan perilaku Bonny dan akan menghasilkan hasil akhir output emosi.

Hal tersebut merupakan elemen game dari kecerdasan buatan supaya dapat

berperilaku sealami mungkin selayaknya pet. Sebuah sistem yang dibangun

menggunakan logika fuzzy pada dasar pembangunan game ini alurnya adalah


(26)

Input

Fuzzifikasi:

Fungsi keanggotaan “kalori”, “suhu”, “Imun”,

“kebersihan”

Inference:

“lapar”, “sakit”, “senang”, dll

Defuzzifikasi: Nilai Perilaku

Gambar 2.8 Logika Fuzzy untuk Meghasilkan Representasi Perilaku

Berikut ini adalah penjelasan dari tahap-tahap gambar di atas:

a. Fuzzifikasi, merupakan proses konversi nilai-nilai kebenaran yang

bersifat (crisp input), yang digunakan sebagai inputan, menjadi

bentuk fuzzy input, yang berupa nilai linguistic yang semantiknya

ditentukan berdasarkan fungsi keanggotaan.

b. Inference, merupakan proses untuk mengubah input fuzzy dengan

cara mengikuti aturan-aturan (IF-THEN Rules) yang telah

ditetapkan pada basis pengetahian fuzzy.

c. Defuzzifikasi, merupakan proses untuk mengubah output fuzzy

yang diperoleh dari proses sebelumnya (inference) menjadi nilai

tegas menggunakan fungsi keanggotaan yang sesuai dengan saat

dilakukan fuzzifikasi.

2.2 Game

2.2.1 Pengertian Game

Menurut Erick Zimmerman, dan Katie Salen [9] Game merupakan suatu

sistem yang memiliki aturan-aturan tertentu, dimana pemain akan terlibat di dalam suatu permasalahan sehingga dapat menghasilkan suatu hasil yang dapat


(27)

diukur yaitu menang atau kalah. Game merupakan sesuatu hal yang dimainkan dengan suatu aturan tertentu yang biasa digunakan untuk tujuan kesenangan dan dapat juga digunakan sebagai sarana edukasi.

Game umumnya melibatkan stimulasi mental, fisik, atau keduanya.

Banyak game yang dapat membantu mengembangkan keterampilan praktis yang berfungsi sebagai latihan, atau melakukan peran pendidikan, simulasional, atau psikologis.

2.2.2 Game Virtual Pet

Permainan Bonny’s tooth booth merupakan jenis permainan yang

mengusung konsep virtual pet, berikut ini adalah penjelasan mengenai permainan

virtual pet.

Permainan virtual pet merupakan jenis permainan yang masuk ke dalam

kategori genre simulasi, game simulasi merupakan jenis permainan yang

bertujuan untuk memberikan pengalaman simulasi kepada pemain. Biasanya melibatkan sebagian besar tantangan fisik, dan taktik, tapi tidak ada eksplorasi, dan penilaian. [9]

Virtual pet adalah konsep memelihara hewan dalam konsep virtual.

Menjaga pet tetap hidup dan tumbuh adalah yang menjadi goal atau tujuan dalam

jenis permainan ini. Interaksi antara pengguna dan karakter pet biasanya

sederhana dengan memberikan makan, dan membuat pet tetap senang. Salah satu

permainan virtual pet yang populer adalah Tamagotchi. [10]

Permainan Virtual pet saat ini banyak dikembangkan sebagai bentuk

permainan untuk media hiburan, salah satu perwujudan dari pengembangannya adalah bentuk aplikasi perangkat lunak dan juga robotika. [11]


(28)

Gambar 2.9 Contoh Interface Permainan VirtualPet Kimimon[20] Sebagian besar pengguna yang memainkan permainan ini dapat merasakan efek gembira dan bahkan dapat menimbulkan perasaan kasih sayang, yang

merupakan tingkat interaksi lanjutan dari aspek psikologis dari user ke karakter

pet. Beberapa lingkup di mana pengaruh virtual pet pada manusia telah diuji dan

dipelajari yang meliputi pendidikan, kesehatan, reaksi sosial dan psikologis terhadap pengguna. Beberapa studi telah mengembangkan permainan ini dengan menggunakan aspek teknologi yang menggunakan kecerdasan buatan di balik

menciptakan perilaku agar lebih alami terhadap karakter pet-nya. Dalam rangka

untuk lebih meniru realitas dan membuat user lebih kaya pengalaman, kombinasi

antara strategi hiburan, algoritma cerdas dan jenis interaksi harus digunakan

ketika mengembangkan virtual pet. Penerapan umumnya terhadap target dalam

tampilan dan perilaku tak terduga dari robot dibuat harus merangsang psikologi pengguna, bahkan dapat meniru aspek perilaku hewan sungguhan. Lahey dkk,

menyebutkan dalam studi mereka dengan strategi agent pet yang menarik bagi

pengguna diwakili dengan menambah beberapa fitur fisik dari hewan peliharaan

virtual yang membantu meningkatkan "Kepribadian" pada robot pet. [22]

2.3 Fungsi Gigi dan Menjaga Kesehatan Gigi

Bonny’s Tooth Booth adalah permainan yang mengusung tema mengenai menjaga dan merawat kesehatan gigi. Berikut ini adalah penjelasan mengenai gigi dan kesehatan gigi.


(29)

a. Definisi Gigi

Gigi adalah alat yang digunakan untuk mengunyah makanan. Gigi tumbuh pada rahang atas dan rahang bawah yang berpasangan atau simetris kiri dan kanan. Secara anatomi gigi manusia terdiri dari 2 bagian, yaitu mahkota gigi yang dilapisi oleh email yang sangat keras dengan warna yang tidak sama dengan setiap orang, serta akar gigi yaitu bagian gigi yang tertanam dalam tulang rahang berfungsi sebagai penguat akan berdirinya gigi [12].

b. Fungsi Gigi

Secara garis besar gigi berfungsi sebagai berikut:

1. Alat untuk mengunyah makanan. Penghancuran dan pelumatan

dari makanan dalam mulut sangat perlu untuk membantu pencernaan. Makanan yang dikunyah dengan baik akan mempermudah penyerapan zat makanan oleh darah.

2. Alat untuk menjaga agar ucapan kata-kata kita tepat dan jelas.

3. Alat untuk menjaga estetis (kecantikan).

Menjaga kesehatan gigi dan mulut sangatlah penting. Karena jika tidak berbagai masalah kesehatan seputar gigi dan mulut dapat muncul kapan saja. Misalnya sakit gigi, masalah gigi berlubang, gusi bengkak dan sebagainya. Masalah mulut yang biasa muncul adalah bau mulut tak sedap, sariawan hingga sakit tenggorokan. Semua itu adalah akibat dari kita yang tidak memperhatikan kesehatan, terutama kesehatan gigi dan mulut [21].

Anjuran untuk memelihara gigi agar tetap sehat diantaranya yaitu rajin membersihkan gigi, konsumsi buah-buahan, konsumsi sayuran, rajin sikat gigi, dan periksakan gigi setiap maksimal enam bulan sekali ke dokter gigi.

2.4 Tools yang Digunakan

Tools yang digunakan meliputi perancangan berbasis objek, UML, Android, dan bahasa pemrograman Java.


(30)

2.4.1 Perancangan Berbasis Objek

Perancangan berorientasi objek adalah strategi perancangan di mana

perancangan sistem memikirkan ‘benda’ dan bukan operasi atau fungsi. Proses

perancangan berorientasi objek berarti bahwa kita mengorganisasi perangkat lunak sebagai kumpulan dari objek tertentu yang memiliki struktur data dan perilaku. Beberapa cara untuk menentukan karakteristik dalam pendekatan berorientasi objek secara umum mencakup empat hal, yaitu identifikasi, klasifikasi polimorfisme, dan pewarisan. Keuntungan menggunakan perancangan

berorientasi objek diantaranya yaitu alami (Natural), dapat diandalkan (Reliable),

dapat digunakan kembali (Reusable), mudah untuk dalam perawatan

(Maintainable), dapat diperluas (Extendable), dan efisiensi waktu. [13]

2.4.2 UML

UML (Unified Modeling Language) adalah sebuah bahasa yang menjadi

standar dalam industri untuk visualisasi, merancang dan mendokumentasikan sistem piranti lunak. Pada UML terdapat sepuluh macam diagram untuk memodelkan aplikasi dengan berorientasi objek, yaitu [14]:

a. Use Case Diagram untuk memodelkan proses bisnis.

b. Conceptual Diagramuntuk memodelkan konsep yang ada di dalam aplikasi.

c. Sequence Diagramuntuk memodelkan pengiriman pesan antar objek. d. Collaboration Diagram untuk memodelkan interaksi antara

objek-objek.

e. State Diagram untuk memodelkan perilaku objek di dalam sistem. f. Activity Diagram untuk memodelkan perilaku use case

g. Class Diagram untuk memodelkan struktur kelas. h. Object Diagram untuk memodelkan struktur objek.

i. Component Diagram untuk memodelkan komponen objek, dan j. Deployment Diagram untuk memodelkan distribusi aplikasi.


(31)

Pada perancangan aplikasi ini menggunakan empat model UML diagram,

yaitu use case diagram, activity diagram, class diagram, dan sequence diagram.

[15]

1. Use Case Diagram

Use case diagram menggambarkan fungsionalitas yang diharapkan dari

sebuah sistem. Yang ditekankan adalah “apa” yang diperbuat sistem, dan bukan “bagaimana”. Sebuah use case merepresentasikan sebuah interaksi antara aktor

dengan sistem. Use case merupakan sebuah pekerjaan tertentu, misalnya login ke

sistem, meng-create sebuah daftar belanja, dan sebagainya. Seorang atau sebuah

aktor adalah sebuah entitas manusia atau mesin yang berinteraksi dengan sistem untuk melakukan pekerjaan-pekerjaan tertentu.

Use case diagram dapat sangat membantu menyusun requirement sebuah

sistem, mengkomunikasikan rancangan dengan klien, dan merancang test case

untuk semua feature yang ada pada sistem.

Sebuah use case dapat di-include oleh lebih dari satu use case lain,

sehingga duplikasi fungsionalitas dapat dihindari dengan cara menarik keluar

fungsionalitas yang umum. Sebuah use case juga dapat meng-extend use case lain

dengan behaviour-nya sendiri. Sementara hubungan generalisasi antar use case

menunjukkan bahwa use case yang satu merupakan spesialisasi dari yang lain.

Setelah rangkaian use case, menghasilkan skenario use case yang

merupakan bagian dari detail dan persyaratan fungsional yang dijelaskan dengan narasi ke dalam daftar bernomor. [16]

2. Class Diagram

Class adalah sebuah spesifikasi yang jika diinstansiasi akan menghasilkan sebuah objek dan merupakan inti dari pengembangan dan desain berorientasi

objek. Class menggambarkan keadaan (atribut/properti) suatu sistem, sekaligus


(32)

Class diagram menggambarkan struktur dan deskripsi class, package dan

objek beserta hubungan satu sama lain seperti containment, pewarisan, asosiasi,

dan lain-lain.

3. Activity Diagram

Activity diagram menggambarkan berbagai alur aktivitas dalam sistem

yang sedang dirancang, bagaimana masing-masing alur berawal, decision yang

mungkin terjadi, dan bagaimana mereka berakhir. Activity diagram juga dapat

menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi.

Activity diagram merupakan state diagram khusus, dimana sebagian besar

state adalah action dan sebagian besar transisi di-trigger oleh selesainya state

sebelumnya (internal processing). Oleh karena itu activity diagram tidak

menggambarkan behaviour internal sebuah sistem (dan interaksi antar subsistem)

secara eksak, tetapi lebih menggambarkan proses-proses dan jalur-jalur aktivitas dari level atas secara umum.

4. Sequence Diagram

Sequence diagram menggambarkan interaksi antar objek di dalam dan di

sekitar sistem (termasuk pengguna, display, dan sebagainya) berupa message yang

digambarkan terhadap waktu. Sequence diagram terdiri atar dimensi vertikal

(waktu) dan dimensi horizontal (objek-objek yang terkait).

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 aktivitas

tersebut, proses dan perubahan apa saja yang terjadi secara internal dan output apa

yang dihasilkan.

2.4.3 Android

Android adalah sebuah sistem operasi untuk perangkat mobile berbasis

linux yang mencakup sistem operasi, middleware, dan aplikasi. Android


(33)

mereka. Awalnya, Google Inc. membeli Android Inc, yang merupakan pendatang baru yang membuat piranti lunak untuk ponsel/smartphone. Kemudian untuk mengembangkan Android, dibentuk Open Handset Alliance, kemudian Open Handset Alliance menyatakan mendukung pengembangan open source pada perangkat mobile. Di lain pihak, Google merilis kode-kode Android di bawah

lisensi Apache, sebuah lisensi perangkat lunak dan open platform untuk perangkat

seluler [17].

2.4.3.1 Arsitektur Pada Android

Secara garis besar arsitektur Android dapat dijelaskan dan digambarkan sebagai berikut [18]:

Gambar 2.10 Lapisan Arsitektur sistem operasi Android [18] a. Application dan Widgets

Application dan Widgets ini adalah layer dimana kita berhubungan dengan aplikasi saja, dimana biasanya kita download aplikasi kemudian kita lakukan instalasi dan jalankan aplikasi tersebut. Di layer terdapat aplikasi inti termasuk klien email, program SMS, kalender, peta, browser, kontak dan lain-lain. Semua aplikasi ditulis menggunakan bahasa pemrograman java.


(34)

b. Applications Frameworks

Android adalah “Open Development Platform” yaitu Android menawarkan

kepada pengembang atau memberi kemampuan kepada pengembang untuk membangun aplikasi yang bagus dan inovatif. Arsitektur aplikasi dirancang supaya pengembang dengan mudah dapat menggunakan

kembali komponen yang sudah digunakan (reuse).

Komponen-komponen yang termasuk di dalam Application Frameworks

adalah sebagai berikut:

1. View yang kaya dan extensible yang dapat digunakan untuk

membangun aplikasi, termasuk list, grid, kotak teks, tombol,

dan bahkan sebuah embeddable web.

2. Content provider yang memungkinkan aplikasi untuk

mengakses data (seperti dari daftar kontak help) atau membagi

data tersebut.

3. Resource Manager yang menyediakan akses ke kode non sumber lokal seperti string, gambar, dan tata letak file.

4. Notification Manager yang memungkinkan semua aplikasi menampilkan alert yang bisa dokostumisasi didalam status bar. 5. Activity Manager yang mengelola siklus hidup aplikasi dan

menyediakan navigasi umum backstack.

c. Libraries

Libraries ini adalah layer dimana fitur-fitur Android berada, biasanya para

pembuat aplikasi mengakses libraries untuk menjalankan aplikasinya.

Berjalan di atas kernel. Layer ini meliputi berbagai Library C/C++ inti seperti Libe dan SSL, serta:

1. Libraries media untuk pemutaran media audio dan video. 2. Libraries untuk manajemen tampilan.

3. Libraries grafik mencakup OpenGL untuk grafis 2D dan 3D. 4. Libraries SQLite untuk dukungan database, dan lain-lain.


(35)

d. Android Run Time.

Layer yang membuat aplikasi android dapat dijalankan dimana dalam

prosesnya menggunakan Implementasi Linux. Dalvik Virtual Machine

(DVM) merupakan mesin yang membentuk dasar kerangka aplikasi

Android. Di dalam Android RunTime dibagi menjadi dua bagian yaitu:

1. Core Libraries: Aplikasi Android dibangun dalama bahasa java, sementara Dalvik sebagai virtual mesinnya buka Virtual

Machine Java, sehingga diperlukan sebuah libraries yang

berfungsi untuk menterjemahkan bahasa java/C yang ditangani

oleh Core Libraries.

2. Dalvik Virtual Machine: Mesin virtual berbasis register yang dioptimalkan untuk menjalankan fungsi-fungsi secara efisien, dimana merupakan pengembangan yang mapu membuat linux kernel untuk melakukan threading dan manajemen tingkat rendah.

e. Linux Kernel

Linux Kernel adalah layer dimana inti dari operating system Android itu

berada. Berisi file-file sistem yang mengatur sistem processing, memory,

resource, drivers, dan sistem-sistem operasi Android lainnya. Linux

Kernel yang digunakan Android adalah linux kernel versi 2.6.

2.4.3.2 Tools Pendukung Pembuatan Aplikasi Android

Tools pendukung pembuatan aplikasi Android dalam pembuatan aplikasi

meliputi Java Development Kit, Software Development Kit, dan Eclipse.

a. Java Development Kit (JDK)

JDK adalah software development kit merupakan seperangkat kode,

library, form dan paket yang berguna untuk membuat aplikasi atau

applet java. Di dalam JDK terdapat Java Runtime Environment (JRE)


(36)

Tugas dari interpenter java ini adalah untuk mengcompile source.java

menjadi source.class yang selanjutnya source.class inilah yang akan

dijalankan oleh JRE.

b. Software Development Kit (SDK)

Android SDK adalah tools API (Application Programming Interface)

yang diperlukan untuk mulai mengembangkan aplikasi Android

menggunakan bahasa pemrograman Java. Source SDK Android ini

dapat diunduh langsung di situs resmi pengembang SDK Android.

c. Eclipse

Eclipse adalah sebuah IDE (Integrated Development Environtment)

untuk mengembangkan perangkat lunak dan dapat dijalankan di semua

platform (platform independent). Selain sebagai IDE untuk pengembangan aplikasi, Eclipse pun bisa digunakan untuk aktivitas

dalam siklus pengembangan perangkat lunak, seperti dokumentasi, test

perangkat lunak, pengembangan web, dan lain sebagainya.

2.6.2 Java

Menurut definisi yang diberikan oleh Sun MicroSystem, JAVA adalah

bahasa pemrograman yang sederhana, object-oriented, distributed, interpreted,

robust, secure, architecture neutral, portable, high-performance, multithreaded, dan dinamyc. Berikut ini adalah penjelasan dari definisi-definisi di atas [19]:

1. Java bahasa yang sederhana: Rancangan bahasa java dibuat sedemikian

rupa sehingga dengan cepat dapat dikenali dan dipahami oleh pemrogram pemula sekalipun karena mirip dengan bahasa C/C++ dan yang kedua lebih sederhana dari C/C++ dalam beberapa hal yang sulit pada C/C++ sudah tidak ada pada Java, misalnya pemakaian pointer.

2. Java adalah bahasa yang object oriented: Konsep objek diterapkan pada

pembuatan program Java, bahkan java menggunakan konsep objek secara murni. Java adalah bahasa yang distributed: Bahasa Java dirancang


(37)

sedemikian rupa sehingga mendukung pembuatan aplikasi dalam jaringan computer. Java adalah bahasa yang robust: rancangan java dibuat

sedemikian rupa hingga mengurangi kemungkinan menjadi beku (freeze)

ketika dijalankan. Java adalah bahasa yang secure: secara otomatis java

menerapkan pengamanan terhadap aplikasi sehingga mengurangi kemungkinan terjadinya serangan dari pengguna jaringan. Java adalah

bahasa yang architecture neutral: program java yang telah dikompilasi,

dapat dijalankan. Java adalah bahasa yang portable: program java sangat

mudah dipindahkan dari satu mesin ke mesin lain tanpa harus dikompilasi ulang.

3. Java adalah bahasa yang high-performance: pada hakikatnya program C

yang telah dikompilasi berjalan jauh lebih cepat dari Java, namun hasil kompilasi ini belum tentu bisa jalan pada komputer yang berbeda

arsitektur. Program java dikompilasi menjadi bytecode yang bisa jalan

diberbagai mesin, namun ketika dijalankan bytecode ini harus

diterjemahkan oleh JVM ke dalam bahasa mesin yang sesuai, sehingga lebih lambat dari C, namun karena java dapat digunakan pada jaringan komputer yang kenyataannya tidak terlalu cepat karena hambatan saluran komunikasi maka program Java masih terasa cukup cepat.

4. Java adalah bahasa yang multithreaded: Java dirancang untuk menangani

berbagai aplikasi yang berjalan secara bersamaan, misalnya memainkan

lagu, sambil melakukan download. Kejadian ini disebut dengan multith

5. readed. Java adalah bahasa yang dynamic: bahasa java dirancang untuk beradaptasi dengan lingkungan yang dapat berubah dengan cepat.


(38)

29

3

BAB 3

ANALISIS DAN KEBUTUHAN ALGORITMA

Tahap analisis dan kebutuhan algoritma diperlukan sebagai tahapan sistematis terhadap penerapan metode algoritma yang digunakan dalam sistem yang dibangun. Tahap pertama dari analisis adalah melakukan analisis masalah,

analisis game, analisis masukan, analisis Metode Logika fuzzy, analisis kasus,

analisis kebutuhan fungsional dan analisis non-fungsional.

3.1 Analisis Masalah

Analisis masalah merupakan penjabaran dari masalah yang ada, sehingga

dibuat implementasi logika fuzzy pada permainan Bonny’s Tooth Booth ini.

Analisis masalah yang ada meliputi hal-hal sebagai berikut:

a. Menerapkan konseptual bahasa linguistik pada logika fuzzy untuk merancang

dan memodelkan perilaku-perilaku dari karakter pet pada permainan.

b. Berdasarkan studi literatur dari jurnal Aplikasi Permainan Cat-Pet dengan

Metode Logika Fuzzy. Nafsu makan, dan haus merupakan output perilaku

yang dihasilkan pada permainan cat-pet. Sementara itu kekurangannya yaitu

karakter pet masih belum dapat menghasilkan emosi sebagai representasi

kondisi dari karakter pet-nya.

3.2 Analisis Game

Pada bagian analisis game ini akan menjelaskan analisis permainan sejenis,

dan Gameplay permaianBonny’s Tooth Booth.

3.2.1 Analisis Permainan Sejenis

Pada bagian analisis permainan sejenis ini akan menjelaskan hasil analisis

terhadap permainan jenis virtual pet, khususnya game Cat-Pet yang sebelumnya

telah dipaparkan di latar belakang masalah. Analisis berdasarkan acuan sumber

jurnal ‘Aplikasi Permainan Cat-Pet Dengan Menggunakan Metode Logika Fuzzy


(39)

Tabel 3.1 Game Cat-Pet Overview

Pemain Single Player

Desain Grafis 2D

Karakter Utama Cat (kucing)

Fuzzy Logic - Perilaku nafsu makan (lapar dan kenyang), haus dan tidak haus

- Metode Tsukamoto untuk mesin Inferensinya.

Kekurangan - Hanya terdapat satu jenis makanan

- Tidak ada sifat kucing untuk bermain - Belum ada ekspresi emosi dari kucing - Animasi berbentuk 2 dimensi

- Tidak dimainkan secara Online

- Informasi yang disampaikan sedikit

Kelebihan - Menggunakan Logika Fuzzy

- Animasi kucing, memberikan daya tarik bagi pengguna - Terdapat informasi mengenai memelihara kucing

Berdasarkan maksud dan tujuan, disebutkan bahwa dibangunnya aplikasi

permainan Cat-Pet yaitu sebagai media untuk mengetahui cara memelihara

kucing, dan menerapkan metode logika fuzzy sebagai penentu perilaku cat, agar

kondisi yang dihasilkan tidak hanya berdasarkan waktu saja. [2]

Analisis perihal logika fuzzy dan keterangan yang terdapat pada jurnal

terkait, kemudian dimodifikasi dan ditambahkan dengan maksud dapat

mengimplementasikan logika fuzzy pada permainan Bonny’s Tooth Booth.

Berikut ini analisis yang membedakan antara permainan Cat-Pet dan


(40)

Tabel 3.2 Analisis permainan Cat-Pet dan Bonny’s Tooth Booth

Cat-Pet Bonny’s Tooth Booth

Pemain Single Player

Grafis 2D

Platform Desktop Mobile

Karakter Cat (karakter kucing) Bonny (karakter bentuk kera)

Target Memelihara Cat agar tetap hidup Memberi makanan, dan menjaga

kesehatan gigi karakter Bonny, memunculkan/menampilkan

emosi sesuai keadaan dan output

nilai fuzzy

Fuzzy Logic

Sistem Inferensi Metode Tsukamoto

Parameter Input dan Output

1. Output Lapar dan Kenyang

menggunakan variabel Input

Suhu dan Energi.

2. Output Haus dan Tidak Haus, menggunakan variabel

Input Ion dan Suhu.

1. Menambahkan agak/modifier

pada perilak-perilaku untuk kondisi, agar Implementasi

fuzzynya (uncertainty atau ketidakpastian) lebih terlihat. 2. Output Nafsu Makan (Lapar,

agak lapar, Kenyang) Input

Suhu dan Energi.

3. Output Kesehatan (Sakit,

Agak Sakit, Sehat) Input

Kebersihan dan Imun.

4. Output Emosi (Tidak

senang, Agak Senang,

Senang) Input Nafsu Makan


(41)

3.2.2 Gameplay Bonny’s Tooth Booth

Menurut kamus oxford, gameplay adalah sebuah fitur dari permainan

komputer, seperti plot dan cara permainan dimainkan. [26]

Permainan Bonny’s Tooth Booth ini merupakan prototype. Cara bermain

sederhana dan tidak membutuhkan keahlian khusus atau skill untuk memainkan

permainan ini. Sesuai dengan namanya permainan Bonny’s Tooth Booth

memfokuskan pada gigi, dengan karakter utama yaitu Bonny yang merupakan

playable character digambarkan sebagai hewan peliharaan virtual dari bentuk

animasi kera. Kemudian mengambil istilah dari bahasa inggris booth yang artinya

kamar atau ruangan, memungkinkan karakter utama dapat berpindah dari satu ruangan ke ruangan yang lainnya, pada masing-masing ruangan yang berbeda mempunyai fungsi dapat mengubah keadaan kondisi status (energi, kesehatan, dan kebersihan) Bonny.

Terdapat tiga menu ruangan yang tersedia, diantaranya adalah kitchen, toilet, dan

check up. Berikut ini gameplay pada masing-masing ruangan (booth):

1. Ruangan utama: menampilkan karakter Bonny dan menu tombol

ruangan. Menampilkan juga status nilai defuzzyfikasi dan status meter

masing-masing kondisi. Aksi menekan tombol pada ikon, adalah menu untuk berpindah ruangan.

2. Kitchen: aktivitas memberi makan Bonny, dengan aksi yang dilakukan

menarik layar atau drag makanan ke karakter Bonny, kemudian

tombol prev dan next untuk memilih ragam makanan.

3. Toilet Room: aktivitas membersihkan gigi Bonny dari kuman

makanan, dengan aksi mengetuk layar atau tap dari gigi yang terdapat

bakteri pada mulut dan gigi Bonny.

4. Check Up Room: aktivitas mengobati gigi Bonny dari plak, dengan

aksi mengetuk layar atau tap dari gigi yang terdapat kotoran berwarna

hitam pada gigi Bonny, kondisi ini harus terpenuhi, noda plak yang telah dibersihkan akan berubah warna menjadi abu-abu kemudian


(42)

memilih menu next, dan mengubah alat menjadi air syringe, kemudian melakukan hal yang sama, yaitu mengetuk layar pada gigi yang

terdapat sisa plak.

3.3 Analisis Masukan

Berdasarkan definisi, logika fuzzy adalah suatu cara yang tepat untuk

memetakan suatu ruang input ke dalam suatu ruang output. Menghasilkan input

fuzzy yang awalnya berdasarkan crisp input, crisp input adalah nilai masukan

analog yang diberikan untuk mencari dan menghitung degree of membership atau

derajat keanggotaan dengan cara proses fuzzifikasi.

Batasan input yang diberikan dalam merancang fuzzy sistem pada

permainan Bonny’s Tooth Booth berbeda-beda untuk menghasilkan output

perilaku, berikut ini adalah variabel Input dan Output yang digunakan.

Tabel 3.3 Variabel Output dan Input

Output Output/Input Input

Emosi Nafsu Makan Energi

Suhu

Kesehatan Kebersihan

Imun

Penjelasan parameter-parameter yang digunakan pada perancangan fuzzy

logic untuk permainan Bonny’s Tooth Booth , diantaranya adalah sebagai berikut:

1. Variabel Energi, terdapat dua himpunan fuzzy, yaitu: Rendah, dan Tinggi.

Berdasarkan jumlah kebutuhan kalori yang dibutuhkan hewan kera adalah 990 kkal lebih, sehingga diketahui kalori kebutuhan Bonny per hari adalah sebesar 1000 kkal, dan untuk semesta pembicaranya 0-1000.

Berikut ini pada Tabel 3.4 perancangan jumlah kalori [23][24] dan bakteri pada makanan sebagai masukan untuk menghitung energi dan kebersihan.


(43)

Tabel 3.4 Perancangan Crisp Set Pada Makanan

Nama Makanan Kalori Set Bakteri Set

Ice cream 140 14

Roti 106 11

Kentang goreng 156 16

Brownies 129 13

Cokelat 227 23

Permen Lolipop 83 8

Pisang 105 11

Strawberry 5 5

Kiwi 42 3

Sayuran Hijau 7 1

Kue Pie 441 44

Jamur 22 2

Pada perubahan kalori saat setelah diberikan makanan, kemudian akan diproses nilai perubahannya berkurang 10 kkal per 4 detik.

2. Variabel Suhu, pada variabel ini, terdapat dua himpunan fuzzy, yaitu:

dingin, normal, dan panas. Semesta pembicara untuk variabel suhu adalah

10-40. Domain himpunan fuzzy pada variabel Suhu, yaitu:

1) Dingin: 10-23

2) Normal:18-33

3) Panas:28-40

Nilai suhu didapatkan dari nilai random atau acak, yang akan berubah

setiap 8 detik untuk penerapannya.

3. Variabel Nafsu Makan, pada variabel ini, terdapat tiga himpunan fuzzy,

yaitu: Lapar, Agak Lapar, dan Kenyang. Semesta pembicara 0-100.

Domain himpunan fuzzy pada variabel Nafsu makan, yaitu:

1) Lapar: 0-38

2) Agak Lapar:25-75


(44)

4. Variabel masukan kebersihan berdasarkan nilai bakteri set makanan, karena tidak ada ketentuan umum yang menjelaskan jumlah bakteri yang terkandung pada makanan, sehingga nilai bakteri set pada permainan

Bonny’s Tooth Booth diinisialisasikan:

� ℎ � �

1000 100 (3.1)

Mengacu bahwa makanan dengan kalori gula dan karbohidrat dapat pemicu keadaan kebersihan mulut, karena bakteri memecah makanan manis dan karbohidrat menjadi asam.[26] Sehingga, jumlah makanan yang dikonsumsi, mempunyai bobot untuk menghasilkan status kebersihan.

Variabel Kebersihan, terdapat tiga himpunan Fuzzy, yaitu: Bersih,

Agak Bersih, dan Kotor. Semesta pembicara pada variabel kebersihan

adalah 0-100. Domain himpunan fuzzy pada variabel kebersihan, yaitu:

1) Bersih: 0-38

2) Agak Bersih:30-70

3) Kotor: 68-100

5. Variabel Imun, terdapat dua himpunan Fuzzy, yaitu Imun Kurang dan

Imun Lebih. Semesta pembicara pada variabel Imun adalah 0-12. Domain

himpunan fuzzy pada variabel Imun, yaitu:

1) Kurang: 0-6

2) Lebih: 6-12

Pemilihan variabel imun menyadur dari konsep anjuran pemeriksaan gigi setiap enam bulan sekali ke dokter gigi. Misalkan, Imun Kurang, berarti kurang dari enam bulan, apabila Imun Lebih artinya telah lebih dari waktu anjuran memeriksa gigi, yang otomatis kondisi giginya

kurang baik. Pada pengaturan pertambahan nilai Imun, disetting 1 menit

bertambah satu Imun.

6. Variabel Kesehatan, terdapat tiga himpunan fuzzy, yaitu: Sakit, Agak

Sakit, dan Sehat. Semesta pembicara 0-100. Domain himpunan fuzzy pada


(45)

1) Sakit: 0-38

2) Agak Sakit: 25-75

3) Sehat: 68-100

3.4 Analisis Metode / Algoritma

Pada bagian analisis metode ini, akan menjelaskan secara umum

langkah-langkah logika fuzzy dari awal proses input, sehingga menghasilkan output pada

permainan Bonny’s Tooth Booth sesuai dengan tiga parameter perilaku output,

kemudian dilanjutkan dengan analisis kasus pada subbab selanjutnya.

3.4.1 Analisis Fuzzy Nafsu makan

Secara garis besar pemetaan nilai crisp ke dalam himpunan fuzzy untuk

menghasilkan kondisi nafsu makan Bonny, dijelaskan dengan gambar 3.1.

ENERGi

FUZZIFIKASI RULE BASE &

INFERENSI DEFUZZIFIKASI

OUTPUT NAFSU MAKAN SUHU

Gambar 3.1 Fuzzy Inference System Nafsu Makan

1. Variabel Energi, pada variabel ini, terdapat dua himpunan Fuzzy, yaitu:

0 100 200 300 400 500 600 700 800 900 1000

1

0 0,5

Rendah Tinggi

D

e

ra

ja

t

Ke

a

n

g

g

o

ta

a

n

Var Energi


(46)

Pada gambar 3.2 Menunjukan sebuah grafik energi yang

mempunyai range mulai dari 0-100. Setiap nilai linguistik dari variabel

energi, yaitu rendah dan tinggi mempunyai nilai fuzzifikasi yang

berbeda-beda.

1) Variabel linguistik Rendah yang memiliki range nilai antara

0-1000 nilai fuzzifikasinya dihitung berdasarkan fungsi

representasi linear, berikut persamaannya:

µKalRendah[y]=

1; 0

1000− 1000

0; 1000

; 0 1000

2) Variabel linguistik Tinggi yang memiliki range nilai antara

0-1000 nilai fuzzifikasinya dihitung berdasarkan fungsi

representasi linear, berikut persamaannya:

µKalTinggi[y]=

0; 0

−0 1000

1; 1000

; 0 1000

2. Variabel Suhu, pada variabel ini, terdapat tiga himpunan Fuzzy, yaitu:

10 15 20 25 30 35 40

D

e

ra

ja

t

Ke

a

n

g

g

o

ta

a

n

1

0

Var Suhu

Dingin Normal Panas

0,5

Gambar 3.3 Grafik variabel Suhu

Pada gambar 3.3 Menunjukan sebuah grafik suhu yang mempunyai range mulai dari 10-40. Setiap nilai linguistik dari variabel energi, yaitu


(47)

Dingin, Normal, dan Panas mempunyai nilai fuzzifikasi yang berbeda-beda.

1) Variabel linguistik Dingin yang memiliki range nilai antara

10-23 nilai fuzzifikasinya dihitung berdasarkan fungsi representasi

bahu, berikut persamaannya:

µSuhuDingin[s]=

1; 18

23− 5

0; 23

; 18 23

2) Variabel linguistik Normal yang memiliki range nilai antara

18-33 nilai fuzzifikasinya dihitung berdasarkan fungsi

representasi segitiga, berikut persamaannya:

µSuhuNormal[s]=

0; 18 � � 33

−18

7 ; 18 25

33−

8 ; 25 33

3) Variabel linguistik Panas yang memiliki range nilai antara

28-40 nilai fuzzifikasinya dihitung berdasarkan fungsi representasi

bahu, berikut persamaannya:

µSuhuPanas[s]=

0; 28

−28

5 ; 28 33

1; 33


(48)

10 20 30 40 50 60 70 80 90 100

D

er

aj

at

Kean

ggo

taan

0 0

1

Agak

Lapar Kenyang

Var Hungry 0,5

Gambar 3.4 Grafik variabel Nafsu Makan

Pada gambar 3.4 Menunjukan sebuah grafik variabel nafsu makan yang mempunyai range mulai dari 0-100. Setiap nilai linguistik dari

variabel nafsu makan, yaitu rendah dan tinggi mempunyai nilai fuzzifikasi

yang berbeda-beda.

1) Variabel linguistik Lapar yang memiliki range nilai antara 0-38

nilai fuzzifikasinya dihitung berdasarkan fungsi representasi

bahu, berikut persamaannya:

µLapar [x]=

1; 25

38− 13

0; 38

; 25 38

2) Variabel linguistik Agak Lapar yang memiliki range nilai

antara 25-75 nilai fuzzifikasinya dihitung berdasarkan fungsi

representasi segitiga, berikut persamaannya:

µAgak[x]=

0; 25 � � 75

−25

25 ; 25 50

75−


(49)

3) Variabel linguistik Kenyang yang memiliki range nilai antara

68-100 nilai fuzzifikasinya dihitung berdasarkan fungsi

representasi bahu, berikut persamaannya:

µKenyang[x]=

0; 68

−68

7 ; 68 75

1; 75

3.4.1.1 Kaidah Fuzzy atau Rule Base Nafsu Makan

Kaidah fuzzy atau rules merupakan kerangka komputasi yang

didasarkan pada teori himpunan fuzzy, aturan fuzzy berbentuk if-then.

Aturan-aturan yang diterapkan dalam penentuan perilaku nafsu makan karakter Bonny yang mengacu dari faktor yang mempengaruhi rasa lapar,

maka disusun enam rules, yaitu sebagai berikut:

Tabel 3.5 Rule Base Nafsu makan

Energi Suhu Nafsu Makan

IF Rendah AND Dingin THEN Lapar

IF Tinggi AND Dingin THEN Agak Lapar

IF Rendah AND Normal THEN Agak Lapar

IF Tinggi AND Normal THEN Kenyang

IF Rendah AND Panas THEN Lapar

IF Tinggi AND Panas THEN Kenyang

Fungsi implikasi yang digunakan untuk memproses nafsu makan adalah MIN.

3.4.1.2 Agregasi dan Defuzzifikasi

Agregasi untuk menentukan keluaran semua rules dan

dikombinasikan menjadi sebuah fuzzy set tunggal untuk memproses nafsu


(50)

3.4.2 Analisis Fuzzy Kesehatan

Secara garis besar pemetaan nilai crisp ke dalam himpunan fuzzy untuk

menghasilkan kondisi kesehatan Bonny, dijelaskan dengan gambar 3.5.

KEBERSIHAN

IMUN

FUZZIFIKASI RULE BASE &

INFERENSI DEFUZZIFIKASI

OUTPUT KESEHATAN

Gambar 3.5 Fuzzy Inference System Kesehatan

3.4.2.1 Analisis Fuzzifikasi

1. Variabel Kebersihan, terdapat tiga himpunan Fuzzy, yaitu:

10 20 30 40 50 60 70 80 90 100

D

e

ra

ja

t

Ke

a

ng

g

o

taa

n

0 0 1

Agak

Bersih Kotor

Var Clean 0,5

Gambar 3.6 Grafik fungsi keanggotaan variabel Kebersihan

Pada gambar 3.6 Menunjukan sebuah grafik kebersihan yang mempunyai

range mulai dari 0-100. Setiap nilai linguistik dari variabel kebersihan, yaitu

bersih, agak bersih, dan kotor mempunyai nilai fuzzyfikasi yang berbeda-beda.

1) Variabel linguistik Bersih yang memiliki range nilai antara

0-38 nilai fuzzyfikasinya dihitung berdasarkan fungsi representasi


(51)

µKebBersih [x]=

1; 25

38− 13

0; 38

; 25 38

2) Variabel linguistik Agak Bersih yang memiliki range nilai

antara 25-75 nilai fuzzyfikasinya dihitung berdasarkan fungsi

representasi bahu, berikut persamaannya:

µKebAgak [x]=

0; 25 � � 75

−25

25 ; 25 50

75−

25 ; 50 75

3) Variabel linguistik Kotor yang memiliki range nilai antara

68-100 nilai fuzzyfikasinya dihitung berdasarkan fungsi

representasi bahu, berikut persamaannya:

µKebKotor[x]=

0; 68

−68

7 ; 68 75

1; 75

2. Variabel Imun, terdapat dua himpunan Fuzzy, yaitu:

0 1 2 3 4 5 6 7 8 9 10

1

0 0,5

Kurang Lebih

D

e

raj

at

Kea

n

gg

ot

a

an

Var Energi

12 11


(52)

Pada gambar 3.7. Menunjukan sebuah grafik Imun yang mempunyai range mulai dari 0-12. Setiap nilai linguistik dari variabel

Imun, yaitu kurang dan lebih mempunyai nilai fuzzyfikasi yang

berbeda-beda.

1) Variabel linguistik Kurang yang memiliki range nilai antara

0-6 nilai fuzzyfikasinya dihitung berdasarkan fungsi linear,

berikut persamaannya: µImunKurang [x]=

6−

6 ; 0 6

0; 6

2) Variabel linguistik Lebih yang memiliki range nilai antara 6-12

nilai fuzzyfikasinya dihitung berdasarkan fungsi linear, berikut

persamaannya:

µImunLebih [x]=

0; 6

−6 6

1; 6

; 6 12

Variabel Kesehatan, terdapat tiga himpunan Fuzzy, yaitu:

10 20 30 40 50 60 70 80 90

D

e

ra

ja

t

Ke

an

g

g

ot

a

a

n

0 0 1

Agak

Sakit Sehat

Var Health

100

0,5


(53)

Pada gambar 3.8 menunjukan sebuah grafik kesehatan yang mempunyai

range mulai dari 0-100. Setiap nilai linguistik dari variabel Kesehatan,

yaitu sakit, agak sakit, dan sehat mempunyai nilai fuzzyfikasi yang

berbeda-beda.

1) Variabel linguistik Sakit yang memiliki range nilai antara 0-38

nilai fuzzyfikasinya dihitung berdasarkan fungsi representasi

bahu, berikut persamaannya:

µKesSakit [x]=

1; 25

38− 13

0; 38

; 25 38

2) Variabel linguistik Agak Sakit yang memiliki range nilai antara

25-75 nilai fuzzyfikasinya dihitung berdasarkan fungsi

representasi segitiga, berikut persamaannya:

µKesAgak[x]=

0; 25 � � 75

−25

25 ; 25 50

75−

25 ; 50 75

3) Variabel linguistik Sehat yang memiliki range nilai antara

68-100 nilai fuzzyfikasinya dihitung berdasarkan fungsi

representasi bahu, berikut persamaannya:

µKesSehat[x]=

0; 68

−68

7 ; 68 75

1; 75

3.4.2.2 Kaidah Fuzzy atau Rule Base Kesehatan

Kaidah fuzzy atau rules atau aturan-aturan yang diterapkan dalam


(54)

Tabel 3.6 Rule Base Kesehatan

Kebersihan Imun Kesehatan

IF Bersih AND Lebih THEN Agak sakit

IF Bersih AND Kurang THEN Sehat

IF Agak Bersih AND Lebih THEN Sakit

IF Agak Bersih AND Kurang THEN Sehat

IF Kotor AND Lebih THEN Sakit

IF Kotor AND Kurang THEN Agak sakit

Fungsi implikasi yang digunakan untuk memproses kesehatan adalah MIN.

3.4.2.3 Agregasi dan Defuzzifikasi

Agregasi untuk menentukan keluaran semua rules dan dikombinasikan

menjadi sebuah fuzzy set tunggal. Defuzzifikasi untuk menghasilkan nilai

kesehatan menggunakan rata-rata terbobot.

3.4.3 Analisis Fuzzy Emosi

Secara garis besar pemetaan nilai crisp ke dalam himpunan fuzzy untuk

menghasilkan kondisi emosi Bonny, dijelaskan pada gambar 3.9.

KESEHATAN

KONDISI ENERGI

FUZZIFIKASI RULE BASE &

INFERENSI DEFUZZIFIKASI

OUTPUT EMOSI


(55)

3.4.3.1 Analisis Fuzzifikasi

1. Variabel Nafsu Makan (input), terdapat tiga himpunan Fuzzy, yaitu:

10 20 30 40 50 60 70 80 90 100

D

er

aja

t Ke

an

gg

ot

aa

n

0 0 1

Agak

Lapar Kenyang

Var Hungry 0,5

Gambar 3.10 Grafik variabel Nafsu Makan

Pada gambar 3.9 Menunjukan sebuah grafik variabel nafsu makan yang mempunyai range mulai dari 0-100. Setiap nilai linguistik dari

variabel nafsu makan, yaitu rendah dan tinggi mempunyai nilai fuzzifikasi

yang berbeda-beda.

1) Variabel linguistik Lapar yang memiliki range nilai antara 0-38

nilai fuzzifikasinya dihitung berdasarkan fungsi representasi

bahu, berikut persamaannya:

µLapar [x]=

1; 25

38− 13

0; 38

; 25 38

2) Variabel linguistik Agak Lapar yang memiliki range nilai

antara 25-75 nilai fuzzifikasinya dihitung berdasarkan fungsi


(56)

µAgak[x]=

0; 25 � � 75

−25

25 ; 25 50

75−

25 ; 50 75

3) Variabel linguistik Kenyang yang memiliki range nilai antara

68-100 nilai fuzzifikasinya dihitung berdasarkan fungsi

representasi bahu, berikut persamaannya:

µKenyang[x]=

0; 68

−68

7 ; 68 75

1; 75

2. Variabel Kesehatan, terdapat tiga himpunan fuzzy, yaitu:

10 20 30 40 50 60 70 80 90

D

era

ja

t K

ea

ng

go

ta

an

0 0

1 Agak

Sakit Sehat

Var Health

100 0,5

Gambar 3.11 Grafik fungsi keanggotaan variabel Kesehatan

Pada gambar 3.10 menunjukan sebuah grafik kesehatan yang

mempunyai range mulai dari 0-100. Setiap nilai linguistik dari variabel

Kesehatan, yaitu sakit, agak sakit, dan sehat mempunyai nilai fuzzyfikasi

yang berbeda-beda.

1) Variabel linguistik Sakit yang memiliki range nilai antara 0-38

nilai fuzzyfikasinya dihitung berdasarkan fungsi representasi


(57)

µKesSakit [x]=

1; 25

38− 13

0; 38

; 25 38

2) Variabel linguistik Agak Sakit yang memiliki range nilai antara

25-75 nilai fuzzyfikasinya dihitung berdasarkan fungsi

representasi segitiga, berikut persamaannya:

µKesAgak[x]=

0; 25 � � 75

−25

25 ; 25 50

75−

25 ; 50 75

3) Variabel linguistik Sehat yang memiliki range nilai antara

68-100 nilai fuzzyfikasinya dihitung berdasarkan fungsi representasi

bahu berikut persamaannya:

µKesSehat[x]=

0; 68

−68

7 ; 68 75

1; 75

3. Variabel Emosi, pada variabel ini, terdapat tiga himpunan Fuzzy, yaitu:

Tidak Senang, Agak Senang, dan Senang. Semesta pembicara 0-30.

Domain himpunan fuzzy pada variabel Emosi, yaitu:

1) Tidak Senang: 0-30

2) Agak Senang:25-75


(58)

Der

aj

at

Kean

gg

ot

aa

n

Var Emotion

Tidak Senang Agak Senang

0 10 20 30 40 50 60 70 80 90 100

0 1

0,5

Gambar 3.12 Grafik fungsi keanggotaan variabel Emosi

Pada gambar 3.11 Menunjukan sebuah grafik Emosi yang

mempunyai range mulai dari 0-30. Setiap nilai linguistik dari variabel

emosi, yaitu Tidak Senang, Agak Senang, dan Senang. mempunyai nilai

fuzzyfikasi yang berbeda-beda.

1) Variabel linguistik Tidak Senang yang memiliki range nilai

antara 0-30 nilai fuzzyfikasinya dihitung berdasarkan fungsi

linear, berikut persamaannya:

µEmoTidak[z]=

30−

30 ; 0 30

0; 30

2) Variabel linguistik Agak Senang yang memiliki range nilai

antara 8-22 nilai fuzzyfikasinya dihitung berdasarkan fungsi

segitiga, berikut persamaannya:

µEmoAgak[z]=

0; 25 � � 75

−25

25 ; 25 50

50−


(59)

3) Variabel linguistik Senang yang memiliki range nilai antara

65-100, nilai fuzzyfikasinya dihitung berdasarkan fungsi linear,

berikut persamaannya:

µEmoSenang[z]=

0; 65

−65

35 ; 65 100

1; 100

3.4.3.2 Kaidah Fuzzy atau Rule Base Emosi

Kaidah fuzzy atau rules atau aturan-aturan yang diterapkan dalam

penentuan kondisi Emosi Bonny terdapat sembilan rules, yaitu:

Tabel 3.7 Rule Base Kondisi Emosi

Kesehatan Nafsu Makan Emosi

IF Sakit AND Lapar THEN Tidak Senang

IF Agak Sakit AND Lapar THEN Tidak Senang

IF Sehat AND Lapar THEN Agak senang

IF Sakit AND Agak Lapar THEN Tidak Senang

IF Agak Sakit AND Agak Lapar THEN Agak senang

IF Sehat AND Agak Lapar THEN Senang

IF Sakit AND Kenyang THEN Agak senang

IF Agak Sakit AND Kenyang THEN Senang

IF Sehat AND Kenyang THEN Senang

Fungsi implikasi yang digunakan untuk memproses perilaku emosi adalah MIN.

3.4.3.3 Agregasi dan Defuzzifikasi

Agregasi untuk menentukan keluaran semua rules dan dikombinasikan

menjadi sebuah fuzzy set tunggal. Defuzzifikasi untuk menghasilkan nilai perilaku


(60)

3.4.4 Analisis Kasus

Pada subbab ini akan menjelaskan contoh kasus yang

mengimplementasikan tahapan logika fuzzy, dengan rumus-rumus yang

sebelumnya telah dipaparkan pada subbab analisis metode. Tujuan analisis kasus

ini yaitu untuk memberikan gambaran proses perhitungan fuzzy secara manual.

Terdapat tiga contoh kasus yang dianalisis, yaitu kasus untuk menentukan nafsu

makan, kesehatan, dan emosi.

3.4.4.1 Analisis Kasus Nafsu Makan

Misalkan, jumlah energi yang dimiliki adalah 500kkal, dan suhu

ruangan adalah 30 derajat celcius. Maka bagaimana frekuensi kondisi lapar

Bonny. Berdasarkan tahapan-tahapan atau proses agregasi yang menentukan

keluaran sesuai dengan aturan fuzzy.

3.4.4.1.1 Tahapan Fuzzifikasi

Perhitungan fuzzifikasi untuk energi dari setiap variabel linguistik

(Rendah, dan Tinggi) apabila nilai energi [500] adalah sebagai berikut:

µKalRendah [500]= 1000−500

1000 = 0,5

µKalTinggi [500]=500−0

1000 = 0,5

Perhitungan fuzzyfikasi untuk setiap variabel linguistik suhu (Dingin, Normal dan

Panas) apabila nilai suhu [30] adalah sebagai berikut:

µSuhuDingin [30]= 30 ≥ 23 = 0

µSuhuNormal [30]=33−30

8 = 0,37

µSuhuPanas [30]= 30−28

5 = 0,4

3.4.4.1.2 Tahapan Pembentukan Rule

Berikut ini merupakan tahapan perancangan pembentukan rule untuk


(61)

Tabel 3.8 Rule Nafsu Makan

Energi Suhu Nafsu Makan

IF Rendah AND Dingin THEN Lapar

IF Tinggi AND Dingin THEN Agak Lapar

IF Rendah AND Normal THEN Agak Lapar

IF Tinggi AND Normal THEN Kenyang

IF Rendah AND Panas THEN Lapar

IF Tinggi AND Panas THEN Kenyang

3.4.4.1.3 Tahapan Mesin Inferensi

Setelah nilai derajat keanggotaan di dapatkan, maka nilai-nilai derajat

tersebut harus dibandingkan sesuai dengan rule base yang ada, tujuannya untuk

mencari nilai Minimum untuk setiap rule yang dihitung.

1. If Energi rendah And suhu dingin Then Lapar

α-pred1 = µKalRendah[500] ∩ µSuhuDingin[30]

= MIN (0,5; 0) = 0

2. If Energi tinggi And suhu dingin Then Lapar

α-pred2 = µKalTinggi[500] ∩ µSuhuDingin[30]

= MIN (0,5; 0) = 0

3. If Energi rendah And suhu normal Then Agak lapar

α-pred3 = µKalRendah[500] ∩ µSuhuNormal[30]

= MIN (0,5; 0,37) = 0,37

4. If Energi tinggi And suhu normal Then Kenyang

α-pred4 = µKalTinggi[500] ∩ µSuhuNormal[30]

= MIN (0,5; 0,37) = 0,37

5. If Energi rendah And suhu panas Then Lapar

α-pred5 = µKalRendah[500] ∩ µSuhuPanas[30]

= MIN (0,5; 0,4) = 0,4


(62)

α-pred6 = µKalTinggi[500] ∩ µSuhuPanas[30] = MIN (0,5; 0,4) = 0,4

3.4.4.1.4 Tahapan Defuzzifikasi

1. Rule 1 = Lapar 38−

13 = 0

Z1 =38-0 = 38

2. Rule 2 = Agak Lapar −25

25 = 0

Z2 = 0 + 25 = 25

3. Rule 3 = Agak Lapar −25

25 = 0,37

Z3 = 9,25 + 25 = 34,25 4. Rule 4 = Kenyang −68

7 = 0,37

Z4 = 2,59 + 68 = 70,6

5. Rule 5 = Lapar 38−

13 = 0,4

Z5 = 38 – 5,2 = 32,8

6. Rule 6 = Kenyang −68

7 = 0,4

Z6 = 2,8 + 68 = 70,8

z = �1 1+ �2 2…+ �

�1+ �2…+ �

z =0 x 38 + 0 x 25 + 0,37 x 34,25 + 0,37 x 70,6 + 0,4 x 32,8 + 0,4 x 70,8

0+0+0,37+0,37+0,4+0,4

=

0+0+12,67+26,12+13,12+28,32

1,54

=

81,11

1,54 = 50,77

Jadi output pada kondisi nafsu makan Bonny bernilai 50,77 adalah Agak

Lapar.

3.4.4.2 Analisis Kasus Kesehatan

Misalkan, jumlah Imun yang dimiliki adalah 7, dan term kebersihannya


(63)

tahapan-tahapan atau proses agregasi yang menentukan keluaran sesuai dengan aturan

fuzzy.

3.4.4.2.1 Tahapan Fuzzifikasi

Perhitungan fuzzifikasi untuk Imun dari setiap variabel linguistik

(Kurang, dan Lebih) apabila nilai Imun [7] adalah sebagai berikut:

µImunKurang[7] = 7 ≥ 6 = 0

µImunLebih[7] = 7 ≥ 6 = 1

Perhitungan fuzzyfikasi untuk setiap variabel linguistik kebersihan (Bersih, Agak

Bersih, dan Kotor) apabila nilai suhu [70] adalah sebagai berikut:

µKebBersih[70]= 70 38 = 0

µKebAgakBer[70]=75−70

25 = 0,2

µSuhuKotor[70]= 70−68

7 = 0,28

3.4.4.2.2 Tahapan Pembentukan Rule

Berikut ini merupakan tahapan perancangan pembentukan rule untuk

kondisi Kesehatan.

Tabel 3.9 Rule Kesehatan

Kebersihan Imun Kesehatan

IF Bersih AND Lebih THEN Agak sakit

IF Bersih AND Kurang THEN Sehat

IF Agak Bersih AND Lebih THEN Sakit

IF Agak Bersih AND Kurang THEN Sehat

IF Kotor AND Lebih THEN Sakit


(1)

(2)

107

5

BAB 5

KESIMPULAN DAN SARAN

Bab ini akan dikemukakan kesimpulan yang dapat diperoleh dari pembahasan bab-bab sebelumnya, serta saran untuk perbaikan dan pengembangan sistem yang akan datang.

5.1 Kesimpulan

Berdasarkan dari analisis, implementasi, pembahasan yang telah dilakukan dalam Implementasi Logika fuzzy pada Permainan Bonny’s Tooth Booth maka dapat ditarik kesimpulan bahwa logika fuzzy dapat menghasilkan kesesuaian respon emosional berupa ekspresi pada wajah karakter pet berdasarkan aturan fuzzy dari variabel nafsu makan, dan kesehatan.

5.2 Saran

Setelah melakukan implementasi dan pengujian, maka timbul beberapa saran untuk pengembangan aplikasi lebih lanjut, yaitu sebagai berikut:

1. Pengembangan respon dari emosi yang lebih beragam. 2. Penambahan variasi permainan.

3. Klasifikasi nilai range pada himpunan input disesuaikan bobotnya agar nantinya nilai outputnya lebih optimal.


(3)

(4)

(5)

(6)

BIODATA PENULIS

1. Data Pribadi

Nama : Septiani Nur Hasanah

NIM : 10109572

Tempat/Tgl. Lahir : Cimahi, 30 September 1992 Jenis Kelamin : Perempuan

Agama : Islam

Alamat : Giri Mekar Jaya No. 296 Padasuka, CimahiTengah No. Telp/HP : 089655491994

e-mail : tianyhasan@gmail.com 2. Riwayat Pendidikan

1997 – 2002 : SDN Sudirman 8 Cimahi 2002 – 2006 : SMP Negeri 8 Cimahi 2006 – 2009 : SMA Pasundan 3 Cimahi

2009 – 2014 : Universitas Komputer Indonesia Program Studi S1 Teknik Informatika