Metode Penelitian T1 672011611 Full text

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 History Komputasi 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,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,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1 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 : � = 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,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1 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 Tinggi 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 fungsi keanggotaan. Kemudian tiap aturan yang digunakan diproses menggunakan metode min sehingga menghasilkan suatu daerah output kotak atas. Daerah output dari tiap aturan digabungkan dengan metode max untuk membentuk suatu 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 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 App User 12 Gambar 7. Class Diagram Sequence Diagram merupakan diagram yang menggambarkan sebuah proses interaksi satu dengan yang lainnya yang disusun dalam sebuah serial waktu. Sequence Diagram untuk proses pencarian resep makanan dapat terlihat pada Gambar 8. Di sini terlihat secara jelas urutan langkah pengerjaan dari yang terdahulu dikerjakan sampai yang paling akhir. 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 20. Tampilkan hasil pencarian 14

4. Hasil dan Pembahasan