SKRIPSI
Diajukan untuk Menempuh Ujian Akhir Sarjana
SEPTIANI NUR HASANAH
10109572
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS TEKNIK DAN ILMU KOMPUTER
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
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
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
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,
[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)
[26] Gameplay definition:
http://www.oxforddictionaries.com/definition/english/gameplay (diakses
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
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
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
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,
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
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
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
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.
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
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:
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,
(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;�
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.
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
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
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
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
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
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
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
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,
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.
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
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
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
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.
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)
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
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
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
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
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
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
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
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
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
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
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
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
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−
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
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