APLIKASI PENCARIAN RESEP MASAKAN BERDASARKAN BAHAN MAKANAN DENGAN ANGULARJS DAN PHALCON PHP FRAMEWORK
NASKAH PUBLIKASI
diajukan oleh Robbyn Rahmandaru 11.11.4704
kepada SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER AMIKOM YOGYAKARTA YOGYAKARTA 2015
APLIKASI PENCARIAN RESEP MASAKAN BERDASARKAN BAHAN MAKANAN DENGAN ANGULARJS DAN PHALCON PHP FRAMEWORK Robbyn Rahmandaru1), Ema Utami 2) 1)
2)
Teknik Informatika STMIK AMIKOM Yogyakarta Magister Teknik Informatika Program Pascasarjana STMIK AMIKOM Yogyakarta Jl Ringroad Utara, Condongcatur, Depok, Sleman, Yogyakarta Indonesia 55283
Email :
[email protected]),
Abstract - A search algorithm is important to get a lot of information. Unfortunately in the case of recipe search algorithm is not much developed. until now there are many web recipes that limited to the title for search, even though the search in terms of recipes have a lot of variables such as title, category, and material whereby if the variable is included in the search alogarithm, the results of the search can be optimized. To resolve this problem, researchers will create applications that can search for recipes with ingredients variable for the search pattern. This application is developed using Phalcon PHP Framework because this is the fastest Framework and AngularJS to assist the use of AJAX on web pages. The application made by the researchers summarized in the thesis entitled "Application Search Recipes Based on Ingredients with AngularJS and Phalcon PHP Framework". This Application will allow the user to search for recipes with a title, category, and material variables. The website is expected to be place to search for recipe ideas, share recipe, and popularize their own recipes.
dan tidak kebingungan dalam menentukan takaran bahan. Pembuatan website ini akan mengimplementasikan Phalcon PHP sebagai PHP Framework untuk optimalisasi kecepatan dan AngularJS untuk membuat website menjadi dinamis. Konsep logika pencarian yang dibuat dalam penelitian ini adalah mencari nilai kesamaan kata yang di masukan dengan judul resep, kategori, bahan bahan masakan atau satuan konversi. Sehingga di harapakan penelitian ini akan membuat pencarian yang dilakukan oleh pengguna lebih optimal dan efektif. 1.2! Rumusan Masalah Dari ulasan yang terdapat pada halaman latar belakang, maka didapat rumusan masalah, yaitu : “Bagaimana cara agar pencarian resep masakan optimal dan lebih efektif. 1.3! Batasan Masalah Batasan permasalahan pada penulisan skripsi ini adalah: 1.! Pencarian hanya dapat menggunakan Bahasa Indonesia. 2.! Logika pencarian hanya mendukung pencarian bahan, judul, kategori dan konversi. 3.! Sistem konversi hanya sebatas pengukuran berat, volume dan panjang dari kilo ke mili. 4.! Mendukung algoritma Longest Common Subsequences (LCS) untuk meningkatkan hasil pencarian. Algoritma ini telah dikemas dalam fungsi similar_text() pada fungsi PHP.
Keywords : Websites, Recipe, Searching, Food, Phalcon, AngularJS 1.! Pendahuluan 1.1! Latar Belakang Masalah Sebuah algoritma pencarian saat ini menjadi alternatif utama bagi masyarakat modern untuk mencari informasi, berita ataupun sebuah produk. Namun demikian, banyak algoritma pencarian yang ketepatannya dalam mencari suatu informasi masih kurang optimal dan efektif. Berdasarkan masalah tersebut diatas maka dibutuhkan sebuah aplikasi pencaran yang memfokuskan pada pengoptimalan pencarian dan keefektifan hasil pencarian. Pada penelitian ini akan dibuat sebuah website dengan studi kasus pencarian resep masakan, dimana pencarian tidak hanya melakukan pencarian terhadap judul namun dapat mencari berdasarkan bahan yang di gunakan, kategori resep masakan dan juga memiliki fasilitas konversi perhitungan satuan. Sehingga pengguna yang khususnya ibu-ibu atau orang yang sering memasak dapat menemukan ide baru dengan bahan bahan yang ada di dapur, pencarian judul resep lebih optimal
[email protected])
1.4! Tujuan Penelitian Pembuatan aplikasi ini bertujuan untuk meningkatkan keakuratan pencarian resep masakan, baik di cari berdasarkan judul resep atau bahan bahan masakan dan juga memberi fasilitas konversi satuan dalam satu kotak pencarian. Sehingga dengan adanya penelitian ini di harapkan tidak akan ada lagi bahan masakan yang akan di buang sia sia karena ide akan lebih banyak serta tidak ada lagi kesalahan dalam pengukuran satuan bahan masakan.
1
2.! Landasan Teori
yang dapat membantu developer/programmer dalam menangani berbagai masalah-masalah dalam pemrograman seperti koneksi ke database, pemanggilan variabel, file dll sehingga developer lebih fokus dan lebih cepat membangunaplikasi.Secara sederhana bisa dijelaskan bahwa framework adalah kumpulan fungsi (libraries), maka seorang programmer tidak perlu lagi membuat fungsi-fungsi (biasanya disebut kumpulanlibrary) dari awal, programmer tinggal memanggil kumpulan library atau fungsi yang sudah ada didalam framerwork, tentunya cara menggunakan fungsifungsi itu sudah ditentukan oleh framework [5].
2.1! Tinjauan Pustaka Tinjauan Pustaka dari penelitian ini adalah sebagai berikut : Menurut Afif Nur Ni’am A’la (2014) penulis dari Amikom pada tulisannya yang berjudul (Analisis Dan Perancangan Sistem Informasi Pencarian Data Pasien, Dokter dan Kamar Pada RSUD Caruban Madiun Berbasis Web) melakukan penelitian terhadap pencarian yang di lakukan di gunakan untuk mencari pasien, informasi dokter dan kamar dengan beberapa kotak pencarian yang berbeda untuk setiap pencarian datanya. Dalam penelitiannya Afif menjadikan data yang di kelola menjadi lebih mudah di cari di bandingkan dengan pencarian manual dan pengelolaan data sudah tidak menggunakan cacatan kertas melainkan menggunakan database [1]. Menurut Muchammad Faizal Fahmi (2015) penulis dari UGM pada penelitiannya yang berjudul (Aplikasi Pencarian Resep Masakan Berbasis Web) menjelaskan bahwa aplikasi pencarian resep yang dapat melakukan pencarian resep berdasarkan bahan dasar dan judul resep dapat memberikan ide kepada ibu secara cepat. Selain menampilkan hasil pencarian, aplikasi ini juga dapat menampilkan alamat lokasi pasar yang berada di wilayah kota Yogyakarta [3]. Menurut Asih Winantu (2014) penulis dari UGM pada tulisannya yang berjudul (Pengembangan Purwarupa Semantic Search Menggunakan Semantic Web Rule Language Untuk Pencarian Informasi Produk) mengungkapkan bahwa pencarian dengan menggunakan pencarian simantik memiliki akurasi terhadap hasil yang lebih optimal pada website bhinneka.com, gsmarena.com, dan tabloitpulsa.co.id. Pencarian simantik ini dapat membantu seseorang menemukan hasil yang sama dengan kata kunci yang berbeda namun masih dalam satu inti makna [2].
2.5! AngularJS
Gambar 1. Data Binding AngularJS [6] AngularJS adalah Framework Javascript untuk aplikasi web dinamis. AngularJS memungkinkan pengguna menggunakan HTML sebagai tampilan dasar dan juga dapat memperluas HTML dengan mengekpresikan komponen aplikasi dengan jelas dan ringkas yang disebut Data Binding (Gambar 1). Angular Data Binding dan dependency injection yang terdapat pada angular adalah fitur utama dari AngularJS karena fitur ini dapat membentu programer mengurangi banyak kode yang ditulis. AngularJS berjalan pada semua browser jadi sangat baik gunakan untuk teknologi server [7]. 2.6! Logest Common Subsquence Merupakan pemecahan masalah dengan menemukan subsquence terpanjang dari beberapa kata (bisanya dua kata). Hal ini berbeda dengan masalah pencarian substring, subsquence tidak menduduki posisi utama sebagai penentuan urutan. Jadi posisi awal pencarian dapat di temukan dimana saja. Longest Common Subsquence adalah bahasa pemrograman klasik untuk basis pembandingan data yang sekarang disebut diff ulitity dan aplikasi di bioinformatic. Pada era saat ini LSC juga digunakan untuk aplikasi Revision Control System, git dan aplikasi lain yang berhubungan dengan perubahan pada file [8].
2.2! PHP PHP atau Hypertext Preprocessor adalah bahasa serverside scripting yang menyatu dengan HTML untuk membuat halaman web yang dinamis [4]. 2.3! PHP Framework Framework adalah kerangka kerja. Framework juga dapat diartikan sebagai kumpulan script (terutama class dan function) yang dapat membantu developer/programmer dalam menangani berbagai masalah-masalah dalam pemrograman seperti koneksi ke database, pemanggilan variabel, file dll sehingga developer lebih fokus dan lebih cepat membangunaplikasi.Secara sederhana bisa dijelaskan bahwa framework adalah kumpulan fungsi (libraries), maka seorang programmer tidak perlu lagi membuat fungsi-fungsi (biasanya disebut kumpulanlibrary) dari awal, programmer tinggal memanggil kumpulan library atau fungsi yang sudah ada didalam framerwork, tentunya cara menggunakan fungsifungsi itu sudah ditentukan oleh framework [4].
3.! Pembahasan 3.1! Tinjauan Umum Aplikasi ini merupakan aplikasi web yang dibuat untuk mempermudah seseorang dalam mencari resep masakan. Konsep dalam pencarian ini adalah kata kunci yang di masukan pada kotak pencarian akan dicari maksud dari kata tersebut, lalu sistem akan mengolahnya dengan mennyamakan nilai kebenaran dari kata kunci yang di masukan, sehingga pencarian yang di lakukan akan lebih akurat.
2.4! Phalcon PHP Framework Framework adalah kerangka kerja. Framework juga dapat diartikan sebagai kumpulan script (terutama class dan function)
2
3.2! Model Sistem 3.2.1!
1.
Model Sistem Aplikasi Lama 2.
Model pencarian dengan sistem lama masih menggunakan algoritma yang mencari kesamaan antara kata kunci yang di masukan dengan judul saja, sebagai contoh adalah website food.com. Pencarian juga masih banyak yang tidak menggunakan AJAX untuk tampilan webnya. Kelemahan dari algoritma pencarian yang lama adalah. Adapun kelemahan yang terdapat pada website-website tersebut adalah :
3. 4. 5.
1.! Pencarian tidak menggunakan AJAX, sehingga menghabiskan bandwith internet yang lebih banyak. 2.! Algoritma pencarian hanya mencari kesamaan antara kata yang di masukan dengan judul saja, sehingga pencarian tidak lebih optimal karena hanya di cari berdasarkan judul saja dan tidak menggunakan variabel lain. 3.2.2!
6.
7.
Model Sistem Aplikasi Baru
3.3.2!
Model pencarian dengan sistem baru dibuat untuk membuat hasil yang lebih akurat dan efektif. Algoritma pencarian yang baru dapat mencari kesamaan antara 3 hal, yaitu : kesamaan judul, kesamaan kategori, dan kesamaan bahan. Algoritma pencarian dengan mencari kesamaan dengan judul masih di gunakan guna tidak membuat bingung pengguna lama. Algoritma pencarian kesamaan berdasarkan kategori dapat membuat seseorang lebih cepat menemukan resep masakan berdasarkan kota, jenis atau hal lain. Pencarian berdasarkan bahan dapat membantu seseorang dalam menemukan ide masakan baru dari bahan makanan yang ada. Aplikasi pencarian ini juga menambahkan fungsi konversi yang dapat mengkonversi volume, panjang dan berat sehingga memudahkan seseorang dalam pengukuran bahan makanan.
Analisis Kebutuhan Non Fungsional
Analisis kebutuhan non fungsional adalah bagian yang mendukung proses pembuatan aplikasi ini. Kebutuhan ini melibatkan kebutuhan perangkat keras (hardware) dan kebutuhan perangkat lunak (software). Berikut adalah kebutuhan non fungsional yang digunakan oleh server yang di tampilkan pada Tabel 2 untuk spesifikasi server dan Tabel 3 untuk spesifikasi perangkat lunak pada server. Tabel 2 Spesikasi Server
Processor RAM Memory Network Harddisk
3.3! Analisis Sistem Untuk pembuatan aplikasi ini penulis menggunakan metode analisis SWOT (Strengths, Weakness, Opportunities, Threats) yang hasilnya disajikan pada Tabel 1.
Spesifikasi Server Intel(R) Core(TM) i5-3740M CPU @ 2.67 GHz 1 GB RAM 100Mbps, Singapore SSD 20 GB
Tabel 3 Spesifikasi Perangkat Lunak Server
Tabel 1 Analisis SWOT
Spesifikasi Perangkat Lunak Sistem Operasi Centos 6.5 Panel VestaCP Framework Phalcon PHP Framework DBMS MySql Desain Tampilan Foundation, Bootstrap Google Chrome Browser 44.0.2403.130 Bahasa Pemrograman PHP, SQL
Internal Strength - Optimal - Fitur lebih lengkap - Mudah digunakan
Weakness - Belum di coba dengan Big Data - Data masih sedikit Eksternal Opportunity Threat - Menarik konsumen web - Pengguna yang lain karena kemudahannya. memasukkan data yang - Dapat bekerjasama dengan menyimpang pasar untuk penjualan bahan. 3.3.1!
Pada halaman utama pengguna harus dapat melakukan pencarian yang akan menghasilkan daftar resep masakan atau hasil konversi. Pada menu utama pengguna dapat memilih untuk masuk ke sistem atau mendaftar ke sistem dengan menu yang ada. Sistem harus dapat memisahkan antara pengguna biasa dan admin. Pada halaman pengguna, pengguna harus dapat melihat resep yang sudah di buat olehnya. Pada halaman pengguna, pengguna harus dapat mengubah foto profil. Pada halaman buat resep baru, pengguna harus dapat memasukan pengetahuan berupa resep dan gambar ke dalam sistem dan sistem harus dapat memisahkan antara satuan, bahan dan keterangan secara otomatis. Pada halaman admin, admin dapat melihat semua resep yang sudah di masukkan oleh pengguna.
3.4! Perancangan Aplikasi 3.4.1!
Analisis Kebutuhan Fungsional
Flowchart
Berikut merupakan flowchart alur pencarian yang dilaukan oleh aplikasi resep masakan yang di gambarkan pada Gambar 2 :
Berikut merupakan kebutuhan fungsional dari aplikasi :
3
Gambar 4. Relasi Antar Tabel Gambar 2. Flowchart Pencarian 3.4.2!
3.6! Struktur Hierarki Menu
Class Digram
Class diagram dari aplikasi resep masakan di gambarkan pada Gambar 3.
Gambar 5. Struktur Hierarki Menu Struktur Hierarki Menu dari aplikasi di gambarkan pada Gambar 5. 4.! Implementasi
Gambar 3. Class Diagram 3.5! Relasi Antar Tabel Gambar 4 merupakan gambar dari relasi antar tabel yang digunakan oleh aplikasi resep masakan
Gambar 6. Tampilan Utama Aplikasi saat pencarian Pada gambar 6 ditunjukan implementasi dari aplikasi saat digunakan untuk pencarian berdasarkan bahan untuk menemukan resep yang tepat dengan bahan yang di cari. 5.! Kesimpulan Berdasarkan pada penjelasan yang telah dikemukakan sebelumnya, maka menghasilkan kesimpulan sebagai berikut :
4
1.! Web Pencarian resep masakan berdasarkan bahan mengoptimalkan hasil pencarian resep masakan. Aplikasi ini dapat mengoptimalkan hasil pencarian dengan cara membuat beberapa pilihan terhadap kata kunci yang di masukkan sehingga pengguna tidak perlu berpindah kotak pencarian atau membuat klik pada tab untuk mendapatkan hasil yang berbeda sehingga ketika pengguna mengetikan kata pencarian akan didapatkan hasil yang sesuai.
[4]
[5] [6]
2.! Web pencarian resep masakan ini menggunakan teknologi AJAX yang membuat pencarian yang live dan bandwith yang lebih sedikit daripada membuka halaman baru, sehingga di dapatkan hasil penggunaan bandwith yang efektif.
[7] [8]
Rule Lenguage untuk pencarian Informasi Produk. Universitas Gajah Mada Yogyakarta Arief, Rudyanto. 2011. Pemrograman Web Dinamis menggunakan PHP dan MySQL. STMIK AMIKOM Yogyakarta. http://phalconphp.com/en/ Diakses pada 17 April 2015 https://docs.angularjs.org/guide/concepts Diakses pada 11 Agustus 2015 https://docs.angularjs.org/guide/introduction Diakses pada 28 Maret 2015. https://www.ics.uci.edu/~eppstein/161/960229.html Diakses pada 13 April 2015
6.! Saran
Biodata Penulis
Terdapat beberapa saran untuk penyempurnaan dan pengembangan lebih baik terhadap sistem ke depannya Beberapa saran yang ingin disampaikan adalah sebagai berikut:
Robbyn Rahmandaru, memperoleh gelar Sarjana Komputer (S.Kom), Jurusan Teknik Informatika STMIK AMIKOM Yogyakarta, lulus tahun 2015.
1.! Algoritma LCS merupakan logika brute-force sehingga memori yang digunakan tergolong besar untuk pencarian, diharapkan ditemukan algoritma pencarian yang dapat lebih tepat dan ringan untuk memori. 2.! Pengguna yang tidak bertanggung jawab dapat memasukan pengetahuan baru yang dapat merusak ketepatan pencarian sehingga diharapkan adanya suatu logika untuk mereview resep yang di masukan. 3.! Saat ini aplikasi web berjalan pada server yang menggunakan disk dan processor yang terbatas sehingga sebaiknya dapat di tingkatkan sesuai tingkat pengunjung web. 4.! Diharapkan adanya tes untuk kecepatan hasil pencarian di setiap negara sehingga hasil yang di tampilkan dapat terjaga waktu responnya. 5.! Adanya pengembangan untuk User Interface dan User Experience yang lebih baik 6.! Adanya logika untuk memisahkan bahan makanan yang harus tidak ada guna memungkinkan seseorang terhindar dari makanan yang membahayakan dirinya. 7.! Saat ini web dapat berjalan dengan baik pada browser Chrome dan Firefox di harapkan ada uji coba dengan browser yang berbeda versi atau berbeda produk. 8.! Sistem konversi hanya menyediakan konversi untuk gram, liter dan meter. Diharapkan sistem dikembangkan sehingga pencarian dapat berupa sendok makan, sendok teh dan lain sebagainya.
Ema Utami, memperoleh gelar Sarjana Sains (S.Si) Program Studi Ilmu Komputer Universitas Gadjah Mada pada tahun 1997, memperoleh gelar Magister Ilmu Komputer (M.Kom) Program Pasca Sarjana Ilmu Komputer Universitas Gadjah Mada Yogyakarta pada tahun 2000. Memperolah gelar Doktor (Dr) dari Program Doktoral Ilmu Komputer Universitas Gadjah Mada Yogyakarta pada tahun 2010.
Daftar Pustaka [1]
[2]
[3]
Nur Ni’am A’la, Afif. 2014. Analisis dan Perancangan Sistem Informasi Pencarian Data Pasien, Dokter dan Kamar pada RSUD Caruban Madiun Berbasis Web. STMIK AMIKOM Yogtakarta Faizal Fahmi, Muchammad. 2015. Aplikasi Pencarian Resep Masakan Berbasis Web. Universitas Gajah Mada Yogyakarta Winantu, Asih. 2014. Pengembangan Purwarupa Semantic Search Menggunakan Semantic Search Web
5