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
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
v
HALAMAN PENGESAHAN
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 ..
vi
Bermainlah dalam permainan, tetapi janganlah main-main.
Bermainlah untuk bahagia, tetapi janganlah mempermainkan
bahagia.
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.
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.
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.
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
xiii
DAFTAR ISI
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
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
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
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
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
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
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.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
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.
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
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”
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.
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
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
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.
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 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].
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,
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
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 :
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.
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)
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
Gambar 2.2 Arsitektur Android
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.
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 :
perpindahan dan mengatur tanda kedekatan untuk mendeteksi gerakan masuk dan keluar dari area tertentu.
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.
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
Petani
Masukan profil item (kel_tani,varietas,
jumlah, lokasi)
perubahan database
profil item yang telah berubah
Gambar 3.3 Arsitektur Aplikasi (petani)
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
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
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.
Gambar 3.5 Diagram Kelas
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
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
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
3. Tabel petani
Tabel 3.3 Struktur tabel petani
Nama Field Tipe Ukuran
id_kel_tani Double -
nama_kel_tani Varchar 30
cosim Double -
4. Tabel petani_jarak
Tabel 3.4 Struktur tabel petani_jarak
Nama Field Tipe Ukuran
id_kel_tani Double -
nama_kel_tani Varchar 30
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 -
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
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
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
6 Batang Piaman
18 Cilamaya Muncul 19 Ciliwung 28 Gilingsing
29 Gilirang
68 Silugonggo
69 Singkil
70 Sintanur
71 Situ bagendit
72 Situ Patenggang
73 Sunggal
74 Towuti
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
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 :
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
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
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
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
Varietas yang dipilih : Ciapus (100), Ciasem (70), Cigeulis (150), Cilamaya Muncul (130), Cirata (173), Luk Ulo (225), Margasari (200)
Kelompok Tani : Urutan dalam sistem :
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
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
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
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 :
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
Profil 10 13 2 15 0.86
Jumlah 7.84
Rata-rata 0.784
% 78.40 %
Keterangan :
Nilai precision didapatkan dengan rumus :
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
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 :
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
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 :
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)
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 :
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 %.
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.
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.
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.
LAMPIRAN 1
NARASI USE CASE
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
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
menekan tombol
„Simpan‟
4. Lakukan query halaman login.
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
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
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.
Langkah Umum : Kegiatan Aktor Respon Sistem
1. Menampilkan halaman profil pengguna (pedagang) yang berisi varietas padi. 2. Menekan tombol 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.
LAMPIRAN 2
DIAGRAM AKTIFITAS
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
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
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
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
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
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
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‟
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
LAMPIRAN 3
MODEL ANALISIS
3.1. Model Analisis Login
3.1.1. Login (Sequence Diagram)
Halaman Daftar Lahan
petani : Halaman Utama : Halaman Login login_ptn.php : Petani
1. Pilih tombol bergambar orang
2. Tampil HalamanLogin
3. Isi username, password
5. Cek username, password
6. Tampil pesan login sukses
7. Tampil Halaman Daftar Lahan 4. Tekan tombol Masuk
3.1.2. Login (Collaboration Diagram)
Petani
login_ptn.php Halaman daftar lahan
petani
3,4
3.1.3. Kelas Analisis Login
No. Nama Kelas Tipe Deskripsi
1. HalamanUtama interface Merupakan halaman awal saat
3.2. Model Analisis Kelola Data
3.2.1. Ubah Data Petani (Sequence Diagram)
Petani
petani
HalamanDaftarLahan HalamanUbahProfil : control Petani
1. Pilih menu 'ubah profil'
3. Ubah data berdasar kolom yang sesuai, tekan tombol simpan
5. tampil pesan sukses 2. Tampil HalamanUbahProfil
4. lakukan query update pada database
5. perubahan data pada database
2. HalamanLoginPtn interface Halaman untuk melakukan proses login
sebagai petani
3. HalamanDaftarLahan interface Halaman yang berisi daftar lahan yang
dikelola oleh kelompok tani tertentu
4. login_ptn.php controller
Kelas php yang berfungsi
memvalidasiusername dan password
apakah sesuai atau tidak
5. Tabel petani entity Penyimpanan data mengenai petani,
3.2.2. Ubah Data Petani (Collaboration Diagram)
3.2.3. Kelas Analisis Ubah Data Petani
No. Nama Kelas Tipe Deskripsi
1. HalamanDaftarLahan interface Merupakan halaman yang berisi data
lahan yang dikelola oleh petani
2. HalamanUbahProfil interface Merupakan halaman yang berisi data
username, password yang siap diubah
3. Control petani controller
Kelas ini sebagai controller yang
mengatur proses perubahan data petani
untuk disimpan dalam database
4. petani entity Berfungsi sebagai tempat menyimpan
3.2.4. Tambah Profil Pedagang (Sequence Diagram)
Halaman Profil Pedagang KotakDialogTambah tambahprofil.php
2. Tampil kotak dialog tambah profil yang berisi kolom varietas dan permintaan
profil_pedagang
3. Isi kolom yang tersedia, varietas dan permintaan, tekan tombol OK 1. Pilih menu “Tambah Profil” pada halaman profile pedagang
4. Lakukan query insert pada database
5. Proses penambahan data pada database
6. Tampil pesan sukses
3.2.5. Tambah Profil Pedagang (Collaboration Diagram)
Pedagang
3.2.6. Kelas Analisis Tambah Profil Pedagang
No. Nama Kelas Tipe Deskripsi
1. HalamanProfilPedagang interface Merupakan halaman yang berisi data
profil pedagang yang sedang login
2. KotakDialogTambah interface
Merupakan tampilan berupa kotak
dialog untuk menambah profil
pedagang, berisi kolom varietas dan
permintaan
3. tambahprofil.php controller
Kelas ini sebagai controller yang
mengatur proses penambahan data
database
4. profil_pedagang entity Berfungsi sebagai tempat menyimpan
data profil pedagang
3.2.7. Ubah Profil Pedagang(Sequence Diagram)
Halaman Profil Pedagang KotakDialogUbah tambahprofil.php
2. Tampil kotak dialog ubah data yang berisi kolom varietas dan permintaan
profil_pedagang
3. Isi kolom permintaan, tekan tombol OK 1. Tekan lama pada salah satu profil, pilih menu “Ubah Data” pada halaman profile pedagang
4. Lakukan query update pada database
5. Proses perubahan data pada database
6. Tampil pesan sukses
3.2.8. Ubah Profil Pedagang (Collaboration Diagram)
3.2.9. Kelas AnalisisUbah Profil Pedagang
No. Nama Kelas Tipe Deskripsi
1. HalamanProfilPedagang interface Merupakan halaman yang berisi data
profil pedagang yang sedang login
2. KotakDialogubah interface
Merupakan tampilan berupa kotak
dialog untuk mengubah profil
pedagang, berisi kolom varietas dan
permintaan
3. ubahprofil.php controller
Kelas ini sebagai controller yang
mengatur proses perubahan data profil
pedagang untuk disimpan dalam
database
4. profil_pedagang entity Berfungsi sebagai tempat menyimpan
data profil pedagang
3.2.10.Hapus Profil Pedagang (Sequence Diagram)
Halaman Profil Pedagang KotakDialogHapus hapusVarietas.php
2. Tampil kotak dialog hapus data yang berisi pemberitahuan varietas dan permintaan yang akan dihapus
profil_pedagang
3. Tekan tombol OK
1. Tekan lama pada salah satu profil, pilih menu “Hapus Data” pada halaman profile pedagang
4. Lakukan query delete pada database
5. Proses penghapusan data pada database
3.2.11.Hapus Profil Pedagang(Collaboration Diagram)
3.2.12.Kelas AnalisisHapus Profil Pedagang
No. Nama Kelas Tipe Deskripsi
1. HalamanProfilPedagang interface Merupakan halaman yang berisi data
profil pedagang yang sedang login
2. KotakDialoguHapus interface
Merupakan tampilan berupa kotak
dialog untuk menghapus salah profil
pedagang
3. hapusvarietas.php controller
Kelas ini sebagai controller yang
mengatur proses penghapusan data
profil pedagang untuk dihapus dari
database
4. profil_pedagang entity Berfungsi sebagai tempat menyimpan