Implementasi Algoritma Fuzzy Logic Dalam Pengembalian Keputusan Berinvestasi Pada Game Bergenre Time Management (Me In Trouble)

(1)

1

1.1 Latar Belakang Masalah

Diner Dash merupakan salah satu dari sekian banyak time management game yang saat ini sudah ada. Diner Dash ini merupakan sebuah game dimana pemain yang memainkannya akan berperan sebagai pelayan kafe yang harus melayani pelanggan - pelanggan yang datang. Pelayanannya tersebut diakukan dengan menempatkan setiap pelanggan yang datang pada kursi yang tersedia, lalu melayani pesanan yang dipesan oleh pelanggan, setelah selesai melayani maka akan mendapatkan score. Tujuan atau objektif dari game ini adalah untuk mendapatkan atau bahkan melebihi target score yang ditetapkan supaya bisa berhasil dan melanjutkan permainan ke level berikutnya. Selain dari Diner Dash, terdapat beberapa game lain yang siklus gameplay dan objektif game-nya menyerupai, yaitu Fitness Frenzy, Jojo’s Fashion Show, Club Control, Farm Frezy dan Deco Fever.

Berdasarkan game-game yang telah disebutkan, dengan banyaknya game yang memiliki siklus permainan dan objektif yang sama, cenderung akan membuat game tersebut menjadi membosankan. Ini didukung juga berdasarkan review yang ada pada mixrank.com terhadap game Diner Dash. Berdasarkan pengamatan, terdapat komentar-komentar yang menyatakan bahwa permainan tersebut membuat pemain menjadi bosan. Selain unsur kesamaan yang membuat game tersebut cenderung menjadi bosan, unsur lain yang terdapat pada siklus permainan atau objektif game seperti yang disebutkan tadi adalah level kesulitan dari game tersebut. Dengan siklus dan objektif game yang seperti itu, sebagai contoh jika pada Diner Dash, tentunya target score yang dipatok akan semakin tinggi dan pemain pun dituntut untuk semakin cepat dan tepat dalam melakukan pelayanan, bahkan jika terus berlanjut sampai level-level berikutnya, game tersebut akan semakin sulit sehingga pemain merasa kesulitan dan beranggapan game tersebut tidak mungkin bisa diselesaikan.


(2)

Berdasarkan hal tersebut, bagaimana jika siklus permainan dan objektif game-nya tidak demikian, keberhasilan ditentukan tidak berdasarkan score, namun dengan ditentukan melalui hasil pertimbangann yang melibatkan beragai faktor lalu diambil keputusan berhasil atau tidak. Dengan begitu keberhasilan dari game-pun tidak harus berpatokan pada score saja, namun pada faktor-faktor penentu keberhasilan yang dimana tidak harus semua faktor tersebut terpenuhi jika ingin berhasil dalam memainkan game-nya. Untuk dapat mengembangkan game yang dapat mengambil keputusan ini terdapat masalah yang harus diatasi yaitu bagaimana mengatasi ketidakpastian terhadap sesuatu yang ada pada saat pertimbangan dalam pengambilan keputusan tersebut dilakukan. Maka dari itu, untuk membuat suatu game yang dapat melakukan pertimbangan dan mengambil keputusan, diperlukan suatu algoritma yang dapat mengatasi ketidakpastian sehingga bisa melakukan pengambilan keputusan.

Melihat hal tersebut, bagaimana jika algoritma fuzzy logic diterapkan pada game untuk mengambil keputusan. Dengan kemampuannya yang dapat mengatasi masalah ketidakpastian yang muncul dalam pengambilan keputusan, fuzzy logic bisa menjadi solusi yang tepat untuk digunakan dalam proses pengambilan keputusan. Penerapan algoritma fuzzy logic dalam pengambilan keputusan ini akan diimplementasikan pada game time management yang diberi nama Me In Trouble. Algoritma fuzzy logic tersebut akan diterapkan pada game dalam proses pengambilan keputusan berinvestasi. Maka dari itu dilakukan penelitian dengan judul “Implementasi Algoritma Fuzzy Logic Dalam Pengambilan Keputusan Berinvestasi Pada Game Bergenre Time Management (Me In Trouble)”.

1.2 Rumusan Masalah

Berdasarkan latar belakang masalah yang telah dipaparkan diatas, maka dapat di rumuskan bahwa yang menjadi pokok permasalahan dalam penelitian ini adalah Bagaimana menerapkan algoritma fuzzy logic untuk mengatasi ketidakpastian dalam pengambilan keputusan berinvestasi pada game Me In Trouble.


(3)

1.3 Maksud Dan Tujuan

Maksud dari penelitian ini adalah menerapkan algoritma fuzzy logic pada game Me In Trouble untuk mengatasi masalah ketidakpastian dalam menentukan keputusan berinvestasi.

Tujuan dari penelitian ini adalah membuat game memiliki kemampuan untuk mengatasi masalah ketidakpastian dalam pengambilan keputusan sehingga dapat mengambil keputusan berinvestasi.

1.4 Batasan Masalah

Merujuk pada paparan latar belakang masalah, agar penelitian ini lebih terarah, maka masalah dibatasi hanya pada hal-hal sebagai berikut:

1. Game yang dibangun merupakan time management game.

2. Algoritma kecerdasan buatan yang digunakan adalah algoritma fuzzy logic. 3. Input yang digunakan berasal dari waktu pelayanan burger, kesesuaian burger,

waktu pelayanan kopi dan kesesuaian kopi.

4. Inference yang digunakan adalah inference model sugeno.

5. Output yang dihasilkan berupa keputusan berinvestasi yang menyatakan “Berinvestasi” atau “Tidak Investasi”.

6. Pemodelan menggunakan UML.

1.5 Metodologi Penelitian

Metodologi penelitian merupakan suatu proses yang digunakan untuk memecahkan suatu masalah agar lebih efisien. Metode penelitian yang digunakan adalah metode deskriptif. Metode deskriptif merupakan metode yang menggambarkan fakta-fakta dan informasi dalam situasi atau kejadian sekarang secara sistematis, faktual dan akurat.

Pengumpulan data dan pengembangan perangkat lunak dalam penelitian ini menggunakan dua proses metode yaitu metode pengumpulan data dan metode pembangunan perangkat lunak.


(4)

1.5.1 Metode Pengumpulan Data

Metode pengumpulan data yang digunakan dalam penelitian ini adalah sebagai berikut:

a. Studi Literatur

Pengumpulan data dengan cara mengumpulkan literatur, jurnal, paper dan bacaan-bacaan yang ada kaitannya dengan judul penelitian.

b. Observasi

Metode pengumpulan data dengan melakukan pengamatan secara langsung terhadap objek yang diteliti yang dalam hal ini adalah game yang berjudul Me In Trouble.

1.5.2 Metode Pembangunan Perangkat Lunak

Metode pembangunan perangkat lunak menggunakan model prototype. [1] Alasan menggunakan metode prototype adalah karena metode ini melakukan pengumpulan kebutuhan dan memperbaiki kebutuhan, melakukan desain dengan cepat dan mengevaluasi kebutuhan oleh pemakai agar sesuai dengan kebutuhan. Pada gambar 1.1 menunjukan tahapan-tahapan model prototype yaitu sebagai berikut:

1. Requirement Gathering And Refinement (Pengumpulan Kebutuhan Dan Perbaikan)

Mengumpulkan kebutuhan untuk merancang sebuah game dan juga melakukan perbaikan game jika terdapat kekurangan.

2. Quick Design (Desain Cepat)

Mendesain secara cepat aplikasi game sesuai dengan kebutuhan pemakai. 3. Building Prototype (Bentuk Prototype)

Aplikasi game yang sudah didesain akan dirancang ke dalam bahasa pemrograman dengan menggunakan tools yang ada.

4. Customer Evaluation Of Prototype (Evaluasi Pemakai Terhadap Prototype) Setelah game sudah jadi, selanjutnya game ini diuji dengan memasukan algoritma yang akan dipakai. Setelah diuji, kemudian diberikan kepada pemakai agar dapat mengetahui game yang sudah diuji.


(5)

5. Refining Prototype (Perbaikan Prototype)

Memperbaiki game yang sudah jadi dengan menguji kembali algoritma pada game ataupun yang tidak sesuai dengan kebutuhan pemakai. Setelah game sudah diperbaiki, kemudian dapat diberikan kembali kepada pemakai agar dapat mengetahui game yang sudah diuji.

6. Engineer Product (Produk Rekayasa)

Aplikasi game sudah sesuai dengan kebutuhan pemakai.

Gambar 1.1 Model Prototype [1]

1.6 Sistematika Penulisan

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

BAB 1 PENDAHULUAN

Bab ini berisi tentang latar belakang masalah, rumusan masalah, maksud dan tujuan, batasan masalah, metodologi penelitian dan sistematika penulisan penelitian.


(6)

BAB 2 LANDASAN TEORI

Bab ini berisis tentang teori-teori pendukung yang digunakan dalam penelitian yang meliputi artificial intelligence, fuzzy logic, game, object oriented programming and modelling, unity dan bahasa pemrograman C#.

BAB 3 ANALISIS DAN KEBUTUHAN ALGORITMA

Bab ini berisi tentang analisis dan perancangan game yang dibangun yang meliputi analisis masalah, analisis game yang dibangun, analisis algoritma, analisis non fungsional dan analisis fungsional.

BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM

Bab ini berisi tentang implementasi algoritma ke dalam perangkat lunak berdasarkan perancangan yang telah dibuat, serta pengujian perangkat lunak. Beberapa implementasi tersebut meliputi implementasi perangkat keras, implementasi perangkat lunak, implementasi antarmuka.

BAB 5 KESIMPULAN DAN SARAN

Bab ini berisi tentang kesimpulan yang didapatkan selama penelitian serta saran untuk mengembangkan penelitian


(7)

7

2.1 Kecerdasan Buatan

Kecerdasan buatan berasal dari bahasa Inggris “Artificial Intelligence” atau disingkat AI, yaitu intelligence adalah kata sifat yang berarti cerdas, sedangkan artificial artinya buatan. Kecerdasan yang dimaksud disini merajuk pada mesin yang mampu berpikir, menimbang tindakan yang diambil, dan mampu mengambil keputusan seperti yang dilakukan oleh manusia.

Menurut Alan Turing, ahli matematika berkebangsaan Inggris yang dijuluki bapak komputer modern dan pembongkar sandi Nazi dalam era Perang Dunia II 1950, menetapkan definisi artificial intelligence: “Jika komputer tidak dapat dibedakan dengan manusia saat berbicara melalui terminal komputer, maka bisa dikatakan komputer itu cerdas, mempunyai kecerdasan”.

Menurut John Carthy dari Stanford mendefinisikan kecerdasan sebagai “Kemampuan untuk mencapai sukses dalam menyelesaikan suatu permasalahan”. Menurut Herbert Alexander Simon (June 15, 1916-February 9, 2001): “Kecerdasan buatan (artificial intelligence) merupakan kawasan penelitian, aplikasi, dan instruksi yang terkait dengan pemrograman komputer untuk melakukan sesuatu hal yang dalam pandangan manusia adalah cerdas”.

Menurut Rich and Knight (1991): “Kecerdasan buatan (AI) merupakan sebuah studi tentang bagaimana membuat komputer melakukan hal-hal yang pada saat ini dapat dilakukan lebih baik oleh manusia”.

Dari sini dapat dikatakan bahwa: cerdas adalah memiliki pengetahuan, pengalaman, dan penalaran untuk membuat keputusan dan mengambil tindakan. Jadi, agar mesin bisa cerdas (bertindak seperti manusia) maka harus diberi bekal pengetahuan dan diberi kemampuan untuk menalar. [2]

2.1.1 Keuntungan Kecerdasan Buatan


(8)

1. Kecerdasan buatan lebih bersifat permanen. Kecerdasan alami akan cepat mengalami perubahan. Hal ini dimungkinkan karena sifat manusia yang pelupa. Kecerdasan buatan tidak akan berubah sepanjang sistem komputer dan program tidak mengubahnya.

2. Kecerdasan buatan lebih mudah diduplikasi dan disebarkan. Men-transfer pengetahuan manusia dari satu orang ke orang lain butuh proses dan waktu lama. Disamping itu suatu keahlian tidak akan pernah bisa diduplikasi secara lengkap. Sedangkan jika pengetahuan terletak pada suatu sistem komputer, pengetahuan tersebuat dapat di-transfer atau disalin dengan mudah dan cepat dari satu komputer ke komputer lain

3. Kecerdasan buatan lebih murah dibanding dengan kecerdasan alami. Menyediakan layanan komputer akan lebih mudah dan lebih murah dibanding dengan harus mendatangkan seseorang untuk mengerjakan sejumlah pekerjaan dalam jangka waktu yang sangat lama.

4. Kecerdasan buatan bersifat konsisten. Hal ini disebabkan karena kecerdasan buatan adalah bagian dari teknologi komputer. Sedangkan kecerdasan alami senantiasa berubah-ubah.

5. Kecerdasan buatan dapat didokumentasikan. Keputusan yang dibuat komputer dapat didokumentasikan dengan mudah dengan melacak setiap aktivitas dari sistem tersebut. Kecerdasan alami sangat sulit untuk direproduksi.

6. Kecerdasan buatan dapat mengerjakan pekerjaan lebih cepat dibanding dengan kecerdasan alami.

7. Kecerdasan buatan dapat mengerjakan pekerjaan lebih baik dibanding dengan kecerdasan alami.

2.1.2 Lingkup Utama Kecerdasan Buatan

Lingkup utama kecerdasan buatan diantaranya: [2]

1. Sistem pakar. Komputer digunakan sebagai saran untuk menyimpan pengetahuan para pakar. Dengan demikian komputer akan memiliki keahlian untuk menyelesaikan masalah dengan meniru keahlian yang dimiliki para pakar


(9)

2. Pengolahan bahasa alami. Dengan pengolahan bahasa alami ini diharapkan user mampu berkomunikasi dengan komputer dengan menggunakan bahasa sehari-hari.

3. Pengenalan ucapan. Melalui pengenalan ucapan diharapkan manusia mampu berkomunikasi dengan komputer dengan menggunakan suara.

4. Robotika dan sistem sensor

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

6. Intelligent Computer Aid Instruction. Komputer dapat digunakan sebagai tutor yang dapat melatih dan mengajar

2.1.3 Penerapan Kecerdasan Buatan

Kecerdasan buatan dapat diterapkan pada beberapa bidang yang diantaranya: [2]

a. Visualisasi komputer

Kecerdasan buatan pada bidang visualisasi komputer ini memungkinkan sebuah sistem komputer mengenali gambar sebagai input. Contohnya mengenali sebuah pola pada suatu gambar.

b. Pengenalan Suara

Kecerdasan buatan pada pengenalan suara ini dapat mengenali suara manusia. Cara mengenali suara ini dengan mencocokannya pada acuan yang telah diprogramkan terlebih dahulu. Contohnya perintah komputer dengan menggunakan suara user.

c. Sistem Pakar

Kecerdasan buatan pada sistem pakar ini memungkinkan sebuah sistem komputer memiliki cara berpikir dan penalaran seorang ahli dalam mengambil keputusan, untuk memecahkan masalah yang ada pada saat itu. Contohnya program komputer yang dapat mendiagnosa penyakit dengan memasukan gejala-gejala yang dialami pasien.


(10)

buatan pada permainan ini memungkinkan sebuah sistem komputer untuk memiliki cara berpikir manusia dalam bermain. Contohnya permainan yang memiliki fasilitas orang melawan komputer. Komputer sudah di program sedemikian rupa agar memiliki cara bermain seperti seorang manusia bahkan bisa melebihi seorang manusia.

2.1.4 Kecerdasan Buatan Pada Game

Kecerdasan buatan atau AI merupakan kegiatan membuat komputer agar dapat berpikir dan mengerjakan kegiatan yang dapat dilakukan oleh manusia maupun binatang.

Saat ini dapat ditemukan program komputer yang memiliki kemampuan menangani masalah seperti aritmatik, sorting, searching. Bahkan komputer juga dapat bermain beberapa board game seperti catur dan reversi lebih baik daripada manusia.

Namun masih banyak hal yang tidak dapat dilakukan dengan baik oleh komputer. Seperti, mengenali wajah, berbicara bahasa manusia, menentukan sendiri apa yang harus dilakukan, dan bertingkah kreatif. Hal itu semua merupakan domain dari AI untuk mencoba menentukan algoritma apa yang dibutuhkan untuk memenuhi kebutuhan diatas.

Dalam bidang akademik, beberapa peniliti AI termotivasi oleh filosofi, yaitu memahami alam pikiran dan alam kecerdasan dan membangun program untuk memodelkan bagaimana proses berpikir. Beberapa juga termotivasi oleh psychology, bertujuan untuk memahami mekanisme otak manusia dan proses mental. Dan lainnya termotivasi oleh engineering, dengan tujuan membangun algoritma untuk melakukan kegiatan seperti manusia atau hewan.

Dalam pembangunan game, umumnya akan cenderung hanya pada sisi engineering yang bertujuan membangun algoritma yang dapat membuat game karakter mengerjakan kegiatan seperti yang dilakukan manusia atau binatang. [2]


(11)

2.2 Algoritma Fuzzy Logic

Fuzzy logic adalah suatu cara yang tepat untuk memetakan suatu ruang input ke dalam ruang output. Untuk sistem yang sangat rumit, penggunaan logika fuzzy (fuzzy logic) adalah salah satu pemecahannya. Sistem tradisional dirancang untuk mengontrol keluaran tunggal yang berasal dari beberapa masukan yang tidak saling berhubungan. Karena ketidak tergantungan ini, penambahan masukan yang baru akan memperumit proses kontrol dan membutuhkan proses perhitungan kembali dari semua fungsi . Kebalikannya, penambahan masukan baru pada sistem fuzzy, yaitu sistem yang bekerja berdasarkan prinsip-prinsip logika fuzzy, hanya membutuhkan penambahan fungsi keanggotaan yang baru dan aturanaturan yang berhubungan dengannya.

Secara umum, sistem fuzzy sangat cocok untuk penalaran pendekatan terutama untuk sistem yang menangani masalah-masalah yang sulit didefinisikan dengan menggunakan model matematis. Misalkan, nilai masukan dan parameter sebuah sistem bersifat kurang akurat atau kurang jelas, sehingga sulit mendefinisikan model matematikanya.

Sistem fuzzy mempunyai beberapa keuntungan bila dibandingkan dengan sistem tradisional, misalkan pada jumlah aturan yang dipergunakan. Pemrosesan awal sejumlah besar nilai menjadi sebuah nilai derajat keanggotaan pada sistem fuzzy mengurangi jumlah nilai menjadi sebuah nilai derajat keanggotaan pada sistem fuzzy mengurangi jumlah nilai yang harus dipergunakan pengontrol untuk membuat suatu keputusan. Keuntungan lainnya adalah sistem fuzzy mempunyai kemampuan penalaran yang mirip dengan kemampuan penalaran manusia. Hal ini disebabkan karena sistem fuzzy mempunyai kemampuan untuk memberikan respon berdasarkan informasi yang bersifat kualitatif, tidak akurat, dan ambigu.

Sistem fuzzy pertama kali diperkenalkan oleh Prof. L. A. Zadeh dari Barkelay pada tahun 1965. Sistem fuzzy merupakan penduga numerik yang terstruktur dan dinamis. Sistem ini mempunyai kemampuan untuk mengembangkan sistem intelijen dalam lingkungan yang tak pasti. Sistem ini menduga suatu fungsi dengan logika fuzzy. Dalam logika fuzzy terdapat beberapa proses yaitu penentuan himpunan fuzzy, penerapan aturan IF-THEN dan proses inferensi fuzzy. [4]


(12)

2.2.1 Himpunan Fuzzy

Himpunan fuzzy merupakan suatu pengembangan lebih lanjut tentang konsep himpunan dalam matematika. Himpunan fuzzy adalah rentang nilai-nilai. Masing-masing nilai mempunyai derajat keanggotaan (membership) antara 0 sampai dengan 1. Ungkapan logika Boolean menggambarkan nilai-nilai “benar” atau “salah”. Logika fuzzy menggunakan ungkapan misalnya : “sangat lambat”, ”agak sedang”, “sangat cepat”dan lain-lain untuk mengungkapkan derajat intensitasnya. Ilustrasi antara keanggotaan fuzzy dengan Boolean set dapat dilihat pada Gambar 2.1: [4]

Gambar 2.1 Pendefinisian Kecepatan Dalam Bentuk Fuzzy Logic [3]

2.2.1.1 Fungsi-Fungsi Keanggotaan

Di dalam fuzzy sistem, fungsi keanggotaan memainkan peranan yang sangat penting untuk merepresentasikan masalah dan menghasilkan keputusan yang akurat. Terdapat banyak sekali fungsi keanggotaan yang biasa digunakan. Disini hanya membahas empat fungsi keanggotaan yang sering digunakan di dunia nyata, yaitu: [3]

1. Fungsi Sigmoid

Sesuai dengan namanya, fungsi ini berbentuk kurva sigmoidal seperti huruf S. Setiap nilai x (anggota crisp set) dipetakan ke dalam interval [0,1]. Grafik dan notasi matematika untuk fungsi sigmoid dapat dilihat pada Gambar 2.2.


(13)

��� � , , = {

, �−� �−�

2 , < − �−��−� 2, <

, <

(2.1)

Gambar 2.2 Grafik Dan Notasi Fungsi Sigoid [3]

2. Fungsi Phi

Pada fungsi keanggotaan ini, hanya terdapat satu nilai x yang memiliki derajat keanggotaan yang sama dengan 1, yaitu ketika x=c. Nilai-nilai di sekitar c memiliki derajat keanggotaan yang masih mendekati 1. Grafik dan notasi matematika untuk fungsi phi dapat dilihat pada Gambar 2.3.

�ℎ� , , = { �ℎ� ( , − , − , ) ,

− �ℎ� ( , , + , + ) , > .


(14)

3. Fugsi Segitiga

Sama seperti fungsi phi, pada fungsi ini juga terdapat hanya satu nilai x yang memiliki derajat keanggotaan sama dengan 1, yaitu ketika x=b. Tetapi, nilai-nilai di sekitar b memiliki derajat keanggotaan yang turun cukup tajam menjauhi 1. Grafik dan notasi matematika untuk fungsi segitiga dapat dilihat pada Gambar 2.4.

�� �� , , , = {

, ,

− , < −

− , <

.

Gambar 2.4 Grafik Dan Notasi Fungsi Segitiga [3]

4. Fungsi Trapesium

Berbeda dengan fungsi segitiga, pada fungsi ini terdapat beberapa nilai x yang memiliki derajat keanggotaan sama dengan 1, yaitu ketika b ≤ x ≤ c. Tetapi derajat keanggotaan untuk a ≤ x ≤ b dan c ≤ x ≤ d memiliki karakteristik yang sama dengan fungsi segitiga. Grafik dan notasi matematika untuk fungsi ini dapat dilihat pada Gambar 2.5.

� � , , , , =

{

, ,

− − ,

, − − ,


(15)

Gambar 2.5 Grafik Dan Notasi Fungsi Trapesium [3]

Himpunan fuzzy memiliki 2 atribut yaitu:

1. Linguistik, yaitu penamaan suatu grup yang mewakili suatu keadaan atau kondisi tertentu dengan menggunakan bahasa alami, seperti: MUDA, PAROBAYA, TUA

2. Numeris, yaitu suatu nilai (angka) yang menunjukkan ukuran dari suatu variabel seperti: 40, 25, 50, dsb.

2.2.2 Variabel Linguistik

Variabel linguistik adalah suatu interval numerik dan mempunyai nilai- nilai linguistic, yang semantiknya di definisikan oleh fungsi keanggotaannya. Misalnya, suhu adalah suatu variabel linguistik yang bisa di definisikan pada interval [-10°C, 40°C]. Variabel tersebut bisa memiliki nilai-nilai linguistik seperti ‘Dingin’, ‘Hangat’, ‘Panas’ yang semantiknya di definisikan oleh fungsi-fungsi keanggotaan tertentu. [3]

Suatu sistem berbasis aturan fuzzy yang lengkap terdiri dari 3 komponen utama dapat dilihat pada Gambar 2.6: [3]

1. Fuzzyfication

Mengubah masukan-masukan yang nilai kebenarannya bersifat pasti (crips input) kedalam bentuk fuzzy input, yang berupa nilai linguistik yang semantiknya ditentukan berdasarkan fungsi keanggotaan tertentu.


(16)

2. Inference

Melakukan penalaran menggunakan fuzzy input dan fuzzy rules yang telah di tentukan sehingga menghasilkan fuzzy output.

3. Defuzzyfication

Mengubah fuzzy output menjadi crisp value berdasarkan fungsi keanggotaan yang telah ditentukan.

Gambar 2.6 Diagram Blok Sistem Berbasis Aturan Fuzzy [3]

2.2.3 Fuzzyfikasi

Fuzzifikasi yaitu suatu proses untuk mengubah suatu masukan dari bentuk tegas (crisp) menjadi fuzzy (variabel linguistik) yang biasanya disajikan dalam bentuk himpunan-himpunan fuzzy dengan suatu fungsi kenggotaannya


(17)

masing-masing. Contoh dari proses fuzzification adalah seperti yang ditunjukkan di gambar 2.7. Sebuah sistem fuzzy untuk mengukur suhu mempunyai 5 buah membership function yang mempunyai label sangat dingin, dingin, hangat, panas, sangat panas. Kemudian input yang diperoleh dari crisp input adalah 47° maka pengambilan fuzzy input-nya adalah seperti pada Gambar 2.7

Gambar 2.7 Proses Perubahan Dari Crisp Input Menjadi Fuzzy Input

Sehingga didapat 2 fuzzy input yang masing-masing adalah: dingin (x2) dan hangat (x1). Nilai x1 dan x2 dapat dicari dengan rumus persamaan garis. Yang menentukan sistem anda sensitif atau tidak adalah membership function ini. Jika membership function-nya banyak maka sistem anda menjadi sensitif. Yang dimaksud dengan sensitif dalam hal ini adalah jika input-nya berubah sedikit saja maka sistem akan cepat merespon dan menghasilkan suatu output lain. Output dari proses fuzzyfication ini adalah sebuah nilai input fuzzy atau yang biasanya dinamakan fuzzy input.

2.2.4 Inference

Dalam suatu sistem aturan fuzzy, proses inference memperhitungkan semua aturan yang ada dalam basis pengetahuan. Hasil dari proses inference direpresentasikan oleh suatu fuzzy set untuk setiap variabel bebas (pada consequent). Derajat keanggotaan untuk setiap nilai variabel tidak bebas menyatakan ukuran kompatibilitas terhadap variabel bebas (pada antecdent). Misalkan, terdapat suatu sistem dengan n variabel x1, ..., xn dan m variabel tidak

bebas y1,...,ym. Misalkan R adalah suatu basis dari sejumlah r aturan fuzzy.


(18)

IF Pr(x1,...,xn) THEN Qr (y1,...,ym),

Dimana P1,...Pr menyatakan fuzzy predicate untuk variabel bebas, dan

Q1,...Qr menyatakan fuzzy predicate untuk variabel tidak bebas. [5]

Struktur sistem inferensi fuzzy dapat dilihat pada gambar 2.8

Gambar 2.8 Struktur Sistem Inferensi Fuzzy [2]

Keterangan:

1) Basis Pengetahuan Fuzzy merupakan kumpulan rule-rule fuzzy dalam bentuk pernyataan IF…THEN.

2) Fuzzyfikasi adalah proses untuk mengubah input sistem yang mempunyai nilai tegas menjadi variabel linguistic menggunakan fungsi keanggotaan yang disimpan dalam basis pengetahuan fuzzy.

3) Logika pengambil keputusan merupakan proses untuk mengubah input fuzzy dengan cara mengikuti aturan-aturan (IF-THEN Rules) yang telah ditetapkan pada basis pengetahuan fuzzy.

4) Defuzzyfikasi merupakan proses mengubah output fuzzy yang diperoleh dari mesin inferensi menjadi nilai tegas menggunakan fungsi keanggotaan yang sesuai dengan saat dilakukan fuzzyfikasi.

Terdapat dua model aturan fuzzy yang digunakan secara luas dalam berbagai aplikasi. [2]

1. Model Mamdani

Pada model ini, aturan fuzzy didefinisikan sebagai: IF x1 is A1 AND …AND xn is An THEN y is B

di mana A1, …, An, dan B adalah nilai-nilai linguistik (atau fuzzy set) dan “x1 is A1” menyatakan bahwa nilai x1 adalah anggota fuzzy set A1.


(19)

2. Model Sugeno

Model ini dikenal juga sebagai Takagi-Sugeno-Kang (TSK) model, yaitu suatu varian dari Model Mamdani. Model ini menggunakan aturan yang berbentuk: IF x1 is A1 AND…AND xn is An THEN y=f(x1,…,xn)

di mana f bisa sembarang fungsi dari variabel-variabel input yang nilainya berada dalam interval variabel output. Biasanya, fungsi ini dibatasi dengan menyatakan f sebagai kombinasi linier dari variabel-variabel input:

f(x1,…,xn) = w0 + w1x1 + …+wnxn

di mana w0, w1,…,wn adalah konstanta yang berupa bilangan real yang merupakan bagian dari spesifikasi aturan fuzzy.

2.2.5 Defuzzyfikasi

Defuzzification mengubah fuzzy output menjadi crisp value berdasarkan fungsi keanggotaan yang telah ditentukan.Terdapat berbagai metode defuzzification yang telah berhasil diaplikasikan untuk berbagai macam masalah, di sini dibahas 5 metode di antaranya, yaitu: [2]

1. Centroid Method

Metode ini disebut juga sebagai Center of Area atau Center of Gravity. Metode ini menghitung nilai crisp menggunakan rumus:

∗= ∫ µ�

∫ µ� .

di mana y* suatu nilai crisp.

Fungsi integration dapat diganti dengan fungsi summation jika y bernilai diskrit, sehingga menjadi:

∗= ∫ µ�

∫ µ� .

di mana y* adalah nilai crisp dan µ(y) adalah derajat keanggotaan dari y. 2. Height Method

Metode ini dikenal sebagai prinsip keanggotaan maksimum karena metode ini secara sederhana memilih nilai crisp yang memiliki derajat keanggotaan maksimum. Oleh karena itu, metode ini hanya bisa dipakai untuk fungsi


(20)

keanggotaan yang memiliki derajat keanggotaan 1 pada suatu nilai crisp tunggal dan dan 0 pada semua nilai crisp yang lain. Fungsi seperti ini sering disebut sebagai singleton.

3. First (or Last) of Maxima

Metode ini juga merupakan generalisasi dari height method untuk kasus di mana fungsi keanggotaan output memiliki lebih dari satu nilai maksimum. Sehingga nilai crisp yang digunakan adalah salah satu dari nilai yang dihasilkan dari maksimum pertama atau maksimum terakhir (tergantung pada aplikasi yang akan dibangun).

4. Mean-Max Method

Metode ini disebut juga sebagai Middle of Maxima. Merupakan generalisasi dari height method untuk kasus di mana terdapat lebih dari satu nilai crisp yang memiliki derajat keanggotaan maksimum. Sehingga y* didefinisikan sebagai titik tengah antara nilai crisp terkecil dan nilai crisp terbesar

∗=� + � .

di mana m adalah nilai crisp yang paling kecil dan M adalah nilai crisp yang paling besar.

5. Weighted Average

Metode ini mengambil nilai rata-rata dengan menggunakan pembobotan berupa derajat keanggotaan. Sehingga y* didefinisikan sebagai:

∗= ∑µµ .

di mana y adalah nilai crisp dan µ adalah derajat keanggotan dari nilai crisp y.

2.3 Game

Game merupakan kata dalam bahasa Inggris yang berarti permainan. Permainan adalah sesuatu yang dapat dimainkan dengan aturan tertentu sehingga ada yang menang dan ada yang kalah, biasanya dalam konteks tidak ada serius atau dengan tujuan refreshing. Suatu cara belajar yang digunakan dalam menganalisa


(21)

interaksi antara sejumlah pemain maupun perorangan yang menunjukan strategi-strategi yang rasional.

Teori permainan pertama kali ditemukan oleh sekelompok ahli Matematika pada tahun 1944. Teori itu dikemukakan oleh Jhon Von Neumann dan Oskar Morgenstern yang berisi: “Permainan terdiri atas sekumpulan peraturan yang membangun situasi bersaing dari dua sampai beberapa orang atau kelompok dengan memilih strategi yang dibangun untuk memaksimalkan kemenangan sendiri atau pun untuk meminimalkan kemenangan lawan. Peraturan-peraturan memnentukan kemungkinan tindakan untuk setiap pemain, sejumlah keterangan diterima setiap pemain sebagai kemajuan bermain, dan sejumlah kemenangan atau kekalahan dalam berbagai situasi.” [6]

2.3.1 Pengertian Game

Pengertian game menurut para ahli: [7]

1. Menurut Agustinus Nilwan dalam bukunya Pemograman Animasi dan Game Profesional terbitan Media Komputindo, game merupakan permainan komputer yang dibuat dengan teknik dan metode animasi. Jika ingin mendalami penggunaan animasi haruslah memahami pembuatan game. Atau jika ingin membuat game, maka haruslah memahami teknik dan metode animasi, sebab keduanya saling berkaitan.

2. Menurut Clark C. Abt, game adalah kegiatan yang melibatkan keputusan pemain, berupaya mencapai tujuan dengan dibatasi oleh konteks tertentu (misalnya, dibatasi oleh peraturan).

3. Menurut Chris Crawford, seorang computer game designer mengemukakan bahwa game, pada intinya adalah sebuah interaktif. Aktivitas yang berpusat pada sebuah pencapaian, ada pelaku aktif (player), ada pelaku pasif (NPC). 4. Menurut David Parlett, game adalah sesuatu yang memiliki “akhir dan cara

pencapaiannya”: artinya ada tujuan, hasil dan serangkaian peraturan untuk mencapai keduanya.

5. Menurut Roger Caillois, seorang sesiolog Prancis dalam bukunya yang berjudul Les Jeux Et Les Hommes menyatakan game adalah aktivitas yang


(22)

mencakup karakteristik berikut: fun (bebas bermain adalah pilihan bukan kewajiban), separate (terpisah), uncertain, non-productive, governed by rules (ada aturan), fictitious (pura-pura).

6. Menurut Greg Costikyan, game adalah “Sebentuk karya seni dimana peserta, yang disebut pemain, membuat keputusan untuk mengelola sumber daya yang dimilikinya melalui benda di dalam game demi mencapai tujuan”.

2.3.2 Klasifiasi Game

Game biasanya digunakan untuk mengkatagorikan sebuah game berdasarkan dari interaksi gameplay daripada perbedaan tampilan atau narasi. Sebuah jenis game dapat didefinisikan dengan kumpulan dari sebuah tipe permainan dari game tersebut. Game dapat diklasifikasikan menjadi dua, yaitu:

1. Berdasarkan Jenis Platform yang Digunakan

Tiga kategori utama platform pada game adalah personal computer (PC), console, dan mobile:

1. Personal Computer (PC)

PC game adalah game yang dibuat untuk komputer baik berbasis Windows, Mac, ataupun Linux. PC menyediakan kekuatan grafis dan pemrosesan yang kuat yang memungkinkan pengembangan untuk membuat game yang mutakhir. Tetapi kelemahan PC adalah mahal karena pengguna harus menggunakan hardware yang up-to date untuk memainkan game PC dengan haik. Selain itu, kelemahan game PC bagi pengembang adalah banyaknya varian dari konfigurasi PC membuat sulit bagi pengembangan untuk memastikan game tersebut berjalan dengan benar pada semua setup PC.

2. Console

Console adalah hardware yang dibuat oleh pihak ketiga seperti Sony, Microsoft, dan Nintendo. Console terhubung ke televisi dan tujuan utamanya adalah untuk bermain game. Game Console sangat menarik bagi game pengembang karena mereka hanya perlu memikirkan satu


(23)

konfigurasi hardware ketika membuat software untuk konsol. Sangat kontras dengan PC yang memiliki opsi konfigurasi yang tak terbatas. 3. Mobile

Mobile platform terdiri atas sesuatu yang portable dan bisa digenggam, termasuk ponsel, PDA, ipod, dan handle game seperti Nintendo Dsi atau Sony PSP. Game mobile memiliki kontrol yang sederhana (terutama jika dibandingkan dengan PC).

2. Berdasarkan Genre Permainan

Genre game bisa dibagi menjadi 9, yaitu: [8] 1. Action

Action game adalah game dimana kebanyakan dari tantangan yang disajikan merupakan dari tes physical skill dan koordinasi pemain. Salah satu sub-genre action game adalah shooters game, baik yang 2D maupun 3D seperti First Person, Shooters (FPS).

2. Strategy

Strategy game menantang pemain untuk mencapai kemenangan dengan perencanaan, khususnya melalui perencanaan serangkaian tindakan yang dilakukan melawan satu lawan atau lebih. Kemenangan diraih dengan perencanaan matang dan pengambilan keputusan yang optimal.

3. Role Playing Game (RPG)

RPG adalah game dimana pemain mengontrol satu atau lebih karakter yang biasanya di desain oleh pemain itu sendiri, dan memandu mereka melewati berbagai rintangan yang diatur oleh komputer. Perkembangan karakter dalam hal kekuatan dan kemampuannya adalah kunci dari game jenis ini.

4. Sports

Sports game mensimulasikan berbagai aspek dari olahraga atletik nyata maupun imajiner, apakah itu memainkan pertandingan, memanage tim dan karir atau keduanya. Salah satu contoh game jenis ini adalah Pro Evolution Soccer 2012 (PES 2012), dimana pemain bisa memainkan pertandingan,


(24)

menjadi manajer tim, maupun menjadi pemain dan mengembangkan karirnya sendiri.

5. Vehicle Simulation

Vechicle Simulation membuat feeling mengedarai kendaraan, baik kendaraan nyata maupun kendaraan imajiner. Performa dan karakteristik kasar mesin harus menyerupai kenyataan, kecuali jika yang didesain adalah kendaraan imajiner.

6. Construction and Management Simulation

CMS game adalah game tentang proses. Tujuan pemain bukan untuk mengalahkan musuh, tetapi membangun sesuatu dengan konteks proses yang sedang berjalan. Semakin pemain mengerti dan mengontrol proses, semakin sukses sesuatu yang ia bangun. Game seperti ini biasanya menyediakan dua jenis permainan, yaitu mode bebas dimana pemain bebas membangun sesuatu dan mode misi dimana terdapat skenario hal apa yang harus dibangun oleh pemain.

7. Adventure

Adventure game adalah cerita interaktif tentang karakter protagonist yang dimainkan oleh pemain. Penyampaian cerita dan eksplorasi adalah elemen inti dari game ini. Penyelesaian tekateki dan tantangan konseptual adalah bagian besar dari permainan.

8. Artificial Life and Puzzle Game

Artificial Life game adalah game yang membuat tiruan dari kehidupan sebenarnya. Biasanya ada dua jenis game ini, tiruan kehidupan manusia, contohnya The SIMS, dan tiruan kehidupan binatang, contohnya Tamagochi.

9. Online Game

Istilah online game disini mengacu kepada multiplayer game dimana mesin dari para pemain terhubung dengan jaringan.

3. Kategori Game lainnya

Selain berdasarkan genre permainannya terdapat pula kategori-kategori game lainnya, yaitu: [8]


(25)

1. Multiplayer Online

Game yang dapat dimainkan secara bersamaan oleh lebih dari 2 orang (bahkan dapat mencapai puluhan ribu orang dalam satu waktu) membuat pemain dapat bermain bersama dalam satu dunia virtual dari sekedar chatting hingga membunuh naga bersama teman yang entah bermain di mana. Umumnya permainan tipe ini dimainkan di PC dan bertema RPG, walau ada juga yang bertema musik atau action.

2. Casual Games

Sesuai namanya, game casual itu tidak kompleks, mainnya rileks dan sangat mudah untuk dipelajari (bahkan cenderung langsung bisa dimainkan). Jenis ini biasanya memerlukan spesifikasi komputer yang standar. Genre permainannya biasanya puzzle atau action sederhana dan umumnya dapat dimainkan hanya menggunakan mouse (biasanya game lain menggunakan banyak tombol tergantung game-nya). Contohnya: Dinner Dash, Zuma, Feeding Frenzy. Fitur dasar pada game casual, yaitu: 1) Gameplay sangat sederhana, bisa dimainkan menggunakan mouse,

keyboard atau keypad ponsel.

2) Dimainkan dalam waktu singkat. Biasanya dibawah 10 menit. Bisa dimainkan saat istirahat kerja atau pada transportasi umum.

3) Kemampuan yang cepat dalam mencapai tahap akhir tanpa perlu save game.

4) Kadang digunakan untuk model bisnis atau periklanan. 5) Cocok dalam genre apapun.

6) Dapat dimainkan oleh siapa saja, anak-anak sampai orang dewasa. 7) Dapat dimainkan dengan atau tanpa pengalaman dalam bermain

game. 3. Edugames

Video game jenis ini dibuat dengan tujuan spesifik sebagai alat pendidikan, entah untuk belajar mengenal warna untuk balita, mengenal huruf dan angka, matematika, sampai belajar bahasa asing. Developer yang membuatnya, harus memperhitungkan berbagai hal agar game ini


(26)

benar-benar dapat mendidik, menambah pengetahuan dan meningkatkan ketrampilan yang memainkannya. Target segmentasi pemain harus pula disesuaikan dengan tingkat kesulitan dan desain visual ataupun animasinya.

4. Advergames

Jenis game yang biasanya mudah dimainkan ini mengusung dan menampilkan produk atau brand secara gamblang maupun tersembunyi. Di era tumbuhnya media-media baru berteknologi tinggi sekarang ini, dunia periklanan memang sudah tidak lagi terbatas pada TV, koran, majalah, billboard dan radio, video game sekarang telah menjadi sarana beriklan atau membangun brand awareness yang efektif. Baik melalui internet maupun di mainkan di event-event mereka, edugames terasa semakin dibutuhkan untuk menjaring calon konsumen bagi produk yang menggunakan advergames ini.

2.3.3 Sudut Pandang Game

Sebuah game biasanya mempunyai sudut pandang permainan tersendiri disesuaikan berdasarkan genre game yang diambil. Berikut beberapa macam sudut pandang permainan yang biasa digunakan: [8]

1. Side Scrolling

Adalah sudut pandang permainan yang terlihat dari samping dan memungkinkan karakter utama untuk bergerak dari kiri ke kanan serta memungkinkan background pada game seolah-olah bergeser mengikuti pergerakan karakter utama.

2. Top Down

Adalah sudut pandang permainan yang memungkinkan karakter utama bermanuver ke empat arah namun cara permainannya sendiri bergeser dari bawah ke atas, dan biasanya game yang menggunakan sudut pandang permainan jenis ini adalah shooter game.


(27)

3. Isometric

Adalah sudut pandang permainan yang memungkinkan permainan terlihat diantara sisi Side Scrolling dan juga Top Down, dan biasanya diterapkan pada game dengan genre RTS (Real Time Strategy).

2.3.4 Elemen Pada Game

Elemen-elemen yang ada dalam sebuah game biasanya terdiri dari: [8] 1. Desain game

Desain adalah langkah awal untuk membuat semua elemen game. Desain game dibuat semenarik mungkin agar pemain tidak cepat bosan yang dampaknya membuat game tersebut cepat ditinggalkan.

2. Pemrograman game

Pemrograman game sebagian besar digunakan untuk mengontrol gerakan objek di layar. Selain itu, pemrograman game juga digunakan untuk pemrograman suara, input device, deteksi keadaan lain - lain.

3. Grafis game

Grafis game memegang peranan penting dalam pembuatan tampilan. Tampilan haruslah dibuat semenarik mungkin, sehingga dengan melihatnya saja end user langsung tertarik untuk memainkannya.

4. Musik dan sound

Musik dan sound dalam suatu game merupakan suatu hal yang wajib dikarenakan dalam suatu game akan lebih terasa efek emosi dari game tersebut, sehingga akan membuat kesan game tersebut lebih terasa nyata.

2.4 OOP(Object Oriented Programming)

Secara spesifik, pengertian berorientasi objek berarti bahwa mengorganisasi perangkat lunak sebagai kumpulan dari objek tertentu yang memiliki struktur data dan perilakunya. Hal ini yang membedakan dengan pemograman konvensional dimana struktur data dan perilaku hanya berhubungan secara terpisah. Terdapat beberapa cara untuk menentukan karakteristik dalam pendekatan berorientasi


(28)

objek, tetapi secara umum mencakup empat hal, yaitu identifikasi, klasifikasi, polymorphism (polimorfisme) dan inheritance (pewarisan). [9]

2.4.1 Konsep Dasar Berorientasi Objek

Pendekatan berorientasi objek merupakan suatu teknik atau cara pendekatan dalam melihat permasalahan dan sistem (sistem perangkat lunak, sistem informasi atau sistem lainnya). Pendekatan berorientasi objek akan memandang sistem yang akan dikembangkan sebagai suatu kumpulan objek yang berkorespodensi dengan objek-objek dunia nyata.

Berikut ini adalah beberapa konsep dasar yang harus dipahami tentang metodologi berorientasi objek: [10]

1. Kelas (Class)

Kelas adalah kumpulan objek-objek dengan karakteristik yang sama. Kelas merupakan definisi statis dan himpunan objek yang sama yang mungkin lahir atau tercipta dan kelas tersebut. Sebuah kelas akan mempunyai sifat (atribut), kelakuan (operasi/metode), hubungan (relationship) dan arti. Suatu kelas dapat diwariskan ke kelas yang baru.

2. Objek (Object)

Objek adalah abstraksi dan sesuatu yang mewakilkan dunia nyata seperti benda, manusia, satuan organisasi, tempat, kejadian, struktur, status atau hal-hal lain yang bersifat abstrak. Objek merupakan entitas yang mampu menyimpan informasi (status) dan mempunyai operasi (kelakukan) yang dapat diterapkan atau dapat berpengaruh pada status objeknya. Objek mempunyai siklus hidup yang diciptakan, dimanipulasi, dan dihancurkan.

3. Metode (Method)

Operasi atau metode pada sebuah kelas hampir sama dengan fungsi prosedur pada metodologi struktural. Sebuah kelas boleh memiliki lebih dari satu metode atau operasi yang befungsi untuk memanipulasi objek itu sendiri. Operasi atau metode merupakan fungsi atau transformasi yang dapat dilakukan terhadap objek atau dilakukan oleh objek.


(29)

4. Atribut (Attribute)

Atribut dari sebuah kelas adalah variable global yang dimiliki sebuah kelas. Atribut dapat berupa nilai atau elemen-elemen data yang dimiliki oleh objek dalam kelas objek. Atribut dipunyai secara individual oleh sebuah objek, misalnya berat, jenis, nama dan sebagainya.

5. Abstraksi (Absraction)

Prinsip untuk merepresentasikan dunia nyata yang kompleks menjadi satu bentuk model yang sederhana dengan mengabaikan aspek-aspek lain yang tidak sesuai dengan permasalahan.

6. Enkapsulasi (Encapsulation)

Pembungkusan atribut data dan layanan (operasi-operasi) yang dipunyai objek untuk menyembunyikan implementasi dan objek sehingga objek lain tidak mengetahui cara kerjanya.

7. Pewarisan (Inheritance)

Mekanisme yang memungkinkan suatu objek mewarisi sebagian atau seluruh definisi dan objek lain sebagai bagian dari dirinya.

8. Antarmuka (Interface)

Antarmuka (interface) sangat mirip dengan kelas, tapi tanpa atribut kelas dan memiliki metode yang dideklarasikan tanpa isi. Deklarasi metode pada sebuah interface dapat diimplementasikan oleh kelas lain.

9. Reusability

Pemanfaatan kembali objek yang sudah didefinisikan untuk suatu permasalahan pada permasalahan lainnya yang melibatkan objek tersebut. 10. Generalisasi dan Spesialisasi

Menunjukan hubungan antara kelas dan objek yang umum dengan kelas dan objek yang khusus. Misalnya kelas yang lebih umum (generalisasi) adalah kendaraan darat dan kelas khususnya (spesialisasi) adalah mobil, motor, dan kereta.

11. Komunikasi Antar Objek

Komunikasi Antar Objek dilakukan lewat pesan (message) yang dikirim dari suatu objek ke objek yang lain.


(30)

12. Polimorfisme (Polymorphism)

Kemampuan suatu objek untuk digunakan di banyak tujuan yang berbeda dengan nama yang sama sehingga menghemat baris program.

13. Package

Package adalah sebuah container atau kemasan yang dapat digunakan untuk mengelompokkan kelas-kelas sehingga memungkinkan beberapa kelas yang bernama sama disimpan dalam package yang berbeda.

2.4.2 Analisis Berorientasi Objek

Analisis berorientasi objek atau Object Oriented Analysis (OOA) adalah tahap untuk menganalisis spesifikasi atau kebutuhan akan sistem yang akan dibangun dengan konsep berorientasi objek, apakah benar kebutuhan yang ada dapat diimplementasikan menjadi sebuah sistem berorientasi objek.

OOA biasanya menggunakan kartu CRC (Component, Responsibility, Collaborator) untuk membangun kelas-kelas yang akan digunakan atau menggunakan UML (Unifed Modeling Language) pada bagian diagram use case, diagram kelas, dan diagram objek. [10]

2.4.3 Desain Berorientasi Objek

Desain berorientasi objek atau Object Oriented Design (OOD) adalah tahapan perantara untuk spesifikasi atau kebutuhan sistem yang akan dibangun dengan konsep berorientasi objek ke desain pemodelan agar lebih mudah diimplementasikan dengan pemograman berorientasikan objek.

Pemodelan berorientasi objek biasanya dituangkan dalam dokumentasi perangkat lunak dengan menggunakan perangkat lunak dengan menggunakan perangkat pemodelan berorientasi objek, diantaranya adalah UML (Unified Modeling Language). Kendala dan permasalahan pembangunan sistem berorientasi objek biasanya dapat dikenali dalam tahap ini. [10]


(31)

2.4.4 Pemodelan

Pemodelan adalah gambaran dari realita yang sederhana dan dituangkan dalam bentuk pemetaan dengan aturan tertentu. Pemodelan dapat menggunakan bentuk yang sama dengan realitas. Pemodelan juga banyak digunakan untuk merencanakan suatu hal agar kegagalan dan resiko yang mungkin terjadi dapat meminimalisir.

Pada dunia pembangunan perangkat lunak juga diperlunakan pemodelan. Pemodelan perangkat lunak digunakan untuk mempermudah langkah berikutnya dari pengembangan sebuah sistem sehingga lebih terencana. Pemodelan pada pembangunan perangkat lunak untuk menvisualkan perangkat lunak yang akan dibuat. [10]

2.5 UML (Unified Modelling Language)

UML (Unified Modelling Language) adalah sebuah “bahasa” yang telah menjadi standar dalam industri visualisasi, merancang, dan mendokumentasikan sistem piranti lunak. UML menawarkan sebuah standar untuk merancang model sebuah sistem.

UML dapat digunakan untuk membuat model untuk semua jenis perangkat lunak, dimana perangkat lunak tersebut dapat berjalan pada piranti keras, sistem operasi dan jaringan apapun, serta ditulis dalam bahasa pemrograman apapun. Tetapi karena UML juga menggunakan class dan operation dalam konsep dasarnya, maka ia lebih cocok untuk penulisan piranti lunak dalam bahasa berorientasi objek. Seperti bahasa-bahasa lainnya, UML mendefinisikan notasi dan syntax. Notasi UML merupakan sekumpulan bentuk khusus untuk menggambarkan berbagai diagram piranti lunak. Setiap bentuk memiliki makna tertentum, dan UML syntax mendefinisikan bagaimana bentuk-bentuk tersebut dapat dikombinasikan. Notasi UML terutama diturunkan dari 3 notasi yang telah ada sebelumnya yaitu : Grady Booch OOD (Object Oriented Design), Jim Rumbaugh OMT (Object Modeling Technique) dan Ivar Jacobson OOSE (Object Oriented Software Engineering). [10]


(32)

2.5.1 Diagram UML

Pada UML 2.3 terdiri dari 13 macam diagram yang dikelompokan dalam 3 kategori. Pembagian kategori dan macam-macam diagram tersebut dapat dilihat pada gambar 2.9.

Gambar 2.9 Diagram UML [10]

Berikut ini penjelasan singkat dari pembagian kategori tersebut. [10]

1. Structure diagrams yaitu kumpulan diagram yang digunakan untuk menggambarkan suatu struktur statis dari sistem yang dimodelkan.

2. Behavior diagrams yaitu kumpulan diagram yang digunakan untuk menggambarkan kelakuan sistem atau rangkaian perubahan yang terjadi pada sebuah sistem.

3. Interaction diagrams yaitu kumpulan diagram yang digunakan untuk menggambarkan interaksi sistem dengan sistem lain maupun interaksi antarsubsistem pada suatu sistem.

2.5.2 Diagram Use Case (Use Case Diagram)

Diagram use case merupakan pemodelan untuk kelakuan (behaviour) sistem informasi yang akan dibuat. Use case mendeskripsikan sebuah interaksi antara satu atau lebih aktor dengan sistem informasi yang akan dibuat. Secara kasar, use case


(33)

digunakan untuk mengetahui fungsi apa saja yang ada di dalam sebuah sistem informasi dan siapa saja yang berhak menggunakan fungsi-fungsi itu. Syarat penamaan pada use case adalah nama didefinisikan sesimpel mungkin dan dapat dipahami. Ada dua hal utama pada use case yaitu pendefinisian apa yang disebut aktor dan use case. [10]

1. Aktor merupakan orang, proses, atau sistem lain yang berinteraksi dengan sistem informasi yang akan dibuat diluar sistem informasi yang akan dibuat itu sendiri, jadi walaupun simbol dari aktor adalah gambar orang, tapi aktor belum tentu merupakan orang.

2. Use case merupakan fungsionalitas yang disediakan sistem sebagai unitunit yang saling bertukar pesan antar unit atau aktor.

Contoh Use Case Diagram dapat dilihat pada Gambar 2.10


(34)

2.5.3 Diagram Aktivitas (Activity Diagram)

Diagram aktivitas menggambarkan workflow (aliran kerja) atau aktivitas dari sebuah sistem atau proses bisnis atau menu yang ada pada perangkat lunak. Yang perlu diperhatikan disini adalah bahwa diagram aktivitas menggambarkan aktivitas sistem bukan apa yang dilakukan aktor, jadi aktivitas yang dapat dilakukan oleh sistem. Diagram aktivitas juga banyak digunakan untuk mendefinisikan hal-hal berikut: [10]

1. Rancangan proses bisnis dimana setiap urutan aktivitas yang digambarkan merupakan proses bisnis sistem yang didefinisikan.

2. Urutan atau pengelompokkan tampilan dari sistem/user interface dimana setiap aktivitas dianggap memiliki sebuah rancangan antarmuka tampilan.

3. Rancangan pengujian dimana setiap aktivitas dianggap memerlukan sebuah pengujian yang perlu didefinisikan kasus ujinya.

4. Rancangan menu yang ditampilkan pada perangkat lunak. Contoh Activity Diagram dapat dilihat pada Gambar 2.11


(35)

Gambar 2.11 Contoh Activity Diagram

2.5.4 Diagram Sekuen (Sequence Diagram)

Diagram sekuen menggambarkan kelakuan pada objek use case dengan mendeskripsikan waktu hidup objek dan message yang dikirimkan dan diterima antar objek. Oleh karena itu untuk menggambar diagram sekuen maka harus diketahui objek-objek yang terlibat dalam sebuah use case beserta metode-metode yang dimiliki kelas yang diinstansiasi menjadi objek itu. Membuat diagram sekuen juga dibutuhkan untuk melihat skenario yang ada pada use case. Banyaknya diagram sekuen yang harus digambar adalah minimal sebanyak pendefinisian use case yang memiliki proses sendiri atau yang penting semua use case yang telah didefinisikan interaksi jalannya pesan sudah dicakup pada diagram sekuen sehingga semakin banyak use case yang didefinisikan maka diagram sekuen yang harus


(36)

dibuat juga semakin banyak. Contoh Sequence Diagram dapat dilihat pada Gambar 2.12. [10]

Gambar 2.12 Contoh Sequences Diagram

2.5.5 Diagram Kelas (Class Diagram)

Diagram kelas atau class diagram menggambarkan struktur sistem dari segi pendefinisian kelas-kelas yang akan dibuat untuk membangun sistem. Kelas mimiliki apa yang disebut atribut dan metode atau operasi. Atribut merupakan variabel-variabel yang dimiliki oleh suatu kelas. Operasi atau metode adalah fungsi-fungsi yang dimiliki oleh suatu kelas. Contoh Class Diagram dapat dilihat pada Gambar 2.13. [10]


(37)

Gambar 2.13 Contoh Class Diagram

Syarat penamaan pada use case adalah nama didefinisikan sesimpel mungkin dan dapat dipahami. Ada dua hal utama pada use case yaitu pendefinisian apa yang disebut aktor dan use case.

a. Aktor merupakan orang, proses, atau sistem lain yang berinteraksi dengan sistem yang akan dibuat diluar sistem yang akan dibuat itu sendiri, jadi walaupun simbol dari aktor adalah gambar orang, tapi aktor belum tentu merupakan orang.

b. Use case merupakan fungsionalitas yang disediakan sistem sebagai unit-unit yang saling bertukar pesan antar unit atau aktor. [10]

2.6 Unity

Unity Game Engine adalah software atau game engine yang digunakan untuk membuat video game berbasis dua atau tiga dimensi dan dapat digunakan secara gratis. Selain untuk membuat game, unity juga dapat digunakan untuk membuat konten yang interaktif lainnya seperti, visual arsitektur dan real-time 3D animasi.

Unity adalah sebuah sebuah tool yang terintegrasi untuk membuat game, arsitektur bangunan dan simulasi. Unity bisa digunakan untuk games PC dan games online. Untuk games online diperlukan sebuah plugin, yaitu Unity Web Player, yang sama halnya dengan flash player pada browser. Bahasa pemrograman yang digunakan bermacam-macam, mulai dari JavaScript, C#, dan Boo.

Unity tidak bisa melakukan desain atau modelling, dikarenakan unity bukan merupakan tools untuk mendesain. Banyak hal yang bisa di lakukan di unity, ada fitur audio reverb zone, particle effect, sky box untuk menambahkan langit, dan


(38)

masih banyak lagi, dan juga bisa langsung edit texture dari editor seperti photoshop dll.

Features (Scripting) di dalam unity adalah sebagai berikut (Unity Technologies, 2013):

1. Mendukung 3 bahasa pemrograman, JavaScript, C#, dan Boo.

2. Flexible and EasyMoving, rotating, dan scaling objects hanya perlu sebaris kode. Begitu juga dengan duplicating, removing, dan changing properties. 3. Multi Platform Game bisa di deploy di PC, Mac, Wii, iPhone, iPad dan

browser, android.

4. Visual Properties Variables yang di definisikan dengan scripts ditampilkan pada editor. Bisa digeser, di drag and drop, bisa memilih warna dengan color picker.

5. Berbasis .NET, penjalanan program dilakukan dengan Open Source .NET platform, Mono. [11]

2.7 Bahasa Pemrograman C#

C# merupakan sebuah bahasa pemrograman yang berorientasi objek yang dikembangkan oleh Microsoft sebagai bagian dari inisiatif kerangka .NET Framework. C# adalah Java versi Microsoft, sebuah bahasa multi platform yang didesain untuk bisa berjalan di berbagai mesin. C# adalah pemrograman berorientasi Objek (OOP). C# memiliki kekuatan bahasa C++ dan portabilitas seperti Java. Fitur-fitur yang diambilnya dari bahasa C++ dan Java adalah desain berorientasi objek, seperti garbage collection, reflection, akar kelas (root class), dan juga penyederhanaan terhadap pewarisan jamak (multiple inheritance).

Bahasa pemrograman C# dibuat sebagai bahasa pemrograman yang bersifat general-purpose (untuk tujuan jamak), berorientasi objek, modern, dan sederhana. C# ditujukan agar cocok digunakan untuk menulis program aplikasi baik dalam sistem klien-server (hosted system) maupun sistem embedded (embedded system), mulai dari program aplikasi yang sangat besar yang menggunakan sistem operasi yang canggih hingga kepada program aplikasi yang sangat kecil.


(39)

Meskipun aplikasi C# ditujukan agar bersifat 'ekonomis' dalam hal kebutuhan pemrosesan dan memori komputer, bahasa C# tidak ditujukan untuk bersaing secara langsung dengan kinerja dan ukuran program aplikasi yang dibuat dengan menggunakan bahasa pemrograman C.

2.8 Adobe Photoshop

Adobe Photoshop, atau biasa disebut Photoshop adalah perangkat lunak editor citra buatan Adobe System yang dikhususkan untuk pengeditan foto/gambar dan pembuatan efek. Perangkat lunak ini banyak digunakan oleh fotografer digital dan perusahaan iklan sehingga dianggap sebagai pemimpin pasar (marketleader) untuk perangkat lunak pengolah gambar/foto, dan bersama Adobe Acrobat dianggap sebagai produk terbaik yang pernah diproduksi oleh Adobe System. Versi kedelapan aplikasi ini disebut dengan nama Photoshop CS (Creative Suite), versi kesembilan disebut Adobe Photoshop CS2, versi kesepuluh disebut Adobe Photoshop CS3, versi kesebelas disebut Adobe Photoshop CS4, versi keduabelas disebut Adobe Photoshop CS5, dan versi yang terakhir (ketigabelas) adalah Adobe Photoshop CS6. [12]

Photoshop tersedia untuk Microsoft Windows, Mac OS X, dan Mac OS, versi 9 ke atas juga dapat digunakan oleh sistem operasi lain seperti Linux dengan bantuan perangkat lunak tertentu seperti CrossOver.

Meskipun pada awalnya Photoshop dirancang untuk menyunting gambar untuk cetakan berbasis-kertas, Photoshop yang ada saat ini juga dapat digunakan untuk memproduksi gambar untuk World Wide Web. Beberapa versi terakhir juga menyertakan aplikasi tambahan, Adobe ImageReady, untuk keperluan tersebut. Photoshop juga memiliki hubungan erat dengan beberapa perangkat lunak penyunting media, animasi, dan authoring buatan-Adobe lainnya. File format asli Photoshop, .PSD, dapat diekspor ke dan dari Adobe ImageReady. Adobe Illustrator, Adobe Premiere Pro, After Effects dan Adobe Encore DVD untuk membuat DVD profesional, menyediakan penyuntingan gambar non-linear dan layanan special effect seperti background, tekstur, dan lain-lain untuk keperluan televisi, film, dan


(40)

situs web. Sebagai contoh, Photoshop CS dapat digunakan untuk membuat menu dan tombol (button) DVD


(41)

41

3 BAB 3

ANALISIS DAN KEBUTUHAN ALGORITMA

3.1 Analisis Sistem

Analisis sistem merupakan istilah yang secara kolektif mendeskripsikan fase-fase awal pengembangan sistem. Tahap ini bertujuan memberikan gambaran yang jelas terhadap sistem yang akan dibangun. Pada analisis sistem akan mencakup berbagai macam analisis yang berhubungan dengan game yang akan dibangun seperti analisis masalah, gameplay, analisis kecerdasan buatan yang dipakai, analisis kebutuhan fungsional dan non-fungsional.

3.1.1 Analisis Masalah

Time management game cenderung memiliki kesamaan dalam konsep permainannya. Dari segi gameplay, time management dimainkan dengan melakukan pelayanan terhadap pelanggan, mengoleksi item atau sejenisnya yang harus dilakukan dalam kurun waktu tertentu yang diberikan. Dari segi objektif game atau penentu keberhasilan game yaitu akan dipatok score, poin, item atau sejenisnya yang harus didapatkan untuk bisa berhasil dalam melakukan permainannya. Dengan kesamaan-kesamaan yang ada ini cenderung akan membuat game tersebut akan menjadi bosan. Selain kesamaan, dengan objektif game yang seperti itu juga akan membuat seiring berjalannya game menuju level-level selanjutnya, tentunya game tersebut akan mematok onjektif yang lebh tinggi, seehingga harus membuat pemain memainkan permainan dengan lebih tepat dan cepat. Jika pemain tidak bisa mencapat target objektif yang telah ditetapkan maka pemain pun akan gagal untuk bisa melanjutkan game tersebut menuju level selanjutnya. Beberapa contoh time management game dengan kesamaan konsep tersebut adalah Diner, Club Control, Ftness Frenzy, Farm Frenzy, Jojo’s Fashin Show dan Deco Fever.

Berdasarkan hal tersebut, bagaimana jika konsep game-nya tidak demikian, keberhasilan ditentukan tidak berdasarkan score, poin, item atau sejenisnya, namun dengan ditentukan melalui hasil pertimbangann yang melibatkan beragai faktor lalu


(42)

diambil keputusan berhasil atau tidak. Dengan begitu keberhasilan dari game-pun tidak harus berpatokan pada score saja, namun pada faktor-faktor penentu keberhasilan yang dimana tidak harus semua faktor tersebut terpenuhi jika ingin berhasil dalam memainkan game-nya. Untuk dapat mengembangkan game yang dapat mengambil keputusan ini terdapat masalah yang harus diatasi yaitu bagaimana mengatasi ketidakpastian terhadap sesuatu yang ada pada saat pertimbangan dalam pengambilan keputusan tersebut dilakukan. Maka dari itu, untuk membuat suatu game yang dapat melakukan pertimbangan dan mengambil keputusan, diperlukan suatu algoritma yang dapat mengatasi ketidakpastian sehingga bisa melakukan pengambilan keputusan.

3.2 Analisis Game Sejenis

Game Me In Trouble ini mengambil konsep yang sama dengan game Diner Dash. Game Diner Dash ini merupakan salah satu time management game yang mengusung konsep pelayanan pelanggan. Dalam game ini pemain akan berperan sebagai pelayan restoran bernama Flo yang harus membantu restorannya agar bisa berkembang. Pemain disini akan memainkan karakter Flo tersebut untuk melayani pelanggan-pelanggan yang datang pada restorannya. Saat permainan berjalan, pelanggan akan berdatangan, pemain pun harus melayani pelanggan tersebut. Pelayanan dilakukan dengan menempatkan pelanggan pada meja yang kosong lalu membuat pesanan yang dipesan oleh pelanggan, seiring berjalannya waktu pelanggan akan terus berdatangan sampai batas waktu restoran tersebut buka. Pelanggan yang berdatangan tersebut akan mengantri sampai ada meja yang kosong, sehingga pemain bisa mulai melayaninya. Perlu diperhatikan bahwa kecepatan dibutuhkan dalam memainkan game Diner Dash ini karena semakin lama pelanggan menunggu maka akan berpengaruh juga pada socre yang didapat.

Pada Game Diner Dash ini ada suatu objektif yang merupakan penentu keberhasilan dari permainan ini, objektif tersebut adalah score. Jadi dalam setiap level akan terdapat patokan score yang harus didapat oleh pemaian agar bisa melanjutkan ke level berikutnya. Score tersebut didapat setelah pemain selesai melayani pelanggan sampai pelanggan tersebut keluar dar meja dan restoran. Itulah


(43)

mengapa kecepatan sangat dibutuhkan dalam pelayanan pada game ini, score dari hasil pelayanan tersebut harus kita kumpulkan agar bisa memperoleh sore yang sudah didapatkan, sedangkan score yang akan didapatkan pun akan berbeda tergantung dari seberapa cepat pelayanan yang dilakukan oleh pemain. Score yang dipatok untuk setiap level akan berbeda-beda dan tentunya akan semakin meningkat sehingga menuntut pemain untuk dapat melakukan pelayanan dengan lebih cepat dan tepat.

Kelebihan dari game ini yaitu grafik, storyline dan update yang menarik pada restoran. Storyline yang ada pada game-game Diner Dash akan berbeda-beda dan membuat misi dari Flo sebagai pelayan restoran pun akan berbeda-beda namun untuk gameplay-nya masih sama saja. Dari segi grafik, meskipun game ini mengusung konsep grafik 2 dimensi, namun dengan grafiknya yang baik membuat game ini pun menjadi lebih menarik. Kekurangan dari game ini adalah karena game ini termasuk kedalam time management, dengan kesamaan yang ada dengan time management game yang lain lah yang membuat game ini menjadi bosan. Time management game jika dilihat memiliki kesamaan dalam konsep permainannya, yaitu melayani pelanggan atau sejenisnya atau mengoleksi item yang harus dilakukan dalam durasi waktu yang diberikan lalu sebagai penentu keberhasilannya akan ditentukan berdasarkan score, poin, banyak item atau sejenisnya. Apabila score yang ditetapkan sudah tercapai maka permainan dinyatakan berhasil. Namun jika score yang ditetapkan tidak tercapai maka permainan pun dinyatakan tidak berhasil.

3.3 Analisis Game

Game Me In Trouble ini merupakan time management game yang menggunakan grafik dua dimensi. Misi utama dari game ini adalah menghasilkan keputusan yang menyatakan berinvestasi. Dalam game ini pemain yang berperan sebagai peimlik kedai dituntut untuk bisa mengingat burger pesanan dan kopi pesanan pelanggan dengan cepat lalu menyajikannya. Terdapat 4 parameter yang akan menjadi faktor dan juga pertimbangan hasil akhir keputusan yaitu waktu


(44)

pelayanan burger, kesesuaian burger, waktu pelayanan kopi dan yang terakhir adalah kesesuaian kopi.

Game Me In Trouble ini mengimplementasikan algoritma fuzzy logic pada proses pengambilan keputusan sehingga menghasilkan hasil akhir berupa keputusan berinvestasi.

3.3.1 Gameplay

Gameplay dari game Me In Trouble ini sendiri sangat simple, pemain sebagai pemilik kedai harus mengingat pesanan-pesanan yang ada lalu menyajikannya sesuai dengan pesanan tersebut. Akan ada 8 pesanan yang harus disajikan oleh pemain dalam kurun waktu yang diberikan selama 120 detik. Setiap pesanan yang disajikan akan menghasilkan keputusan berinvestasi masing-masing dan untuk keputusan akhir, akan diambil dari keputusan yang menyatakan berinvestasi atau tidak dengan jumlah terbanyak. Jika keputusan yang menghasilkan berinvestasi lebih banyak dari keputusan yang menghasilkan tidak berinvestasi maka keputusan akhirnya adalah berinvestasi sehingga jika keputusan berinvestasinya lebih sedikit atau sama dengan keputusan tidak berinvestasi maka hasil akhirnya adalah tidak berinvestasi.

3.3.2 Storyline

Latar belakang dari game Me In Trouble ini menceritakan seorang pemilik kedai burger yang hampir bangkrut, pemilik kedai tersebut harus mencari modal untuk bisa membiayai kedainya agar bisa terus berjualan. Cara pemilik kedai tersebut mencari modal adalah dengan mencari seorang investor yang mau menginvestasikan uangnya pada kedai burger. Namun sang investor tidak mau seenaknya saja menginvestasikan uangnya pada kedai burger tersebut, dia ingin melihat seberapa baik pelayanan yang diberikan pemilik kedai burger pada pelangganya, maka dari itu sang investor memberikan syarat pada pemilik kedai bahwa dia akan menginvestasikan uangnya jika pelayanan yang diberikan pemilik kedai pada pelanggannya baik. Dalam proses pelayanannya, pemilik kedai harus mengingat pesanan burger setiap pelanggan yang dimana pesanan burger tersebut


(45)

memiliki lapisan (roti, salad, daging dan lain-lain) yang berbeda-beda. Selain pesanan burger, pemilik kedai juga harus mengingat pesanan kopi yang memiliki lapisan (espresso, milk foam, steamed milk dan lain-lain) yang berbeda-beda. Pemilik kedai diberikan waktu sekitar 8 detik untuk mengingat lapisan burger dan kopi yang dipesan. Setelah waktu untuk mengingat pesanan tersebut habis, pemilik kedai harus melayani pelanggan dengan menyajikan burger dan kopi sesuai dengan yang dipesan oleh pelanggan dan waktu pelayanan ini yang akan menjadi parameter yang dijadikan sebagai masukan untuk proses fuzzy. Selama proses pelayanan, selain waktu pelayanan yang menjadi parameter, kesesuaian pesanan pun akan menjadi parameter lainnya yang akan menjadi masukan untuk proses fuzzy. Dari parameter-parameter yang menjadi masukan tersebut akan dilakukan proses fuzzy yang nantinya menghasilkan hasil akhir berupa keputusan apakah akan berinvestasi atau tidak.

3.4 Analisis Masukan

Parameter masukan yang digunakan dalam game Me In Trouble ini diantaranya:

1. Waktu Pelayanan Burger

Parameter ini terdapat pada saat pemilik kedai menyajikan burger. Pada saat penyajian tersebut akan muncul waktu yang akan menghitung seberapa lama pemilik kedai melayani pelanggan dengan menyajikan burger yang sesuai dengan pesanan.

Interval waktu untuk melakukan pelayanan adalah 0 sampai 12 detik, dengan rincian sebagai berikut:

a) Cepat = 0 – 6 detik b) Sedang = 4 – 9 detik c) Lambat = 7– 12 detik

2. Kesesuaian Burger

Parameter ini terdapat pada saat pemilik kedai selesai menyajikan burger. Setiap burger yang dipesan terdiri dari 5 lapisan. Disediakan 6 lapisan pilihan


(46)

(roti bawah, daging, keju, tomat, salad dan roti atas) untuk disusun. Jika setiap 1 lapisan yang ditempatkan sesuai pada tempatnya maka akan mendapatkan nilai 10 per lapisannya sehingga jika ke lima-limanya benar akan mendapatkan nilai sempurna yaitu 50.

Interval lapisan untuk kesesuaian burger adalah 0 sampai 5 lapis, dengan rincian sebagai berikut:

a) Tidak Sesuai = 0 – 4 lapis b) Sesuai = 2 – 5 lapis

3. Waktu Pelayanan Kopi

Parameter ini terdapat pada saat pemilik kedai menyajikan kopi. Pada saat penyajian tersebut akan muncul waktu yang akan menghitung seberapa lama pemilik kedai melayani pelanggan dengan menyajikan kopi yang sesuai dengan pesanan.

Interval waktu untuk melakukan pelayanan adalah 0 sampai 12 detik, dengan rincian sebagai berikut:

a) Cepat = 0 – 6 detik b) Sedang = 4 – 9 detik c) Lambat = 7 – 12 detik

4. Kesesuaian Kopi

Parameter ini terdapat pada saat pemilik kedai selesai menyajikan kopi. Setiap kopi yang dipesan terdiri dari 5 lapisan. Disediakan 6 lapisan pilihan (espresso, steamed milk, milk foam, water dan chocolate powder) untuk disusun yang masing-masing lapisannya memiliki kadar 20% sehingga untuk setiap kopi jika dijumlahkan lapisan-lapisannya maka hasilnya 100%. Sebagai contoh jika terdapat pesanan kopi yang terdiri dari 20% espresso, 20% hot chocolate dan 60% steamed milk maka hanya cukup memilih atau klik espresso dan hot chocolate masing-masing sekali dan untuk steamed milk, dapat memilih atau kliknya sebanyak 3 kali. Jika setiap 1 lapisan yang ditempatkan sesuai pada tempatnya maka akan mendapatkan nilai 10 per lapisannya, jika salah maka


(47)

nilainya 0 sehingga jika ke lima-limanya benar akan mendapatkan nilai sempurna yaitu 50.

Interval lapisan untuk kesesuaian kopi adalah 0 sampai 5 lapis, dengan rincian sebagai berikut:

a) Tidak Sesuai = 0 – 4 lapis b) Sesuai = 2 – 5 lapis

Akan disediakan 8 pesanan yang harus disajikan, setiap penyajiannya akan menghasilkan keputusan masing-masing antara investasi dan tidak investasi, dan untuk keputusan akhir akan ditentukan dari seberapa banyak keputusan yang satu lebih banyak dari keputusan lainnya. Jika jumlah penyajian yang menghasilkan keputusan berinvestasi lebih banyak dari jumlah penyajian yang menghasilkan keputusan tidak berinvestasi maka keputusan akhirnya adalah berinvestasi, sehingga jika keputusan berinvestasinya lebih sedikit atau sama dengan keputusan tidak berinvestasi maka hasil akhirnya adalah tidak berinvestasi.

3.5 Analisis Algoritma

Analisis algoritma yang dilakukan dalam penelitian ini adalah meneliti bagaimana cara kerja algoritma fuzzy logic pada proses pengambilan keputusan dalam game Me In Trouble.

Fuzzy Logic di dalam membangun game ini digunakan untuk mengambil keputusan berinvestasi yang nantinya akan dijadikan dan ditampilkan sebagai hasil akhir dari game. Dengan adanya fuzzy logic ini, hasil akhir dari game dapat memberikan keputusan berdasarkan masukan yang didapat yang selanjutnya akan diproses berdasarkan tahapan proses fuzzy logic.

Tahapan yang ada dalam fuzzy logic itu sendiri ada 3 yang diantaranya adalah proses fuzzyfication, inference dan deffuzyfication. Ketiga proses tersebut harus dilakukan untuk dapat menyelesaikan permasalahan dengan fuzzy logic.

3.5.1 Contoh Kasus

Setelah menyelesaikan game Me In Trouble, didapat hasil dari masing-masing parameter masukan adalah:


(48)

 Waktu Pelayanan Burger = 6 detik  Kesesuaian Burger = 1 lapis  Waktu Pelayanan Kopi = 5 detik  Kesesuaian Kopi = 2 lapis

Maka tahapan-tahapan yang dilakukan adalah: 1. Fuzzyfication

Fuzzyfication adalah proses perubahan suatu nilai crisp ke dalam variabel fuzzy yang berupa variabel linguistik yang nantinya akan dielompokkan menjadi himpunan fuzzy.

Berikut adalah variabel linguistik yang diperoleh dari parameter yang sudah diketahui yaitu waktu pelayanan burger, kesesuaian burger, waktu pelayanan kopi dan kesesuaian kopi.

1. Waktu Pelayanan Burger

Waktu pelayanan burger terdiri dari 3 variabel linguistik yaitu cepat, sedang dan lambat. Berdasarkan interval waktu pelayanan burger, maka fungsi keanggotaan waktu pelayanan burger dari kurva trapesium dapat dibuat dengan menggunakan rumus sebagai berikut:

� � , , , , =

{

, ,

− − ,

, − − ,

.

Masukan setiap variabel linguistik beserta intervalnya yang sudah ditentukan, seperti yang ditunjukkan sebagai berikut:

µ� � [ ] = {

, < , , − − ,


(49)

µ �[ ] = {

, ,

− − ,

, − − ,

.

µ� [ ] =

{ , − − ,

, .

Berdasarkan perhitungan diatas, maka fungsi keanggotaan untuk waktu pelayanan burger adalah:


(50)

Berdasarkan contoh kasus, waktu pelayanan burger yang didapat adalah 6 detik, maka fungsi keanggotaannya adalah:

µ� � [ ] =

µ �[ ] =

µ� [ ] =

Gambar 3.2 Fungsi Keanggotaan Variabel Waktu Pelayanan Burger

2. Kesesuaian Burger

Kesesuaian burger terdiri dari 2 variabel linguistik yaitu tidak sesuai dan sesuai. Berdasarkan interval esesuaian burger, maka fungsi keanggotaan kesesuaian burger dari kurva trapesium dapat dibuat dengan menggunakan rumus sebagai berikut:

� � , , , , =

{

, ,

− , < < ,

− , <

.

Masukan setiap variabel linguistik beserta intervalnya yang sudah ditentukan, seperti yang ditunjukkan sebagai berikut:


(51)

µ � � �[ ] = {

, < , , − − ,

.

µ �[ ] =

{ , − − ,

, .

Berdasarkan perhitungan diatas, maka fungsi keanggotaan untuk kesesuaian burger adalah:


(52)

Berdasarkan contoh kasus, waktu pelayanan burger yang didapat adalah 5 detik, maka fungsi keanggotaannya adalah:

µ � � �[ ] =

µ �[ ] =

Gambar 3.4 Fungsi Keanggotaan Variabel Kesesuaian Burger

3. Waktu Pelayanan Kopi

Waktu pelayanan burger terdiri dari 3 variabel linguistik yaitu cepat, sedang dan lambat. Berdasarkan interval waktu pelayanan kopi, maka fungsi keanggotaan waktu pelayanan kopi dari kurva trapesium dapat dibuat dengan menggunakan rumus sebagai berikut:

� � , , , , =

{

, ,

− − ,

, − − ,

.

Masukan setiap variabel linguistik beserta intervalnya yang sudah ditentukan, seperti yang ditunjukkan sebagai berikut:

µ� � [ ] = {

, < ,

, − − ,


(53)

µ �[ ] = {

, ,

− − ,

, − − ,

.

µ� [ ] =

{ , − − ,

, .

Berdasarkan perhitungan diatas, maka fungsi keanggotaan untuk waktu pelayanan kopi adalah:


(54)

Berdasarkan contoh kasus, waktu pelayanan kopi yang didapat adalah 4 detik, maka fungsi keanggotaannya adalah:

µ� � [ ] = .

µ �[ ] = .

µ� [ ] =

Gambar 3.6 Fungsi Keanggotaan Variabel Waktu Pelayanan Kopi

4. Kesesuaian Kopi

Kesesuaian kopi terdiri dari 2 variabel linguistik yaitu tidak sesuai dan sesuai. Berdasarkan interval kesesuaian kopi, maka fungsi keanggotaan kesesuaian kopi dari kurva trapesium dapat dibuat dengan menggunakan rumus sebagai berikut:

� � , , , , =

{

, ,

− , < < ,

− , <

.

Masukan setiap variabel linguistik beserta intervalnya yang sudah ditentukan, seperti yang ditunjukkan sebagai berikut:


(55)

µ � � �[ ] = {

, < ,

, − − ,

.

µ �[ ] =

{ , − − ,

, .

Berdasarkan perhitungan diatas, maka fungsi keanggotaan untuk kesesuaian kopi adalah:


(56)

Berdasarkan contoh kasus, waktu pelayanan burger yang didapat adalah 5 detik, maka fungsi keanggotaannya adalah:

µ � � �[ ] =

µ �[ ] =

Gambar 3.8 Fungsi Keanggotaan Variabel Kopi

Setelah tahapan fuzzyfication selesai, maka didapat hasil fuzzy input yaitu: 1. Waktu Pelayanan Burger = Cepat (0, )Sedang (1) dan Lambat (0) 2. Kesesuaian Burger = Tidak Sesuai (1), Sesuai (0)

3. Waktu Pelayanan Kopi = Cepat (0.5), Sedang (0.5) dan Lambat (0) 4. Kesesuaian Kopi = Tidak Sesuai (1), Sesuai (0)

Dari fuzzy input tersebut akan dimasukkan kedalam 36 rule yang dapat di aplikasikan.

2. Inference

Berikut adalah aturan-atran yang ditetapkan dalam penentuan keputusan berinvestasi pada game Me In Trouble.


(57)

Tabel 3.1 Fuzzy Rule No Waktu Pelayanan Burger Kesesuaian Burger Waktu Pelayanan Kopi Kesesuaian Kopi Keputusan (Investasi)

1 IF Cepat AND T. Sesuai AND Cepat AND T. Sesuai THEN Tidak 2 IF Cepat AND T. Sesuai AND Cepat AND Sesuai THEN Ya 3 IF Cepat AND T. Sesuai AND Sedang AND T. Sesuai THEN Tidak 4 IF Cepat AND T. Sesuai AND Sedang AND Sesuai THEN Ya 5 IF Cepat AND T. Sesuai AND Lambat AND T. Sesuai THEN Tidak 6 IF Cepat AND T. Sesuai AND Lambat AND Sesuai THEN Tidak 7 IF Cepat AND Sesuai AND Cepat AND T. Sesuai THEN Ya 8 IF Cepat AND Sesuai AND Cepat AND Sesuai THEN Ya 9 IF Cepat AND Sesuai AND Sedang AND T. Sesuai THEN Ya 10 IF Cepat AND Sesuai AND Sedang AND Sesuai THEN Ya 11 IF Cepat AND Sesuai AND Lambat AND T. Sesuai THEN Tidak 12 IF Cepat AND Sesuai AND Lambat AND Sesuai THEN Ya 13 IF Sedang AND T. Sesuai AND Cepat AND T. Sesuai THEN Tidak 14 IF Sedang AND T. Sesuai AND Cepat AND Sesuai THEN Ya 15 IF Sedang AND T. Sesuai AND Sedang AND T. Sesuai THEN Tidak 16 IF Sedang AND T. Sesuai AND Sedang AND Sesuai THEN Tidak 17 IF Sedang AND T. Sesuai AND Lambat AND T. Sesuai THEN Tidak 18 IF Sedang AND T. Sesuai AND Lambat AND Sesuai THEN Tidak 19 IF Sedang AND Sesuai AND Cepat AND T. Sesuai THEN Ya 20 IF Sedang AND Sesuai AND Cepat AND Sesuai THEN Ya 21 IF Sedang AND Sesuai AND Sedang AND T. Sesuai THEN Tidak 22 IF Sedang AND Sesuai AND Sedang AND Sesuai THEN Ya 23 IF Sedang AND Sesuai AND Lambat AND T. Sesuai THEN Tidak 24 IF Sedang AND Sesuai AND Lambat AND Sesuai THEN Ya 25 IF Lambat AND T. Sesuai AND Cepat AND T. Sesuai THEN Tidak 26 IF Lambat AND T. Sesuai AND Cepat AND Sesuai THEN Tidak 27 IF Lambat AND T. Sesuai AND Sedang AND T. Sesuai THEN Tidak 28 IF Lambat AND T. Sesuai AND Sedang AND Sesuai THEN Tidak 29 IF Lambat AND T. Sesuai AND Lambat AND T. Sesuai THEN Tidak 30 IF Lambat AND T. Sesuai AND Lambat AND Sesuai THEN Tidak 31 IF Lambat AND Sesuai AND Cepat AND T. Sesuai THEN Tidak 32 IF Lambat AND Sesuai AND Cepat AND Sesuai THEN Ya 33 IF Lambat AND Sesuai AND Sedang AND T. Sesuai THEN Tidak 34 IF Lambat AND Sesuai AND Sedang AND Sesuai THEN Ya 35 IF Lambat AND Sesuai AND Lambat AND T. Sesuai THEN Tidak 36 IF Lambat AND Sesuai AND Lambat AND Sesuai THEN Tidak


(1)

127

1

DAFTAR PUSTAKA

[1] R. S. Pressman, Rekayasa Perangkat Lunak: Pendekatan Praktisi, Andi, 2002. [2] T. Sutojo, E. Mulyanto and V. Suhartono, Kecerdasan Buatan, Jakarta: Andi,

2010.

[3] S. Artificial Intelligence: Searching, Reasonning, Plannig And Learning, Bandung: Informatika, 2007.

[4] S. Kusumadewi and H. Purnomo, Aplikasi Logika Fuzzy Untuk Mendukung Keputusan, Yogyakarta: Graha Ilmu, 2004.

[5] S. Russel and P. Norvig, Artificial Intelligence: A Modern Approach, New Jersey: Alan Apt, 1995.

[6] J. V. Neuman and O. Morgenstern, Theory Of Game And Economic Behaviour, Princeton: Princeton University Press, 2004.

[7] N. Agustinus, Pemrograman Animasi Dan Game Professional, Jakarta: PT. Gramedia Pustaka Utama, 2010.

[8] E. Adams, Fundamentals Of Game Design (2nd Edition), New Rider: Berkeley, 2010.

[9] N. Rational Rose Untuk Pemodelan Berorientasi Objek, Bandung: Informatika, 2005.

[10] S. Rosa and M. Shalahudin, Rekayasa Perangkat Lunak, Bandung: Informatika, 2013.

[11] "Unity Technologies," [Online]. Available: http://unity3d.com. [Accessed 23 March 2015].


(2)

iii

1 KATA PENGANTAR

Assalamualaikum Wr.Wb.

Puji syukur penulis panjatkan kehadirat Allah SWT yang telah memberikan kekuatan, petunjuk, rahmat serta segala karunia-Nya sehingga penulis dapat menyelesaikan skripsi yang berjudul ”IMPLEMENTASI ALGORITMA FUZZY LOGIC DALAM PENGAMBILAN KEPUTUSAN BERINVESTASI PADA GAME BERGENRE TIME MANAGEMENT (ME IN TROUBLE)”.

Skripsi ini disusun sebagai salah satu syarat kelulusan mata kuliah skripsi pada Program Strata Satu (S1) Program Studi Teknik Informatika. Telah banyak pihak yang membantu dalam penyusunan skripsi ini, baik secara moril maupun materil. Oleh karena itu, pada kesempatan ini penulis ingin menyampaikan ucapan dan rasa terima kasih yang sebesar-besarnya kepada:

1. Allah SWT yang telah memberikan kesehatan, kemudahan, petunjuk, rezeki dan berbagai nikmat lainnya yang telah membantu dan melancarkan penulis utnuk dapat menyelesaikan skripsi ini.

2. Keluarga, terutama kedua orang tua penulis yang telah senantiasa memberikan dukungan berupa dorongan semangat, kasih sayang dan juga do’a.

3. Ibu Rani Susanto, S.Kom., M.Kom. selaku dosen pembimbing yang telah meluangkan waktunya untuk membimbing dan memberikan masukan-masukan yang sangat membantu dari awal proses pelaksanaan skripsi ini dimulai sampai pada akhirnya skripsi ini selesai.

4. Ibu Nelly Indriani, S.Si., M.T. selaku reviewer yang telah memberikan masukan-masukan yang sangat membantu.

5. Ibu Riani Lubis, S.T., M.T. selaku penguji yang juga telah membantu dan memberikan masukan-masukan yang sangat bermanfaat.

6. Seluruh staf dosen Teknik Informatika dan sekertariat jurusan baik yang secara langsung maupun tidak lagsung membantu dalam penyelesaian skripsi ini. 7. Teman-teman IF-9 angkatan 2011 yang telah bersama-sama berjuang selama

kurang lebih 4 tahun ini, terimakasih atas segala bentuk dukungan yang diberikan.


(3)

iv

Dan semua pihak lain yang membantu penulis baik secara langsung maupun tidak langsung, semoga Allah SWT membalasnya.

Akhir kata, sebagai makhluk Tuhan, penulis menyadari pasti ada kekurangan dan kelemahan yang terdapat pada skripsi ini. Untuk itu penulis mengharapkan adanya masukan berupa kritik dan saran dari semua pihak. Semoga skripsi ini bermanfaat.

Wassalamualaikum Wr. Wb.

Bandung, Agustus 2015


(4)

(5)

(6)