1 SISTEM REKOMENDASI PENJUALAN OBAT MENGGUNAKAN PENDEKATAN CONTENT BASED FILTERING BERBASIS MOBILE ANDROID HALAMAN JUDUL Skripsi Diajukan untuk Memenu...
SISTEM REKOMENDASI PENJUALAN OBAT MENGGUNAKAN PENDEKATAN CONTENT BASED FILTERING BERBASIS MOBILE ANDROID HALAMAN JUDUL Skripsi Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Komputer Program Studi Teknik Informatika
Oleh: Laurina Silvianty Dewi 085314068
PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA YOGYAKARTA 2013
MEDICINE SALES RECOMMENDATION SYSTEM USING CONTENT BASED FILTERING APPROACH ON ANDROID MOBILE DEVICE HALAMAN JUDUL (INGGRIS) A Thesis Presented as Partial Fullfillment of the Requirements To Obtain the Sarjana Komputer Degree In Study Program of Informatics Engineering
By : Laurina Silvianty Dewi 085314068
DEPARTMENT OF INFORMATICS ENGINEERING FACULTY OF SCIENCE AND TECHNOLOGY SANATA DHARMA UNIVERSITY YOGYAKARTA 2013
PERNYATAAN KEASLIAN KARYA Saya menyatakan dengan sesungguhnya bahwa tugas akhir yang saya tulis ini tidak memuat karya orang lain, kecuali yang telah disebutkan dalam kutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah.
SISTEM REKOMENDASI PENJUALAN OBAT MENGGUNAKAN PENDEKATAN CONTENT BASED FILTERING BERBASIS MOBILE ANDROID
Saat ini penggunaan perangkat mobile sudah menjadi kebutuhan pokok bagi sebagian besar masyarakat di negara berkembang. Berbagai perangkat lunak telah dikembangkan untuk mengoptimalkan serta melengkapi fungsi dari perangkat mobile tersebut. Terutama ketika masyarakat ingin mencari dan mendapatkan sebuah informasi tertentu. Salah satunya adalah Medical Sales Representative (MedRep). Informasi mengenai dokter sangat diperlukan medrep pada saat menjalankan tugasnya. Sehingga dibutuhkan aplikasi yang dapat membantu MedRep dalam mendapatkan informasi seperti informasi dokter dan rumah sakit. Pada tugas akhir ini di rancang sebuah aplikasi dengan pendekatan Content Based Filtering. Content Based Filtering merupakan pendekatan yang dilakukan berdasarkan kesamaan profil item dan profil pengguna. Profil tersebut akan direpresentasikan dalam bentuk vektor. Vektor tersebut akan diukur kedekatannya menggunakan metode Vektor Space Model dengan menghitung cosinus antara kedua buah vektor. Sehingga aplikasi ini akan merekomendasikan profil yang cocok dan dianggap relevan untuk pengguna. Pengujian aplikasi ini dilakukan di Jogja International Hospitel (JIH) dengan mendatangi Medrep untuk menggunakan aplikasi ini serta meminta medrep untuk memberikan tanggapan dari hasil rekomendasi dokter yang diberikan oleh sistem. Kemudian dari hasil pengujian akan dihitung precision untuk masing-masing query serta menghitung average precision. Berdasarkan pengujian yang telah dilakukan dengan menggunakan 10 profil medrep didapatkan hasil average precision sebesar 77,93%. Namun hasil rekomendasi yang diberikan sistem belum dapat dikatakan baik karena pengujian yang dilakukan hanya menggunakan precision saja.
Kata kunci : Sistem Rekomendasi, Content Based Filtering, Vector Space Model, Aplikasi Mobile.
MEDICINE SALES RECOMMENDATION SYSTEM USING CONTENT BASED FILTERING APPROACH ON ANDROID MOBILE DEVICE
At this time of mobile devices has become a necessity for most people in developing countries. Various software has been developed to optimize and complement the functionality of the mobile device. Especially when people want to search for and obtain a specific information. One is the Medical Sales Representative (MedRep). Information on physicians much needed a medrep while performing their duties. And we need an applications that can help MedRep in getting information such as doctor and hospital information.
In this thesis designed an application with Content-Based Filtering approach. Content Based Filtering is an approach that is based on the similarity profile items and user profile. The profile will be represented in vektor form. The vector will be measured using the proximity Vector Space Model to calculate the cosine between the two vectors. So this app will recommend a suitable profile and deemed relevant to the user.
Testing of this application have been done at Jogja International Hospitel (JIH) visiting Medrep to use this application as well as medrep asked to provide feedback on the recommendations given by the doctor system. Then from the results of the test will be calculated precision for each query and calculate average precision. Based on the testing that has been performed using 10 profiles medrep results obtained precision average of 77.93%. However, the recommendations given system can not be said to be good because the testing is done only using a precision.
Key word: Recommendation System, Content Based Filtering, Vector Space Model, Mobile Aplication.
HALAMAN PERSETUJUAN PUBLIKASI KARYA ILMIAH KEPENTINGAN AKADEMIS Yang bertanda tangan dibawah ini, saya mahasiswa Universitas Sanata Dharma: Nama
: Laurina Silvianty Dewi
Nomor Mahasiswa
: 085314068
Demi
pengembangan
ilmu
pengetahuan,
saya
memberikan
kepada
perpustakaan Universitas Sanata Dharma karya ilmiah saya yang berjudul: SISTEM REKOMENDASI PENJUALAN OBAT MENGGUNAKAN PENDEKATAN CONTENT BASED FILTERING BERBASIS MOBILE ANDROID Beserta perangkat yang diperlukan (bila ada). Dengan demikian saya memberikan kepada Perpustakaan Universitas Sanata Dharma hak untuk menyimpan, mengalihkan dalam
bentuk
media
lain,
mengelolanya
dalam
bentuk
pangkalan
data,
mendistribusikan secara terbatas, dan mempublikasikannya di internet atau media lain untuk kepentingan akademis tanpa perlu meminta ijin dari saya maupun memberikan royalti kepada saya selama tetap mencantumkan nama saya sebagai penulis.
Demikian pernyataan ini saya buat dengan sebenarnya.
KATA PENGANTAR Puji dan syukur kepada Yesus Kristus yang telah memberikan karunia dan berkat-Nya sehingga dapat menyelesaikan skripsi dengan judul “Sistem Rekomendasi Penjualan Obat Menggunakan Pendekatan Content Based Filtering Berbasis Mobile Android”. Penyusunan tugas akhir ini tidak lepas dari semua pihak yang telah memberikan semangat, doa, dan bantuan sehingga tugas akhir ini dapat selesai. Untuk itu, penulis mengucapkan terima kasih sebesar besarnya kepada : 1. Bapak Puspaningtyas Sanjoyo Adi S.T., M.T. selaku dosen pembimbing yang senantiasa memberikan masukkan dan bantuan dalam membimbing penulis untuk menyelesaikan tugas akhir ini. 2. 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. Bapak Andreas Budiarso dan Ibu Meme yang dengan tulus memberikan perhatian, doa dan dukungan yang sangat besar. 4. Ketiga adikku Michael, Sen-sen dan Yanes yang telah memberikan doa , semangat dan dukungannya. 5. Dyan, atas doa, dukungan, dan motivasi selama penulis menyelesaikan tugas akhir. 6. Teman-teman kuliah, Meme, Roy, Adit, Mahesa, Sam, Kevin, Wulan, Pucha, Itha, Sisca, Vava,
Ilan, Gadis, Unggul, Henfri,
serta teman-teman TI 2008
lainnya atas segala kebersamaan dan dukungan yang selalu diberikan kepada penulis. 7. Teman-teman kos 99999, twins (Yani, Yana), Nenek, Olek, Asty, Ella, Dyan Bali, atas doa, dukungan dan motivasi selama penyelesaian tugas akhir ini. 8. Pihak-pihak lain yang turut membantu penulis dalam menyelesaikan tugas akhir ini, yang tidak dapat disebutkan satu per satu.
Penulis menyadari bahwa masih banyak kekurangan yang terdapat pada tugas akhir ini. Saran dan kritik penulis harapkan untuk kebaikan bersama. Semoga bermanfaat.
HALAMAN JUDUL ........................................................................................................... i HALAMAN JUDUL (INGGRIS) ....................................................................................... ii HALAMAN PERSETUJUAN........................................................................................... iii HALAMAN PENGESAHAN.............................................................................................iv ......................................................................................................................... v
MOTTO
HALAMAN PERSEMBAHAN .........................................................................................vi PERNYATAAN KEASLIAN KARYA ............................................................................vii ABSTRAK ....................................................................................................................... viii ABSTRACT........................................................................................................................ix HALAMAN PERSETUJUAN............................................................................................ x KATA PENGANTAR ........................................................................................................xi DAFTAR ISI..................................................................................................................... xiii DAFTAR GAMBAR ........................................................................................................ xix DAFTAR TABEL.............................................................................................................. xx ......................................................................................................................... 1
Daur Hidup Activity.................................................................................. 17
2.2.4.
Daur Hidup Service ................................................................................... 19 ....................................................................................................................... 21
BAB III.
ANALISIS DAN PERANCANGAN SISTEM ................................................................ 21 ANALISIS SISTEM ......................................................................................... 21
3.1.
3.1.1
GAMBARAN UMUM SISTEM .............................................................. 21
DAFTAR GAMBAR Gambar 3.1 Arsitektur Sistem .............................................................................. 22 Gambar 3.2 Arsitektur aplikasi ............................................................................ 23 Gambar 3.3 Gambar Diagram Use Case .............................................................. 28 Gambar 3.4 Diagram Kelas .................................................................................. 30 Gambar 3.5 Diagram Relasi Entitas (ER Diagram) ............................................. 31 Gambar 3.6 Tabel Relasi ...................................................................................... 31 Gambar 4.1 Gambar grafik average precision rekomendasi dokter .................... 47
DAFTAR TABEL Tabel 3.1 Tabel Data profil ................................................................................. 25 Tabel 3.2 Tabel Data vektor................................................................................ 25 Tabel 3.3 Tabel Data perkalian Tabel 3.4 Tabel Data kuadrat
wQj dan wij ................................................. 26
wQj dan wij .................................................... 26
Latar Belakang Masalah Saat ini penggunaan perangkat mobile sudah menjadi kebutuhan pokok bagi sebagian besar masyarakat di negara berkembang. Berbagai vendor perangkat mobile terus berlomba dalam menyediakan perangkat mobile yang dapat memikat perhatian para pengguna. Berbagai perangkat lunak telah dikembangkan untuk mengoptimalkan serta melengkapi fungsi dari perangkat mobile tersebut. Terutama ketika masyarakat ingin mencari dan mendapatkan sebuah informasi tertentu. Salah satunya adalah Medical Sales Representative (MedRep). MedRep bertugas sebagai bagian marketing dari perusahaan untuk memasarkan obat dan membawa informasi produk kepada dokter dan para medis di rumah sakit. Hampir setiap hari Medrep berkunjung ke rumah sakit untuk bertemu dengan dokter maupun para medis. Informasi mengenai dokter sangat diperlukan medrep pada saat menjalankan tugasnya. Sehingga dibutuhkan aplikasi yang dapat membantu MedRep dalam mendapatkan informasi seperti informasi dokter dan rumah sakit. Pada tugas akhir ini di rancang sebuah aplikasi dengan pendekatan Content Based Filtering. Content Based Filtering merupakan pendekatan yang dilakukan berdasarkan kesamaan profil item dan profil pengguna. Profil tersebut akan direpresentasikan dalam bentuk vektor. Vektor tersebut akan
diukur kedekatannya menggunakan metode Vektor Space Model dengan menghitung cosinus antara kedua buah vektor. Sehingga aplikasi ini akan merekomendasikan profil yang cocok dan dianggap relevan untuk pengguna. Dengan demikian diharapkan aplikasi ini dapat menjadi solusi dalam permasalahan Medrep ketika memilih informasi yang akan digunakan.
1.2.
Rumusan Masalah Berdasarkan latar belakang di atas, dapat dirumuskan masalah masalah yang terjadi yaitu : Bagaimana aplikasi ini mampu memberikan informasi dokter yang akan dikunjungi MedRep dengan tepat.
1.3.
Batasan Masalah Adapun batasan-batasan masalah dalam penulisan tugas akhir ini adalah sebagai berikut : 1. Aplikasi hanya dapat dijalankan di ponsel berplatform Android. 2. Data yang digunakan hanya di RS JIH (Jogja International Hospital) saja.
1.4.
Tujuan dan Manfaat Penelitian Tujuan dibuatnya tugas akhir yang berjudul “Sistem Rekomendasi Penjualan Obat Menggunakan Pendekatan Content Based Filtering Berbasis Mobile Android” ini adalah untuk memberikan sebuah aplikasi yang dapat
memberikan rekomendasi mengenai informasi dokter yang relevan untuk dikunjungi leh medrep berdasarkan pendekatan Content Based Filtering. Manfaat dari hasil penelitian ini adalah memberikan informasi mengenai dokter beserta Rumah Sakit yang dapat diakses melalui ponsel sehingga diharapkan dapat membantu MedRep dalam pemasaran produk sehingga lebih efisien dan tepat sasaran.
1.5.
Metode Penelitian Metode penelitian yang akan digunakan penulis dalam pembuatan sistem adalah sebagai berikut : 1. Referensi (Literatur) Metode pengumpulan data dengan cara membaca buku-buku dan internet yang mendukung dan menunjang dalam pembuatan tugas akhir. 2. Pembuatan perangkat lunak. Proses
pengumpulan
kebutuhan diintensifkan dan difokuskan,
khususnya pada perangkat 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 untuk sistem maupun perangkat lunak didokumentasikan, dan dilihat lagi dengan pelanggan.
Pengujuian ini dilakukan secara manual menggunakan perhitungan recall dan precision untuk melihat apakah software yang dibuat dapat memberikan hasil yang relevan atau tidak.
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 pembuatan sistem.
BAB III : ANALISA DAN PERANCANGAN SISTEM Bab ini membahas analisa dan perancangan sistem yang akan dibuat secara umum, rancangan proses serta rancangan antar muka yang akan digunakan.
BAB IV : IMPLEMENTASI DAN PENGUJIAN SISTEM Bab ini membahas implementasi dalam bentuk aplikasi berdasarkan analisa dan perancangan yang telah dilakukan. Serta membahas analisa hasil implementasi dan pengujian sistem.
BAB V : PENUTUP Bab ini membahas kesimpulan dan saran dari hasil analisa sistem, implementasi sistem dan pengujian.
Pengertian Sistem Rekomendasi Sistem Rekomendasi atau disebut juga Recommender system merupakan sebuah sistem yang menyarankan informasi yang berguna. Sistem rekomendasi juga dapat menduga apa yang akan dilakukan pengguna untuk mencapai tujuannya, misalnya seperti memilih produk tertentu. Seperti yang disebutkan oleh Paul Resnick dan Hal R. Varian dalam jurnalnya, recommender system membantu dan meningkatkan proses seleksi alam. Suatu yang khas dalam sistem rekomendasi adalah orang memberikan rekomendasi sebagai masukan, kemudian sistem mengagregrasikan dan mengarahkan agar sesuai dengan si penerima. Dalam beberapa kasus, transformasi utama ada di dalam proses agregasi. Kasus lainnya nilai sistem terletak pada kemampuannya untuk mencocokkan dua hal yaitu bagian yang dijadikan rekomendasi, dan yang mencari rekomendasi secara baik. Tugas inti dari recommender system adalah untuk memprediksikan evaluasi subyektif yang akan diberikan pengguna terhadap item. Prediksi ini dihitung
menggunakan
sejumlah
model
prediktif
yang
memiliki
karakteristik umum, yaitu mengeksploitasi evaluasi atau penilaian yang diberikan oleh pengguna untuk transaksi yang sebelumnya telah dilihat. Berdasarkan teknik prediksi tertentu yang sedang digunakan, recommender system telah diklasifikasikan ke dalam empat kategori utama [Burke, 2007]: collaborative-based, content-based, knowledge-based, hybrid. Pada sistem
yang menggunakan pendekatan collaborative-based paling sederhana menghitung korelasi antara pengguna, memprediksi peringkat produk untuk pengguna saat ini didasarkan pada peringkat yang diberikan oleh pengguna lain, yang sangat berhubungan dengan preferensi pengguna saat ini [Herlocker et al, 1999]. Sedangkan sistem dengan pendekatan content-based hanya menggunakan preferensi dari pengguna saat ini, memprediksi peringkat untuk item yang tak terlihat berdasarkan seberapa banyak deskripsinya atau isinya mirip dengan pengguna [Pazzani dan Billsus, 2007].
2.1.1.
Content Based Filtering Pendekatan Information filtering didasarkan pada bidang information retrieval (IR) dan teknik yang digunakan pun banyak yang sama [Hanani et al, 2001]. Satu aspek yang membedakan antara information filtering dan information retrieval adalah mengenai kepentingan pengguna. Pada IR pengguna menggunakan ad-hoc queries, sedangkan information filtering pengguna sudah mempunyai profil yang merepresentasikan kepentingan jangka panjang, dan sistem mencoba memberikan kepada setiap pengguna, item yang relevan. Berdasarkan pada ukuran kesamaan antara masing-masing profil, sistem memilih dan membuat peringkat pada item yang relevan, kemudian diberikan kepada pengguna. Terdapat dua pendekatan pada information filtering, yaitu collaborative filtering dan content-based filtering.
Pada tugas akhir ini akan menggunakan pendekatan contentbased filtering. Berbeda dengan collaborative filtering yang memilih dan membuat peringkat item untuk pengguna berdasarkan kesamaan dari pengguna untuk pengguna lain yang menyukai item serupa di masa lalu, tetapi pada pendekatan conten-based filtering ini, sistem memilih dan melakukan peringkat item berdasarkan kesamaan profil pengguna dan profil item. Keuntungan dari pendekatan ini adalah pengguna mendapatkan wawasan tentang mengapa suatu item dianggap relevan untuk mereka, karena konten di setiap item nya diketahui dari representasinya. Namun pendekatan ini juga mempunyai kelemahan, misalnya kenyataan bahwa pendekatan ini berfokus pada kemiripan kata kunci. Pendekatan ini tidak mampu menangkap hubungan yang lebih kompleks pada level semantik yang lebih dalam, berdasarkan pada berbagai jenis atribut yang berhubungan dengan obyek terstruktur dari teks [Dai dan Mobasher, 2001]. Kesamaan antara representasi dari pengguna dan representasi dari item akan didasarkan pada prinsip kedekatan yang menyatakan bahwa jarak dari dua deskripsi item secara langsung berkaitan dengan kesamaan mereka [Knappe, 2005]. Menurut International Journal "Information Theories & Applications" Vol.15 / 2008 oleh Peretz Shoval, Veronica Maidel, Brancha Shapira dijelaskan bahwa representasi dari konten untuk profil item adalah : Profil item terdiri dari serangkaian konsep yang
mewakili isinya. Misalnya, jika item berkaitan dengan olahraga, dan secara khusus sepak bola, ini diwakili dengan konsep sepak bola saja. Sedangkan representasi dari konten untuk profil pengguna adalah : Profil pengguna terdiri dari daftar yang berbobot yang merepresentasikan keinginannya. Sebagai contoh, profil pengguna berisi konsep „olahraga‟ saja, atau „olahraga‟ dan „sepakbola‟, atau „sepak bola‟ dan „basket‟, atau ketiganya. Ini berarti bahwa konsep tertentu dalam profil item mungkin “matched” (yaitu dibandingkan) dengan lebih dari satu konsep setara dalam profil pengguna. Misalnya jika dalam profil item terdapat „sepak bola‟ dan profil pengguna terdapat „olahraga‟ dan „sepak bola‟ maka terdapat “perfect match” antara dua profil tersebut. Dalam jurnal yang berjudul „Using Content-based Filtering for Recommendation‟ oleh Robin van Meteren dan Marteen van Someren, sistem rekomendasi yang sedang diperkenalkan saat itu adalah PRES, yang merupakan akronim dari Personal Recommender System.
Sistem
ini
bertujuan
untuk
membantu
pengguna
menemukan informasi yang sesuai dengan kepentingan mereka pada website. Sistem rekomendasi dapat meningkatkan website untuk pengguna individu dengan menambahkan hyperlink secara dinamis. Tujuannya adalah untuk memudahkan pengguna dalam menemukan item yang sesuai, sehingga dapat meningkatkan interaksi antara sistem dan pengguna. PRES menggunakan content-based filtering
dimana sistem membuat rekomendasi dengan membandingkan profil pengguna dengan isi setiap dokumen dalam koleksi. Isi dokumen dapay direpresentasikan dengan satu set term. Term diekstrak dari dokumen dengan menjalankan sejumlah langkah parsing. Pertama, semua tag html dan stop word (kata yang sering muncul dan tidak dapat digunakan sebagai diskriminator) akan dihapus. Kata yang tersisa dikurangi menjadi induk mereka dengan menghapus awalan dan akhiran [Porter, 1980]. Terdapat beberapa cara untuk merepresentasikan agar dapat digunakan sebagai komponen pembelajaran. Sebuah metode yang paling sering digunakan adalah Vector Space Model. Pada metode ini, dokumen D direpresentasikan sebagai vektor m dimensional. Dimana setiap dimensi berkorespondensi terhadap term yang berbeda dan m adalah total jumlah term yang dipakai dalam koleksi dokumen. Vektor dokumen adalah ditulis sebagai, wi adalah bobot dari term ti yang menunjukkan tingkat kepentingan. Jika pada dokumen D tidak mengandung term ti maka bobot dari wi adalah nol. Bobot term dapat ditentukan dengan menggunakan skema tf-idf. Pada pendekatan ini bobot dihitung berdasarkan pada seberapa sering sebuah term muncul pada sebuah dokumen, dan seberapa sering ditemukan dalam koleksi dokumen. Selanjutnya teori mengenai vector space model akan dibahas dalam sub bab berikutnya
2.1.2. Vector Space Model Vector space model adalah suatu model yang digunakan untuk mengukur kemiripan antara suatu dokumen dengan suatu query. Pada model ini, query dan dokumen dianggap sebagai vektorvektor pada ruang n-dimensi, dimana n adalah jumlah dari seluruh term yang ada dalam leksikon. Leksikon adalah daftar semua term yang ada dalam indeks. [Salton, 1989]. Vector space model digunakan karena pada metode ini memungkinkan proses pemeringkatan dokumen. Metode ini menghitung nilai cosinus dari dua vektor. Dua vektor tersebut adalah bobot dari tiap dokumen dan bobot dari query. Bobot dokumen dan query digunakan untuk proses pemeringkatan dokumen, seperti yang terlihat pada Gambar 2.1 berikut.
Gambar 2.1 Vector Space Model Pembobotan term dalam vektor dokumen dapat ditentukan dalam banyak cara. Pendekatan yang umum, dan digunakan dalam tugas akhir ini adalah metode TF-IDF. Pada metode ini, bobot term
ditentukan oelh dua faktor: seberapa sering term j terdapat dalam dokumen i (term frequency tfi,j) dan seberapa sering muncul dalam seluruh dokumen koleksi (document frequency dfj). Tepatnya bobot term j pada dokumen i dirumuskan seperti berikut :
N merupakan jumlah dokumen yang terdapat dalam koleksi dokumen. Idf merupakan singkatan dari inverse document frequency. Metode ini memberikan bobot tinggi pada term yang sering muncul pada sedikit dokumen pada dokumen set. Setelah bobot term dihitung, diperlukan suatu fungsi pemeringkatan untuk mengukur kemiripan antara query dan dokumen vektor. Pengukuran kemiripan yang umum dikenal sebagai pengukuran kosinus. Pengukuran ini menentukan sudut antara vektor dokumen dan query ketika direpresentasikan dalam V-dimensional Euclidean, dimana v adalah ukuran vocabulary. Tepatnya kemiripan antara dokumen Di dan query Q didefinisikan sebagai berikut : [Lee, 1997] t
(wQj wij ) CosSim(Q,D i ) =
(2.2)
j 1
t
t
wQj wij j 1
2
2
j 1
2.1.3. Pengukuran Performansi Menurut Lee (1997) cara konvensional untuk mengukur kualitas hasil yang dikembalikan oleh sebuah sistem dalam
menanggapi permintaan adalah dengan menggunakan recall dan precision.
2.2.2.1.
Precision
Precision adalah proporsi jumlah dokumen yang ditemukan dan dianggap relevan untuk kebutuhan si pencari informasi. Precision =
correctly_recommended_item
(2.3)
total_recommended_item 2.2.
Android Android merupakan sistem operasi yang dikembangkan untuk perangkat mobile berbasis Linux. 2.2.1. Arsitektur Android Sistem operasi Android dibangun berdasarkan kernel Linux dan memiliki arsitektur seperti gambar 1.1 berikut.
Lapisan ini adalah lapisan aplikasi, serangkaian aplikasi akan 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. 2.2.1.2.
Application Framework
Pengembangan aplikasi memiliki akses penuh ke Android sama dengan aplikasi inti yang telah tersedia. Pengembang dapat dengan mudah mengakses informasi lokasi, mengatur alarm, menambahkan pemberitahuan ke status bar dan lain sebagainya.
Arsitektur
aplikasi
ini
dirancang
untuk
menyederhanakan penggunaan kembali komponen, aplikasi apa pun dapat memubikasikan kemampuan dan aplikasi lain dapat menggunakan kemampuan mereka sesuai batasan keamanan. Dasar dari aplikasi adalah seperangkat layanan dan sistem, yaitu berbagai View yang digunakan untuk membangun UI, Content Provider yang memungkinkan aplikasi berbagi data, ResourceManager menyediakan akses bukan kode sperti grafik, string, dan layout NotificationManager yang akan membuat aplikasi dapat menampilkan tanda pada status bar dan ActivityManager yang berguna mengatur daur hidup dari aplikasi.
Satu set libraries dalam bahasa C/C++ yang digunakan oleh berbagai komponen pada system Android. 2.2.1.4.
Android Runtime
Satu set libraries inti yang menyediakan sebagian besar fungsi yang tersedia di libraries inti dari bahasa pemrograman Java. Setiap aplikasi akan berjalan sebagai proses sendiri pada Dalvik Virtual Machine (VM). 2.2.1.5.
Linux Kernel
Android bergantung pada Linux versi 2.6 untuk layanan system inti seperti keamanan, manajemen memori, manajemen proses, network stack, dan model driver.Kernel juga bertindak sebagai lapisan antara hardware dan seluruh software
2.2.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 : 2.2.2.1. Activities
Activities merupakan
potongan
kode
executable
yang
menyajikan UI secara visual dimulai oleh pengguna maupun
sistem operasi dan berjalan selama diperlukan.Activities biasanya sesuai dengan tampilan layar : masing-masing Activities
menunjukkan
satu
layar
untuk
pengguna.
Activitiesyang tidak aktif dijalankan dapat dimatikan oleh sistem operasi untuk menghemat memori.
2.2.2.2.
Service
Service tidak memiliki visual UI, melainkan berjalan di latar belakang untuk waktu yang tidak terbatas. Contoh dari service adalah MP3 player yang akan terus memainkan file MP3 sesuai urutan file, walaupun pengguna menggunakan aplikasi lain.
2.2.2.3.
Broadcast Receiver
Broadcast Receiver merupakan komponen yang menerima dan bereaksi untuk menyiarkan pengumuman.Banyak siaran berasal dalam kode sistem, misalnya pengumuman bahwa zona waktu telah berubah, baterai rendah, bahwa gambar telah diambil, atau bahwa pengguna mengubah preferensi bahasa. Aplikasi juga dapat melakukan siaran misalnya untuk membiarkan aplikasi lain tahu bahwa beberapa data teah di-download ke perangkat dan tersedia sehingga dapat digunakan.
Content Providerdiciptakan 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.2.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 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
Activity.Saat
data
file,
memanggil
maupun
OnCreate,
menginisialisasi
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().
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.2.4.
Daur Hidup Service Daur hidup Service hapir sama dengan Activity tetapi memiliki beberapa perbedaan untuk detailnya.
OnCreate() dan OnStart() 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.
GAMBARAN UMUM SISTEM Analisis sistem merupakan suatu teknik penyelesaian masalah yang
membagi sistem ke dalam bagian-bagian komponen kecil dengan tujuan agar bagian-bagian dari komponen tersebut dapat bekerja dengan baik. Seperti yang telah dijelaskan pada latar belakang masalah, sistem informasi yang akan dibuat ini merupakan sistem yang dapat membantu MedRep dalam mendapatkan rekomendasi dokter yang cocok untuk dikunjungi beserta informasi lengkapnya. Sistem akan memberikan rekomendasi dokter sesuai dengan obat yang dibawa oleh medrep. Sebelum memberikan rekomendasi dokter yang cocok,
sistem akan
menghitung terlebih dahulu nilai kecocokan antara profil medrep dengan semua dokter, sehingga akan ditampilkan dokter yang relevan untuk dikunjungi. Sistem ini akan digunakan oleh 2 pengguna yaitu admin dan medrep. Admin menggunakan sistem ini untuk mengelola data medrep, dokter, obat, kelas dan resep dokter. Sedangkan medrep menggunakan sistem ini untuk mendapatkan rekomendasi dokter dan promosi dokter beserta informasi lengkapnya dengan memasukkan data profil atau obat yang sedang dibawa.
SOFTWARE REQUIREMENT ANALYSIS Seperti yang sudah dijelaskan pada pendahuluan, bahwa Sistem
Rekomendasi Penjualan Obat Menggunakan Pendekatan Content Based Filtering Berbasis Mobile Android akan berjalan hanya pada ponsel yang memiliki sistem operasi Android.
3.2.
PERANCANGAN SISTEM 3.2.1
ARSITEKTUR SISTEM
Pengguna
Web server
Gambar 3.1 Arsitektur Sistem Pada gambar diatas dapat dijelaskan bahwa pengguna dapat menggunakan aplikasi yang dapat diakses melalui device mobile yang terkoneksi dengan internet. Untuk penyimpanan data dan proses rekomendasi yaitu perhitungan vector space model terdapat di web server.
Proses perhitungan yang terjadi dalam web server dapat dijelaskan pada gambar 3.2 arsitektur aplikasi dibawah ini.
Input data obat, kelas, resep dokter
Data Corpus (kelas, dokter) MedRep
Vektor Space Model
Masukkan profile (kelas)
Cosine Similarity
List rekomendasi
Gambar 3.2 Arsitektur aplikasi Pada gambar diatas terdapat beberapa langkah yang harus dilakukan untuk mendapatkan list rekomendasi dokter. Langkah pertama, inputan untuk sistem merupakan data resep dari dokter yang telah di rekap berupa data obat yang sering diresepkan dalam waktu 1 bulan. Data Corpus merupakan data yang sudah diolah yang dapat digunakan untuk pembentukan rekomendasi pada sistem. Data corpus ini berisi data dokter, kelas dan bobot. Jumlah bobot di dapat dari jumlah frekuensi setiap obat
yang diresepkan dokter dan memiliki kelas yang sama. Kemudian data corpus disimpan dalam table vektor. Masukkan profil medrep berupa nama kelas dari obat yang dibawa oleh medrep. Kemudian data tersebut akan diproses menggunakan pendekatan VSM yang akan direpresentasikan dalam bentuk vektor. PendekatanVSM ini akan membandingkan 2 profil yaitu profil query dan profil item pembanding. Kemudian dari kedua profil tersebut akan membentuk vektor yang akan dihitung kemiripannya menggunakan Cosine Similarity. Semakin dekat dua vektor di dalam VSM semakin mirip 2 profil yang diwakili oleh vektor tersebut. Berdasarkan urutan kemiripan dari hasil perhitungan maka sistem akan menampilkan list rekomendasi sesuai dengan hasil perhitungannya. Hasil yang mendekati angka 1 merupakan rekomendasi yang paling mendekati dengan query profil. Berikut adalah contoh perhitungan manual untuk proses rekomendasi pada sistem yang akan dibuat. Ada dua profil yang masing-masing akan dibandingkan, yang pertama adalah profil query yang isinya adalah profil item dari pengguna atau MedRep. Yang kedua adalah profil item pembanding yaitu profil item dari dokter yang terbentuk dari data vektor. Kemudian dari perhitungan di bawah ini akan dicari nilai kecocokan antara masing-masing profil yang dibandingkan kemudian diurutkan berdasarkan nilai tertinggi yang mendekati angka 1.
Tabel 3.1 Tabel Data profil Kelas A Kelas B Kelas C Kelas D Kelas E Kelas F Kelas G Kelas H
MedRep 0 0 0 1 0 1 1 0
Dokter 1 5 3 0 0 0 6 7 0
Dokter 2 0 0 6 9 3 0 0 3
Dokter 3 9 0 4 0 7 2 0 0
Dokter 4 2 0 0 10 5 3 7 7
Dokter 5 9 0 0 8 0 2 6 2
Pada tabel diatas berisi profil dokter dan profil medrep. Setiap profil ditunjukkan dalam bentuk vektor. Saat pembentukan rekomendasi, bobot pada dokter tidak akan diperhitungkan sehingga setiap dokter yang memiliki bobot akan diubah menjadi 1, dan nilai 0 jika tidak memiliki bobot. Berikut adalah tabel data vektor yang sudah diubah menggunakan nilai 1 dan 0. Tabel 3.2 Tabel Data vektor
Kelas A Kelas B Kelas C Kelas D Kelas E Kelas F Kelas G Kelas H
MedRep 0 0 0 1 0 1 1 0
Dokter 1 1 1 0 0 0 1 1 0
Dokter 2 0 0 1 1 1 0 0 1
Dokter 3 1 0 1 0 1 1 0 0
Dokter 4 1 0 0 1 1 1 1 1
Dokter 5 1 0 0 1 0 1 1 1
Tabel diatas dapat dijelaskan bahwa profil medrep yang terbentuk berisi obat dengan kelas D, F dan G. Kemudian profil dokter1 yang terbentuk berisi obat dengan kelas A, B, F dan G. Kedua profil tersebut akan dibandingkan dan dihitung menggunakan rumus CosSim. Berikut adalah langkah-langkah yang dilakukan untuk menghasilkan nilai cosim.
Kelas A Kelas B Kelas C Kelas D Kelas E Kelas F Kelas G Kelas H Sum
MedRep 0 0 0 1 0 1 1 0
Dokter 1 0 0 0 0 0 1 1 0 2
26
wQj dan wij
Dokter 2 0 0 0 1 1 0 0 0 1
Dokter 3 0 0 0 0 1 1 0 0 1
Dokter 4 0 0 0 1 1 1 1 0 3
Dokter 5 0 0 0 1 0 1 1 0 3
Tabel diatas menjelaskan perkalian dari bobot dokter ( wij ) dengan bobot medrep ( wQj ) dan menjumlahkan untuk setiap bobot dokter. Tabel 3.4 Tabel Data kuadrat MedRep Kelas A 0 Kelas B 0 Kelas C 0 Kelas D 1 Kelas E 0 Kelas F 1 Kelas G 1 Kelas H 0 Sum 3 Sqrt(sum) 1.732051 Cosin
Tabel diatas menjelaskan kuadrat dari bobot dokter ( wij ) dan kuadrat bobot medrep ( wQj ). Kemudian penjumlahan untuk setiap bobot dokter dan mendapatkan hasil akhir yaitu nilai cosin untuk setiap dokter.
Perhitungan ini menggunakan rumus Cosine Similarity yaitu : t
(wQj wij ) j 1
CosSim(Q,D i ) =
t
t
wQj wij 2
j 1
dimana
wij
2
j 1
merupakan bobot dari profil dokter dan
wQj merupakan
bobot dari profil medrep. Sebagai contoh hasil perhitungan di atas, akan dijelaskan sebagai berikut : 1. Profil Dokter 4 akan dihitung nilai kemiripannya dengan profil MedRep. 2. Jika dimasukkan ke dalam rumus : Cosin = sum(dokter4*MedRep) / (sqrt(dokter4^2)*sqrt(MedRep^2)) Cosin=
Cosin = 0.707107 Dari hasil perhitungan di atas ditunjukkan bahwa hasil query yang mendekati dengan profil item yang dicari adalah Dokter5 dan Dokter4. Hal ini ditunjukkan dengan nilai Cosin yang mendekati nilai 1 yaitu 0.774597 untuk Dokter5 dan 0.707107 untuk Dokter4. Selanjutnya profil
yang direkomendasikan akan diurutkan berdasarkan nilai cosin yang terbesar. Sehingga urutan profil yang akan direkomendasikan adalah Dokter5, Dokter4, Dokter1, Dokter2 dan Dokter3.
DIAGRAM USE CASE Diagram use case merupakan diagram yang menggambarkan interaksi
antara sistem dengan sistem eksternal dan pengguna. Dengan kata lain, secara grafis menggambarkan siapa yang akan menggunakan sistem dan dengan cara apa pengguna mengharapkan untuk berinteraksi dengan sistem (Whitten, 2004). Login «extends»
Lihat Rekomendasi
Medrep
Admin Lihat Promosi
Kelola Data
Reindex Data
Gambar 3.3 Gambar Diagram Use Case Diagram 3. Merupakan diagram use case dari admin dan medrep. Admin memiliki wewenang untuk mengelola semua data dokter, obat, resep, kelas, medrep serta reindex data. Sedangkan medrep memiliki wewenang untuk melihat rekomendasi dan promosi dokter.
NARASI USE CASE Setiap use case pada diagram use case gambar 3.3, akan dirinci dalam
sebuah narasi use case yang akan mendeskripsikan secara tertulis aktivitas yang ada pada use case, adapun skenario use case dari gambar diagram use case gambar 3.3 terdapat pada lampiran 1 halaman 63.
3.3.3
DIAGRAM AKTIVITAS Merupakan diagram yang menjelaskan aktivitas antara user dengan
sistem. Secara lebih rinci tahap activity diagram dapat dilihat pada lampiran 2 halaman 70.
3.3.4
MODEL ANALISIS Merupakan suatu proses untuk menterjemahkan skenario use case
menjadi kelas analisis. Dalam kelas analisis terdapat tiga jenis, yaitu form/boundary, controller, dan entity. 1. Relasi use case Analisis kelas dilakukan pada setiap use case. Setiap use case dicari kelas analisisnya sehingga dapat menentukan kebutuhan kelas. Hasil analisis kelas dapat dilihat pada lampiran 3 halaman 89.
DESAIN MODEL SECARA UMUM Penelitian ini telah diimplementasikan menjadi sebuah aplikasi yang siap
digunakan, yang dibangun dengan tahapan-tahapan berikut: 4.1.1
Spesifikasi Perangkat Keras Dan Perangkat Lunak Perangkat keras yang dipakai untuk membangun sistem adalah
sebagai berikut: Processor : Intel(R) Core(TM)2 Duo CPU T7500 @2.20GHz Memori : 2.00 GB Hard Disk : 250 GB Perangkat lunak yang dipakai untuk membangun sistem adalah sebagai berikut: Bahasa Pemrograman : Java Eclipse Helios IDE 3.6.2 DBMS : MySql 5.0 4.1.2
Implementasi Diagram Kelas Program dibangun dengan berbasis orientasi objek, sehingga dalam
implementasinya dibutuhkan kelas-kelas untuk mendefinisikan objekobjek yang akan dipakai. Adapun kelas-kelas yang telah terbentuk akan dijelaskan di lampiran 6 halaman 161.
PENGUJIAN Tahap akhir dari penelitian ini adalah pengujian sistem yang telah dibangun.
Sistem
rekomendasi
yang
dibangun
telah
berhasil
diimplementasikan ke dalam sebuah program, yang dapat diakses oleh user secara langsung. Pengujian ini dilakukan di Jogja International Hospital JIH dengan mendatangi Medrep untuk menggunakan aplikasi ini serta meminta medrep untuk memberikan tanggapan dari hasil rekomendasi dokter yang diberikan sistem, manakah dokter yang relevan untuk dikunjungi sesuai dengan profil medrep. Relevan artinya dokter yang meresepkan obat yang dijual oleh medrep. Kemudian dari hasil pengujian akan dihitung precision untuk masing-masing query serta menghitung average precision. Precision =
4.2.1
Dokter yang dipilih oleh medrep Dokter yang direkomendasikan oleh sistem
Pengujian Kinerja Sistem
4.2.1.1. Pengujian Presisi Sistem Untuk Rekomendasi Dokter Berikut ini adalah sampel data yang digunakan sebagai item query yang digunakan sebagai profil medrep : Tabel 4.1 Tabel item query No Kelas obat (Query Medrep) 1.
Query 1 : Kelas yang dipilih : Antasid Dokter yang Urutan dalam dipilih sistem MS 1 SK 2 TA 3 RA 4 Su 5 AD 6 AM 7 AN 8 TS 9 NA 12
Dokter yang dipilih IK PA HW NB IM DN WK KS WR AP
Urutan dalam sistem 13 14 15 16 17 19 26 28 29 30
Query 2 : Kelas yang dipilih : Antasid; Antijamur; Hormon Kortikosteroid; Kuinolon; Obat Anti Inflamasi Non Steroid (OAINS); Obat jantung; Preparat Antiasma dan PPOK; Vitamin dan/atau Mineral Dokter yang Urutan dalam Dokter yang Urutan dalam dipilih sistem dipilih sistem Mg 1 PW 26 AWW 2 NA 27 BP 3 LH 28 KS 4 AS 29 AP 5 HW 31 WR 6 IM 32 TS 7 DN 33 NH 8 MJ 34 IK 9 UT 35 IK 10 Ty 36 NB 11 NA 37 SK 12 TN 43 TA 13 SR 44 RA 14 SY 45 Su 15 IP 46 AD 16 AI 47 NH 17 DT 48 AB 20 YF 51 WK 21 ES 52 AN 25
Query 3 : Kelas yang dipilih : Anastesi Lokal; Hemostatik; Obat Anti Inflamasi Non Steroid (OAINS); Obat jantung; Vasokonstriktor Dokter yang Urutan dalam Dokter yang Urutan dalam dipilih sistem dipilih sistem AN 1 UT 25 PW 2 NA 26 IK 3 AB 27 AS 4 WK 28 AM 5 NT 30 DT 6 HH 31 AS 7 BY 32 IS 8 HA 33 TN 9 FN 34 SR 10 SK 35 TS 11 TA 36 NH 12 SY 37 LH 13 RA 38 AP 14 Su 39 NB 15 AD 41 HW 16 NA 43 IM 17 NH 46 DN 19 KS 50 Yu 22 WR 51 Ty 24
Query 4 : Kelas yang dipilih : Obat Anti Inflamasi Non Steroid (OAINS); Dokter yang Urutan dalam Dokter yang Urutan dalam dipilih sistem dipilih sistem AS 1 PW 21 MJ 2 NA 22 Ty 3 IK 23 UT 4 NB 25 NA 5 HW 26 HA 6 IM 27 FN 7 AWW 28 SK 8 YF 29 TA 9 DN 30 SY 10 NH 31 RA 11 ES 32 Su 12 Yu 36 AD 13 WK 38
Query 5 : Kelas yang dipilih : Antasid; Antibiotik Golongan Lain; Antispasmodik; Antijamur; Kuinolon; Obat Anti Inflamasi Non Steroid (OAINS); Relaksan Otot; Sefalosporin Dokter yang Urutan dalam Dokter yang Urutan dalam dipilih sistem dipilih sistem TS 1 PW 22 AB 2 NA 23 SK 3 IK 24 TA 4 PA 25 RA 5 NB 26 Su 6 HW 27 IM 7 DN 28 NH 8 SY 29 BP 10 AD 30 KS 11 El 33 AM 12 DT 34 AP 13 IK 40 WR 14 Fa 44 MJ 15 UT 45 Ty 16 SR 47 NA 17 TN 48 WK 18 Lu 49 HA 19 LH 50 AN 20 AS 51 NH 21 AI 52
Query 6 : Kelas yang dipilih : Anatesi Lokal; Antasid; Antibiotik Golongan Lain; Antikoagulan, Antiplatelet, dan Fibrinolitik ; Diuretik; Hormon Kortikosteroid; Kuinolon; Obat Anti Inflamasi Non Steroid (OAINS); Obat Hematopoietik; Relaksan Otot; Sefalosporin Dokter yang Urutan dalam Dokter yang Urutan dalam
Query 7 : Kelas yang dipilih : Antibiotik Golongan Lain; Antipasmodik; Antijamur; Obat Jantung; Sefalosporin; Vitamin B-Complex Dokter yang Urutan dalam Dokter yang Urutan dalam dipilih sistem dipilih sistem El 1 Lu 22 BU 2 TA 23 KS 3 SY 24 WR 4 RA 25 AP 5 Su 26 IM 6 AI 27 YF 7 AM 28 NH 8 DT 29 ES 9 AN 32 BP 10 TS 33 Fa 11 NH 34 MJ 12 PW 35
Query 8 : Kelas yang dipilih : Anastesi Lokal; Antibiotik Golongan Lain; Antikoagulan, Antiplatelet, dan Fibrinolitik; Antijamur; Obat Jantung; Sefalosporin; Vitamin B-Complex Dokter yang Urutan dalam Dokter yang Urutan dalam dipilih sistem dipilih sistem El 1 TN 26 BU 2 SR 27 AN 3 KS 28 PW 4 SK 29 AS 5 Lu 30 AP 6 TA 31 IK 7 SY 32 IM 8 LH 33 DN 10 RA 34 NH 11 Su 35 BP 14 WR 36 Fa 15 AI 37 Ty 17 AM 38 NA 18 DT 39 AB 19 TS 42 WK 20 NH 43 BY 22 NA 44 NT 23 NB 46 HH 24 HW 47 Query 9 : Kelas yang dipilih : Anatesi Lokal; Antibiotik Golongan Lain; Hormon Kortikosteroid; Kuinolon; Obat Anti Inflamasi Non Steroid (OAINS); Relaksan Otot; Sefalosporin Dokter yang
Query 10 : Kelas yang dipilih : Anastesi Lokal; Ansiolitik; Antipasmodik; Beta Laktam Golongan Lain; Hipnotik dan Sedativa; Obat Anti Inflamasi Non Steroid(OAINS); Relaksan Otot; Sefalosporin; Vitamin dan/atau Mineral Dokter yang Urutan dalam Dokter yang Urutan dalam dipilih sistem dipilih sistem LH 1 Lu 22 Yu 2 SK 23 SR 3 TA 24 TN 4 SY 25 KS 5 RA 26 AS 6 Su 27 WR 7 AB 31 AP 8 WK 32 MJ 9 El 33 Ty 10 AI 34 NA 11 AM 35 HA 12 DT 36 AN 13 IS 39 NH 14 TS 41
Berikut adalah perhitungan nilai precision untuk setiap query : Tabel 4.1 Tabel Perhitungan Precision
20
Not Relevan 10
Hasil Rekomendasi 30
Profil MR2
38
14
52
0.731
Profil MR3
39
12
51
0.765
Profil MR4
40
6
46
0.87
Profil MR5
40
12
52
0.769
Profil MR6
44
13
57
0.772
Profil MR7
42
5
47
0.894
Profil MR8
38
13
51
0.745
Profil MR9
35
18
53
0.774
Profil MR10
42
10
52
0.808
No
Relevan
Profil MR1
Precision 0.667
Jumlah
7.793
Rata-rata
0.779
%
77.93%
Keterangan : Sebagai contoh untuk query 10 didapatkan hasil sebagai berikut. Diketahui result dokter yang relevan adalah 42 dokter dan hasil rekomendasi dokter oleh sistem adalah 52 dokter. Jadi precision rekomendasi dokter untuk query 10 adalah 42/52 = 0.808. Berdasarkan pengujian yang telah dilakukan dengan menggunakan 10 profil medrep didapatkan hasil average precision sebesar 77,93%.
Gambar 4.1 Gambar grafik average precision rekomendasi dokter
Keterangan : Dari grafik diatas dapat dijelaskan bahwa rekomendasi dokter yang diberikan sistem untuk medrep memiliki precision yang baik. Hal ini dapat ditunjukan melalui hasil perhitungan average precision yaitu sebesar 77.93%.
KESIMPULAN Sistem rekomendasi penjualan obat ini dibangun dengan pendekatan Content Based Filtering. Penelitian ini merupakan studi untuk mengetahui ujuk kerja algoritma Vektor Space Model pada aplikasi rekomendasi penjualan obat. Kesimpulan yang dapat diambil dari penelitian ini adalah sebagai berikut : 1. Pencarian informasi mengenai dokter dapat diperoleh secara tepat dengan adanya aplikasi rekomendasi obat. 2. Berdasarkan pengujian yang telah dilakukan menggunakan 10 profil medrep didapatkan hasil average precision sebesar 77,93%. 3. Berdasarkan hasil evaluasi sistem ini belum dapat dikatakan baik karena pengujian yang dilakukan hanya menggunakan precision saja.
5.2.
SARAN Saran yang dapat penulis berikan dari penelitian ini adalah sebagai berikut: 1. Bagi Peneliti Selanjutnya Sistem ini masih banyak kekurangan. Oleh karena itu, sebaiknya bagi peneliti selanjutnya dapat memperbaiki kualitas dan kinerja sistem, diantaranya :
Sistem dapat berjalan di berbagai operating sistem.
Billsus, D. Pazzani, M. J. “A Personal News Agent that Talks, Learns and Explains”, In Autonomous Agents 98, Minneapolis MN USA Burke, R. (2007). Hybrid web recommender systems. In The Adaptive Web, pages 377–408. Springer Berlin / Heidelberg. Dai, H., & Mobasher, B. (2001). Using ontologies to discover domain-level web usage profiles. Proc. of the Second Semantic Web Mining Workshop at PKDD 2001, Helsinki, Finland. Herlocker, J.L., Konstan, J.A., Terveen, L.G. & Riedl, J.T. Evaluating collaborative filtering recommender systems. ACM Transactions on Information Systems, 22(1), 5-53. Hermawan, Stephanus. 2011. Mudah Membuat Aplikasi Android. Yogyakarta : Andi Offset Knappe, R. (2005). Measures of Semantic Similarity and Relatedness for Use in Ontology-based Information Retrieval. Ph.D. Thesis, Roskilde University, Department of Communication, Journalism and Computer Science. Lee, Dik L. 1997. Document Rangking and the Vector-Space Model. Hongkong. Meteren, Robin dan Someren, Maarten. Using Content-Based Filtering for Recommendation. Amsterdam.
Resnick, Paul dan Varian, Hal R. (1997). Recommender systems. Communications of the ACM, Vol. 40, No. 3, 56-58. Ricci, Francesco. 2010. Mobile Recommender Systems. Italy. Shoval, Peretz., Meidel, Veronica., dan Shapira, Brancha. (2008). An OntologyContent-Based Filtering Method. International Journal “Information Theories & Applications”, Vol.15, 303-313.
1. USECASE LOGIN Nama Use Case : Aktor : Deskripsi Use Case :
Prakondisi : Trigger : Langkah Umum :
Langkah Alternatif :
Kesimpulan
Login Admin, Medrep Use Case ini menggambarkan dimana Medrep dan Admin melakukan login sebelum masuk ke dalam sistem. Medrep dan Admin memasukkan username dan password untuk dapat masuk ke dalam sistem. Admin dan Medrep telah memiliki password Use Case ini digunakan apabila ada Medrep yang ingin masuk ke dalam sistem. Kegiatan Aktor Respon Sistem Langkah 1: Sistem akan menampilkan halaman login dan meminta admin untuk memasukkan username dan password . Langkah 2: Admin memasukkan username dan password Langkah 3: Admin mengklik tombol LOGIN. Langkah 4: Proses autentifikasi username dan password Langkah 5: Sistem menampilkan halaman admin. Alt- Langkah 2,3 : Admin mengklik tombol “Back” sehingga sistem tidak jadi masuk ke halaman admin dan keluar dari aplikasi. Alt- Langkah 4,5 : Jika username yang dimasukkan adalah Medrep, maka sistem akan menampilkan halaman profil. Alt- Langkah 4: Jika username dan password yang dimasukkan tidak sesuai maka sistem akan memberikan peringatan dan secara otomatis kembali ke halaman login. Use case ini berhenti apabila admin telah masuk ke halaman admin atau admin membatalkan untuk masuk ke dalam sistem.
Use Case ini menggambarkan proses dimana Medrep mendapatkan list rekomendasi dokter yang akan dikunjungi.
Prakondisi :
Medrep telah berhasil login dan masuk ke sistem.
Trigger :
Use case ini hanya dapat dilakukan oleh medrep.
Langkah Umum :
Kegiatan Aktor
Respon Sistem Langkah 1: Sistem akan menampilkan
halaman
profil medrep. Langkah 2: Medrep memasukkan nama kelas obat dan mengklik tombol “Pilih”. Langkah 3 : Sistem akan menampilkan nama kelas obat yang dipilih pada list daftar profil medrep. Langkah 4 : Medrep mengklik Menu
dan
pilih
tombol
“Rekomendasi”. Langkah 5: Sistem akan menghitung serta
nilai
cosim
menampilkan
list
rekomendasi dokter. Langkah 6: Medrep memilih salah satu list rekomendasi dokter. Langkah menampilkan
7: detail
Sistem data
Dokter. Langkah Alternatif :
Alt- Langkah 3: Medrep mengklik tombol BACK sehingga sistem akan kembali ke halaman login.
Alt- Langkah 4: Medrep mengklik list daftar profil yang akan di hapus dan memilih “HAPUS”. Kesimpulan
Use case ini berhenti apabila Medrep telah berhasil mendapatkan list rekomendasi dokter.
3. USECASE LIHAT PROMOSI Nama Use Case :
Lihat promosi
Aktor :
Medrep
Deskripsi Use Case :
Use Case ini menggambarkan proses dimana Medrep mendapatkan list promosi dokter yang akan dikunjungi.
Prakondisi :
Medrep telah berhasil login dan masuk ke sistem.
Trigger :
Use case ini hanya dapat dilakukan oleh medrep.
Langkah Umum :
Kegiatan Aktor
Respon Sistem Langkah 1: Sistem akan menampilkan
halaman
profil medrep. Langkah 2: Medrep memasukkan nama kelas obat dan mengklik tombol “Pilih”. Langkah 3 : Sistem akan menampilkan nama kelas obat yang dipilih pada list daftar profil medrep. Langkah 4 : Medrep mengklik Menu
dan
pilih
tombol
“Promosi”. Langkah 5: Sistem akan menghitung serta
Langkah 6: Medrep memilih salah satu list promosi dokter. Langkah
7:
menampilkan
Sistem
detail
data
Dokter. Langkah Alternatif :
Alt- Langkah 3: Medrep mengklik tombol BACK sehingga sistem akan kembali ke halaman login. Alt- Langkah 4: Medrep mengklik list daftar profil yang akan di hapus dan memilih “HAPUS”.
Kesimpulan
Use case ini berhenti apabila Medrep telah berhasil mendapatkan list promosi dokter.
4. USECASE KELOLA DATA Nama Use Case :
Kelola data kelas
Aktor :
Admin
Deskripsi Use Case :
Use
case
ini
menggambarkan
proses
dimana
admin
melakukan proses penambahan data kelas. Prakondisi :
Admin telah berhasil login dan masuk ke sistem.
Trigger :
Use case ini hanya dapat dilakukan oleh admin.
Langkah Umum :
Kegiatan Aktor
Respon Sistem Langkah 1: Sistem akan menampilkan
halaman
admin. Langkah 2: Admin mengklik tab menu “Kelas” Langkah 3: Sistem akan menampilkan halaman kelas berserta listview data kelas. Langkah 4: Admin mengklik
kelas” dari kelas baru yang akan ditambahkan Langkah 7: Admin mengklik tombol TAMBAH. Langkah
8:
Sistem
melakukan proses tambah ke
database
menampilkan
dan peringatan
bahwa data kelas berhasil ditambahkan dan kembali ke halaman admin. Langkah Alternatif :
Alt- Langkah 4: Admin memilih “Ubah Kelas”, sehingga sistem akan menampilkan halaman ubah kelas. Alt- Langkah 4: Admin memilih “Hapus Kelas”, sehingga sistem akan menghapus data kelas yang dipilih. Alt- Langkah 7: Admin mengklik tombol BACK sehingga sistem akan kembali ke halaman admin.
Kesimpulan
Use case ini berhenti apabila admin telah berhasil menambahkan data kelas baru.
melakukan proses reindexing data corpus. Prakondisi :
Admin telah berhasil login dan masuk ke sistem.
Trigger :
Use case ini hanya dapat dilakukan oleh admin.
Langkah Umum :
Kegiatan Aktor
Respon Sistem Langkah 1: Sistem akan menampilkan
halaman
admin. Langkah 2: Admin mengklik tab menu “Resep” Langkah 3: Sistem akan menampilkan halaman resep berserta listview data resep. Langkah 4: Admin mengklik tombol “Reindex Data”. Langkah 5: Sistem akan menampilkan progress bar selama melakukan proses reindex
data
corpus
ke
database. Langkah Alternatif :
Alt- Langkah 4: Admin mengklik tombol BACK sehingga sistem akan kembali ke halaman login.
Kesimpulan
Use case ini berhenti apabila admin telah berhasil perbarui data corpus.
1. DESAIN ANTARMUKA HALAMAN LOGIN Form login disikan oleh admin atau medrep diawal akan masuk ke dalam sistem. Isian dari form login adalah username dan password. Form login ditujukan pada gambar berikut ini.
Sistem Rekomendasi Obat
a)
b)
c)
Desain Antarmuka Login Keterangan: a) : Diisi dengan username Admin atau Medrep b) : Diisi dengan password Admin atau Medrep c) : Tombol Login
2. DESAIN ANTARMUKA HALAMAN PROFIL MEDREP Form profil medrep disikan oleh medrep sebelum proses pembentukan rekomendasi. Isian dari form profil medrep adalah nama kelas obat yang dapat dipilih ketika medrep mengetikkan di edit text dan kemudian tekan tombol pilih. Pada pilihan menu terdapat 2 pilihan, yaitu rekomendasi dan promosi. Form profil medrep ditujukan pada gambar berikut ini.
Halaman Profil Medrep
Pilih nama kelas obat : a)
b)
Profil
c)
d)
e)
Desain Antarmuka Halaman Profil Medrep Keterangan: a) : Diisikan dengan nama kelas obat b) : Tombol Pilih c) : List nama kelas obat (Profil Medrep)
d) : Pilihan menu Rekomendasi e) : Pilihan menu Promosi
3. DESAIN ANTARMUKA HALAMAN REKOMENDASI DOKTER Halaman rekomendasi akan menampilkan list rekomendasi berupa keterangan nama dokter dan spesialianya. Halaman rekomendasi ditujukan pada gambar berikut ini.
Halaman Rekomendasi Dokter
a)
Desain Antarmuka Halaman Rekomendasi Dokter Keterangan: a) : List Rekomendasi berisikan nama dokter dan spesialis
4. DESAIN ANTARMUKA HALAMAN DETAIL DOKTER Halaman detail dokter akan menampilkan detail rekomendasi berupa keterangan lengkap dokter seperti nama, inisila, spesialis, alamat, telepon, jadwal praktek hari dan jam. Halaman detail dokter ditujukan pada gambar berikut ini.
Halaman Detail Dokter
a) ________ ( b) ___) c)________ Alamat d) Telepon e) Jadwal Praktek f)
Desain Antarmuka Halaman Detail Dokter Keterangan: a) : Menampilkan nama dokter b) : Menampilkan inisial dokter c) : Menampilkan spesialis dokter d) : Menampilkan alamat dokter e) : Menampilkan telepon dokter f) : Menampilkan jadwal praktek dokter
5. DESAIN ANTARMUKA HALAMAN PROMOSI DOKTER Halaman promosi dokter akan menampilkan list rekomendasi berupa keterangan nama dokter dan spesialianya. Halaman promosi ditujukan pada gambar berikut ini.
Halaman Promosi Dokter
a)
Desain Antarmuka Halaman Promosi Dokter Keterangan: a) : List Promosi berisikan nama dokter dan spesialis
6. DESAIN ANTARMUKA HALAMAN ADMIN Halaman admin akan menampilkan menu tab yang isinya adalah menu tab medrep, obat, dokter, kelas dan resep. Halaman admin ditujukan pada gambar berikut ini.
Halaman Admin a)
Desain Antarmuka Halaman Admin Keterangan: a) : Menu Tab dari halaman admin
7. DESAIN ANTARMUKA HALAMAN KELAS Halaman kelas akan menampilkan seluruh data kelas dalam bentuk list. Admin dapat mencari kelas yang diinginkan dengan mengetik nama kelas pada bagian edit text cari. Ada juga tombol “+” yang berfungsi untuk menampilkan halaman tambah kelas. Halaman kelas ditujukan pada gambar berikut ini.
Halaman Kelas a)
b)
c)
d)
Desain Antarmuka Halaman Kelas Keterangan: a) : Menu Tab Kelas b) : Textfield untuk mencari kelas c) : Tombol tambah kelas d) : List semua kelas yang ada di database
8. DESAIN ANTARMUKA HALAMAN TAMBAH KELAS Halaman tambah kelas akan diisikan nama kelas oleh admin. Halaman tambah kelas ditujukan pada gambar berikut ini.
Halaman Tambah Kelas
Masukkan nama kelas obat : a) b)
Desain Antarmuka Halaman Tambah Kelas Keterangan: a) : Diisi dengan nama kelas yang akan ditambahkan b) : Tombol Tambah
9. DESAIN ANTARMUKA HALAMAN UBAH KELAS Halaman ubah kelas akan diisikan nama kelas baru oleh admin. Halaman ubah kelas ditujukan pada gambar berikut ini.
Desain Antarmuka Halaman Ubah Kelas Keterangan: a) : Diisi dengan nama kelas yang akan ditambahkan b) : Tombol Simpan c) : Tombol Batal
10. DESAIN ANTARMUKA HALAMAN OBAT Halaman obat akan menampilkan seluruh data obat dalam bentuk list. Admin dapat mencari obat yang diinginkan dengan mengetik nama obat pada bagian edit text cari. Ada juga tombol “+” yang berfungsi untuk menampilkan halaman tambah obat. Halaman obat ditujukan pada gambar berikut ini.
Desain Antarmuka Halaman Obat Keterangan: a) : Menu Tab Obat b) : Textfield untuk mencari obat c) : Tombol tambah obat d) : List semua obat yang ada di database
11. DESAIN ANTARMUKA HALAMAN TAMBAH OBAT Halaman tambah obat akan diisikan nama obat, komposisi dan pabrik oleh admin. Halaman tambah obat ditujukan pada gambar berikut ini.
Desain Antarmuka Halaman Tambah Obat Keterangan: a) : Diisi dengan nama obat yang akan ditambahkan b) : Diisi dengan nama pabrik c) : Diisi dengan komposisi obat d) : Tombol Tambah
12. DESAIN ANTARMUKA HALAMAN UBAH OBAT Halaman ubah obat akan diisikan nama obat, pabrik dan komposisi obat oleh admin. Halaman ubah obat ditujukan pada gambar berikut ini.
Desain Antarmuka Halaman Ubah Obat Keterangan: a) : Diisi dengan nama obat yang akan ditambahkan b) : Diisi dengan nama pabrik c) : Diisi dengan komposisi obat d) : Tombol Simpan
13. DESAIN ANTARMUKA HALAMAN DOKTER Halaman dokter akan menampilkan seluruh data dokter dalam bentuk list. Admin dapat mencari dokter yang diinginkan dengan mengetik nama dokter pada bagian edit text cari. Ada juga tombol “+” yang berfungsi untuk menampilkan halaman tambah dokter. Halaman dokter ditujukan pada gambar berikut ini.
Desain Antarmuka Halaman Dokter Keterangan: a) : Menu Tab Dokter b) : Textfield untuk mencari dokter c) : Tombol tambah dokter d) : List semua dokter yang ada di database
14. DESAIN ANTARMUKA HALAMAN TAMBAH DOKTER Halaman tambah dokter akan diisikan nama dokter, inisial, cosim, spesialis, alamat dan telepon oleh admin. Halaman tambah dokter ditujukan pada gambar berikut ini.
Halaman Tambah Dokter
Masukkan data dokter : a) b) c) d) e) f)
Desain Antarmuka Halaman Tambah Dokter Keterangan: a) : Diisi dengan nama dokter yang akan ditambahkan b) : Diisi dengan inisial dokter c) : Diisi dengan spesialis dokter d) : Diisi dengan alamat dokter e) : Diisi dengan telepon dokter f) : Tombol Tambah
15. DESAIN ANTARMUKA HALAMAN UBAH DOKTER Halaman ubah dokter akan diisikan nama obat, pabrik dan komposisi obat oleh admin. Halaman ubah dokter ditujukan pada gambar berikut ini.
Halaman Ubah Dokter
Masukkan data dokter : a) b) c) d) e) f)
Desain Antarmuka Halaman Ubah Dokter Keterangan: a) : Diisi dengan nama dokter yang akan ditambahkan b) : Diisi dengan inisial dokter c) : Diisi dengan spesialis dokter d) : Diisi dengan alamat dokter e) : Diisi dengan telepon dokter f) : Tombol Simpan
16. DESAIN ANTARMUKA HALAMAN RESEP Halaman resep akan menampilkan seluruh data resep dalam bentuk list. Admin dapat mencari resep dokter yang diinginkan dengan mengetik nama dokter pada bagian edit text cari. Ada juga tombol “+” yang berfungsi untuk menampilkan halaman tambah resep. Halaman resep ditujukan pada gambar berikut ini.
Halaman Resep a)
b)
c)
d)
Desain Antarmuka Halaman Resep Keterangan: a) : Menu Tab Resep b) : Textfield untuk mencari resep dari dokter c) : Tombol tambah resep d) : List semua dokter yang memiliki resep
17. DESAIN ANTARMUKA HALAMAN TAMBAH RESEP Halaman tambah resep akan diisikan nama dokter, nama obat, frekuensi dan bulan oleh admin. Halaman tambah resep ditujukan pada gambar berikut ini.
Halaman Tambah Resep
Masukkan data resep : a) b) c) d) f)
Desain Antarmuka Halaman Tambah Resep Keterangan: a) : Diisi dengan nama dokter b) : Diisi dengan obat c) : Diisi dengan frekuensi obat dalam 1 bulan d) : Diisi dengan bulan e) : Tombol Tambah
18. DESAIN ANTARMUKA HALAMAN UBAH RESEP Halaman ubah resep akan diisikan nama dokter, nama obat, frekuensi dan bulan oleh admin. Halaman ubah resep ditujukan pada gambar berikut ini.
Halaman Ubah Resep
Masukkan data resep : a) b) c) d) f)
Desain Antarmuka Halaman Ubah Resep Keterangan: a) : Diisi dengan nama dokter b) : Diisi dengan obat c) : Diisi dengan frekuensi obat dalam 1 bulan d) : Diisi dengan bulan e) : Tombol Simpan
19. DESAIN ANTARMUKA HALAMAN MEDREP Halaman medrep akan menampilkan seluruh data medrep dalam bentuk list. Admin dapat mencari medrep yang diinginkan dengan mengetik nama medrep pada bagian edit text cari. Ada juga tombol “+” yang berfungsi untuk menampilkan halaman tambah medrep. Halaman medrep ditujukan pada gambar berikut ini.
Halaman Medrep a)
b)
c)
d)
Desain Antarmuka Halaman Medrep Keterangan: a) : Menu Tab Medrep b) : Textfield untuk mencari medrep c) : Tombol tambah medrep d) : List semua medrep yang ada di database
20. DESAIN ANTARMUKA HALAMAN TAMBAH MEDREP Halaman tambah medrep akan diisikan nama, alamat, username, password dan telepon oleh admin. Halaman tambah medrep ditujukan pada gambar berikut ini.
Halaman Tambah Medrep
Masukkan data medrep : a) b) c) d) e) f)
Desain Antarmuka Halaman Tambah Medrep Keterangan: a) : Diisi dengan nama medrep b) : Diisi dengan alamat medrep c) : Diisi dengan username medrep d) : Diisi dengan password medrep e) : Diisi dengan telepon medrep f) : Tombol Tambah
21. DESAIN ANTARMUKA HALAMAN UBAH MEDREP Halaman ubah medrep akan diisikan nama, alamat, username, password dan telepon oleh admin. Halaman ubah medrep ditujukan pada gambar berikut ini.
Halaman Ubah Medrep
Masukkan data medrep : a) b) c) d) e) f)
Desain Antarmuka Halaman Ubah Medrep Keterangan: a) : Diisi dengan nama medrep b) : Diisi dengan alamat medrep c) : Diisi dengan username medrep d) : Diisi dengan password medrep e) : Diisi dengan telepon medrep f) : Tombol Simpan
Pada halaman login dapat mendeteksi login sebagai admin atau sebagai medrep. Baik sebagai admin maupun sebagai medrep harus memiliki username dan password yang harus diisikan pada halaman ini.
Implementasi halaman profil medrep Pada halaman ini, medrep memiliki wewenang untuk menambah profil atau menghapus profil medrep. Untuk menambahkan profil, medrep dapat mengetikkan nama kelas pada edit text yang tersedia. Sedangkan untuk menghapus profil, medrep dapan menekan panjang salah satu list nama kelas. Berikut ini adalah tampilan ketika medrep akan menambah profil, akan muncul semua nama kelas obat sesuai dengan inputan.
pilihan “Tidak” maka proses hapus akan dibatalkan dan kembali ke halaman profil medrep.
3. HALAMAN REKOMENDASI DOKTER
Implementasi Halaman Rekomendasi Dokter Halaman ini menampilkan rekomendasi dokter yang cocok untuk dikunjungi sesuai dengan profil medrep. Hasil rekomendasi ini ditampilkan berdasarkan urutan yang paling relevan dengan profil medrep. Jika medrep memilih salah satu list dokter, maka akan menampilkan halaman detail dokter seperti gambar di bawah ini.
Implementasi Halaman Detail Dokter Pada halama ini akan menampilkan detail data dokter, seperti nama, spesialis, alamat, telepon berserta jam praktek.
4. HALAMAN PROMOSI DOKTER Halaman ini menampilkan promosi dokter yang cocok untuk dikunjungi sesuai dengan profil medrep. Hasil promosi dokter ini ditampilkan berdasarkan dokter yang relevan dengan nilai cosim terendah. Jika medrep memilih salah satu list dokter, maka akan menampilkan halaman detail dokter.
5. HALAMAN ADMIN Admin memiliki wewenang untuk mengelola data medrep, dokter, onat, kelas dan resep. Setelah login, halaman ini akan menampilkan halaman medrep, dokter, onat, kelas dan resep dalam bentuk menu tab. Berikut adalah tampilan halaman admin.
Implementasi Halaman Kelas Pada halaman kelas, akan menampilkan seluruh data kelas obat dalam bentuk list nama kelas. Admin juga dapat mencari kelas dengan mengisikan nama kelas pada edit text cari. Berikut adalah gambar ketika admin mencari data kelas obat.
7. HALAMAN TAMBAH KELAS Pada halaman tambah kelas, admin dapat memasukan data nama kelas baru dengan mengisi nama kelas pada form yang sudah disediakan. Berikut adalah gambar implementasi dari halaman tambah kelas.
Implementasi Halaman Tambah Kelas
8. HALAMAN UBAH KELAS Pada halaman ubah kelas, admin dapat memasukan data nama kelas baru dengan mengisi nama kelas pada dialog ubah kelas. Berikut adalah gambar implementasi dari halaman ubah kelas.
Implementasi Halaman Obat Pada halaman obat, akan menampilkan seluruh data obat dalam bentuk list nama obat. Admin juga dapat mencari obat dengan mengisikan nama obat pada edit text cari. Berikut adalah gambar ketika admin mencari data obat.
10. HALAMAN TAMBAH OBAT Pada halaman tambah obat, admin dapat memasukan data nama obat baru dengan mengisi nama obat, komposisi, pabrik dan nama kelas pada form yang sudah disediakan. Berikut adalah gambar implementasi dari halaman tambah obat.
11. HALAMAN UBAH OBAT Pada halaman ubah obat, admin dapat memasukan data nama kelas, pabrik, komposisi, nama kelas yang ingin dimodifikasi. Berikut adalah gambar implementasi dari halaman ubah obat.
Implementasi Halaman Ubah Obat
12. HALAMAN DOKTER Pada halaman dokter, akan menampilkan seluruh data dokter dalam bentuk list nama dokter. Admin juga dapat mencari dokter dengan mengisikan nama dokter pada edit text cari. Berikut adalah gambar ketika admin mencari data dokter.
13. HALAMAN TAMBAH DOKTER Pada halaman tambah dokter, admin dapat memasukan data nama dokter baru dengan mengisi nama dokter pada form yang sudah disediakan. Berikut adalah gambar implementasi dari halaman tambah dokter.
14. HALAMAN UBAH DOKTER Pada halaman ubah obat, admin dapat memasukan data nama kelas, pabrik, komposisi, nama kelas yang ingin dimodifikasi. Berikut adalah gambar implementasi dari halaman ubah obat.
Pada halaman resep, akan menampilkan seluruh data resep dalam bentuk list nama resep. Admin juga dapat mencari resep dengan mengisikan nama dokter pada edit text cari. Berikut adalah gambar ketika admin mencari data resep.
16. HALAMAN TAMBAH RESEP Pada halaman tambah resep, admin dapat memasukan data nama resep baru dengan mengisi nama dokter, nama kelas, frekuensi dan bulan pada form yang sudah disediakan. Berikut adalah gambar implementasi dari halaman tambah resep.
17. HALAMAN UBAH RESEP Pada halaman ubah resep, admin dapat memasukan kuantitas obat yang akan dimodifikasi. Berikut adalah gambar implementasi dari halaman ubah resep dari dokter.
Implementasi Dialog ubah kuantitas
18. HALAMAN MEDREP Pada halaman tambah medrep, admin dapat memasukan data nama medrep baru dengan mengisi nama medrep, pada form yang sudah disediakan. Berikut adalah gambar implementasi dari halaman tambah medrep.
19. HALAMAN TAMBAH MEDREP Pada halaman tambah medrep, admin dapat memasukan data nama medrep baru dengan mengisi nama medrep, alamat medrep, username, password dan telepon medrep pada form tambah medrep. Berikut adalah gambar implementasi dari halaman tambah medrep.
20. HALAMAN UBAH MEDREP Pada halaman ubah medrep, admin dapat memasukan kuantitas obat yang akan dimodifikasi. Berikut adalah gambar implementasi dari halaman ubah resep dari dokter.
Implementasi Halaman Ubah Medrep 21. REINDEX DATA Pada saat proses reindexing data, sistem akan menampikan dialog progress bar. Ketika proses selesai maka progress bar akan mencapain 100%. Berikut adalah gambar implementasi dari dialog reindexing data.
Implementasi Diagram Kelas : 1. Login Tujuan : untuk autentifikasi username dan password dari user yaitu admin dan medrep ketika masuk ke dalam sistem. Algoritma : Buka koneksi Meendapatkan inputan username dan password, lalu di cek apakah login admin atau medrep Jika admin, maka menjalankan query login untuk admin Jika medrep, maka menjalankan query login untuk medrep Query di proses Tutup koneksi Implementasi metode : login() ArrayList log = new ArrayList(); log.add(new BasicNameValuePair("user", user.getText().toString())); log.add(new BasicNameValuePair("pass", pass.getText().toString())); log.add(new BasicNameValuePair("act", usr));
// TODO Auto-generated catch block e.printStackTrace(); result = "error"; } return result;
3. Rekomendasi Dokter Langkah-langkah : Login sebagai medrep Memodifikasi profil medrep jika diperlukan (tambah / hapus profil) Menekan menu rekomendasi Tujuan : untuk mendapatkan list rekomendasi dokter yang tepat untuk dikunjungi sesuai dengan profil medrep yang sudah terbentuk. Implementasi kelas dan algoritma akan dijelaskan pada masing-masing kelas. a. ProfilMedrep.java Implementasi metode : fetch() Tujuan : Untuk menampilkan nama kelas dan akan ditampilkan dalam bentuk auto complete. String url = "http://10.0.2.2/SistemRekomendasi/namaKelas.php?ct=SEL_nama"; HttpClient httpclient = new DefaultHttpClient(); HttpRequestBase httpRequest = null; HttpResponse httpResponse = null; InputStream inputStream = null; String response = ""; StringBuffer buffer = new StringBuffer(); httpRequest = new HttpGet(url); try { httpResponse = httpclient.execute(httpRequest); } catch (ClientProtocolException e1) { e1.printStackTrace(); } catch (IOException e1) { e1.printStackTrace(); } try { inputStream = httpResponse.getEntity().getContent(); } catch (IllegalStateException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } byte[] data = new byte[512]; int len = 0; try { while (-1 != (len = inputStream.read(data))) {