Anda di halaman 1dari 5

Pemberian Rekomendasi Menu Makanan

Menggunakan Logika Fuzzy


Destiya Dian Kusuma Wijayanto1, Hindriyanto Dwi Purnomo2, Hendro Steven Tampake3

Fakultas Teknologi Informasi


Universitas Kristen Satya Wacana
Jl. Diponegoro 52 60, Salatiga, 50711, Indonesia
destiya.dian@gmail.com1, hindriyanto.purnomo@staff.uksw.edu2, hendro.tampake@staff.uksw.edu3

AbstractPerencanaan menu makanan secara konvensional layanan terkait menu makanan semacam Yummly. Yummly
umumnya terkendala dengan sedikitnya daftar menu yang merupakan search engine yang khusus digunakan untuk
tersedia serta sulitnya memantau menu-menu baru atau menu pencarian resep makanan dari seluruh dunia. Yummly dibuat
yang sedang menjadi tren. Hal ini dapat menyebabkan dengan tujuan menyediakan sebuah sarana untuk penyuka
perencanaan menu makanan menjadi kegiatan yang memakan makanan untuk dapat melakukan apa yang mereka suka
banyak waktu dan biaya. Selain itu, variasi menu makanan akan memasak, makan, dan berbagi. Pada awal tahun 2013 Yummly
cenderung monoton dan tidak sesuai dengan kebutuhan. Untuk membuka Application Programming Interface (API)
mengatasi permasalahan tersebut, pada penelitian ini dibuat pencariannya sehingga dapat digunakan oleh para developer
suatu sistem rekomendasi menu makanan menggunakan logika
yang ingin mengembangkan aplikasi dengan memanfaatkan
fuzzy dengan metode inferensi mamdani. Kumpulan menu
search engine Yummly [2]. Pada penelitian ini Yummly dipilih
makanan didapatkan dari internet dengan memanfaatkan web
service yang disediakan oleh Yummly. Sistem rekomendasi menu sebagai penyedia data utama resep makanan dikarenakan fitur
makanan ini akan menampilkan 10 menu makanan yang search engine yang dimilikinya sehingga data resep makanan
memiliki nilai kesesuaian tertinggi. menjadi sangat banyak dan akan terus bertambah secara
otomatis serta bervariasi.
Keywordsperencanaan menu makanan; logika fuzzy; Untuk memberikan rekomendasi terhadap hasil pencarian
mamdani; Yummly
resep makanan yang akan dipilih oleh pengguna, diperlukan
I. INTRODUCTION suatu metode yang dapat mengolah data tentang menu
makanan, misalnya logika fuzzy. Berbeda dengan logika biner
Perencanaan menu makanan merupakan permasalahan yang yang hanya memiliki dua nilai, benar dan salah, yang dipakai
penting bagi mereka yang berkecimpung dalam dunia kuliner untuk menangani informasi yang tidak lengkap, logika fuzzy
seperti ibu rumah tangga, pecinta makanan serta orang yang mengijinkan adanya nilai diantara benar dan salah. Pada logika
memiliki kebutuhan menu khusus seperti pantangan akibat biner informasi dilambangkan kebenarannya dengan
penyakit maupun tuntutan pekerjaan (manager restoran, hotel menggunakan simbol 0 dan 1, namun logika fuzzy
dan event organizer). Merencanakan menu makanan dengan melambangkan informasi dengan interval antara 0 sampai
baik dapat menghemat waktu dan biaya yang dikeluarkan serta dengan 1. Dengan demikian logika fuzzy bisa disebut juga
memudahkan dalam mengontrol nutrisi yang disajikan per sebagai perluasan dari logika biner [3]. Logika fuzzy sering
harinya dengan melihat bahan-bahan yang digunakan [1]. dimanfaatkan untuk sistem pendukung keputusan atau sistem
Perencanaan menu makanan dapat dilakukan secara rekomendasi.
konvensional dengan mencatat menu yang akan disajikan per
harinya. Akan tetapi, perencanaan menu makan secara Logika fuzzy sudah diterapkan dalam berbagai hal, mulai
konvensional memiliki keterbatasan, antara lain jumlah menu dari bidang matematika itu sendiri, software, sampai pada
yang direncanakan sangat terbatas akibat keterbatasan daftar hardware. Dalam bidang software, salah satu penerapannya
menu makanan. Hal ini dapat menimbulkan beberapa kendala, adalah pembuatan Sistem Pendukung Keputusan (SPK). SPK
misalnya: munculnya kebosanan akibat variasi menu makanan berfungsi untuk membantu pengambil keputusan dalam
yang sangat terbatas serta sulitnya menyeimbangkan nutrisi menetapkan suatu keputusan berdasarkan hasil pengolahan data
makanan dalam perencanaan menu makanan. memanfaatkan data dan model permasalahan [4]. Dalam
penelitian ini, logika fuzzy dipakai untuk membantu
Keterbatasan perencanaan menu makanan secara memberikan rekomendasi resep makanan berdasarkan kriteria
konvensional dapat diatasi dengan beberapa cara misalnya yang telah ditetapkan sebelumnya dengan memanfaatkan web
dengan memperbanyak koleksi data resep makanan serta service Yummly sebagai penyedia data utamanya.
membuat metode perekomendasian menu makanan secara
otomatis. Kemajuan teknologi informasi saat ini Dalam penelitian ini sebuah aplikasi mobile dibuat untuk
memungkinkan kedua hal tersebut untuk dilakukan. Kumpulan memberikan rekomendasi menu makanan menggunakan logika
menu makanan dapat dengan mudah ditemukan di internet, fuzzy. Teknologi mobile dipilih karena kecenderungan
misalnya dengan memanfaatkan web service yang memberikan penggunaan mobile yang terus meningkat [5] serta

Seminar Nasional Aplikasi Teknologi Informasi (SNATI)


Yogyakarta, 21 Juni 2014 B-12 ISSN: 1907 5022
perkembangannya yang sangat pesat, terutama dalam hal yang tak diharapkan dalam kondisi yang berubah-ubah,
pengembangan aplikasi. Selain itu juga untuk memudahkan meningkatkan kontrol dan manajemen kinerja, keputusannya
pengguna dalam menyusun menu makanannya. Lebih jauh, lebih tepat, dan meningkatkan produktivitas analisis [11]. SPK
pada penelitian ini aplikasi ini ditujukan untuk pengguna juga mempunyai beberapa komponen utama yaitu : manajemen
personal, sehingga pilihan menu yang dilakukan oleh pengguna data, manajemen model, komunikasi, manajemen pengetahuan.
akan dijadikan salah satu variable dalam menentukan menu
makanan yang direkomendasikan. Saat ini belum banyak penelitian tentang pembuatan SPK
untuk perencanaan menu makanan. Petot dkk, [12] membuat
II. KAJIAN PUSTAKA sistem cerdas untuk perencanaan menu makanan berbasis
komputer. Balintfy [13], membuat perencanaan menu makanan
Menu berarti hidangan makanan yang disajikan dalam berbasis komputer. Dalam penelitian tersebut, pengguna
suatu acara makan, baik pagi, siang, maupun malam [6]. aplikasi tidak diijinkan untuk menentukan apakah rekomendasi
Merencanakan menu makanan merupakan cara yang tepat dan tersebut sesuai dengan keinginan atau tidak.
baik untuk menjaga nutrisi makanan yang akan dikonsumsi
sesuai dengan kebutuhan orang yang akan mengkonsumsi Pada penelitian ini dibuat sistem rekomendasi menu
makanan tersebut [7], terutama bagi orang yang sedang makanan menggunakan logika fuzzy. Pada sistem ini,
mengikuti diet tertentu atau orang dengan kebutuhan khusus pengguna aplikasi dapat menentukan rekomendasi mana yang
seperti orang dengan penyakit diabetes. Bahkan bagi orang akan dipilih, sedangkan data menu makanan diambil dari
normal pun, merencanakan menu makanan tetap mempunyai Yummly sehingga jumlahnya cukup banyak dan lebih dinamis.
banyak keuntungan, salah satunya adalah penghematan dari sisi
biaya dan waktu serta memudahkan dalam mengontrol nutrisi. III. APLIKASI LOGIKA FUZZY UNTUK PEREKOMENDASIAN
Dengan perencanaan menu makanan dapat meminimalkan MENU MAKANAN
pembelian bahan makanan yang tidak diperlukan sehingga Dalam perekomendasian menu makanan, ada 4 variabel
pengeluaran bisa dibatasi. Perencanaan menu makanan yang input. Tiga inputan dipakai untuk mewakili rasa dasar dari
dilakukan secara rutin juga menghindarkan dari kebosanan makanan yaitu: manis, asin dan asam; serta satu inputan untuk
terhadap suatu jenis makanan tertentu yang dapat timbul jika mengakomodasi selera yang dinyatakan dengan preferensi.
makanan tersebut terlalu sering dikonsumsi. Preferensi dihitung dengan mempertimbangkan tingkat pilihan
Logika Fuzzy diperkenalkan pertama kali oleh Lotfi A. pengguna terhadap suatu menu. System akan menyimpan
Zadeh pada tahun 1965 pada artikel ilmiahnya yang berjudul memori terkait menu yang dipilih oleh pengguna pada waktu
Fuzzy Sets [8]. Himpunan kabur merupakan memperluas yang lampau. Output dari system berupa tingkat keterpilihan,
konsep himpunan klasik, dalam artian bahwa himpunan klasik yang menyatakan derajat atau tingkat keterpilihan suatu menu.
merupakan kejadian khusus dalam himpunan kabur itu [9]. Variabel rasa asam, rasa asin, dan rasa manis direpresentasikan
Dalam teori himpunan klasik, himpunan didefinisikan sebagai menggunakan himpunan keanggotaan linear, yaitu trapezium
koleksi obyek-obyek yang terdefinisi secara tegas. Sedangkan dan segitiga.
pada himpunan kabur objek didefinisikan dengan
menggunakan membership function (fungsi keanggotaan), yang 1
nilainya berada dalam selang tertutup [0,1]. Jadi anggota dari 0.8
himpunan kabur merupakan sesuatu yang nilainya berderajat.
0.6
[x] Rendah
Logika Fuzzy banyak digunakan untuk proses penalaran
untuk memecahkan permasalahan. Salah satu model inferensi 0.4 Sedang
yang banyak dipakai adalah model Mamdani. Model inferensi 0.2 Tinggi
Mamdani diperkenalkan oleh Ebrahim Mamdani pada tahun
1975 [10]. Output dari model inferensi Mamdani ini dihasilkan 0
melalui empat langkah yaitu pembentukan himpunan fuzzy, 0 0.10.20.30.40.50.60.70.80.9 1
aplikasi fungsi implikasi, komposisi aturan, dan penegasan
Rasa
(defuzzify).
Fig. 2. Himpunan keanggotaan variabel rasa
Basis
aturan
Fungsi keanggotaan untuk variabel rasa manis, asam, dan
asin adalah sebagai berikut:
1; 0,3
Fuzzifikasi Inferensi Defuzzifikasi
[ ] = (0,5 )(0,5 0,3) ;0,3 0,5 (1)
Fig. 1. System Fuzzy 0; 0,5
0; 0,3 0,7
Karena sesuai untuk proses penalaran, logika fuzzy banyak [ ] = ( 0,3)(0,5 0,5) ; 0,3 0,5 (2)
digunakan dalam SPK. SPK adalah sebuah sistem yang (0,7 )(0,7 0,5) ; 0,5 0,7
membantu pengambil keputusan memanfaatkan data dan
model untuk menentukan keputusan. Keuntungan 0; 0,5
menggunakan SPK antara lain : mampu mendukung pencarian [ ] = ( 0,5)(0,7 0,5) ;0,5 0,7 (3)
solusi dari masalah yang kompleks, respon cepat pada situasi 1; 0,7

Seminar Nasional Aplikasi Teknologi Informasi (SNATI)


Yogyakarta, 21 Juni 2014 B-13 ISSN: 1907 5022
Metode inferensi dilakukan dengan metode Mamdani.
Nilai crisp untuk inputan rasa (manis, asam, dan asin) Untuk menjalankan tahap aplikasi fungsi implikasi diperlukan
didapatkan dari nilai keluaran web service Yummly. aturan-aturan yang telah didefinisikan sebelumnya berdasarkan
Sedangkan representasi dari variabel input tingkat popularitas variabel input dan output yang sudah ada. Berdasarkan bentuk
dihitung berdasarkan frekuensi suatu menu makanan dipilih himpunan keanggotaan yang telah ditentukan, terdapat 81
pengguna dan dirumuskan sebagai berikut: aturan yang didefinisikan. Tabel 1 menunjukkan contoh aturan
yang dibuat.
= (4) Dalam menyusun komposisi aturan, digunakan metode
Max. Metode Max dapat dituliskan sebagai berikut :
Variable input tingkat popularitas dan variabel output tingkat [ ] = max ( [ ], [ ]) (8)
keterpilihan dapat dilihat pada Gambar 3. dengan:
[ ] = nilai keanggotaan solusi fuzzy sampai aturan ke-i
1 [ ] = nilai keanggotaan konsekuen fuzzy aturan ke-i
0.8 Sedangkan tahap defuzzifikasi menggunakan metode
[p] 0.6 Rendah centroid. Pada metode ini, solusi crisp diperoleh dengan cara
mengambil titik pusat daerah fuzzy. Metode ini secara umum
0.4 Sedang dapat dituliskan sebagai berikut:
0.2 Tinggi ( )

= (9)
0 ( )

0 0.10.20.30.40.50.60.70.80.9 1
Metode inferensi Mamdani dapat diilustrasikan seperti pada
Tingkat Popularitas
Gambar 4. Masing-masing input dan output dipetakan ke
Fig. 3. Himpunan keanggotaan variabel popularitas dalam fungsi keanggotaan. Kemudian tiap aturan yang
digunakan diproses menggunakan metode min sehingga
Fungsi keanggotaan untuk variabel input tingkat popularitas menghasilkan suatu daerah output (kotak atas). Daerah output
dan variabel output tingkat keterpilihan adalah sebagai berikut: dari tiap aturan digabungkan dengan metode max untuk
membentuk suatu gabungan daerah output yang. Gabungan
1; 0,2 daerah output inilah yang kemudian akan didefuzzifikasikan.
[ ] = (0,4 )(0,4 0,2) ;0,2 0,4 (5)
0; 0,4
0; 0,2 0,8
( 0,2)(0,4 0,2) ; 0,2 0,4
[ ]= (6)
1; 0,4 0,6
(0,8 ) (0,8 0,6) ; 0,8 0,6
0; 0,6
[ ] = ( 0,6)(0,8 0,6) ;0,6 0,8 (7)
1; 0,8
Untuk tiap variabel, ada 3 kategori himpunan keanggotaan;
rendah, sedang, dan tinggi; untuk mewakili pengkategorian
rasa, tingkat popularitas, maupun tingkat keterpilihan. Bentuk
dasar dari himpunan keanggotaan di buat simetri, dimana nilai Fig. 4. Ilustrasi metode inferensi Mamdani
sedang diletakkan tepat di tengah.
IV. HASIL DAN PEMBAHASAN
TABLE I. CONTOH ATURAN FUZZY
Aplikasi ini akan dibangun di atas framework Phonegap
Manis Asin Asam Populer Dipilih yang nantinya akan diuji menggunakan perangkat berbasis
Android dan Blackberry. Phonegap digunakan untuk
Tinggi Tinggi Tinggi Tinggi Sedang membangun user interface dan proses yang berjalan pada
Tinggi Tinggi Tinggi Sedang Sedang perangkat mobile memanfaatkan HTML, CSS, dan Javascript.
Dengan menggunakan Phonegap, perancangan user interface
Tinggi Tinggi Tinggi Rendah Rendah dan proses aplikasi yang berjalan pada sisi user hanya
Tinggi Tinggi Sedang Tinggi Sedang dilakukan satu kali untuk diterapkan pada beberapa perangkat
yang berbeda sistem operasi. Sedangkan untuk komputasi
Tinggi Tinggi Sedang Sedang Sedang fuzzy dan penyimpanan data dilakukan oleh server aplikasi
yang diakses menggunakan web service. Dengan arsitektur
tersebut, proses yang terjadi pada sisi user menjadi cukup

Seminar Nasional Aplikasi Teknologi Informasi (SNATI)


Yogyakarta, 21 Juni 2014 B-14 ISSN: 1907 5022
minimal sehingga diharapkan aplikasi dapat berjalan dengan (
lebih ringan. Gambar 5 menjelaskan rancangan arsitektur [sour] => 0.33333333333333
[salty] => 0.33333333333333
aplikasi. [sweet] => 0.66666666666667
)
[recipeName] => Black Bean Soup
[id] => Black-Bean-Soup-Once-Upon-A-Chef-
Presentation Yummly Web Service
Mobile App dengan
Phonegap
200036
Layer
)
[4] => stdClass Object
Web Service Interface Server Aplikasi
(
[flavors] => stdClass Object
(
Business Mencar i Komputasi Fuzzy Recor d User Histor y
[sour] => 0.33333333333333
Logic [salty] => 1
[sweet] => 1
)
Data Interface [recipeName] => Roasted Tomato Soup
[id] => Roasted-Tomato-Soup-I-Adore-Food_-
200678
Data
Database
)

Dengan menerapkan logika fuzzy pada keluaran dari


Fig. 5. Arsitektur aplikasi perekomendasian menu makanan Yummly, akan dihasilkan nilai tingkat keterpilihan untuk
masing-masing hasil pencarian. Tingkat keterpilihan itu yang
Proses fuzzy terjadi saat pengguna memasukkan kriteria kemudian dipakai untuk mengurutkan menu makanan. Hasil
pencarian. Server aplikasi akan meminta data dari web service pengurutan untuk menu diatas adalah sebagai berikut:
Yummly sesuai dengan kriteria pencarian. Output dari Yumly
Array
berupa nilai numeris untuk tiap kategori rasa. Nilai numeris (
rasa ini yang dipakai sebagai nilai crisp dalam sistem [Cream-Of-Peach-Soup-My-Recipes] =>
perekomendasian makananberbasis fuzzy. Berikut merupakan 3.3333333333333
contoh hasil data kembalian dari web service Yummly: [Roasted-Tomato-Soup-I-Adore-Food_-200678] =>
3.2450980392157
[0] => stdClass Object [Black-Bean-Soup-Once-Upon-A-Chef-200036] =>
( 3.025641025641
[flavors] => stdClass Object [Potato-Leek-Soup-Once-Upon-A-Chef-199981] =>
( 2.2439293598234
[sour] => 0.66666666666667 [Cream-Of-Red-Bell-Pepper-Soup-Epicurious] =>
[salty] => 0.16666666666667 2.0656565656566
[sweet] => 0 )
) Hasil ini menunjukkan bahwa setelah melewati komputasi
[recipeName] => Potato Leek Soup
[id] => Potato-Leek-Soup-Once-Upon-A-Chef-
fuzzy maka urutan hasil pencarian dari Web Service Yummly
199981 mengalami pergeseran antara satu dengan yang lain sesuai
) dengan kriteria fuzzynya. Karena web service yang
[1] => stdClass Object dipergunakan adalah Yummly, sehingga resep-resep yang ada
(
[flavors] => stdClass Object
sebagian besar adalah resep makanan dari luar negeri.
(
[sour] => 0.33333333333333
[salty] => 0.16666666666667
[sweet] => 0.16666666666667
)
[recipeName] => Cream Of Peach Soup
[id] => Cream-Of-Peach-Soup-My-Recipes
)
[2] => stdClass Object
(
[flavors] => stdClass Object
(
[sour] => 1
[salty] => 0.66666666666667
[sweet] => 0.66666666666667
)
[recipeName] => Cream of Red Bell Pepper
Soup
[id] => Cream-Of-Red-Bell-Pepper-Soup- Fig. 6. Contoh tampilan menu makanan yang sudah diurutkan berdasarkan
Epicurious rekomendasi
)
[3] => stdClass Object
(
[flavors] => stdClass Object

Seminar Nasional Aplikasi Teknologi Informasi (SNATI)


Yogyakarta, 21 Juni 2014 B-15 ISSN: 1907 5022
Untuk menguji sensitifitas penempatan himpunan kanan yang > 10 % sangat berpengaruh terhadap urutsan
keanggotaan, maka posisi himpunan keanggotaan digeser ke menu.
kiri dan ke kanan masing-masing sebesar 10%, 20% dan 30%. Penelitian lanjutan dapat dilakukan dengan menerapkan
Pergeseran ini dimaksudkan untuk mengetahui sensitifitas letak bentuk himpunan keanggotaan yang laun, seperti sigmoid dan
himpunan keanggotaan. Untuk setiap pergeseran, dilakukan 10 Gaussian, menambah jumlah himpunan keanggotaan tiap
kali pengulangan. Tabel 2 menunjukkan hasil eksperiment. variabelnya serta memberikan keleluasaan lebih terhadap
pengguna untuk menentukan criteria menu yang
TABLE II. HASIL EKSPERIMENT
diinginkannya.
Kiri Kanan
DAFTAR PUSTAKA
10% 20% 30% 10% 20% 30% [1] C. Ewer, Menu Planning : Save Time in The Kitchen,
Jumlah menu http://organizedhome.com/kitchen-tips/menu-planning-save-time-
kitchen, Diakses tanggal 20 November 2013
yang berubah 0 0 0 0 8 7
[2] -, The Official Launch of Yummly Recipe API, 2013.
urutan http://blog.yummly.com/blog/labs/the-official-launch-of-the-yummly-
recipe-api/, diakses tanggal 5 Oktober 2013
[3] G., Jose., A. Urruti., dan M., Piattini., Fuzzy Databases : Modeling,
Hasil eksperimen menunjukkan bahwa pergeseran ke kiri Design, and Implementation, London : Idea Group Publishing, 2006
tidak merubah urutan menu yang ditampilkan. Sementara [4] R.H., Sprague, Jr., A Framework For The Development Of Decision
pergeseran ke kanan > 10% sangat mempengaruhi urutan menu Support System, MIS Quarterly, vol 4, pp. 1 26, 1980.
makanan. Pergeseran ke kanan 20% dan 30% menghasilkan [5] N. Jones, Gartner: Mobile Trends and Issues from 2013 to 2017,
urutan menu yang berbeda pula. Hal ini menunjukkan bahwa http://www.gartner.com/it/content/2482500/2482517/june_26_mobile_tr
ends_njones.pdf. Diakses tanggal 5 Agustus 2013
pergeseran ke kanan memberikan pengaruh sangat besar
[6] M., C., Staff., Menu Planning : Eat Healthier and Spend Less,
terhadap hasil perhitungan dibandingkan dengan pergeseran ke http://www.mayoclinic.org/menu-planning/ART-20048199, Diakses
kiri. tanggal 30 Desember 2013
V. KESIMPULAN [7] N., W., Suwithi, C., E., Jr. Boham, Akomodasi Perhotelan Jilid 2,
Jakarta : Direktorat Pembinaan Sekolah Menengah Kejuruan, 2008.
Dalam penelitian ini dibuat aplikasi perekomendasian [8] L.A., Zadeh, Fuzzy sets, Information and Control, vol 8, 1965,
menu makanan menggunakan logika fuzzy. Sistem pp.338-353.
perekomendasian makanan ini menggunakan 4 variabel input [9] F., Susilo, Himpunan & Logika Kabur Serta Aplikasinya, Yogyakarta
yang terdiri dari tiga inputan untuk merepresentasikan rasa : Penerbit Graha Ilmu, 2006.
dasar dari makanan yaitu: manis, asin dan asam; serta satu [10] S., Kusumadewi., H,. Purnomo., Aplikasi Logika Fuzzy untuk
Pendukung Keputusan, Yogyakarta : Graha Ilmu, 2004.
inputan untuk mengakomodasi selera yang dinyatakan dengan
[11] I., Subakti., Sistem Pendukung Keputusan, Institut Teknologi Sepuluh
preferensi. Tiap variabel tersusun atas tiga kategori November Surabaya : Jurusan Teknik Informatika, 2002.
himpunan keanggotaan; rendah, sedang, dan tinggi. Sebagai [12] G.J., Petot, C., Marling, L.,Sterling, An Artificial Intelligence System
acuan, himpunan keanggotaan tersebut dibuat simetri terhadap for Computer-Assisted Menu Planning, Journal of the American
nilai inputnya. Berdasarkan eksperiment didapatkan bahwa Dietetic Association, vol 98, 1998, pp.1009 1014.
pergeseran letak himpunan keanggotaan ke kiri tidak [13] J.L., Balintfy, Menu Planning by Computer, Communication of the
ACM, vol 7, 1964, pp. 255 259.
berpengaruh terhadap urutan menu sedangkan pergeseran ke

Seminar Nasional Aplikasi Teknologi Informasi (SNATI)


Yogyakarta, 21 Juni 2014 B-16 ISSN: 1907 5022

Anda mungkin juga menyukai