• Tidak ada hasil yang ditemukan

Sistem rekomendasi penjualan obat menggunakan pendekatan Content Based Filtering berbasis mobile android

N/A
N/A
Protected

Academic year: 2017

Membagikan "Sistem rekomendasi penjualan obat menggunakan pendekatan Content Based Filtering berbasis mobile android"

Copied!
202
0
0

Teks penuh

(1)

i

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

(2)

ii

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

(3)

iii

(4)

iv

(5)

v

(6)

vi

HALAMAN PERSEMBAHAN

Skripsi ini saya persembahkan untuk :

TUHAN YESUS atas karunia-Nya dan

penyertaan-Nya selama hidup saya.

Keluarga, Guru dan Dosen

(7)

vii

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.

Yogyakarta, 26 Juli 2013 Penulis,

(8)

viii

ABSTRAK

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.

(9)

ix

ABSTRACT

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.

(10)

x

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.

Pada tanggal: 26 Juli 2013

Yang menyatakan,

(11)

xi

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

(12)

xii

Penulis menyadari bahwa masih banyak kekurangan yang terdapat pada

tugas akhir ini. Saran dan kritik penulis harapkan untuk kebaikan bersama.

Semoga bermanfaat.

Yogyakarta, 26 Juli 2013

(13)

xiii

DAFTAR ISI

HALAMAN JUDUL ... i

HALAMAN JUDUL (INGGRIS) ... ii

HALAMAN PERSETUJUAN ... iii

HALAMAN PENGESAHAN...iv

MOTTO ... v

HALAMAN PERSEMBAHAN ...vi

PERNYATAAN KEASLIAN KARYA ... vii

ABSTRAK ... viii

ABSTRACT ... ix

HALAMAN PERSETUJUAN ... x

KATA PENGANTAR ... xi

1.1. Latar Belakang Masalah... 1

1.2. Rumusan Masalah ... 2

1.3. Batasan Masalah ... 2

1.4. Tujuan dan Manfaat Penelitian ... 2

1.5. Metode Penelitian ... 3

1.6. Sistematika Penulisan ... 4

BAB II. ... 6

LANDASAN TEORI ... 6

2.1. Pengertian Sistem Rekomendasi ... 6

2.1.1. Content Based Filtering ... 7

(14)

xiv

2.1.3. Pengukuran Performansi ... 12

2.2. Android ... 13

2.2.1. Arsitektur Android ... 13

2.2.2. Komponen Dasar... 15

2.2.3. Daur Hidup Activity... 17

2.2.4. Daur Hidup Service ... 19

BAB III. ... 21

ANALISIS DAN PERANCANGAN SISTEM ... 21

3.1. ANALISIS SISTEM ... 21

3.1.1 GAMBARAN UMUM SISTEM ... 21

3.1.2 SOFTWARE REQUIREMENT ANALYSIS ... 22

3.2. PERANCANGAN SISTEM ... 22

3.2.1 ARSITEKTUR SISTEM ... 22

3.3. DESAIN MODEL SECARA UMUM ... 28

3.3.1 DIAGRAM USE CASE ... 28

3.3.2 NARASI USE CASE ... 29

3.3.3 DIAGRAM AKTIVITAS ... 29

3.3.4 MODEL ANALISIS ... 29

3.3.5 DIAGRAM KELAS ... 30

3.3.6 DESAIN BASIS DATA KONSEPTUAL ... 30

3.3.7 PERANCANGAN BASIS DATA FISIKAL ... 32

3.3.8 DESAIN ANTAR MUKA ... 35

BAB IV. ... 36

IMPLEMENTASI DAN ANALISIS SISTEM ... 36

4.1. DESAIN MODEL SECARA UMUM ... 36

4.1.1 Spesifikasi Perangkat Keras Dan Perangkat Lunak ... 36

4.1.2 Implementasi Diagram Kelas ... 36

4.2 PENGUJIAN ... 37

4.2.1 Pengujian Kinerja Sistem ... 37

4.2.1.1. Pengujian Presisi Sistem Untuk Rekomendasi Dokter ... 37

(15)

xv

2. USECASE LIHAT REKOMENDASI ... 53

3. USECASE LIHAT PROMOSI ... 55

4. USECASE KELOLA DATA ... 56

5. REINDEX DATA ... 58

LAMPIRAN 2. ... 59

DIAGRAM AKTIVITAS ... 59

1. DIAGRAM AKTIVITAS LOGIN ... 60

2. DIAGRAM AKTIVITAS LIHAT REKOMENDASI ... 61

3. DIAGRAM AKTIVITAS LIHAT PROMOSI... 62

4. DIAGRAM AKTIVITAS TAMBAH KELAS ... 63

5. DIAGRAM AKTIVITAS UBAH KELAS ... 64

6. DIAGRAM AKTIVITAS HAPUS KELAS ... 65

7. DIAGRAM AKTIVITAS TAMBAH OBAT ... 66

8. DIAGRAM AKTIVITAS UBAH OBAT ... 67

9. DIAGRAM AKTIVITAS HAPUS OBAT ... 68

10. DIAGRAM AKTIVITAS TAMBAH DOKTER ... 69

11. DIAGRAM AKTIVITAS UBAH DOKTER ... 70

12. DIAGRAM AKTIVITAS HAPUS DOKTER ... 71

13. DIAGRAM AKTIVITAS TAMBAH RESEP ... 72

14. DIAGRAM AKTIVITAS UBAH RESEP ... 73

15. DIAGRAM AKTIVITAS HAPUS RESEP ... 74

16. DIAGRAM AKTIVITAS TAMBAH MEDREP ... 75

17. DIAGRAM AKTIVITAS UBAH MEDREP ... 76

18. DIAGRAM AKTIVITAS HAPUS MEDREP ... 77

(16)

xvi

LAMPIRAN 3. ... 79

DIAGRAM KELAS ... 79

1. DIAGRAM KELAS LOGIN ... 80

2. DIAGRAM KELAS REKOMENDASI DOKTER ... 81

3. DIAGRAM KELAS PROMOSI DOKTER ... 84

4. DIAGRAM KELAS TAMBAH KELAS ... 87

10. DIAGRAM KELAS TAMBAH DOKTER ... 96

11. DIAGRAM KELAS UBAH DOKTER ... 97

12. DIAGRAM KELAS HAPUS DOKTER ... 99

13. DIAGRAM KELAS TAMBAH RESEP ... 100

14. DIAGRAM KELAS UBAH RESEP ... 102

15. DIAGRAM KELAS HAPUS RESEP ... 104

16. DIAGRAM KELAS TAMBAH MEDREP ... 106

17. DIAGRAM KELAS UBAH MEDREP ... 107

18. DIAGRAM KELAS HAPUS MEDREP ... 109

19. DIAGRAM KELAS REINDEX DATA ... 111

LAMPIRAN 4. ... 113

MODEL DESAIN ... 113

1. DESAIN ANTARMUKA HALAMAN LOGIN ... 114

2. DESAIN ANTARMUKA HALAMAN PROFIL MEDREP ... 115

3. DESAIN ANTARMUKA HALAMAN REKOMENDASI DOKTER ... 116

4. DESAIN ANTARMUKA HALAMAN DETAIL DOKTER ... 117

5. DESAIN ANTARMUKA HALAMAN PROMOSI DOKTER ... 118

6. DESAIN ANTARMUKA HALAMAN ADMIN ... 119

7. DESAIN ANTARMUKA HALAMAN KELAS ... 120

(17)

xvii

9. DESAIN ANTARMUKA HALAMAN UBAH KELAS ... 121

10. DESAIN ANTARMUKA HALAMAN OBAT ... 122

11. DESAIN ANTARMUKA HALAMAN TAMBAH OBAT ... 123

12. DESAIN ANTARMUKA HALAMAN UBAH OBAT ... 124

13. DESAIN ANTARMUKA HALAMAN DOKTER ... 125

14. DESAIN ANTARMUKA HALAMAN TAMBAH DOKTER ... 127

15. DESAIN ANTARMUKA HALAMAN UBAH DOKTER ... 128

16. DESAIN ANTARMUKA HALAMAN RESEP ... 129

17. DESAIN ANTARMUKA HALAMAN TAMBAH RESEP ... 130

18. DESAIN ANTARMUKA HALAMAN UBAH RESEP ... 131

19. DESAIN ANTARMUKA HALAMAN MEDREP ... 132

20. DESAIN ANTARMUKA HALAMAN TAMBAH MEDREP ... 133

21. DESAIN ANTARMUKA HALAMAN UBAH MEDREP ... 134

Lampiran 5 . ... 135

IMPLEMENTASI USE CASE ... 135

1. HALAMAN LOGIN ... 136

2. HALAMAN PROFIL MEDREP ... 137

3. HALAMAN REKOMENDASI DOKTER ... 139

4. HALAMAN PROMOSI DOKTER ... 140

5. HALAMAN ADMIN ... 141

13. HALAMAN TAMBAH DOKTER ... 147

14. HALAMAN UBAH DOKTER ... 148

15. HALAMAN RESEP ... 149

(18)

xviii

17. HALAMAN UBAH RESEP ... 151

18. HALAMAN MEDREP ... 151

19. HALAMAN TAMBAH MEDREP ... 152

20. HALAMAN UBAH MEDREP ... 153

LAMPIRAN 6. ... 154

(19)

xix

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

(20)

xx

DAFTAR TABEL

Tabel 3.1 Tabel Data profil ... 25

Tabel 3.2 Tabel Data vektor... 25

Tabel 3.3 Tabel Data perkalian

w

Qj dan

w

ij ... 26

Tabel 3.4 Tabel Data kuadrat

w

Qj dan

w

ij ... 26

Tabel 3.5 Tabel Admin ... 32

Tabel 3.6 Tabel Dokter ... 32

Tabel 3.7 Tabel Jadwal Praktek ... 32

Tabel 3.8 Tabel Jual ... 33

Tabel 3.9 Tabel HasilVsm ... 33

Tabel 3.10 Tabel Kelas... 33

Tabel 3.11 Tabel Medrep ... 34

Tabel 3.12 Tabel Obat ... 34

Tabel 3.13 Tabel Resep ... 34

Tabel 3.14 Tabel Vektor... 35

Tabel 4.1 Tabel item query ... 37

(21)

1

BAB I.

PENDAHULUAN

1.1. 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

(22)

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

(23)

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

(24)

3. Pengujian unjuk kerja.

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

(25)

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,

(26)

BAB II.

LANDASAN TEORI

`

2.1. Pengertian Sistem Rekomendasi

Sistem Rekomendasi atau disebut juga Recommender system

merupakan sebuah sistem yang menyarankan informasi yang berguna.

Sistem rekomendasi juga dapat menduga apa yang akan dilakukan pengguna

untuk mencapai tujuannya, misalnya seperti memilih produk tertentu.

Seperti yang disebutkan oleh Paul Resnick dan Hal R. Varian dalam

jurnalnya, recommender system membantu dan meningkatkan proses seleksi

alam. Suatu yang khas dalam sistem rekomendasi adalah orang memberikan

rekomendasi sebagai masukan, kemudian sistem 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]:

(27)

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

(28)

Pada tugas akhir ini akan menggunakan pendekatan

content-based filtering. Berbeda dengan collaborative filtering yang memilih

dan membuat peringkat item untuk pengguna berdasarkan kesamaan

dari pengguna untuk pengguna lain yang menyukai item serupa di

masa lalu, tetapi pada pendekatan 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

(29)

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

(30)

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 timaka bobot dari wiadalah nol.

Bobot term dapat ditentukan dengan menggunakan skema tf-idf.

Pada pendekatan ini bobot dihitung berdasarkan pada seberapa

sering sebuah term muncul pada sebuah dokumen, dan seberapa

sering ditemukan dalam koleksi dokumen. Selanjutnya teori

mengenai vector space model akan dibahas dalam sub bab

(31)

2.1.2. Vector Space Model

Vector space model adalah suatu model yang digunakan

untuk mengukur kemiripan antara suatu dokumen dengan suatu

query. Pada model ini, query dan dokumen dianggap sebagai

vektor-vektor pada ruang n-dimensi, dimana n adalah jumlah dari seluruh

term yang ada dalam 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

(32)

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]

CosSim(Q,Di) =

2.1.3. Pengukuran Performansi

Menurut Lee (1997) cara konvensional untuk mengukur

(33)

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

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.

Gambar 2.2 Arsitektur Android

(34)

2.2.1.1. Application

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

(35)

2.2.1.3. Libraries

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

(36)

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.

(37)

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.

(38)

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().

 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

(39)

 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

(40)

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.

(41)

BAB III.

ANALISIS DAN PERANCANGAN SISTEM

3.1. ANALISIS SISTEM

3.1.1 GAMBARAN UMUM SISTEM

Analisis sistem merupakan suatu teknik penyelesaian masalah yang

membagi sistem ke dalam bagian-bagian komponen kecil dengan tujuan

agar bagian-bagian dari komponen tersebut dapat bekerja dengan baik.

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

(42)

3.1.2 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

Web server

Pengguna

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

(43)

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)

Vektor Space Model

Cosine Similarity

List rekomendasi

MedRep

Masukkan profile (kelas)

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,

(44)

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 CosineSimilarity. 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

(45)

Tabel 3.1 Tabel Data 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

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

(46)

Tabel 3.3 Tabel Data perkalian

w

Tabel diatas menjelaskan perkalian dari bobot dokter (

w

ij) dengan bobot

medrep (

w

Qj) dan menjumlahkan untuk setiap bobot dokter.

Tabel 3.4 Tabel Data kuadrat

w

Qj dan

w

ij Cosin 0.57735 0.288675 0.288675 0.707107 0.774597

Tabel diatas menjelaskan kuadrat dari bobot dokter (

w

ij) dan kuadrat

bobot medrep (

w

Qj). Kemudian penjumlahan untuk setiap bobot dokter dan

(47)

Perhitungan ini menggunakan rumus Cosine Similarity yaitu :

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=

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

(48)

3.3. DESAIN MODEL SECARA UMUM

3.3.1 DIAGRAM USE CASE

Diagram use case merupakan diagram yang menggambarkan interaksi

antara sistem dengan sistem eksternal dan pengguna. Dengan kata lain,

secara grafis menggambarkan siapa yang akan menggunakan sistem dan

dengan cara apa pengguna mengharapkan untuk berinteraksi dengan

sistem (Whitten, 2004).

Medrep

Login

«extends»

Admin

Kelola Data Lihat Promosi Lihat Rekomendasi

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

(49)

3.3.2 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

(50)

3.3.5 DIAGRAM KELAS

Gambar 3.4 Diagram Kelas

3.3.6 DESAIN BASIS DATA KONSEPTUAL

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

yang digunakan untuk sistem. Berikut ini adalah desain konseptual dari

(51)

Obat

Gambar 3.5. Diagram Relasi Entitas (ER Diagram)

(52)

3.3.7 PERANCANGAN BASIS DATA FISIKAL

Berikut ini adalah desain fisik dari basis data yang dirancang.

No Nama Kolom Tipe Fungsi

1 ID_ADMIN Integer Sebagai primary key dari tabel

2 USERNAME Varchar Menyimpan username admin

3 PASSWORD Varchar Menyimpan password admin

Tabel 3.5 Tabel Admin

Tabel Admin digunakan untuk menyimpan informasi login untuk admin.

No Nama Kolom Tipe Fungsi

1 ID_DOKTER Integer Sebagai primary key dari tabel

2 NAMA_DOKTER Varchar Menyimpan nama dokter

3 INISIAL Varchar Menyimpan inisial dokter

4 SPESIALIS Varchar Menyimpan spesialis dokter

5 ALAMAT_DOKTER Varchar Menyimpan alamat dokter

6 TELEPON Varbinary Menyimpan telepon dokter

Tabel 3.6 Tabel Dokter

Tabel Dokter digunakan untuk menyimpan semua informasi dokter.

No Nama Kolom Tipe Fungsi

1 ID_DOKTER Integer Sebagai foreign key dari tabel

2 HARI Varchar Menyimpan hari praktek dokter

3 JAM Varchar Menyimpan jam praktek dokter

Tabel 3.7 Tabel Jadwal Praktek

Tabel Jadwal Prakter digunakan untuk menyimpan semua informasi

(53)

No Nama Kolom Tipe Fungsi

1 ID_MEDREP Integer Sebagai foreign key dari tabel

2 ID_KELAS Integer Sebagai foreign key dari tabel

Tabel 3.8 Tabel Jual

Tabel Jual digunakan untuk menyimpan semua informasi penjualan

medrep.

No Nama Kolom Tipe Fungsi

1 ID_MEDREP Integer Sebagai foreign key dari tabel

2 ID_DOKTER Integer Sebagai foreign key dari tabel

3 COSIM Double Menyimpan cosim dokter

Tabel 3.9 Tabel HasilVsm

Tabel HasilVsm digunakan untuk menyimpan semua informasi hasil vsm

yang berisikan nilai cosim.

No Nama Kolom Tipe Fungsi

1 ID_KELAS Integer Sebagai primary key dari tabel

2 NAMA_KELAS Varchar Menyimpan nama kelas

3 MAX_FREKUENSI Integer Menyimpan max frekuensi kelas

Tabel 3.10 Tabel Kelas

(54)

No Nama Kolom Tipe Fungsi

1 ID_MEDREP Integer Sebagai primary key dari tabel

2 NAMA_MEDREP Varchar Menyimpan nama medrep

3 USERNAME_MEDREP Varchar Menyimpan username medrep

4 PASSWORD_MEDREP Varchar Menyimpan password medrep

5 ALAMAT_MEDREP Varchar Menyimpan alamat medrep

6 TELEPON Varbinary Menyimpan telepon medrep

Tabel 3.11 Tabel Medrep

Tabel Medrep digunakan untuk menyimpan semua informasi medrep.

No Nama Kolom Tipe Fungsi

1 ID_OBAT Integer Sebagai primary key dari tabel

2 NAMA_OBAT Varchar Menyimpan nama obat

3 PABRIK Varchar Menyimpan pabrik obat

4 ID_KELAS Integer Sebagai foreign key dari tabel

5 KOMPOSISI Varchar Menyimpan komposisi obat

Tabel 3.12 Tabel Obat

Tabel Obat digunakan untuk menyimpan semua informasi obat.

No Nama Kolom Tipe Fungsi

1 ID_DOKTER Integer Sebagai foreign key dari tabel

2 ID_OBAT Integer Sebagai foreign key dari tabel

3 BULAN Varchar Menyimpan bulan resep

4 FREKUENSI Integer Menyimpan frekuensi resep

Tabel 3.13 Tabel Resep

(55)

No Nama Kolom Tipe Fungsi

1 ID_DOKTER Integer Menyimpan id dokter

2 ID_KELAS Integer Menyimpan id kelas

3 BOBOT Integer Menyimpan bobot vektor

4 BOBOT_NORMAL Integer Menyimpan bobot normal vektor

Tabel 3.14 Tabel Vektor

Tabel Vektor digunakan untuk menyimpan semua informasi vektor.

3.3.8 DESAIN ANTAR MUKA

Pada desain antarmuka sistem ini akan ditampilkan desain dari tiap

form yang akan dibentuk. Desain antarmuka akan dijelaskan lebih lengkap

(56)

BAB IV.

IMPLEMENTASI DAN ANALISIS SISTEM

4.1. 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

objek-objek yang akan dipakai. Adapun kelas-kelas yang telah terbentuk akan

(57)

4.2 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 = Dokter yang dipilih oleh medrep Dokter yang direkomendasikan oleh sistem

4.2.1 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.

(58)

5.

Antikoagulan, Antiplatelet, dan Fibrinolitik

Antispasmodik

Antijamur

Beta Laktam Golongan Lain

Diuretik

Hemostatik

Hipnotik dan Sedativa

Hormon Kortikosteroid

Kuinolon

Obat Anti Inflamasi Non Steroid (OAINS)

Obat Hematopoietik

Obat jantung

Obat Gangguan Neuromuskular

Penisilin

Perawatan Suportif

Preparat Antiasma dan PPOK

Relaksan Otot

Sefalosporin

Vaksin, Antiserum dan Imunologikal

Vasodilator Perifer dan Aktivator Serebal

Vasokonstriktor

Vitamin B-Complex

Vitamin C

(59)

Query 1 :

Kelas yang dipilih : Antasid Dokter yang

(60)

Query 3 :

Kelas yang dipilih : Anastesi Lokal; Hemostatik; Obat Anti Inflamasi Non Steroid (OAINS); Obat jantung; Vasokonstriktor Dokter yang

(61)

AM 14 SR 40

Kelas yang dipilih : Antasid; Antibiotik Golongan Lain;

Antispasmodik; Antijamur; Kuinolon; Obat Anti Inflamasi Non Steroid (OAINS); Relaksan Otot; Sefalosporin

Dokter yang

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

(62)

dipilih sistem dipilih sistem

(63)

Ty 13 NA 36

Kelas yang dipilih : Anastesi Lokal; Antibiotik Golongan Lain; Antikoagulan, Antiplatelet, dan Fibrinolitik; Antijamur; Obat Jantung; Sefalosporin; Vitamin B-Complex

Dokter yang

Kelas yang dipilih : Anatesi Lokal; Antibiotik Golongan Lain;

Hormon Kortikosteroid; Kuinolon; Obat Anti Inflamasi Non

Steroid (OAINS); Relaksan Otot; Sefalosporin

(64)

dipilih sistem dipilih sistem

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

(65)

PW 15 NA 42

IK 16 IK 43

PA 17 NH 46

NB 18 Fa 48

HW 19 UT 49

IM 20 FN 51

(66)

Berikut adalah perhitungan nilai precision untuk setiap query :

Tabel 4.1 Tabel Perhitungan Precision

No Relevan Not Relevan

Hasil

Rekomendasi Precision Profil MR1 20 10 30 0.667

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

(67)

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%.

0.00% 10.00% 20.00% 30.00% 40.00% 50.00% 60.00% 70.00% 80.00% 90.00% 100.00%

1 2 3 4 5 6 7 8 9 10

Precision

(68)

BAB V.

PENUTUP

5.1. 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 sebesar77,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 :

(69)

 Data yang digunakan tidak hanya dalam lingkup 1 kota maupun hanya 1

Rumah Sakit saja.

 Sistem akan lebih baik jika pengujian yang dilakukan tidak hanya

(70)

DAFTAR PUSTAKA

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

Explains”, In Autonomous Agents 98, Minneapolis MN USA

Burke, R. (2007). Hybrid web recommender systems. In The Adaptive Web, pages

377–408. Springer Berlin / Heidelberg.

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

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

PKDD 2001, Helsinki, Finland.

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

collaborative filtering recommender systems. ACM Transactions on

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

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

Andi Offset

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

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

Department of Communication, Journalism and Computer Science.

Lee, Dik L. 1997. Document Rangking and the Vector-Space Model. Hongkong.

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

(71)

Resnick, Paul dan Varian, Hal R. (1997). Recommender systems. Communications

of the ACM, Vol. 40, No. 3, 56-58.

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

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

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

(72)

LAMPIRAN 1.

NARASI USE CASE

1. USECASE LOGIN ... 53

2. USECASE LIHAT REKOMENDASI ... 53

3. USECASE LIHAT PROMOSI ... 55

4. USECASE KELOLA DATA ... 56

(73)

1. USECASE LOGIN

Nama Use Case : Login

Aktor : Admin, Medrep

Deskripsi Use Case : 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.

Prakondisi : Admin dan Medrep telah memiliki password

Trigger : Use Case ini digunakan apabila ada Medrep yang ingin masuk ke dalam sistem.

Langkah Umum : Kegiatan Aktor Respon Sistem

Langkah 2: Admin

memasukkan username dan

password

Langkah 3: Admin mengklik

tombol LOGIN.

Langkah 1: Sistem akan

menampilkan halaman login dan meminta admin untuk memasukkan username dan

password .

Langkah 4: Proses autentifikasi username dan

password

Langkah 5: Sistem menampilkan halaman admin.

Langkah Alternatif : 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.

Kesimpulan Use case ini berhenti apabila admin telah masuk ke halaman admin atau admin membatalkan untuk masuk ke dalam sistem.

2. USECASE LIHAT REKOMENDASI

Nama Use Case : Lihat rekomendasi

(74)

Deskripsi Use Case : 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 2: Medrep

memasukkan nama kelas obat

dan mengklik tombol “Pilih”.

Langkah 4 : Medrep mengklik

Menu dan pilih tombol

“Rekomendasi”.

Langkah 6: Medrep memilih

salah satu list rekomendasi

dokter.

Langkah 1: Sistem akan

menampilkan halaman

profil medrep.

Langkah 3 : Sistem akan

menampilkan nama kelas

obat yang dipilih pada list

daftar profil medrep.

Langkah 5: Sistem akan

menghitung nilai cosim

serta menampilkan list

rekomendasi dokter.

Langkah 7: Sistem

menampilkan detail data

Dokter.

Langkah Alternatif : Alt- Langkah 3: Medrep mengklik tombol BACK sehingga

(75)

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 2: Medrep

memasukkan nama kelas obat

dan mengklik tombol “Pilih”.

Langkah 4 : Medrep mengklik

Menu dan pilih tombol

“Promosi”.

Langkah 1: Sistem akan

menampilkan halaman

profil medrep.

Langkah 3 : Sistem akan

menampilkan nama kelas

obat yang dipilih pada list

daftar profil medrep.

Langkah 5: Sistem akan

menghitung nilai cosim

serta menampilkan list

(76)

Langkah 6: Medrep memilih

salah satu list promosi dokter.

Langkah 7: Sistem

menampilkan 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 2: Admin mengklik

tab menu “Kelas”

Langkah 4: Admin mengklik

Langkah 1: Sistem akan

menampilkan halaman

admin.

Langkah 3: Sistem akan

menampilkan halaman kelas

(77)

tombol “+”.

Langkah 6: Admin

memasukkan data “nama

kelas” dari kelas baru yang

akan ditambahkan

Langkah 7: Admin mengklik

tombol TAMBAH.

Langkah 5: Sistem akan

menampilkan halaman

tambah kelas.

Langkah 8: Sistem

melakukan proses tambah

ke database dan

menampilkan 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

(78)

5. REINDEX DATA

Nama Use Case : Reindex data

Aktor : Admin

Deskripsi Use Case : Use case ini menggambarkan proses dimana admin

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 2: Admin mengklik

tab menu “Resep”

Langkah 4: Admin mengklik

tombol “Reindex Data”.

Langkah 1: Sistem akan

menampilkan halaman

admin.

Langkah 3: Sistem akan

menampilkan halaman resep

berserta listview data resep.

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

Gambar

Gambar 2.2 Arsitektur Android
Gambar 3.1  Arsitektur Sistem
Gambar 3.2 Arsitektur aplikasi
Tabel 3.1  Tabel Data profil
+7

Referensi

Dokumen terkait

kesimpulan yang dapat diambil berdasarkan analisa dari hasil percobaan dan pemodelan pengelasan sambungan pelat datar dengan kampuh V ganda dengan variasi sudut

Jumlah foto yang telah didapatkan harus melalui proses penyeleksian gambar agar foto yang terbaik lah yang bisa dimasukan ke dalam karya buku fotografi esai yang

sebagaimana telah beberapa kali diubah terakhir dengan Peraturan Menteri Dalam Negeri Nomor 21 Tahun 2011 tentang Perubahan Kedua atas Peraturan Menteri Dalam

(3) Pegawai Negeri Sipil sebagaimana dimaksud dalam ayat (1), yang dipidana penjara atau kurungan berdasarkan keputusan Pengadilan yang telah mempunyai kekuatan hukum yang tetap,

LAPORAN TAHUNAN HARTA MODAL & INVENTORI PENDAFTARAN PENDAFTARAN ASET HADIAH PENDAFTARAN ASET LUCUTHAK INVENTORI PENGESAHAN PUNCA MAKLUMAT LUCUTHAK URUSAN PENDAFTARAN ASET

Hubungan mekanisme dengan teknologi merupakan kebutuhan setiap proses bisnis yang dilakukan oleh organisasi termasuk semua mekanisme dari proses bisnis tersebut dengan

Menurut hasil penelitian yang telah dilakukan oleh Imron (1997), membutikan bahwa komposisi hasil tangkapan dengan menggunakan alat bantu rumpon bambu terdiri dari

Berdasarkan hasil pengamatan, spermatofor Scylla olivacea asal Jawa Barat, menunjukkan diameter terkecil 33.75µm dan terbesar 210µm (Gambar 17), hal ini menunjukkan bahwa kisaran