Sistem rekomendasi hasil pertanian tanaman pangan menggunakan pendekatan Content Based Filtering.

(1)

i

MENGGUNAKAN PENDEKATAN CONTENT BASED FILTERING

Skripsi

Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Komputer

Program Studi Teknik Informatika

Oleh: Putri Nastiti

085314020

JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA YOGYAKARTA


(2)

ii

CONTENT-BASED FILTERING APPROACH

A Thesis

Presented as Partial Fulfillment of the Requirements

to Obtain the Sarjana Komputer Degree

in Informatics Engineering

By: Putri Nastiti 08 5314 020

DEPARTMENT OF INFORMATICS ENGINEERING

FACULTY OF SCIENCE AND TECHNOLOGY

SANATA DHARMA UNIVERSITY YOGYAKARTA


(3)

(4)

(5)

v

Halaman Persembahan ..

Tugas akhir ini saya persembahkan untuk orang tua

saya, yang di setiap halamannya mengandung

keringat, air mata, serta senyuman mereka ..

.

Untuk kakak saya, satu2 nya keluarga yang tak

pernah ribut dengan pertanyaan ‘kapan lulus?’

ini

kado pernikahanmu, Mas ..

Untuk semua an

ggota ‘genk galau’ yang setia menjadi teman

seperjuangan meraih gelar S.Kom ..

Dan untuk kamu yang sadar atau tidak, ternyata

sudah menjadi inspirasiku ..


(6)

vi

Bermainlah dalam permainan, tetapi janganlah main-main.

Bermainlah untuk bahagia, tetapi janganlah mempermainkan

bahagia.

-N. Driyarkara, S. J.


(7)

(8)

viii

MENGGUNAKAN PENDEKATAN CONTENT BASED FILTERING

ABSTRAK

Sebagian besar petani di Indonesia yang berkelompok dan membentuk suatu kelompok tani biasanya menyalurkan hasil pertaniannya kepada pengepul, untuk selanjutnya diteruskan kepada pedagang pasar atau konsumen. Padahal idealnya hasil pertanian dapat disalurkan oleh petani langsung kepada konsumen. Pada kenyataannya, hasil pertanian tidak bisa langsung sampai pada konsumen, melainkan harus melewati beberapa rantai distribusi. Hal ini menjadikan proses penyaluran hasil pertanian menjadi kurang efektif dan efisien, dari segi waktu dan juga biaya. Skripsi ini menyediakan informasi tentang rekomendasi hasil pertanian tanaman pangan. Sistem ini dikembangkan berbasis mobile.

Dalam pencarian rekomendasi hasil pertanian, digunakan teori mengenai content

based filtering. Dalam pendekatan content-based filtering, sistem memilih dan melakukan

peringkat item berdasarkan kesamaan profil pengguna dan profil item. Keuntungan dari pendekatan ini adalah pengguna mendapatkan wawasan tentang mengapa suatu item dianggap relevan untuk mereka. Data yang dipergunakan adalah data yang diperoleh dari Dinas Pertanian Kabupaten Sleman.

Rekomendasi yang diberikan sistem disusun berdasarkan tingkat kemiripan profil item dengan profil user. Proses pengujian sistem adalah dengan mencari hasil yang relevan dari daftar hasil rekomendasi. Kemudian menghitung precision, dan rata-ratanya. Berdasarkan pengujian 10 profil pedagang dengan 15 rekomendasi kelompok tani teratas, didapatkan hasil rata-rata presisi 78.40%. Berdasarkan hasil evaluasi sistem ini belum dapat dikatakan baik karena pengujian yang dilakukan hanya menggunakan precision saja. Kata kunci : sistem rekomendasi, content based filtering, vector space model, aplikasi


(9)

ix

USING CONTENT-BASED FILTERING APPROACH

ABSTRACT

Most farmers in Indonesia are grouped and make a groups, usually distribute their crops to the wholesalers, then submitted to the merchant or the consumer market. Ideally agricultural products can be delivered by farmers directly to consumers. In fact, agriculture is not can jump directly to the consumer, but must pass through a chain of distribution. It makes the process of distributing agricultural products become less effective and efficient, in terms of time and costs. This thesis provides information on the recommendations of agricultural crops. This system was developed based on the mobile.

In the recommendation process agricultural products, used the theory of content-based filtering. In content-content-based filtering approach, systems select and rank the items content-based on similarity of user profiles and item profiles. The advantage of this approach is that users gain insights on why an item is considered relevant to them. The data used is the data obtained from the Department of Agriculture District of Sleman.

Recommendations given system is based on the level of similarity profile items with user profiles. System testing process is to find relevant results from the recommendation list. Then calculate the precision, and the average. Based on testing of 10 profiles trader with 15 top recommendations farmer groups, showed an average of precision is 78.40%. Based on that evaluation system can not be said to be good because the testing is using only precision.

Key word : recommendation system, content based filtering, vector space model, mobile application.


(10)

(11)

xi

Puji dan syukur saya panjatkan kepada Tuhan Yang Maha Esa karena segala berkat dan rahmat yang telah diberikan sehingga saya dapat menyelesaikan tugas akhir dengan

judul “Sistem Rekomendasi Hasil Pertanian Tanaman Pangan Menggunakan Pendekatan Content Based Filtering”.

Pada kesempatan ini saya ingin mengucapkan terima kasih kepada pihak-pihak yang telah mendukung saya selama pengerjaan tugas akhir ini. Ucapan terima kasih ini saya tunjukkan kepada:

1. Bapak Puspaningtyas Sanjoyo Adi S.T., M.T. selaku dosen pembimbing yang

senantiasa memberikan masukkan dan bantuan dalam membimbing penulis untuk

menyelesaikan tugas akhir ini.

2. Ibu Paulina Heruningsih Prima Rosa, S.Si., M.Sc. selaku dekan Fakultas Sains dan Teknologi Universitas Sanata Dharma.

3. Ibu Ridowati Gunawan, S,Kom., M.T. selaku ketua jurusan Teknik Informatika Universitas Sanata Dharma.

4. Pihak sekretariat dan laboran FST yang turut membantu penulis dalam menyelesaikan tugas akhir ini.

5. Kedua orangtua saya, Ir. Bambang Setiyo dan Chatarina Herningsih, serta kakak saya Yohanes Pandu Prasetya, S.E., dan calon kakak ipar Adinda Putri Widyaningtyas, dan segenap keluarga atas dukungan dan doa yang mengalir tanpa henti untuk penulis.


(12)

Ilan, Rista, Angga, Endro, Devi, Henfri, Bebeth, Ocha, Surya, Tista dan segenap teman-teman TI USD yang tidak dapat penulis sebutkan satu-persatu.

7. Yohanes Januadi, yang walaupun datang di akhir perjuangan, tetapi doa dan motivasi penuh yang diberikan selalu menguatkan.

8. Seluruh pihak yang membantu kelancaran dalam penulisan Tugas Akhir ini, secara langsung dan tidak langsung, yang tidak dapat saya sebutkan satu-persatu.

Saya menyadari masih terdapat banyak kekurangan dalam penelitian ini. Saran dan kritik akan selalu saya nantikan untuk perbaikan di masa yang akan datang.

Akhir kata, saya berharap tulisan ini dapat bermanfaat bagi kemajuan dan perkembangan ilmu pengetahuan serta para pembaca sekalian.

Yogyakarta, 26 Mei 2013


(13)

xiii

HALAMAN PERSETUJUAN ... iii

HALAMAN PENGESAHAN ... v

HALAMAN PERSEMBAHAN ... vi

PERNYATAAN KEASLIAN KARYA ... vii

ABSTRAK ... viii

ABSTRACT ... ix

HALAMAN PERSETUJUAN ... x

KATA PENGANTAR ... xi

DAFTAR ISI ... xiii

DAFTAR GAMBAR ... xviii

DAFTAR TABEL ... xix

BAB 1 PENDAHULUAN ... 1

1.1 Latar Belakang Masalah ... 1

1.2 Rumusan Masalah ... 2

1.3 Batasan Masalah ... 3

1.4 Tujuan dan Manfaat Penulisan ... 3

1.5 Metodologi Penelitian ... 4

1.6 Sistematika Penulisan ... 5

BAB 2 LANDASAN TEORI ... 7

2.1 Pengertian Sistem Rekomendasi ... 7

2.1.1 Content Based Filtering ... 8

2.1.2 Vector Space Model ... 11

2.1.3 Pengukuran Performansi ... 13


(14)

2.3.1 Arsitektur Android ... 15

2.3.2 Komponen Dasar ... 17

2.3.3 Location Based Service dan Google Maps ... 17

BAB 3 ANALISA DAN PERANCANGAN ... 20

3.1 Analisis Sistem ... 20

3.1.1 Gambaran Umum Sistem ... 20

3.2 Perancangan Sistem ... 21

3.2.1 Arsitektur Sistem ... 21

3.3 Desain Model Secara Umum ... 24

3.3.1 Diagram Use Case ... 24

3.3.2 Narasi Use Case ... 25

3.3.3 Diagram Aktifitas ... 25

3.3.4 Model Analisis ... 26

3.3.5 Diagram Kelas ... 26

3.3.6 Desain Basis Data ... 27

3.3.7 Perancangan Basis Data ... 27

8. Tabel data_lahan_index ... 31

3.3.8 Desain Antar Muka ... 31

BAB 4 IMPLEMENTASI DAN ANALISIS SISTEM ... 32

4.1 Tahap Implementasi ... 32

4.1.1 Spesifikasi Perangkat Keras dan Perangkat Lunak ... 32

4.1.2 Implementasi Diagram Kelas ... 32

4.2 Pengujian ... 33

4.2.1 Pengujian Kinerja Sistem ... 33


(15)

BAB 5 PENUTUP ... 49

5.1 Kesimpulan ... 49

5.2 Saran ... 50

DAFTAR PUSTAKA ... 51

LAMPIRAN 1 ... 54

1.1. Usecase Login ... 55

1.2. Usecase Kelola Data ... 56

1.3. Usecase Registrasi ... 57

1.4. Usecase Lihat Rekomendasi ... 58

LAMPIRAN 2 ... 60

2.1. Diagram Aktifitas Login ... 61

2.2. Diagram Aktifitas Ubah Data Petani ... 62

2.3. Diagram Aktifitas Tambah Profil Pedagang ... 63

2.4. Diagram Aktifitas Ubah Profil Pedagang ... 64

2.5. Diagram Aktifitas Hapus Profil Pedagang ... 65

2.6. Diagram Aktifitas Perbarui Lokasi Pedagang ... 66

2.7. Diagram Aktifitas Registrasi ... 67

2.8. Diagram Aktifitas Lihat Rekomendasi ... 68

LAMPIRAN 3 ... 69

3.1. Model Analisis Login ... 70

3.1.1. Login (Sequence Diagram) ... 70

3.1.2. Login (Collaboration Diagram) ... 70

3.1.3. Kelas Analisis Login ... 70

3.2. Model Analisis Kelola Data ... 71


(16)

3.2.3. Kelas Analisis Ubah Data Petani ... 72

3.2.4. Tambah Profil Pedagang (Sequence Diagram) ... 73

3.2.5. Tambah Profil Pedagang (Collaboration Diagram) ... 73

3.2.6. Kelas Analisis Tambah Profil Pedagang ... 73

3.2.7. Ubah Profil Pedagang(Sequence Diagram) ... 74

3.2.8. Ubah Profil Pedagang (Collaboration Diagram) ... 74

3.2.9. Kelas AnalisisUbah Profil Pedagang ... 75

3.2.10. Hapus Profil Pedagang (Sequence Diagram) ... 75

3.2.11. Hapus Profil Pedagang(Collaboration Diagram)... 76

3.2.12. Kelas AnalisisHapus Profil Pedagang ... 76

3.2.13. Perbarui Lokasi Pedagang (Sequence Diagram) ... 77

3.2.14. Perbarui Lokasi Pedagang (Collaboration Diagram) ... 77

3.2.15. Kelas AnalisisPerbarui Lokasi Pedagang ... 77

3.3. Model Analisis Registrasi ... 78

3.3.1. Registrasi (Sequence Diagram) ... 78

3.3.2. Registrasi (Collaboration Diagram) ... 78

3.3.3. Kelas Analisis Registrasi... 78

3.4. Model Analisisis Lihat Rekomendasi ... 79

3.4.1. Lihat Rekomendasi (Sequence Diagram)... 79

3.4.2. Lihat Rekomendasi (Collaborative Diagram) ... 80

3.4.3. Kelas Analisis Lihat Rekomendasi ... 80

LAMPIRAN 4 ... 81

4.1. Desain Antarmuka Halaman Utama ... 82

4.2. Desain Antarmuka Halaman Login ... 83


(17)

4.5. Desain Antarmuka Halaman Hasil Rekomendasi ... 86

4.6. Desain Antarmuka Halaman Cari Rekomendasi ... 87

4.7. Desain Antarmuka Halaman Pilih Varietas ... 88

4.8. Desain Antarmuka Halaman Lokasi Pedagang ... 89

LAMPIRAN 5 ... 90

5.1 Registrasi ... 91

5.1.1 Halaman Registrasi Pedagang ... 91

5.2 Login ... 92

5.2.1 Halaman Login Pedagang ... 92

5.3 Kelola Data ... 93

5.3.1 Halaman Ubah Profil Petani... 93

5.3.2 Halaman Ubah Data Lahan ... 94

5.3.3 Halaman Detail Lahan... 95

5.4 Lihat Rekomendasi ... 96

5.4.1 Halaman Profil Pedagang ... 96

5.4.2 Halaman Hasil Rekomendasi ... 97

5.4.3 Halaman Cari Rekomendasi ... 98

5.4.4 Halaman Pilih Varietas ... 99

5.4.5 Halaman Lokasi Pedagang ... 100

5.4.6 Halaman Hasil Jarak ... 101

LAMPIRAN 6 ... 102


(18)

xviii

Gambar 2.1 Vector Space Model... 12

Gambar 2.2 Arsitektur Android... 15

Gambar 3.1 Arsitektur Sistem... 20

Gambar 3.2 Arsitektur Aplikasi (pedagang)... 21

Gambar 3.3 Arsitektur Aplikasi (petani)... 22

Gambar 3.4Use Case Diagram untuk Petani dan Pedagang... 24

Gambar 3.5 Diagram Kelas... 25


(19)

xix

Tabel 3.1 Struktur tabel data_lahan... 27

Tabel 3.2 Struktur tabel data_pedagang... 27

Tabel 3.3 Struktur tabel petani... 27

Tabel 3.4 Struktur tabel petani_jarak... 28

Tabel 3.5 Struktur tabel produk... 28

Tabel 3.6 Struktur tabel query_pdg... 29

Tabel 3.7 Struktur tabel profil_pedagang... 29

Tabel 3.8 Struktur tabel data_lahan_index... 29

Tabel 4.1 Nama varietas tanaman padi...32

Tabel 4.2 Sampel profil 1... 33

Tabel 4.3 Sampel profil 2... 34

Tabel 4.4 Sampel profil 3... 35

Tabel 4.5 Sampel profil 4... 35

Tabel 4.6 Sampel profil 5... 36

Tabel 4.7 Sampel profil 6... 36

Tabel 4.8 Sampel profil 7... 37

Tabel 4.9 Sampel profil 8... 37

Tabel 4.10 Sampel profil 9... 39

Tabel 4.11 Sampel profil 10... 39

Tabel 4.12 Tabel relevansi hasil pencarian rekomendasi petani... 42

Tabel 4.13 Tabel hasil perhitungan precision rekomendasi kelompok tani... 43

Tabel 4.14 Tabel relevansi hasil pencarian rekomendasi pedagang... 47


(20)

1

BAB 1

PENDAHULUAN

1.1 Latar Belakang Masalah

Di negara Indonesia yang merupakan daerah agraris, masih terdapat banyak petani yang kesulitan dalam mendistribusikan hasil panennya. Sebagian besar petani yang berkelompok dan membentuk suatu kelompok tani biasanya menyalurkan hasil pertaniannya kepada pengepul, untuk selanjutnya diteruskan kepada pedagang pasar atau konsumen. Padahal idealnya hasil pertanian dapat disalurkan oleh petani langsung kepada konsumen. Pada kenyataannya, hasil pertanian tidak bisa langsung sampai pada konsumen, melainkan harus melewati beberapa rantai distribusi. Hal ini menjadikan proses penyaluran hasil pertanian menjadi kurang efektif dan efisien, dari segi waktu dan juga biaya.

Berdasarkan pada hal tersebut, penulis ingin membuat sebuah sistem yang dapat mencatat data lahan pertanian serta merekomendasikan lahan pertanian mana saja yang berpotensi menghasilkan komoditas tanaman pangan, berupa padi khususnya untuk Kabupaten Sleman yang masih dalam proses pemulihan pasca bencana Merapi. Sistem tersebut harus dapat diakses dimanapun dan kapanpun, pengguna pun juga secara cepat dapat mengakses informasi melalui sistem tersebut.

Berdasarkan penjelasan tersebut, akan sangat cocok apabila diimplementasikan dengan sistem berbasis mobile. Dengan adanya aplikasi


(21)

efektif dan efisien. Aplikasi mobile ini tentunya harus tepat sasaran dan tepat pengguna. Dalam hal ini sistem mampu memberikan rekomendasi lahan yang sesuai untuk pengguna sistem. Dalam pembuatannya, sistem rekomendasi ini akan menerapkan teori mengenai content based filtering.

Jurnal yang berjudul “An Ontology-Content Based Filtering Method” oleh Peretz Shoval, Veronica Maidel, dan Brancha Shapira menjelaskan tentang pendekatan content-based filtering, sistem memilih dan melakukan peringkat item berdasarkan kesamaan profil pengguna dan profil item. Keuntungan dari pendekatan ini adalah pengguna mendapatkan wawasan tentang mengapa suatu item dianggap relevan untuk mereka.

Aplikasi mobile ini akan diimplementasikan pada smartphone Android. Android merupakan sebuah sistem operasi terbuka yang dianggap mampu menjawab masalah-masalah yang diangkat dalam tugas akhir ini. Pada implementasinya aplikasi mobile ini akan memanfaatkan Google Map yang sudah terintegrasi dengan Android. Dengan aplikasi mobile ini pengguna yang khususnya adalah pedagang akan lebih mudah dalam mengakses informasi mengenai lahan pertanian yang sesuai dengan profil setiap pedagang.

1.2 Rumusan Masalah

Masalah-masalah yang akan dibahas untuk pengembangan perangkat lunak ini mencakup :


(22)

1. Bagaimana membangun sebuah sistem rekomendasi mobile hasil pertanian?

2. Bagaimana sistem ini akan membantu pengguna khususnya para pedagang untuk mengetahui informasi lahan dan hasil pertanian berupa padi menggunakan pendekatan content based filtering?

1.3 Batasan Masalah

Mengingat ruang lingkup penelitian mengenai lokasi lahan pertanian ini cukup luas sehingga penelitian ini hanya dibatasi pada :

1. Memetakan lokasi lahan pertanian yang termasuk pada area DIY.

2. Lahan pertanian yang dijadikan sampel adalah yang lahan berada di Kabupaten Sleman.

3. Jenis tanaman yang dapat dipilih hanya tanaman padi.

4. Informasi yang diberikan oleh sistem adalah lokasi lahan, jenis tanaman, luas lahan, kelompok tani, prediksi jumlah hasil panen (dalam kg).

1.4 Tujuan dan Manfaat Penulisan

Tujuan dibuatnya tugas akhir yang berjudul “Sistem Rekomendasi Hasil Pertanian Tanaman Pangan Menggunakan Pendekatan Content Based Filtering”

ini adalah membangun sebuah sistem berbasis mobile yang sesuai dengan teori

Conten Based Filtering pada sistem operasi Android untuk mencatat data lahan

pertanian serta menginformasikan hasil pertanian di Kabupaten Sleman kepada pengguna, khususnya pedagang. Informasi tersebut berupa waktu tanam, waktu


(23)

panen, luas lahan, posisi lahan, hasil panen, kelompok tani. Sistem yang dibuat

mobile ini bertujuan untuk membuat pengguna lebih merasa fleksibel dalam

mengakses informasi tersebut.

Manfaat penulisan tugas akhir ini adalah memberikan kemudahan bagi pengguna khususnya pedagang untuk mengetahui informasi lahan pertanian beserta informasi waktu tanam dan perkiraan panen yang dapat diakses melalui ponsel. Manfaat lainnya adalah dengan dibuatnya sistem ini semoga dapat membantu proses pemasaran hasil pertanian para petani di daerah Sleman.

1.5 Metodologi Penelitian

Pada pelaksanaan pembuatan tugas akhir hingga pembuatan sistem dan penyusunan laporan, penulis menggunakan tahapan :

a. Pengumpulan data dan analisis

Penulis melakukan studi pustaka untuk mengumpulkan informasi. Studi pustaka dilakukan dengan mempelajari teori-teori serta literatur yang mendukung penelitian ini terutama yang berhubungan dengan

recommender system, content-based filtering, serta perangkat lunak

yang digunakan untuk membangun sistem.

Selain itu penulis juga mengumpulkan data seperti data lahan pertanian yang terdapat di Kabupaten Sleman yang digunakan untuk penelitian ini.


(24)

Metode yang dipakai untuk mengembangkan sistem yang dipakai adalah pendekatan content-based filtering dengan pengukuran kemiripan (measuring similarity) antara profil item dan profil user menggunakan algoritma cosine similarity.

c. Evaluasi sistem

Metode evaluasi dilakukan dengan menghitung nilai precision. Nilai

precision inilah yang menentukan berhasil atau tidaknya sistem yang

dibangun dengan metode content-based filtering ini dan implementasi vector space model.

1.6 Sistematika Penulisan

Sistematika penulisan tugas akhir ini dengan susunan sebagai berikut : Bab 1 Pendahuluan

Pada bagian ini berisi tentang penjelasan latar belakang masalah, perumusan masalah, batasan masalah, tujuan, hingga teknik penulisan yaitu metodologi penelitian, dan sistematika penulisan.

Bab 2 Landasan Teori

Pada bagian ini berisi tentang prinsip-prinsip dasar recommender

system, content based filtering, pengertian mobile application.

Bab 3 Analisa Sistem dan Perancangan Sistem

Pada bagian ini berisi tentang sistem yang akan dibuat serta langkah-langkah dan metode yang akan digunakan dalam pembuatan sistem tersebut.


(25)

Bab 4 Implementasi dan Analisis Sistem

Pada bagian ini akan berisi mengenai pembuatan sistem dan cara kerja sistem serta analisa dari sistem yang telah dibuat.

Bab 5 Penutup

Pada bagian ini akan berisi tentang kesimpulan dari keseluruhan pembuatan sistem dan saran untuk pengembangan sistem ke depan.


(26)

7

BAB 2

LANDASAN TEORI

2.1 Pengertian Sistem Rekomendasi

Sistem Rekomendasi atau disebut juga Recommender system merupakan sebuah sistem yang menyarankan informasi yang berguna. Sistem rekomendasi juga dapat menduga apa yang akan dilakukan pengguna untuk mencapai tujuannya, misalnya seperti memilih produk tertentu. Seperti yang disebutkan oleh Paul Resnick dan Hal R. Varian dalam jurnalnya, recommender system membantu dan meningkatkan proses seleksi alam. Suatu yang khas dalam sistem rekomendasi adalah orang memberikan rekomendasi sebagai masukan, kemudian sistem mengagregasikan dan mengarahkan agar sesuai dengan si penerima. Dalam beberapa kasus, transformasi utama ada di dalam proses agregasi. Kasus lainnya nilai sistem terletak pada kemampuannya untuk mencocokkan dua hal yaitu bagian yang dijadikan rekomendasi, dan yang mencari rekomendasi secara baik.

Tugas inti dari recommender system adalah untuk memprediksikan evaluasi subyektif yang akan diberikan pengguna terhadap item. Prediksi ini dihitung menggunakan sejumlah model prediktif yang memiliki karakteristik umum, yaitu mengeksploitasi evaluasi atau penilaian yang diberikan oleh pengguna untuk transaksi yang sebelumnya telah dilihat. Berdasarkan teknik prediksi tertentu yang sedang digunakan, recommender


(27)

system telah diklasifikasikan ke dalam empat kategori utama [Burke, 2007]: collaborative-based, content-based, knowledge-based, hybrid. Pada sistem

yang menggunakan pendekatan collaborative-based paling sederhana menghitung korelasi antara pengguna, memprediksi peringkat produk untuk pengguna saat ini didasarkan pada peringkat yang diberikan oleh pengguna lain, yang sangat berhubungan dengan preferensi pengguna saat ini [Herlocker et al, 1999]. Sedangkan sistem dengan pendekatan content-based hanya menggunakan preferensi dari pengguna saat ini, memprediksi peringkat untuk item yang tak terlihat berdasarkan seberapa banyak deskripsinya atau isinya mirip dengan pengguna [Pazzani dan Billsus, 2007].

2.1.1 Content Based Filtering

Pendekatan Information filtering didasarkan pada bidang

information retrieval (IR) dan teknik yang digunakan pun banyak yang

sama [Hanani et al, 2001]. Satu aspek yang membedakan antara information

filtering dan information retrieval adalah mengenai kepentingan pengguna.

Pada IR pengguna menggunakan ad-hocqueries, sedangkan information

filtering pengguna sudah mempunyai profil yang merepresentasikan

kepentingan jangka panjang, dan sistem mencoba memberikan kepada setiap pengguna, item yang relevan. Berdasarkan pada ukuran kesamaan antara masing-masing profil, sistem memilih dan membuat peringkat pada item yang relevan, kemudian diberikan kepada pengguna. Terdapat dua


(28)

pendekatan pada information filtering, yaitu collaborative filtering dan

content-based filtering.

Pada tugas akhir ini akan menggunakan pendekatan content-based

filtering. Berbeda dengan collaborative filtering yang memilih dan membuat

peringkat item untuk pengguna berdasarkan kesamaan dari pengguna untuk pengguna lain yang menyukai item serupa di masa lalu, tetapi pada pendekatan content-based filtering ini, sistem memilih dan melakukan peringkat item berdasarkan kesamaan profil pengguna dan profil item. Keuntungan dari pendekatan ini adalah pengguna mendapatkan wawasan tentang mengapa suatu item dianggap relevan untuk mereka, karena konten di setiap item nya diketahui dari representasinya. Namun pendekatan ini juga mempunyai kelemahan, misalnya kenyataan bahwa pendekatan ini berfokus pada kemiripan kata kunci. Pendekatan ini tidak mampu menangkap hubungan yang lebih kompleks pada level semantik yang lebih dalam, berdasarkan pada berbagai jenis atribut yang berhubungan dengan obyek terstruktur dari teks [Dai dan Mobasher, 2001]. Kesamaan antara representasi dari pengguna dan representasi dari item akan didasarkan pada prinsip kedekatan yang menyatakan bahwa jarak dari dua deskripsi item secara langsung berkaitan dengan kesamaan mereka [Knappe, 2005].

Menurut International Journal "Information Theories & Applications" Vol.15 / 2008 oleh Peretz Shoval, Veronica Maidel, Brancha Shapira dijelaskan bahwa representasi dari konten untuk profil item adalah : Profil item terdiri dari serangkaian konsep yang mewakili isinya. Misalnya,


(29)

jika item berkaitan dengan olahraga, dan secara khusus sepak bola, ini diwakili dengan konsep sepak bola saja. Sedangkan representasi dari konten untuk profil pengguna adalah : Profil pengguna terdiri dari daftar yang berbobot yang merepresentasikan keinginannya. Sebagai contoh, profil

pengguna berisi konsep „olahraga‟ saja, atau „olahraga‟ dan „sepakbola‟, atau „sepak bola‟ dan „basket‟, atau ketiganya. Ini berarti bahwa konsep

tertentu dalam profil item mungkin “matched” (yaitu dibandingkan) dengan

lebih dari satu konsep setara dalam profil pengguna. Misalnya jika dalam

profil item terdapat „sepak bola‟ dan profil pengguna terdapat „olahraga‟ dan „sepak bola‟ maka terdapat “perfect match” antara dua profil tersebut.

Dalam jurnal yang berjudul „Using Content-based Filtering for

Recommendation‟ oleh Robin van Meteren dan Marteen van Someren,

sistem rekomendasi yang sedang diperkenalkan saat itu adalah PRES, yang merupakan akronim dari Personal Recommender System. Sistem ini bertujuan untuk membantu pengguna menemukan informasi yang sesuai dengan kepentingan mereka pada website. Sistem rekomendasi dapat meningkatkan website untuk pengguna individu dengan menambahkan

hyperlink secara dinamis. Tujuannya adalah untuk memudahkan pengguna

dalam menemukan item yang sesuai, sehingga dapat meningkatkan interaksi antara sistem dan pengguna. PRES menggunakan content-based filtering dimana sistem membuat rekomendasi dengan membandingkan profil pengguna dengan isi setiap dokumen dalam koleksi. Isi dokumen dapat direpresentasikan dengan satu set term. Term diekstrak dari dokumen


(30)

dengan menjalankan sejumlah langkah parsing. Pertama, semua tag html dan stop word (kata yang sering muncul dan tidak dapat digunakan sebagai diskriminator) akan dihapus. Kata yang tersisa dikurangi menjadi induk mereka dengan menghapus awalan dan akhiran [Porter, 1980].

Terdapat beberapa cara untuk merepresentasikan agar dapat digunakan sebagai komponen pembelajaran. Sebuah metode yang paling sering digunakan adalah Vector Space Model. Pada metode ini, dokumen D direpresentasikan sebagai vektor m dimensional. Dimana setiap dimensi berkorespondensi terhadap term yang berbeda dan m adalah total jumlah

term yang dipakai dalam koleksi dokumen. Vektor dokumen adalah ditulis

sebagai, wi adalah bobot dari term tiyang menunjukkan tingkat kepentingan.

Jika pada dokumen D tidak mengandung term timaka bobot dari wiadalah

nol. Bobot term dapat ditentukan dengan menggunakan skema tf-idf. Pada pendekatan ini bobot dihitung berdasarkan pada seberapa sering sebuah

term muncul pada sebuah dokumen, dan seberapa sering ditemukan dalam

koleksi dokumen. Selanjutnya teori mengenai vector space model akan dibahas dalam sub bab berikutnya.

2.1.2 Vector Space Model

Vector space model adalah suatu model yang digunakan untuk mengukur kemiripan antara suatu dokumen dengan suatu query. Pada model ini, query dan dokumen dianggap sebagai vektor-vektor pada ruang n-dimensi, dimana n adalah jumlah dari seluruh term yang ada dalam


(31)

leksikon. Leksikon adalah daftar semua term yang ada dalam indeks [Salton, 1989].

Vector space model digunakan karena pada metode ini memungkinkan proses pemeringkatan dokumen. Metode ini menghitung nilai cosinus dari dua vektor. Dua vektor tersebut adalah bobot dari tiap dokumen dan bobot dari query. Bobot dokumen dan query digunakan untuk proses pemeringkatan dokumen, seperti yang terlihat pada Gambar 2.1 berikut.

Gambar 2.1 Vector Space Model

Pembobotan term dalam vektor dokumen dapat ditentukan dalam banyak cara. Pendekatan yang umum, dan digunakan dalam tugas akhir ini adalah metode TF-IDF. Pada metode ini, bobot term ditentukan oelh dua faktor: seberapa sering term j terdapat dalam dokumen i (term frequency tfi,j)

dan seberapa sering muncul dalam seluruh dokumen koleksi (document

frequency dfj). Tepatnya bobot term j pada dokumen i dirumuskan seperti

berikut :


(32)

N merupakan jumlah dokumen yang terdapat dalam koleksi dokumen. Idf merupakan singkatan dari inverse document frequency. Metode ini memberikan bobot tinggi pada term yang sering muncul pada sedikit dokumen pada dokumen set.

Setelah bobot term dihitung, diperlukan suatu fungsi pemeringkatan untuk mengukur kemiripan antara query dan dokumen vektor. Pengukuran kemiripan yang umum dikenal sebagai pengukuran kosinus. Pengukuran ini menentukan sudut antara vektor dokumen dan query ketika direpresentasikan dalam V-dimensional Euclidean, dimana v adalah ukuran vocabulary. Tepatnya kemiripan antara dokumen Di dan query Q didefinisikan sebagai berikut : [Lee, 1997]

Sim(Q,Di) =

2.1.3 Pengukuran Performansi

Menurut Lee (1997) cara konvensional untuk mengukur kualitas hasil yang dikembalikan oleh sebuah sistem dalam menanggapi permintaan adalah dengan menggunakan recall dan precision.

(2.2)

     1 1 , 2 , 2 1 ) , , ( j j j i j Q j

w

w

w


(33)

a. Recall

Recall adalah proporsi dari semua dokumen relevan yang

dapat ditemukan-kembali oleh sebuah proses pencarian di sistem. Pada kasus ini adalah lahan pertanian ditemukan dalam proses pencarian. Rumusnya adalah :

Recall = jumlah dokumen relevan yang berhasil ditemukan jumlah seluruh dokumen yang ditemukan

b. Precision

Precision adalah proporsi jumlah dokumen yang ditemukan

dan dianggap relevan untuk kebutuhan si pencari informasi.

Precision = jumlah dokumen relevan yang berhasil ditemukan jumlah seluruh dokumen yang relevan

c. Average Precision

Untuk mengevaluasi strategi retrieval terhadap semua query, dihitung rata-rata dari precision di tiap recall :

Keterangan :

P (r) = average precision pada level recall ke- r N (q) = jumlah query yang digunakan, dan

Pi (r) = precision pada level recall ke- r untuk query ke- i

(2.3)

(2.4)


(34)

2.2 Perangkat Bergerak (Mobile Device)

Menurut Gartner (2003), perangkat bergerak secara umum dapat diklasifikasikan dalam 2 kategori, yaitu: [1] Telepon selular dengan peningkatan kemampuan komputasi, termasuk menampilkan grafik dan kemampuan berinteraksi dengan grafik (seperti: smartphone dan

communicator); [2] Komputer portabel, yang dapat diintegrasikan dengan

kemampuan komunikasi audio-video (seperti: PDA, dan lain-lain).

Pada umumnya perangkat bergerak yang digunakan untuk aplikasi klien kartografi memiliki sistem operasi (operating system), yang memberi pengguna sebuah antarmuka dan kontrol sinkronisasi perangkat. Saat ini sistem operasi yang popular untuk smartphone adalah: iPhone OS, Android, Blackberry, dan Microsoft Windows Mobile.

2.3 Android

Android merupakan operating system untuk mobile yang sedang tumbuh di tengah OS mobile lainnya, seperti Windows Mobile, i-Phone OS, Symbian. Android dikembangkan untuk perangkat mobile berbasis Linux. 2.3.1 Arsitektur Android

Sistem operasi Android dibangun berdasarkan kernel Linux dan memiliki arsitektur seperti gambar berikut .


(35)

Gambar 2.2 Arsitektur Android

Seperti yang terlihat pada gambar tersebut, arsitektur Android terdiri dari Application yang merupakan lapisan aplikasi, aplikasi tersebut ditulis dengan bahasa pemrograman Java, Application Framework yang merupakan pengembangan aplikasi yang memiliki akses penuh ke Android, sama dengan aplikasi inti yang telah tersedia. Arsitektur aplikasi ini dirancang untuk menyederhanakan penggunaan kembali komponen. Lapisan arsitektur lainnya terdapat Libraries, merupakan satu set libraries dalam bahasa C/C++ yang digunakan oleh berbagai komponen pada sistem Android, kemudianAndroid Runtime yang merupakan satu set libraries inti yang menyediakan sebagian besar fungsi yang tersedia di libraries inti dari bahasa pemrograman Java. Setiap aplikasi akan berjalan sebagai proses sendiri pada Dalvik Virtual Machine (VM). Lapisan yang terakhir adalah


(36)

Linux Kernel, kernel bertindak sebagai lapisan antara hardware dan seluruh

software.

2.3.2 Komponen Dasar

Aplikasi Android ditulis dalam bahasa pemrograman Java. Java mengompilasi kode bersama dengan data resource dan file yang dibutuhkan oleh aplikasi disatukan ke dalam paket Android, file arsip ditandai dengan .apk. Komponen aplikasi pada Android terdiri 4 komponen utama, yaitu

Activities yang merupakan potongan kode executable yang menyajikan UI

secara visual dimulai oleh pengguna maupun sistem operasi dan berjalan selama diperlukan, Service yang berjalan di latar belakang untuk waktu yang tidak terbatas, Broadcast Receiver merupakan komponen yang menerima dan bereaksi untuk menyiarkan pengumuman, Content Provider diciptakan untuk berbagi data dengan Activities lain atau Service, sebuah content provider menggunakan antarmuka standar dalam bentuk URI untuk memenuhi permintaan data dari aplikasi lain.

2.3.3 Location Based Service dan Google Maps

Salah satu fitur yang mendefinisikan ponsel adalah mudah dibawa, sehingga tidak mengherankan bahwa beberapa fitur Android paling menarik adalah layanan yang memungkinkan untuk menemukan dan mengontekstualisasikan lokasi peta secara fisik.

Google Maps memungkinkan penggunanya untuk membuat peta berbasis Aktivitas sebagai elemen User Interface. Pengguna memiliki akses


(37)

penuh ke peta, yang memungkinkan untuk mengontrol pengaturan tampilan, mengubah tingkat zoom, dan memindahkan lokasi terpusat. Dengan menggunakan Overlay, pengguna dapat menambahkan keterangan peta dan menangani masukan pengguna untuk memberikan informasi dan fungsi dari

map-contextualized.

Location-based service adalah layanan yang memungkinkan pengguna menemukan lokasi perangkat saat itu. Termasuk teknologi seperti GPS dan teknologi Google yang berbasis lokasi. Pengguna dapat menentukan teknologi location-sensing secara eksplisit yaitu dengan nama, atau secara implisit yaitu dengan mendefinisikan seperangkat kriteria dalam hal akurasi, biaya, dan persyaratan lainnya.

Peta dan layanan berbasis lokasi menggunakan garis lintang dan

bujur untuk menentukan lokasi geografis, namun pengguna lebih cenderung untuk berpikir menggunakan alamat. Android menyediakan geocoder yang mendukung proses forward dan reverse geocoding. Geocoder

memungkinkan pengguna untuk mengkonversi bolak balik antara lintang atau bujur dan alamat dunia nyata. Pemetaan, geocoding, dan layanan berbasis lokasi digunakan bersama-sama pada perangkat canggih untuk menggabungkan mobilitas ponsel ke dalam aplikasi mobile pengguna.

Terdapat dua elemen LBS yaitu :

a. Location Manager : menyediakan pengait ke Location Based


(38)

perpindahan dan mengatur tanda kedekatan untuk mendeteksi gerakan masuk dan keluar dari area tertentu.

b. Location Provider : masing-masing mewakili teknologi

lokasi-temuan yang berbeda yang digunakan untuk menentukan lokasi perangkat.


(39)

20

BAB 3

ANALISA DAN PERANCANGAN

3.1 Analisis Sistem

3.1.1 Gambaran Umum Sistem

Analisis sistem merupakan suatu teknik penyelesaian masalah yang membagi sistem ke dalam bagian-bagian komponen kecil dengan tujuan agar bagian-bagian dari komponen tersebut dapat bekerja dengan baik. Analisis sistem bertujuan mendapatkan pemahaman secara keseluruhan tentang sistem yang akan dibuat berdasarkan masukan dari pihak-pihak yang berkepentingan dengan sistem tersebut.

Seperti yang telah disampaikan di latar belakang masalah, sistem yang akan dibuat ini digunakan untuk memberikan informasi mengenai lahan pertanian di kawasan Sleman, DIY. Sistem yang akan dibangun mempunyai sasaran pengguna yaitu masyarakat pada umumnya dan para pedagang pada khususnya yang ingin mengetahui informasi hasil pertanian berupa tanaman padi yang berada di kawasan Sleman tersebut. Informasi yang akan didapatkan oleh pengguna sistem adalah pemilik lahan, tanggal tanam, perkiraan masa panen, dan perkiraan hasil panen, letak lokasi, dan luas lahan.

Sistem mempunyai 2 level pengguna yaitu pedagang dan petani yang bertugas melakukan update data. Pengguna tersebut mempunyai hak


(40)

untuk mendapatkan rekomendasi mengenai informasi lahan pertanian yang ditampilkan oleh sistem. Dalam pembangunan sistem rekomendasi lahan pertanian ini, penulis mengumpulkan data pertanian Kecamatan Cangkringan dari Dinas Pertanian Kabupaten Sleman.

3.2 Perancangan Sistem

3.2.1 Arsitektur Sistem

Gambar 3.1 Arsitektur Sistem

Pada gambar tersebut terlihat bahwa mobile digunakan sebagai

dumb terminal. Sedangkan penyimpanan data dan proses rekomendasi,

seperti perhitungan menggunakan vector space model terjadi di web server. Berikut merupakan arsitektur aplikasi, atau proses yang terjadi pada web server :


(41)

kel_tani, varietas, tgl tanam, tgl panen, jumlah

data corpus (varietas, jumlah)

Vector Space Model

User (Pedagang tengkulak)

, × , =1

2

�,

=1 ×

2 , =1

List Rekomendasi similarity process

Masukan profil pengguna (nama, varietas,

jumlah)


(42)

Petani

Masukan profil item (kel_tani,varietas,

jumlah, lokasi)

perubahan database

profil item yang telah berubah

Gambar 3.3 Arsitektur Aplikasi (petani)

Hasil rekomendasi pada penelitian ini didapatkan dengan menggunakan metode Vector Space Model, dengan mengukur kedekatan antara profil pengguna dan profil item menggunakan rumus cosine


(43)

similarity. Pada implementasi vector space model pada umumnya adalah

untuk menghitung kemiripan dokumen. Namun pada tugas akhir ini, metode vector space model tidak digunakan untuk menghitung kemiripan dokumen, tetapi menghitung kemiripan profil item, dalam hal ini petani dan profil pengguna, dalam hal ini pedagang.

Contoh perhitungan kemiripan profil menggunakan algoritma vector space model, yang telah disesuaikan dengan kasus pada penelitian tugas akhir ini dapat dilihat pada lampiran 6 halaman 102.

3.3 Desain Model Secara Umum

3.3.1 Diagram Use Case

Diagram use case merupakan diagram yang menggambarkan interaksi antara sistem dengan sistem eksternal dan pengguna. Dengan kata lain, secara grafis menggambarkan siapa yang akan menggunakan sistem dan dengan cara apa pengguna mengharapkan untuk berinteraksi dengan sistem. (Whitten, 2004).


(44)

Petani

Lihat rekomendasi Login Registrasi

Kelola data

Pedagang depends on

depends on

Gambar 3.4 Use Case Diagram untuk Petani dan Pedagang 3.3.2 Narasi Use Case

Setiap use case pada diagram use case gambar 3.4, akan dirinci dalam sebuah narasi use case yang akan mendeskripsikan secara tertulis aktivitas yang ada pada use case, adapun skenario use case dari gambar diagram use case tersebut terdapat pada lampiran 1 halaman 54.

3.3.3 Diagram Aktifitas

Merupakan diagram yang menjelaskan aktivitas antara user dengan sistem. Secara lebih rinci tahap activity diagram dapat dilihat pada lampiran 2 halaman 60.


(45)

3.3.4 Model Analisis

Merupakan suatu proses untuk menterjemahkan skenario use case menjadi kelas analisis. Dalam kelas analisis terdapat tiga jenis, yaitu

form/boundary, contoller, dan entity. Model analisis secara rinci dapat

dilihat pada lampiran 3 halaman 69. 3.3.5 Diagram Kelas

Diagram kelas dari sistem yang akan dibangun adalah seperti pada gambar 3.5. «interface» HalamanLoginPdg «interface» HalamanLoginPtn «interface» HalamanRegistrasiPtn «interface» HalamanDaftarLahan «interface» HalamanRegistrasiPdg «interface» HalamanUbahProfilPtn «interface» HalamanUbahDataLahan «interface» HalamanCariRekomendasi «interface» HalamanUtama «interface» HalamanPilihVarietas «interface» HalamanLokasiPedagang «interface» HalamanHasilRekomendasiPdg <<Entity>> data_pedagang «interface» HalamanProfilPedagang «interface» HalamanHasilRekomendasi «interface» HalamanHasilJarak <<Entity>> profil_pedagang <<Entity>> produk <<Entity>> petani <<Entity>> data_lahan <<Entity>> query_pedagang <<Entity>> petani_jarak <<Controller>> login <<Controller>> registrasi <<Controller>> hitungcosim <<Controller>> tampilprofil 1 * 1 * «interface» HalamanDetailLahan <<Controller>> datalahan 1 * 1 *

1* 1 *

1 * 1* 1 * 1 * 1 * 1 * 1 * 1* 1 * 1 * 1 * 1 * 1 * 1 *

Gambar 3.5 Diagram Kelas

Kelas PHP Kelas Android


(46)

3.3.6 Desain Basis Data

Perancangan diagram E-R menggambarkan relasi antar entitas (entity)

yang digunakan untuk sistem. Berikut ini adalah desain fisik dari basis data yang dirancang. produk id_produk N id_lahan 1 jenis petani nama_keltani username nama_produk data_lahan varietas tgltanam N luas tglpanen luas id_keltani password alamat cosim telepon longitude latitude permintaan longitude latitude data_pedagang id_pdg telepon_pdg username_pdg cosim alamat_pdg nama_pdg password_pdg N profil_pedagang

Gambar 3.6 ERD Sistem

3.3.7 Perancangan Basis Data

Dari tabel-tabel yang terbentuk selanjutnya penulis akan merancang struktur data dari masing-masing tabel :

1. Tabel data_lahan


(47)

Nama Field Tipe Ukuran

id_lahan Double -

id_kel_tani Double -

id_produk Double -

jenis Varchar 30

varietas Varchar 30

tgl_tanam Date -

tgl_panen Date -

latitude Double -

longitude Double -

luas Double -

hasil double -

username varchar 20

2. Tabel data_pedagang

Tabel 3.2 Struktur tabel data_pedagang

Nama Field Tipe Ukuran

id_pdg int 11

username_pdg varchar 20

password_dpg varchar 20

nama_pdg varchar 30

telepon_pdg varchar 12

alamat_pdg varchar 50


(48)

3. Tabel petani

Tabel 3.3 Struktur tabel petani

Nama Field Tipe Ukuran

id_kel_tani Double -

nama_kel_tani Varchar 30

cosim Double -

username Varchar 20

password Varchar 20

alamat Varchar 100

latitude Double -

longitude Double -

jarak Double -

telepon varchar 13

4. Tabel petani_jarak

Tabel 3.4 Struktur tabel petani_jarak

Nama Field Tipe Ukuran

id_kel_tani Double -

nama_kel_tani Varchar 30

cosim Double -

username Varchar 20

password Varchar 20

alamat Varchar 100

latitude Double -

longitude Double -

jarak Double -


(49)

5. Tabel produk

Tabel 3.5 Struktur tabel produk

Nama Field Tipe Ukuran

id_produk double -

nama_produk varchar 40

6. Tabel query_pdg

Tabel 3.6 Struktur tabel query_pdg

Nama Field Tipe Ukuran

id_query int 3

id_produk int 3

latitude Double -

longitude double -

7. Tabel profil_pedagang

Tabel 3.7 Struktur tabel profil_pedagang

Nama Field Tipe Ukuran

id_pedagang Int 11

id_produk Int 11

nama_produk Varchar 30

permintaan Double -


(50)

8. Tabel data_lahan_index

Tabel 3.8Struktur tabel data_lahan_index

Nama Field Tipe Ukuran

id_lahan Double -

id_kel_tani Double -

id_produk Double -

jenis Varchar 30

varietas Varchar 30

tgl_tanam Date -

tgl_panen Date -

latitude Double -

longitude Double -

luas Double -

hasil double -

username varchar 20

3.3.8 Desain Antar Muka

Pada desain antarmuka sistem ini akan ditampilkan desain dari tiap halaman yang akan dibentuk. Desain antarmuka akan dijelaskan lebih lengkap di lampiran 4 halaman 81.


(51)

32

4

BAB 4

IMPLEMENTASI DAN ANALISIS SISTEM

4.1 Tahap Implementasi

Penelitian ini telah diimplementasikan menjadi sebuah aplikasi yang siap digunakan, yang dibangun dengan tahapan-tahapan berikut : 4.1.1 Spesifikasi Perangkat Keras dan Perangkat Lunak

Perangkat keras yang dipakai untuk membangun sistem adalah sebagai berikut:

Processor : AMD Athlon Neo Processor MV-40 1.60 GHz

Memori : 2GB

Hard Disk : 250 GB

Perangkat lunak yang dipakai untuk membangun sistem adalah sebagai berikut:

Editor Program : IDE Eclipse 3.6.2 Helios

DBMS : MySql 5.0

4.1.2 Implementasi Diagram Kelas

Program dibangun dengan berbasis orientasi obyek, sehingga dalam implementasinya dibutuhkan kelas-kelas untuk mendefinisikan obyek-obyek yang akan dipakai. Adapun kelas-kelas yang telah terbentuk akan dijelaskan di lampiran 7 halaman 110.


(52)

4.2 Pengujian

Tahap akhir dari penelitian ini adalah pengujian sistem yang telah dibangun. Sistem rekomendasi hasil pertanian yang dibangun pada sistem operasi android ini telah berhasil diimplementasikan ke dalam sebuah program, yang dapat diakses oleh pengguna secara langsung. Analisis sistem akan dibagi ke dalam beberapa bagian, yaitu pengukuran kinerja sistem, kelebihan, serta kekurangan sistem yang telah dibangun.

4.2.1 Pengujian Kinerja Sistem

4.2.1.1 Pengujian Presisi Sistem untuk Rekomendasi Petani

Pengukuran presisi dilakukan dengan membandingkan kelompok tani yang relevan bagi pedagang, dengan kelompok tani hasil rekomendasi sistem. Definisi relevan bagi pedagang adalah kelompok tani yang menjual hasil panen yang sesuai atau cocok dengan profil pedagang dan besarnya hasil panen mendekati jumlah permintaan pedagang.

Berikut ini adalah sampel data yang digunakan sebagai item query dan item profil. Sampel data produk yang akan digunakan sebagai item

query adalah :

Tabel 4.1 Nama varietas tanaman padi No Varietas (Profil Query)

1 Aek Sibundong 2 Angke

3 Banyuasin 4 Batang Gadis 5 Batang Lembang


(53)

6 Batang Piaman 7 Batanghari 8 Batutegi 9 Bernas Prima 10 Bondojudo 11 Celebes 12 Ciapus 13 Ciasem 14 Cibodas 15 Cibogo 16 Cigeulis 17 Ciherang

18 Cilamaya Muncul 19 Ciliwung

20 Cimelati 21 Cirata 22 Cisadane 23 Cisantana 24 Cisokan 25 Conde 26 Danau Gaung 27 Fatmawati 28 Gilingsing 29 Gilirang 30 Hipa 3 31 Hipa 4 32 Hipa 8 Pioneer 33 Impari 34 Inpara 1 35 Inpara 2 36 Inpara 3 37 INPARI 1 38 INPARI 2 39 INPARI 3 40 INPARI 4

41 Inpari 8 42 Inpari 9 Elo 43 Intani 1 44 Intani 2 45 IR 36 46 IR 42 47 IR 64 48 IR 66 49 Kalimas 50 Ketonggo 51 Konawe 52 Lambur 53 Limboto 54 Logawa 55 Luk Ulo 56 Lusi 57 Margasari 58 Martapura 59 Mekongga 60 Mendawak 61 Mendawan 62 Hipa 5 Ceva 63 Pepe 64 Rokan 65 Sarinah 66 Setail 67 Siak raya 68 Silugonggo 69 Singkil 70 Sintanur 71 Situ bagendit 72 Situ Patenggang 73 Sunggal 74 Towuti 75 Wera


(54)

Di bawah ini merupakan sampel data pedagang yang digunakan sebagai item profil. Pengujian dilakukan terhadap 10 profil pedagang. Hasil yang dikeluarkan oleh sistem adalah sebanyak 15 rekomendasi. Dari kelimabelas rekomendasi tersebut pedagang memilih beberapa diantaranya yang dianggap relevan dengan profilnya Maka dari itu pedagang hanya memilih kelompok tani yang sesuai atau cocok dengan profilnya dari keseluruhan hasil rekomendasi yang diberikan.

Tabel 4.2 Sampel profil 1 :

Varietas yang dipilih : Cibodas (450), Ciherang (300), Cisadane (600)

Kelompok Tani : Urutan dalam sistem :

Tani Maju 1

Gadu Subur 2

Ngudi Rejeki 3

Pawar Datih 4

Ngudi Makmur 5

Tunas Fajar 6

Tani Makmur 8

Tani Lestari 10

Makmur Sejahtera 11

Sumber Rejeki 12


(55)

Tabel 4.3 Sampel profil 2 :

Varietas yang dipilih : Bernas Prima (375), Cimelati (550)

Kelompok Tani : Urutan dalam sistem :

Mandiri 1

Handayani 2

Tani Pertiwi 3

Tani Maju 4

Makmur Sejahtera 5

Tani Unggul 6

Margo Mulyo 7

Harapan Jaya 8

Mekarsari 9

Lestari Makmur 10

Sinar Harapan 11

Muda Berkarya 12

Tani Lestari 13

Makarti 14

Tabel 4.4 Sampel profil 3:

Varietas yang dipilih : Gilirang (380), Impari (800), Inpari 9 Elo (670), Kalimas (250), IR 36 (410), Konawe (125)

Kelompok Tani : Urutan dalam sistem :

Kenanga 1

Handayani 2

Bina Makmur 4

Sido Agung 5

Ngudi Makmur 6

Subur Makmur 8


(56)

Gemilang 10

Sido Makmur 12

Tani Unggul 13

Sembodo 14

Tabel 4.5 Sampel profil 4 :

Varietas yang dipilih : Angke (90), Batanghari (120), Ciliwung (700)

Kelompok Tani : Urutan dalam sistem :

Pawar Datih 1

Ngudi Makmur 2

Sido Mulyo 3

Gemah Ripah 4

Sido Makmur 5

Tani Makmur 6

Harapan Jaya 7

Tani Pertiwi Margo Mulyo 8

Subur 9

Lestari 10

Lestari Makmur 11

Margo Mulyo 12

Tabel 4.6 Sampel profil 5 :

Varietas yang dipilih : Banyuasin (540), Batutegi (670), Cibogo (450), Conde (250)

Kelompok Tani : Urutan dalam sistem :

Gemah Ripah 1

Sinar Harapan 2


(57)

Suko Lestari 4

Sido Martani 6

Muda Berkarya 7

Subur Makmur 8

Sumber Tani 9

Subur 10

Makarti 11

Mekarsari 14

Tabel 4.7 Sampel profil 6 :

Varietas yang dipilih : Cisadane (230), Danau Gaung (350), Cigeulis (180), Fatmawati (990), Impari (875)

Kelompok Tani : Urutan dalam sistem :

Karya Maju 1

Tunas Fajar 2

Kenanga 3

Manunggal 4

Tani Unggul 5

Gadu Subur 6

Tani Lestari 7

Ngudi Makmur 8

Subur Makmur 9

Margo Mulyo 11


(58)

Tabel 4.8 Sampel profil 7 :

Varietas yang dipilih : Aek Sibundong (750), Batanghari (900), Celebes (800), Cisokan (550), Danau Gaung (300), Sintanur (475)

Kelompok Tani : Urutan dalam sistem :

Tani Lestari 1

Raharjo 2

Ngudi Makmur 3

Muda Jaya 4

Budi Luhur 5

Lestari Makmur 6

Tani Makmur 7

Muda Berkarya 8

Sri Rejeki 9

Tani Pertiwi 10

Tabel 4.9 Sampel profil 8 :

Varietas yang dipilih : Ciapus (100), Ciasem (70), Cigeulis (150), Cilamaya Muncul (130), Cirata (173), Luk Ulo (225), Margasari (200)

Kelompok Tani : Urutan dalam sistem :

Suko Lestari 1

Subur Makmur 2

Sinar Harapan 3

Sido Martani 4

Subur 5

Muda Berkarya 6

Sido Agung 7

Sido Mulyo 8

Delima 9


(59)

Karya Tani 12

Tabel 4.10 Sampel profil 9 :

Varietas yang dipilih : Hipa 4 (50), Impari (94), Inpara 2 (25), INPARI 3 (65), Inpari 8 (85), IR 36 (120), IR 64 (95), Konawe (100)

Kelompok Tani : Urutan dalam sistem :

Sido Makmur 1

Gemilang 2

Ngudi Makmur 3

Sido Mulyo 4

Tani Unggul 5

Sri Rejeki 6

Lestari Makmur 7

Sembodo 8

Tri M Sedyo 9

Handayani 10

Muda Berkarya 11

Makmur Sejahtera 13

Subur 14

Margo Mulyo 15

Tabel 4.11 Sampel profil 10 :

Varietas yang dipilih : Batutegi (160), Inpara 1 (390), INPARI 2 (570), Inpari 9 Elo (768), Pepe (890), Setail (473), Rokan (1200), Sintanur (1080), Wera (1050)

Kelompok Tani : Urutan dalam sistem :

Lestari 1


(60)

Sido Makmur 3

Sembodo 4

Bina Karya 5

Bina Makmur 7

Delima 8

Budi Daya 9

Budi Luhur 11

Muda Berkarya 12

Makarti 13

Sri Rejeki 14


(61)

Tabel 4.12 Tabel relevansi hasil pencarian rekomendasi petani :

P 1 P2 P3 P4 P5 P6 P7 P8 P9 P10 P11 P12 P13 P14 P15

Profil 1 R R R R R R N R N R R R N R N

Profil 2 R R R R R R R R R R R R R R N

Profil 3 R R N R R R N R R R N R R R N

Profil 4 R R R R R R R R R R R R N N N

Profil 5 R R R R N R R R R R R N N R N

Profil 6 R R R R R R R R R N R N R N N

Profil 7 R R R R R R R R R R N N N N N

Profil 8 R R R R R R R R R N R R N N N

Profil 9 R R R R R R R R R R R N R R R

Profil 10 R R R R R N R R R N R R R R R

Keterangan :


(62)

Profil : Profil Pedagang (Terdapat 10 profil pedagang yang diujikan)

R : Hasil yang relevan N : Hasil yang tidak relevan Contoh :

Untuk sampel profil 1, didapatkan hasil: Tani Maju (1), Gadu Subur (2), Ngudi Rejeki (3), Pawar Datih (4), Ngudi Makmur (5), Tunas Fajar (6), Tani Makmur (8), Tani Lestari (10), Makmur Sejahtera (11), Sumber Rejeki (12), Sembodo (14). Maka untuk query 1 hasil yang relevan adalah index 1, 2, 3, 4, 5, 6, 8, 10, 11, 12, 14.

Tabel 4.13 Tabel hasil perhitungan precision rekomendasi kelompok tani :

No Relevan Not

relevan

Hasil

rekomendasi Precision

Profil 1 11 4 15 0.73

Profil 2 14 1 15 0.93

Profil 3 11 4 15 0.73

Profil 4 12 3 15 0.8

Profil 5 11 4 15 0.73

Profil 6 11 4 15 0.73

Profil 7 10 5 15 0.67


(63)

Profil 10 13 2 15 0.86

Jumlah 7.84

Rata-rata 0.784

% 78.40 %

Keterangan :

Nilai precision didapatkan dengan rumus :

|relevant ∩ retrieved| / |retrieved|. Dapat dilihat hasil presisi untuk profil pedagang 1 sampai 10. Kemudian nilai keseluruhan presisi dirata-rata dan didapatkan hasil rata-rata presisi yaitu sebesar 78.40 %.


(64)

4.2.1.2 Pengujian Presisi Sistem untuk Rekomendasi Pedagang Sampel profil kelompok tani 1 :

Varietas : Cibodas (1946), Inpari 4 (1816.5), Cimelati (1758.4), Situ patenggang (3968), Inpari 1 (1829.1), IR 66 (2181.9), Bernas prima (1897.7), Cilamaya muncul (1937.6), Ciherang (2615.2), Cisadane (1763.3), IR 36 (2500.4), Fatmawati (2275.7), Cisantana (2433.2)

Pedagang : Urutan dalam sistem :

Laurin 1

David 2

Pandu 3

Bonita 4

Christina 5

Rory 6

Sampel profil kelompok tani 2 :

Varietas : Situ bagendit (2186.8), IR 64 (1883), Cisadane (1841), Mendawan (2769.2), Intani 1 (2415.7), Intani 2 (1585.1), Bernas Prima (2408), IR 42 (2191), Rokan (2681.7), Fatmawati (1762.6), Inpari 1 (2149), Konawe (1998.5), Cibodas (2659.3), Inpari 2 (1961.4), Cisantana (2656.5)

Pedagang : Urutan dalam sistem :

David 1

Bonita 2

Laurin 3

Christina 4

Pandu 6


(65)

Sampel profil kelompok tani 3 :

Varietas : Impari (2400.3), Rokan (2251.2), Cisadane 2373.7, INPARI 3 (2265.2), Siak raya (2508.8), Ciapus (1971.2), Ciherang (2591.4), Hipa 8 Pioneer (2243.5), Cisokan (2482.9), Ciliwung (1810.9), IR 66 (1817.9), Cibodas (2308.6), IR 36 (1985.2), Celebes (2646.7), Kalimas (1934.8), INPARI 1 (2607.5), INPARI 2 (1814.4), IR 64( 2662.8), Fatmawati (2276.4)

Pedagang : Urutan dalam sistem :

Putri 1

Pandu 2

Rory 3

Laurin 4

David 5

Christina 6

Bonita 7

Sampel profil kelompok tani 4 :

Varietas : Ciherang (1984.5), Fatmawati (1898.4), Cimelati (2690.1), Situ Patenggang (2075.5), INPARI 1 (1869.7), Margasari (2644.6), IR 36 (2502.5), Cisokan (2401.7), Hipa 8 Pioneer (2473.8), IR 42 (2702.7), Impari (2702), IR 64 (2321.2), Gilingsing (2060.1), INPARI 2 (2429.7), Cibodas (2765)

Pedagang : Urutan dalam sistem :

Putri 1

Laurin 2

Christina 3

Pandu 4

David 5


(66)

Sampel profil kelompok tani 5 :

Varietas : Cibodas (2076.2), Gilingsing (1824.2), Ciapus (2065.7), Ciherang (2510.9), Fatmawati (2275), INPARI 2 (2310), IR 64 (2170.7), Cisadane (2392.6), Situ bagendit (2039.1), Cisantana (1874.6), Batang Gadis (1848), Rokan (1908.2), IR 36 (2270.8)

Pedagang : Urutan dalam sistem :

David 1

Pandu 2

Rory 3

Christina 4

Laurin 5

Bonita 7

Tabel 4.14 Tabel relevansi hasil pencarian rekomendasi pedagang :

Pd 1 Pd 2 Pd 3 Pd 4 Pd 5 Pd 6 Pd 7

Profil 1 R R R R R R N

Profil 2 R R R R N R R

Profil 3 R R R R R R R

Profil 4 R R R R R R N

Profil 5 R R R R R N R

Keterangan :

Pd : Pedagang (Terdapat 7 sampel profil pedagang)


(67)

Tabel 4.15 Tabel hasil perhitungan precision rekomendasi pedagang :

No Relevan Not

relevan

Hasil

rekomendasi Precision Profil 1

6 1 7 0.85

Profil 2

6 1 7 0.85

Profil 3

7 0 7 1.00

Profil 4

6 1 7 0.85

Profil 5

6 1 7 0.85

Jumlah 4.40

Rata-rata 0.88

% 88.00 %

Keterangan :

Nilai precision didapatkan dengan rumus :

|relevant ∩ retrieved| / |retrieved|. Dapat dilihat hasil presisi untuk profil kelompok tani 1 sampai 5. Kemudian nilai keseluruhan presisi dirata-rata dan didapatkan hasil rata-rata presisi yaitu sebesar 88.00 %.


(68)

49

5

BAB 5

PENUTUP

5.1 Kesimpulan

Pembangunan sistem ini menggunakan algoritma vector space model. Terdapat 1000 lahan yang digunakan sebagai data sampeldalam sistem. Dari proses implementasi kesimpulan yang didapat adalah :

1. Pedagang mendapatkan informasi mengenai petani mana saja yang memiliki profil yang sama dengannya. Petani mendapatkan informasi mengenai pedagang mana saja yang memiliki profil yang sama dengannya.

2. Pengujian presisi dilakukan dengan membandingkan kelompok tani yang relevan bagi pedagang, yaitu kelompok tani yang dipilih oleh pedagang dengan kelompok tani hasil rekomendasi sistem.

3. Berdasarkan pengujian terhadap 10 profil pedagang dengan 15 rekomendasi kelompok tani teratas, didapatkan hasil presisi rata-rata sebesar 78.40 %.

4. Berdasarkan hasil evaluasi sistem ini belum dapat dikatakan baik karena pengujian yang dilakukan hanya menggunakan precision saja.


(69)

5.2 Saran

Dari sistem yang dibuat masih diperlukan beberapa saran antara lain: 1) Bagi pengguna

Aplikasi MyAgresa melakukan perhitungan komputasi pada web server. Apabila terdapat banyak data lahan maka aplikasi ini akan berjalan

lambat. Agar hasil komputasi dapat berjalan dengan baik penulis

menyarankan pengguna menggunakan handphone yang memiliki RAM

besar dan prosesor yang cepat.

2) Bagi peneliti selanjutnya

Sistem ini masih banyak kekurangan. Oleh karena itu, sebaiknya bagi peneliti selanjutnya dapat memperbaiki kualitas dan kinerja sistem, diantaranya :

a. Aplikasi tidak hanya memberikan rekomendasi tanaman padi, tetapi juga tanaman pangan lainnya.

b. Aplikasi dapat memberikan rekomendasi dengan memperhitungkan tanggal panennya.

c. Aplikasi tidak hanya memberikan informasi mengenai lahan pertanian yang berlokasi di DIY saja, tetapi mencakup lahan di luar DIY.

d. Aplikasi dapat berjalan di berbagai operating system.

e. Sistem akan lebih baik apabila pengujian sistem dilakukan tidak hanya menggunakan precision tetapi juga menggunakan recall.


(70)

51

DAFTAR PUSTAKA

Billsus, D. Pazzani, M. J. “A Personal News Agent that Talks, Learns and

Explains”, In Autonomous Agents 98, Minneapolis MN USA.

Burke, R. (2007). Hybrid web recommender systems. In The Adaptive Web, pages 377–408. Springer Berlin / Heidelberg.

Dai, H., & Mobasher, B. (2001). Using ontologies to discover domain-level web

usage profiles. Proc. of the Second Semantic Web Mining Workshop at

PKDD 2001, Helsinki, Finland.

Herlocker, J.L., Konstan, J.A., Terveen, L.G. & Riedl, J.T. Evaluating

collaborative filtering recommender systems. ACM Transactions on

Information Systems, 22(1), 5-53.

Hermawan, Stephanus. 2011. Mudah Membuat Aplikasi Android. Yogyakarta : Andi Offset

Knappe, R. (2005). Measures of Semantic Similarity and Relatedness for Use in

Ontology-based Information Retrieval. Ph.D. Thesis, Roskilde University,

Department of Communication, Journalism and Computer Science. Lee, Dik L. 1997. Document Rangking and the Vector-Space Model. Hongkong. Meier, Reto. 2009. Professional Android Application Development. Indianapolis,


(71)

Meteren, Robin dan Someren, Maarten. Using Content-Based Filtering for

Recommendation. Amsterdam.

Resnick, Paul dan Varian, Hal R. (1997). Recommender systems. Communications of the ACM, Vol. 40, No. 3, 56-58.

Ricci, Francesco. 2010. Mobile Recommender Systems. Italy.

Shoval, Peretz., Meidel, Veronica., dan Shapira, Brancha. (2008). An

Ontology-Content-Based Filtering Method. International Journal “Information


(72)

(73)

LAMPIRAN 1

NARASI USE CASE

1.1. USECASE LOGIN ...55

1.2. USECASE KELOLA DATA ...56

1.3. USECASE REGISTRASI ...57


(74)

1.1. Usecase Login

Nama Use Case : Login

Aktor : Petani

Deskripsi Use Case : Use case ini menggambarkan proses petani melakukan login sebelum mengakses aplikasi. Petani harus memasukkan username dan password yang sesuai untuk dapat masuk ke sistem.

Prakondisi : Petani telah memiliki akun

Trigger : Use case ini digunakan apabila petani ingin masuk atau mengakses sistem

Langkah Umum : Kegiatan Aktor Respon Sistem

1. Pada Halaman Utama

akan memilih

tombolbergambar orang, yang mengibaratkan sebagai pemilik lahan

2. Menampilkan

Halaman Login petani, yang berisi username dan password untuk masuk sebagai petani

3. Memasukkan username dan password 4. Menekan tombol

„Masuk‟

5. Sistem mengecek validasi di database 6. Sistem menampilkan pesan login sukses

7. Sistem menampilkan Halaman Daftar Lahan yang berisi data lahan pertanian yang dikelola oleh petani

Langkah Alternatif : Alt- 6: Jika username dan password tidak sesuai maka sistem akan memberi peringatan, dan kembali ke


(75)

1.2. Usecase Kelola Data

Nama Use Case : Kelola data (Ubah Data Petani)

Aktor : Petani

Deskripsi Use Case : Use case ini menggambarkan proses petani melakukan perubahan data petani

Prakondisi : Petani telah berhasil login dan masuk ke sistem Trigger : Usecase ini hanya dapat dilakukan oleh petani

Langkah Umum : Kegiatan Aktor Respon Sistem

1. Pada Halaman Daftar Lahan, petani memilih menu „Kelola Data‟ kemudian submenu

„Ubah Profil‟, untuk mengubah data petani seperti username, password, nama

2. Sistem menampilkan Halaman Ubah Profil yang berisi data diri pengguna yang siap untuk diubah

3. Mengubah data yang ingin diubah pada kolom yang tersedia, lalu

menekan tombol

„Simpan‟

4. Lakukan query halaman login.

Kesimpulan : Use case berhenti apabila petani telah berhasil masuk ke halaman yang berisi data lahan dan hasil pertanian yang dikelola petani


(76)

update pada database 5. Perubahan data pada database

6. Tampil pesan sukses Langkah Alternatif : Alt- 1: Melakukan klik panjang pada salah satu kolom

list lahan. Memilih menu „Lihat Detail Lahan‟ untuk

melihat informasi detail mengenai lahan yang

dikelola. Memilih menu „Ubah Lahan‟ untuk

mengubah data seperti tanggal tanam dan panen lahan yang dikelola.

Alt-1: Memilih menu „Lihat Rekomendasi‟ untuk melihat rekomendasipedagang yang sesuai dengan profil petani.

Kesimpulan : Use case ini berhenti apabila data lahan telah berhasil diubah, ditambahkan ke dalam database

1.3. Usecase Registrasi

Nama Use Case : Registrasi

Aktor : Pedagang

Deskripsi Use Case : Use case ini menggambarkan proses registrasi user untuk dapat mengakses sistem

Prakondisi : User belum mempunyai akun untuk dapat mengakses sistem

Trigger : -

Langkah Umum : Kegiatan Aktor Respon Sistem

1. Pada Halaman Utama user akan menekan tombol yang bergambar silang (mengibaratkan pengguna belum punya akun) untuk pertanyaan


(77)

apakah sudah punya id

2. Menampilkan

halaman registrasi pengguna yang berisi form pengisian untuk mendaftar sebagai pengguna aplikasi ini 3. Mengisi data:

username, password, nama, alamat, no. telepon 4. Menekan tombol

kirim

5. Menyimpan data yang telah diisi user tersebut ke dalam database

6. Menampilkan pesan registrasi berhasil

Langkah Alternatif : Alt- 6: Proses registrasi tidak berhasil, maka sistem akan menampilkan informasi gagal

Kesimpulan : Use case ini berhenti apabila user berhasil melakukan registrasi

1.4. Usecase Lihat Rekomendasi

Nama Use Case : Lihat Rekomendasi

Aktor : Pedagang

Deskripsi Use Case : Use case ini menggambarkan proses pencarian

rekomendasi berdasarkan profil yang tersimpan dalam databaseoleh pengguna pada sistem di saat user sudah mempunyai id

Prakondisi : User telah terdaftar sebagai pengguna sistem, dan telah melakukan proses login.


(78)

Langkah Umum : Kegiatan Aktor Respon Sistem

1. Menampilkan halaman profil pengguna (pedagang) yang berisi varietas padi. 2. Menekan tombol

menu pada handphone, dan memilih menu

„Lihat Rekomendasi‟

3. Sistem melalui hitungcosimpedagang.php menghitung nilai cosinus

similarity setiap kelompok

tani

4. Menampilkan 15 kelompok tani dengan nilai cosim terbesar

1. Menekan salah satu kolom kelompok tani

2. Mengambil data dari database dan menampilkan

halaman detail

rekomendasi.

Langkah Alternatif : Alt- 2 : Memilih menu „Tambah Profil‟. Pada menu itu pengguna dapat menambahkan varietas untuk dijadikan sebagai profilnya.

Alt- 2 : Menekan agak lama pada salah satu kolom

profil, terdapat pilihan, „hapus‟ atau „ubah‟. Pilih hapus

untuk menghapus varietas sebagai profil, dan ubah untuk mengubah jumlah permintaan terhadap varietas tersebut.

Kesimpulan : Use case ini berhenti apabila user mendapatkan hasil rekomendasi


(79)

LAMPIRAN 2

DIAGRAM AKTIFITAS

2.1. DIAGRAM AKTIFITAS LOGIN... 61 2.2. DIAGRAM AKTIFITASUBAH DATA PETANI... 62 2.3. DIAGRAM AKTIFITASTAMBAH PROFIL PEDAGANG... 63 2.4. DIAGRAM AKTIFITAS UBAH PROFIL PEDAGANG... 64 2.5. DIAGRAM AKTIFITASHAPUS PROFIL PEDAGANG... 65 2.6. DIAGRAM AKTIFITAS PERBARUI LOKASI PEDAGANG... 66 2.7. DIAGRAM AKTIFITAS REGISTRASI... 67 2.8. DIAGRAM AKTIFITAS LIHAT REKOMENDASI... 68


(80)

2.1. Diagram Aktifitas Login

1. Pilih tombol bergambar orang, yang mengibaratkan sebagai pemilik lahan

2. Tampil Halaman Login petani, yang berisi username dan password untuk

masuk sebagai petani 3. Isi username dan password

4. Tekan tombol MASUK

5. Cek validasi di database

7. Tampil Halaman Daftar Lahan yang berisi data lahan pertanian yang dikelola

oleh petani 6. Tampil pesan login sukses


(81)

2.2. Diagram Aktifitas Ubah Data Petani

1. Pilih menu “Ubah Profil” pada halaman daftar lahan

2. Tampil halaman ubah profil yang berisi data yang siap untuk diubah

3. Ubah data pada kolom yang tersedia, tekan tombol simpan

4. Lakukan query update pada database

5. Proses perubahan data pada database

6. Tampil pesan sukses ubah


(82)

2.3. Diagram Aktifitas Tambah Profil Pedagang

1. Pilih menu “Tambah Profil” pada halaman profile pedagang

2. Tampil kotak dialog tambah profil yang berisi kolom varietas dan

permintaan

3. Isi kolom yang tersedia, varietas dengan masukan AutoCompleteTextView, dan

permintaan, tekan tombol OK

4. Lakukan query insert pada database

5. Proses penambahan data pada database

6. Tampil pesan sukses


(83)

2.4. Diagram Aktifitas Ubah Profil Pedagang

1. Tekan lama pada salah satu profil,

pilih menu “Ubah Data” pada halaman

profile pedagang

2. Tampil kotak dialog ubah data yang berisi kolom varietas dan permintaan

3. Isi kolom permintaan, tekan tombol OK

4. Lakukan query update pada database

5. Proses perubahan data pada database

6. Tampil pesan sukses


(84)

2.5. Diagram Aktifitas Hapus Profil Pedagang

1. Tekan lama pada salah satu profil,

pilih menu “Hapus Data” pada

halaman profile pedagang

2. Tampil kotak dialog hapus data yang berisi pemberitahuan varietas dan permintaan yang akan dihapus

3. Tekan tombol OK

4. Lakukan query delete pada database

5. Proses penghapusan data pada database

6. Tampil pesan sukses


(85)

2.6. Diagram Aktifitas Perbarui Lokasi Pedagang

1. Pilih menu “Perbarui Lokasi” pada halaman profile pedagang

2. Tampil halaman lokasi pedagang yang berisi posisi sementara saat

aplikasi diakses

3. Pilih menu “Simpan Posisi”

4. Lakukan query update pada database

5. Proses perubahan longitude dan latitude pada database

6. Tampil pesan sukses


(86)

2.7. Diagram Aktifitas Registrasi

1. Tekan tombol bergambar silang untuk pertanyaan apakah sudah punya id

2. Tampil halaman registrasi pengguna yang berisi form pengisian untuk mendaftar sebagai pengguna aplikasi

3. Isi data: ucername, password, nama, alamat, telepon

5. Menyimpan data yang telah diisi user tersebut ke dalam database

6. Tampilkan pesan registrasi berhasil

4. Tekan tombol „kirim‟


(87)

2.8. Diagram Aktifitas Lihat Rekomendasi

1. Tampil halaman profil pengguna (pedagang)

2. Tekan menu, pilih menu „Lihat Rekomendasi‟

3. Hitung nilai cosim tiap petani dengan hitungcosimpedagang.php

4. Tampil 15 petani dengan nilai cosim terbesar

5. Tekan salah satu kolom petani

6. Ambil data dari database, dan tampilkan halaman detail rekomendasi


(88)

LAMPIRAN 3

MODEL ANALISIS

3.1 MODEL ANALISIS LOGIN ... 70

3.2 MODEL ANALISIS KELOLA DATA ... 71

3.3 MODEL ANALISIS REGISTRASI ... 78


(1)

}

$data = "{varietas:".json_encode($rows)."}"; echo $data;

?>

7. check.php

Tujuan : Mengambil data semua varietas tanaman dari database untuk ditampilkan dalam listview.

Algoritma :

1. Baca id_pedagang dari pengguna yang login

2. Ambil isi dari variabel hasil, simpan dalam variabel data. 3. Pecah isi isi dari variabel data berdasar tanda koma. 4. Lakukan query hapus isi tabel query_pdg

5. Lakukan query simpan data id_pedagang, id_produk, id_query pada tabel query_pdg

Listing :

<?php

$datax=array(); $data = $_GET['hasil']; $id_ped = $_GET['ped']; $datax = explode(',',$data); $jumlah = count($datax);

$link = mysql_connect('localhost', 'root', '') or die('Cannot connect to the DB'.mysql_error());

mysql_select_db('myagresa', $link) or die('Cannot select the DB'); $q1 = "delete from query_pdg ";

$result1 = mysql_query($q1, $link) or die('Error query: '.$q1); $o = 1;

for ($i=0;$i<$jumlah;$i++) {

$query = "insert into query_pdg (id_pedagang, id_produk, id_query) values ('".$id_ped."', '".$datax[$i]."', '".$i."')";

$result = mysql_query($query, $link) or die('Error query: '.$query); }

?>

8. simpanposisipdg.php

Tujuan : Menyimpan data posisi berupa longitude dan latitude pengguna pada saat mengakses sistem.


(2)

120

Algoritma :

1. Baca id_pedagang dari pengguna yang login 2. Ambil nilai dari variabel lat dan lon

3. Lakukan query updatepada tabel query_pdg

<?php

$lat = $_GET['lat']; $lon = $_GET['lon']; $kode = $_GET['kod']; echo $jumlah; echo $id_ped;

$link = mysql_connect('localhost', 'root', '') or die('Cannot connect to the DB'.mysql_error());

mysql_select_db('myagresa', $link) or die('Cannot select the DB'); $query = "UPDATE query_pdg SET latitude='$lat', longitude='$lon' where id_pedagang='$kode'";

$result = mysql_query($query, $link) or die('Error query: '.$query); ?>

9. simpanjarak.php

Tujuan : Menghitung jarak antara posisi saat ini pengguna dengan posisi semua kelompok tani.

Algoritma :

1. Lakukan query $latitude1 untuk mengambil nilai latitude pedagang 2. Lakukan query $longitude1 untuk mengambil nilai longitude pedagang

3. Lakukan query $latitude2 mengambil nilai latitude petani 4. Lakukan query $longitude2 mengambil nilai longitude petani Listing :

<?php

$link = mysql_connect('localhost', 'root', '') or die('Cannot connect to the DB'.mysql_error());

mysql_select_db('myagresa', $link) or die('Cannot select the DB');

$latitude1 = mysql_query('SELECT latitude FROM query_pdg where id_query=0'); $longitude1 = mysql_query('SELECT longitude FROM query_pdg where id_query=0'); $idkel = mysql_query('SELECT id_kel_tani FROM petani');

$latitude2 = mysql_query('SELECT latitude FROM petani'); $longitude2 = mysql_query('SELECT longitude FROM petani'); while($result=mysql_fetch_array($latitude2)){

$lat[] = $result["latitude"]; //latitude_petani } while($res=mysql_fetch_array($longitude2)){


(3)

$long[] = $res["longitude"]; //longitude_petani} while($r=mysql_fetch_array($latitude1)){

$lati[] = $r["latitude"]; //latitude_pdg } while($r=mysql_fetch_array($longitude1)){

$longi[] = $r["longitude"]; //latitude_pdg } for ($i=0;$i<count($lat);$i++) {

$theta = $long[$i] - $longi[0];

$distance = (sin(deg2rad($lati[0])) * sin(deg2rad($lat[$i]))) + (cos(deg2rad($lati[0])) * cos(deg2rad($lat[$i])) * cos(deg2rad($theta)));

$jarak = acos($distance); $jarak = rad2deg($jarak); $final = $jarak * 60 * 1.1515; $inijarak = $final * 1.609344; $finaljarak = (round($inijarak,2)); $kode = $i+1;

$query = "UPDATE petani SET jarak = '".$finaljarak."' where id_kel_tani='".$kode."'"; $result = mysql_query($query, $link) or die('Error query: '.$query);}?>

10.berdasarjarak.php

Tujuan : Mengurutkan posisi kemiripan berdasarkan urutan jarak antara pengguna, dengan tiap lahan.

Algoritma :

1. Lakukan query hapus tabel petani_jarak

2. Lakukan query buat tabel petani_jarak dengan data yang sama dengan tabel petani tetapi syaratnya nilai cosim diurutkan sampai 5 terbesar

3. Lakukan query ambil data dari tabel petani_jarak diurutkan berdasarkan nilai jaraknya

Listing :

<?php

include('simpanjarak.php');

$link = mysql_connect('localhost', 'root', '') or die('Cannot connect to the DB'); mysql_select_db('myagresa', $link) or die('Cannot select the DB');

$q1 = "DROP TABLE petani_jarak";

$q2 = "CREATE TABLE petani_jarak LIKE petani";

$q3 = "INSERT petani_jarak SELECT * FROM petani ORDER BY COSIM DESC LIMIT 5"; $q4 = "SELECT * FROM petani_jarak ORDER BY JARAK";


(4)

122

$result2 = mysql_query($q2, $link) or die('Errorquery: '.$q2); $result3 = mysql_query($q3, $link) or die('Errorquery: '.$q3); $result4 = mysql_query($q4, $link) or die('Errorquery: '.$q4); $rows = array();

while ($r = mysql_fetch_assoc($result4)) { $rows[] = $r;

}

$data = "{jarak:".json_encode($rows)."}"; echo $data;

?>


(5)

viii

MENGGUNAKAN PENDEKATAN CONTENT BASED FILTERING

ABSTRAK

Sebagian besar petani di Indonesia yang berkelompok dan membentuk suatu kelompok tani biasanya menyalurkan hasil pertaniannya kepada pengepul, untuk selanjutnya diteruskan kepada pedagang pasar atau konsumen. Padahal idealnya hasil pertanian dapat disalurkan oleh petani langsung kepada konsumen. Pada kenyataannya, hasil pertanian tidak bisa langsung sampai pada konsumen, melainkan harus melewati beberapa rantai distribusi. Hal ini menjadikan proses penyaluran hasil pertanian menjadi kurang efektif dan efisien, dari segi waktu dan juga biaya. Skripsi ini menyediakan informasi tentang rekomendasi hasil pertanian tanaman pangan. Sistem ini dikembangkan berbasis mobile.

Dalam pencarian rekomendasi hasil pertanian, digunakan teori mengenai content based filtering. Dalam pendekatan content-based filtering, sistem memilih dan melakukan peringkat item berdasarkan kesamaan profil pengguna dan profil item. Keuntungan dari pendekatan ini adalah pengguna mendapatkan wawasan tentang mengapa suatu item dianggap relevan untuk mereka. Data yang dipergunakan adalah data yang diperoleh dari Dinas Pertanian Kabupaten Sleman.

Rekomendasi yang diberikan sistem disusun berdasarkan tingkat kemiripan profil item dengan profil user. Proses pengujian sistem adalah dengan mencari hasil yang relevan dari daftar hasil rekomendasi. Kemudian menghitung precision, dan rata-ratanya. Berdasarkan pengujian 10 profil pedagang dengan 15 rekomendasi kelompok tani teratas, didapatkan hasil rata-rata presisi 78.40%. Berdasarkan hasil evaluasi sistem ini belum dapat dikatakan baik karena pengujian yang dilakukan hanya menggunakan precision saja. Kata kunci : sistem rekomendasi, content based filtering, vector space model, aplikasi mobile.


(6)

ix

RECOMMENDATION SYSTEM OF FOOD CROP FARMS

USING CONTENT-BASED FILTERING APPROACH

ABSTRACT

Most farmers in Indonesia are grouped and make a groups, usually distribute their crops to the wholesalers, then submitted to the merchant or the consumer market. Ideally agricultural products can be delivered by farmers directly to consumers. In fact, agriculture is not can jump directly to the consumer, but must pass through a chain of distribution. It makes the process of distributing agricultural products become less effective and efficient, in terms of time and costs. This thesis provides information on the recommendations of agricultural crops. This system was developed based on the mobile.

In the recommendation process agricultural products, used the theory of content-based filtering. In content-content-based filtering approach, systems select and rank the items content-based on similarity of user profiles and item profiles. The advantage of this approach is that users gain insights on why an item is considered relevant to them. The data used is the data obtained from the Department of Agriculture District of Sleman.

Recommendations given system is based on the level of similarity profile items with user profiles. System testing process is to find relevant results from the recommendation list. Then calculate the precision, and the average. Based on testing of 10 profiles trader with 15 top recommendations farmer groups, showed an average of precision is 78.40%. Based on that evaluation system can not be said to be good because the testing is using only precision.

Key word : recommendation system, content based filtering, vector space model, mobile application.