• Tidak ada hasil yang ditemukan

Implementasi Logika Fuzzy Pada Permainan Bonny's Tooth Booth

N/A
N/A
Protected

Academic year: 2017

Membagikan "Implementasi Logika Fuzzy Pada Permainan Bonny's Tooth Booth"

Copied!
120
0
0

Teks penuh

(1)

SKRIPSI

Diajukan untuk Menempuh Ujian Akhir Sarjana

SEPTIANI NUR HASANAH

10109572

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS TEKNIK DAN ILMU KOMPUTER

(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

(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,

(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

(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

(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

(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

(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

(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

(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

(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

(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,

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

(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

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

(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

(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

(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

(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

(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

(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

Gambar

Gambar 2.10 Lapisan Arsitektur sistem operasi Android [18]
Tabel 3.1 Game Cat-Pet Overview
Tabel 3.2 Analisis permainan Cat-Pet dan Bonny’s Tooth Booth
Tabel 3.3 Variabel Output dan Input
+7

Referensi

Dokumen terkait

Zesbendri dan Ariyanti (2007) menyatakan bahwa terdapat hubungan positif sangat kuat antara disiplin kerja dengan kinerja.. dalam penelitiannya menyatakan bahwa disiplin

Menurut Hill & Jones (2012), strategi adalah serangkaian tindakan yang diambil manajer untuk meningkatkan kinerja agar bisa berhadapan dengan pesaing. Jika

Mari kita kembali kepada Tuhan, biarlah diri kita berada dalam kuasa Yesus untuk mengalahkan iblis.. Jangan pernah menyerah terhadap iblis karena Yesuslah yang lebih

Tujuan Computer Vision adalah membuat suatu keputusan dari suatu obyek nyata yang dilihat oleh komputer.. Dalam membuat keputusan dari obyek nyata yang dilihat oleh

Dari hasil pengujian dan analisa yang telah dilakukan pada implementasi wireless sensor network untuk sistem perkiraan cuaca dengan menggunakan logika fuzzy dapat

1) Kontak mata, menyampaikan banyak makna. Hal ini menunjukkan apakah kita menaruh perhatian dengan orang yang berbicara dengan kita. Bagaimana kita melihat dan

Ketika koneksi jaringan komputer lokal ke server sudah kembali tersambung, maka sistem akan mengirimkan SMS notifikasi seperti yang tampak pada gambar 4.32. Ketika server

Pada sistem informasi program imunisasi di Puskesmas Kelapa Dua yang berjalan saat ini, masih sering timbul masalah tentang keterlambatan pelaporan yaitu lewat dari tanggal 5