1 SISTEM REKOMENDASI PEMASARAN BARANG DAGANG SALES MENGGUNAKAN METODE CONTENT BASED FILTERING BERBASIS MOBILE ANDROID SKRIPSI Diajukan untuk Memenuhi ...
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. Kata kunci : Vector Space Mobile (VSM), Content Based Filtering, rekomendasi
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.
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. x
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.
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
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
Vector Space Model ............................................................................... 13 2.4.1 Pengertian Vector Space Model ......................................................... 14 2.4.2 Ukuran Kesamaan (similarity measure) ............................................. 15 xii
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 4.2.2 Sample Profil.................................................................................... 47 xiii
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
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 Gambar 3.9 ERD Sistem ....... ........................................................................ 38
1.1 Latar 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 tetap. 1
Berdasarkan spesifikasi tersebut dibangunlah aplikasi untuk mencatat datadata 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.
1.2 Rumusan 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.3 Batasan Masalah Dalam penulisan laporan tugas akhir ini penulis memberikan batasanbatasan masalah : 1. Kasus berlokasi di wilayah Yogyakarta. 2. Dikembangkan dalam mobile berbasis Android. 3. Diasumsikan data terpusat pada server sebuah distributor.
1.4 Tujuan 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 3
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.5 Metode 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 4
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.6 Sistematika 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.
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.
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 7
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 8
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. b. Item-Based Collaborative Filtering
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 fiturfitur 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.2 Mobile 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. 10
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. 11
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. 12
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.3 Pengukuran 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.4 Vector Space Model
2.4.1 Pengertian Vector Space Model Dalam sebuah Information Retrieval (IR) System, menentukan kemiripan antar dokumen yang didefinisikan berdasarkan representasi bagof-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.
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 15
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]:
( wQ, j wi, j ) Sim(Q,Di) =
j 1
w
2
j 1
w
(2.2)
2
Q, j
j 1
i, j
2.5 Android 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 :
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. 17
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. b. Service 18
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 19
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(). 20
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.
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.6 Location 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, 22
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.
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.
3.1 Analisa 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. 25
3.2 Arsitektur Aplikasi 3.2.1 Arsitektur Aplikasi Admin Sistem ini memiliki gambaran arsitektur sistem sales seperti gambar dibawah ini :
Admin
Data Toko, Produk, Sales yang ada
Perubahan Database
Data Toko, Produk, Sales yang telah berubah
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.
3.2.2 Arsitektur Aplikasi Sales Sistem ini memiliki gambaran arsitektur sistem sales seperti gambar dibawah ini :
Data Corpus
Sales
Input Profil VSM (Vector Space Model)
Similarity Process
Rekomendasi
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.
3.3 Arsitektur Sistem 3.3.1 Arsitektur Sistem Admin
Database server
internet
Web Server Admin
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
internet
Reksa Mobile
Web Server
Database server
Sales
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 28
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.4 Permodelan 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 W Prima
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 AJB2B
Selanjutnya menghitung nilai cosinus sudut antara dua vektor dengan setiap kueri dengan rumus cosine similarity, untuk :
( wQ, j wi, j ) j 1
w
2
j 1
Keterangan :
w
2
Q, j
j 1
i, j
Wij : bobot produk dalam data (toko) WQj : bobot produk dalam kueri (sales)
Tabel 3.4 Contoh hasil perhitungan cosines similarity Sumber 67 Prapti Prima 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.5 Desain model secara umum Desain model berisi analisis kebutuhan sistem secara umum yang terdiri dari use case diagram dan Diagram Arus Data Logika (DADL). 32
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. 34
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.
Desain Basis Data Perancangan diagram E-R menggambarkan relasi antar entitas (entity) yang digunakan untuk sistem.
id_sales telepon
nama_lengkap
user
sales
id_produk N
N
transaksi_sales
alamat
latitude lokasi pass longitude
kode
nama_produk
produk
N
tanggal
transaksi_toko
nama_toko telepon alamat id_toko N toko cosim
harga_karton
distance satuan harga_karton
frek_sales
frek_toko
id_sales
latitude longitude
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
8. Tabel Transaksi toko indeks Tabel 3.12 Struktur tabel Transaksi Toko Indeks No 1
Nama Kolom id_trans_toko
Tipe Int(4)
Fungsi 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.
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.
4.1 Tahap 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:
4.1.2
Editor program
: Eclipse Helios dan Netbeans 6.9
DBMS
: MySql 5.0
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. 43
4.2 Pengujian 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 =
4.2.1
Jumlah item toko yang dipilih sales Jumlah item toko yang dipilih oleh sistem
Item Query yang tersedia Tabel 4.1 Daftar Kode dan Nama Produk NO
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
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 Query 1 Query 2 Query 3 Query 4 Query 5 Query 6 Query 7 Query 8 Query 9 Query 10
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 Query
Relevan
Not relevan
Precision
5
Hasil sistem 15
1
10
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
0.67
Rata-rata
0.61
Persen(%)
61%
Dari Tabel 4.4 dilihat bahwa tingkat relevansi rekomendasi toko yang diberikan sistem untuk sales sebagai berikut :
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 Query
Relevan
Not relevan
1
7
8
Jumlah produk 15
Precision
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
0.47
Rata-rata
0.62
%
62%
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%.
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.
5.2 Saran 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. b. Pengujian menggunakan recall & precision.
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
Use Use case ini menggambarkan proses Admin melakukan login sebelum masuk ke sistem, dengan memasukkan user dan password. Admin memiliki password. Kondisi awal Deskripsi Case
Pemicu Langkah Umum
Use case ini digunanakan apabila Admin ingin masuk ke dalam sistem. 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. 67
Langkah 2 : Admin mengklik tombol “Cancel”, maka kolom nama dan kata sandi akan dikosongkan. 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 Aktor Deskripsi Use Case Kondisi Awal Pemicu Langkah Umum
Kelola Produk Admin Use case ini menggambarkan proses Admin melakukan penambahan dan perubahan data dari produk/barang. Admin telah berhasil masuk menu Admin Use case ini digunakan apabila ingin menambah atau merubah data barang Kegiatan aktor Respon sistem Langkah 1: Admin memilih menu tab “Produk”. Langkah 2: Sistem akan menggambil field data produk dari database. Langkah 3: Sistem akan menampilkan data 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 5: Sistem akan memanggil query tambahProduk. Langkah 6: Sistem akan menyimpan data
produk yang telah berubah. Langkah 7: Sistem akan menampilkan pesan data berhasil ditambah. Langkah Alternatif Kesimpulan
1.1.3
Langkah 4 : Admin mengklik tombol “Ubah”, sehingga sistem akan menampilkan halaman ubah data produk yang akan diubah. Use case ini berhenti apabila Admin berhasil memasukkan produk barang yang baru.
Kelola Toko
Nama Use Case Aktor Deskripsi Use Case Kondisi Awal Pemicu Langkah Umum
Kelola Toko Admin Use case ini menggambarkan proses Admin melakukan penambahan dan perubahan data dari toko Admin telah berhasil masuk menu Admin Use case ini digunakan apabila ingin menambah atau merubah data toko Kegiatan actor Respon sistem Langkah 1: Admin memilih menu tab “Toko”. Langkah 2: Sistem akan menggambil field data toko dari database. Langkah 3: Sistem akan menampilkan data toko Langkah 4: Admin memasukkan data “nama toko”, “alamat toko”, “telepon”, ”longitude”, dan “latitude” yang akan ditambahkan lalu mengklik tombol simpan. Langkah 5: Sistem akan memanggil query tambahToko.
Langkah 6: Sistem akan menyimpan data toko yang telah berubah. Langkah 7: Sistem akan menampilkan pesan data berhasil ditambah. Langkah Alternatif
Kesimpulan
Langkah 4 : Admin mengklik tombol “Ubah”, sehingga sistem akan menampilkan halaman ubah data toko. Langkah 4 : Admin mengklik tombol “Hapus”, sehingga sistem akan menghapus data toko. Langkah 4 : Admin mengklik tombol “Lihat”, sehingga sistem akan menampilkan transaksi toko. Use case ini berhenti apabila Admin berhasil memasukkan data toko yang baru, merubah dan menghapus data toko
1.1.4 Kelola Sales Nama Use Case Aktor Deskripsi Use Case Kondisi Awal Pemicu Langkah Umum
Kelola Sales Admin Use case ini menggambarkan proses Admin melakukan penambahan dan perubahan data dari sales Admin telah berhasil masuk menu Admin Use case ini digunakan apabila ingin menambah atau merubah data sales Kegiatan aktor Respon sistem Langkah 1: Admin memilih menu tab “Sales”. Langkah 2: Sistem akan menggambil field data sales dari database. Langkah 3: Sistem akan menampilkan data sales. Langkah 4:
Admin memasukkan data “nama sales”, “password sales”, “alamat sales”, ”telepon” yang akan ditambahkan lalu mengklik tombol simpan. Langkah 5: Sistem akan memanggil query tambahSales. Langkah 6: Sistem akan menyimpan data sales yang telah berubah. Langkah 7: Sistem akan menampilkan pesan data berhasil ditambah. Langkah 4 : Admin mengklik tombol “Ubah”, sehingga sistem akan menampilkan halaman ubah data sales. Langkah 4 : Admin mengklik tombol “Hapus”, sehingga sistem akan menghapus data sales. Langkah 4 : Admin mengklik tombol “Lihat”, sehingga sistem akan menampilkan transaksi sales. Use case ini berhenti apabila Admin berhasil memasukkan data sales yang baru, menghapus atau merubah data sales.
1.1.5 Reindeks Nama Use Case Aktor Deskripsi Use Case Kondisi Awal Pemicu Langkah Umum
Reindeks Admin Use case ini menggambarkan proses Admin melakukan reindeksing Admin telah berhasil masuk menu Admin Use case ini digunakan untuk melakukan reindeks transaksi toko agar dapat digunakan sales untuk mencari rekomendasi. Kegiatan aktor Respon sistem Langkah 1:
Admin memilih menu tab Langkah 2: “Toko”. Sistem akan menggambil field data sales dari database. Langkah 3: Sistem akan menampilkan data sales. Langkah 4: Admin mengklik tombol “Reindeks“. Langkah 5: Sistem akan memanggil query reindeks. Langkah 6: Sistem akan memproses query reindeks. Langkah 7: Sistem akan menyalinkan data transaksi_toko ke transaksi_toko_indeks. Langkah 8: Sistem akan menampilkan pesan tabel transaksi_toko_indeks telah dibentuk. Use case ini berhenti apabila Admin berhasil memasukkan data sales yang baru, menghapus atau merubah data sales.
1.2 Rekomendasi Mobile 1.2.1 Login Nama Use Case
Login
Aktor
Sales
Use Use case ini menggambarkan proses Sales melakukan login sebelum masuk ke sistem, dengan memasukkan nama dan password. Sales memiliki nama dan password yang sudah terdaftar. Kondisi awal Deskripsi Case
Pemicu
Use case ini digunanakan apabila sales ingin masuk ke dalam
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 Menu Kelola. Langkah 3 : jika user dan password tidak sesuai maka sistem akan memberikan peringatan. Use case berhenti apabila Sales telah berhasil masuk kedalam menu utama atau user membatalkan masuk ke sistem.
1.2.2 Profil Sales Nama Use Case Aktor Deskripsi Use Case Kondisi Awal Pemicu
Profil Sales Sales Use case ini menggambarkan proses sales melakukan penambahan produk/barang dan jumlah produk yang dibawa. Sales telah berhasil masuk halaman profil sales. Use case ini digunakan apabila ingin menambah daftar list barang.
Kegiatan aktor Langkah 1: Sales memilih menambahkan produk dibawa kedalam list.
74
Respon sistem atau yang
Langkah 5: Sales mengklik nama produk.
Langkah 2: Sistem akan melakukan query tambah-profil Langkah 3: Sistem akan memproses query tambah-profil kedalam database produk. Langkah 4: Sistem akan menampilkan list produk ke halaman profil sales.
Langkah 6: Sistem akan melakukan query detail-profilsales. Langkah 7: Sistem akan memproses query detail-profilsales kedalam database transaksi_sales. Langkah 8: Sistem akan menampilkan detail transaksi sales. Langkah Alternatif
Kesimpulan
Langkah 5: Sales Mengklik menu “Lokasi Sales”, sehingga menampilkan peta lokasi sales. Langkah 9 : Sales memasukkan jumlah barang yang dibawa. Kemudian klik “Simpan” Langkah 9: Sales memilih menu “Hapus”, kemudian transaksi di tabel transaksi_sales dihapus. Use case ini berhenti apabila sales berhasil memasukan list
barang yang akan dipasarkan. 1.2.3 Kelola Toko Nama Use Case Aktor Deskripsi Use Case Kondisi Awal Pemicu Langkah Umum
Kelola Toko Sales Use case ini menggambarkan proses sales melakukan penambahan data transaksi penjualan produk pada toko ke dalam database. Sales telah berhasil masuk ke halaman Kelola Toko Use case ini digunakan jika sales ingin menambah data toko Kegiatan actor Respon sistem Langkah 1: Sales memilih menu “Kelola Toko”. Langkah 2: Sistem akan melakukan query list-toko. Langkah 3: Sistem akan memproses query list-toko kedalam database toko. Langkah 4: Sistem akan menampilkan listtoko ke halaman ListToko. Langkah 5: Sales mengklik nama toko.
Langkah 6: Sistem akan melakukan query detail-toko. Langkah 7: Sistem akan memproses query detail-toko kedalam database toko. Langkah 8: Sistem akan menampilkan detail-toko ke halaman DetailListToko.
nama Sistem akan melakukan query list-produk-toko. Langkah 11: Sistem akan memproses query list-produk-toko kedalam database transaksi toko. Langkah 12: Sistem akan menampilkan pesan.
Langkah 13: Sales memasukan jumlah produk yang di jual dan mengklik tombol “Simpan” Langkah 14: Sistem akan melakukan query tambah_frekuensiproduk. Langkah 15: Sistem akan memproses query tambah_frekuensiproduk kedalam database transaksi toko, Langkah 16: Sistem akan memberikan notifikasi bahwa file telah tersimpan di database. Langkah Alternatif Kesimpulan
Use case ini berhenti apabila Sales telah berhasil memasukkan transaksi penjualan produk pada toko tertentu.
1.2.4 Rekomendasi Pelanggan Tetap Nama Use Case Aktor Deskripsi Use Case Kondisi Awal
Rekomendasi Pelanggan Tetap Sales Use case ini menggambarkan proses Sales melihat daftar toko yang masuk list pelanggan yang pasti menerima barang dari suatu pemasaran secara rutin. Sales telah berhasil masuk halaman profil sales dan mencatat
posisi longitude dan latitude ke tabel sales. Use case ini dilakukan oleh sales untuk mengetahui toko yang harus mendapatkan produk dagang. Kegiatan aktor Respon sistem Langkah 1: Sales memilih menu “Pelanggan Tetap” Langkah 2: Sistem akan melakukan query listpelanggan-tetap Langkah 3: Sistem akan melakukan proses query list-pelanggan-tetap untuk mengambil kolom id_sales dan id_produk dalam database. Langkah 4: Sistem akan melakukan proses query list-pelanggan-tetap untuk mengambil kolom id_produk,id_toko, dan frekuensi. Langkah 5: Sistem akan melakukan proses query list-pelanggan-tetap untuk mengambil kolom id_toko, nama_toko, cosim, dan distance. Langkah 6: Sistem akan memproses perhitungan vsm dan menampilkan list rekomendasi berdasarkan kemiripan dengan profil sales. Langkah 7: Sales mengklik salah satu nama toko, sehingga tampil peta lokasi toko yang dipilih. Use case ini berhenti apabila telah menampilkan hasil rekomendasi
1.2.5 Rekomendasi Promosi Pelanggan Nama Use Case Aktor Deskripsi Use Case Kondisi Awal Pemicu Langkah Umum
Rekomendasi Promosi Pelanggan Sales Use case ini menggambarkan proses Sales melihat daftar toko yang masuk list pelanggan yang telah lama tidak membeli produk. Sales telah mencatat posisi longitude dan latitude ke tabel sales. Use case ini dilakukan oleh sales untuk mengetahui toko yang harus mendapatkan produk. Kegiatan aktor Respon sistem Langkah 1: Sales memilih menu “Pelanggan Promosi” Langkah 2: Sistem akan melakukan query list-pelanggan-promosi Langkah 3: Sistem akan melakukan proses query list-pelanggan-ptomosi untuk mengambil kolom id_sales dan id_produk dalam database. Langkah 4: Sistem akan melakukan proses query list-pelanggan-promosi untuk mengambil kolom id_produk,id_toko, dan frekuensi. Langkah 5: Sistem akan melakukan proses query list-pelanggan-promosi untuk mengambil kolom id_toko, nama_toko, cosim, dan distance. Langkah 6: Sistem akan memproses
perhitungan vsm dan menampilkan list rekomendasi berdasarkan kemiripan dengan profil sales. Langkah Alternatif Kesimpulan
Langkah 7: Sales mengklik salah satu nama toko, sehingga tampil peta lokasi toko yang dipilih. Use case ini berhenti apabila telah menampilkan hasil rekomendasi.
Diagram Aktivitas menggambarkan berbagai alir aktivitas dalam sistem yang sedang dirancang, bagaimana masing-masing alir berawal, keputusan yang mungkin terjadi, dan bagaimana mereka berakhir. Diagram Aktivitas juga dapat menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi. 2.1 Rekomendasi Web Server 2.1.1 Diagram Aktivitas Login Aktor
Mengklik menu tab “Produk”. Mengambil kolom data produk dari database.
Menampilkan data produk.
Mengklik icon ubah
Mengubah data “kode produk”, “nama produk”, “satuan”,”harga per karton”, dan “harga per pak” yang akan diubah lalu mengklik tombol “ubah". memanggil query ubahProduk.
3.1 Rekomendasi Web Server (Admin) 3.1.1 Login No 1. 2.
Nama kelas / tabel Halaman Login Login
Tipe Interface Controller
3.
Halaman Produk
Interface
4.
Admin
Entity
: Halaman Login
Deskripsi Halaman Login Admin Kelas ini memvalidasi user dan pass yang digunakan Admin untuk Login Halaman yang akan ditampilkan setelah proses validasi sukses Berfungsi menyimpan data user dan pass Admin
: Halaman Produk
Admin
: Login
1: Masukkan user dan Pass 2: klik tombol "Login" 3: lakukan query Login 4: Login(user,Password) 5: validasi true/false 6: Tampil Halaman Produk
Deskripsi Halaman untuk memasukkan data dari produk Kelas ini sebagai controller yang mengatur proses penambahan data pada tabel produk Berfungsi menyimpan data produk
: HalamanProduk
Admin
: Produk
produk
1: Pilih tab menu "Produk" 2: lakukan query dataproduk 3: query data produk 4: tampil tabel data produk 5: isikan data kode, nama, satuan, harga produk dan klik simpan 6: lakukan query tambahProduk 7: simpan data produk 8: tampil pesan data berhasil ditambah
2, 6
1, 5
3, 7
4, 8
Admin
Halaman Produk
Produk
Produk
3.1.3 Ubah Produk No 1.
Nama kelas / tabel Halaman Ubah Produk
Tipe Interface
2.
Produk
Controller
3.
Produk
Entity
Deskripsi Halaman untuk memasukkan data dari produk Kelas ini sebagai controller yang mengatur proses perubahan data pada tabel produk Berfungsi menyimpan data produk
1: Pilih tab menu "Produk" 2: lakukan query dataproduk 3: query data produk 4: tampil tabel data produk 5: klik icon ubah 6: isikan data kode, nama, satuan, harga produk dan klik ubah 7: lakukan query ubahhProduk 8: ubah data produk 9: tampil pesan data berhasil diubah
2, 7
1, 5,6
3, 8
4, 9
Admin
Halaman UbahProduk
Produk
Produk
3.1.4 Tambah Toko No 1.
Nama kelas / tabel Halaman Toko
Tipe Interface
2.
Toko
Controller
3.
Toko
Entity
Deskripsi Halaman untuk memasukkan data dari toko Kelas ini sebagai controller yang mengatur proses penambahan data pada tabel toko Berfungsi menyimpan data toko
1: Pilih tab menu "Toko" 2: lakukan query datatoko 3: query data toko 4: tampil tabel data toko 5: isikan data nama, alamat, telepon, longitude, latitude 6: lakukan query tambahToko 7: simpan data toko 8: tampil pesan data berhasil ditambah
2, 6
1, 5
3, 7
4, 8
Admin
Halaman Toko
Toko
Toko
3.1.5 Ubah Toko No 1.
Nama kelas / tabel Halaman Ubah Toko
Tipe Interface
2.
Toko
Controller
3.
Toko
Entity
Deskripsi Halaman untuk merubah data dari toko Kelas ini sebagai controller yang mengatur proses perubahan data pada tabel toko Berfungsi menyimpan data toko
1: Pilih tab menu "Toko" 2: lakukan query datatoko 3: query data toko 4: tampil tabel data toko 5:klik ikon ubah 6: isikan data nama, alamat, telepon, longitude, latitude 7: lakukan query ubahToko 8: ubah data toko 9: tampil pesan data berhasil diubah
2, 7
1, 5, 6
3, 8
4, 9 Halaman Ubah Toko
Admin
3.1.6
Toko
Toko
Hapus Toko No 1.
Nama kelas / tabel Halaman Toko
Tipe Interface
2.
Toko
Controller
3.
Toko
Entity
Deskripsi Halaman untuk memasukkan data dari toko Kelas ini sebagai controller yang mengatur proses penambahan data pada tabel toko Berfungsi menyimpan data toko
1: Pilih tab menu "Toko" 2: lakukan query datatoko 3: query data toko 4: tampil tabel data toko 5: klik ikon hapus 6: lakukan query hapusToko 7: hapusdata toko 8: tampil pesan data berhasil diubah
2, 6
1, 5
3, 7
4, 8 Halaman Toko
Admin
3.1.7
Toko
Lihat Transaksi Toko
No 1.
Nama kelas / tabel Halaman Transaksi Toko
Tipe Interface
2. 3.
Toko Transaksi_toko
Entity Entity
Admin
Toko
: HalamanTransaksiToko
Deskripsi Halaman untuk melihat data transaksi produk dari toko Berfungsi menyimpan data toko Berfungsi menyimpan data transaksi dari toko.
: Transaksi
toko
transaksi_toko
1: klik icon lihat pada toko yang dipilih 2: lakukan query lihat toko 3: lihat transaksi() 4: lihat transaksi() 5: tampil data transaksi toko
Deskripsi Halaman untuk memasukkan data dari sales Kelas ini sebagai controller yang mengatur proses penambahan data pada tabel sales Berfungsi menyimpan data Sales
: HalamanSales
Admin
: Sales
sales
1: Pilih tab menu "Sales" 2: lakukan query data sales 3: query data sales 4: tampil tabel data sales 5: isikan data nama_lengkap, user, password, alamat, telepon, lokasi 6: lakukan query tambahsales 7: simpan data sales 8: tampil pesan data berhasil ditambah
Deskripsi Halaman untuk merubah data dari sales Kelas ini sebagai controller yang mengatur proses perubahan data pada tabel sales Berfungsi menyimpan data Sales
: HalamanUbahSales
Admin
: Sales
sales
1: Pilih tab menu "Sales" 2: lakukan query data sales 3: query data sales 4: tampil tabel data sales 5: klik ikon ubah 6: isikan data nama_lengkap, user, password, alamat, telepon, lokasi 7: lakukan query tambahsales 8: simpan data sales 9: tampil pesan data berhasil diubah
2, 7
1, 5, 6
3, 8
4, 9
Admin
Halaman Sales
Sales
Sales
3.1.10 Lihat Transaksi Sales No 1.
Nama kelas / tabel Halaman Transaksi Sales
Tipe Interface
2.
Transaksi
Controller
Deskripsi Halaman untuk melihat transaksi Sales dari seorang sales Kelas ini sebagai controller yang mengatur proses penambahan data pada tabel sales
Berfungsi menyimpan data produk Berfungsi menyimpan data transaksi_sales
: Transaksi
transaksi_sales
produk
1: klik icon lihat pada sales yang dipilih 2: pilih produk yang dibawa sales 3: lakukan query tambah profil 4: tambahprofil() 5: tambahprofil() 6: tampil data transaksi toko
4 3
1, 2
produk
6
Admin
Halaman Transaksi Toko
5 Transaksi Transaksi_ sales
3.1.11 Hapus Sales No 1.
Nama kelas / tabel Halaman Transaksi Sales
Tipe Interface
2.
Transaksi
Controller
3.
Sales
Entity
Deskripsi Halaman untuk melihat transaksi toko dari seorang sales Kelas ini sebagai controller yang mengatur proses penambahan data pada tabel sales Berfungsi menyimpan data Sales
1: Pilih tab menu "Sales" 2: lakukan query data sales 3: query data sales 4: tampil tabel data sales 5: klik ikon hapus 6: lakukan query hapusSales 7: hapus data sales 8: tampil pesan data berhasil dihapus
2, 6
1, 5
3, 7
4, 8
Admin
Halaman Sales
Sales
Sales
3.1.12 Reindeks No 1.
Nama kelas / tabel Halaman Toko
Tipe Interface
2.
Toko
Controller
3.
Transaksi Toko Indeks Transaksi Toko
Entity
4.
Entity
Deskripsi Halaman untuk memasukkan data dari toko Kelas ini sebagai controller yang mengatur proses perubahan data Halaman untuk melihat data transaksi toko Halaman untuk melihat data transaksi toko
1: Pilih tab menu "Toko" 2: tampil tabel data toko 3: Klik tombol "Reindeks" 4: lakukan query reindeks 5: reindeks( transaksi_toko ) 6: reindeks(transaksi_toko) 7: salin data transaksi_toko 8: tampil pesan transaksi_toko_indeks telah dibuat
1, 3
4
2
8
Admin
Halaman Toko
5
Toko
6, 7
Transaksi_toko_ indeks
Transaksi _toko
3.2 Rekomendasi Mobile 3.2.1 Login No 1. 2.
Nama kelas / tabel Halaman Login Login
Tipe Interface Controller
3.
Halaman Menu Kelola Sales
Interface
4.
Entity
Deskripsi Halaman Login Sales Kelas ini memvalidasi user dan pass yang digunakan Sales untuk Login Halaman yang akan ditampilkan setelah proses validasi sukses Berfungsi menyimpan data user dan pass Sales
1: Masukkan user dan Pass 2: klik tombol "Login" 3: lakukan query Login 4: login(user, password) 5: validasi true/false 6: Tampil Halaman Produk
4, 5 1, 2
Sales
3 6 Login
Login
Menu Kelola
Sales
3.2.2 Profil Sales No 1.
Nama kelas / tabel Profil Sales
Tipe
Deskripsi
Interface
Halaman untuk menampilkan list produk yang dipasarkan Halaman untuk menampilkan detail dari setiap transaksi sales. Kelas ini sebagai controller yang mengatur proses data yang akan ditampilkan. Berfungsi menyimpan data produk Berfungsi menyimpan data transaksi seorang sales.
Sales 1: pilih produk yang dibawa 2: lakukan query tambah profil 3: tambah profil(id_produk, nama_produk) 4: tambah profil(id_produk, id_sales,frek_sales) 5: tampil list profil sales 6: klik nama produk 7: lakukan query detail-profilsales 8: detail-profilsales() 9: detail-profilsales() 10: tampil detail profil sales
2
1 Profil Sales
3, 8
Produk
5 4, 9 Profil
7
Sales
6 Detail Profil Sales
3.2.3
10
Transaksi _Sales
Tambah Transaksi Sales
No 1.
Nama kelas / tabel Detail Profil Sales
Tipe Interface
2.
Profil
Controller
3. 4.
Produk Transaksi_Sales
Entity Entity
Deskripsi Halaman untuk menampilkan detail dari setiap list produk Kelas ini sebagai controller yang mengatur proses data yang akan ditampilkan. Berfungsi menyimpan data produk Berfungsi menyimpan data transaksi_sales
Sales 1: masukkan jumlah barang, klik "simpan" 2: lakukan query tambah-frekuensisales 3: tambah-frekuensisales(nama_produk, id_produk) 4: tambah-frekuensisales() 5: tampil notifikasi data masuk ke database
3 Produk
2 1 5 4
Sales
Profil Sales
Toko Transaksi_Sales
3.2.4
Update Lokasi Sales
No 1.
Nama kelas / tabel Profil Sales
Tipe Interface
2.
Lokasi Sales
Interface
3.
Lokasi
Controller
4.
Sales
Entity
Deskripsi Halaman untuk menampilkan list produk yang dibawa. Halaman untuk menampilkan lokasi sales. Kelas ini sebagai controller yang mengatur proses data yang akan ditampilkan. Berfungsi untuk menyimpan data sales.
Sales 1: Pilih menu "Lokasi Sales" 2: mengambil map google 3: tampil peta/map 4: klik "Simpan" 5: lakukan query lokasi-sales 6: lokasi-sales(id_sales,longitude, latitude) 7: tampil notifikasi lokasi telah dicatat
1
2 Profil Sales
6 3, 7 5
4
Toko
Sales Lokasi Sales
3.2.5
Kelola Toko
No 1.
Nama kelas / tabel List Toko
Tipe Interface
2.
Detail List Toko
Interface
3.
Kelola Toko
Interface
4.
Toko
Controller
5 6
Toko Transaksi_toko
Entity Entity
Deskripsi Halaman untuk menampilkan list toko yang dipasarkan. Halaman untuk menampilkan detail dari setiap list toko. Halaman untuk menampilkan detail transaksi sebuah toko. Kelas ini sebagai controller yang mengatur proses data yang akan ditampilkan. Berfungsi menyimpan data toko. Berfungsi menyimpan data transaksi dari toko.
Deskripsi Halaman untuk memilih menu yang Pelanggan Tetap dan Pelanggan Promosi Halaman untuk menampilkan List Rekomendasi Kelas ini sebagai controller yang mengatur proses data yang akan ditampilkan. Berfungsi menyimpan data Transaksi Sales Berfungsi menyimpan data Transaksi Toko Indeks Berfungsi menyimpan data Toko yang di salin dari tabel toko
Transaksi_Sales
Transaksi_Toko_Indeks
Toko_Distance
1: Pilih menu "Pelanggan Tetap" 2: lalukan query list-pelanggan-tetap 3: list-pelanggan-tetap(id_sales, id_produk) 4: list-pelanggan-tetap(id_produk, id_toko,frek_toko) 5: list-pelanggan-tetap(id_toko, nama_toko, cosim, distance) 6: memproses perhitungan dan tampil list rekomendasi pelanggan tetap
Deskripsi Halaman untuk menampilkan list produk yang dibawa. Halaman untuk menampilkan lokasi sales. Kelas ini sebagai controller yang mengatur proses data yang akan ditampilkan. Berfungsi untuk menyimpan data sales.
: LokasiToko
: Rekomendasi
Toko_Distance
Sales 1: pilih nama toko 2: lakukan query lokasi-toko 3: lokasi-toko(id_toko,longitude, latitude) 4: Tampil lokasi toko dan keterangan
4.1 Rekomendasi Web Server 4.1.1 Halaman Login Admin Halaman login diisi oleh admin sebelum masuk kedalam sistem. Dengan memasukkan username dan password. Berikut ini gambar dari halaman login : Login Admin Nama Kata Sandi Login
4.1.2
Halaman Kelola Produk Halaman kelola produk diisi oleh admin sebelum masuk kedalam sistem admin terlebih dahulu
login.
Admin
dapat
memasukkan
kelengkapan data produk pada halaman ini. Berikut ini gambar dari halaman kelola produk :
Halaman Kelola Toko Halaman kelola toko diisi oleh admin sebelum masuk kedalam sistem admin terlebih dahulu login. Admin dapat memasukkan kelengkapan data toko pada halaman ini. Berikut ini gambar dari halaman kelola toko :
4.1.4 Halaman Kelola Sales Halaman kelola sales diisi oleh admin sebelum masuk kedalam sistem admin terlebih dahulu login. Admin dapat memasukkan kelengkapan data sales pada halaman ini. Berikut ini gambar dari halaman kelola sales :
Rekomendasi Sales Produk
Toko
Nama Lengkap
Rekomendasi
:
Alamat Sales
:
Telepon Sales
:
Nama
:
Kata Sandi
Sales
: simpan
4.1.5
batal
Halaman Toko Halaman Toko diisi oleh admin sebelum masuk kedalam sistem admin terlebih dahulu login. Admin dapat melakukan re-indeksing pada halaman ini dengam mengklik tombol “Reindeks”. Berikut ini gambar dari halaman login :
Halaman Login Sales Halaman login sales diisi oleh sales sebelum masuk kedalam sistem. Dengan memasukkan nama atau username dan kata sandi atau password. Berikut ini gambar dari halaman login sales :
Halaman Menu Utama Halaman menu utama berisi menu Profil Sales, dan Toko. Berikut ini gambar dari halaman menu utama : Rekomendasi Sales
Profil Sales
Toko
4.2.3
Halaman Profil Sales Halaman profil sales menampilkan daftar produk yang dibawa oleh sales untuk dipasarkan. Dari produk-produk tersebut sistem akan mencocokan dengan profil setiap toko yang mirip dengan sales, kemudian akan direkomendasikan berdasarkan nilai kemiripan.
Halaman ListToko Halaman list toko digunakan untuk melihat daftar toko berserta detail yang dikelola oleh sales. Pada menu ini sales melakukan kelola toko dengan memasukkan transaksi toko berdasarkan produk yang dijual di toko tersebut. Berikut ini gambar dari halaman daftar toko dan kelola transaksi toko : Rekomendasi Sales 67 Prapti Prima Sumber Rejeki Cendana KFE Dewi Sri Enny
Halaman Kelola Toko Halaman kelola toko digunakan untuk memasukkan transaksi toko berdasarkan produk yang dijual di toko tersebut. Berikut ini gambar dari halaman kelola toko: Rekomendasi Sales Nama Toko : 67 Nama Produk : Atom BBQ 20gr Kode Produk : AJB2B Produk yang dijual :
Simpa n
4.2.6
Halaman Lokasi Sales Halaman lokasi sales berisi peta dari lokasi sales dan tombol untuk menyimpan longitude dan latitude lokasi sales. Berikut ini gambar dari halaman lokasi sales : Rekomendasi Sales
Halaman Pelanggan Tetap Halaman pelanggan tetap berisi daftar toko yang telah diurutkan berdasarkan nilai kemiripan dengan profil sales yang mendekati sama. Berikut ini gambar dari halaman pelanggan tetap : Rekomendasi Sales 67 Prapti Prima Sumber Rejeki Cendana KFE Dewi Sri Enny
4.2.8
Halaman Pelanggan Promosi Halaman pelanggan promosi berisi daftar toko yang telah diurutkan berdasarkan nilai kemiripan dengan profil sales yang tidak mendakati. Berikut ini gambar dari halaman pelanggan tetap : Rekomendasi Sales Cendana Sumber Rejeki Dewi Sri Prapti Prima Sumber Rejeki KFE Enny
Halaman Lokasi Toko Halaman lokasi toko berisi gambar peta lokasi dimana marker akan menunjukan lokasi berdasarkan longitude dan latitude toko yang dipilih di halaman list pelanggan tetap dan promosi. Berikut ini gambar dari halaman lokasi toko : Rekomendasi Sales
Rekomendasi Web Server Sistem Rekomendasi Web Server ini terdapat 5 menu yang hanya dapat di akses oleh admin yaitu menu Produk, Toko, Sales, Rekomendasi, dan Logout. Setelah Login ke dalam sistem Admin dapat mengelola data-data Produk, Toko, Sales, dan melakukan reindeks.
5.1.1
Login Halaman Login digunakan oleh Admin untuk mengakses sistem Rekomendasi Web Server. Admin memasukkan nama dan kata sandi untuk melakukan proses kelola data. Jika Admin tidak memasukkan nama atau kata sandi dengan benar, sistem akan menampilkan pesan peringantan. Jika masukkan benar, sistem akan masuk ke halaman produk.
Tambah Data Produk Halaman tambah produk ini menampilkan kolom-kolom yang akan diisi oleh admin untuk data produk baru. Data-data tersebut adalah kode produk, nama produk, satuan, harga per karton, dan harga per pak. Jika kolom yang harus diisi masih kosong maka akan tampil pesan peringatan.
5.1.3
Ubah Data Produk Halaman ubah produk ini menampilkan kolom-kolom yang akan diisi oleh Admin untuk merubah data produk. Sebelum melakukan perubahan data, Admin harus berada pada halaman produk yang akan tampil kolomkolom dari kode produk, nama produk, satuan, harga per karton, dan harga per pak dari database. Kemudian tekan tombol
pada data yang akan di
lakukan perubahan. Dan akan muncul data-data dalam kolom dari data yang akan dihapus, lalu lakukan perubahan dan simpan data tersebut dangan mengklik tombol simpan.
5.1.4 Tambah Data Toko Halaman tambah toko ini menampilkan kolom-kolom yang akan diisi oleh admin untuk data toko baru. Data-data tersebut adalah nama toko, alamat toko, telepon toko, longitude, dan latitude. Dimana untuk mengisikan longitude dan latitude Admin menggunakan google map untuk membantu mencari lokasi toko. Jika kolom yang harus diisi masih kosong maka akan tampil pesan peringatan.
5.1.5 Ubah Data Toko Halaman ubah toko ini menampilkan kolom-kolom yang akan diisi oleh Admin untuk merubah data toko. Sebelum melakukan perubahan data, Admin harus berada pada halaman toko yang akan tampil kolom-kolom dari nama toko, alamat toko, telepon toko, longitude, dan latitude dari database. Kemudian tekan tombol
pada data yang akan dilakukan
perubahan. Dan akan muncul data-data dalam kolom dari data yang akan dihapus, lalu lakukan perubahan dan simpan data tersebut dangan mengklik tombol simpan.
Lihat Transaksi Toko Halaman transaksi toko ini menampilkan kolom-kolom untuk melihat transaksi toko. Admin harus berada pada halaman kemudian tekan tombol pada data yang akan dilihat transaksinya. Dan akan muncul data-data dari toko yang telah dipilih sebelumya, dimana terdapat kolom-kolom tanggal transaksi, nama produk yang dibeli, dan jumlah pembelian produk.
Tambah Data Sales Halaman tambah sales ini menampilkan kolom-kolom yang akan diisi oleh admin untuk data sales baru. Data-data tersebut adalah nama lengkap sales, user sales, kata sandi, alamat sales, telepon sales, dan lokasi sales. Jika kolom yang harus diisi masih kosong maka akan tampil pesan peringatan.
Ubah Data Sales Halaman ubah sales ini menampilkan kolom-kolom yang akan diisi oleh Admin untuk merubah data sales. Sebelum melakukan perubahan data, Admin harus berada pada halaman sales yang akan tampil kolomkolom dari nama lengkap sales, user sales, kata sandi, alamat sales, telepon sales, dan lokasi sales dari database. Kemudian tekan tombol
pada data
yang akan dilakukan perubahan. Dan akan muncul data-data dalam kolom dari data yang akan dihapus, lalu lakukan perubahan dan simpan data tersebut dangan mengklik tombol simpan.
Hapus Data Sales Halaman hapus sales ini menampilkan tabel sales yang diambil dari database. Sebelum melakukan perubahan data, Admin harus berada pada halaman sales yang akan tampil kolom-kolom atribut dari nama lengkap sales, user sales, kata sandi, alamat sales, telepon sales, dan lokasi sales dari database. Kemudian tekan tombol
pada data yang akan dilakukan
perubahan. Maka akan tampil pesan bahwa data tersebut telah dihapus.
5.1.10 Lihat Transaksi Sales Halaman transaksi sales ini menampilkan kolom-kolom untuk melihat transaksi sales. Admin harus berada pada halaman kemudian tekan tombol pada data yang akan dilihat transaksinya. Dan akan muncul data-data dari sales yang telah dipilih sebelumya, dimana terdapat kolom-kolom tanggal transaksi, nama produk yang dibeli, dan jumlah pembelian produk. Untuk pertama kali profil sales diisi oleh admin, mencatat produk dan jumlah yang akan di bawa oleh sales.
5.1.11 ReIndeks Halaman toko ini menampilkan tombol Reindeks untuk tabel transaksi toko. Tombol ini digunakan untuk membuat tabel transaksi_toko_indeks dimana tabel tersebut memiliki atribut dan isi yang sama dengan tabel transaksi_toko. Tabel transaksi_toko_indeks digunakan untuk melakukan perhitungan similarity agar tidak merubah tabel transaksi_toko. Reindeks dilakukan oleh Admin saat transaksi terakhir selesai atau transaksi berikutnya akan dimulai.
5.1.12 Logout Tombol Logout berada disetiap halaman web Rekomendasi Sales. Jika berhasil logout akan tapil pesan seperti gambar berikut :
Login Halaman login digunakan oleh Sales untuk mengakses sistem Rekomendasi Mobile. Sales memasukkan nama dan kata sandi untuk masuk ke halaman menu kelola. Jika sales tidak memasukkan nama atau kata sandi dengan benar, sistem akan menampilkan pesan peringantan. Jika masukkan benar, sistem akan masuk ke halaman menu kelola.
5.2.2 Menu Kelola Halaman menu kelola terdapat empat menu utama yaitu profil sales produk, toko, dan lokasi sales. Menu profil sales digunakan untuk menentukan produk yang akan dibawa, menu toko digunakan untuk mencatat transaksi toko, menu produk digunakan untuk melihat daftar produk, sedangkan menu lokasi sales untuk menentukan lokasi dimana sales berada yang merupakan profil sales selain produk yang dibawa.
5.2.3 Profil Sales Halaman profil sales menampilkan daftar produk yang akan dibawa oleh sales. Pada halaman ini sales memilih produk-produk yang akan di pasarkan ke toko-toko. Produk yang dipilih harus sesuai dengan produk yang dibawa. Kemudian pilih tombol “+” untuk mencatat produk yang akan dibawa ke dalam tabel tansaksi_sales.
5.2.4 Detail Profil Sales Halaman detail sales menampilkan keterangan setiap profil sales, berupa kode produk, nama produk, jumlah terakhir, jumlah produk yang dibawa. Pada kolom jumlah produk yang dibawa diisi jika ingin mengubah jumlah atau frekuensinya.
List Produk Halaman list produk menampilkan daftar produk-produk yang dimiliki perusahaan atau distributor. Daftar produk berupa kode dan nama dari produk.
5.2.6 Detail List Produk Halaman detail list produk menampilkan detail setiap produk. Pada halaman list produk, sales memilih salah satu kode produk yang ada di list, kemudian akan tampil detail produk, seperti nama produk, kode produk, satuan penjualan produk, harga per pak, dan harga per karton.
List Toko Halaman list toko menampilkan daftar toko-toko yang dimiliki perusahaan atau distributor, daftar berupa nama toko.
5.2.8 Detail List Toko Halaman detail list toko menampilkan detail setiap toko. Pada halaman list toko, sales memilih salah satu nama toko yang ada di daftar, kemudian
akan tampil halaman list toko, seperti nama toko, alamat, telepon, dan produk yang dipasarkan.
5.2.9 Kelola Toko Halaman kelola toko menampilkan detail produk yang ada ditoko. Sales memasukkan jumlah produk yang dipasarkan ke toko, kemudian klik menu simpan untuk mencatat transaksi tersebut ke dalam tabel transaksi_toko.
5.2.10 Lokasi Sales Halaman lokasi sales menampilkan lokasi sales berada ke dalam peta. Marker akan muncul ketika posisi longitude dan latitude lokasi sales ditemukan, kemudian klik tombol simpan untuk menyimpan posisi ke tabel sales.
5.2.11 List Pelanggan Tetap Halaman list pelanggan tetap menampilkan daftar toko yang direkomendasikan kepada sales berdasarkan profil dari sales berupa jenisjenis produk yang dibawa dan lokasi sales berada. Pelanggan tetap merupakan pelanggan yang memiliki kemiripan sangat dekat antara profil sales dan profil toko.
5.2.12 List Pelanggan Promosi Halaman list pelanggan promosi menampilkan daftar toko yang direkomendasikan kepada sales berdasarkan profil dari sales berupa jenisjenis produk yang dibawa dan lokasi sales berada. Pelanggan promosi merupakan pelanggan yang memiliki kemiripan sangat kecil antara profil sales dan profil toko.
5.2.13 Lokasi Toko Halaman lokasi toko menampilkan lokasi toko berada dalam peta. Marker akan muncul ketika posisi longitude dan latitude lokasi toko ditemukan, kemudian klik marker maka akan menampilkan detail toko.
Diagram kelas keseluruhan dapat dilihat pada halaman 40 sampai 41 pada bagian diagram kelas. Pada lampiran 6 ini memberikan daftar implementasi file berdasar pada diagram kelas. 6.1 Rekomendasi Web Server No 1.
Usecase Login
2.
Kelola Produk
3.
KelolaToko
4.
5.
Tambah Sales
Reindeks
Nama kelas / tabel Halaman Login Login Halaman Produk Tabel Admin Halaman Produk Halaman Produk Halaman Ubah Produk Tambah Produk Tabel Produk Halaman Toko Halaman Ubah Toko Halaman Transaksi Toko Transaksi Ubah Toko Tambah Toko Hapus Toko Tabel Toko Tabel Transaksi Toko Halaman Sales Halaman Ubah Sales Halaman Trasansaksi Sales Ubah Sales Tambah Sales Hapus Sales Tabel Sales Tabel Transaksi Sales Halaman Toko Toko
values('$tmbhkode','$tmbhnama','$tmbhsatuan','$tmbhharga_karton','$tmbhharga_pak')"; mysql_query($sqlSimpan) or die("Gagal Perintah SQL" . mysql_error());
3. ubahProduk.php Tujuan : Mengubah data produk yang ada. Algoritma : 1. Baca inputan nama kode, nama_produk,satuan, harga_pak berdasar id_produk. 2. Lakukan query $sqlUbah. Listing :
harga_karton,
$sqlUbah = "UPDATE produk set kode ='$ubahkode', nama_produk ='$ubahnama', satuan = '$ubahsatuan', harga_karton = '$ubahharga_karton', harga_pak = '$ubahharga_pak' where id_produk = '$ubah_produk'"; mysql_query($sqlUbah) or die("Gagal Perintah SQL".mysql_error());
4. tambahToko.php Tujuan : Menambah data toko ke tabel toko. Algoritma : 1. Baca inputan nama_toko, alamat, telepon, latitude, longitude 2. Lakukan query $querytoko. Listing : $querytoko = "INSERT INTO toko(nama_toko, alamat, telepon, latitude, longitude) values('$tmbhnama','$tmbhalamat','$tmbhtelepon', '$tmbhlatitude','$tmbhlongitude')"; mysql_query($querytoko) or die("Gagal Perintah SQL" . mysql_error());
5. ubahToko.php Tujuan : Mengubah data toko yang ada. Algoritma : 1. Baca inputan nama_toko, alamat, telepon, latitude, longitude berdasar id_toko. 2. Lakukan query $sqlUbah. Listing : $sqlUbah = "UPDATE toko set nama_toko ='$editnama',
alamat='$editalamat', telepon = '$edittelepon', latitude = '$editlatitude', longitude = '$editlongitude' where id_toko = '$idtoko'"; mysql_query($sqlUbah) or die("Gagal Perintah SQL".mysql_error());
6. tambahSales.php Tujuan : Menambah data sales ke tabel sales. Algoritma : 1. Baca inputan user, nama_lengkap, pass, alamat, telepon, lokasi. 2. Lakukan query $querysales. Listing : $querysales = "INSERT INTO sales (user, nama_lengkap, pass, alamat, telepon, lokasi) values('$tmbhuser', '$tmbhnama','$tmbhpass','$tmbhalamat','$tmbhtelepon', '$tmbhlokasi')"; mysql_query($querysales) or die("Gagal Perintah SQL" . mysql_error());
7. ubahSales.php Tujuan : Mengubah data sales yang ada. Algoritma : 1. Baca inputan nama user, nama_lengkap, pass, alamat, telepon, lokasi berdasar id_sales. 2. Lakukan query $sqlUbah. Listing : $sqlUbah = "UPDATE sales set nama_lengkap ='$editnama', user = '$edituser', pass = '$editpass', alamat='$editalamat', telepon = '$edittelepon', lokasi = '$editlokasi' where id_sales = '$ubah_sales'"; mysql_query($sqlUbah) or die("Gagal Perintah SQL" . mysql_error());
8. tambahProfil.php Tujuan : membuat profil sales. Algoritma :
List Rekomendasi Tetap Lokasi Toko Rekomendasi Tabel Toko Tabel Transaksi Toko Indeks Tabel Toko distance List Rekomendasi Promosi Lokasi Toko Rekomendasi Lokasi
Untuk kelas bertipe controler dan interface akan dijabarkan sebagai berikut : 1. Login_sales.php Tujuan : mencocokan username dan password yang dimasukan pada halaman login oleh Sales. Algoritma : 1. Baca inputan username dan password dari Sales 2. Melakukan pencocokan berdasar query $query 3. Mengembalikan nilai 1 jika data benar(sesuai dengan username dan password Sales). Mengembalikan nilai 0 jika data salah(tidak sesuai dengan username dan password Sales) Listing : $query = "SELECT * from sales WHERE user='$nama' && pass='$pass'"; $hasil = mysql_query($query)or die ("KESALAHAN QUERY ".mysql_error());
:
if (mysql_num_rows($hasil)==1){ $sret = 'Login Success'; }else{ $sret = 'Login Fail, User dan Password Salah'; } echo $sret;
2. LoginSales.java Tujuan : mencocokan username dan password yang dimasukan pada halaman login oleh Sales. Algoritma : 1. Membuat objek baru login.
3. tambahProfil.php Tujuan : menambah produk yang dibawa oleh sales untuk dijadikan profil sales. Algoritma : 1. Baca inputan id_sales dan nama_produk dari Sales. 2. Melakukan pencocokan berdasar query $query1. 3. Melakukan pencocokan berdasar query $query2. Listing : $id_sales = $_GET['id_sales']; $produk = $_GET['nama_produk']; $nama_produk = str_replace('+',' ', $produk);
$query1=mysql_query('SELECT id_produk, nama_produk FROM produk where nama_produk= "'.$nama_produk.'"'); $r=mysql_fetch_array($query1); $id_produk=$r['id_produk']; $query2= "INSERT INTO transaksi_sales(id_sales,id_produk) VALUES ('".$id_sales."','".$id_produk."')"; mysql_query($query2) or die("Gagal Perintah SQL" . mysql_error());
4. ProfilSales.java a. Fetch() Tujuan : mengambil data produk dan diubah kedalam array. Algoritma :