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
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
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.
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
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 Komputasi Fuzzy Record User History
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
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,3 0,3 0,5
0,5
� =
0;
−0,3 (0,5−0,5); 0,7− (0,7−0,5);
0,3 0,7 0,3 0,5 0,5 0,7
� =
0;
−0,5 (0,7−0,5); 1;
0,5 0,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
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 :
� =
1;
0,4− (0,4−0,2); 0;
0,2 0,2 0,4
0,4
� =
0;
−0,2 0,4−0,2 ; 1;
0,8− 0,8−0,6 ;
0,2 0,8 0,2 0,4 0,4 0,6 0,8 0,6
� =
0;
−0,6 (0,8−0,6); 1;
0,6 0,6 0,8
0,8
Himpunan keanggotaan fuzzy ditetapkan hanya menjadi tiga bagian yaitu rendah, sedang, dan tinggi karena dirasa cukup mewakili untuk pengkategorian rasa, tingkat popularitas, maupun tingkat keterpilihan. Bentuk simetri dari kurva yang dibuat juga berdasar logika umum yang banyak digunakan, di mana nilai sedang diperkirakan berada di tengah rentang dari sebuah nilai. Ini dikarenakan penelitian ini tidak bertujuan untuk melakukan pengujian untuk berbagai bentuk fungsi keanggotaan.
Komputasi fuzzy dilakukan dengan metode Mamdani. Dalam metode
Mamdani untuk mendapatkan output diperlukan 4 tahapan yaitu : pembentukan
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]
Tingkat Popularitas / Keterpilihan
Rendah
Sedang
9
himpunan fuzzy, aplikasi fungsi implikasi, komposisi aturan, dan penegasan
(defuzzy).
Untuk menjalankan tahap aplikasi fungsi implikasi diperlukan aturan-aturan
yang telah didefinisikan sebelumnya berdasar variabel input dan output yang
sudah ada. Dalam kasus ini terdapat 81 aturan yang didefinisikan. Tabel 1 menunjukkan contoh aturan yang dibuat.
Manis Asin Asam Populer Dipilih
Tinggi Tinggi Tinggi Tinggi Sedang
Tinggi Tinggi Tinggi Sedang Sedang
Tinggi Tinggi Tinggi Rendah Rendah
Tinggi Tinggi Sedang Tinggi Sedang
Tinggi Tinggi Sedang Sedang Sedang
Tabel 1. Contoh Aturan Fuzzy
Pada langkah komposisi aturan, penelitian ini akan menggunakan metode
Max. Metode Max secara umum dapat dituliskan sebagai berikut :
� = max(� ,� )
dengan :
� = −
� = −
Sedangkan pada tahap defuzzy digunakan metode Centroid. Pada metode ini,
solusi crisp diperoleh dengan cara mengambil titik pusat daerah fuzzy. Metode ini
secara umum dapat dituliskan sebagai berikut :
∗ = �
�
∗ = =1 �( )
�( ) =1
Logika fuzzy dengan metode mamdani secara umum dapat diilustrasikan
seperti pada Gambar 4. Masing-masing input dan output dipetakan ke dalam
10
gabungan daerah output yang baru (kanan bawah). Gabungan daerah output inilah
yang kemudian akan diproses pada tahap defuzzy.
Gambar 4. Ilustrasi Logika Fuzzy Metode Mamdani
Pemodelan aplikasi pada penelitian ini menggunakan UML (Unified
Modelling Language) yang merupakan bahasa standard untuk memodelkan
sebuah software yang akan dibuat. UML terdiri dari notasi-notasi grafis yang
menghasilkan model secara visual. Hasil perancangan aplikasi menggunakan UML dapat terlihat sebagai berikut :
Use Case merupakan representasi dari interaksi antara user dan sistem.
Sebuah Use Case dapat menggambarkan berbagai macam tipe user dan bermacam
cara mereka berinteraksi dengan sistem. Dalam Use Case ini, user diasumsikan
sudah mendaftarkan diri sehingga dapat mengakses berbagai fitur yang disediakan
aplikasi. Use Case untuk aplikasi ini dapat terlihat pada Gambar 5.
Gambar 5. Perancangan Use Case
Yummly Sediakan Data Resep
Cari Resep
Ambil Data Resep <<extend>>
Komputasi Fuzzy <<extend>>
<<extend>>
Server App Kelola Profil
User
Lihat Resep
<<extend>>
Kelola Rencana Menu Harian <<extend>>
Lihat Rencana Menu Harian <<extend>>
<<include>>
Kelola Database <<extend>> <<extend>>
<<extend>>
11
Activity Diagram menggambarkan alur aktifitas dan aksi yang terjadi.
Dalam UML, Activity Diagram dapat digunakan untuk menggambarkan alur
dalam aplikasi maupun alur yang terjadi secara organisasi (dalam dunia nyata).
Activity Diagram untuk proses pencarian dapat dilihat dalam Gambar 6. Dari diagram tersebut dapat terlihat bahwa user memasukkan kriteria pencarian terlebih dahulu untuk kemudian aplikasi mengirimkan kriteria pencarian ke server
aplikasi untuk kemudian server aplikasi me-request kriteria pencarian tersebut ke
Web Service Yummly. Server aplikasi mengambil data-data yang diperlukan
untuk proses fuzzy yang dilanjutkan dengan komputasi fuzzy sehingga
menghasilkan urutan hasil pencarian berdasar tingkat keterpilihan yang lebih
tinggi terlebih dulu. Hasil pencarian yang sudah melewati komputasi fuzzy
dikirimkan kembali kepada aplikasi untuk ditampilkan.
Gambar 6. Activity Diagram Pencarian Resep Makanan
Class Diagram dalam UML menggambarkan struktur dari sistem dengan
menampilkan class, atribut, operasi, dan relasi antarobjek. Class Diagram aplikasi
ini dapat terlihat pada Gambar 7.
Start Input Kriteria Pencarian
Tampilkan Hasil Pencarian
End
Ambil Data untuk Proses Fuzzy Terima Input Kriteria Pencarian
Terima Data dari Yummly
Komputasi Proses Fuzzy
Ambil Data Berdasar Kriteria
Web Serv ice Yummly Serv er App
12
Gambar 7. Class Diagram
Sequence Diagram merupakan diagram yang menggambarkan sebuah proses interaksi satu dengan yang lainnya yang disusun dalam sebuah serial waktu.
13
Gambar 8. Sequence Diagram Pencarian Resep
Selain memanfaatkan data utama yang berasal dari Web Service Yummly,
aplikasi juga dirancangkan untuk mempunyai data lain yang digunakan untuk
menyimpan data user, rencana menu harian, dan user history. Rancangan
database tersebut dapat dilihat pada Gambar 9. Pada gambar tersebut terdapat
tabel user_click yang berfungsi untuk menyimpan history tiap view yang
dilakukan user terhadap suatu menu makanan. Terdapat juga tabel daily_plan dan
daily_plan_item yang berfungsi untuk menyimpan rencana menu harian dari tiap user.
Gambar 9. Rancangan Database : User
Search Obj Controller Search Controller
Yummly WS Handler
1. Melakukan Pencarian
2. Mengirimkan Tujuan dan Kriteria
3. Mengarahkan ke controller tujuan beserta kriterianya 4. Meminta untuk request data
9. Proses masing-masing hasil pencarian
Fuzzy Web Service Yummly
Object Relational Mapping
6. get_membership()
8. Proses Data Membership
10. get_miu
11. Hitung Miu 5. Request data pencarian berdasar kriteria
7. Ambil data membership
12. Ambil data rules
13. Hitung Miu solusi 14. Hitung Solution Point
15. determine_intersection_point() 16. count_moment()
17. count_area() 18. central_point() 19. sorting
14
4. Hasil dan Pembahasan
Penelitian ini menghasilkan sebuah aplikasi mobile dengan fitur-fitur seperti yang terdapat pada Tabel 2.
No. Fitur Penjelasan
1. Login Halaman Login untuk user.
2. Registrasi Jika user belum mempunyai akun, maka dapat
melakukan registrasi terlebih dulu
3. Dashboard Halaman utama untuk aplikasi yang dibuat. Di
dalamnya terdapat daftar beberapa rencana menu harian yang baru saja dibuat. Pada halaman ini
terdapat juga input box untuk kriteria pencarian
makanan.
4. Pencarian Halaman ini menampilkan hasil pencarian yang
sebelumnya telah melewati komputasi fuzzy di server
aplikasi
5. Detail Resep Halaman ini menampilkan detail resep makanan. Pada
halaman ini user juga diijinkan untuk menambahkan resep tersebut pada rencana menu harian.
6. Rencana Menu
Harian
Halaman ini menyediakan fitur untuk mengelola menu harian yang sebelumnya telah ditambahkan.
7. Profil User dapat mengganti password dan nama di sini.
Tabel 2. Fitur-fitur aplikasi
Aplikasi ini dibangun di atas framework Phonegap yang salah satu
keunggulannya adalah dapat dijalankan di berbagai macam sistem operasi untuk mobile. Sebagai bahan uji, maka pada peneletian ini aplikasi dijalankan pada dua
sistem operasi untuk perangkat mobile yang berbeda, yaitu Android dan
15
Gambar 10. Tampilan Aplikasi pada Android dan Blackberry
Dengan berjalannya aplikasi pada sistem operasi Android dan Blackberry, maka terbukti bahwa dengan menggunakan Phonegap, aplikasi yang dibuat dapat dipergunakan untuk lintas platform. Ini berdampak pada semakin singkatnya waktu pengerjaan aplikasi, karena semuanya ditulis dengan menggunakan HTML, CSS, dan Javascript dengan sedikit sekali kode yang ditulis dengan menggunakan
bahasa pemrograman native dari sistem operasi, dalam hal ini Java.
Proses fuzzy terjadi saat user memasukkan kriteria pencarian. Kemudian
server aplikasi akan meminta data dari Web Service Yummly sesuai dengan
kriteria pencarian. Berikut merupakan hasil data kembalian dari Web Service
Yummly :
[0] => stdClass Object (
[flavors] => stdClass Object (
[sour] => 0.16666666666667 [salty] => 0.16666666666667 [sweet] => 0.16666666666667 )
[recipeName] => Carrot-Thyme Soup with Cream
[id] => Carrot-Thyme-Soup-with-Cream-The-Pioneer-Woman-198175 )
[1] => stdClass Object (
[flavors] => stdClass Object (
[sour] => 0.33333333333333 [salty] => 0.16666666666667 [sweet] => 0.16666666666667 )
[recipeName] => Cream Of Peach Soup [id] => Cream-Of-Peach-Soup-My-Recipes )
16
(
[flavors] => stdClass Object (
[sour] => 0.16666666666667 [salty] => 0.16666666666667 [sweet] => 0.16666666666667 )
[recipeName] => Asparagus Soup
[id] => Asparagus-Soup-Naturally-Ella-46381 )
[3] => stdClass Object (
[flavors] => stdClass Object (
[sour] => 0.66666666666667 [salty] => 0.16666666666667 [sweet] => 0
)
[recipeName] => Potato Leek Soup
[id] => Potato-Leek-Soup-Once-Upon-A-Chef-199981 )
[4] => 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-Epicurious )
[5] => stdClass Object (
[flavors] => stdClass Object (
[sour] => 0.16666666666667 [salty] => 0
)
[recipeName] => Chiptole Tomato Soup
[id] => Chiptole-Tomato-Soup-Naturally-Ella-46319 )
[6] => stdClass Object (
[flavors] => stdClass Object (
[sour] => 0.33333333333333 [salty] => 0.33333333333333 [sweet] => 0.66666666666667 )
[recipeName] => Black Bean Soup
[id] => Black-Bean-Soup-Once-Upon-A-Chef-200036 )
[7] => stdClass Object (
[flavors] => stdClass Object (
[sour] => 0.5
[salty] => 0.16666666666667 [sweet] => 1
)
[recipeName] => Jewish Plum Soup with Sour Cream [id] => Jewish-plum-soup-with-sour-cream-320253 )
17
(
[flavors] => stdClass Object (
[sour] => 0.16666666666667 [salty] => 0
[sweet] => 0 )
[recipeName] => Italian Chicken Soup
[id] => Italian-Chicken-Soup-The-Pioneer-Woman-45779 )
[9] => stdClass Object (
[flavors] => stdClass Object (
[sour] => 0.33333333333333 [salty] => 1
[sweet] => 1 )
[recipeName] => Roasted Tomato Soup
[id] => Roasted-Tomato-Soup-I-Adore-Food_-200678 )
Setelah melalui komputasi fuzzy, maka aplikasi akan memberikan nilai
tingkat keterpilihan untuk masing-masing hasil pencarian sehingga dari hasil pencarian tersebut akan menghasilkan urutan sebagai berikut :
Array (
[Jewish-plum-soup-with-sour-cream-320253] => 3.3333333333333 [Italian-Chicken-Soup-The-Pioneer-Woman-45779] => 3.3333333333333 [Chiptole-Tomato-Soup-Naturally-Ella-46319] => 3.3333333333333
[Carrot-Thyme-Soup-with-Cream-The-Pioneer-Woman-198175] => 3.3333333333333 [Asparagus-Soup-Naturally-Ella-46381] => 3.3333333333333
[Cream-Of-Peach-Soup-My-Recipes] => 3.3333333333333
[Roasted-Tomato-Soup-I-Adore-Food_-200678] => 3.2450980392157 [Black-Bean-Soup-Once-Upon-A-Chef-200036] => 3.025641025641 [Potato-Leek-Soup-Once-Upon-A-Chef-199981] => 2.2439293598234 [Cream-Of-Red-Bell-Pepper-Soup-Epicurious] => 2.0656565656566 )
Hasil ini menunjukkan bahwa setelah melewati komputasi fuzzy maka
urutan hasil pencarian dari Web Service Yummly mengalami pergeseran antara
satu dengan yang lain sesuai dengan tingkat keterpilihan yang dipunyai oleh masing-masing hasil pencarian.
Sampai di sini aplikasi hanya memberikan rekomendasi kepada user.
Sedangkan keputusan pemilihan menu makanan untuk dimasukkan ke dalam
rencana menu harian tetap ada di tangan user.
Selanjutnya aplikasi juga diuji dengan metode blackbox. Metode blackbox
berguna untuk menguji jalannya fungsionalitas aplikasi. Tabel 3 menunjukkan
18
No. Fungsi Test Case Hasil yang Diharapkan
Hasil Pengujian
1. Login Username dan
password diisikan dengan benar
User diarahkan
ke halaman
Dashboard
Berhasil
Username atau
password diisikan dengan salah
Muncul notifikasi di halaman login
Berhasil
2. Pencarian User memasukkan
kriteria pencarian Muncul hasil pencarian sesuai dengan kriteria pencarian Berhasil
3. Detail Resep User memilih salah
satu resep yang didapat dari pencarian
Muncul detail resep yang dipilih
Berhasil
4. Tambah
Rencana Menu Harian
User memasukkan
resep yang dipilih ke rencana menu harian
Resep masuk ke rencana menu harian
Berhasil
Tabel 3. Hasil Pengujian dengan Metode Blackbox
5. Simpulan
Aplikasi perencanaan menu makanan dapat mempermudah akitifitas perencanaan menu makanan dengan adanya fitur-fitur yang tidak bisa dilakukan
dengan aktifitas yang konvensional. Logika fuzzy yang digunakan dapat
memberikan rekomendasi yang sesuai dengan kriteria pencarian yang dimasukkan
user.
Berdasarkan hasil perancangan dan pengujian, aplikasi berbasis Phonegap dapat berjalan dengan baik pada sistem operasi yang berbeda, dalam hal ini
Android dan Blackberry. Komputasi fuzzy pada kedua sistem operasi tersebut
berjalan dengan baik dan menghasilkan hasil yang sama pula untuk kriteria pengujian yang sama. Ini dikarenakan komputasi berjalan di sisi server. Dengan menggunakan Phonegap proses pembuatan aplikasi untuk sistem operasi yang berbeda menjadi lebih singkat.
Untuk pengembangan selanjutnya, aplikasi dapat diujikan di beberapa
sistem operasi yang lain dan logika fuzzy bisa diterapkan di beberapa bagian lain
19
6. Pustaka
[1] Cynthia Ewer, Menu Planning : Save Time in The Kitchen,
http://organizedhome.com/kitchen-tips/menu-planning-save-time-kitchen, Diakses tanggal 20 November 2013
[2] The Official Launch of Yummly Recipe API,
http://blog.yummly.com/blog/labs/the-official-launch-of-the-yummly-recipe-api/, diakses tanggal 5 Oktober 2013
[3] Galindo, Jose, Angelica Urrutia, dan Mario Piattini, 2006, Fuzzy
Databases : Modeling, Design, and Implementation, London : Idea Group Publishing
[4] Sprague, Ralph H., Jr., 1980,A Framework For The Development Of
Decision Support System, MIS Quarterly 4 : 1 - 26
[5] Savitz, Eric, 2012, Gartner: Top 10 Strategic Technology Trends For 2013,
http://www.gartner.com/it/content/2482500/2482517/june_26_mobile_trend s_njones.pdf. Diakses tanggal 5 Agustus 2013
[6] Ghatol, Rohit, Yogesh Patel, 2012, Beginning Phonegap : Mobile Web
Framework for Javascript and HTML5, New York : Appress
[7] Mayo Clinic Staff, Menu Planning : Eat Healthier and Spend Less,
http://www.mayoclinic.org/menu-planning/ART-20048199, Diakses tanggal 30 Desember 2013
[8] Suwithi, Ni Wayan, Cecil Erwin Jr. Boham, 2008, Akomodasi Perhotelan
Jilid 2, Jakarta : Direktorat Pembinaan Sekolah Menengah Kejuruan
[9] Susilo, Frans, SJ, 2006, Himpunan & Logika Kabur Serta Aplikasinya,
Yogyakarta : Penerbit Graha Ilmu
[10] Kusumadewi, Sri, Hari Purnomo, 2004, Aplikasi Logika Fuzzy untuk
Pendukung Keputusan, Yogyakarta : Graha Ilmu
[11] Subakti, Irfan, 2002, Sistem Pendukung Keputusan, Institut Teknologi
Sepuluh November Surabaya : Jurusan Teknik Informatika.
[12] Petot, Grace J., Cynthia Marling, Leon Sterling, 1998, An Artificial
Intelligence System for Computer-Assisted Menu Planning, Journal of the
American Dietetic Association 98 : 1009 – 1014
[13] Balintfy, Joseph L., 1964, Menu Planning by Computer, Communication of
the ACM 7 : 255 – 259
[14] Widodo, Wahyu Abriyanto, 2012, Perancangan Aplikasi Mobile Commerce
pada Perangkat Blackberry Menggunakan Framework Phonegap (Studi Kasus : Butik Emely Shop Semarang), Universitas Kristen Satya Wacana : Fakultas Teknologi Informasi
[15] Pressman, Roger S., 2001, Software Engineering : A Practitioner’s