Sistem rekomendasi pemasaran barang dagang sales menggunakan metode Content Based Filtering berbasis mobile Android.
i
SISTEM REKOMENDASI PEMASARAN BARANG DAGANG
SALES MENGGUNAKAN METODE CONTENT BASED
FILTERING BERBASIS MOBILE ANDROID
SKRIPSI
Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Komputer
Program Studi Teknik Informatika
Oleh:
Christina Rusma Arishintha 08 5314 002
JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA YOGYAKARTA
(2)
ii
MARKETING RECOMMENDATION SYSTEM OF
MERCHANDISE WITH CONTENT BASED FILTERING
METHOD ON ANDROID MOBILE DEVICE
A Thesis
Presented as Partial Fulfillment of the Requirements to Obtain the Sarjana Komputer Degree
in Informatics Engineering
By
Christina Rusma Arishintha 08 5314 002
DEPARTMENT OF INFORMATICS ENGINEERING FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY YOGYAKARTA
(3)
(4)
(5)
v
HALAMAN PERSEMBAHAN
Skripsi ini saya persembahkan untuk:
Tuhan Yesus dan Bunda Maria, Keluarga, Sahabat, dan Teman-teman
(6)
(7)
vii
SISTEM REKOMENDASI PEMASARAN BARANG DAGANG SALES MENGGUNAKAN METODE CONTENT BASED FILTERING BERBASIS
MOBILE ANDROID
ABSTRAK
Sales sebuah distributor yang bekerja secara mobile atau bergerak dari satu toko ke toko lain, memiliki target pemasaran dalam penjualan produknya. Masalah yang dihadapi sales adalah perusahaan grosir ingin produknya dipasarkan pada setiap toko dan warung. Sales akan lebih efisien dalam pertimbangan untuk memilih informasi tempat sesuai konteks dan informasi yang diperoleh. Skripsi ini menyediakan informasi tentang rekomendasi toko yang memiliki profil yang sama dengan profil sales. Aplikasi mobile ini ditunjukan untuk sales yang akan memasarkan produk ke toko.
Pencarian rekomendasi ini menggunakan algoritma Vector Space Model (VSM) dan pendekatan Content Based Filtering dimana proses rekomendasi suatu item untuk seorang user berdasarkan deskripsi dari item serta profil dari ketertarikan user tersebut. Sales mendapatkan rekomendasi mengenai informasi toko-toko pelanggan tetap dan pelanggan promosi. Pelanggan tetap adalah toko yang memiliki kemiripan dekat dengan profil sales. Sedangkan pelanggan promosi adalah toko yang memiliki kemiripan jauh dengan profil sales.
Pengujian dengan menghitung precision, dimana sales diminta memilih toko yang sesuai menurutnya. Berdasarkan hasil pengujian precision, rekomendasi pelanggan tetap memiliki akurasi yaitu 61% dan promosi pelanggan memiliki akurasi yaitu 62%. Evaluasi sistem ini belum dapat dikatakan baik karena pengujian dilakukan menggunakan variable precision dan tanpa dilakukan pengujian recall.
(8)
viii
MARKETING RECOMMENDATION SYSTEM OF
MERCHANDISE WITH CONTENT BASED FILTERING
METHOD ON ANDROID MOBILE DEVICE
ABSTRACT
Salesmen of distributor who work mobile or move from one store to another, have a target to sell their product. The problem they encountered is wholeseller want their product to be marketed in every store and shop. Salesmen would be more efficient in considering to choose information about the place,match with the description and information they get. This essay provides information about recommended store which have the same profile with the salesmen's. This mobile application made for salesmen which would sell their product to stores.
This recommendation searching use Vector Space Model (VSM) algorithm and Content Based Filtering where the recommendation process of an item for user based on description of the item and profile of user interest. Salesmen get recommendations about regular's store information and promoted customers. regulars are stores which has close resemblance with the salesmen profile. Whereas promoted customers are stores which has less resemblance with the salesmen profiles.
Examination by precision counting, where salesmen asked to choose stores which they think fit. Based on precision examination result,regulars recommendations have a accuracy, about 61% and promoted customers have a accuracy, about 62%. This system evaluation couldn't called great, because the examination based on precision variable,not by recall examination.
Keywords : Vector Space Mobile (VSM), Content Based Filtering, recommendation
(9)
(10)
x
KATA PENGANTAR
Puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Esa, karena hanya dengan berkat dan karunia-Nya, serta campur tangan-Nya, penulis dapat menyelesaikan skripsi yang berjudul “Sistem Rekomendasi Pemasaran Barang Dagang Sales Menggunakan Metode Content Based Filtering Berbasis Mobile Android” dengan baik.
Pada kesempatan ini penulis juga ingin mengucapkan rasa terima kasih kepada:
1. Bapak Puspaningtyas Sanjoyo Adi S.T., M.T., selaku dosen pembimbing yang senantiasa memberikan masukan dan dengan sabar membimbing penulis, sehingga tugas akhir ini dapat diselesaikan dengan baik.
2. Bapak JB Budi Darmawan, S.T., M.Sc. dan Ibu Sri Hartati Wijono, S.Si., M.Kom, selaku dosen penguji atas kritik dan saran yang telah diberikan. 3. Pihak sekretariat dan laboran Fakultas Sains dan Teknologi yang turut
membantu penulis dalam menyelesaikan tugas akhir ini.
4. Kepada kedua orang tua, Bapak Antonius Rusmono dan Ibu FR. Sri Sulami yang selalu memberikan kasih sayang, semangat, dukungan serta doa yang melimpah kepada penulis.
5. Kedua adik saya Yustina Ananda Putri W. dan Yohana Rusma Arimurti yang selalu memberi semangat, motivasi, serta memberikan hiburan ketika penulis merasa bosan dan putus asa.
(11)
xi
6. Teman – teman kuliah Siska, Putri, Petra, Angga, Reza, Endro, Surya, Tista, Esy, Devi, Laurin, Ilana, Rista, Vava, Bebeth, Ocak, Ade, Wulan serta teman – teman TI 08 lainnya atas kebersamaan dan dukungan yang selalu diberikan kepada penulis.
7. Teman- teman kost yang senatiasa menemani dan memberikan dukungan serta menjadi motivasi bagi penulis dalam menyelesaikan tugas akhir ini. 8. Semua pihak yang tidak dapat disebutkan satu persatu, yang telah
membantu sehingga penulis dapat menyelesaikan skripsi ini.
Akhirnya penulis berharap semoga skripsi ini dapat berguna bagi para pembaca.
Penulis,
(12)
xii
DAFTAR ISI
HALAMAN JUDUL ... i
HALAMAN PERSETUJUAN ... Error! Bookmark not defined. HALAMAN PENGESAHAN ... Error! Bookmark not defined. HALAMAN PERSEMBAHAN ... v
PERNYATAAN KEASLIAN KARYA ... vi
ABSTRAK ... vii
ABSTRACT ... viii
LEMBAR PERNYATAAN ... ix
KATA PENGANTAR ... x
DAFTAR ISI ... xii
DAFTAR GAMBAR ... xv
DAFTAR TABEL ... xvi
BAB I PENDAHULUAN ... 1
1.1 Latar Belakang Masalah ... 1
1.2 Rumusan Masalah ... 3
1.3 Batasan Masalah ... 3
1.4 Tujuan dan Manfaat ... 3
1.5 Metode Penelitian ... 4
1.6 Sistematika Penulisan ... 5
BAB II LANDASAN TEORI ... 7
2.1 Sistem Rekomendasi ... 7
2.1.1 Konsep Dasar Sistem ... 7
2.1.2 Sistem Rekomendasi ... 7
2.2 Mobile ... 10
2.3 Pengukuran Performansi ... 13
2.4 Vector Space Model ... 13
2.4.1 Pengertian Vector Space Model ... 14
(13)
xiii
2.5 Android ... 16
2.5.1 Arsitektur Android ... 16
2.5.2 Komponen Dasar ... 18
2.5.3 Daur Hidup Activity ... 19
2.5.4 Daur Hidup Service ... 21
2.6 Location Based Service (LSB) ... 22
BAB III ANALISA DAN PERANCANGAN ... 25
3.1 Analisa Sistem ... 25
3.2 Arsitektur Aplikasi ... 26
3.2.1 Arsitektur Aplikasi Admin ... 26
3.2.2 Arsitektur Aplikasi Sales ... 27
3.3 Arsitektur Sistem ... 28
3.3.1 Arsitektur Sistem Admin ... 28
3.3.2 Arsitektur Sistem Sales ... 28
3.4 Permodelan data ... 29
3.5 Desain model secara umum ... 32
3.5.1 Diagram Use Case ... 33
3.5.2 Narasi Use Case ... 34
3.5.3 Diagram Aktifitas ... 35
3.5.4 Model Analisis ... 35
3.5.5 Diagram Kelas ... 35
3.5.6 Desain Basis Data ... 38
3.5.7 Desain Basis Data ... 38
3.5.8 Model Desain ... 42
BAB IV IMPLEMENTASI DAN ANALISIS SISTEM ... 43
4.1 Tahap Implementasi ... 43
4.1.1 Spesifikasi Perangkat Keras dan Perangkat Lunak ... 43
4.1.2 Implementasi Diagram Kelas ... 43
4.2 Pengujian ... 44
4.2.1 Item Query yang tersedia ... 44
(14)
xiv
4.2.3 Perhitungan Precision... 58
4.2.4 Perhitungan Average Precision ... 60
4.2.5 Kelebihan dan kekurangan sistem ... 62
BAB V PENUTUP ... 63
5.1 Kesimpulan ... 63
5.2 Saran ... 64
DAFTAR PUSTAKA ... 65
Lampiran 1 ... 67
1.1 Rekomendasi Web Server ... 67
1.2 Rekomendasi Mobile ... 72
Lampiran 2 ... 80
2.1 Rekomendasi Web Server ... 80
2.2 Rekomendasi Mobile ... 92
Lampiran 3 ... 100
3.1 Rekomendasi Web Server (Admin) ... 100
3.2 Rekomendasi Mobile ... 110
Lampiran 4 ... 119
4.1 Rekomendasi Web Server ... 119
4.2 Rekomendasi Mobile ... 122
Lampiran 5 ... 128
5.1 Rekomendasi Web Server ... 128
5.2 Rekomendasi Mobile ... 138
Lampiran 6 ... 148
6.1 Rekomendasi Web Server ... 148
(15)
xv
DAFTAR GAMBAR
Gambar 2.1 Contoh Model Ruang Vektor (VSM) ... 15
Gambar 2.2 Arsitektur Android ... 17
Gambar 2.3 Diagram komponen dari LBS ... 23
Gambar 3.1 Arsitektur Aplikasi Admin ... 26
Gambar 3.2 Arsitektur Aplikasi Sales ... 27
Gambar 3.3 ArsitekturSistem berbasis Admin... 28
Gambar 3.4 Arsitektur Sistem berbasis Sales ... 28
Gambar 3.5 Use Case Diagram untuk Admin ... 33
Gambar 3.6 Use Case Diagram untuk Sales ... 34
Gambar 3.7 Diagram Kelas Rekomendasi Web Server (Admin) ... 36
Gambar 3.8 Diagram Kelas Rekomendasi Mobile (Sales) ... 37
(16)
xvi
DAFTAR TABEL
Tabel 3.1 Contoh Perhitungan Martik Bobot ... 29
Tabel 3.2 Contoh Perhitungan Data Nilai Vektor ... 30
Tabel 3.3 Contoh Perhitungan Perkalian Kueri ... 31
Tabel 3.4 Contoh Hasil Perhitungan Cosines Similarity ... 32
Tabel 3.5 Struktur Tabel Produk ... 38
Tabel 3.6 Struktur Tabel Sales ... 39
Tabel 3.7 Struktur Tabel Toko ... 39
Tabel 3.8 Struktur Tabel Transaksi Sales` ... 40
Tabel 3.9 Struktur Tabel Transaksi Toko ... 40
Tabel 3.10 Struktur Tabel Admin ... 41
Tabel 3.11 Struktur Tabel Toko Distance ... 41
Tabel 3.12 Struktur Tabel Transaksi Toko Indeks ... 42
Tabel 4.1 Darftar Kode dan Nama Produk... 44
Tabel 4.2 Perhitungan Precision Pelanggan Tetap ... 58
Tabel 4.3 Perhitungan Precision Pelanggan Promosi ... 59
Tabel 4.4 Perhitungan Average Precision Pelanggan Tetap ... 60
(17)
1
BAB I
PENDAHULUAN
1.1Latar Belakang Masalah
Dalam beberapa tahun terakhir teknologi mengalami peningkatan jumlah perhatian dari para pengguna. Setiap orang membutuhkan perantara untuk mempermudah mencari informasi berdasarkan kebutuhan atau kegiatan yang sering dilakukan. Pengguna yang memiliki kegiatan di luar sangat membutuhkan perangkat yang mudah dibawa serta berfungsi untuk menunjang keperluannya. Begitu juga bagi para sales atau tenaga pemasaran sebuah distributor yang bekerja secara mobile atau bergerak dari satu toko ke toko yang lain, memiliki target pemasaran dalam menjual produknya, mereka harus memiliki informasi tempat memasaran seperti waktu pemberian barang ke toko, berapa banyak barang yang akan dijual. Maka spesifikasi aplikasi tersebut meliputi :
a. memberikan informasi kepada sales dalam sebuah perusahaan grosir, b. perusahaan grosir ingin produknya dijual atau dipasarkan pada semua
toko dan warung,
c. serta membantu sales yang bersifat independen dan biasanya merangkap sebagai tenaga pemasaran atau yang menawarkan barang. d. pemasaran barang yang tepat sasaran dan pemeliharaan pelanggan
(18)
2
Berdasarkan spesifikasi tersebut dibangunlah aplikasi untuk mencatat data-data penjualan kepada toko dan warung serta menginformasikan tempat-tempat yang berpotensi untuk memasarkan produk seorang sales tersebut. Diharapkan para sales akan lebih efisien dalam pertimbangan untuk memilih informasi tempat sesuai konteks dan informasi yang didapat. Pada pendekatan Content Based Filtering, proses rekomendasi suatu item untuk seorang user berdasarkan deskripsi dari item serta profil dari ketertarikan user tersebut. Dengan menggunakan content based filtering diharapkan dapat merekomendasikan item berdasarkan pada kemiripan dari profil sales terhadap deskripsi dari item yang menjadi solusi dari permasalahan seorang sales tersebut dalam memasarkan produk. Profil sales mencakup produk-produk yang dibawa serta lokasi letak sales berada untuk mencari lokasi toko terdekat.
Dengan teori Context aware computing akan menyesuaikan dengan lokasi sales sebagai pengguna, sehingga aplikasi ini akan tepat sasaran, pengguna, dan sesuai dengan keadaan atau situasi penggunaan sistem tersebut dalam kegiatan sehari-hari. Aplikasi ini berbasis mobile dengan sistem operasi Android yang diharapkan dapat membantu para sales pemasaran yang setiap harinya bekerja secara bergerak atau mobile untuk menawarkan produk.
(19)
3
1.2Rumusan Masalah
Berdasarkan latar belakang yang disampaikan, maka permasalahan yang ingin diselesaikan, yaitu :
Bagaimana metode content based filtering mampu memberikan informasi pemasaran barang kepada sales?
1.3Batasan Masalah
Dalam penulisan laporan tugas akhir ini penulis memberikan batasan-batasan masalah :
1. Kasus berlokasi di wilayah Yogyakarta.
2. Dikembangkan dalam mobile berbasis Android.
3. Diasumsikan data terpusat pada server sebuah distributor.
1.4Tujuan dan Manfaat
Dalam penulisan laporan tugas akhir ini penulis memiliki tujuan dan berharap ada manfaat yang dapat diperoleh.
1.4.1 Tujuan Penelititan
Tujuan penelitian dalam penulisan laporan tugas akhir ini adalah menyediakan informasi terbaik untuk sales dalam memasarkan produknya ke warung-warung atau toko. Menggukur sejauh mana teori content based filtering memberikan rekomendasi terbaik untuk para sales. Serta
(20)
4
penggunaan teori context-aware computing dalam pertimbangan dalam memilih informasi secara mobile dimana sales akan memasarkan produknya. Aplikasi ini juga membuat para sales lebih efisien dalam mengakses informasi tersebut.
1.4.2 Manfaat Penelitian
Hasil penelitian ini diharapkan dapat bermanfaat bagi seorang sales dalam pemasaran produknya agar lebih tepat waktu dan tepat sasaran kepada konsumen sesuai dengan profil yang dimiliki oleh setiap sales.
1.5Metode Penelitian
Metode penelitian yang ditempuh oleh penulis adalah : 1. Referensi ( Literatur )
Metode yang dilakuakan untuk membaca dokumen, maupun referensi buku yang telah ada, atau sumber lain yang berkenaan dengan objek yang sedang dibutuhkan.
2. Analisis kebutuhan perangkat lunak.
Proses pengumpulan kebutuhan diintensifkan dan difokuskan, khususnya pada perangklat lunak. Untuk memahami sifat program yang dibangun, perekayasa perangkat lunak (analisis) harus memahami domain informasi, tingkah laku, unjuk kerja dan antar muka yang diperlukan. Kebutuhan baik
(21)
5
untuk sistem maupun perangkat lunak didokumentasikan, dan dilihat lagi dengan pelanggan.
3. Pengujian unjuk kerja.
Mengarahkan pengujian untuk menemukan kesalahan-kesalahan dan memastikan bahwa input yang dibatasi akan memberikan hasil aktual yang sesuai dengan hasil yang dibutuhkan. Dengan melakukan uji precesion.
1.6Sistematika Penulisan
Secara umum dalam penelitian ini, sistematika penulisan yang akan digunakan adalah sebagai berikut :
BAB I : PENDAHULUAN
Bab ini membahas latar belakang masalah, rumusan masalah, tujuan penelitian, batasan masalah, metodologi penelitian, dan sistematika penulisan.
BAB II : LANDASAN TEORI
Bab ini membahas teori-teori yang digunakan dalam pembuata sistem
BAB III : ANALISA DAN PERANCANGAN SISTEM
Bab ini membahas analisa dan perancangan sistem secara umum, rancangan proses serta rancangan antar muka yang akan digunakan.
(22)
6
BAB IV : IMPLEMENTASI DAN ANALISIS SISTEM
Bab ini membahas implementasi dalam bentuk aplikasi berdasarkan analisa dan perancangan yang telah dilakukan.
BAB V : PENUTUP
Bab ini membahas kesimpulan dan saran dari hasil analisa sistem, implementasi sistem dan pengujian.
(23)
7
BAB II
LANDASAN TEORI
Pada bab ini membahas uraian teori yang digunakan untuk penulisan tugas akhir, yaitu mengenai Sistem rekomendasi, Pengukuran Performansi, Mobile, Context-Aware Computing, Vector Space Model, Android, dan Location based Service.
2.1 Sistem Rekomendasi
2.1.1 Konsep Dasar Sistem
Sistem adalah kumpulan dari elemen-elemen yang berinteraksi untuk mencapai suatu tujuan tertentu.
Jerry FithGerald (2006) Sistem merupakan suatu jaringan kerja dari prosedur-prosedur yang saling berhubungan, berkumpul bersama-sama untuk melakukan suatu kegiatan atau menyelesaikan suatu sasaran tertentu.
2.1.2 Sistem Rekomendasi
Sistem Rekomendasi merupakan sebuah sistem yang menyarankan informasi yang berguna. Seperti yang disebutkan oleh Paul Resnick dan Hal R. Varian dalam jurnalnya, sistem rekomendasi membantu dan meningkatkan proses seleksi alam. Suatu yang khas dalam sistem rekomendasi adalah orang memberikan rekomendasi sebagai masukan, kemudian sistem mengagregrasikan dan mengarahkan agar sesuai dengan
(24)
8
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.
Sistem rekomendasi 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, sistem rekomendasi 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].
Sistem rekomendasi dapat membantu para pengguna menemukan informasi tersebut dengan memberikannya saran secara personal. Sistem
(25)
9
rekomendasi merupakan model aplikasi dari hasil observasi terhadap keadaan dan keinginan pelanggan (User). Sistem rekomendasi memanfaatkan opini seseorang terhadap suatu barang dalam domain atau kategori tertentu, untuk membantu seseorang dalam memilih produk. Untuk mempermudah pelanggan mengambil keputusan yang tepat dalam menentukan produk yang akan dibelinya [McGinty dan Smyth, 2006].
Terdapat dua pendekatan pada information filtering, yaitu collaborative filtering dan content-based filtering, yaitu :
1. Collaborative Filtering
Pada pendekatan Collaborative Filtering, proses rekomendasi berdasarkan kemiripan antara user yang memilih dalam sistem. Pendekatan ini dibagi menjadi 2 yaitu:
a. User-Based Collaborative Filtering
Sistem ini mencari user-user yang memiliki korelasi yang tinggi, dan merekomendasikan item-item yang disukai user-user sebelumnya. Contoh: toko A menyukai roti, aqua, buah dan toko B menyukai roti, aqua, biskuit. Maka rekomendasi yang diberikan terhadap toko A adalah biskuit dan toko B adalah buah.
(26)
10
Sistem ini mencari item-item based yang disukai user, item yang berkorelasi tinggi kemudian direkomendasikan kepada user lainnya.
2. Content Based Filtering
Pada pendekatan Content Based Filtering, proses rekomendasi suatu item untuk seorang user berdasarkan deskripsi dari item serta profil dari ketertarikan user tersebut. Profil pengguna dibuat dari koleksi fitur-fitur item yang disukai/tak disukai sebelumnya oleh pengguna. Sehingga item-item baru yang deskripsinya cukup mirip dengan profil seorang pengguna akan direkomendasikan ke pengguna tersebut.
Metode ini memiliki kelebihan merekomendasikan item yang sifatnya baru bagi user, karena prinsip kerjanya dengan melihat deskripsi content yang dikandung oleh item yang pernah diberi nilai rating tinggi sebelumnya oleh user.
2.2Mobile
2.2.1 Pengertian Mobile
Mobile adalah perpindahan dari satu tempat ke tempat yang lain, misalnya telepon mobile berarti bahwa terminal telepon yang dapat berpindah dengan mudah dari satu tempat ke tempat lain tanpa terjadi pemutusan atau terputusnya komunikasi.
(27)
11
2.2.2 Karakteristik Perangkat Mobile
Perangkat mobile memiliki banyak jenis dalam hal ukuran, desain dan layout, tetapi mereka memiliki kesamaan karakteristik yang sangat berbeda dari sistem desktop.
a. Ukuran yang kecil
Perangkat mobile memiliki ukuran yang kecil. Konsumen menginginkan perangkat yang terkecil untuk kenyamanan dan mobilitas mereka.
b. Memori yang terbatas
Perangkat mobile juga memiliki memory yang kecil, yaitu primary (RAM) dan secondary (disk). Dengan pembatasan jumlah dari memory, pertimbangan-pertimbangan khusus harus diambil untuk memelihara pemakaian dari sumber daya yang mahal ini.
c. Daya proses yang terbatas
Sistem mobile tidaklah setangguh desktop. Ukuran, teknologi dan biaya mrupakan beberapa faktor yang mempengaruhi status dari sumber daya ini.
d. Mengkonsumsi daya yang rendah
Perangkat mobile menghabiskan sedikit daya dibandingkan dengan desktop. Perangkat ini harus menghemat daya karena mereka berjalan pada keadaan dimana daya yang disediakan dibatasi oleh baterai.
(28)
12
e. Kuat dan dapat diandalkan
Perangkat mobile selalu dibawa kemana saja, maka mereka harus cukup kuat untuk menghadapi benturan-benturan, gerakan.
f. Konektivitas yang terbatas
Perangkat mobile memiliki bandwith rendah, beberapa dari mereka bahkan tidak tersambung. Kebanyakan dari mereka menggunakan koneksi wireless.
2.2.3 Context Aware Computing
Context adalah lokasi, identitas orang terdekat disekitar pengguna dan perubahan objek. Context sebagai kondisi emosional pengguna, perhatian fokus, lokasi dan orientasi, tanggal dan waktu, serta benda-benda dan orang-orang di lingkungannya.
Context aware computing adalah perangkat lunak yang menyesuaikan menurut lokasi penggunanya, orang atau objek terdekat serta perubahan objek-objek. Context aware systems akan menyesuaikan dengan lokasi penggunaan, kumpulan orang-orang terdekat, dan lain-lain. Tiga aspek penting dalam konteks adalah : where you are, who you are with, dan what resources are nearby. (Bill Schilit, Columbia University).
Ada 4 kategori context aware computing, (Bill Schilit,1994) :
a. Proximate selection, teknik user interface dimana objek yang terletak didekatnya menegaskan atau membuat lebih mudah untuk memilih.
(29)
13
b. Automatic contextual reconfiguration, sebuah proses penambahan komponen baru, menghapus komponen yang ada, atau mengubah hubungan antara komponen karena konteks perubahan.
c. Contextual information and commands, menghasilkan hasil yang berbeda sesuai dengan konteks.
d. Context-triggered actions, aturan yang digunakan untuk menentukan bagaimana context aware system harus beradaptasi.
2.3Pengukuran Performansi
Keefektifitasan dari pemerolehan informasi dapat diukur. Dalam pemerolehan informasi terdapat banyak metode yang digunakan untuk melakukan pengukuran. [Nugraha & Adi : 2010]. Mengukur performansi sistem dengan menggunakan parameter performansi, yaitu :
2.3.1 Precision
Precision adalah proporsi jumlah dokumen yang ditemukan dan dianggap
relevan untuk kebutuhan sipencari informasi.
Precision = jumlah dokumen relevan yang berhasil ditemukan jumlah seluruh dokumen yang relevan
2.4Vector Space Model
(30)
14
2.4.1 Pengertian Vector Space Model
Dalam sebuah Information Retrieval (IR) System, menentukan kemiripan antar dokumen yang didefinisikan berdasarkan representasi bag-of-word yang mengabaikan urutan kata dalam dokumen. Terdapat beberapa metode yang digunakan dalam searching salah satunya dengan menggunakan Vector Space Model [ Salton, 1983 ].
Vector space model adalah model sistem untuk mengukur kemiripan antara suatu dokumen dengan query sebagai sebuah vektor n-dimensi. Tiap dimensi pada vector tersebut diwakili oleh satu term. Term disimpan dalam database pencarian sebagai sebuah inverted index. Index merupakan konversi dari dokumen asli dari sekumpulan kata ke dalam daftar kata yang berasosiasi dengan dokumen terkait dimana kata-kata tersebut muncul. Contoh dari model ruang vektor tiga dimensi untuk dokumen D1 dan D2,
satu query pengguna Q1, dan tiga term T1, T2, T3 . Setiap sel dalam matriks
berhubungan dengan bobot yang diberikan dari suatu term dalam dokumen yang ditentukan, jika bernilai nol maka term tersebut tidak ada dalam dokumen. Digambarkan seperti dibawah ini.
(31)
15
Gambar 2.1 Contoh Model Ruang Vektor (VSM)
2.4.2 Ukuran Kesamaan (similarity measure)
Similarity measure adalah sebuah fungsi yang menghitung tingkat kesamaan dari dua buah vektor. Ukuran kesamaan (similarity) merupakan istilah dalam model ruang vektor yang ditentukan berdasarkan assosiative coefficient berdasarkan inner product dari kedua vektor. VSM dan pembobotan tf-idf digunakan untuk merepresentasikan nilai numerik dokumen sehingga dapat dihitung kedekatan antar dokumen. Semakin dekat dua vektor di dalam suatu VSM maka semakin mirip dua dokumen yang diwakili oleh vektor tersebut. Kemiripan antar dokumen dihitung menggunakan suatu fungsi ukuran kemiripan (similarity measure). Ukuran
(32)
16
ini memungkinkan perangkingan rekomendasi sesuai dengan kemiripan relevansinya terhadap query. Setelah rekomendasi dirangking, top-scoring dikembalikan kepada pengguna.
Salah satu ukuran kemiripan teks yang popular adalah cosine similarity. Ukuran ini menghitung nilai cosinus sudut antara dua vektor. Nilai similarity antara di dan Q dapat didefinisikan sebagai berikut [Lee,
1997]:
Sim(Q,Di) =
2.5Android
Android merupakan sistem operasi yang dikembangkan untuk perangkat mobile berbasis Linux. Dengan software Development kits (SDK) yang dilengkapi dengan emulator untuk membantu menguji coba aplikasi yang dibuat.
2.5.1 Arsitektur Android
Sistem operasi Android dibangun berdasarkan kernel Linux dan memiliki arsitektur seperti gambar 2.2 berikut :
1 1 ,
2 , 2 1 ) , , ( j j j i j Q j
w
w
w
w
Q j i j(33)
17
Gambar 2.2 Arsitektur Android
Application
Serangkaian lapisan aplikasi yang terdapat pada perangkat mobile. Aplikasi inti yang telah terdapat pada Android termasuk kalender, kontak, SMS, dan lain sebagainya. Aplikasi-aplikasi ini ditulis dengan bahasa pemrograman Java.
Application Framework
Lapisan aplikasi ini memiliki akses penuh ke Android dan memudahkan dalam mengakses informasi lokasi, mengatur alarm, menambahkan pemberitahuan ke status bar dan lain sebagainya.
Libraries
Libraries dalam bahasa C/C++ yang digunakan oleh berbagai komponen pada sistem Android.
(34)
18
Android Runtime
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).
Linux Kernel
Android bergantung pada Linux versi 2.6 untuk layanan sistem inti seperti keamanan, manajemen memori, manajemen proses, network stack, dan model driver. Kernel juga bertindak sebagai lapisan antara hardware dan seluruh software.
2.5.2 Komponen Dasar
Aplikasi Android ditulis dalam bahasa pemrograman Java. Java mengompilasi kode bersama dengan data resource dan file yang dibutuhkan oleh aplikasi dibundel ke dalam paket Android, file arsip ditandai dengan .apk. Komponen aplikasi pada Android terdiri dari 4 komponen utama, yaitu
a.Activities
Activities merupakan potongan kode executable yang menyajikan UI secara visual dimulai oleh pengguna maupun sistem operasi dan berjalan selama diperlukan.
(35)
19
Service tidak memiliki visual UI, melainkan berjalan di latar belakang untuk waktu yang tidak terbatas.
c.Broadcast Receiver
Broadcast Receiver merupakan komponen yang menerima dan bereaksi untuk menyiarkan pengumuman.
d.Content Provider
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.5.3 Daur Hidup Activity
Activity memiliki tiga status dasar : 1.Active atau Running
Status ini ketika Activity berjalan di foreground (di bagian atas stack untuk task ini). Activity yang berkaitan aktif dengan pengguna. 2.Pause
Jika Activity telah kehilangan focus tetapi masih dapat dilihat oleh pengguna yang berarti ada Activity lain yang berjalan di atas Activity ini, sebuah Activity yang transparan atau tidak menutupi layar penuh sehingga Activity dalam status pause dapat terlihat. Sebuah Activity dalam status pause tetap hidup, yaitu Android tetap
(36)
20
mempertahankan semua informasi dan tetap melekat pada Windows Manager hingga akhirnya dapat dimatikan oleh sistem ketika memori sangat rendah.
3.Stop
Activity benar-benar dihentikan karena ada Activity lain yang memenuhi layar. Semua informasi dipertahankan tetapi tidak dapat dilihat oleh pengguna sehingga jendela tersembunyi dan dapat dimatikan oleh sistem ketika memori dibutuhkan.
Metode yang terdapat pada Activity :
onCreate()
Dipanggil ketika Activity pertama kali dibuat. Biasanya merupakan metode di mana View yang ingin ditampilkan dibuat, membuka data file, maupun menginisialisasi Activity. Saat memanggil OnCreate, kerangka Android melewati sebuah Bundel objek yang mengandung state activity yang disimpan ketika Activity pertama berjalan.
onStart()
Dipanggil sebelum Activity terlihat pada layar. Ketika Activity dapat menjadi Activity foreground, maka akan dipanggil method OnResume() sedangkan jika tidak maka akan dipanggil method OnStop().
(37)
21 onResume()
Dipanggil setelah OnStart() apabila Activity dapat menjadi foreground. Saat ini, Activity dapat bereaksi dengan pengguna. OnResume() juga akan dipanggil ketika Activity ini tidak menjadi foreground karena ada Activity lain lalu Activity lain akhirnya selesai dan Activity kembali menjadi foreground.
onPause()
Dipanggil ketika Activity lain dibawa ke foreground. Pada status ini Activity tidak memiliki akses ke layar.
onStop()
Dipanggil ketika Activity tidak lagi terlihat karena adanya Activity lain yang dibawa ke foreground atau Activity ini dimatikan.
OnDestroy()
Dipanggil terakhir sebelum Activity dimatikan ketika Android membutuhkan resources yang digunakan oleh Activity.
2.5.4 Daur Hidup Service
Daur hidup Service hapir sama dengan Activity tetapi memiliki beberapa perbedaan untuk detailnya.
(38)
22
Dipanggil apabila seseorang klien memanggil
Context.startService(Intent). Jika service belum berjalan maka Android akan membuatnya dan memanggil OnCreate() diikuti method OnStart(). Apabila service telah berjalan, Android hanya akan memanggil OnStart().
OnBind()
Ketika klien membutuhkan koneksi ke service maka akan dipanggil Context.bind. Pemanggilan ini akan mengakibatkan pembuatan service apabila service tidak sedang berjalan tanpa memanggil OnStart().
OnDestroy()
Sama dengan Activity, method ini akan dipanggil ketika service akan dimatikan. Android akan mematikan service apabila telah tidak ada lagi klien yang memulai atau bind ke service ini.
2.6Location Based Service (LSB)
Location Based Service (LBS) adalah aplikasi komputasi mobile yang menyediakan layanan kepada pengguna berdasarkan geografis mereka. Teknologi di belakang komponen LBS yang penting untuk dipertimbangkan ketika merancang sebuah aplikasi LBS adalan bagaimana informasi lokasi dapat diperoleh, middleware standar yang relevan, teknologi penyimpanan data lokasi,
(39)
23
bagaimana teknologi smartphone dapat diterapkan untuk generasi LBS. LBS mengandung beberapa komponen termasuk peta dan informasi Sistem Informasi Geografis (SIG), layanan lokasi pengumpulan. Ada dua elemen LBS yaitu :
a.Location Manager :menyediakan pengait ke Location Based Service. Fungsi dari Location Manager yaitu mendapatkan lokasi saat ini, melacak perpindahan dan mengatur tanda kedekatan untuk mendeteksi gerakan masuk dan keluar dari area tertentu.
b.Location Providers :masing-masing mewakili teknologi lokasi-temuan yang berbeda yang digunakan untuk menentukan lokasi perangkat.
Arsitektur dari LBS dapat di generalisasikan seperti gambar di bawah ini.
(40)
24
Dengan menggunakan Google Maps, pengguna dapat membuat peta berbasis Aktivitas sebagai elemen User Interface. Pengguna memiliki akses 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.
(41)
25
BAB III
ANALISA DAN PERANCANGAN
3.1Analisa Sistem
Sistem Rekomendasi Pemasaran Barang Dagang Sales Menggunakan Metode Content Based Filtering Berbasis Mobile Android ini berfungsi untuk memberikan informasi terbaik dan cocok mengenai letak toko atau warung yang sesuai dengan posisi serta barang yang dibawa seorang sales. Penyimpanan data toko, sales, produk serta transaksi menggunakan database My SQL, sehingga dapat dilakukan perubahan data. Sistem mobile mempunyai 1 level pengguna yaitu sales yang akan mengelola barang yang akan dibawa, dan mencatat transaksi penjualan produk dengan toko. Pengguna tersebut berhak untuk mendapatkan informasi toko yang akan dikunjungi berdasarkan profil sales tersebut. Sedangkan untuk sistem berbasis web memiliki 1 level pengguna, yaitu admin yang akan menambah, merubah, menghapus, melihat transaksi serta melakukan reindeks. Dengan menggunakan precision untuk menggukur performansi dari informasi yang telah didapat oleh sistem ini. Informasi yang didapat akan diolah, kemudian diukur dengan mencocokkan profil seorang sales dengan profil toko atau warung yang direkomendasikan, sehingga sales dapat menjual atau memasarkan produknya kepada toko atau warung yang memiliki profil yang sama.
(42)
26
3.2Arsitektur Aplikasi
3.2.1 Arsitektur Aplikasi Admin
Sistem ini memiliki gambaran arsitektur sistem sales seperti gambar dibawah ini :
Admin
Gambar 3.1 Arsitektur Aplikasi Admin
Pada alur pertama dilakukan pengumpulan dokumen dari produk yang akan dipasarkan, kemudian dilakukan perubahan data berupa penambahan, pengeditan, dan penghapusan. Setelah perubahan data dilakukan oleh admin maka data yang baru akan disimpan di database.
Data Toko, Produk, Sales yang ada
Perubahan Database
Data Toko, Produk, Sales yang telah berubah
(43)
27
3.2.2 Arsitektur Aplikasi Sales
Sistem ini memiliki gambaran arsitektur sistem sales seperti gambar dibawah ini :
Sales
Gambar 3.2 Arsitektur Aplikasi User (Sales)
Data yang sudah dipindah ke database selanjutnya melalui proses vector space model untuk mengukur kemiripan antara user profil dengan query. Semakin dekat dua vektor di dalam suatu VSM maka semakin mirip. Pada proses similarity dihitung nilai cosinus sudut dari dua vektor, lalu akan dipilih query mana yang cocok dengan profil user, yang kemudian menjadi sebuah daftar rekomendasi.
Data Corpus
VSM
(Vector Space Model)
Input Profil
Similarity Process
(44)
28
3.3Arsitektur Sistem
3.3.1 Arsitektur Sistem Admin
Admin
Web Server internet Database server
Gambar 3.3 Arsitektur Sistem Admin
Pada arsitektur sistem berbasis web, admin mengakses sistem dari web server menggunakan komputer untuk mengelola data produk, toko, seles, melakukan reindeks serta memonitor transaksi penjualan produk. Dalam mengakses data yang ada di database server diperlukan koneksi internet.
3.3.2 Arsitektur Sistem Sales
Web Server Database server internet
Sales
Reksa Mobile
Gambar 3.4 Arsitektur Sistem Sales
Pada arsitektur sistem berbasis mobile, sales melakukan login pada aplikasi mobile kemudian memasukkan data atau jumlah barang yang dibawa pada saat mereka melakukan pemasaran produk untuk pertama kali, lalu akan dicatat oleh server dan digunakan untuk query untuk membentuk rekomendasi
(45)
29
yang mendekati profil setiap sales. Dalam mengakses data yang ada di web server diperlukan koneksi internet, web server berfungsi untuk menyimpan data produk, toko, sales, transaksi toko, dan transaksi sales. Hasil pencatatan terakhir akan digunakan untuk saran jumlah yang akan dibawa oleh sales di hari berikutnya. Perekaman data dan perhitungan cosinus similarity dilakukan pada server untuk memudahkan mengakses data dan pemantauan pemasaran oleh distributor.
3.4Permodelan data
Pada tabel di bawah ini terdapat satu kolom query sales, delapan toko, dan lima belas produk. Seorang sales membawa enam jenis produk yang akan dipasarkan kepada delapan toko. Dimana bobot atau banyaknya produk setiap toko didapatkan dari transaksi sebelumnya. Matriks bobot setiap produk dapat dilihat pada tabel 3.1 berikut ini :
Tabel 3.1 Contoh perhitungan matriks bobot
sales
W
67 Prapti Prima
Sumber
Rejeki Cendana KFE Dewi Sri Enny
AJB2B 20 0 0 0 0 15 0 0 15
AJC2 0 0 0 0 80 0 0 0 0
AJT2B3 0 0 0 0 0 0 0 0 0
AJTS 50 0 0 15 20 15 10 10 10
APD 0 0 0 0 0 0 0 0 0
BIC4 0 0 0 0 0 0 0 0 0
BPD 0 0 0 0 0 0 0 0 0
BPF 35 0 10 20 0 10 15 20 0
BPG 0 0 0 0 0 0 0 0 0
(46)
30
Setelah matriks bobot terbentuk, kemudian menghitung nilai bobot (w) dengan mengkuadratkan nilai setiap toko. Langkah berikutnya menjumlahkan nilai disetiap kolom dan hasil penjumlahan setiap kolom tersebut diakarkan. Matriks perhitungan nilai vektor seperti tabel 3.2.
Tabel 3.2 Contoh perhitungan data nilai vektor
W^2
Sales 67 Prapti Prima
Sumber
Rejeki Cendana KFE Dewi Sri Enny AJB2B 400 0 0 0 0 225 0 0 225
AJC2 0 0 0 0 6400 0 0 0 0
AJT2B3 0 0 0 0 0 0 0 0 0
AJTS 2500 0 0 225 400 225 100 100 100
APD 0 0 0 0 0 0 0 0 0
BIC4 0 0 0 0 0 0 0 0 0
BPD 0 0 0 0 0 0 0 0 0
BPF 1225 0 100 400 0 100 225 400 0
BPG 0 0 0 0 0 0 0 0 0
BSM4/
BSW4 0 0 0 0 0 0 0 0 0
CSP40/
H2 1225 0 0 0 0 100 625 0 225 CWG1/
CWT1 625 0 0 0 0 0 0 0 0
CWG4 0 0 0 0 0 0 0 0 0
DEC 0 0 0 0 0 0 0 100 0
ECS4 2025 400 0 0 0 225 0 0 225
SUM 8000 400 100 625 6800 875 950 600 775
VECTOR 89.44272 20 10 25 82.46211 29.5804 30.82207 24.4949 27.83882
CSP40/H2 35 0 0 0 0 10 25 0 15
CWG1/CWT1 25 0 0 0 0 0 0 0 0
CWG4 0 0 0 0 0 0 0 0 0
DEC 0 0 0 0 0 0 0 10 0
(47)
31
Pada tabel 3.3 matriks perhitungan dari bobot di tabel 3.1 dengan mengkalikan setiap baris dikolom sales dengan setiap kolom toko. Dengan
rumus :
1
) , , (
j
w
Q jw
i jdimana WQ,j merupakan bobot kueri (sales)
terhadap produk dan Wi,j merupakan bobot data (toko) terhadap produk.
Tabel 3.3 Contoh perhitungan perkalian kueri WQ,j ^ Wi,j
67 Prapti Prima
Sumber
Rejeki Cendana KFE
Dewi
Sri Enny
AJB2B 0 0 0 0 300 0 0 300
AJC2 0 0 0 0 0 0 0 0
AJT2B3 0 0 0 0 0 0 0 0
AJTS 0 0 750 1000 750 500 500 500
APD 0 0 0 0 0 0 0 0
BIC4 0 0 0 0 0 0 0 0
BPD 0 0 0 0 0 0 0 0
BPF 0 350 700 0 350 525 700 0
BPG 0 0 0 0 0 0 0 0
BSM4/BSW4 0 0 0 0 0 0 0 0
CSP40/H2 0 0 0 0 350 875 0 525
CWG1/CWT1 0 0 0 0 0 0 0 0
CWG4 0 0 0 0 0 0 0 0
DEC 0 0 0 0 0 0 0 0
ECS4 900 0 0 0 675 0 0 675
(48)
32
Selanjutnya menghitung nilai cosinus sudut antara dua vektor dengan setiap kueri dengan rumus cosine similarity, untuk :
Keterangan : Wij : bobot produk dalam data (toko)
WQj : bobot produk dalam kueri (sales)
Tabel 3.4 Contoh hasil perhitungan cosines similarity
67 Prapti Prima
Sumber
Rejeki Cendana KFE Dewi Sri Enny
0.503115 0.39 0.64846 0.135582 0.916564 0.689202 0.547723 0.803219
Dari perhitungan Tabel 3.4 data diatas, toko yang memenuhi syarat untuk direkomendasikan pada sales adalah Toko Cendana karena memiliki tingkat similaritas mendekati profil sales kemudian Toko Enny, Toko KFE, Toko Prima, Toko Dewi Sri, Toko 67, Toko Prapti, Toko Sumber Rejeki. Toko yang memiliki similaritas jauh dari profil sales akan direkomendasikan sebagai pelanggan promosi.
3.5Desain model secara umum
Desain model berisi analisis kebutuhan sistem secara umum yang terdiri dari use case diagram dan Diagram Arus Data Logika (DADL).
1 1 , 2 , 2 1 ) , , ( j j j i j Q jw
w
w
(49)
33
3.5.1 Diagram Use Case
Diagram use case merupakan diagram yang menggambarkan interaksi antara sistem dengan sistem eksternal dan pengguna.
Admin
Login
Kelola Produk Depends on
Kelola Sales Kelola Toko
reindeks
(50)
34
Sales
Login
Profil Sales Depends on
Rekomendasi Pelanggan Tetap
Rekomendasi Promosi Pelanggan
Kelola Toko
Gambar 3.6 Use Case Diagram untuk Sales
3.5.2 Narasi Use Case
Narasi use case pada diagram use case Gambar 3.4 untuk sistem berbasis mobile dan Gambar 3.4 untuk sistem berbasis web akan mendeskripsikan secara tertulis aktivitas yang ada pada use case. Narasi use case dari gambar diagram use case Gambar 3.5 dan 3.6 terdapat pada lampiran 1.
(51)
35
3.5.3 Diagram Aktifitas
Merupakan diagram yang menjelaskan aktivitas antara sales dan admin dengan sistem. Secara lebih rinci tahap diagram aktifitas dapat dilihat pada lampiran 2.
3.5.4 Model Analisis
Merupakan suatu proses untuk menterjemahkan skenario use case menjadi kelas analisis. Dalam kelas analisis terdapat tiga jenis, yaitu form/boundary, controller, dan entity. Setiap use case dicari kelas analisisnya sehingga dapat menentukan kebutuhan kelas. Hasil analisis kelas dapat dilihat pada lampiran 3.
3.5.5 Diagram Kelas
Antara masing – masing kelas memiliki hubungan asosiasi dengan kelas yang lain. Relasi antar kelas ditunjukan dalam Gambar 3.7 dan 3.8. Gambar 3.7 merupakan diagram kelas Rekomendasi Web Server dan Gambar 3.8 merupakan diagram kelas Rekomendasi mobile.
(52)
36 <<Interface>> HalamanUbahProduk <<Interface>> HalamanEditToko 1 * 1 * 1 * <<Interface>> HalamanLogin <<Interface>> HalamanProduk <<Controller>>
tambahProduk <<Controller>>ubahProduk
<<Entity>> Produk <<Interface>> HalamanToko <<Controller>> tambahToko <<Controller>> hapusToko <<Controller>> editToko 1 * <<Entity>> Toko <<Interface>> Halaman TransaksiToko <<Controller>> reindeks 1 * <<Entity>> TransaksiToko <<Interface>> HalamanEditSales 1 * 1 * <<Interface>> HalamanSales <<Controller>> tambahSales <<Controller>> hapusSales <<Controller>> editSales 1 * <<Entity>> Sales <<Interface>> Halaman TransaksiSales <<Controller>> tambahprofil 1 * <<Entity>> TransaksiSales 1 *
(53)
37 <<Interface>> MenuKelola <<Interface>> ProfilSales <<Entity>> Transaksi_sales <<Interface>> LoginSales <<Entity>> Sales <<Interface>> Detail ListToko <<Interface>> ListToko <<Interface>> KelolaToko <<Entity>> Toko <<Entity>> Produk <<Entity>> Transaksi_toko_ indeks <<Interface>> ListRekomendasi Promosi <<Interface>> ListRekomendasi Tetap <<Entity>> Transaksi_toko <<Interface>> LokasiToko <<Controller>> Login <<Controller>> Toko <<Controller>> Profil <<Controller>> Rekomendasi <<Controller>> Lokasi Kelas-Kelas PHP 1 * 1 * 1 * 1 * 1 * 1 * 1 * <<Interface>> Detail ProfilSales <<Entity>> Toko_distance 1 * 1 * <<Interface>> LokasiSales 1 * 1 *
(54)
38
3.5.6 Desain Basis Data
Perancangan diagram E-R menggambarkan relasi antar entitas (entity) yang digunakan untuk sistem.
produk id_produk harga_karton satuan N sales id_salesnama_lengkap telepon alamat toko id_toko latitude longitude nama_toko frek_toko N transaksi_toko N tanggal alamat cosim kode transaksi_sales pass user telepon
lokasi longitudelatitude harga_karton
nama_produk N
frek_sales
distance id_sales
Gambar 3.9 ERD Sistem
3.5.7 Desain Basis Data
Berikut ini adalah desain fisik dari basis data yang dirancang berdasarkan struktur tabel:
1. Tabel Produk
Tabel 3.5 Struktur Tabel Produk
No Nama Kolom Tipe Fungsi
1 id_produk Int(4) Sebagai primary key dari tabel produk.
2 Kode Varchar(10) Menyimpan kode produk
3 nama_produk Varchar(30) Menyimpan nama produk
4 Satuan Varchar(10) Menyimpan satuan produk
5 harga_karton Int(15) Menyimpan harga per karton produk 6 harga_pak Int(15) Menyimpan harga per pak produk
(55)
39
2. Tabel Sales
Tabel 3.6 Struktur tabel Sales
3. Tabel Toko
Tabel 3.7 Struktur tabel toko
No Nama Kolom Tipe Fungsi
1 id_sales Int(4) Sebagai primary key dari tabel sales. 2 nama_lengkap Varchar(30) Menyimpan nama lengkap sales
3 User Varchar(10) Menyimpan user sales
4 Pass Varchar(15) Menyimpan password sales
5 Alamat Varchar(30) Menyimpan alamat sales
6 Telepon Int(15) Menyimpan telepon sales
7 Lokasi Varchar(15) Menyimpan lokasi pemasaran sales 8 Longitude Varchar(20) Menyimpan longitude lokasi sales 9 Latitude Varchar(20) Menyimpan latitude lokasi sales
No Nama Kolom Tipe Fungsi
1 id_toko Int(4) Sebagai primary key dari tabel toko. 2 nama_toko Varchar(30) Menyimpan nama toko
3 alamat Varchar(30) Menyimpan alamat toko
4 telepon Int(15) Menyimpan telepon toko
5 longitude Varchar(15) Menyimpan longitude toko 6 latitude Varchar(15) Menyimpan latitude toko
7 cosim Double Menyimpan hasil perhitungan vsm
8 Distance Double Menyimpan hasil perhitungan jarak sales dan toko
(56)
40
4. Tabel Transaksi Sales
Tabel 3.8 Struktur tabel Transaksi Sales
5. Tabel Transaksi Toko
Tabel 3.9 Struktur tabel Transaksi Toko
No Nama Kolom Tipe Fungsi
1 id_trans_sales Int(4) Sebagai primary key dari tabel transaksi sales.
2 id_sales Int(4) Menyimpan primary key dari tabel sales 3 id_produk Int(4) Menyimpan primary key dari tabel
produk.
4 frek_sales Int(15) Menyimpan bobot produk yang dibawa sales.
No Nama Kolom Tipe Fungsi
1 id_trans_toko Int(4) Sebagai primary key dari tabel transaksi toko.
2 id_toko Int(4) Menyimpan primary key dari tabel toko 3 id_produk Int(4) Menyimpan primary key dari tabel
produk
4 Tanggal Varchar(10) Menyimpan tanggal transaksi toko 5 frek_toko Int(5) Menyimpan bobot transaksi produk. 6 id_sales Int(4) Menyimpan primary key dari tabel sales
(57)
41
6. Tabel Admin
Tabel 3.10 Struktur tabel Admin
7. Tabel Toko Distance
Tabel 3.11 Struktur tabel toko distance
No Nama Kolom Tipe Fungsi
1 id_admin Int(4) Sebagai primary key dari tabel admin. 2 nama_lengkap Varchar(30) Menyimpan nama lengkap admin
3 User Varchar(10) Menyimpan user admin
4 Pass Varchar(15) Menyimpan password admin
5 Alamat Varchar(30) Menyimpan alamat admin
6 Telepon Int(15) Menyimpan telepon admin
7 Email Varchar(15) Menyimpan alamat email admin
No Nama Kolom Tipe Fungsi
1 id_toko Int(4) Sebagai primary key dari tabel toko. 2 nama_toko Varchar(30) Menyimpan nama toko
3 alamat Varchar(30) Menyimpan alamat toko
4 telepon Int(15) Menyimpan telepon toko
5 longitude Varchar(15) Menyimpan longitude toko 6 latitude Varchar(15) Menyimpan latitude toko
7 cosim Double Menyimpan hasil perhitungan vsm
8 distance Double Menyimpan hasil perhitungan jarak sales dan toko
(58)
42
8. Tabel Transaksi toko indeks
Tabel 3.12 Struktur tabel Transaksi Toko Indeks
3.5.8 Model Desain
Pada desain antarmuka sistem ini akan ditampilkan desain dari tiap halaman yang akan dibentuk. Desain antarmuka akan dijelaskan lebih lengkap pada lampiran 4. Sedangkan antarmuka implementasi usecase pada lampiran 5.
No Nama Kolom Tipe Fungsi
1 id_trans_toko Int(4) Sebagai primary key dari tabel transaksi toko.
2 id_toko Int(4) Menyimpan primary key dari tabel toko 3 id_produk Int(4) Menyimpan primary key dari tabel
produk
4 Tanggal Varchar(10) Menyimpan tanggal transaksi toko 5 frek_toko Int(5) Menyimpan bobot transaksi produk.
(59)
43
BAB IV
IMPLEMENTASI DAN ANALISIS SISTEM
4.1Tahap Implementasi
Penelitian ini telah di implemetasikan untuk menjadi sebuah aplikasi dengan tahap-tahap seperti berikut :
4.1.1 Spesifikasi Perangkat Keras dan Perangkat Lunak
Perangkat keras yang dipakai untuk membangun sistem adalah sebagai berikut:
Processor : Pentium ( R ) Dual CPU 1,73 GHz
Memori : 2 GB
Hard Disk : 120 GB
Perangkat lunak yang dipakai untuk membangun sistem adalah sebagai berikut:
Editor program : Eclipse Helios dan Netbeans 6.9
DBMS : MySql 5.0
4.1.2 Implementasi Diagram Kelas
Program dibangun dengan berbasis orientasi objek, sehingga dalam implementasinya dibutuhkan kelas-kelas untuk mendefinisikan objek-objek yang akan dipakai. Adapun kelas-kelas yang telah terbentuk akan dijelaskan di lampiran 6.
(60)
4.2Pengujian
Pengujian sistem merupakan tahap akhir dalam membangun aplikasi ini. Sistem ini dibangun memanfaatkan Eclipse dan Netbeans 6.9. Sistem ini dapat diakses secara langsung apabila terdapat koneksi internet. Analisis sistem akan dibagi kedalam beberapa bagian, yaitu penyelesaian rumusan masalah, pengukuran kinerja sistem, kelebihan, serta kekurangan sistem yang telah dibangun. Pengujian dilakukan untuk mencari rekomendasi pelanggan tetap dan pelanggan promosi yang paling relevan, relevan adalah toko yang dipilih oleh sales yang memiliki kemiripan dengan profil sales. Pengujian dilakukan dengan menghitung precision, dengan rumus :
Precision = Jumlah item toko yang dipilih sales Jumlah item toko yang dipilih oleh sistem
4.2.1 Item Query yang tersedia
Tabel 4.1 Daftar Kode dan Nama Produk
NO KODE PRODUK NAMA PRODUK
1 AJB2B Atom BBQ 20gr
2 AJC2 Katom Ayam Bawang
3 AJT2B3 Katom Manis Ball 16 gr 500an
4 AJTS Katom Jatim 70 gr 2000an
5 APD Atom Pedas Garuda 100 gr
6 BIC4 Cereal Snack BISA 15 gr
7 BPD Kacang Kulit Rasa Bawang 100 gr
(61)
9 BPG Kacang Kulit Rasa Bawang 80 gr 10 BSM4/BSW4 Bismart Coklat / Susu
11 CSP40/H2 Gerry Salut ORI/Hagel nut
12 CWG1/CWT1 Wafelatos 20gr / Chocolate Toping
13 CWG4 Wafelatos Chocolate 10 gr
14 DEC Gerry Dip stik Colek Mini
15 ECS4 Gerry Toya corn 11 gr
16 ESB4/ESP4 Gerry Toya Stick Salut / Berry 100 gr
17 ESW4 Gerry Toya Stick Salut Pisang
18 ETG4 Ting Ting Garuda 3 gr
19 ETG5 Ting Ting Garuda 14 gr
20 GC Kacang Kulit Garuda Merah 250 gr
21 GD3 Kacang Kulit Garuda Premium 80 gr
22 GE Kacang Kulit Garuda Semi 20 gr
23 GF2B Kacang Kulit Garuda Semi 24 gr
24 JACKO/JATOP O donut / Donut Choco Milk
25 JBC4/6/7 Koko Dring Leci/ Straw/ Fruity 190 ml
26 JCO3 Jelly Jumbo cup isi 2-50 gr
27 JDO1 Jelly Drink Rasa Jeruk 190 ml
28 JDO3 Jelly Drink Rasa Jambu 190 ml
29 JDO5 Jelly Drink Rasa Mangga 190 ml
30 JDO7 Jelly Drink Rasa Anggur 190 ml
31 JDO9 Jelly Drink Rasa Apel 190 ml
32 KSCO Cappucino Kopyes
33 KSTO1 Okky Keiko Sticks 40 ml
34 LASF Leo Ayam Special Cassava 16 gr
(62)
36 LPBF Leo Kentang Rasa sapi Panggang 16 gr
37 LPGF Leo Kentang Rasa rumput Laut 16 gr
38 MC2 Mayo Kid 240 ml cup
39 MCC4R Messes, Renteng
40 MCP/MCOK4 Pasta Choco / Keju 15,5 gr
41 MCB4 Pasta Bery 15,5 gr
42 MCP4K Pasta Choco in pack 15,5 gr
43 MTA2 Mounte Apel 190 ml
44 MTB2 Mounte Black 190 ml
45 MTG2 Mounte Guava/jambu 190 ml
46 MTJ2 Mounte Jasmine 190 ml
47 MTL2 Mounte Leci 190 ml
48 MTM2 Mounte Mangga 190 ml
49 MTS2 Mounte Strawberry 190 ml
50 ORB1 Garuda rosta 23 gr
51 PG7D Pilus Garuda Premium 95 gr
52 PGC2B Pilus Garuda Sapi Panggang 18 gr
53 PGC7 Pilus Garuda Sapi Panggang 95 gr
54 PGG2B Pilus Garuda Rumput Laut 18 gr
55 PGP2 Pilus Garuda original 18 gr
56 PGS2/PGX2 Pilus Garuda pedas / Campur 18 gr
57 PGS7D Pilus Garuda Pedas 95 gr
58 PIRA4 Gerry Piramid 12 gr
59 PKL2B Pilus Kapsul 17 gr
60 SACO ½ Clevo Botol Anggur / Fruity 70 ml 61 SCO1O Jelly super cup isi 10-10 gr
(63)
63 SJU2 Space Bulir Jambu 330 ml
64 STIK4 Mini stick 10 gr
65 SUCO 1 /2 / 3 Susu Clevo 125ml/coklat/straw/plain
66 TGFB Katom Telor Garuda 37 gr
67 TGPEB Katom Telor Garuda 20 gr
68 TWC4R Cheese Latos 11 gr
69 W.BERRY 4 Berry Good 12 gr
70 WCD4 Chocolatos mocca
71 WCG1 Mini Chocolaos 30 gr
72 WCG4/WCP4 Chocolatos/ Chocolatos II
73 WES4 Cokluut 15 gr
4.2.2 Sample Profil
Pada sample profil sistem akan menampilkan 15 toko terbaik atau teratas untuk rekomendasi pelanggan tetap dan 15 toko terbawah untuk rekomendasi pelanggan promosi. Toko yang memiliki nilai cosim sama dengan 0 tidak ditampilkan.
a. Rekomendasi Pelanggan Tetap
Query 1
Query AJT2B3(20), BPD(30), BPF(35), ECS4(40), ESW4(45)
Toko pilihan sales Urutan sistem
Dewi Sri Ikasari
Pitu
1 2 3
(64)
Casha Tres New Mut Sidik Tutik Sumber Rejeki 67 4 5 6 7 9 10 11 Query 2
Query BPD(10), ETG4(15), GD3(10), GE(20), MCB4(20), PGP2(30), PKL2B(25), SJU2(25), STIK4(35)
Toko pilihan sales Urutan sistem
Satria Pitu Sidik Prapti Prima Dipta 67 1 3 5 6 8 9 10 Query 3
Query AJB2B(35), BPF(35), BPG(30), JCO3(20), JDO1(20)
Toko pilihan sales Urutan sistem
Sinemart Dipta Kaffa II 1 2 3
(65)
Noval Tutik Jaya Mulya Sumber Rejeki Prasetya Martini 5 6 8 11 12 14 Query 4
Query AJC2(10), BPF(10), JDO7(15), JDO9(20), MTM2(25), MTS2(25), WCD4(5)
Toko pilihan sales Urutan sistem
Al Husna Tutik Rifika Cendana Sumber Rejeki SanieMart Tres Dewi Sri Ida Enny Dero Prima 1 2 3 4 5 6 8 10 11 12 13 15 Query 5
Query AJB2B(10), AJTS(20), CWG4(15)
(66)
Medikom Yani Alfian Ikasari Tri New Mut Sumber Rejeki Andi KFE 1 2 3 4 6 7 9 12 14 Query 6
Query BPF(10), CSP4O(20), ETG4(20), JDO3(30), JDO5(30), MTA2(20)
Toko pilihan sales Urutan sistem
Pojok Cipta Tres Sari Pam Abadi Tri Casha 67 New Mut Sidik Dewi Sri 1 2 3 4 5 6 7 8 9 14 15
(67)
Query 7
Query AJC2(15), BPD(15), BSM4(30), LPBF(25), LPGF(25), ORB7(25), PG7D(25), SCS4(25)
Toko pilihan sales Urutan sistem
Prima Sumber Rejeki Prapti Tres Enny Ikasari KFE 67 Pitu Cendana Supri Sidik 1 2 3 4 5 6 7 8 9 11 12 14 Query 8
Query JDO5(25), JDO9(30), LPBF(15), LPGF(25), LPGC7(20), PGG2B(20), W.BERRY 4(15)
Toko pilihan sales Urutan sistem
Rifika Abadi Pitu SanieMart Imam 67 1 3 7 8 10 11
(68)
Jaya Mulya 13
Query 9
Query JCO3(25), KSCO(25), LASF(20), MC2(20)
Toko pilihan sales Urutan sistem
Kaffa II Prasetya Tiara Dero Enny Dewi Sri
Lincem Fortuna II
Aribia
1 2 3 4 5 6 7 8 12
Query 10
Query MTA2(45), MTB2(50)
Toko pilihan sales Urutan sistem
Nanik Tutik Imam Satria New Mut
1 3 4 7 9
(69)
b. Rekomendasi Pelanggan Promosi
Query 1
Query AJT2B3(20), BPD(30), BPF(35), ECS4(40), ESW4(45)
Toko pilihan sales Urutan sistem
Kaffa II Rifika Prasetya Dero Aribia 67 Prima 1 2 3 4 5 8 9 Query 2
Query BPD(10), ETG4(15), GD3(10), GE(20), MCB4(20), PGP2(30), PKL2B(25), SJU2(25), STIK4(35)
Toko pilihan sales Urutan sistem
Rifika New Mut Ida Fortuna II Cendana Jaya Mulya Supri Prasetya KFE Marti 1 2 3 4 5 6 8 9 10 11
(70)
Imam Kaffa II
13 14
Query 3
Query AJB2B(35), BPF(35), BPG(30), JCO3(20), JDO1(20)
Toko pilihan sales Urutan sistem
Cendana Dero Fortuna I KFE Tri Tiara Dewi Sri Abadi Sari Pam 1 2 3 4 5 6 7 11 13 Query 4
Query AJC2(10), BPF(10), JDO7(15), JDO9(20), MTM2(25), MTS2(25), WCD4(5)
Toko pilihan sales Urutan sistem
Prapti Pitu Lestari Medikom Tini 1 2 4 5 10
(71)
Query 5
Query AJB2B(10), AJTS(20), CWG4(15)
Toko pilihan sales Urutan sistem
Fortuna II Imam Supri Rifika Satria Marti Prasetya KFE Andi Ida 1 2 3 4 5 6 9 11 13 14 Query 6
Query BPF(10), CSP4O(20), ETG4(20), JDO3(30), JDO5(30), MTA2(20)
Toko pilihan sales Urutan sistem
Kaffa II Pitu Fortuna I Ida Cendana Marti Ikasari Aribia Rifika 1 2 3 4 5 7 10 12 14
(72)
Query 7
Query AJC2(15), BPD(15), BSM4(30), LPBF(25), LPGF(25), ORB7(25), PG7D(25), SCS4(25)
Toko pilihan sales Urutan sistem
Jaya Mulya Dipta Dero Satria Kaffa II Fortuna II Fortuna I Abadi Dewi Sri Medikom Tutik Rifika 1 2 3 4 5 6 7 9 11 12 14 15 Query 8
Query JDO5(25), JDO9(30), LPBF(15), LPGF(25), LPGC7(20), PGG2B(20), W.BERRY 4(15)
Toko pilihan sales Urutan sistem
Kaffa II Dero Aribia Prapti Ikasari 1 2 3 4 5
(73)
Fortuna II Prasetya Tiara Noval Supri Satria 7 10 11 12 14 15 Query 9
Query JCO3(25), KSCO(25), LASF(20), MC2(20)
Toko pilihan sales Urutan sistem
New Mut Noval Supri Aribia Marti Imam Lincem Dewi Sri Enny Dero Tiara 1 2 3 4 5 7 9 10 11 12 13 Query 10
Query MTA2(45), MTB2(50)
Toko pilihan sales Urutan sistem
Fortuna I KFE
1 2
(74)
Prima Sumber Rejeki Ikasari Supri 67 Pitu 3 5 6 7 8 9
4.2.3 Perhitungan Precision
a. Rekomendasi Pelanggan Tetap
Tabel 4.2 Perhitungan Precision Pelanggan Tetap TK 1 TK 2 TK 3 TK 4 TK 5 TK 6 TK 7 TK 8 TK 9 TK 10 TK 11 TK 12 TK 13 TK 14 TK 15 Query 1
R R R R R R R NR R R R NR NR NR NR
Query 2
R NR R NR R R NR R R R NR NR NR NR NR
Query 3
R R R NR R R NR R NR NR R R NR R NR
Query 4
R R R R R R NR R NR R R R R NR R
Query 5
R R R R NR R R NR R NR NR R NR R NR
Query 6
R R R R R R R R R NR NR NR NR R R
Query 7
R R R R R R R R R NR R R NR R NR
Query 8
R NR R NR NR NR R R NR R R NR R NR NR
Query 9
R R R R R R R R NR NR NR R NR NR NR
Query 10
R NR R R NR NR R NR R NR NR NR NR NR NR
Keterangan :
(75)
R : Relevan
Dari perhitungan Tabel 4.2, untuk query 1 dihasilkan sebagai berikut : Toko Dewi Sri, Toko Ikasari, Toko Pitu, Toko Casha, Toko Tres, Toko New Mut, Toko Sidik, Toko Tutik, Toko Sumber Rejeki dan Toko 67. Maka untuk query 1 hasil yang relevan adalah index 1,2,3,4,5,8, dan 9.
b. Rekomendasi Pelanggan Promosi
Tabel 4.3 Perhitungan Precision Pelanggan Promosi TK 1 TK 2 TK 3 TK 4 TK 5 TK 6 TK 7 TK 8 TK 9 TK 10 TK 11 TK 12 TK 13 TK 14 TK 15 Query 1
R R R R R NR NR R R NR NR NR NR NR NR
Query 2
R R R R R R NR R R R R NR R R NR
Query 3
R R R R R R R NR NR NR R NR R NR NR
Query 4
R R NR R R NR NR NR NR R NR NR NR NR NR
Query 5
R R R R R R NR NR R NR R NR R R NR
Query 6
R R R R R NR R NR NR R NR NR NR R NR
Query 7
R R R R R R R NR R NR R R NR R R
Query 8
R R R R R NR R NR NR R R R NR R R
Query 9
R R R R R NR R NR R R R R R NR NR
Query 10
R R R NR R R R R R NR NR NR NR NR NR
Keterangan :
TK : Toko NR : Not Relevan
(76)
Dari perhitungan Tabel 4.3, untuk query 1 dihasilkan sebagai berikut :
Toko Kaffa II, Toko Rifika, Toko Prasetya, Toko Dero, Toko Aribia, Toko 67 Toko Prima. Maka untuk query 1 hasil yang relevan adalah index 1,2,3,4,5,6,7,9,10, dan 11.
4.2.4 Perhitungan Average Precision
a. Rekomendasi Pelanggan Tetap
Tabel 4.4 Perhitungan Average Precision Pelanggan Tetap
Dari Tabel 4.4 dilihat bahwa tingkat relevansi rekomendasi toko yang diberikan sistem untuk sales sebagai berikut :
Query Relevan Not relevan Hasil sistem
Precision
1 10 5 15 0.67
2 7 8 15 0.47
3 9 6 15 0.60
4 12 3 15 0.80
5 9 6 15 0.60
6 11 4 15 0.73
7 12 3 15 0.80
8 7 8 15 0.47
9 9 6 15 0.60
10 5 10 15 0.33
Rata-rata 0.61
(77)
Dari 10 kueri rata-rata yang dihasilkan yaitu 61% maka sistem ini memiliki akurasi yang cukup baik. Nilai precision tertinggi dalam persen pada query 4 dan 7 yaitu 80% dan terendah pada query 10 yaitu 33%.
b. Rekomendasi Pelanggan Promosi
Tabel 4.5 Perhitungan Average Precision Pelanggan Promosi
Dari Tabel 4.5 dilihat bahwa tingkat relevansi rekomendasi toko yang diberikan sistem untuk sales sebagai berikut :
Dari 10 kueri rata-rata yang dihasilkan yaitu 62% maka sistem ini memiliki akurasi yang cukup baik. Nilai precision tertinggi dalam persen pada query 2 dan 7 yaitu 80% dan terendah pada query 4 yaitu 33%.
Query Relevan Not relevan Jumlah produk
Precision
1 7 8 15 0.47
2 12 3 15 0.80
3 9 6 15 0.60
4 5 10 15 0.33
5 10 5 15 0.67
6 8 7 15 0.53
7 12 3 15 0.80
8 11 4 15 0.73
9 11 4 15 0.73
10 8 7 15 0.53
Rata-rata 0.62
(78)
4.2.5 Kelebihan dan kekurangan sistem
Kelebihan sistem yang dibagun adalah :
1. Dapat memberikan informasi toko dengan jarak terdekat dengan sales saat itu.
2. Memberikan gambar letak lokasi toko yang ada dalam list atau daftar rekomendasi.
3. Berdasarkan hasil pengujian precision, rekomendasi pelanggan tetap memiliki akurasi cukup baik yaitu 61% dan promosi pelanggan memiliki akurasi yang cukup baik, yaitu 62%
Kekurangan sistem yang dibangun adalah :
1. Sistem tidak dapat memberikan rekomendasi berdasarkan data per hari,
minggu, bulan, atau tahun.
2. Proses perhitungan akan berjalan lama ketika menggunakan koneksi yang lambat.
(79)
63
BAB V
PENUTUP
5.1 Kesimpulan
Pembangunan sistem Rekomendasi Sales ini menggunakan content based filtering. Terdapat 50 toko dan 73 produk yang digunakan sebagai data dalam sistem Rekomendasi Sales ini. Kesimpulan yang didapat adalah :
1. Sales mendapatkan rekomendasi mengenai informasi toko-toko pelanggan tetap dan pelanggan promosi. Pelanggan tetap adalah toko yang memiliki kemiripan dekat dengan profil sales. Sedangkan pelanggan promosi adalah toko yang memiliki kemiripan jauh dengan profil sales.
2. Admin dapat mengelola data yang diperlukan pada web Rekomendasi Sales untuk menunjang sistem Rekomendasi Sales berbasi web maupun mobile. 3. Pengujian dengan menghitung precesion, dimana sales diminta memilih toko
yang sesuai menurutnya. Berdasarkan hasil pengujian precision,
rekomendasi pelanggan tetap memiliki akurasi cukup baik yaitu 61% dan promosi pelanggan memiliki akurasi yang cukup baik, yaitu 62%. Evaluasi sistem ini belum dapat dikatakan baik karena pengujian dilakukan menggunakan variable precesion dan tanpa dilakukan pengujian recall.
(80)
5.2Saran
Saran yang dapat penulis berikan dari penelitian ini adalah 1. Bagi user
Sistem Rekomendasi mobile melakukan perhitungan komputasi pada php di server. Apabila terdapat banyak data toko, produk, maupun transaksi yang akan dihitung maka aplikasi ini akan berjalan lambat. Agar hasil komputasi dapat berjalan dengan baik penulis menyarankan user menggunakan handphone yang memiliki RAM besar dan prosesor yang cepat dan koneksi yang baik.
2. Bagi peneliti selanjutnya
Sistem ini masih banyak kekurangan. Sebaiknya bagi peneliti selanjutnya dapat memperbaiki kualitas dan kinerja sistem, diantaranya :
a. Sistem dapat memberikan rekomendasi berdasarkan data per hari, minggu, bulan, atau tahun.
(81)
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.
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.
Kushwaha, Amit., & Kushwaha, Vineet. (2011). Location Based Service using Android Mobile Operating System. Internasional Journal of Advances in Engineering & Technology 2011, India.
Lee, Dik Lun., Chuang, Huei., & Seamons, Kent E. (1997). Document Rangking and the Vector-Space Model. IEEE March-April 1997
Nugraha, AG Hari Jati., & Adi, Puspaningtyas Sanjaya. (2010). Penerapan Sistem Temu Kembali pada Sebuah Sistem Pendukung Pengambilan Keputusan
(82)
Lowongan Pekerjaan Berbahasa Indonesia. Prosiding Seminar Nasional Aplikasi Teknologi Informasi 2010, Yogyakarta.
Resnick, Paul dan Varian, Hal R. (1997). Recommender systems. Communications of the ACM, Vol. 40, No. 3, 56-58.
(83)
67
Lampiran 1
1.1Rekomendasi Web Server
1.1.1 Login
Nama Use Case Login
Aktor Admin
Deskripsi Use
Case
Use case ini menggambarkan proses Admin melakukan login sebelum masuk ke sistem, dengan memasukkan user dan password.
Kondisi awal Admin memiliki password.
Pemicu Use case ini digunanakan apabila Admin ingin masuk ke dalam
sistem.
Langkah Umum Kegiatan aktor Respon sistem
Langkah 1:
Admin memasukan user dan password.
Langkah 2:
Kemudian mengeklik tombol “Login”.
Langkah 3:
Sistem akan memanggil query Login.
Langkah 4:
Sistem akan memproses query Login.
Langkah 5:
Sistem mengecek validasi di database.
Langkah 6:
Sistem menampilkan Halaman Produk.
(84)
Langkah Alternatif
Langkah 2 :
Admin mengklik tombol “Cancel”, maka kolom nama dan kata sandi akan dikosongkan.
Kesimpulan Use case berhenti apabila Admin telah berhasil masuk kedalam
halaman produk atau user membatalkan masuk ke sistem.
1.1.2 Kelola Produk
Nama Use Case Kelola Produk
Aktor Admin
Deskripsi Use
Case
Use case ini menggambarkan proses Admin melakukan penambahan dan perubahan data dari produk/barang.
Kondisi Awal Admin telah berhasil masuk menu Admin
Pemicu Use case ini digunakan apabila ingin menambah atau merubah
data barang
Langkah Umum Kegiatan aktor Respon sistem
Langkah 1:
Admin memilih menu tab “Produk”.
Langkah 4:
Admin memasukkan data “kode produk”, “nama produk”, “satuan”,”harga per karton”, dan “harga per pak” yang akan ditambahkan lalu mengklik tombol simpan.
Langkah 2:
Sistem akan menggambil field data produk dari database.
Langkah 3:
Sistem akan menampilkan data produk.
Langkah 5:
Sistem akan memanggil query tambahProduk.
Langkah 6:
(1)
7. Perhitungan jarak, Lakukan perulangan untuk mengecek kondisi latitude, jika latitude setiap toko tidak kosong maka lakukan perhitungan dan tampilkan.
8. Lakukan penyalinan data yang diurutkan secara descending yang diberi limit 15 dari tabel toko ke tabel toko_distance.
Listing :
for ($i=0;$i<count($toko);$i++) { $temp = array();
$datatoko[$i] = array();
for ($j=0;$j<count($produk);$j++) { $temp=0;
$hasilkali = array(); $hasilkalitoko = array();
$query5 = mysql_query('SELECT AVG(frek_toko) AS Average_Toko FROM transaksi_toko_indeks WHERE id_toko ='.($i+1).' AND id_produk='.($j+1));
while($r=mysql_fetch_array($query5)) { $temp= $r[' Average_Toko ']; }
$datatoko[$i][$j]=$temp;
$powtoko[$i][$j]= $datatoko[$i][$j] * $datatoko[$i][$j]; hasilsumpowtoko = $hasilsumpowtoko + $powtoko[$i][$j]; $akartoko = sqrt($hasilsumpowtoko);
$temp1=0;
$query6 = mysql_query('SELECT frek_sales FROM transaksi_sales WHERE id_sales ='.$id.' AND id_produk='.($j+1));
while($res=mysql_fetch_array($query6)) { $temp1= $res['frek_sales']; }
$datasales[$j]=$temp1;
$powsales[$j]= $datasales[$j] * $datasales[$j]; $hasilkali[$i][$j] = $datatoko[$i][$j] * $datasales[$j]; $hasilsum = $hasilsum + $hasilkali[$i][$j];
$hasilsumpowsales = $hasilsumpowsales + $powsales[$j]; $akarsales = sqrt($hasilsumpowsales);
}
$cosim = $hasilsum /($akarsales*$akartoko); $result = substr($cosim,0,5);
(2)
//menghitung jarak
for ($j=0;$j<count($t_lat);$j++) {
$theta = $t_long[$j]-$s_long[0];
$distance = (sin(deg2rad($t_lat[$j])) * sin(deg2rad($s_lat[0]))) + (cos(deg2rad($t_lat[$j])) * cos(deg2rad($s_lat[0])) * cos(deg2rad($theta)));
$distance1 = acos($distance); $distance1 = rad2deg($distance1); $distance2 = $distance1*60*1.1515;
$jarak = $distance2*1.609344; $jarak1 = (round($jarak,2));
$id=$j+1;
$query = mysql_query('UPDATE toko SET distance= "'.$jarak1.'" where id_toko ="'.$id.'"') or die('Errorquery: '.$query);
}
$querydrop = "DROP table if exists toko_distance";
$querycreate = "CREATE TABLE toko_distance LIKE toko";
$querycos = "INSERT toko_distance SELECT * FROM toko WHERE COSIM>0 ORDER BY COSIM DESC LIMIT 15";
$querydis = "SELECT * FROM toko_distance ORDER BY DISTANCE";
$resultdrop = mysql_query($querydrop) or die('Errorquery: '.$querydrop); $resultcreate= mysql_query($querycreate) or die('Errorquery: '.$querycreate); $resultcos = mysql_query($querycos) or die('Errorquery: '.$querycos); $resultdis = mysql_query($querydis) or die('Errorquery: '.$querydis);
8. list-rekomendasi-promosi.php
Tujuan : menghitung cosine similarity dan jarak. Algoritma :
1. Buat variable array temp dan datatoko.
2. Lakukan perulangan untuk mengecek kondisi frek_toko, jika frek_toko pada setiap produk tidak kosong maka akan ditampilkan.
3. Lakukan perhitungan kuadrat bobot setiap toko, kemudian jumlahkan seluruh bobot milik toko tersebut, dan akarkan hasil jumlah seluruh toko tersebut.
(3)
4. Lakukan perulangan untuk mengecek kondisi frek_sales, jika frek_sales pada setiap produk tidak kosong maka akan ditampilkan.
5. Lakukan perhitungan kuadrat bobot setiap sales, kalikan setiap bobot pada kolom sales dan kolom toko, kemudian jumlahkan seluruh bobot milik sales tersebut, dan akarkan hasil jumlah seluruh sales tersebut. 6. Lakukan perhitungan cosine similarity, hasil jumlah perkalian bobot
toko dan sales dibagi perhitungan akar toko dan sales.
7. Perhitungan jarak, Lakukan perulangan untuk mengecek kondisi latitude, jika latitude setiap toko tidak kosong maka lakukan perhitungan dan tampilkan.
8. Lakukan penyalinan data yang diurutkan secara ascending yang diberi limit 15 dari tabel toko ke tabel toko_distance.
Listing :
for ($i=0;$i<count($toko);$i++) { $temp = array();
$datatoko[$i] = array();
for ($j=0;$j<count($produk);$j++) { $temp=0;
$hasilkali = array(); $hasilkalitoko = array();
$query5 = mysql_query('SELECT AVG(frek_toko) AS Average_Toko FROM transaksi_toko_indeks WHERE id_toko ='.($i+1).' AND id_produk='.($j+1));
while($r=mysql_fetch_array($query5)) { $temp= $r[' Average_Toko ']; }
$datatoko[$i][$j]=$temp;
$powtoko[$i][$j]= $datatoko[$i][$j] * $datatoko[$i][$j]; hasilsumpowtoko = $hasilsumpowtoko + $powtoko[$i][$j]; $akartoko = sqrt($hasilsumpowtoko);
$temp1=0;
$query6 = mysql_query('SELECT frek_sales FROM transaksi_sales WHERE id_sales ='.$id.' AND id_produk='.($j+1));
while($res=mysql_fetch_array($query6)) { $temp1= $res['frek_sales']; }
(4)
$powsales[$j]= $datasales[$j] * $datasales[$j]; $hasilkali[$i][$j] = $datatoko[$i][$j] * $datasales[$j]; $hasilsum = $hasilsum + $hasilkali[$i][$j];
$hasilsumpowsales = $hasilsumpowsales + $powsales[$j]; $akarsales = sqrt($hasilsumpowsales);
}
$cosim = $hasilsum /($akarsales*$akartoko); $result = substr($cosim,0,5);
//menghitung jarak
for ($j=0;$j<count($t_lat);$j++) {
$theta = $t_long[$j]-$s_long[0];
$distance = (sin(deg2rad($t_lat[$j])) * sin(deg2rad($s_lat[0]))) + (cos(deg2rad($t_lat[$j])) * cos(deg2rad($s_lat[0])) * cos(deg2rad($theta)));
$distance1 = acos($distance); $distance1 = rad2deg($distance1); $distance2 = $distance1*60*1.1515;
$jarak = $distance2*1.609344; $jarak1 = (round($jarak,2));
$id=$j+1;
$query = mysql_query('UPDATE toko SET distance= "'.$jarak1.'" where id_toko ="'.$id.'"') or die('Errorquery: '.$query);
}
$querydrop = "DROP table if exists toko_distance";
$querycreate = "CREATE TABLE toko_distance LIKE toko";
$querycos = "INSERT toko_distance SELECT * FROM toko WHERE COSIM>0 ORDER BY COSIM ASC LIMIT 15";
$querydis = "SELECT * FROM toko_distance ORDER BY DISTANCE";
$resultdrop = mysql_query($querydrop) or die('Errorquery: '.$querydrop); $resultcreate= mysql_query($querycreate) or die('Errorquery: '.$querycreate); $resultcos = mysql_query($querycos) or die('Errorquery: '.$querycos); $resultdis = mysql_query($querydis) or die('Errorquery: '.$querydis);
(5)
vii
SISTEM REKOMENDASI PEMASARAN BARANG DAGANG SALES MENGGUNAKAN METODE CONTENT BASED FILTERING BERBASIS
MOBILE ANDROID
ABSTRAK
Sales sebuah distributor yang bekerja secara mobile atau bergerak dari satu toko ke toko lain, memiliki target pemasaran dalam penjualan produknya. Masalah yang dihadapi sales adalah perusahaan grosir ingin produknya dipasarkan pada setiap toko dan warung. Sales akan lebih efisien dalam pertimbangan untuk memilih informasi tempat sesuai konteks dan informasi yang diperoleh. Skripsi ini menyediakan informasi tentang rekomendasi toko yang memiliki profil yang sama dengan profil sales. Aplikasi mobile ini ditunjukan untuk sales yang akan memasarkan produk ke toko.
Pencarian rekomendasi ini menggunakan algoritma Vector Space Model (VSM) dan pendekatan Content Based Filtering dimana proses rekomendasi suatu
item untuk seorang user berdasarkan deskripsi dari item serta profil dari ketertarikan user tersebut. Sales mendapatkan rekomendasi mengenai informasi toko-toko pelanggan tetap dan pelanggan promosi. Pelanggan tetap adalah toko yang memiliki kemiripan dekat dengan profil sales. Sedangkan pelanggan promosi adalah toko yang memiliki kemiripan jauh dengan profil sales.
Pengujian dengan menghitung precision, dimana sales diminta memilih toko yang sesuai menurutnya. Berdasarkan hasil pengujian precision, rekomendasi pelanggan tetap memiliki akurasi yaitu 61% dan promosi pelanggan memiliki akurasi yaitu 62%. Evaluasi sistem ini belum dapat dikatakan baik karena pengujian dilakukan menggunakan variable precision dan tanpa dilakukan pengujian recall.
(6)
viii
MARKETING RECOMMENDATION SYSTEM OF
MERCHANDISE WITH CONTENT BASED FILTERING
METHOD ON ANDROID MOBILE DEVICE
ABSTRACT
Salesmen of distributor who work mobile or move from one store to another, have a target to sell their product. The problem they encountered is wholeseller want their product to be marketed in every store and shop. Salesmen would be more efficient in considering to choose information about the place,match with the description and information they get. This essay provides information about recommended store which have the same profile with the salesmen's. This mobile application made for salesmen which would sell their product to stores.
This recommendation searching use Vector Space Model (VSM) algorithm and Content Based Filtering where the recommendation process of an item for user based on description of the item and profile of user interest. Salesmen get recommendations about regular's store information and promoted customers. regulars are stores which has close resemblance with the salesmen profile. Whereas promoted customers are stores which has less resemblance with the salesmen profiles.
Examination by precision counting, where salesmen asked to choose stores which they think fit. Based on precision examination result,regulars recommendations have a accuracy, about 61% and promoted customers have a accuracy, about 62%. This system evaluation couldn't called great, because the examination based on precision variable,not by recall examination.
Keywords : Vector Space Mobile (VSM), Content Based Filtering, recommendation