2 1. Pendahuluan Perencanaan menu makanan merupakan permasalahan yang penting bagi mereka yang berkecimpung dalam dunia kuliner seperti ibu rumah tangga, pecinta makanan, orang yang memiliki pantangan makanan karena penyakit maupun manager restoran pada sebuah hotel. Merencanakan menu makanan dengan baik akan menghemat waktu belanja, menghemat uang yang dikeluarkan untuk membeli bahan yang tidak perlu, dan juga memudahkan dalam mengontrol nutrisi yang disajikan per harinya dengan melihat bahan-bahan yang digunakan [1]. Perencanaan menu makanan dapat dilakukan secara konvensional dengan mencatat menu yang akan disajikan per harinya. Akan tetapi, perencanaan menu makan secara konvensional memiliki keterbatasan, antara lain jumlah menu yang direncanakan sangat terbatas akibat keterbatasan daftar menu makanan. Hal ini dapat menimbulkan beberapa kendala, misalnya: munculnya kebosanan akibat variasi menu makanan yang sangat terbatas serta sulitnya menyeimbangkan nutrisi makanan dalam perencanaan menu makanan. Keterbatasan perencanaan menu makanan secara konvensional dapat diatasi dengan beberapa cara misalnya dengan memperbanyak koleksi data resep makanan serta membuat metode perekomendasian menu makanan secara otomatis. Kemajuan teknologi informasi saat ini memungkinkan kedua hal tersebut untuk dilakukan. Kumpulan menu makanan dapat dengan mudah ditemukan di internet, misalnya dengan memanfaatkan web service yang disediakan oleh Yummly. Yummly merupakan search engine yang khusus digunakan untuk pencarian resep makanan dari seluruh dunia. Yummly dibuat dengan tujuan menyediakan sebuah sarana untuk penyuka makanan untuk dapat melakukan apa yang mereka suka – memasak, makan, dan berbagi. Pada awal tahun 2013 Yummly membuka Application Programming Interface (API) pencariannya untuk dapat digunakan developer yang ingin mengembangkan aplikasi dengan memanfaatkan search engine Yummly [2]. Pada penelitian ini Yummly dipilih sebagai penyedia data utama resep makanan dikarenakan fitur search engine yang dimilikinya sehingga data resep makanan menjadi sangat banyak dan akan terus bertambah secara otomatis.Sehingga diharapkan resep makanan yang ditampilkan dapat bervariasi. Untuk memberikan rekomendasi terhadap hasil pencarian resep makanan yang akan dipilih oleh pengguna, diperlukan suatu metode penalaran, misalnya logika fuzzy. Berbeda dengan logika klasik yang hanya memiliki dua nilai, benar dan salah, yang dipakai untuk menangani informasi yang tidak lengkap, logika fuzzy mengijinkan adanya nilai diantara benar dan salah. Pada logika klasik informasi dilambangkan kebenarannya dengan menggunakan simbol 0 dan 1, namun logika fuzzy melambangkan informasi dengan interval antara 0 sampai dengan 1. Dengan demikian logika fuzzy bisa disebut juga sebagai perluasan dari logika klasik [3]. Logika fuzzy sering dimanfaatkan untuk sistem pendukung keputusan atau sistem rekomendasi. Logika fuzzy sudah diterapkan dalam berbagai hal, mulai dari bidang matematika itu sendiri, software, sampai pada hardware. Dalam bidang software,
18
Embed
Implementasi Logika Fuzzy untuk Pemberian Rekomendasi Menu ...repository.uksw.edu/bitstream/123456789/8763/3/T1_672011611_Full...membantu pengambil keputusan memanfaatkan data dan
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
2
1. Pendahuluan
Perencanaan menu makanan merupakan permasalahan yang penting bagi
mereka yang berkecimpung dalam dunia kuliner seperti ibu rumah tangga, pecinta
makanan, orang yang memiliki pantangan makanan karena penyakit maupun
manager restoran pada sebuah hotel. Merencanakan menu makanan dengan baik
akan menghemat waktu belanja, menghemat uang yang dikeluarkan untuk
membeli bahan yang tidak perlu, dan juga memudahkan dalam mengontrol nutrisi
yang disajikan per harinya dengan melihat bahan-bahan yang digunakan [1].
Perencanaan menu makanan dapat dilakukan secara konvensional dengan
mencatat menu yang akan disajikan per harinya. Akan tetapi, perencanaan menu
makan secara konvensional memiliki keterbatasan, antara lain jumlah menu yang
direncanakan sangat terbatas akibat keterbatasan daftar menu makanan. Hal ini
dapat menimbulkan beberapa kendala, misalnya: munculnya kebosanan akibat
variasi menu makanan yang sangat terbatas serta sulitnya menyeimbangkan
nutrisi makanan dalam perencanaan menu makanan.
Keterbatasan perencanaan menu makanan secara konvensional dapat diatasi
dengan beberapa cara misalnya dengan memperbanyak koleksi data resep
makanan serta membuat metode perekomendasian menu makanan secara otomatis.
Kemajuan teknologi informasi saat ini memungkinkan kedua hal tersebut untuk
dilakukan. Kumpulan menu makanan dapat dengan mudah ditemukan di internet,
misalnya dengan memanfaatkan web service yang disediakan oleh Yummly.
Yummly merupakan search engine yang khusus digunakan untuk pencarian resep
makanan dari seluruh dunia. Yummly dibuat dengan tujuan menyediakan sebuah
sarana untuk penyuka makanan untuk dapat melakukan apa yang mereka suka –
memasak, makan, dan berbagi. Pada awal tahun 2013 Yummly membuka
Application Programming Interface (API) pencariannya untuk dapat digunakan
developer yang ingin mengembangkan aplikasi dengan memanfaatkan search
engine Yummly [2]. Pada penelitian ini Yummly dipilih sebagai penyedia data
utama resep makanan dikarenakan fitur search engine yang dimilikinya sehingga
data resep makanan menjadi sangat banyak dan akan terus bertambah secara
otomatis.Sehingga diharapkan resep makanan yang ditampilkan dapat bervariasi.
Untuk memberikan rekomendasi terhadap hasil pencarian resep makanan
yang akan dipilih oleh pengguna, diperlukan suatu metode penalaran, misalnya
logika fuzzy. Berbeda dengan logika klasik yang hanya memiliki dua nilai, benar
dan salah, yang dipakai untuk menangani informasi yang tidak lengkap, logika
fuzzy mengijinkan adanya nilai diantara benar dan salah. Pada logika klasik
informasi dilambangkan kebenarannya dengan menggunakan simbol 0 dan 1,
namun logika fuzzy melambangkan informasi dengan interval antara 0 sampai
dengan 1. Dengan demikian logika fuzzy bisa disebut juga sebagai perluasan dari
logika klasik [3]. Logika fuzzy sering dimanfaatkan untuk sistem pendukung
keputusan atau sistem rekomendasi.
Logika fuzzy sudah diterapkan dalam berbagai hal, mulai dari bidang
matematika itu sendiri, software, sampai pada hardware. Dalam bidang software,
3
salah satu penerapannya adalah pembuatan Decision Support System (Sistem
Pendukung Keputusan). Decision Support System (DSS) berfungsi untuk
membantu pengambil keputusan memanfaatkan data dan model untuk
menentukan keputusan [4]. Dalam penelitian ini, logika fuzzy dipakai untuk
membantu memberikan rekomendasi resep makanan berdasarkan kriteria yang
telah ditetapkan sebelumnya dengan memanfaatkan web service Yummly sebagai
penyedia data utamanya.
Aplikasi perencanaan menu makanan yang dibangun dalam penelitian ini
memanfaatkan teknologi mobile, supaya pengguna lebih mudah
memanfaatkannya. Teknologi mobile merupakan salah satu teknologi yang
perkembangannya sangat cepat pada beberapa tahun ini. Diprediksikan, tren ini
akan terus meningkat penggunaannya untuk beberapa tahun ke depan [5].
Teknologi yang awalnya banyak digunakan sebagai media komunikasi telah
menjelma menjadi teknologi yang dapat digunakan dalam berbagai bidang mulai
dari entertainment sampai dengan medis ataupun pada bidang-bidang lain.
Bahkan aktivitas sehari-hari yang sederhana yang selama ini dilakukan secara
manual pun sekarang sudah banyak beralih dilakukan dengan menggunakan
teknologi mobile.
Berbagai perusahaan besar pun mulai berlomba-lomba untuk masuk dalam
industri mobile ini dengan membangun sistem operasi untuk perangkat mobile,
masing-masing dengan kelebihan dan fitur yang berbeda. Seperti Android yang
dimiliki Google, iOS yang dimiliki Apple, dan Blackberry. Dengan keberagaman
sistem operasi ini tantangan bagi developer adalah membangun aplikasi-aplikasi
yang dapat digunakan dan berjalan pada berbagai perangkat mobile dengan sistem
operasi yang berbeda.
Tantangan ini seakan terjawab dengan munculnya berbagai metode dan
framework yang memungkinkan pengembang untuk membangun sebuah aplikasi
yang dapat digunakan lintas sistem operasi. Salah satu framework yang
menyediakan fungsi tersebut adalah Phonegap. Phonegap merupakan framework
yang memanfaatkan fitur Web View yang dipunyai oleh sistem operasi mobile.
Dengan Web View pengembang dapat membangun aplikasi menggunakan HTML,
CSS, dan Javascript [6]. Selain itu Phonegap juga menyediakan Application
Programming Interface (API) untuk mengakses fitur-fitur khusus atau fungsi
hardware yang dipunyai perangkat seperti kamera dan sensor gerak.
Sehingga dalam penelitian ini akan dihasilkan aplikasi mobile yang
membantu untuk mempermudah aktivitas penyusunan menu makanan yang di
dalamnya terdapat fitur rekomendasi yang dibantu dengan menggunakan logika
fuzzy.
2. Kajian Pustaka
Menu berarti hidangan makanan yang disajikan dalam suatu acara makan,
baik pagi, siang, maupun malam.[7] Merencanakan menu makanan merupakan
cara yang tepat dan baik untuk menjaga nutrisi makanan yang akan dikonsumsi
4
sesuai dengan kebutuhan orang yang akan mengkonsumsi makanan tersebut.[8]
Terutama bagi orang yang sedang mengikuti diet tertentu atau orang dengan
kebutuhan khusus seperti orang dengan penyakit diabetes. Bahkan bagi orang
normal pun, merencanakan menu makanan tetap mempunyai banyak keuntungan,
salah satunya adalah penghematan dari sisi biaya, selain nutrisi tetap bisa
dikontrol tentunya. Dengan perencanaan menu makanan dapat menghindarkan
dari pembelian bahan makanan yang tidak diperlukan sehingga pengeluaran bisa
dibatasi. Perencanaan menu makanan yang dilakukan secara rutin juga
menghindarkan dari kebosanan terhadap suatu jenis makanan tertentu yang dapat
timbul jika makanan tersebut terlalu sering dikonsumsi.
Logika Fuzzy diperkenalkan pertama kali oleh Prof. Lotfi A. Zadeh pada
tahun 1965 pada artikel ilmiahnya yang berjudul Fuzzy Sets (Himpunan Kabur).
Himpunan kabur yang dijelaskan oleh Prof. Zadeh memperluas konsep himpunan
klasik, dalam artian bahwa himpunan klasik merupakan kejadian khusus dalam
himpunan kabur itu [9]. Dalam teori himpunan klasik, himpunan didefinisikan
sebagai koleksi obyek-obyek yang terdefinisi secara tegas. Sedangkan pada
himpunan kabur yang diperkenalkan oleh Prof. Zadeh, mendefinisikan himpunan
kabur dengan menggunakan membership function (fungsi keanggotaan), yang
nilainya berada dalam selang tertutup [0,1]. Jadi anggota dari himpunan kabur
merupakan sesuatu yang nilainya berderajat.
Logika Fuzzy banyak digunakan untuk proses penalaran (reasoning) dalam
memecahkan permasalahan. Salah satu model inferensi yang banyak dipakai
adalah model Mamdani. Model inferensi Mamdani diperkenalkan oleh Ebrahim
Mamdani pada tahun 1975 [10]. Output dari model inferensi Mamdani ini
dihasilkan melalui empat langkah yaitu pembentukan himpunan fuzzy, aplikasi
fungsi implikasi, komposisi aturan, dan penegasan (defuzzy).
Karena sesuai untuk proses penalaran, logika Fuzzy banyak digunakan
dalam DSS (Decision Support System). DSS adalah sebuah sistem yang
membantu pengambil keputusan memanfaatkan data dan model untuk
menentukan keputusan. Keuntungan menggunakan DSS antara lain : mampu
mendukung pencarian solusi dari masalah yang kompleks, respon cepat pada
situasi yang tak diharapkan dalam kondisi yang berubah-ubah, meningkatkan
kontrol dan manajemen kinerja, keputusannya lebih tepat, dan meningkatkan
produktivitas analisis [11]. DSS juga mempunyai beberapa komponen utama
yaitu : Data Management, Model Management, Communication, Knowledge
Management.
Referensi tentang DSS untuk perencanaan menu makanan tidak terlalu
banyak. Petot dkk, [12] membuat sistem cerdas untuk perencanaan menu
makanan berbasis komputer. Balintfy [13], membuat perencanaan menu makanan
berbasis komputer. Dalam penelitian tersebut, pengguna aplikasi tidak diijinkan
untuk menentukan apakah rekomendasi tersebut sesuai dengan keinginan serta
menggunakan algoritma yang dibangun sendiri oleh penulisnya. Pada penelitian
ini dibuat sistem rekomendasi menu makanan menggunakan logika fuzzy. Pada
5
sistem ini, pengguna aplikasi dapat menentukan rekomendasi mana yang akan
dipilih, sedangkan data menu makanan diambil dari Yummly sehingga jumlahnya
sangat banyak dan berubah secara dinamis.
Penggunaan Framework Phonegap memungkinkan aplikasi mobile
diimplementasikan pada berbagai sistem operasi. Framework Phonegap
memungkinkan developer membangun sebuah aplikasi native dengan
menggunakan teknologi web seperti HTML, CSS, dan Javascript. Dengan
Phonegap developer tidak harus mempelajari bahasa spesifik untuk platform
tertentu.
Salah satu penelitian yang memanfaatkan Framework Phonegap adalah
penelitian tentang mobile commerce pada perangkat Blackberry [14]. Penelitian
tersebut memfokuskan pembuatan aplikasi berbasis Phonegap pada perangkat
Blackberry untuk memberikan solusi akan kebutuhan mobile commerce yang
sebelumnya hanya dilakukan melalui Blackberry Messenger dengan fitur yang
terbatas. Pada penelitian tersebut Phonegap hanya diujikan pada satu sistem
operasi saja, sedangkan pada penelitian ini aplikasi akan diujikan pada dua sistem
operasi yaitu Android dan Blackberry.
3. Metode Penelitian
Terdapat tahapan-tahapan yang dilakukan dalam penelitian ini, yaitu :
1. Identifikasi
Pada tahap ini dilakukan identifikasi terhadap permasalahan yang muncul.
Setelah masalah dirumuskan, kemudian disusun langkah-langkah yang dilakukan
untuk menyelesaikan masalah tersebut, dalam hal ini adalah pembuatan sebuah
sistem yang akan memudahkan dalam pencarian resep makanan.
2. Perancangan Sistem
Sistem yang akan dibuat dirancang menggunakan metode spiral. Metode
spiral mengelompokkan proses iterasi yang terjadi pada model Prototyping
dengan aspek-aspek dari model Linear Sekuensial yang terkontrol dan sistematis
[15]. Terdapat beberapa langkah dalam metode spiral ini, yaitu : Customer
Communication, Planning, Risk Analysis, Engineering, Construction and Release,
Customer Communication.
Sesuai dengan metode spiral yang digunakan dalam penelitian ini, maka
langkah pertama yang dikerjakan adalah Customer Communication. Secara
praktis langkah ini dapat dikerjakan dengan menganalisa masalah yang akan
diberikan solusinya. Dalam hal ini masalah tersebut adalah bagaimana
menerapkan logika fuzzy ke dalam aplikasi yang dapat membuat user lebih mudah
dalam merencanakan menu makanan harian.
6
Langkah berikutnya adalah perancangan kebutuhan sistem, baik itu
kebutuhan software dan hardware, maupun kebutuhan variabel fuzzy, fungsi
keanggotaan, dan aturan fuzzy.
Aplikasi ini akan dibangun di atas framework Phonegap yang nantinya akan
diuji menggunakan perangkat berbasis Android dan Blackberry. Phonegap
digunakan untuk membangun user interface dan proses yang berjalan pada
perangkat mobile memanfaatkan HTML, CSS, dan Javascript. Dengan
menggunakan Phonegap, perancangan user interface dan proses aplikasi yang
berjalan pada sisi user hanya dilakukan satu kali untuk diterapkan pada beberapa
perangkat yang berbeda sistem operasi.Sedangkan untuk komputasi fuzzy dan
penyimpanan data dilakukan oleh server aplikasi yang diakses menggunakan web
service. Dengan arsitektur tersebut, proses yang terjadi pada sisi user menjadi
cukup minimal sehingga diharapkan aplikasi dapat berjalan dengan lebih ringan.
Gambar 1 menjelaskan rancangan arsitektur aplikasi.
Presentation
Layer
Business
Logic
Data
Yummly Web Service
Web Service Interface
Mobile App dengan
Phonegap
Server Aplikasi
Database
Data Interface
Mencari Record User HistoryKomputasi Fuzzy
Gambar 1. Arsitektur Aplikasi
Untuk melakukan komputasi fuzzy, ditetapkan beberapa variabel input
yaitu : variabel rasa manis, variabel rasa asam, variabel rasa asin, dan tingkat
popularitas. Sedangkan untuk output ditetapkan satu variabel yaitu variabel
tingkat keterpilihan. Variabel input rasa manis, rasa asam, dan rasa asin dipilih
dikarenakan rasa-rasa tersebut merupakan rasa dasar dari makanan yang dapat
menjadi pertimbangan user dalam menentukan pilihan resep. Sedangkan variabel
tingkat popularitas dipilih supaya user dapat mengikuti tren yang ada terhadap
suatu makanan. Variabel rasa asam, rasa asin, dan rasa manis direpresentasikan
melalui kurva pada Gambar 2.
7
Gambar 2. Kurva Variabel Rasa Manis, Asam, dan Asin
Fungsi keanggotaan untuk variabel rasa manis, asam, dan asin adalah
sebagai berikut :
𝜇𝑅𝑒𝑛𝑑𝑎 𝑥 = 1;
0,5 − 𝑥 (0,5 − 0,3) ;0;
𝑥 ≤ 0,30,3 ≤ 𝑥 ≤ 0,5
𝑥 ≥ 0,5
𝜇𝑆𝑒𝑑𝑎𝑛𝑔 𝑥 =
0; 𝑥 − 0,3 (0,5 − 0,5) ; 0,7 − 𝑥 (0,7 − 0,5) ;
𝑥 ≤ 0,3 𝑎𝑡𝑎𝑢𝑥 ≥ 0,70,3 ≤ 𝑥 ≤ 0,50,5 ≤ 𝑥 ≤ 0,7
𝜇𝑇𝑖𝑛𝑔𝑔𝑖 𝑥 = 0;
𝑥 − 0,5 (0,7 − 0,5) ;1;
𝑥 ≤ 0,50,5 ≤ 𝑥 ≤ 0,7
𝑥 ≥ 0,7
Sedangkan representasi dari variabel input tingkat popularitas dan variabel
output tingkat keterpilihan dapat dilihat pada Gambar 3.
0
0,1
0,2
0,3
0,4
0,5
0,6
0,7
0,8
0,9
1
0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1
μ[x]
Rasa
Rendah
Sedang
Tinggi
8
Gambar 3. Kurva Variabel Input Tingkat Popularitas dan Variabel Output Tingkat Keterpilihan
Fungsi keanggotaan untuk variabel input tingkat popularitas dan variabel
output tingkat keterpilihan adalah sebagai berikut :