PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
SISTEM REKOMENDASI HASIL PERTANIAN TANAMAN PANGAN 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 2013 i
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
RECOMMENDATION SYSTEM OF FOOD CROP FARMS USING 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 2013
ii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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 anggota ‘genk galau’ yang setia menjadi teman seperjuangan meraih gelar S.Kom ..
Dan untuk kamu yang sadar atau tidak, ternyata sudah menjadi inspirasiku ..
Thank’s anyway v
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
HALAMAN PERSEMBAHAN
MOTTO
Bermainlah dalam permainan, tetapi janganlah main-main. Bermainlah untuk bahagia, tetapi janganlah mempermainkan bahagia.
-N. Driyarkara, S. J.
vi
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
SISTEM REKOMENDASI HASIL PERTANIAN TANAMAN PANGAN 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.
viii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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 contentbased filtering. In content-based filtering approach, systems select and rank the items 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.
ix
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
KATA PENGANTAR
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.
xi
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
xii
6. Teman-teman seperjuangan dalam meraih gelar, Itha, Laurin, Siska, Petra, Vava, 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
Penulis
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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.2
Perangkat Bergerak (Mobile Device) ..................................................... 15
xiii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
2.3
xiv
Android ................................................................................................... 15
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 3.2
Perancangan Sistem ................................................................................ 21
3.2.1 3.3
Gambaran Umum Sistem ................................................................ 20
Arsitektur Sistem............................................................................. 21
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 4.2.1.1
Pengujian Kinerja Sistem ................................................................ 33 Pengujian Presisi Sistem untuk Rekomendasi Petani .................. 33
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
4.2.1.2
xv
Pengujian Presisi Sistem untuk Rekomendasi Pedagang ............ 45
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.1.
Ubah Data Petani (Sequence Diagram)........................................... 71
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
xvi
3.2.2.
Ubah Data Petani (Collaboration Diagram) .................................... 72
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.3.
Desain Antarmuka Halaman Registrasi.................................................. 84
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
xvii
4.4.
Desain Antarmuka Halaman Profil Pedagang ........................................ 85
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 5.2
Login ...................................................................................................... 92
5.2.1 5.3
Halaman Registrasi Pedagang ......................................................... 91
Halaman Login Pedagang ............................................................... 92
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 LAMPIRAN 7 ..................................................................................................... 110
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
DAFTAR GAMBAR
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 Gambar 3.6 ERD Sistem................................................................................. 26
xviii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
DAFTAR TABEL
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 Tabel 4.15 Tabel hasil perhitungan precision rekomendasi pedagang............... 48
xix
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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 mobile ini, pemasaran hasil pertanian khususnya kepada pedagang akan lebih 1
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
2
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 :
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
3
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
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
4
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. b. Pengembangan sistem atau software
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
5
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 langkahlangkah dan metode yang akan digunakan dalam pembuatan sistem tersebut.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
6
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.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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
7
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
8
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
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
9
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,
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
10
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
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
11
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 ndimensi, dimana n adalah jumlah dari seluruh term yang ada dalam
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
12
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 :
wi,j = tfi,j x idfj = tfi,j x log N/dfj
(2.1)
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
13
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) =
( wQ, j wi, j ) j 1
w
2
j 1
2.1.3
w
(2.2)
2
Q, j
j 1
i, j
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.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
a.
14
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
(2.3)
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
(2.4)
jumlah seluruh dokumen yang relevan c.
Average Precision Untuk mengevaluasi strategi retrieval terhadap semua query, dihitung rata-rata dari precision di tiap recall :
(2.5) 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
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
2.2
15
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 .
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
16
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
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
17
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
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
18
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 Service. Fungsinya mendapatkan lokasi saat ini, melacak
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
19
perpindahan dan mengatur tanda kedekatan untuk mendeteksi gerakan masuk dan keluar dari area tertentu. b. Location Provider : masing-masing mewakili teknologi lokasitemuan yang berbeda yang digunakan untuk menentukan lokasi perangkat.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
BAB 3 ANALISA DAN PERANCANGAN 3.1 3.1.1
Analisis Sistem 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
20
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
21
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 3.2.1
Perancangan Sistem 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 :
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
kel_tani, varietas, tgl tanam, tgl panen, jumlah
data corpus (varietas, jumlah) User (Pedagang tengkulak)
Vector Space Model
Masukan profil pengguna (nama, varietas, jumlah)
similarity process 𝑣 𝑗 =1 𝑣 𝑗=1
𝑤2
𝑄,𝑗
𝑤𝑄,𝑗 ×
×
𝑤𝑖,𝑗 𝑣 𝑗 =1
𝑤 2 𝑖,𝑗
List Rekomendasi
Gambar 3.2 Arsitektur Aplikasi (pedagang)
22
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
23
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
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
24
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 3.3.1
Desain Model Secara Umum 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).
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
25
Registrasi
Login
depends on
Kelola data
Petani
depends on
Pedagang
Lihat rekomendasi
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.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
3.3.4
26
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.
Kelas Android <<Entity>>
<<Entity>>
produk
query_pedagang
Kelas 1
profil_pedagang
data_pedagang
«interface» HalamanPilihVarietas
«interface» HalamanCariRekomendasi
<<Entity>>
<<Entity>>
«interface» HalamanLokasiPedagang
PHP
*1 *
«interface» HalamanRegistrasiPdg
*
«interface» HalamanLoginPdg
1
«interface» HalamanHasilRekomendasi
«interface» HalamanProfilPedagang
*
<
> tampilprofil
1*
1 *
1*
1
«interface» HalamanHasilJarak
* «interface» HalamanUtama
11
*
<>
<<Entity>>
hitungcosim
petani_jarak
«interface» HalamanLoginPtn
«interface» HalamanRegistrasiPtn
1
*
1 *
1
«interface» HalamanUbahProfilPtn
1 «interface» HalamanDaftarLahan
petani
1* «interface» HalamanDetailLahan
*
registrasi
«interface» HalamanHasilRekomendasiPdg
* 1 1
<<Entity>>
<>
*1
* 1 <>
*
«interface» HalamanUbahDataLahan
login
**
* 1 <>
1
datalahan
<<Entity>> data_lahan
Gambar 3.5 Diagram Kelas
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
3.3.6
27
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.
telepon
id_lahan
id_keltani
nama_keltani
luas N
data_lahan jenis N luas varietas
id_produk
username password alamat
petani
longitude
tgltanam tglpanen
cosim
latitude
permintaan
nama_produk
id_pdg telepon_pdg
1 produk
N
data_pedagang
profil_pedagang
alamat_pdg
username_pdg
password_pdg longitude
latitude
cosim nama_pdg
Gambar 3.6 ERD Sistem
3.3.7
Perancangan Basis Data Dari
tabel-tabel
yang
terbentuk
selanjutnya
merancang struktur data dari masing-masing tabel : 1. Tabel data_lahan Tabel 3.1 Struktur tabel data_lahan
penulis
akan
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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
cosim
double
-
28
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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
-
telepon
varchar
13
29
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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
-
username
Varchar
20
30
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
31
8. Tabel data_lahan_index Tabel 3.8Struktur tabel data_lahan_index
3.3.8
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
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.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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:
4.1.2
Editor Program
: IDE Eclipse 3.6.2 Helios
DBMS
: MySql 5.0
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.
32
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
4.2
33
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
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
6
Batang Piaman
41
Inpari 8
7
Batanghari
42
Inpari 9 Elo
8
Batutegi
43
Intani 1
9
Bernas Prima
44
Intani 2
45
IR 36
46
IR 42
10
Bondojudo
11
Celebes
12
Ciapus
13
Ciasem
47
IR 64
14
Cibodas
48
IR 66
15
Cibogo
49
Kalimas
16
Cigeulis
50
Ketonggo
17
Ciherang
51
Konawe
18
Cilamaya Muncul
19
Ciliwung
52
Lambur
20
Cimelati
53
Limboto
21
Cirata
54
Logawa
22
Cisadane
55
Luk Ulo
23
Cisantana
56
Lusi
24
Cisokan
57
Margasari
25
Conde
58
Martapura
26
Danau Gaung
27
Fatmawati
59
Mekongga
28
Gilingsing
60
Mendawak
29
Gilirang
61
Mendawan
30
Hipa 3
62
Hipa 5 Ceva
31
Hipa 4
63
Pepe
32
Hipa 8 Pioneer
64
Rokan
33
Impari
65
Sarinah
34
Inpara 1
35
Inpara 2
66
Setail
36
Inpara 3
67
Siak raya
37
INPARI 1
68
Silugonggo
38
INPARI 2
69
Singkil
39
INPARI 3
70
Sintanur
40
INPARI 4
71
Situ bagendit
72
Situ Patenggang
73
Sunggal
74
Towuti
75
Wera
34
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
35
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
Sembodo
14
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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
Sinar Harapan
9
36
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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
Lestari Makmur
3
37
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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
Sido Makmur
13
38
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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
Budi Luhur
11
39
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Karya Tani
40
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
Gemilang
2
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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
Margo Mulyo
15
41
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
42
Tabel 4.12 Tabel relevansi hasil pencarian rekomendasi petani : P1
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 : P
:
Petani
(Terdapat
15
kelompok
tani
yang
digunakan
sebagai
hasil
rekomendasi)
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
43
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 8
11
4
15
0.73
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Profil 9
14
1
15
0.93
Profil 10
13
2
15
0.86
Jumlah Rata-rata %
44
7.84 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 %.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
45
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
Rory
7
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
46
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
Bonita
6
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
47
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)
Profil : Profil kelompok tani (Terdapat 5 profil petani yang diujikan)
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
48
Tabel 4.15 Tabel hasil perhitungan precision rekomendasi pedagang : No Profil 1 Profil 2 Profil 3 Profil 4 Profil 5
Relevan
Not relevan
Hasil rekomendasi
Precision
6
1
7
0.85
6
1
7
0.85
7
0
7
1.00
6
1
7
0.85
6
1
7
0.85
Jumlah Rata-rata %
4.40 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 %.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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.
49
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
5.2
50
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.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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, Indiana Canada United States of America : Wiley Publishing, Inc.
51
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
52
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 OntologyContent-Based Filtering Method. International Journal “Information Theories & Applications”, Vol.15, 303-313.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
54
LAMPIRAN 1 NARASI USE CASE
1.1. 1.2. 1.3. 1.4.
USECASE LOGIN ................................................................................55 USECASE KELOLA DATA ................................................................56 USECASE REGISTRASI ......................................................................57 USECASE LIHAT REKOMENDASI ..................................................58
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
1.1.
55
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‟
Langkah Alternatif :
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 Alt- 6: Jika username dan password tidak sesuai maka sistem akan memberi peringatan, dan kembali ke
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
56
halaman login.
Kesimpulan :
Use case berhenti apabila petani telah berhasil masuk ke halaman yang berisi data lahan dan hasil pertanian yang dikelola 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 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
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
57
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 1. Pada Halaman Utama user akan menekan tombol yang bergambar silang (mengibaratkan pengguna belum punya akun) untuk pertanyaan
Respon Sistem
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
58
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
Langkah Alternatif :
5. Menyimpan data yang telah diisi user tersebut ke dalam database 6. Menampilkan pesan registrasi berhasil 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.
Trigger :
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Langkah Umum :
Kegiatan Aktor
59
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
Langkah Alternatif :
2. Mengambil data dari database dan menampilkan halaman detail rekomendasi. 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
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
60
LAMPIRAN 2 DIAGRAM AKTIFITAS
2.1. 2.2. 2.3. 2.4. 2.5. 2.6. 2.7. 2.8.
DIAGRAM AKTIFITAS LOGIN............................................................... 61 DIAGRAM AKTIFITASUBAH DATA PETANI..................................... 62 DIAGRAM AKTIFITASTAMBAH PROFIL PEDAGANG.................... 63 DIAGRAM AKTIFITAS UBAH PROFIL PEDAGANG.......................... 64 DIAGRAM AKTIFITASHAPUS PROFIL PEDAGANG......................... 65 DIAGRAM AKTIFITAS PERBARUI LOKASI PEDAGANG................. 66 DIAGRAM AKTIFITAS REGISTRASI.................................................... 67 DIAGRAM AKTIFITAS LIHAT REKOMENDASI................................. 68
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
2.1. Diagram Aktifitas Login
aktor
sistem
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
6. Tampil pesan login sukses
7. Tampil Halaman Daftar Lahan yang berisi data lahan pertanian yang dikelola oleh petani
61
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
2.2. Diagram Aktifitas Ubah Data Petani
aktor
sistem
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
62
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
2.3. Diagram Aktifitas Tambah Profil Pedagang
aktor
sistem
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
63
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
64
2.4. Diagram Aktifitas Ubah Profil Pedagang
aktor
sistem
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
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
65
2.5. Diagram Aktifitas Hapus Profil Pedagang
aktor
sistem
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
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
66
2.6. Diagram Aktifitas Perbarui Lokasi Pedagang
aktor
sistem
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
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
2.7. Diagram Aktifitas Registrasi
aktor
sistem
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
4. Tekan tombol „kirim‟
5. Menyimpan data yang telah diisi user tersebut ke dalam database
6. Tampilkan pesan registrasi berhasil
67
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
2.8. Diagram Aktifitas Lihat Rekomendasi
aktor
sistem
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
68
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
LAMPIRAN 3 MODEL ANALISIS
3.1 3.2 3.3 3.4
MODEL ANALISIS LOGIN .......................................................... 70 MODEL ANALISIS KELOLA DATA ......................................... 71 MODEL ANALISIS REGISTRASI ............................................... 78 MODEL ANALISIS LIHAT REKOMENDASI ........................... 79
69
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
70
3.1. Model Analisis Login 3.1.1. Login (Sequence Diagram)
: Halaman Utama
petani
: Halaman Login
Halaman Daftar Lahan
login_ptn.php
1. Pilih tombol bergambar orang 2. Tampil HalamanLogin 3. Isi username, password 4. Tekan tombol Masuk 5. Cek username, password 6. Tampil pesan login sukses 7. Tampil Halaman Daftar Lahan
3.1.2. Login (Collaboration Diagram)
petani
5 2
1
6 halaman utama
halaman login
7
Petani login_ptn.php 3,4
3.1.3. Kelas Analisis Login No. Nama Kelas
Tipe
1.
interface
HalamanUtama
Deskripsi Merupakan halaman awal saat mengakses sistem
Halaman daftar lahan
: Petani
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
2.
HalamanLoginPtn
interface
3.
HalamanDaftarLahan
interface
71
Halaman untuk melakukan proses login sebagai petani Halaman yang berisi daftar lahan yang dikelola oleh kelompok tani tertentu Kelas php yang berfungsi
4.
login_ptn.php
controller
memvalidasiusername dan password apakah sesuai atau tidak
5.
Tabel petani
Penyimpanan data mengenai petani,
entity
termasuk username dan password
3.2. Model Analisis Kelola Data 3.2.1. Ubah Data Petani (Sequence Diagram)
HalamanDaftarLahan
HalamanUbahProfil
: control Petani
Petani
petani 1. Pilih menu 'ubah profil' 2. Tampil HalamanUbahProfil 3. Ubah data berdasar kolom yang sesuai, tekan tombol simpan 4. lakukan query update pada database 5. perubahan data pada database 5. tampil pesan sukses
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
72
3.2.2. Ubah Data Petani (Collaboration Diagram)
6 1 HalamanDaftar Lahan
5 4
2 3
petani Control petani
HalamanUbah Profil
Petani
3.2.3. Kelas Analisis Ubah Data Petani No. Nama Kelas
Tipe
1.
HalamanDaftarLahan
interface
2.
HalamanUbahProfil
interface
Deskripsi Merupakan halaman yang berisi data lahan yang dikelola oleh petani Merupakan halaman yang berisi data username, password yang siap diubah Kelas ini sebagai controller yang
3.
Control petani
controller
mengatur proses perubahan data petani untuk disimpan dalam database
4.
petani
entity
Berfungsi sebagai tempat menyimpan data petani
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
73
3.2.4. Tambah Profil Pedagang (Sequence Diagram)
KotakDialogTambah
Halaman Profil Pedagang
tambahprofil.php
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 dan permintaan, tekan tombol OK 4. Lakukan query insert pada database 5. Proses penambahan data pada database 6. Tampil pesan sukses
3.2.5. Tambah Profil Pedagang (Collaboration Diagram) 1 Halaman Profil Pedagang 2 Pedagang
5 4 tambahprofil.php 6
3
profil_pedagang
KotakDialog Tambah
3.2.6. Kelas Analisis Tambah Profil Pedagang No. Nama Kelas
Tipe
1.
interface
HalamanProfilPedagang
Deskripsi Merupakan halaman yang berisi data profil pedagang yang sedang login Merupakan tampilan berupa kotak
2.
KotakDialogTambah
interface
dialog untuk menambah profil pedagang, berisi kolom varietas dan permintaan Kelas ini sebagai controller yang
3.
tambahprofil.php
controller
mengatur proses penambahan data profil pedagang untuk disimpan dalam
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
74
database 4.
profil_pedagang
Berfungsi sebagai tempat menyimpan
entity
data profil pedagang
3.2.7. Ubah Profil Pedagang(Sequence Diagram)
Halaman Profil Pedagang
KotakDialogUbah
tambahprofil.php
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
3.2.8. Ubah Profil Pedagang (Collaboration Diagram) 1 Halaman Profil Pedagang 2 Pedagang
5 4 ubahprofil.php 6
3 KotakDialog Ubah
profil_pedagang
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
75
3.2.9. Kelas AnalisisUbah Profil Pedagang No. Nama Kelas
Tipe
1.
interface
HalamanProfilPedagang
Deskripsi Merupakan halaman yang berisi data profil pedagang yang sedang login Merupakan tampilan berupa kotak
2.
KotakDialogubah
interface
dialog untuk mengubah profil pedagang, berisi kolom varietas dan permintaan Kelas ini sebagai controller yang
3.
ubahprofil.php
controller
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
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
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
76
3.2.11. Hapus Profil Pedagang(Collaboration Diagram) 1 Halaman Profil Pedagang 2 Pedagang
5 4 hapusvarietas.php 6
3
profil_pedagang
KotakDialog Hapus
3.2.12. Kelas AnalisisHapus Profil Pedagang No. Nama Kelas
Tipe
1.
interface
HalamanProfilPedagang
Deskripsi Merupakan halaman yang berisi data profil pedagang yang sedang login Merupakan tampilan berupa kotak
2.
KotakDialoguHapus
interface
dialog untuk menghapus salah profil pedagang Kelas ini sebagai controller yang
3.
hapusvarietas.php
controller
mengatur proses penghapusan data profil pedagang untuk dihapus dari database
4.
profil_pedagang
entity
Berfungsi sebagai tempat menyimpan data profil pedagang
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
77
3.2.13. Perbarui Lokasi Pedagang (Sequence Diagram)
HalamanLokasiPedagang
Halaman Profil Pedagang
simpanposisi.php
profil_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
3.2.14. Perbarui Lokasi Pedagang (Collaboration Diagram) 1 Halaman Profil Pedagang 2 Pedagang
5 4 simpanposisi.php 6
3
profil_pedagang
HalamanLokasi Pedagang
3.2.15. Kelas AnalisisPerbarui Lokasi Pedagang No. Nama Kelas
Tipe
1.
interface
HalamanProfilPedagang
Deskripsi Merupakan halaman yang berisi data profil pedagang yang sedang login Merupakan halaman yang berisi
2.
HalamanLokasiPedagang interface
informasi posisi pedagang sementara, dalam bentuk peta dan informasi longitude dan latitude Kelas ini sebagai controller yang
3.
simpanposisi.php
controller
mengatur proses penambahan data longitude dan latitude pedagang untuk disimpan dalam database
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
4.
profil_pedagang
78
Berfungsi sebagai tempat menyimpan
entity
data profil pedagang
3.3. Model Analisis Registrasi 3.3.1. Registrasi (Sequence Diagram)
registrasi_pdg.php
Halaman Registrasi_pdg
: Halaman Utama
data_pedagang
pedagang 1. Tekan tombol bergambar silang 2. Tampil halaman registrasi 3. Isi data : nama,alamat,no.telpon,username,password 4. Tekan tombol kirim 5. Simpan data ke database (query insert into)
6. Tampil pesan registrasi berhasil
3.3.2. Registrasi (Collaboration Diagram) registrasi_pdg.php
5 1
2
Halaman Utama
5 Halaman Registrasi_pdg
6
Pedagang data_pedagang 3,4
3.3.3. Kelas Analisis Registrasi No. Nama Kelas
Tipe
1.
interface
HalamanUtama
Deskripsi Merupakan halaman awal saat mengakses sistem
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
79
Merupakan halaman yang berisi field 2.
HalamanRegistrasiPdg
pengisian pendaftaran pengguna,
interface
seperti username, password, nama, alamat, no. telp Kelas php ini sebagai controller yang
3.
registrasi_pdg.php
controller
mengatur proses penyimpanan data pedagang (pengguna)
4.
Tabel data_pedagang
Berfungsi sebagai tempat menyimpan
entity
data pedagang (pengguna sistem)
3.4. Model Analisisis Lihat Rekomendasi 3.4.1. Lihat Rekomendasi (Sequence Diagram)
Halaman Profil Pedagang
hitungcosimpedagang.php
Halaman Hasil Rekomendasi
1. Tampil halaman profil pedagang 2. Tekan tombol lihat rekomendasi 3. proses menghitung nilai cosinus similarity tiap petani 4. Tampil 15 petani dengan nilai cosim terbesar 5. Tekan salah satu kolom petani 6. Ambil data dari database dan tampil halaman detail rekomendasi
petani
Halaman Detail Rekomendasi
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
80
3.4.2. Lihat Rekomendasi (Collaborative Diagram) 6
hitungcosimpeda gang.php petani
3 1 2
Halaman Profil Pedagang 5
4 Halaman Hasil Rekomendasi
Pedagang
Halaman Detail Rekomendasi
6
3.4.3. Kelas Analisis Lihat Rekomendasi No. Nama Kelas
Tipe
1.
Halaman Profil Pedagang
interface
2.
Halaman Hasil Rekomendasi
interface
3.
Halaman Detail Rekomendasi
interface
4.
hitungcosimpedagang.php controller
5.
Tabel petani
entity
Deskripsi Halaman yang berisi varietas pilihan pedagang beserta jumlah permintaan yang digunakan sebagai profilnya Halaman yang berisi hasil rekomendasi petani yang dianggap paling cocok untuk pedagang Halaman yang berisi detail informasi hasil rekomendasi Berfungsi untuk proses menghitung nilai cosinus similarity tiap petani berdasarkan prodil pedagang Berfungsi menyimpan data lengkap mengenai kelompok tani
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
81
LAMPIRAN 4 MODEL DESAIN
4.1. 4.2. 4.3. 4.4. 4.5. 4.6. 4.7. 4.8.
DESAIN ANTARMUKA HALAMAN UTAMA ................................. 82 DESAIN ANTARMUKA HALAMAN LOGIN.................................... 83 DESAIN ANTARMUKA HALAMAN REGISTRASI ........................ 84 DESAIN ANTARMUKA HALAMAN PROFIL PEDAGANG .......... 85 DESAIN ANTARMUKA HALAMAN HASIL REKOMENDASI ...... 86 DESAIN ANTARMUKA HALAMAN CARI REKOMENDASI ........ 87 DESAIN ANTARMUKA HALAMAN PILIH VARIETAS ................ 88 DESAIN ANTARMUKA HALAMAN LOKASI PEDAGANG .......... 89
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
82
4.1.Desain Antarmuka Halaman Utama
Pada halaman ini terdapat beberapa pilihan kegiatan, jika pengguna sebagai petani akan mengakses sistem dapat mengklik pada tombol yang bergambar admin. Jika pengguna sebagai orang yang ingin mencari rekomendasi, terdapat dua pilihan. Apabila sudah tercatat sebagai anggota, maka dapat melakukan login. Tetapi bila belum, bisa melakukan registrasi terlebih dahulu.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
4.2.
83
Desain Antarmuka Halaman Login
Pada halaman ini pengguna dipersilakan untuk memasukkan username dan password pada tempat yang sudah disediakan agar bisa mengkases aplikasi ini.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
4.3.
84
Desain Antarmuka Halaman Registrasi
Pada halaman ini pengguna dipersilakan untuk mengisi data diri, seperti username, password yang selanjutnya akan digunakan sebagai akses masuk ke dalam aplikasi, data lain seperti nama lengkap, alamat, dan nomor telepon yang akan disimpan di dalam database.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
4.4.
85
Desain Antarmuka Halaman Profil Pedagang
Selamat Datang di MyAgresa, Profil Anda sebagai berikut: ____________________ ____________________ ____________________ ____________________ -- Lihat Rekomendasi -____________________ ____________________
Pada halaman ini ditampilkan profil pedagang, berupa varietas padi beserta jumlah permintaan, yang nantinya akan dicocokkan dengan profil petani. Pada halaman ini, pengguna dapat menekan tombol „Lihat Rekomendasi‟ untuk mendapatkan hasil rekomendasi petani mana yang sesuai dengan profil pedagang. Pengguna juga dapat menekan tombol menu pada handphone untuk memilih menu „Tambah Profil‟ untuk menambahkan varietas beserta jumlah permintaan sebagai profil pedagang. Selain itu, pengguna juga dapat menekan pada tiap kolom daftar profil, terdapat pilihan „Hapus Profil‟ dan „Ubah Profil‟, hapus profil untuk menghapus salah satu varietas dari daftar profil pedagang, sedangkan ubah, untuk mengubah jumlah permintaan sari salah satu varietas yang dipilih.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
4.5.
86
Desain Antarmuka Halaman Hasil Rekomendasi
Petani yang kami rekomendasikan : ____________________ ____________________ ____________________ ____________________ ____________________ ____________________
Pada halaman ini ditampilkan hasil rekomendasi petani yang sesuai dengan profil pedagang yang mencari rekomendasi. Hasil rekomendasi berupa 15 urutan kelompok tani dengan nilai cosinus similarity terbesar. Pengguna dapat menekan salah satu kolom kelompok tani, untuk mengetahui detail informasi mengenai kelompok tani tersebut.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
4.6.
87
Desain Antarmuka Halaman Cari Rekomendasi
Untuk mencari rekomendasi lahan, masukkan pilihan berikut : --pilih varietas---perlihatkan posisi-permintaan rekomendasi
Selain berdasarkan profil yang tersimpan dalam database, pengguna juga dapat melakukan pencarian rekomendasi berdasarkan keinginannya sendiri. Setelah pedagang berhasil registrasi atau login, pada halaman profil pedagang, terdapat menu „Pencarian Baru‟, maka akan ditampilkan halaman cari rekomendasi. Pada halaman ini pedagang diminta memasukkan posisi saat dia mengakses sistem tersebut, kemudian varietas tanaman yang diinginkan, jumlah permintaan dalam satuan kg.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
4.7.
88
Desain Antarmuka Halaman Pilih Varietas
Setelah tombol pilih varietas ditekan, maka halaman yang akan muncul ada adalah halaman in. Halaman ini berisi 75 data mengenai varietas tanaman yang tersimpan dalam database. Untuk cara memilihnya, pengguna dapat melakukan checklist satu persatu pada varietas yang diinginkan. Setelah itu untuk menyimpan data yang barusan dipilih, tekan tombol pilih, yang ada bagian atas halaman.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
4.8.
89
Desain Antarmuka Halaman Lokasi Pedagang
Pada halaman ini ditampilkan posisi sementara saat pengguna mengakses sistem. Pengguna dapat menyimpan posisi tersebut, sehingga longitude dan latitude akan tersimpan dalah database. Pengguna dapat menekan tombol menu pada handphone dan memilih menu „Simpan Posisi‟ sehingga posisi sementara itu akan tersimpan dalam database.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
90
LAMPIRAN 5 IMPLEMENTASI USECASE
5.1 5.2 5.3 5.4
USECASE REGISTRASI............................................................... 91 USECASE LOGIN......................................................................... 92 USECASE KELOLA DATA......................................................... 93 USECASE LIHAT REKOMENDASI........................................... 96
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
91
5.1 Registrasi 5.1.1
Halaman Registrasi Pedagang
Gambar 5.1
Halaman registrasi ini digunakan oleh pengguna yang ingin mendaftar sebagai pedagang, agar bisa mendapatkan informasi mengenai lahan yang dicari. Data-data yang perlu dimasukkan adalah username, password, nama, alamat. Jika data-data yang diisikan tersebut sudah benar dan sesuai format, saat tombol simpan ditekan, maka akan muncul pesan yang menginformasikan bahwa data berhasil disimpan.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
5.2
92
Login 5.2.1
Halaman Login Pedagang
Gambar 5.2 Halaman login ini digunakan oleh pengguna yang terdaftar sebagai pedagang untuk dapat mengakses aplikasi. Pengguna harus melakukan login terlebih dahulu agar dapat melakukan pencarian rekomendasi.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
5.3
93
Kelola Data 5.3.1
Halaman Ubah Profil Petani
Gambar 5.3
Halaman ini digunakan untuk mengubah data diri petani, seperti nama kelompok tani, username, dan password.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
94
5.3.2 Halaman Ubah Data Lahan
Gambar 5.4 Halaman ini digunakan untuk mengubah data lahan, seperti tanggal tanam, dan tanggal panen.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
95
5.3.3 Halaman Detail Lahan
Gambar 5.4
Halaman ini digunakan untuk melihat detail informasi mengenai lahan yang dikelola petani. Terdapat informasi mengenai jenis tanaman, varietas, tanggal tanam, tanggal panen, luas lahan, hasil panen.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
5.4
96
Lihat Rekomendasi 5.4.1 Halaman Profil Pedagang
Gambar 5.5 Setelah berhasil login, maka sistem akan menampilkan data profil pedagang yang berupa varietas dan jumlah permintaan. Untuk mengetahui rekomendasi petani yang sesuai dengan profil pedagang, dapat menekan tombol „Lihat Rekomendasi‟. Untuk menambah varietas tanaman sebagai profil, dapat menekan tombol menu pada handphone, dan memilih menu „Tambah Data‟. Sedangkan untuk menu „Pencarian Baru‟ digunakan apabila penggguna ingin melakukan pencarian rekomendasi tetapi tidak berdasarkan profil yang tersimpan dalam database.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
97
Gambar 5.6
5.4.2 Halaman Hasil Rekomendasi
Gambar 5.7 Setelah menekan tombol „Hasil Rekomendasi‟ maka sistem akan menampilkan daftar petani yang cocok dengan profil pedagang. Petani yang ditampilkan hanya yang mempunyai nilai cosinus similarity dengan urutan 15 terbesar.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
98
5.4.3 Halaman Cari Rekomendasi
Gambar 5.8 Setelah menekan tombol „Pencarian Baru‟ maka sistem akan menampilkan halaman cari rekomendasi. Terdapat tiga hal yang harus diisi oleh pengguna, yaitu varietas, posisi sementara, dan jumlah permintaan.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
99
5.4.4 Halaman Pilih Varietas
Gambar 5.9
Halaman pilih varietas digunakan oleh pengguna yang terdaftar sebagai pedagang. Setelah masuk ke halaman cari rekomendasi, pengguna diminta untuk memasukkan pilihan varietas yang nantinya akan digunakan sebagai profil item.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
100
5.4.5 Halaman Lokasi Pedagang
Gambar 5.10
Halaman lokasi pedagang digunakan oleh pengguna yang terdaftar sebagai pedagang. Setelah masuk ke halaman cari rekomendasi, pengguna diminta untuk memasukkan posisi saat mengakses aplikasi. Tekan tombol menu, dan pilih menu „Simpan Posisi‟ maka longitude latitude pengguna akan tersimpan dalam database.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
101
5.4.6 Halaman Hasil Jarak
Gambar 5.11
Gambar 5.12 Setelah menekan tombol „Lanjutkan‟ pada halaman cari rekomendasi, lalu sistem akan menampilkan halaman hasil rekomendasi. Jika pengguna
ingin
mendapatkan
hasil
rekomendasi
yang
juga
mempertimbangkan jarak lokasi lahan dengan posisi sementara pengguna, maka dengan menekan menu „Rekomendasi Berdasar Jarak‟ sistem akan menampilkan hasil rekomendasi yang telah diurutkan berdasar jarak yang paling dekat.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
102
LAMPIRAN 6 PERHITUNGAN MANUAL
Perhitungan manual dilakukan dengan menggunakan data sampel : Berikut adalah contoh perhitungan kemiripan profil dengan algoritma vector space model, yang telah disesuaikan dengan kasus pada penelitian tugas akhir ini : PEDAGANG
Petani 1
Petani 2
Petani 3
Petani 4
Petani 5
Sibundong
-
-
-
-
-
Angke
-
-
-
-
-
Banyuasin
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Piaman
-
-
-
-
-
Batanghari
-
-
-
-
-
Batutegi
-
-
-
-
-
-
-
-
-
-
-
-
Aek
Batang Gadis
1848
Batang Lembang Batang
Bernas 1897.7
Prima
2408
Bondojudo
-
-
Celebes
-
-
2646.7
-
Ciapus
-
-
1971.2
-
Ciasem
-
-
Cibodas
50
1946
2308.6
2065.7
2765
2200.1
Cibogo
-
-
-
-
-
Cigeulis
-
-
-
-
-
Ciherang
50
2615.2
-
1937.6
-
2591.4
1984.5
2510.9
Cilamaya Muncul Ciliwung
Cirata
-
1758.4
Cimelati
-
2048.9
-
-
-
-
-
-
-
2690.1
-
-
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Cisadane
1763.3
1841
Cisantana
2685.2
2656.5
2373.7
Cisokan
-
-
Conde
-
-
-
-
-
-
103
-
2443
-
2595.6
2482.9
2401.7 -
-
Danau Gaung
2275.7
Fatmawati
1762.6
1898.4 2276.4
-
2602.6
2618
2060.1
1824.2
Gilingsing
-
-
-
Gilirang
-
-
-
-
-
Hipa 3
-
-
-
-
-
Hipa 4
-
-
-
-
-
Pioneer
-
-
2243.5
2473.8
-
Impari
-
-
2400.3
2702
-
Inpara 1
-
-
-
-
-
Inpara 2
-
-
-
-
-
Inpara 3
-
-
-
-
-
Hipa 8
INPARI 1
50
1829.1
INPARI 2
-
INPARI 3
-
2607.5
1869.7
1961.4
1814.4
2429.7
2265.2
1816.5
INPARI 4
2149
1793.4
-
-
-
-
-
-
-
-
-
-
-
-
-
Inpari 8
-
Inpari 9 Elo
-
Intani 1
-
-
-
-
-
Intani 2
-
-
-
-
-
2415.7
2500.4
IR 36
-
2755.9
IR 42
-
2191
IR 64
-
1883 2181.9
IR 66
2502.5
2270.8
2702.7 2662.8
2586.5
2170.7
1817.9
-
Kalimas
-
-
-
-
-
Ketonggo
-
-
-
-
-
Konawe
-
-
-
-
-
Lambur
-
-
-
-
-
Limboto
-
-
-
-
-
Logawa
-
-
-
-
-
Luk Ulo
-
-
-
-
-
Lusi
-
-
-
-
-
-
-
-
Martapura
-
-
-
-
-
Mekongga
-
-
-
-
-
Margasari
50
2644.6
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Mendawak
-
-
-
-
-
Mendawan
-
-
-
-
Hipa 5 Ceva
-
-
-
-
-
Pepe
-
-
-
-
-
Rokan
-
Sarinah
-
-
-
-
-
Setail
-
-
-
-
-
Siak raya
-
-
-
-
Silugonggo
-
-
-
-
-
Singkil
-
-
-
-
-
Sintanur
-
-
-
-
-
Situ bagendit
-
-
-
2769.2
2681.7
2251.2
2508.8
2186.8
104
1908.2
2039.1
Situ 2777.6
Patenggang
-
-
2075.5
-
Sunggal
-
-
-
-
-
Towuti
-
-
-
-
-
Kolom pedagang pada tabel tersebut merupakan user query. Pada tabel terlihat bahwa user (pedagang) menginginkan padi varietas Cibodas sebesar 50, Ciherang 50, Inpari 1 50, dan Margasari 50. Ide dari metode vector space model ini adalah menghitung nilai cosinus sudut dari dua vector, pada kasus ini adalah W dari petani sebagai profil item dengan W dari pedagang sebagai profil user. Nilai w sudah didapat, seperti yang tercantum pada tabel berikut : Pedagang * Petani 1
Pedagang * Petani 2
Pedagang * Petani 3
Pedagang * Petani 4
Pedagang * Petani 5
Aek Sibundong
0
0
0
0
0
Angke
0
0
0
0
0
Banyuasin
0
0
0
0
0
Batang Gadis
0
0
0
0
0
Batang Lembang
0
0
0
0
0
Batang Piaman
0
0
0
0
0
Batanghari
0
0
0
0
0
Batutegi
0
0
0
0
0
Bernas Prima
0
0
0
0
0
Bondojudo
0
0
0
0
0
Celebes
0
0
0
0
0
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
105
Ciapus
0
0
0
0
0
Ciasem
0
0
0
0
0
97300
0
115430
138250
110005
Cibogo
0
0
0
0
0
Cigeulis
0
0
0
0
0
Ciherang Cilamaya Muncul
130760
0
129570
99225
125545
0
0
0
0
0
Ciliwung
0
0
0
0
0
Cimelati
0
0
0
0
0
Cirata
0
0
0
0
0
Cisadane
0
0
0
0
0
Cisantana
0
0
0
0
0
Cisokan
0
0
0
0
0
Conde
0
0
0
0
0
Danau Gaung
0
0
0
0
0
Fatmawati
0
0
0
0
0
Gilingsing
0
0
0
0
0
Gilirang
0
0
0
0
0
Hipa 3
0
0
0
0
0
Hipa 4
0
0
0
0
0
Hipa 8 Pioneer
0
0
0
0
0
Impari
0
0
0
0
0
Inpara 1
0
0
0
0
0
Inpara 2
0
0
0
0
0
Inpara 3
0
0
0
0
0
INPARI 1
91455
107450
130375
93485
0
INPARI 2
0
0
0
0
0
INPARI 3
0
0
0
0
0
INPARI 4
0
0
0
0
0
Inpari 8
0
0
0
0
0
Inpari 9 Elo
0
0
0
0
0
Intani 1
0
0
0
0
0
Intani 2
0
0
0
0
0
IR 36
0
0
0
0
0
IR 42
0
0
0
0
0
IR 64
0
0
0
0
0
IR 66
0
0
0
0
0
Kalimas
0
0
0
0
0
Ketonggo
0
0
0
0
0
Konawe
0
0
0
0
0
Lambur
0
0
0
0
0
Cibodas
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
106
Limboto
0
0
0
0
0
Logawa
0
0
0
0
0
Luk Ulo
0
0
0
0
0
Lusi
0
0
0
0
0
Margasari
0
0
0
132230
0
Martapura
0
0
0
0
0
Mekongga
0
0
0
0
0
Mendawak
0
0
0
0
0
Mendawan
0
0
0
0
0
Hipa 5 Ceva
0
0
0
0
0
Pepe
0
0
0
0
0
Rokan
0
0
0
0
0
Sarinah
0
0
0
0
0
Setail
0
0
0
0
0
Siak raya
0
0
0
0
0
Silugonggo
0
0
0
0
0
Singkil
0
0
0
0
0
Sintanur
0
0
0
0
0
Situ bagendit
0
0
0
0
0
Situ Patenggang
0
0
0
0
0
Sunggal
0
0
0
0
0
Towuti SUM
0
0
0
0
0
319515
107450
375375
463190
235550
Pada tahap tersebut bobot dari query dikalikan dengan bobot item yang terdapat di setiap datalahan, kemudian dijumlahkan untuk setiap lahannya. Kemudian langkah selanjutnya adalah mengkuadratkan bobot query. Bobot item di setiap lahan juga dikuadratkan. Kemudian dijumlahkan untuk tiap lahannya. Hasilnya seperti pada tabel berikut : PEDAGANG ^2
Petani 1 ^2
Petani 2 ^2
Petani 3 ^2
Petani 4 ^2
Petani 5 ^2
Aek Sibundong
0
0
0
0
0
0
Angke
0
0
0
0
0
0
Banyuasin
0
0
0
0
0
0
Batang Gadis Batang Lembang
0
0
0
0
0
3415104
0
0
0
0
0
0
Batang Piaman
0
0
0
0
0
0
Batanghari
0
0
0
0
0
0
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
107
Batutegi
0
0
0
0
0
0
Bernas Prima
0
3601265.29
5798464
0
0
0
Bondojudo
0
0
0
0
0
0
Celebes
0
0
0
7005020.89
0
0
Ciapus
0
0
0
3885629.44
0
4267116.49
0
0
0
0
0
0
2500
3786916
0
5329633.96
7645225
4840440.01
Cibogo
0
0
0
0
0
0
Cigeulis
0
0
0
0
0
0
Ciherang Cilamaya Muncul
2500
6839271.04
0
6715353.96
3938240.25
6304618.81
0
3754293.76
0
0
0
0
Ciliwung
0
0
0
4197991.21
0
0
Cimelati
0
3091970.56
0
0
7236638.01
0
Cirata
0
0
0
0
0
0
Cisadane
0
3109226.89
3389281
5634451.69
0
5968249
Cisantana
0
7210299.04
7056992
0
0
6737139.36
Cisokan
0
0
0
6164792.41
5768162.89
0
Conde
0
0
0
0
0
0
Danau Gaung
0
0
0
0
3603922.56
0
Fatmawati
0
5178810.49
3106759
5181996.96
6773526.76
6853924
Gilingsing
0
0
0
0
4244012.01
3327705.64
Gilirang
0
0
0
0
0
0
Hipa 3
0
0
0
0
0
0
Hipa 4
0
0
0
0
0
0
Hipa 8 Pioneer
0
0
0
5033292.25
6119686.44
0
Impari
0
0
0
5761440.09
7300804
0
Inpara 1
0
0
0
0
0
0
Inpara 2
0
0
0
0
0
0
Inpara 3
0
0
0
0
0
0
INPARI 1
2500
3345606.81
4618201
6799056.25
3495778.09
0
INPARI 2
0
0
3847090
3292047.36
5903442.09
3216283.56
INPARI 3
0
0
0
5131131.04
0
0
INPARI 4
0
3299672.25
0
0
0
0
Inpari 8
0
0
0
0
0
0
Inpari 9 Elo
0
0
5835606
0
0
0
Intani 1
0
0
0
0
0
0
Intani 2
0
0
0
0
0
0
IR 36
0
6252000.16
0
7594984.81
6262506.25
5156532.64
IR 42
0
0
4800481
0
7304587.29
0
IR 64
0
0
3545689
7090503.84
6689982.25
4711938.49
IR 66
0
4760687.61
0
3304760.41
0
0
Ciasem Cibodas
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
108
Kalimas
0
0
0
0
0
0
Ketonggo
0
0
0
0
0
0
Konawe
0
0
0
0
0
0
Lambur
0
0
0
0
0
0
Limboto
0
0
0
0
0
0
Logawa
0
0
0
0
0
0
Luk Ulo
0
0
0
0
0
0
Lusi
0
0
0
0
0
0
Margasari
2500
0
0
0
6993909.16
0
Martapura
0
0
0
0
0
0
Mekongga
0
0
0
0
0
0
Mendawak
0
0
0
0
0
0
Mendawan
0
0
7668469
0
0
0
Hipa 5 Ceva
0
0
0
0
0
0
Pepe
0
0
0
0
0
0
Rokan
0
0
7191515
5067901.44
0
3641227.24
Sarinah
0
0
0
0
0
0
Setail
0
0
0
0
0
0
Siak raya
0
0
0
6294077.44
0
0
Silugonggo
0
0
0
0
0
0
Singkil
0
0
0
0
0
0
Sintanur
0
0
0
0
0
0
Situ bagendit Situ Patenggang
0
0
4782094
0
0
4157928.81
0
7715061.76
0
0
4307700.25
0
Sunggal
0
0
0
0
0
0
Towuti SUM SQRT
0
0
0
0
0
0
10000
61945081.66
61640641
99484065.45
93588123.3
62598208.05
100
7870.519783
7851.155
9974.169913
9674.095477
7911.902935
Langkah terakhir adalah dengan memasukkan rumus cosine similarity seperti pada persamaan 2.2, dan hasilnya seperti pada tabel berikut : Petani 1 Petani 2 Petani 3 Petani 4 Petani 5 0.405964293 0.136858837 0.376347 0.478794117 0.297715988
Jika dilihat dari hasil perhitungan di atas, dapat ditarik kesimpulan bahwa yang mendekati kemiripan dengan profil pedagang adalah petani no 4 dengan nilai similarity 0,47879. Di urutan kedua adalah petani 1 dengan nilai 0,40596.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
109
Urutan ketiga adalah petani 3 dengan nilai 0,376347. Sedangkan urutan keempat dan kelima adalah petani 5 dengan nilai 0,29771, dan petani 2 dengan 0,13685. Dalam metode penghitungan cosine similarity, hasil yang paling mirip adalah yang mendekati nilai satu.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
110
LAMPIRAN 7 IMPLEMENTASI FILE
Dari desain kelas yang telah dibuat sebelumnya, berikut ini adalah implementasi dari desain kelas yang akan digunakan oleh sistem.
No
Use case
Nama File
Jenis
1.
Registrasi
HalamanUtama.java
Interface
HalamanRegistrasiPdg.java
Interface
HalamanRegistrasiPtn.java
Interface
registrasi_pdg.php
Controller
registrasi_ptn.php
Controller
Tabel data_pedagang
Entity
Tabel petani
Entity
HalamanLoginPdg.java
Interface
HalamanLoginPtn.java
Interface
login_pedagang.php
Controller
login_ptn.php
Controller
Tabel data_pedagang
Entity
Tabel petani
Entity
HalamanDaftarLahan.java
Interface
HalamanDetailLahan.java
Interface
HalamanPosisiLahan.java
Interface
HalamanUbahProfilPtn.java
Interface
HalamanLokasiPedagang.java
Interface
JSONParser.java
Controller
lahan-json.php
Controller
2.
3.
Login
Kelola Data
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
4.
Lihat
detail-lahan.php
Controller
ubahdataprofil.php
Controller
ubahsimpanprofil.php
Controller
Tabel data_lahan
Entity
Tabel petani
Entity
Tabel profil_pedagang
Entity
HalamanProfilPedagang
Interface
HalamanCariRekomendasi.java
Interface
HalamanPilihVarietas.java
Interface
Rekomendasi
HalamanHasilRekomendasi.java Interface HalamanHasilJarak.java
Interface
HalamanLokasiPedagang
Interface
pilihvarietas.php
Controller
check.php
Controller
simpanposisipdg.php
Controller
hitungcosimpdg.php
Controller
berdasarjarak.php
Controller
simpanjarak.php
Controller
hitungcosimptn.php
Controller
Tabel data_lahan_index
Entity
Tabel profil_pedagang
Entity
Tabel petani
Entity
Tabel petani_jarak
Entity
Tabel query_pdg
Entity
111
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Kelas-kelas interface sebagai berikut : HalamanRegistrasiPtn
HalamanRegistrasiPdg Txtuname : EditText
Txtuname : EditText
Txtpasswd : EditText
Txtpasswd : EditText
Txtnama : EditText
Txtnama : EditText
Txttelpon : EditText
Txttelpon : EditText
Txtalamat : EditText
Txtalamat : EditText
Kirim : Button
Kirim : Button
HalamanLoginPtn
HalamanLoginPdg
user: EditText
user: EditText
pass: EditText
pass: EditText loginBtn:
loginBtn:
Button
Button
regBtn : Button
HalamanDaftarLahan
HalamanPosisiLahan
Listview
mapView : MapView
HalamanDetailLahan
HalamanUbahProfilPtn
Kodee : TextView
Namakelompok : EditText
jenis: TextView
Uname :
varietas: TextView
Passwd :
tanggal: TextView
Simpanubah : Button
EditText EditText
luas: TextView hasil: TextView
HalamanPilihVarietas Listvarietas :
List<String>
112
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
113
Konfirmvarietas : Button
HalamanCariRekomendasi permintaan : EditText cari_rek_btn :
Button
pilihvarietas :
lihatposisi : Button
HalamanHasilRekomendasi Rekomendasi :
cari_rek2 : Button
JSONArray
daftar_rekomendasi
Button
result :
:
ArrayList
var :
String>>
posisi :
TextView
TextView TextView
HalamanLokasiPedagang HalamanLokasiPedagang
mapView :
mapView : MapView
locManager :
MapView LocationManager
locListener
:
LocationListener lat : Double lon : Double
HalamanHasilJarak Rekomendasi :
JSONArray
daftar_rekomendasi ArrayList>
:
HalamanUtama Txtuname : EditText Txtpasswd : EditText Txtnama : EditText Txttelpon : EditText Txtalamat : EditText Kirim : Button
Entity merupakan nama tabel dari basisdata yang digunakan. Entity disini merupakan nama tabel dari basisdata karena pada aplikasi MyAgresa ini, yang berfungsi sebagai entity adalah tabel yang bersangkutan.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
114
Kelas-kelas yang bertipe controller adalah : 1. registrasi_pdg Tujuan : Menambah data pedagang Algoritma : 1. Baca masukan username, password, nama kelompok tani, alamat, telepon 2. Lakukan query simpan pada tabel data_pedagang Listing :
2. login_pdg.php Tujuan : Mencocokkan username dan password yang dimaksudkan pada form login oleh pengguna. Algoritma : 1. Baca masukan username dan password dari pengguna 2. Lakukan query pencocokan pada tabel data_pedagang 3. Jika data cocok maka proses login berhasil
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
115
Listing :
echo 1;
} else {
echo 0;
}
3. lahan-json.php Tujuan : Mengambil data lahan dari database untuk ditampilkan dalam listview Algoritma : 1. Baca id_kel_tani dari pengguna yang berhasil login 2. Lakukan query ambil data pada tabel data_lahan 3. Tampilkan dalam bentuk array ke dalam listview Listing : ',''); if(strlen($v)<15)
{
$v .= '{"id" : "'.$r['id_lahan'].'", "judul" : "'.str_replace($ob,' ',strip_tags($r["jenis"])).'", "content" : "'.str_replace($ob,' ',strip_tags($r["varietas"])).'"}'; }
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
116
else { $v .= ',{"id" : "'.$r['id_lahan'].'", "judul" : "'.str_replace($ob,' ',strip_tags($r["jenis"])).'", "content" : "'.str_replace($ob,' ',strip_tags($r["varietas"])).'"}'; } } $v .= ']}'; echo $v; ?>
4. ubahsimpanprofil.php Tujuan : Mengubah data petani pada database. Algoritma : 1. Baca id_kel_tani dari pengguna yang berhasil login 2. Lakukan query ubah data pada tabel petani Listing :
5. hitungcosimpetani.php Tujuan : Menghitung nilai cosinus similarity tiap petani berdasarkan profil dari pedagang. Algoritma : 1. Baca id_pedagang dari pengguna yang sedang login 2. Hitung jumlah petani yang ada di database 3. Hitung jumlah produk yang ada di database 4. Lakukan perulangan, selama i < langkah 2, maka lakukan langkah 5 5. Lakukan perulangan, selama i < langkah 3, maka lakukan langkah 6
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
117
6. Lakukan query untuk select untuk mendapatkan nilai hasil panen tiap produk dari setiap petani 7. Kuadratkan nilai hasil panen 8. Jumlahkan hasil dari langkah 7 9. Akarkan hasil dari langkah 7 10. Lakukan query select utnuk mendapatkan jumlah permintaan pedagang untuk tiap produk 11. Kuadratkan nilai hasil permintaan 12. Kalikan hasil dari langkah 6 dan langkah 10 13. Jumlahkan hasil dari langkah 12 14. Jumlahkan hasil dari langkah 11 15. Akarkan hasil dari langkah 14 16. Hitung nilai cosinus similarity : hasil dari langkah 12 / (hasil langkah 9*langkah 15) Listing : //untuk mencari jumlah petani yang ada di database while($result=mysql_fetch_array($query1)) { $petani[] = $result["id_kel_tani"]; } //untuk mencari jumlah pedagang yang ada di database while($result=mysql_fetch_array($query4coba)) { $pedagang[] = $result["id_pedagang"]; } //untuk mencari jumlah produk yang ada di database while($r=mysql_fetch_array($query2)) { $produk[] = $r["id_produk"]; //id_produk } //mengambil data bobot ternormalisasi pada produk untuk setiap petani for ($i=0;$i
6. pilihvarietas.php Tujuan : Mengambil data semua varietas tanaman dari database untuk ditampilkan dalam listview. Algoritma : 1. Lakukan query select * from product Listing :
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
119
} $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 :
8. simpanposisipdg.php Tujuan : Menyimpan data posisi berupa longitude dan latitude pengguna pada saat mengakses sistem.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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
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 :
}
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
121
$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
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 :
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
$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; ?>
122