Sistem rekomendasi hasil pertanian tanaman pangan menggunakan pendekatan Content Based Filtering.
i
MENGGUNAKAN PENDEKATAN CONTENT BASED FILTERING
Skripsi
Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Komputer
Program Studi Teknik Informatika
Oleh: Putri Nastiti
085314020
JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA YOGYAKARTA
(2)
ii
CONTENT-BASED FILTERING APPROACH
A Thesis
Presented as Partial Fulfillment of the Requirements
to Obtain the Sarjana Komputer Degree
in Informatics Engineering
By: Putri Nastiti 08 5314 020
DEPARTMENT OF INFORMATICS ENGINEERING
FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY YOGYAKARTA
(3)
(4)
(5)
v
Halaman Persembahan ..
Tugas akhir ini saya persembahkan untuk orang tua
saya, yang di setiap halamannya mengandung
keringat, air mata, serta senyuman mereka ..
.
Untuk kakak saya, satu2 nya keluarga yang tak
pernah ribut dengan pertanyaan ‘kapan lulus?’
ini
kado pernikahanmu, Mas ..
Untuk semua an
ggota ‘genk galau’ yang setia menjadi teman
seperjuangan meraih gelar S.Kom ..
Dan untuk kamu yang sadar atau tidak, ternyata
sudah menjadi inspirasiku ..
(6)
vi
Bermainlah dalam permainan, tetapi janganlah main-main.
Bermainlah untuk bahagia, tetapi janganlah mempermainkan
bahagia.
-N. Driyarkara, S. J.
(7)
(8)
viii
MENGGUNAKAN PENDEKATAN CONTENT BASED FILTERING
ABSTRAK
Sebagian besar petani di Indonesia yang berkelompok dan membentuk suatu kelompok tani biasanya menyalurkan hasil pertaniannya kepada pengepul, untuk selanjutnya diteruskan kepada pedagang pasar atau konsumen. Padahal idealnya hasil pertanian dapat disalurkan oleh petani langsung kepada konsumen. Pada kenyataannya, hasil pertanian tidak bisa langsung sampai pada konsumen, melainkan harus melewati beberapa rantai distribusi. Hal ini menjadikan proses penyaluran hasil pertanian menjadi kurang efektif dan efisien, dari segi waktu dan juga biaya. Skripsi ini menyediakan informasi tentang rekomendasi hasil pertanian tanaman pangan. Sistem ini dikembangkan berbasis mobile.
Dalam pencarian rekomendasi hasil pertanian, digunakan teori mengenai content
based filtering. Dalam pendekatan content-based filtering, sistem memilih dan melakukan
peringkat item berdasarkan kesamaan profil pengguna dan profil item. Keuntungan dari pendekatan ini adalah pengguna mendapatkan wawasan tentang mengapa suatu item dianggap relevan untuk mereka. Data yang dipergunakan adalah data yang diperoleh dari Dinas Pertanian Kabupaten Sleman.
Rekomendasi yang diberikan sistem disusun berdasarkan tingkat kemiripan profil item dengan profil user. Proses pengujian sistem adalah dengan mencari hasil yang relevan dari daftar hasil rekomendasi. Kemudian menghitung precision, dan rata-ratanya. Berdasarkan pengujian 10 profil pedagang dengan 15 rekomendasi kelompok tani teratas, didapatkan hasil rata-rata presisi 78.40%. Berdasarkan hasil evaluasi sistem ini belum dapat dikatakan baik karena pengujian yang dilakukan hanya menggunakan precision saja. Kata kunci : sistem rekomendasi, content based filtering, vector space model, aplikasi
(9)
ix
USING CONTENT-BASED FILTERING APPROACH
ABSTRACT
Most farmers in Indonesia are grouped and make a groups, usually distribute their crops to the wholesalers, then submitted to the merchant or the consumer market. Ideally agricultural products can be delivered by farmers directly to consumers. In fact, agriculture is not can jump directly to the consumer, but must pass through a chain of distribution. It makes the process of distributing agricultural products become less effective and efficient, in terms of time and costs. This thesis provides information on the recommendations of agricultural crops. This system was developed based on the mobile.
In the recommendation process agricultural products, used the theory of content-based filtering. In content-content-based filtering approach, systems select and rank the items content-based on similarity of user profiles and item profiles. The advantage of this approach is that users gain insights on why an item is considered relevant to them. The data used is the data obtained from the Department of Agriculture District of Sleman.
Recommendations given system is based on the level of similarity profile items with user profiles. System testing process is to find relevant results from the recommendation list. Then calculate the precision, and the average. Based on testing of 10 profiles trader with 15 top recommendations farmer groups, showed an average of precision is 78.40%. Based on that evaluation system can not be said to be good because the testing is using only precision.
Key word : recommendation system, content based filtering, vector space model, mobile application.
(10)
(11)
xi
Puji dan syukur saya panjatkan kepada Tuhan Yang Maha Esa karena segala berkat dan rahmat yang telah diberikan sehingga saya dapat menyelesaikan tugas akhir dengan
judul “Sistem Rekomendasi Hasil Pertanian Tanaman Pangan Menggunakan Pendekatan Content Based Filtering”.
Pada kesempatan ini saya ingin mengucapkan terima kasih kepada pihak-pihak yang telah mendukung saya selama pengerjaan tugas akhir ini. Ucapan terima kasih ini saya tunjukkan kepada:
1. Bapak Puspaningtyas Sanjoyo Adi S.T., M.T. selaku dosen pembimbing yang
senantiasa memberikan masukkan dan bantuan dalam membimbing penulis untuk
menyelesaikan tugas akhir ini.
2. Ibu Paulina Heruningsih Prima Rosa, S.Si., M.Sc. selaku dekan Fakultas Sains dan Teknologi Universitas Sanata Dharma.
3. Ibu Ridowati Gunawan, S,Kom., M.T. selaku ketua jurusan Teknik Informatika Universitas Sanata Dharma.
4. Pihak sekretariat dan laboran FST yang turut membantu penulis dalam menyelesaikan tugas akhir ini.
5. Kedua orangtua saya, Ir. Bambang Setiyo dan Chatarina Herningsih, serta kakak saya Yohanes Pandu Prasetya, S.E., dan calon kakak ipar Adinda Putri Widyaningtyas, dan segenap keluarga atas dukungan dan doa yang mengalir tanpa henti untuk penulis.
(12)
Ilan, Rista, Angga, Endro, Devi, Henfri, Bebeth, Ocha, Surya, Tista dan segenap teman-teman TI USD yang tidak dapat penulis sebutkan satu-persatu.
7. Yohanes Januadi, yang walaupun datang di akhir perjuangan, tetapi doa dan motivasi penuh yang diberikan selalu menguatkan.
8. Seluruh pihak yang membantu kelancaran dalam penulisan Tugas Akhir ini, secara langsung dan tidak langsung, yang tidak dapat saya sebutkan satu-persatu.
Saya menyadari masih terdapat banyak kekurangan dalam penelitian ini. Saran dan kritik akan selalu saya nantikan untuk perbaikan di masa yang akan datang.
Akhir kata, saya berharap tulisan ini dapat bermanfaat bagi kemajuan dan perkembangan ilmu pengetahuan serta para pembaca sekalian.
Yogyakarta, 26 Mei 2013
(13)
xiii
HALAMAN PERSETUJUAN ... iii
HALAMAN PENGESAHAN ... v
HALAMAN PERSEMBAHAN ... vi
PERNYATAAN KEASLIAN KARYA ... vii
ABSTRAK ... viii
ABSTRACT ... ix
HALAMAN PERSETUJUAN ... x
KATA PENGANTAR ... xi
DAFTAR ISI ... xiii
DAFTAR GAMBAR ... xviii
DAFTAR TABEL ... xix
BAB 1 PENDAHULUAN ... 1
1.1 Latar Belakang Masalah ... 1
1.2 Rumusan Masalah ... 2
1.3 Batasan Masalah ... 3
1.4 Tujuan dan Manfaat Penulisan ... 3
1.5 Metodologi Penelitian ... 4
1.6 Sistematika Penulisan ... 5
BAB 2 LANDASAN TEORI ... 7
2.1 Pengertian Sistem Rekomendasi ... 7
2.1.1 Content Based Filtering ... 8
2.1.2 Vector Space Model ... 11
2.1.3 Pengukuran Performansi ... 13
(14)
2.3.1 Arsitektur Android ... 15
2.3.2 Komponen Dasar ... 17
2.3.3 Location Based Service dan Google Maps ... 17
BAB 3 ANALISA DAN PERANCANGAN ... 20
3.1 Analisis Sistem ... 20
3.1.1 Gambaran Umum Sistem ... 20
3.2 Perancangan Sistem ... 21
3.2.1 Arsitektur Sistem ... 21
3.3 Desain Model Secara Umum ... 24
3.3.1 Diagram Use Case ... 24
3.3.2 Narasi Use Case ... 25
3.3.3 Diagram Aktifitas ... 25
3.3.4 Model Analisis ... 26
3.3.5 Diagram Kelas ... 26
3.3.6 Desain Basis Data ... 27
3.3.7 Perancangan Basis Data ... 27
8. Tabel data_lahan_index ... 31
3.3.8 Desain Antar Muka ... 31
BAB 4 IMPLEMENTASI DAN ANALISIS SISTEM ... 32
4.1 Tahap Implementasi ... 32
4.1.1 Spesifikasi Perangkat Keras dan Perangkat Lunak ... 32
4.1.2 Implementasi Diagram Kelas ... 32
4.2 Pengujian ... 33
4.2.1 Pengujian Kinerja Sistem ... 33
(15)
BAB 5 PENUTUP ... 49
5.1 Kesimpulan ... 49
5.2 Saran ... 50
DAFTAR PUSTAKA ... 51
LAMPIRAN 1 ... 54
1.1. Usecase Login ... 55
1.2. Usecase Kelola Data ... 56
1.3. Usecase Registrasi ... 57
1.4. Usecase Lihat Rekomendasi ... 58
LAMPIRAN 2 ... 60
2.1. Diagram Aktifitas Login ... 61
2.2. Diagram Aktifitas Ubah Data Petani ... 62
2.3. Diagram Aktifitas Tambah Profil Pedagang ... 63
2.4. Diagram Aktifitas Ubah Profil Pedagang ... 64
2.5. Diagram Aktifitas Hapus Profil Pedagang ... 65
2.6. Diagram Aktifitas Perbarui Lokasi Pedagang ... 66
2.7. Diagram Aktifitas Registrasi ... 67
2.8. Diagram Aktifitas Lihat Rekomendasi ... 68
LAMPIRAN 3 ... 69
3.1. Model Analisis Login ... 70
3.1.1. Login (Sequence Diagram) ... 70
3.1.2. Login (Collaboration Diagram) ... 70
3.1.3. Kelas Analisis Login ... 70
3.2. Model Analisis Kelola Data ... 71
(16)
3.2.3. Kelas Analisis Ubah Data Petani ... 72
3.2.4. Tambah Profil Pedagang (Sequence Diagram) ... 73
3.2.5. Tambah Profil Pedagang (Collaboration Diagram) ... 73
3.2.6. Kelas Analisis Tambah Profil Pedagang ... 73
3.2.7. Ubah Profil Pedagang(Sequence Diagram) ... 74
3.2.8. Ubah Profil Pedagang (Collaboration Diagram) ... 74
3.2.9. Kelas AnalisisUbah Profil Pedagang ... 75
3.2.10. Hapus Profil Pedagang (Sequence Diagram) ... 75
3.2.11. Hapus Profil Pedagang(Collaboration Diagram)... 76
3.2.12. Kelas AnalisisHapus Profil Pedagang ... 76
3.2.13. Perbarui Lokasi Pedagang (Sequence Diagram) ... 77
3.2.14. Perbarui Lokasi Pedagang (Collaboration Diagram) ... 77
3.2.15. Kelas AnalisisPerbarui Lokasi Pedagang ... 77
3.3. Model Analisis Registrasi ... 78
3.3.1. Registrasi (Sequence Diagram) ... 78
3.3.2. Registrasi (Collaboration Diagram) ... 78
3.3.3. Kelas Analisis Registrasi... 78
3.4. Model Analisisis Lihat Rekomendasi ... 79
3.4.1. Lihat Rekomendasi (Sequence Diagram)... 79
3.4.2. Lihat Rekomendasi (Collaborative Diagram) ... 80
3.4.3. Kelas Analisis Lihat Rekomendasi ... 80
LAMPIRAN 4 ... 81
4.1. Desain Antarmuka Halaman Utama ... 82
4.2. Desain Antarmuka Halaman Login ... 83
(17)
4.5. Desain Antarmuka Halaman Hasil Rekomendasi ... 86
4.6. Desain Antarmuka Halaman Cari Rekomendasi ... 87
4.7. Desain Antarmuka Halaman Pilih Varietas ... 88
4.8. Desain Antarmuka Halaman Lokasi Pedagang ... 89
LAMPIRAN 5 ... 90
5.1 Registrasi ... 91
5.1.1 Halaman Registrasi Pedagang ... 91
5.2 Login ... 92
5.2.1 Halaman Login Pedagang ... 92
5.3 Kelola Data ... 93
5.3.1 Halaman Ubah Profil Petani... 93
5.3.2 Halaman Ubah Data Lahan ... 94
5.3.3 Halaman Detail Lahan... 95
5.4 Lihat Rekomendasi ... 96
5.4.1 Halaman Profil Pedagang ... 96
5.4.2 Halaman Hasil Rekomendasi ... 97
5.4.3 Halaman Cari Rekomendasi ... 98
5.4.4 Halaman Pilih Varietas ... 99
5.4.5 Halaman Lokasi Pedagang ... 100
5.4.6 Halaman Hasil Jarak ... 101
LAMPIRAN 6 ... 102
(18)
xviii
Gambar 2.1 Vector Space Model... 12
Gambar 2.2 Arsitektur Android... 15
Gambar 3.1 Arsitektur Sistem... 20
Gambar 3.2 Arsitektur Aplikasi (pedagang)... 21
Gambar 3.3 Arsitektur Aplikasi (petani)... 22
Gambar 3.4Use Case Diagram untuk Petani dan Pedagang... 24
Gambar 3.5 Diagram Kelas... 25
(19)
xix
Tabel 3.1 Struktur tabel data_lahan... 27
Tabel 3.2 Struktur tabel data_pedagang... 27
Tabel 3.3 Struktur tabel petani... 27
Tabel 3.4 Struktur tabel petani_jarak... 28
Tabel 3.5 Struktur tabel produk... 28
Tabel 3.6 Struktur tabel query_pdg... 29
Tabel 3.7 Struktur tabel profil_pedagang... 29
Tabel 3.8 Struktur tabel data_lahan_index... 29
Tabel 4.1 Nama varietas tanaman padi...32
Tabel 4.2 Sampel profil 1... 33
Tabel 4.3 Sampel profil 2... 34
Tabel 4.4 Sampel profil 3... 35
Tabel 4.5 Sampel profil 4... 35
Tabel 4.6 Sampel profil 5... 36
Tabel 4.7 Sampel profil 6... 36
Tabel 4.8 Sampel profil 7... 37
Tabel 4.9 Sampel profil 8... 37
Tabel 4.10 Sampel profil 9... 39
Tabel 4.11 Sampel profil 10... 39
Tabel 4.12 Tabel relevansi hasil pencarian rekomendasi petani... 42
Tabel 4.13 Tabel hasil perhitungan precision rekomendasi kelompok tani... 43
Tabel 4.14 Tabel relevansi hasil pencarian rekomendasi pedagang... 47
(20)
1
BAB 1
PENDAHULUAN
1.1 Latar Belakang Masalah
Di negara Indonesia yang merupakan daerah agraris, masih terdapat banyak petani yang kesulitan dalam mendistribusikan hasil panennya. Sebagian besar petani yang berkelompok dan membentuk suatu kelompok tani biasanya menyalurkan hasil pertaniannya kepada pengepul, untuk selanjutnya diteruskan kepada pedagang pasar atau konsumen. Padahal idealnya hasil pertanian dapat disalurkan oleh petani langsung kepada konsumen. Pada kenyataannya, hasil pertanian tidak bisa langsung sampai pada konsumen, melainkan harus melewati beberapa rantai distribusi. Hal ini menjadikan proses penyaluran hasil pertanian menjadi kurang efektif dan efisien, dari segi waktu dan juga biaya.
Berdasarkan pada hal tersebut, penulis ingin membuat sebuah sistem yang dapat mencatat data lahan pertanian serta merekomendasikan lahan pertanian mana saja yang berpotensi menghasilkan komoditas tanaman pangan, berupa padi khususnya untuk Kabupaten Sleman yang masih dalam proses pemulihan pasca bencana Merapi. Sistem tersebut harus dapat diakses dimanapun dan kapanpun, pengguna pun juga secara cepat dapat mengakses informasi melalui sistem tersebut.
Berdasarkan penjelasan tersebut, akan sangat cocok apabila diimplementasikan dengan sistem berbasis mobile. Dengan adanya aplikasi
(21)
efektif dan efisien. Aplikasi mobile ini tentunya harus tepat sasaran dan tepat pengguna. Dalam hal ini sistem mampu memberikan rekomendasi lahan yang sesuai untuk pengguna sistem. Dalam pembuatannya, sistem rekomendasi ini akan menerapkan teori mengenai content based filtering.
Jurnal yang berjudul “An Ontology-Content Based Filtering Method” oleh Peretz Shoval, Veronica Maidel, dan Brancha Shapira menjelaskan tentang pendekatan content-based filtering, sistem memilih dan melakukan peringkat item berdasarkan kesamaan profil pengguna dan profil item. Keuntungan dari pendekatan ini adalah pengguna mendapatkan wawasan tentang mengapa suatu item dianggap relevan untuk mereka.
Aplikasi mobile ini akan diimplementasikan pada smartphone Android. Android merupakan sebuah sistem operasi terbuka yang dianggap mampu menjawab masalah-masalah yang diangkat dalam tugas akhir ini. Pada implementasinya aplikasi mobile ini akan memanfaatkan Google Map yang sudah terintegrasi dengan Android. Dengan aplikasi mobile ini pengguna yang khususnya adalah pedagang akan lebih mudah dalam mengakses informasi mengenai lahan pertanian yang sesuai dengan profil setiap pedagang.
1.2 Rumusan Masalah
Masalah-masalah yang akan dibahas untuk pengembangan perangkat lunak ini mencakup :
(22)
1. Bagaimana membangun sebuah sistem rekomendasi mobile hasil pertanian?
2. Bagaimana sistem ini akan membantu pengguna khususnya para pedagang untuk mengetahui informasi lahan dan hasil pertanian berupa padi menggunakan pendekatan content based filtering?
1.3 Batasan Masalah
Mengingat ruang lingkup penelitian mengenai lokasi lahan pertanian ini cukup luas sehingga penelitian ini hanya dibatasi pada :
1. Memetakan lokasi lahan pertanian yang termasuk pada area DIY.
2. Lahan pertanian yang dijadikan sampel adalah yang lahan berada di Kabupaten Sleman.
3. Jenis tanaman yang dapat dipilih hanya tanaman padi.
4. Informasi yang diberikan oleh sistem adalah lokasi lahan, jenis tanaman, luas lahan, kelompok tani, prediksi jumlah hasil panen (dalam kg).
1.4 Tujuan dan Manfaat Penulisan
Tujuan dibuatnya tugas akhir yang berjudul “Sistem Rekomendasi Hasil Pertanian Tanaman Pangan Menggunakan Pendekatan Content Based Filtering”
ini adalah membangun sebuah sistem berbasis mobile yang sesuai dengan teori
Conten Based Filtering pada sistem operasi Android untuk mencatat data lahan
pertanian serta menginformasikan hasil pertanian di Kabupaten Sleman kepada pengguna, khususnya pedagang. Informasi tersebut berupa waktu tanam, waktu
(23)
panen, luas lahan, posisi lahan, hasil panen, kelompok tani. Sistem yang dibuat
mobile ini bertujuan untuk membuat pengguna lebih merasa fleksibel dalam
mengakses informasi tersebut.
Manfaat penulisan tugas akhir ini adalah memberikan kemudahan bagi pengguna khususnya pedagang untuk mengetahui informasi lahan pertanian beserta informasi waktu tanam dan perkiraan panen yang dapat diakses melalui ponsel. Manfaat lainnya adalah dengan dibuatnya sistem ini semoga dapat membantu proses pemasaran hasil pertanian para petani di daerah Sleman.
1.5 Metodologi Penelitian
Pada pelaksanaan pembuatan tugas akhir hingga pembuatan sistem dan penyusunan laporan, penulis menggunakan tahapan :
a. Pengumpulan data dan analisis
Penulis melakukan studi pustaka untuk mengumpulkan informasi. Studi pustaka dilakukan dengan mempelajari teori-teori serta literatur yang mendukung penelitian ini terutama yang berhubungan dengan
recommender system, content-based filtering, serta perangkat lunak
yang digunakan untuk membangun sistem.
Selain itu penulis juga mengumpulkan data seperti data lahan pertanian yang terdapat di Kabupaten Sleman yang digunakan untuk penelitian ini.
(24)
Metode yang dipakai untuk mengembangkan sistem yang dipakai adalah pendekatan content-based filtering dengan pengukuran kemiripan (measuring similarity) antara profil item dan profil user menggunakan algoritma cosine similarity.
c. Evaluasi sistem
Metode evaluasi dilakukan dengan menghitung nilai precision. Nilai
precision inilah yang menentukan berhasil atau tidaknya sistem yang
dibangun dengan metode content-based filtering ini dan implementasi vector space model.
1.6 Sistematika Penulisan
Sistematika penulisan tugas akhir ini dengan susunan sebagai berikut : Bab 1 Pendahuluan
Pada bagian ini berisi tentang penjelasan latar belakang masalah, perumusan masalah, batasan masalah, tujuan, hingga teknik penulisan yaitu metodologi penelitian, dan sistematika penulisan.
Bab 2 Landasan Teori
Pada bagian ini berisi tentang prinsip-prinsip dasar recommender
system, content based filtering, pengertian mobile application.
Bab 3 Analisa Sistem dan Perancangan Sistem
Pada bagian ini berisi tentang sistem yang akan dibuat serta langkah-langkah dan metode yang akan digunakan dalam pembuatan sistem tersebut.
(25)
Bab 4 Implementasi dan Analisis Sistem
Pada bagian ini akan berisi mengenai pembuatan sistem dan cara kerja sistem serta analisa dari sistem yang telah dibuat.
Bab 5 Penutup
Pada bagian ini akan berisi tentang kesimpulan dari keseluruhan pembuatan sistem dan saran untuk pengembangan sistem ke depan.
(26)
7
BAB 2
LANDASAN TEORI
2.1 Pengertian Sistem Rekomendasi
Sistem Rekomendasi atau disebut juga Recommender system merupakan sebuah sistem yang menyarankan informasi yang berguna. Sistem rekomendasi juga dapat menduga apa yang akan dilakukan pengguna untuk mencapai tujuannya, misalnya seperti memilih produk tertentu. Seperti yang disebutkan oleh Paul Resnick dan Hal R. Varian dalam jurnalnya, recommender system membantu dan meningkatkan proses seleksi alam. Suatu yang khas dalam sistem rekomendasi adalah orang memberikan rekomendasi sebagai masukan, kemudian sistem mengagregasikan dan mengarahkan agar sesuai dengan si penerima. Dalam beberapa kasus, transformasi utama ada di dalam proses agregasi. Kasus lainnya nilai sistem terletak pada kemampuannya untuk mencocokkan dua hal yaitu bagian yang dijadikan rekomendasi, dan yang mencari rekomendasi secara baik.
Tugas inti dari recommender system adalah untuk memprediksikan evaluasi subyektif yang akan diberikan pengguna terhadap item. Prediksi ini dihitung menggunakan sejumlah model prediktif yang memiliki karakteristik umum, yaitu mengeksploitasi evaluasi atau penilaian yang diberikan oleh pengguna untuk transaksi yang sebelumnya telah dilihat. Berdasarkan teknik prediksi tertentu yang sedang digunakan, recommender
(27)
system telah diklasifikasikan ke dalam empat kategori utama [Burke, 2007]: collaborative-based, content-based, knowledge-based, hybrid. Pada sistem
yang menggunakan pendekatan collaborative-based paling sederhana menghitung korelasi antara pengguna, memprediksi peringkat produk untuk pengguna saat ini didasarkan pada peringkat yang diberikan oleh pengguna lain, yang sangat berhubungan dengan preferensi pengguna saat ini [Herlocker et al, 1999]. Sedangkan sistem dengan pendekatan content-based hanya menggunakan preferensi dari pengguna saat ini, memprediksi peringkat untuk item yang tak terlihat berdasarkan seberapa banyak deskripsinya atau isinya mirip dengan pengguna [Pazzani dan Billsus, 2007].
2.1.1 Content Based Filtering
Pendekatan Information filtering didasarkan pada bidang
information retrieval (IR) dan teknik yang digunakan pun banyak yang
sama [Hanani et al, 2001]. Satu aspek yang membedakan antara information
filtering dan information retrieval adalah mengenai kepentingan pengguna.
Pada IR pengguna menggunakan ad-hocqueries, sedangkan information
filtering pengguna sudah mempunyai profil yang merepresentasikan
kepentingan jangka panjang, dan sistem mencoba memberikan kepada setiap pengguna, item yang relevan. Berdasarkan pada ukuran kesamaan antara masing-masing profil, sistem memilih dan membuat peringkat pada item yang relevan, kemudian diberikan kepada pengguna. Terdapat dua
(28)
pendekatan pada information filtering, yaitu collaborative filtering dan
content-based filtering.
Pada tugas akhir ini akan menggunakan pendekatan content-based
filtering. Berbeda dengan collaborative filtering yang memilih dan membuat
peringkat item untuk pengguna berdasarkan kesamaan dari pengguna untuk pengguna lain yang menyukai item serupa di masa lalu, tetapi pada pendekatan content-based filtering ini, sistem memilih dan melakukan peringkat item berdasarkan kesamaan profil pengguna dan profil item. Keuntungan dari pendekatan ini adalah pengguna mendapatkan wawasan tentang mengapa suatu item dianggap relevan untuk mereka, karena konten di setiap item nya diketahui dari representasinya. Namun pendekatan ini juga mempunyai kelemahan, misalnya kenyataan bahwa pendekatan ini berfokus pada kemiripan kata kunci. Pendekatan ini tidak mampu menangkap hubungan yang lebih kompleks pada level semantik yang lebih dalam, berdasarkan pada berbagai jenis atribut yang berhubungan dengan obyek terstruktur dari teks [Dai dan Mobasher, 2001]. Kesamaan antara representasi dari pengguna dan representasi dari item akan didasarkan pada prinsip kedekatan yang menyatakan bahwa jarak dari dua deskripsi item secara langsung berkaitan dengan kesamaan mereka [Knappe, 2005].
Menurut International Journal "Information Theories & Applications" Vol.15 / 2008 oleh Peretz Shoval, Veronica Maidel, Brancha Shapira dijelaskan bahwa representasi dari konten untuk profil item adalah : Profil item terdiri dari serangkaian konsep yang mewakili isinya. Misalnya,
(29)
jika item berkaitan dengan olahraga, dan secara khusus sepak bola, ini diwakili dengan konsep sepak bola saja. Sedangkan representasi dari konten untuk profil pengguna adalah : Profil pengguna terdiri dari daftar yang berbobot yang merepresentasikan keinginannya. Sebagai contoh, profil
pengguna berisi konsep „olahraga‟ saja, atau „olahraga‟ dan „sepakbola‟, atau „sepak bola‟ dan „basket‟, atau ketiganya. Ini berarti bahwa konsep
tertentu dalam profil item mungkin “matched” (yaitu dibandingkan) dengan
lebih dari satu konsep setara dalam profil pengguna. Misalnya jika dalam
profil item terdapat „sepak bola‟ dan profil pengguna terdapat „olahraga‟ dan „sepak bola‟ maka terdapat “perfect match” antara dua profil tersebut.
Dalam jurnal yang berjudul „Using Content-based Filtering for
Recommendation‟ oleh Robin van Meteren dan Marteen van Someren,
sistem rekomendasi yang sedang diperkenalkan saat itu adalah PRES, yang merupakan akronim dari Personal Recommender System. Sistem ini bertujuan untuk membantu pengguna menemukan informasi yang sesuai dengan kepentingan mereka pada website. Sistem rekomendasi dapat meningkatkan website untuk pengguna individu dengan menambahkan
hyperlink secara dinamis. Tujuannya adalah untuk memudahkan pengguna
dalam menemukan item yang sesuai, sehingga dapat meningkatkan interaksi antara sistem dan pengguna. PRES menggunakan content-based filtering dimana sistem membuat rekomendasi dengan membandingkan profil pengguna dengan isi setiap dokumen dalam koleksi. Isi dokumen dapat direpresentasikan dengan satu set term. Term diekstrak dari dokumen
(30)
dengan menjalankan sejumlah langkah parsing. Pertama, semua tag html dan stop word (kata yang sering muncul dan tidak dapat digunakan sebagai diskriminator) akan dihapus. Kata yang tersisa dikurangi menjadi induk mereka dengan menghapus awalan dan akhiran [Porter, 1980].
Terdapat beberapa cara untuk merepresentasikan agar dapat digunakan sebagai komponen pembelajaran. Sebuah metode yang paling sering digunakan adalah Vector Space Model. Pada metode ini, dokumen D direpresentasikan sebagai vektor m dimensional. Dimana setiap dimensi berkorespondensi terhadap term yang berbeda dan m adalah total jumlah
term yang dipakai dalam koleksi dokumen. Vektor dokumen adalah ditulis
sebagai, wi adalah bobot dari term tiyang menunjukkan tingkat kepentingan.
Jika pada dokumen D tidak mengandung term timaka bobot dari wiadalah
nol. Bobot term dapat ditentukan dengan menggunakan skema tf-idf. Pada pendekatan ini bobot dihitung berdasarkan pada seberapa sering sebuah
term muncul pada sebuah dokumen, dan seberapa sering ditemukan dalam
koleksi dokumen. Selanjutnya teori mengenai vector space model akan dibahas dalam sub bab berikutnya.
2.1.2 Vector Space Model
Vector space model adalah suatu model yang digunakan untuk mengukur kemiripan antara suatu dokumen dengan suatu query. Pada model ini, query dan dokumen dianggap sebagai vektor-vektor pada ruang n-dimensi, dimana n adalah jumlah dari seluruh term yang ada dalam
(31)
leksikon. Leksikon adalah daftar semua term yang ada dalam indeks [Salton, 1989].
Vector space model digunakan karena pada metode ini memungkinkan proses pemeringkatan dokumen. Metode ini menghitung nilai cosinus dari dua vektor. Dua vektor tersebut adalah bobot dari tiap dokumen dan bobot dari query. Bobot dokumen dan query digunakan untuk proses pemeringkatan dokumen, seperti yang terlihat pada Gambar 2.1 berikut.
Gambar 2.1 Vector Space Model
Pembobotan term dalam vektor dokumen dapat ditentukan dalam banyak cara. Pendekatan yang umum, dan digunakan dalam tugas akhir ini adalah metode TF-IDF. Pada metode ini, bobot term ditentukan oelh dua faktor: seberapa sering term j terdapat dalam dokumen i (term frequency tfi,j)
dan seberapa sering muncul dalam seluruh dokumen koleksi (document
frequency dfj). Tepatnya bobot term j pada dokumen i dirumuskan seperti
berikut :
(32)
N merupakan jumlah dokumen yang terdapat dalam koleksi dokumen. Idf merupakan singkatan dari inverse document frequency. Metode ini memberikan bobot tinggi pada term yang sering muncul pada sedikit dokumen pada dokumen set.
Setelah bobot term dihitung, diperlukan suatu fungsi pemeringkatan untuk mengukur kemiripan antara query dan dokumen vektor. Pengukuran kemiripan yang umum dikenal sebagai pengukuran kosinus. Pengukuran ini menentukan sudut antara vektor dokumen dan query ketika direpresentasikan dalam V-dimensional Euclidean, dimana v adalah ukuran vocabulary. Tepatnya kemiripan antara dokumen Di dan query Q didefinisikan sebagai berikut : [Lee, 1997]
Sim(Q,Di) =
2.1.3 Pengukuran Performansi
Menurut Lee (1997) cara konvensional untuk mengukur kualitas hasil yang dikembalikan oleh sebuah sistem dalam menanggapi permintaan adalah dengan menggunakan recall dan precision.
(2.2)
1 1 , 2 , 2 1 ) , , ( j j j i j Q jw
w
w
(33)
a. Recall
Recall adalah proporsi dari semua dokumen relevan yang
dapat ditemukan-kembali oleh sebuah proses pencarian di sistem. Pada kasus ini adalah lahan pertanian ditemukan dalam proses pencarian. Rumusnya adalah :
Recall = jumlah dokumen relevan yang berhasil ditemukan jumlah seluruh dokumen yang ditemukan
b. Precision
Precision adalah proporsi jumlah dokumen yang ditemukan
dan dianggap relevan untuk kebutuhan si pencari informasi.
Precision = jumlah dokumen relevan yang berhasil ditemukan jumlah seluruh dokumen yang relevan
c. Average Precision
Untuk mengevaluasi strategi retrieval terhadap semua query, dihitung rata-rata dari precision di tiap recall :
Keterangan :
P (r) = average precision pada level recall ke- r N (q) = jumlah query yang digunakan, dan
Pi (r) = precision pada level recall ke- r untuk query ke- i
(2.3)
(2.4)
(34)
2.2 Perangkat Bergerak (Mobile Device)
Menurut Gartner (2003), perangkat bergerak secara umum dapat diklasifikasikan dalam 2 kategori, yaitu: [1] Telepon selular dengan peningkatan kemampuan komputasi, termasuk menampilkan grafik dan kemampuan berinteraksi dengan grafik (seperti: smartphone dan
communicator); [2] Komputer portabel, yang dapat diintegrasikan dengan
kemampuan komunikasi audio-video (seperti: PDA, dan lain-lain).
Pada umumnya perangkat bergerak yang digunakan untuk aplikasi klien kartografi memiliki sistem operasi (operating system), yang memberi pengguna sebuah antarmuka dan kontrol sinkronisasi perangkat. Saat ini sistem operasi yang popular untuk smartphone adalah: iPhone OS, Android, Blackberry, dan Microsoft Windows Mobile.
2.3 Android
Android merupakan operating system untuk mobile yang sedang tumbuh di tengah OS mobile lainnya, seperti Windows Mobile, i-Phone OS, Symbian. Android dikembangkan untuk perangkat mobile berbasis Linux. 2.3.1 Arsitektur Android
Sistem operasi Android dibangun berdasarkan kernel Linux dan memiliki arsitektur seperti gambar berikut .
(35)
Gambar 2.2 Arsitektur Android
Seperti yang terlihat pada gambar tersebut, arsitektur Android terdiri dari Application yang merupakan lapisan aplikasi, aplikasi tersebut ditulis dengan bahasa pemrograman Java, Application Framework yang merupakan pengembangan aplikasi yang memiliki akses penuh ke Android, sama dengan aplikasi inti yang telah tersedia. Arsitektur aplikasi ini dirancang untuk menyederhanakan penggunaan kembali komponen. Lapisan arsitektur lainnya terdapat Libraries, merupakan satu set libraries dalam bahasa C/C++ yang digunakan oleh berbagai komponen pada sistem Android, kemudianAndroid Runtime yang merupakan satu set libraries inti yang menyediakan sebagian besar fungsi yang tersedia di libraries inti dari bahasa pemrograman Java. Setiap aplikasi akan berjalan sebagai proses sendiri pada Dalvik Virtual Machine (VM). Lapisan yang terakhir adalah
(36)
Linux Kernel, kernel bertindak sebagai lapisan antara hardware dan seluruh
software.
2.3.2 Komponen Dasar
Aplikasi Android ditulis dalam bahasa pemrograman Java. Java mengompilasi kode bersama dengan data resource dan file yang dibutuhkan oleh aplikasi disatukan ke dalam paket Android, file arsip ditandai dengan .apk. Komponen aplikasi pada Android terdiri 4 komponen utama, yaitu
Activities yang merupakan potongan kode executable yang menyajikan UI
secara visual dimulai oleh pengguna maupun sistem operasi dan berjalan selama diperlukan, Service yang berjalan di latar belakang untuk waktu yang tidak terbatas, Broadcast Receiver merupakan komponen yang menerima dan bereaksi untuk menyiarkan pengumuman, Content Provider diciptakan untuk berbagi data dengan Activities lain atau Service, sebuah content provider menggunakan antarmuka standar dalam bentuk URI untuk memenuhi permintaan data dari aplikasi lain.
2.3.3 Location Based Service dan Google Maps
Salah satu fitur yang mendefinisikan ponsel adalah mudah dibawa, sehingga tidak mengherankan bahwa beberapa fitur Android paling menarik adalah layanan yang memungkinkan untuk menemukan dan mengontekstualisasikan lokasi peta secara fisik.
Google Maps memungkinkan penggunanya untuk membuat peta berbasis Aktivitas sebagai elemen User Interface. Pengguna memiliki akses
(37)
penuh ke peta, yang memungkinkan untuk mengontrol pengaturan tampilan, mengubah tingkat zoom, dan memindahkan lokasi terpusat. Dengan menggunakan Overlay, pengguna dapat menambahkan keterangan peta dan menangani masukan pengguna untuk memberikan informasi dan fungsi dari
map-contextualized.
Location-based service adalah layanan yang memungkinkan pengguna menemukan lokasi perangkat saat itu. Termasuk teknologi seperti GPS dan teknologi Google yang berbasis lokasi. Pengguna dapat menentukan teknologi location-sensing secara eksplisit yaitu dengan nama, atau secara implisit yaitu dengan mendefinisikan seperangkat kriteria dalam hal akurasi, biaya, dan persyaratan lainnya.
Peta dan layanan berbasis lokasi menggunakan garis lintang dan
bujur untuk menentukan lokasi geografis, namun pengguna lebih cenderung untuk berpikir menggunakan alamat. Android menyediakan geocoder yang mendukung proses forward dan reverse geocoding. Geocoder
memungkinkan pengguna untuk mengkonversi bolak balik antara lintang atau bujur dan alamat dunia nyata. Pemetaan, geocoding, dan layanan berbasis lokasi digunakan bersama-sama pada perangkat canggih untuk menggabungkan mobilitas ponsel ke dalam aplikasi mobile pengguna.
Terdapat dua elemen LBS yaitu :
a. Location Manager : menyediakan pengait ke Location Based
(38)
perpindahan dan mengatur tanda kedekatan untuk mendeteksi gerakan masuk dan keluar dari area tertentu.
b. Location Provider : masing-masing mewakili teknologi
lokasi-temuan yang berbeda yang digunakan untuk menentukan lokasi perangkat.
(39)
20
BAB 3
ANALISA DAN PERANCANGAN
3.1 Analisis Sistem
3.1.1 Gambaran Umum Sistem
Analisis sistem merupakan suatu teknik penyelesaian masalah yang membagi sistem ke dalam bagian-bagian komponen kecil dengan tujuan agar bagian-bagian dari komponen tersebut dapat bekerja dengan baik. Analisis sistem bertujuan mendapatkan pemahaman secara keseluruhan tentang sistem yang akan dibuat berdasarkan masukan dari pihak-pihak yang berkepentingan dengan sistem tersebut.
Seperti yang telah disampaikan di latar belakang masalah, sistem yang akan dibuat ini digunakan untuk memberikan informasi mengenai lahan pertanian di kawasan Sleman, DIY. Sistem yang akan dibangun mempunyai sasaran pengguna yaitu masyarakat pada umumnya dan para pedagang pada khususnya yang ingin mengetahui informasi hasil pertanian berupa tanaman padi yang berada di kawasan Sleman tersebut. Informasi yang akan didapatkan oleh pengguna sistem adalah pemilik lahan, tanggal tanam, perkiraan masa panen, dan perkiraan hasil panen, letak lokasi, dan luas lahan.
Sistem mempunyai 2 level pengguna yaitu pedagang dan petani yang bertugas melakukan update data. Pengguna tersebut mempunyai hak
(40)
untuk mendapatkan rekomendasi mengenai informasi lahan pertanian yang ditampilkan oleh sistem. Dalam pembangunan sistem rekomendasi lahan pertanian ini, penulis mengumpulkan data pertanian Kecamatan Cangkringan dari Dinas Pertanian Kabupaten Sleman.
3.2 Perancangan Sistem
3.2.1 Arsitektur Sistem
Gambar 3.1 Arsitektur Sistem
Pada gambar tersebut terlihat bahwa mobile digunakan sebagai
dumb terminal. Sedangkan penyimpanan data dan proses rekomendasi,
seperti perhitungan menggunakan vector space model terjadi di web server. Berikut merupakan arsitektur aplikasi, atau proses yang terjadi pada web server :
(41)
kel_tani, varietas, tgl tanam, tgl panen, jumlah
data corpus (varietas, jumlah)
Vector Space Model
User (Pedagang tengkulak)
�, × , =1
2
�,
=1 ×
2 , =1
List Rekomendasi similarity process
Masukan profil pengguna (nama, varietas,
jumlah)
(42)
Petani
Masukan profil item (kel_tani,varietas,
jumlah, lokasi)
perubahan database
profil item yang telah berubah
Gambar 3.3 Arsitektur Aplikasi (petani)
Hasil rekomendasi pada penelitian ini didapatkan dengan menggunakan metode Vector Space Model, dengan mengukur kedekatan antara profil pengguna dan profil item menggunakan rumus cosine
(43)
similarity. Pada implementasi vector space model pada umumnya adalah
untuk menghitung kemiripan dokumen. Namun pada tugas akhir ini, metode vector space model tidak digunakan untuk menghitung kemiripan dokumen, tetapi menghitung kemiripan profil item, dalam hal ini petani dan profil pengguna, dalam hal ini pedagang.
Contoh perhitungan kemiripan profil menggunakan algoritma vector space model, yang telah disesuaikan dengan kasus pada penelitian tugas akhir ini dapat dilihat pada lampiran 6 halaman 102.
3.3 Desain Model Secara Umum
3.3.1 Diagram Use Case
Diagram use case merupakan diagram yang menggambarkan interaksi antara sistem dengan sistem eksternal dan pengguna. Dengan kata lain, secara grafis menggambarkan siapa yang akan menggunakan sistem dan dengan cara apa pengguna mengharapkan untuk berinteraksi dengan sistem. (Whitten, 2004).
(44)
Petani
Lihat rekomendasi Login Registrasi
Kelola data
Pedagang depends on
depends on
Gambar 3.4 Use Case Diagram untuk Petani dan Pedagang 3.3.2 Narasi Use Case
Setiap use case pada diagram use case gambar 3.4, akan dirinci dalam sebuah narasi use case yang akan mendeskripsikan secara tertulis aktivitas yang ada pada use case, adapun skenario use case dari gambar diagram use case tersebut terdapat pada lampiran 1 halaman 54.
3.3.3 Diagram Aktifitas
Merupakan diagram yang menjelaskan aktivitas antara user dengan sistem. Secara lebih rinci tahap activity diagram dapat dilihat pada lampiran 2 halaman 60.
(45)
3.3.4 Model Analisis
Merupakan suatu proses untuk menterjemahkan skenario use case menjadi kelas analisis. Dalam kelas analisis terdapat tiga jenis, yaitu
form/boundary, contoller, dan entity. Model analisis secara rinci dapat
dilihat pada lampiran 3 halaman 69. 3.3.5 Diagram Kelas
Diagram kelas dari sistem yang akan dibangun adalah seperti pada gambar 3.5. «interface» HalamanLoginPdg «interface» HalamanLoginPtn «interface» HalamanRegistrasiPtn «interface» HalamanDaftarLahan «interface» HalamanRegistrasiPdg «interface» HalamanUbahProfilPtn «interface» HalamanUbahDataLahan «interface» HalamanCariRekomendasi «interface» HalamanUtama «interface» HalamanPilihVarietas «interface» HalamanLokasiPedagang «interface» HalamanHasilRekomendasiPdg <<Entity>> data_pedagang «interface» HalamanProfilPedagang «interface» HalamanHasilRekomendasi «interface» HalamanHasilJarak <<Entity>> profil_pedagang <<Entity>> produk <<Entity>> petani <<Entity>> data_lahan <<Entity>> query_pedagang <<Entity>> petani_jarak <<Controller>> login <<Controller>> registrasi <<Controller>> hitungcosim <<Controller>> tampilprofil 1 * 1 * «interface» HalamanDetailLahan <<Controller>> datalahan 1 * 1 *
1* 1 *
1 * 1* 1 * 1 * 1 * 1 * 1 * 1* 1 * 1 * 1 * 1 * 1 * 1 *
Gambar 3.5 Diagram Kelas
Kelas PHP Kelas Android
(46)
3.3.6 Desain Basis Data
Perancangan diagram E-R menggambarkan relasi antar entitas (entity)
yang digunakan untuk sistem. Berikut ini adalah desain fisik dari basis data yang dirancang. produk id_produk N id_lahan 1 jenis petani nama_keltani username nama_produk data_lahan varietas tgltanam N luas tglpanen luas id_keltani password alamat cosim telepon longitude latitude permintaan longitude latitude data_pedagang id_pdg telepon_pdg username_pdg cosim alamat_pdg nama_pdg password_pdg N profil_pedagang
Gambar 3.6 ERD Sistem
3.3.7 Perancangan Basis Data
Dari tabel-tabel yang terbentuk selanjutnya penulis akan merancang struktur data dari masing-masing tabel :
1. Tabel data_lahan
(47)
Nama Field Tipe Ukuran
id_lahan Double -
id_kel_tani Double -
id_produk Double -
jenis Varchar 30
varietas Varchar 30
tgl_tanam Date -
tgl_panen Date -
latitude Double -
longitude Double -
luas Double -
hasil double -
username varchar 20
2. Tabel data_pedagang
Tabel 3.2 Struktur tabel data_pedagang
Nama Field Tipe Ukuran
id_pdg int 11
username_pdg varchar 20
password_dpg varchar 20
nama_pdg varchar 30
telepon_pdg varchar 12
alamat_pdg varchar 50
(48)
3. Tabel petani
Tabel 3.3 Struktur tabel petani
Nama Field Tipe Ukuran
id_kel_tani Double -
nama_kel_tani Varchar 30
cosim Double -
username Varchar 20
password Varchar 20
alamat Varchar 100
latitude Double -
longitude Double -
jarak Double -
telepon varchar 13
4. Tabel petani_jarak
Tabel 3.4 Struktur tabel petani_jarak
Nama Field Tipe Ukuran
id_kel_tani Double -
nama_kel_tani Varchar 30
cosim Double -
username Varchar 20
password Varchar 20
alamat Varchar 100
latitude Double -
longitude Double -
jarak Double -
(49)
5. Tabel produk
Tabel 3.5 Struktur tabel produk
Nama Field Tipe Ukuran
id_produk double -
nama_produk varchar 40
6. Tabel query_pdg
Tabel 3.6 Struktur tabel query_pdg
Nama Field Tipe Ukuran
id_query int 3
id_produk int 3
latitude Double -
longitude double -
7. Tabel profil_pedagang
Tabel 3.7 Struktur tabel profil_pedagang
Nama Field Tipe Ukuran
id_pedagang Int 11
id_produk Int 11
nama_produk Varchar 30
permintaan Double -
(50)
8. Tabel data_lahan_index
Tabel 3.8Struktur tabel data_lahan_index
Nama Field Tipe Ukuran
id_lahan Double -
id_kel_tani Double -
id_produk Double -
jenis Varchar 30
varietas Varchar 30
tgl_tanam Date -
tgl_panen Date -
latitude Double -
longitude Double -
luas Double -
hasil double -
username varchar 20
3.3.8 Desain Antar Muka
Pada desain antarmuka sistem ini akan ditampilkan desain dari tiap halaman yang akan dibentuk. Desain antarmuka akan dijelaskan lebih lengkap di lampiran 4 halaman 81.
(51)
32
4
BAB 4
IMPLEMENTASI DAN ANALISIS SISTEM
4.1 Tahap Implementasi
Penelitian ini telah diimplementasikan menjadi sebuah aplikasi yang siap digunakan, yang dibangun dengan tahapan-tahapan berikut : 4.1.1 Spesifikasi Perangkat Keras dan Perangkat Lunak
Perangkat keras yang dipakai untuk membangun sistem adalah sebagai berikut:
Processor : AMD Athlon Neo Processor MV-40 1.60 GHz
Memori : 2GB
Hard Disk : 250 GB
Perangkat lunak yang dipakai untuk membangun sistem adalah sebagai berikut:
Editor Program : IDE Eclipse 3.6.2 Helios
DBMS : MySql 5.0
4.1.2 Implementasi Diagram Kelas
Program dibangun dengan berbasis orientasi obyek, sehingga dalam implementasinya dibutuhkan kelas-kelas untuk mendefinisikan obyek-obyek yang akan dipakai. Adapun kelas-kelas yang telah terbentuk akan dijelaskan di lampiran 7 halaman 110.
(52)
4.2 Pengujian
Tahap akhir dari penelitian ini adalah pengujian sistem yang telah dibangun. Sistem rekomendasi hasil pertanian yang dibangun pada sistem operasi android ini telah berhasil diimplementasikan ke dalam sebuah program, yang dapat diakses oleh pengguna secara langsung. Analisis sistem akan dibagi ke dalam beberapa bagian, yaitu pengukuran kinerja sistem, kelebihan, serta kekurangan sistem yang telah dibangun.
4.2.1 Pengujian Kinerja Sistem
4.2.1.1 Pengujian Presisi Sistem untuk Rekomendasi Petani
Pengukuran presisi dilakukan dengan membandingkan kelompok tani yang relevan bagi pedagang, dengan kelompok tani hasil rekomendasi sistem. Definisi relevan bagi pedagang adalah kelompok tani yang menjual hasil panen yang sesuai atau cocok dengan profil pedagang dan besarnya hasil panen mendekati jumlah permintaan pedagang.
Berikut ini adalah sampel data yang digunakan sebagai item query dan item profil. Sampel data produk yang akan digunakan sebagai item
query adalah :
Tabel 4.1 Nama varietas tanaman padi No Varietas (Profil Query)
1 Aek Sibundong 2 Angke
3 Banyuasin 4 Batang Gadis 5 Batang Lembang
(53)
6 Batang Piaman 7 Batanghari 8 Batutegi 9 Bernas Prima 10 Bondojudo 11 Celebes 12 Ciapus 13 Ciasem 14 Cibodas 15 Cibogo 16 Cigeulis 17 Ciherang
18 Cilamaya Muncul 19 Ciliwung
20 Cimelati 21 Cirata 22 Cisadane 23 Cisantana 24 Cisokan 25 Conde 26 Danau Gaung 27 Fatmawati 28 Gilingsing 29 Gilirang 30 Hipa 3 31 Hipa 4 32 Hipa 8 Pioneer 33 Impari 34 Inpara 1 35 Inpara 2 36 Inpara 3 37 INPARI 1 38 INPARI 2 39 INPARI 3 40 INPARI 4
41 Inpari 8 42 Inpari 9 Elo 43 Intani 1 44 Intani 2 45 IR 36 46 IR 42 47 IR 64 48 IR 66 49 Kalimas 50 Ketonggo 51 Konawe 52 Lambur 53 Limboto 54 Logawa 55 Luk Ulo 56 Lusi 57 Margasari 58 Martapura 59 Mekongga 60 Mendawak 61 Mendawan 62 Hipa 5 Ceva 63 Pepe 64 Rokan 65 Sarinah 66 Setail 67 Siak raya 68 Silugonggo 69 Singkil 70 Sintanur 71 Situ bagendit 72 Situ Patenggang 73 Sunggal 74 Towuti 75 Wera
(54)
Di bawah ini merupakan sampel data pedagang yang digunakan sebagai item profil. Pengujian dilakukan terhadap 10 profil pedagang. Hasil yang dikeluarkan oleh sistem adalah sebanyak 15 rekomendasi. Dari kelimabelas rekomendasi tersebut pedagang memilih beberapa diantaranya yang dianggap relevan dengan profilnya Maka dari itu pedagang hanya memilih kelompok tani yang sesuai atau cocok dengan profilnya dari keseluruhan hasil rekomendasi yang diberikan.
Tabel 4.2 Sampel profil 1 :
Varietas yang dipilih : Cibodas (450), Ciherang (300), Cisadane (600)
Kelompok Tani : Urutan dalam sistem :
Tani Maju 1
Gadu Subur 2
Ngudi Rejeki 3
Pawar Datih 4
Ngudi Makmur 5
Tunas Fajar 6
Tani Makmur 8
Tani Lestari 10
Makmur Sejahtera 11
Sumber Rejeki 12
(55)
Tabel 4.3 Sampel profil 2 :
Varietas yang dipilih : Bernas Prima (375), Cimelati (550)
Kelompok Tani : Urutan dalam sistem :
Mandiri 1
Handayani 2
Tani Pertiwi 3
Tani Maju 4
Makmur Sejahtera 5
Tani Unggul 6
Margo Mulyo 7
Harapan Jaya 8
Mekarsari 9
Lestari Makmur 10
Sinar Harapan 11
Muda Berkarya 12
Tani Lestari 13
Makarti 14
Tabel 4.4 Sampel profil 3:
Varietas yang dipilih : Gilirang (380), Impari (800), Inpari 9 Elo (670), Kalimas (250), IR 36 (410), Konawe (125)
Kelompok Tani : Urutan dalam sistem :
Kenanga 1
Handayani 2
Bina Makmur 4
Sido Agung 5
Ngudi Makmur 6
Subur Makmur 8
(56)
Gemilang 10
Sido Makmur 12
Tani Unggul 13
Sembodo 14
Tabel 4.5 Sampel profil 4 :
Varietas yang dipilih : Angke (90), Batanghari (120), Ciliwung (700)
Kelompok Tani : Urutan dalam sistem :
Pawar Datih 1
Ngudi Makmur 2
Sido Mulyo 3
Gemah Ripah 4
Sido Makmur 5
Tani Makmur 6
Harapan Jaya 7
Tani Pertiwi Margo Mulyo 8
Subur 9
Lestari 10
Lestari Makmur 11
Margo Mulyo 12
Tabel 4.6 Sampel profil 5 :
Varietas yang dipilih : Banyuasin (540), Batutegi (670), Cibogo (450), Conde (250)
Kelompok Tani : Urutan dalam sistem :
Gemah Ripah 1
Sinar Harapan 2
(57)
Suko Lestari 4
Sido Martani 6
Muda Berkarya 7
Subur Makmur 8
Sumber Tani 9
Subur 10
Makarti 11
Mekarsari 14
Tabel 4.7 Sampel profil 6 :
Varietas yang dipilih : Cisadane (230), Danau Gaung (350), Cigeulis (180), Fatmawati (990), Impari (875)
Kelompok Tani : Urutan dalam sistem :
Karya Maju 1
Tunas Fajar 2
Kenanga 3
Manunggal 4
Tani Unggul 5
Gadu Subur 6
Tani Lestari 7
Ngudi Makmur 8
Subur Makmur 9
Margo Mulyo 11
(58)
Tabel 4.8 Sampel profil 7 :
Varietas yang dipilih : Aek Sibundong (750), Batanghari (900), Celebes (800), Cisokan (550), Danau Gaung (300), Sintanur (475)
Kelompok Tani : Urutan dalam sistem :
Tani Lestari 1
Raharjo 2
Ngudi Makmur 3
Muda Jaya 4
Budi Luhur 5
Lestari Makmur 6
Tani Makmur 7
Muda Berkarya 8
Sri Rejeki 9
Tani Pertiwi 10
Tabel 4.9 Sampel profil 8 :
Varietas yang dipilih : Ciapus (100), Ciasem (70), Cigeulis (150), Cilamaya Muncul (130), Cirata (173), Luk Ulo (225), Margasari (200)
Kelompok Tani : Urutan dalam sistem :
Suko Lestari 1
Subur Makmur 2
Sinar Harapan 3
Sido Martani 4
Subur 5
Muda Berkarya 6
Sido Agung 7
Sido Mulyo 8
Delima 9
(59)
Karya Tani 12
Tabel 4.10 Sampel profil 9 :
Varietas yang dipilih : Hipa 4 (50), Impari (94), Inpara 2 (25), INPARI 3 (65), Inpari 8 (85), IR 36 (120), IR 64 (95), Konawe (100)
Kelompok Tani : Urutan dalam sistem :
Sido Makmur 1
Gemilang 2
Ngudi Makmur 3
Sido Mulyo 4
Tani Unggul 5
Sri Rejeki 6
Lestari Makmur 7
Sembodo 8
Tri M Sedyo 9
Handayani 10
Muda Berkarya 11
Makmur Sejahtera 13
Subur 14
Margo Mulyo 15
Tabel 4.11 Sampel profil 10 :
Varietas yang dipilih : Batutegi (160), Inpara 1 (390), INPARI 2 (570), Inpari 9 Elo (768), Pepe (890), Setail (473), Rokan (1200), Sintanur (1080), Wera (1050)
Kelompok Tani : Urutan dalam sistem :
Lestari 1
(60)
Sido Makmur 3
Sembodo 4
Bina Karya 5
Bina Makmur 7
Delima 8
Budi Daya 9
Budi Luhur 11
Muda Berkarya 12
Makarti 13
Sri Rejeki 14
(61)
Tabel 4.12 Tabel relevansi hasil pencarian rekomendasi petani :
P 1 P2 P3 P4 P5 P6 P7 P8 P9 P10 P11 P12 P13 P14 P15
Profil 1 R R R R R R N R N R R R N R N
Profil 2 R R R R R R R R R R R R R R N
Profil 3 R R N R R R N R R R N R R R N
Profil 4 R R R R R R R R R R R R N N N
Profil 5 R R R R N R R R R R R N N R N
Profil 6 R R R R R R R R R N R N R N N
Profil 7 R R R R R R R R R R N N N N N
Profil 8 R R R R R R R R R N R R N N N
Profil 9 R R R R R R R R R R R N R R R
Profil 10 R R R R R N R R R N R R R R R
Keterangan :
(62)
Profil : Profil Pedagang (Terdapat 10 profil pedagang yang diujikan)
R : Hasil yang relevan N : Hasil yang tidak relevan Contoh :
Untuk sampel profil 1, didapatkan hasil: Tani Maju (1), Gadu Subur (2), Ngudi Rejeki (3), Pawar Datih (4), Ngudi Makmur (5), Tunas Fajar (6), Tani Makmur (8), Tani Lestari (10), Makmur Sejahtera (11), Sumber Rejeki (12), Sembodo (14). Maka untuk query 1 hasil yang relevan adalah index 1, 2, 3, 4, 5, 6, 8, 10, 11, 12, 14.
Tabel 4.13 Tabel hasil perhitungan precision rekomendasi kelompok tani :
No Relevan Not
relevan
Hasil
rekomendasi Precision
Profil 1 11 4 15 0.73
Profil 2 14 1 15 0.93
Profil 3 11 4 15 0.73
Profil 4 12 3 15 0.8
Profil 5 11 4 15 0.73
Profil 6 11 4 15 0.73
Profil 7 10 5 15 0.67
(63)
Profil 10 13 2 15 0.86
Jumlah 7.84
Rata-rata 0.784
% 78.40 %
Keterangan :
Nilai precision didapatkan dengan rumus :
|relevant ∩ retrieved| / |retrieved|. Dapat dilihat hasil presisi untuk profil pedagang 1 sampai 10. Kemudian nilai keseluruhan presisi dirata-rata dan didapatkan hasil rata-rata presisi yaitu sebesar 78.40 %.
(64)
4.2.1.2 Pengujian Presisi Sistem untuk Rekomendasi Pedagang Sampel profil kelompok tani 1 :
Varietas : Cibodas (1946), Inpari 4 (1816.5), Cimelati (1758.4), Situ patenggang (3968), Inpari 1 (1829.1), IR 66 (2181.9), Bernas prima (1897.7), Cilamaya muncul (1937.6), Ciherang (2615.2), Cisadane (1763.3), IR 36 (2500.4), Fatmawati (2275.7), Cisantana (2433.2)
Pedagang : Urutan dalam sistem :
Laurin 1
David 2
Pandu 3
Bonita 4
Christina 5
Rory 6
Sampel profil kelompok tani 2 :
Varietas : Situ bagendit (2186.8), IR 64 (1883), Cisadane (1841), Mendawan (2769.2), Intani 1 (2415.7), Intani 2 (1585.1), Bernas Prima (2408), IR 42 (2191), Rokan (2681.7), Fatmawati (1762.6), Inpari 1 (2149), Konawe (1998.5), Cibodas (2659.3), Inpari 2 (1961.4), Cisantana (2656.5)
Pedagang : Urutan dalam sistem :
David 1
Bonita 2
Laurin 3
Christina 4
Pandu 6
(65)
Sampel profil kelompok tani 3 :
Varietas : Impari (2400.3), Rokan (2251.2), Cisadane 2373.7, INPARI 3 (2265.2), Siak raya (2508.8), Ciapus (1971.2), Ciherang (2591.4), Hipa 8 Pioneer (2243.5), Cisokan (2482.9), Ciliwung (1810.9), IR 66 (1817.9), Cibodas (2308.6), IR 36 (1985.2), Celebes (2646.7), Kalimas (1934.8), INPARI 1 (2607.5), INPARI 2 (1814.4), IR 64( 2662.8), Fatmawati (2276.4)
Pedagang : Urutan dalam sistem :
Putri 1
Pandu 2
Rory 3
Laurin 4
David 5
Christina 6
Bonita 7
Sampel profil kelompok tani 4 :
Varietas : Ciherang (1984.5), Fatmawati (1898.4), Cimelati (2690.1), Situ Patenggang (2075.5), INPARI 1 (1869.7), Margasari (2644.6), IR 36 (2502.5), Cisokan (2401.7), Hipa 8 Pioneer (2473.8), IR 42 (2702.7), Impari (2702), IR 64 (2321.2), Gilingsing (2060.1), INPARI 2 (2429.7), Cibodas (2765)
Pedagang : Urutan dalam sistem :
Putri 1
Laurin 2
Christina 3
Pandu 4
David 5
(66)
Sampel profil kelompok tani 5 :
Varietas : Cibodas (2076.2), Gilingsing (1824.2), Ciapus (2065.7), Ciherang (2510.9), Fatmawati (2275), INPARI 2 (2310), IR 64 (2170.7), Cisadane (2392.6), Situ bagendit (2039.1), Cisantana (1874.6), Batang Gadis (1848), Rokan (1908.2), IR 36 (2270.8)
Pedagang : Urutan dalam sistem :
David 1
Pandu 2
Rory 3
Christina 4
Laurin 5
Bonita 7
Tabel 4.14 Tabel relevansi hasil pencarian rekomendasi pedagang :
Pd 1 Pd 2 Pd 3 Pd 4 Pd 5 Pd 6 Pd 7
Profil 1 R R R R R R N
Profil 2 R R R R N R R
Profil 3 R R R R R R R
Profil 4 R R R R R R N
Profil 5 R R R R R N R
Keterangan :
Pd : Pedagang (Terdapat 7 sampel profil pedagang)
(67)
Tabel 4.15 Tabel hasil perhitungan precision rekomendasi pedagang :
No Relevan Not
relevan
Hasil
rekomendasi Precision Profil 1
6 1 7 0.85
Profil 2
6 1 7 0.85
Profil 3
7 0 7 1.00
Profil 4
6 1 7 0.85
Profil 5
6 1 7 0.85
Jumlah 4.40
Rata-rata 0.88
% 88.00 %
Keterangan :
Nilai precision didapatkan dengan rumus :
|relevant ∩ retrieved| / |retrieved|. Dapat dilihat hasil presisi untuk profil kelompok tani 1 sampai 5. Kemudian nilai keseluruhan presisi dirata-rata dan didapatkan hasil rata-rata presisi yaitu sebesar 88.00 %.
(68)
49
5
BAB 5
PENUTUP
5.1 Kesimpulan
Pembangunan sistem ini menggunakan algoritma vector space model. Terdapat 1000 lahan yang digunakan sebagai data sampeldalam sistem. Dari proses implementasi kesimpulan yang didapat adalah :
1. Pedagang mendapatkan informasi mengenai petani mana saja yang memiliki profil yang sama dengannya. Petani mendapatkan informasi mengenai pedagang mana saja yang memiliki profil yang sama dengannya.
2. Pengujian presisi dilakukan dengan membandingkan kelompok tani yang relevan bagi pedagang, yaitu kelompok tani yang dipilih oleh pedagang dengan kelompok tani hasil rekomendasi sistem.
3. Berdasarkan pengujian terhadap 10 profil pedagang dengan 15 rekomendasi kelompok tani teratas, didapatkan hasil presisi rata-rata sebesar 78.40 %.
4. Berdasarkan hasil evaluasi sistem ini belum dapat dikatakan baik karena pengujian yang dilakukan hanya menggunakan precision saja.
(69)
5.2 Saran
Dari sistem yang dibuat masih diperlukan beberapa saran antara lain: 1) Bagi pengguna
Aplikasi MyAgresa melakukan perhitungan komputasi pada web server. Apabila terdapat banyak data lahan maka aplikasi ini akan berjalan
lambat. Agar hasil komputasi dapat berjalan dengan baik penulis
menyarankan pengguna menggunakan handphone yang memiliki RAM
besar dan prosesor yang cepat.
2) Bagi peneliti selanjutnya
Sistem ini masih banyak kekurangan. Oleh karena itu, sebaiknya bagi peneliti selanjutnya dapat memperbaiki kualitas dan kinerja sistem, diantaranya :
a. Aplikasi tidak hanya memberikan rekomendasi tanaman padi, tetapi juga tanaman pangan lainnya.
b. Aplikasi dapat memberikan rekomendasi dengan memperhitungkan tanggal panennya.
c. Aplikasi tidak hanya memberikan informasi mengenai lahan pertanian yang berlokasi di DIY saja, tetapi mencakup lahan di luar DIY.
d. Aplikasi dapat berjalan di berbagai operating system.
e. Sistem akan lebih baik apabila pengujian sistem dilakukan tidak hanya menggunakan precision tetapi juga menggunakan recall.
(70)
51
DAFTAR PUSTAKA
Billsus, D. Pazzani, M. J. “A Personal News Agent that Talks, Learns and
Explains”, In Autonomous Agents 98, Minneapolis MN USA.
Burke, R. (2007). Hybrid web recommender systems. In The Adaptive Web, pages 377–408. Springer Berlin / Heidelberg.
Dai, H., & Mobasher, B. (2001). Using ontologies to discover domain-level web
usage profiles. Proc. of the Second Semantic Web Mining Workshop at
PKDD 2001, Helsinki, Finland.
Herlocker, J.L., Konstan, J.A., Terveen, L.G. & Riedl, J.T. Evaluating
collaborative filtering recommender systems. ACM Transactions on
Information Systems, 22(1), 5-53.
Hermawan, Stephanus. 2011. Mudah Membuat Aplikasi Android. Yogyakarta : Andi Offset
Knappe, R. (2005). Measures of Semantic Similarity and Relatedness for Use in
Ontology-based Information Retrieval. Ph.D. Thesis, Roskilde University,
Department of Communication, Journalism and Computer Science. Lee, Dik L. 1997. Document Rangking and the Vector-Space Model. Hongkong. Meier, Reto. 2009. Professional Android Application Development. Indianapolis,
(71)
Meteren, Robin dan Someren, Maarten. Using Content-Based Filtering for
Recommendation. Amsterdam.
Resnick, Paul dan Varian, Hal R. (1997). Recommender systems. Communications of the ACM, Vol. 40, No. 3, 56-58.
Ricci, Francesco. 2010. Mobile Recommender Systems. Italy.
Shoval, Peretz., Meidel, Veronica., dan Shapira, Brancha. (2008). An
Ontology-Content-Based Filtering Method. International Journal “Information
(72)
(73)
LAMPIRAN 1
NARASI USE CASE
1.1. USECASE LOGIN ...55
1.2. USECASE KELOLA DATA ...56
1.3. USECASE REGISTRASI ...57
(74)
1.1. Usecase Login
Nama Use Case : Login
Aktor : Petani
Deskripsi Use Case : Use case ini menggambarkan proses petani melakukan login sebelum mengakses aplikasi. Petani harus memasukkan username dan password yang sesuai untuk dapat masuk ke sistem.
Prakondisi : Petani telah memiliki akun
Trigger : Use case ini digunakan apabila petani ingin masuk atau mengakses sistem
Langkah Umum : Kegiatan Aktor Respon Sistem
1. Pada Halaman Utama
akan memilih
tombolbergambar orang, yang mengibaratkan sebagai pemilik lahan
2. Menampilkan
Halaman Login petani, yang berisi username dan password untuk masuk sebagai petani
3. Memasukkan username dan password 4. Menekan tombol
„Masuk‟
5. Sistem mengecek validasi di database 6. Sistem menampilkan pesan login sukses
7. Sistem menampilkan Halaman Daftar Lahan yang berisi data lahan pertanian yang dikelola oleh petani
Langkah Alternatif : Alt- 6: Jika username dan password tidak sesuai maka sistem akan memberi peringatan, dan kembali ke
(75)
1.2. Usecase Kelola Data
Nama Use Case : Kelola data (Ubah Data Petani)
Aktor : Petani
Deskripsi Use Case : Use case ini menggambarkan proses petani melakukan perubahan data petani
Prakondisi : Petani telah berhasil login dan masuk ke sistem Trigger : Usecase ini hanya dapat dilakukan oleh petani
Langkah Umum : Kegiatan Aktor Respon Sistem
1. Pada Halaman Daftar Lahan, petani memilih menu „Kelola Data‟ kemudian submenu
„Ubah Profil‟, untuk mengubah data petani seperti username, password, nama
2. Sistem menampilkan Halaman Ubah Profil yang berisi data diri pengguna yang siap untuk diubah
3. Mengubah data yang ingin diubah pada kolom yang tersedia, lalu
menekan tombol
„Simpan‟
4. Lakukan query halaman login.
Kesimpulan : Use case berhenti apabila petani telah berhasil masuk ke halaman yang berisi data lahan dan hasil pertanian yang dikelola petani
(76)
update pada database 5. Perubahan data pada database
6. Tampil pesan sukses Langkah Alternatif : Alt- 1: Melakukan klik panjang pada salah satu kolom
list lahan. Memilih menu „Lihat Detail Lahan‟ untuk
melihat informasi detail mengenai lahan yang
dikelola. Memilih menu „Ubah Lahan‟ untuk
mengubah data seperti tanggal tanam dan panen lahan yang dikelola.
Alt-1: Memilih menu „Lihat Rekomendasi‟ untuk melihat rekomendasipedagang yang sesuai dengan profil petani.
Kesimpulan : Use case ini berhenti apabila data lahan telah berhasil diubah, ditambahkan ke dalam database
1.3. Usecase Registrasi
Nama Use Case : Registrasi
Aktor : Pedagang
Deskripsi Use Case : Use case ini menggambarkan proses registrasi user untuk dapat mengakses sistem
Prakondisi : User belum mempunyai akun untuk dapat mengakses sistem
Trigger : -
Langkah Umum : Kegiatan Aktor Respon Sistem
1. Pada Halaman Utama user akan menekan tombol yang bergambar silang (mengibaratkan pengguna belum punya akun) untuk pertanyaan
(77)
apakah sudah punya id
2. Menampilkan
halaman registrasi pengguna yang berisi form pengisian untuk mendaftar sebagai pengguna aplikasi ini 3. Mengisi data:
username, password, nama, alamat, no. telepon 4. Menekan tombol
kirim
5. Menyimpan data yang telah diisi user tersebut ke dalam database
6. Menampilkan pesan registrasi berhasil
Langkah Alternatif : Alt- 6: Proses registrasi tidak berhasil, maka sistem akan menampilkan informasi gagal
Kesimpulan : Use case ini berhenti apabila user berhasil melakukan registrasi
1.4. Usecase Lihat Rekomendasi
Nama Use Case : Lihat Rekomendasi
Aktor : Pedagang
Deskripsi Use Case : Use case ini menggambarkan proses pencarian
rekomendasi berdasarkan profil yang tersimpan dalam databaseoleh pengguna pada sistem di saat user sudah mempunyai id
Prakondisi : User telah terdaftar sebagai pengguna sistem, dan telah melakukan proses login.
(78)
Langkah Umum : Kegiatan Aktor Respon Sistem
1. Menampilkan halaman profil pengguna (pedagang) yang berisi varietas padi. 2. Menekan tombol
menu pada handphone, dan memilih menu
„Lihat Rekomendasi‟
3. Sistem melalui hitungcosimpedagang.php menghitung nilai cosinus
similarity setiap kelompok
tani
4. Menampilkan 15 kelompok tani dengan nilai cosim terbesar
1. Menekan salah satu kolom kelompok tani
2. Mengambil data dari database dan menampilkan
halaman detail
rekomendasi.
Langkah Alternatif : Alt- 2 : Memilih menu „Tambah Profil‟. Pada menu itu pengguna dapat menambahkan varietas untuk dijadikan sebagai profilnya.
Alt- 2 : Menekan agak lama pada salah satu kolom
profil, terdapat pilihan, „hapus‟ atau „ubah‟. Pilih hapus
untuk menghapus varietas sebagai profil, dan ubah untuk mengubah jumlah permintaan terhadap varietas tersebut.
Kesimpulan : Use case ini berhenti apabila user mendapatkan hasil rekomendasi
(79)
LAMPIRAN 2
DIAGRAM AKTIFITAS
2.1. DIAGRAM AKTIFITAS LOGIN... 61 2.2. DIAGRAM AKTIFITASUBAH DATA PETANI... 62 2.3. DIAGRAM AKTIFITASTAMBAH PROFIL PEDAGANG... 63 2.4. DIAGRAM AKTIFITAS UBAH PROFIL PEDAGANG... 64 2.5. DIAGRAM AKTIFITASHAPUS PROFIL PEDAGANG... 65 2.6. DIAGRAM AKTIFITAS PERBARUI LOKASI PEDAGANG... 66 2.7. DIAGRAM AKTIFITAS REGISTRASI... 67 2.8. DIAGRAM AKTIFITAS LIHAT REKOMENDASI... 68
(80)
2.1. Diagram Aktifitas Login
1. Pilih tombol bergambar orang, yang mengibaratkan sebagai pemilik lahan
2. Tampil Halaman Login petani, yang berisi username dan password untuk
masuk sebagai petani 3. Isi username dan password
4. Tekan tombol MASUK
5. Cek validasi di database
7. Tampil Halaman Daftar Lahan yang berisi data lahan pertanian yang dikelola
oleh petani 6. Tampil pesan login sukses
(81)
2.2. Diagram Aktifitas Ubah Data Petani
1. Pilih menu “Ubah Profil” pada halaman daftar lahan
2. Tampil halaman ubah profil yang berisi data yang siap untuk diubah
3. Ubah data pada kolom yang tersedia, tekan tombol simpan
4. Lakukan query update pada database
5. Proses perubahan data pada database
6. Tampil pesan sukses ubah
(82)
2.3. Diagram Aktifitas Tambah Profil Pedagang
1. Pilih menu “Tambah Profil” pada halaman profile pedagang
2. Tampil kotak dialog tambah profil yang berisi kolom varietas dan
permintaan
3. Isi kolom yang tersedia, varietas dengan masukan AutoCompleteTextView, dan
permintaan, tekan tombol OK
4. Lakukan query insert pada database
5. Proses penambahan data pada database
6. Tampil pesan sukses
(83)
2.4. Diagram Aktifitas Ubah Profil Pedagang
1. Tekan lama pada salah satu profil,
pilih menu “Ubah Data” pada halaman
profile pedagang
2. Tampil kotak dialog ubah data yang berisi kolom varietas dan permintaan
3. Isi kolom permintaan, tekan tombol OK
4. Lakukan query update pada database
5. Proses perubahan data pada database
6. Tampil pesan sukses
(84)
2.5. Diagram Aktifitas Hapus Profil Pedagang
1. Tekan lama pada salah satu profil,
pilih menu “Hapus Data” pada
halaman profile pedagang
2. Tampil kotak dialog hapus data yang berisi pemberitahuan varietas dan permintaan yang akan dihapus
3. Tekan tombol OK
4. Lakukan query delete pada database
5. Proses penghapusan data pada database
6. Tampil pesan sukses
(85)
2.6. Diagram Aktifitas Perbarui Lokasi Pedagang
1. Pilih menu “Perbarui Lokasi” pada halaman profile pedagang
2. Tampil halaman lokasi pedagang yang berisi posisi sementara saat
aplikasi diakses
3. Pilih menu “Simpan Posisi”
4. Lakukan query update pada database
5. Proses perubahan longitude dan latitude pada database
6. Tampil pesan sukses
(86)
2.7. Diagram Aktifitas Registrasi
1. Tekan tombol bergambar silang untuk pertanyaan apakah sudah punya id
2. Tampil halaman registrasi pengguna yang berisi form pengisian untuk mendaftar sebagai pengguna aplikasi
3. Isi data: ucername, password, nama, alamat, telepon
5. Menyimpan data yang telah diisi user tersebut ke dalam database
6. Tampilkan pesan registrasi berhasil
4. Tekan tombol „kirim‟
(87)
2.8. Diagram Aktifitas Lihat Rekomendasi
1. Tampil halaman profil pengguna (pedagang)
2. Tekan menu, pilih menu „Lihat Rekomendasi‟
3. Hitung nilai cosim tiap petani dengan hitungcosimpedagang.php
4. Tampil 15 petani dengan nilai cosim terbesar
5. Tekan salah satu kolom petani
6. Ambil data dari database, dan tampilkan halaman detail rekomendasi
(88)
LAMPIRAN 3
MODEL ANALISIS
3.1 MODEL ANALISIS LOGIN ... 70
3.2 MODEL ANALISIS KELOLA DATA ... 71
3.3 MODEL ANALISIS REGISTRASI ... 78
(1)
}
$data = "{varietas:".json_encode($rows)."}"; echo $data;
?>
7. check.php
Tujuan : Mengambil data semua varietas tanaman dari database untuk ditampilkan dalam listview.
Algoritma :
1. Baca id_pedagang dari pengguna yang login
2. Ambil isi dari variabel hasil, simpan dalam variabel data. 3. Pecah isi isi dari variabel data berdasar tanda koma. 4. Lakukan query hapus isi tabel query_pdg
5. Lakukan query simpan data id_pedagang, id_produk, id_query pada tabel query_pdg
Listing :
<?php
$datax=array(); $data = $_GET['hasil']; $id_ped = $_GET['ped']; $datax = explode(',',$data); $jumlah = count($datax);
$link = mysql_connect('localhost', 'root', '') or die('Cannot connect to the DB'.mysql_error());
mysql_select_db('myagresa', $link) or die('Cannot select the DB'); $q1 = "delete from query_pdg ";
$result1 = mysql_query($q1, $link) or die('Error query: '.$q1); $o = 1;
for ($i=0;$i<$jumlah;$i++) {
$query = "insert into query_pdg (id_pedagang, id_produk, id_query) values ('".$id_ped."', '".$datax[$i]."', '".$i."')";
$result = mysql_query($query, $link) or die('Error query: '.$query); }
?>
8. simpanposisipdg.php
Tujuan : Menyimpan data posisi berupa longitude dan latitude pengguna pada saat mengakses sistem.
(2)
120
Algoritma :
1. Baca id_pedagang dari pengguna yang login 2. Ambil nilai dari variabel lat dan lon
3. Lakukan query updatepada tabel query_pdg
<?php
$lat = $_GET['lat']; $lon = $_GET['lon']; $kode = $_GET['kod']; echo $jumlah; echo $id_ped;
$link = mysql_connect('localhost', 'root', '') or die('Cannot connect to the DB'.mysql_error());
mysql_select_db('myagresa', $link) or die('Cannot select the DB'); $query = "UPDATE query_pdg SET latitude='$lat', longitude='$lon' where id_pedagang='$kode'";
$result = mysql_query($query, $link) or die('Error query: '.$query); ?>
9. simpanjarak.php
Tujuan : Menghitung jarak antara posisi saat ini pengguna dengan posisi semua kelompok tani.
Algoritma :
1. Lakukan query $latitude1 untuk mengambil nilai latitude pedagang 2. Lakukan query $longitude1 untuk mengambil nilai longitude pedagang
3. Lakukan query $latitude2 mengambil nilai latitude petani 4. Lakukan query $longitude2 mengambil nilai longitude petani Listing :
<?php
$link = mysql_connect('localhost', 'root', '') or die('Cannot connect to the DB'.mysql_error());
mysql_select_db('myagresa', $link) or die('Cannot select the DB');
$latitude1 = mysql_query('SELECT latitude FROM query_pdg where id_query=0'); $longitude1 = mysql_query('SELECT longitude FROM query_pdg where id_query=0'); $idkel = mysql_query('SELECT id_kel_tani FROM petani');
$latitude2 = mysql_query('SELECT latitude FROM petani'); $longitude2 = mysql_query('SELECT longitude FROM petani'); while($result=mysql_fetch_array($latitude2)){
$lat[] = $result["latitude"]; //latitude_petani } while($res=mysql_fetch_array($longitude2)){
(3)
$long[] = $res["longitude"]; //longitude_petani} while($r=mysql_fetch_array($latitude1)){
$lati[] = $r["latitude"]; //latitude_pdg } while($r=mysql_fetch_array($longitude1)){
$longi[] = $r["longitude"]; //latitude_pdg } for ($i=0;$i<count($lat);$i++) {
$theta = $long[$i] - $longi[0];
$distance = (sin(deg2rad($lati[0])) * sin(deg2rad($lat[$i]))) + (cos(deg2rad($lati[0])) * cos(deg2rad($lat[$i])) * cos(deg2rad($theta)));
$jarak = acos($distance); $jarak = rad2deg($jarak); $final = $jarak * 60 * 1.1515; $inijarak = $final * 1.609344; $finaljarak = (round($inijarak,2)); $kode = $i+1;
$query = "UPDATE petani SET jarak = '".$finaljarak."' where id_kel_tani='".$kode."'"; $result = mysql_query($query, $link) or die('Error query: '.$query);}?>
10.berdasarjarak.php
Tujuan : Mengurutkan posisi kemiripan berdasarkan urutan jarak antara pengguna, dengan tiap lahan.
Algoritma :
1. Lakukan query hapus tabel petani_jarak
2. Lakukan query buat tabel petani_jarak dengan data yang sama dengan tabel petani tetapi syaratnya nilai cosim diurutkan sampai 5 terbesar
3. Lakukan query ambil data dari tabel petani_jarak diurutkan berdasarkan nilai jaraknya
Listing :
<?php
include('simpanjarak.php');
$link = mysql_connect('localhost', 'root', '') or die('Cannot connect to the DB'); mysql_select_db('myagresa', $link) or die('Cannot select the DB');
$q1 = "DROP TABLE petani_jarak";
$q2 = "CREATE TABLE petani_jarak LIKE petani";
$q3 = "INSERT petani_jarak SELECT * FROM petani ORDER BY COSIM DESC LIMIT 5"; $q4 = "SELECT * FROM petani_jarak ORDER BY JARAK";
(4)
122
$result2 = mysql_query($q2, $link) or die('Errorquery: '.$q2); $result3 = mysql_query($q3, $link) or die('Errorquery: '.$q3); $result4 = mysql_query($q4, $link) or die('Errorquery: '.$q4); $rows = array();
while ($r = mysql_fetch_assoc($result4)) { $rows[] = $r;
}
$data = "{jarak:".json_encode($rows)."}"; echo $data;
?>
(5)
viii
MENGGUNAKAN PENDEKATAN CONTENT BASED FILTERING
ABSTRAK
Sebagian besar petani di Indonesia yang berkelompok dan membentuk suatu kelompok tani biasanya menyalurkan hasil pertaniannya kepada pengepul, untuk selanjutnya diteruskan kepada pedagang pasar atau konsumen. Padahal idealnya hasil pertanian dapat disalurkan oleh petani langsung kepada konsumen. Pada kenyataannya, hasil pertanian tidak bisa langsung sampai pada konsumen, melainkan harus melewati beberapa rantai distribusi. Hal ini menjadikan proses penyaluran hasil pertanian menjadi kurang efektif dan efisien, dari segi waktu dan juga biaya. Skripsi ini menyediakan informasi tentang rekomendasi hasil pertanian tanaman pangan. Sistem ini dikembangkan berbasis mobile.
Dalam pencarian rekomendasi hasil pertanian, digunakan teori mengenai content based filtering. Dalam pendekatan content-based filtering, sistem memilih dan melakukan peringkat item berdasarkan kesamaan profil pengguna dan profil item. Keuntungan dari pendekatan ini adalah pengguna mendapatkan wawasan tentang mengapa suatu item dianggap relevan untuk mereka. Data yang dipergunakan adalah data yang diperoleh dari Dinas Pertanian Kabupaten Sleman.
Rekomendasi yang diberikan sistem disusun berdasarkan tingkat kemiripan profil item dengan profil user. Proses pengujian sistem adalah dengan mencari hasil yang relevan dari daftar hasil rekomendasi. Kemudian menghitung precision, dan rata-ratanya. Berdasarkan pengujian 10 profil pedagang dengan 15 rekomendasi kelompok tani teratas, didapatkan hasil rata-rata presisi 78.40%. Berdasarkan hasil evaluasi sistem ini belum dapat dikatakan baik karena pengujian yang dilakukan hanya menggunakan precision saja. Kata kunci : sistem rekomendasi, content based filtering, vector space model, aplikasi mobile.
(6)
ix
RECOMMENDATION SYSTEM OF FOOD CROP FARMS
USING CONTENT-BASED FILTERING APPROACH
ABSTRACT
Most farmers in Indonesia are grouped and make a groups, usually distribute their crops to the wholesalers, then submitted to the merchant or the consumer market. Ideally agricultural products can be delivered by farmers directly to consumers. In fact, agriculture is not can jump directly to the consumer, but must pass through a chain of distribution. It makes the process of distributing agricultural products become less effective and efficient, in terms of time and costs. This thesis provides information on the recommendations of agricultural crops. This system was developed based on the mobile.
In the recommendation process agricultural products, used the theory of content-based filtering. In content-content-based filtering approach, systems select and rank the items content-based on similarity of user profiles and item profiles. The advantage of this approach is that users gain insights on why an item is considered relevant to them. The data used is the data obtained from the Department of Agriculture District of Sleman.
Recommendations given system is based on the level of similarity profile items with user profiles. System testing process is to find relevant results from the recommendation list. Then calculate the precision, and the average. Based on testing of 10 profiles trader with 15 top recommendations farmer groups, showed an average of precision is 78.40%. Based on that evaluation system can not be said to be good because the testing is using only precision.
Key word : recommendation system, content based filtering, vector space model, mobile application.