130
i APLIKASI REKOMENDASI DOKTER UNTUK SALES OBAT PADA ANDROID MENGGUNAKAN METODE K-MEAN CLUSTERING DAN EUCLIDEAN DISTANCE SKRIPSI Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Komputer Program Studi Teknik Informatika Oleh : Unggul Prasetya 095314043 JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA YOGYAKARTA 2013 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

  • Upload
    vomien

  • View
    223

  • Download
    0

Embed Size (px)

Citation preview

Page 1: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

i

APLIKASI REKOMENDASI DOKTER UNTUK SALES

OBAT PADA ANDROID MENGGUNAKAN METODE K-MEAN

CLUSTERING DAN EUCLIDEAN DISTANCE

SKRIPSI

Diajukan untuk Memenuhi Salah Satu Syarat

Memperoleh Gelar Sarjana Komputer

Program Studi Teknik Informatika

Oleh :

Unggul Prasetya

095314043

JURUSAN TEKNIK INFORMATIKA

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA

YOGYAKARTA

2013

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 2: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

ii

DOCTORE RECOMMENDED APPLICATIONS FOR

ANDROID ON SALES OF DRUEG USING K-MEANS

CLUSTERING AND EUCLIDEAN DISTANCE

THESIS

Presented as Partial Fullfilment of the Requirements

To Obtain the Computer Bachelor Degree

In Informatics Engineering

By:

Unggul Prasetya

095314043

INFORMATICS ENGINEERING STUDY PROGRAM

DEPARTMENT OF INFORMATICS ENGINEERING

FACULTY OF SCIENCE AND TECHNOLOGY

SANATA DHARMA UNIVERSITY

YOGYAKARTA

2013

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 3: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

iii

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 4: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

iv

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 5: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

v

HALAMAN PERSEMBAHAN

Teruslah mencoba meski selalu gagal.

Teruslah berusaha meski sering menjadi bahan olok-olok.

Teruslah belajar dari semua hal yang didapat

Teruslah bertekun, fokus pada tujuan

Kesuksesan adalah pilihan

Skripsi ini saya persembahkan untuk

Ayah dan Ibu dan keluarga tercinta

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 6: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

vi

PERNYATAAN KEASLIAN KARYA

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 7: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

vii

ABSTRAK

Aplikasi mobile sangat cocok untuk mendukung kerja marketing yang

bersifat mobile atau selalu berpindah. Tenaga marketing selalu berpindah-pindah

karena pembeli berada ditempat yang jauh dan berbeda. Salah satu tenaga penjual

tersebut adalah sales obat kerena mereka selalu mengunjungi dokter di klinik atau

rumah sakit tempat yang jauh dan berbeda.

Dalam menjalankan bisnis yang bersifat mobile, sales obat memerlukan

informasi yang real time dan akurat. Hal ini dikemukakan oleh beberapa sales

obat di sebuah rumah sakit swasta di Yogyakata, bahwa sales obat memerlukan

aplikasi mobile yang mampu memberikan informasi secara real time dan akurat

terkait dokter yang akan dikunjungi.

Aplikasi rekomendasi dokter dibangun untuk menyelesaikan permasalahan

yang dialami marketing obat. Aplikasi ini dibangun menggunakan pendekatan k-

mean clustering dan Euclidean distance. Input yang dibutuhkan adalah profil

dokter yaitu rekaman rekomendasi obat untuk pasien , input profil sales yaitu

obat-obat yang akan ditawarkan kepada dokter input obat ini didasarkan pada

kandungan zat active dari obat tersebut.

Data dokter yang telah diinputkan akan diproses sehingga membentuk

custer dokter. Proses ini dilakukan karena diasumsikan bahwa dokter dengan

spesialis yang sama cenderung memberikan rekomendasi obat yang sama. Cluster

dan profil sales yang diproses untuk mendapatkan cluster dokter jarak terdekat.

Setelah didapat cluster dokter dengan jarak terdekat anggota cluster tersebut

diurutkan berdasarkan jarak similarity dengan profil sales kemudian

direkomendasikan.

Dengan menggunakan pendekatan tersebut aplikasi ini dapat menghasilkan

informasi berupa rekomendasi dokter yang dapat dikunjungi oleh sales obat.

Setelah dilakukan pengujian menghasilkan nilai precision 0.8 - 1 dan recall 0 - 7.

Dapat disimpulkan bahwa Information retrival menggunakan pendekatan k-mean

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 8: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

viii

dan Euclidean distance menghasilkan rekomendasi dokter yang sesuai dengan

yang diharapkan sales obat.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 9: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

ix

ABSTRACT

Mobile application is suitableto support a mobile marketing work or always

on the move. Marketing personnel are always moving because buyers are far away

and different. One of the sales reps are drugs because they are always visit the

doctor at the clinicor hospital where the distant an different.

In running a bussines that is mobile, require drug sales information real time

and accurate. This was stated by some drug sales at a private hospital in

Yogyakarta, that requires drug sales moble application that is able to provide

information in real time and accurately related to doctors who would visit.

Applications of doctor’s recommendation was built to resolve problems

experienced by marketing the drug. This application was built using k-mean

clustering approach and Euclidean distance. The required input is the propfile of

the recording physician medication recommendations for patients, input sales

profile is drugs that will be offered to doctors drug input based on active

substances of the drug.

Physicians who have entered the data will be processed to form cluster

doctor. This process is done because it is assumed that the same physicians with

specialists tend to give the same medication recommendation. Cluster and sales

profiles are processed to obtain nearest cluster distances doctor. Once the cluster

obtained with the doctor closest cluster members are sorted by the distance

similarity with sales profile is then recommended.

By using the approach of these applications cangenerate information in the

form of a doctor’s recommendation can be visited by drug sales. After testing

produces precision value 0,8- 1 and recall 0-7. It can be concluded that the

information retrival using k-mean approach and the ecuclidean distance produce a

doctor’s recommendation in accordance with the expected drug sales.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 10: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

x

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 11: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

xi

KATA PENGANTAR

Puji syukur kepada Yesus Kristus yang telah memberikan karunia, rahmat,

dan kesempatan, sehingga penulis dapat menyelesaikan skripsi dengan judul

“Aplikasi Rekomendasi Dokter Untuk Sales Obat Pada Android Menggunakan

Metode K-Mean Clustering Dan Euclidean Distance”. Penyusunan skripsi ini

tidak lepas dari semua pihak yang turut memberikan dukungan, doa, semangat,

dan bantuan yang sangat bermanfaat bagi penulis. Pada kesempatan ini penulis

mengucapkan terima kasih sebesar besarnya kepada :

1. Tuhan Yesus yang selalu melindungi.

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

yang senantiasa memberikan masukkan dan bantuan dalam

membimbing penulis untuk menyelesaikan skripsi ini.

3. Sri Hartati Wijono, S.Si.,M.Kom , Ridowati Gunawan, S.Kom.,M.T. ,

Paulina Heruningsih Prima Rosa, S.Si., M.Sc , Bapak Puspaningtyas

Sanjoyo Adi,S.T.,M.T. Beliau-beliau telah membantu saya dalam belajar

sehingga saya dapat berkembang.

4. Segenap dosen Universitas Sana Dharma yang telah membantu

memberikan bekal pengethauan kepada penulis.

5. Mamah CH.Supinah, S.Pd dan bapak Suradi, S.Pd yang selalu

menyayangi ku dann tidak pernah berhenti semangat, doa, dan

dukungan.

6. Kakak (Trisna Sundari,S.E dan AMZ Yuli Susandar, S.E ) yang telah

memberikan semangat dan dukungan.

7. Bapak, Ibu dan keluarga besar Margareta Sri Pinilih yang dengan tulus

memberikan perhatian, doa, dan dukungan.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 12: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

xii

8. Audris Evan utomo,S.Kom dan seluruh sahabat TI yang tidak dapat

penulis sebutkan atas kesediaannya dalam memberi masukkan,

menemani, dan mendengarkan keluh kelas dari penulis.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 13: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

xiii

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 14: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

xiv

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 15: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

xv

DAFTAR ISI

SKRIPSI ................................................................................................................... i

THESIS ................................................................................................................... ii

HALAMAN PERSEMBAHAN ............................................................................. v

PERNYATAAN KEASLIAN KARYA ................................................................ vi

ABSTRAK ............................................................................................................ vii

ABSTRACT ............................................................................................................. ix

KATA PENGANTAR ........................................................................................... xi

DAFTAR ISI ......................................................................................................... xv

DAFTAR GAMBAR ............................................................................................ xx

DAFTAR TABEL ................................................................................................ xxi

DAFTAR GRAFIK ............................................................................................. xxii

BAB I PENDAHULUAN ...................................................................................... 1

A. Latar Belakang Masalah ........................................................................... 1

B. Rumusan Masalah ..................................................................................... 2

C. Tujuan Penelitian ...................................................................................... 2

D. Manfaat Penelitian .................................................................................... 2

E. Batasan Masalah ....................................................................................... 2

F. Metodologi Penelitian ............................................................................... 3

G. Sistematika Penulisan ............................................................................... 4

BAB II LANDASAN TEORI ................................................................................ 5

A. Sistem Rekomendasi ................................................................................. 5

B. Content Based Filtering ............................................................................ 5

C. Normalisasi ............................................................................................... 6

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 16: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

xvi

D. Uclidean Distance ..................................................................................... 7

E. K-Mean ..................................................................................................... 7

1. Pengertian ............................................................................................. 7

2. Teknik Metode K-Mean........................................................................ 8

F. Pengujian sistem ....................................................................................... 9

G. Android ..................................................................................................... 9

1. Pengertian ............................................................................................. 9

2. Arsitektur Android .............................................................................. 10

3. Application .......................................................................................... 10

4. Application Framework ...................................................................... 10

BAB III METODOLOGI PENELITIAN DAN ANALISIS SISTEM ................ 12

A. Pengumpulan Data dan Informasi ........................................................... 12

1. Wawancara.......................................................................................... 12

2. Pemerolehan Data ............................................................................... 12

B. Analisis Sistem........................................................................................ 13

C. Software Requirement Analysis .............................................................. 14

1. Analisis perangkat lunak yang dibutukan .......................................... 14

2. Analisis perangkat keras yang dibutuhkan ......................................... 14

3. Arsitektur Aplikasi .............................................................................. 14

4. Membuat Rekomendasi Dokter .......................................................... 15

D. Metode Pengujian Recall dan Precision ................................................. 30

1. Contoh Perhitungan Recall dan Precision .......................................... 30

BAB IV PERANCANGAN SISTEM DAN IMPLEMENTASI ......................... 32

A. Diagram Use case ................................................................................... 32

B. Diagram Sekenario.................................................................................. 33

1. Input Profile Sales ............................................................................... 33

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 17: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

xvii

2. Hapus Profil Item ................................................................................ 33

3. Cari Rekomendasi ............................................................................... 33

4. Melihat Profil Dokter .......................................................................... 34

5. Manajemen File Dokter (Sales) ......................................................... 34

6. Login Admin ....................................................................................... 35

7. Management File Dokter ( Admin ) .................................................. 35

C. Diagram Aktivitas ................................................................................... 36

1. Saat Aplikasi Dijalankan .................................................................... 36

2. Cari rekomendasi ................................................................................ 37

3. Input Profile Sales ............................................................................... 37

4. Hapus Item Profile .............................................................................. 38

5. Melihat Profil MedRep ....................................................................... 38

6. Download File Rekomendasi Dokter .................................................. 39

7. Merubah File List Dokter Yang Diakses ........................................... 39

8. Tambah File ........................................................................................ 40

9. Edit Deskripsi File .............................................................................. 40

10. Hapus File .................................................................................... 41

D. Diagram Model View Controler (MVC) ................................................ 41

1. Struktur MVC Kelas Boundary, Contorl dan Entity.......................... 41

2. Diagram Analisis Kelas (Model View Controler) .............................. 42

3. Diagram Kelas (Aplikasi Android) ................................................... 43

4. Diagram Kelas (Web Admin) ............................................................ 43

5. Diagram Kelas Detail.......................................................................... 44

E. Diagram Sequence .................................................................................. 50

1. Saat Plikasi Dijalankan ....................................................................... 50

2. Cari Rekomendasi ............................................................................... 51

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 18: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

xviii

3. Input Profile Medrep ........................................................................... 52

4. Lihat Profile Sales ............................................................................... 53

5. Hapus Item Profile .............................................................................. 53

6. Download File Rekomendasi Dokter .................................................. 54

7. Merubah File List Dokter Yang Diakses ............................................ 54

8. Tambah File ........................................................................................ 55

9. Edit Deskripsi File .............................................................................. 55

10. Hapus File .................................................................................... 56

F. Model Penyimpanan Data ....................................................................... 56

G. Algoritma Method Dalam Kelas Yang Memuat Proses Custering dan

Euclidean Similarity................................................................................ 59

1. RekomendasiDokterActivity.java ....................................................... 59

2. UpdateData(Strting): Boolean ............................................................ 64

3. Relasi_Kontroler.Java ......................................................................... 67

4. Similarity controller_avtivity.java ...................................................... 81

BAB V HASIL DAN PENGUJIAN ..................................................................... 90

A. Hasil Pengujian Sistem ........................................................................... 90

1. Item Query Yang Tersedia ................................................................. 90

B. Sampel profil .......................................................................................... 91

C. Perhitungan Recall Dan Precision ........................................................ 100

1. Tabel Relevansi Dokumen ................................................................ 100

2. Perhitungan Recall Dan Precision Setiap Query ............................. 101

3. Perhitungan Average Precision Terhadap 11 Titik Recall ............... 104

4. Kelemahan ........................................................................................ 106

BAB VI KESIMPULAN DAN SARAN ........................................................... 107

A. Kesimpulan ........................................................................................... 107

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 19: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

xix

B. Saran ..................................................................................................... 107

Daftar Pustaka ..................................................................................................... 108

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 20: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

xx

DAFTAR GAMBAR

Gambar 1. Proses dari clustering ............................................................................ 9

Gambar 2. Arsitektur Android .............................................................................. 10

Gambar 3. Arsitektur Sistem ................................................................................. 15

Gambar 4. Diagram Usecase ................................................................................. 32

Gambar 5. Diagram Aktivitas Saat Aplikasi dijalankan ....................................... 36

Gambar 6. Diagram Aktivitas saat Proses Cari Rekomendasi .............................. 37

Gambar 7. Diagram Aktivitas Input Profil Sales .................................................. 37

Gambar 8. Diagram Aktivitas Hapus Item Profile ................................................ 38

Gambar 9. Diagram Aktivitas Melihat Profil MedRep ........................................ 38

Gambar 10. Diagram Aktivitas Download File Dokter ........................................ 39

Gambar 11. Diagram Aktivitas Meribah file list dokter yang diakses .................. 39

Gambar 12. Diagram Aktivitas Tambah File ........................................................ 40

Gambar 13. Diagram Aktivitas Edit Deskripsi File .............................................. 40

Gambar 14. Diagram Aktivitas Hapus File ........................................................... 41

Gambar 15. Diagram Analisis Kelas ..................................................................... 42

Gambar 16. Diagram Kelas ................................................................................... 43

Gambar 17. Diagram Kelas (Web Admin) .......................................................... 43

Gambar 18. Diagram Sequence Saat Aplikasi Dijalankan................................... 50

Gambar 19. Diagaram Sequence Cari Rekomendasi .......................................... 51

Gambar 20. Diagram Sequence Input Profile Medrep .......................................... 52

Gambar 21. Diagram Sequence Lihat Profil Sales................................................ 53

Gambar 22. Diagram Sequence hapus Item Profile .............................................. 53

Gambar 23. Diagram Sequence Download File Rekomendasi Dokter ................. 54

Gambar 24. Diagram Sequence Merubah File ListDokter Yang Diakses ............ 54

Gambar 25. Diagram Sequence Tambah File ....................................................... 55

Gambar 26. Diagram Sequence Edit Deskripsi..................................................... 55

Gambar 27. Diagram Sequence Hapus File .......................................................... 56

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 21: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

xxi

DAFTAR TABEL

Tabel 1. Contoh Data Rekomendasi Obat Dokter ................................................ 12

Tabel 2. Rekomendasi Obat ................................................................................. 16

Tabel 3. Hasil Penggabungan obat berdasarkan Generic ..................................... 17

Tabel 4. Normalisasi Bobot Generic ................................................................... 18

Tabel 5. Centroid Awal ........................................................................................ 20

Tabel 6. Iterasi Pertama........................................................................................ 20

Tabel 7. Anggota Cluster Iiterasi Pertama ........................................................... 22

Tabel 8. Centroid Kedua ...................................................................................... 24

Tabel 9. Iterasi Kedua .......................................................................................... 24

Tabel 10. Anggota Cluster Iterasi Kedua ............................................................. 25

Tabel 11. Centroid Ketiga .................................................................................... 26

Tabel 12. Iterasi Ketiga ........................................................................................ 26

Tabel 13. Pusat cluster ......................................................................................... 28

Tabel 14. Contoh Profil Pengguna (Query) ......................................................... 28

Tabel 15. Jarak Query Dengan Cluster (contoh) .................................................. 29

Tabel 16 Anggota dari cluster yang terdekat ....................................................... 29

Tabel 17. Pengurutan Dokter Berdasarkan Jarak Similarity ................................ 30

Tabel 18 Tabel Relevansi Hasil Pencarian........................................................... 30

Tabel 19 Perhitungan Recal Dan Precission (contoh).......................................... 31

Tabel 20 Perhitungan Averge Precision (contoh) ................................................ 31

Tabel 21. Item Query Yang Tersedia ................................................................... 90

Tabel 22. Sampel Query Yang Digunakan Untuk Pengujian .............................. 91

Tabel 23. Relevansi Dokumen ........................................................................... 100

Tabel 24. Menghitung Recall dan Precision ...................................................... 101

Tabel 25. Average Precision Terhadap 11 Titik Recall .................................... 104

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 22: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

xxii

DAFTAR GRAFIK

Grafik 1. Contoh Recall Precision ........................................................................ 31

Grafik.2 Diagram Average Precision 11 Titik Recall ......................................... 106

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 23: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

1

BAB I

PENDAHULUAN

A. Latar Belakang Masalah

Saat ini aplikasi mobile terus berkembang dengan pesat seiring

meningkatnya penjualan smartphone. Seperti yang dikemukakan Junifer Network

Inc dalam penelitiannya pada triwulan kedua tahun 2012, angka penjualan

Samsung mampu meraih meraih total pengiriman 52 juta unit, iPhone 26 juta

unit , Nokia 10.2 juta unit, dan RIM 7.4 juta unit [www.teknoup.com, 2012].

Perusahaan pengembang software terus mengembangkan aplikasi mobile untuk

menarik minat konsumen. Perusahaan pengembang software mengedepankan

inovasi-inovasi baru untuk pemerolehan informasi dibidang bisnis dan hiburan.

Seperti yang dikemukakan Presiden SAP Asia Tenggara “SAP akan menekankan

solusi bisnis dengan meluncurkan SAP mobility" [Okezone.com, 2012].

Aplikasi mobile sangat cocok untuk mendukung kerja marketing yang

bersifat mobile atau selalu berpindah. Tenaga marketing selalu berpindah-pindah

karena pembeli berada ditempat yang jauh dan berbeda. Salah satu tenaga penjual

tersebut adalah sales obat kerena mereka selu mengunjungi dokter di klinik atau

rumah sakit tempat yang jauh dan berbeda.

Dalam menjalankan bisnis yang bersifat mobile, sales obat memerlukan

informasi yang real time dan akurat. Hal ini dikemukakan oleh beberapa sales

obat di sebuah rumah sakit swasta di Yogyakata, bahwa sales obat memerlukan

aplikasi mobile yang mampu memberikan informasi secara real time dan akurat

terkait dokter yang akan dikunjungi.

Penelitian ini mencoba untuk menyelesaikan permasalahan sales obat

dengan pendekatan data mining dan information retrival. Metode data mining dan

information retrival ini akan diterapkan dalam aplikasi moible. Dengan demikian

diharpkan dengan pendekatan ini dapat menghasilkan rekomendasi dokter yang

akurat dan real time.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 24: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

2

B. Rumusan Masalah

Berdasarkan latar belakang di atas, rumusan masalah penelitin ini adalah:

1. Bagaimana membuat rekomendasi dokter yang akan dikunjungi oleh sales

obat?

2. Mengukur sejauh mana informasi rekomendasi dokter yang dihasilkan

aplikasi dengan pendekatan k-mean clustering dan eculidean distance

dapat memberikan informasi yang akurat.

C. Tujuan Penelitian

Penelitian ini bertujuan untuk mengetahui, sejauh mana rekomendasi dokter

yang dihasilkan dari pendekatan k-mean clustering dan eculidean distance dapat

memberikan informasi yang akurat.

D. Manfaat Penelitian

1. Penelitian ini diharapkan dapat menjadi bahan rujukan bagi penelitian

sejenis daalam ranah information retrival dan data mining.

2. memberikan sebuah analisa yang dapat memberikan rekomendasi dokter

yang tepat untuk dikunjungi.

3. Manfaat dari hasil penelitian diharapkan dapat membantu sales obat dalam

pemasaran produk sehingga lebih efisien dan tepat sasaran .

E. Batasan Masalah

Adapun batasan-batasan masalah dalam penulisan tugas akhir ini adalah

sebagai berikut :

1. Dalam penelitian ini metode clustering dan Euclidean similarity akan

diimplementasikan dalam aplikasi rekomendasi dokter untuk sales

berbasis mobile.

2. Aplikasi dibangun menggunakan bahasa pemrograman java untuk android

3. Aplikasi akan berjalan minimal pada sistem operasi Android 2.3

4. Perangkat yang digunakan adalah samsung galaxy mini 2.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 25: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

3

5. Untuk melakukan pencarian dokter yang bisa dikunjungi, peneliti

menggunakan metode Euclidean Distance untuk mengukur jarak profil

dokter berupa rekomendasi obat(generic) dengan profil sales obat berupa

list dari obat(generic).

6. Peneliti menggunakan algoritma K-Mean untuk mengelompokan data

dokter yang memiliki kemiripan pola rekomendasi obat.

7. Hasil pencarian dokter akan hitung tingkat akurasinya menggunakan

perhitungan information retrival dengan Recall dan Precision.

8. Karena sulitnya mendapatkan data rekomendasi dokter peneliti hanya akan

menggunakan rekomendasi dari 67 dokter di Yogyakarta.

9. Banyaknya jenis obat yang direkomendasikan oleh dokter maka peneliti

hanya akan menggunakan rekomendasi obat cari/injeksi sebanyk 109

merek.

10. Demi menjaga kode etik dokter dan rumah sakit maka dalam penelitian ini

nama rumah sakit dan nama dokter akan disamarkan.

11. Aplikasi yang dibuat hanya untuk pentingan penelitian tidak untuk

dikomersilkan.

F. Metodologi Penelitian

Langkah-langkah yang digunkan dalam penelitian ini adalah:

1. Referensi (Literatur)

Pengumpulan informasi dengan cara membaca buku , jurnal dan

mencari informasi di internet dan wawancara langsung pada sales obat

untuk menunjang latarbelakang dalam pembuatan tugas akhir.

2. Pembuatan perangkat lunak.

Peneliti memfokuskan pada proses pemerolehan informasi agar

informasi yang didapatkan menjawab masalah yang ada.

3. Pengujian unjuk kerja.

Pengujian ini dilakukan secara manual dengan mengukur tingkat

presisi dari hasil pencarian.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 26: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

4

G. 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 : METODELOGI PENELITIAN DAN ANALISIS SISTEM

Bab ini membahas bagaimana data diperoleh dan diproses menggunakan

metode tertentu. Bab ini juga akan membahas analisis sistem yang akan dibuat

secara umum

BAB IV : PERANCANGAN SISTEM DAN IMPLEMENTASI SISTEM

Bab ini membahas implementasi dalam bentuk aplikasi berdasarkan analisa

dan perancangan yang telah dilakukan.

BAB V : HASIL DAN PENGUJIAN

Bab ini membahas analisa hasil implementasi dan pengujian sistem.

BAB VI : KESIMPULAN DAN SARAN

Bab ini membahas kesimpulan dan saran dari hasil analisa sistem,

implementasi sistem dan pengujian.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 27: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

5

BAB II

LANDASAN TEORI

A. Sistem Rekomendasi

Sistem Rekomendasi atau disebut juga Recommender system merupakan

sebuah sistem yang memberikan satu atau lebih informasi yang dibutuhkan untuk

menentukan pilihan. Nilai dari Recommender system terletak pada kemampuannya

untuk mencocokkan dua hal yaitu bagian yang memproses data untuk

menghasilkan informasi-informasi yang dibutuhkan sebagai pertimbangan untuk

menentukan pilihan [Burke, 2007].

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. [Burke, 2007].

Recommender system telah diklasifikasikan ke dalam empat kategori utama

collaborative-based, content-based, knowledge-based, hybrid [Burke, 2007].

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

B. Content Based Filtering

Satu aspek yang membedakan antara information filtering dan information

retrieval adalah mengenai kepentingan pengguna. Pada information retrival

pengguna menggunakan ad-hoc queries, sedangkan pada information filtering

pengguna sudah mempunyai profil yang merepresentasikan kepentingan jangka

panjang, dan sistem mencoba memberikan kepada setiap pengguna item yang

relevan [Dai dan Mobasher, 2001].

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 28: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

6

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 [Dai dan Mobasher, 2001].

Keuntungan dari pendekatan content-based filtering adalah pengguna

mendapatkan wawasan tentang mengapa suatu item dianggap relevan untuk

pengguna, karena konten di setiap itemnya 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. Perinsip kedekatan ini menyatakan bahwa

jarak dari dua deskripsi item secara langsung berkaitan dengan kesamaan mereka

[Knappe, 2005].

C. Normalisasi

Faktor normalisasi digunakan untuk menormalkan vektor dokumen

sehingga proses retrieval tidak terpengaruh oleh panjang dari dokumen.

Normalisasi ini diperlukan karena dokumen panjang biasanya mengandung

perulangan term yang sama sehingga menaikkan frekuensi term (tf).

Dokumen panjang juga mengandung banyak term yang berbeda sehingga

menaikkan ukuran kemiripan antara query dengan dokumen tersebut,

meningkatkan peluang di-retrievenya dokumen yang lebih panjang. Beberapa

pendekatan normalisasi adalah normalisasi cosinus, penjumlahan bobot,

normalisasi ke- 4, normalisasi bobot maksimal dan normalisasi pivoted unique .

Dalam penelitian ini akan digunakan normalisasi bobot maksimal [Husni, 2010].

Normalisasi bobot maksimal suatu term i di dalam dokumen j (tfij) dapat

didefinisikan sebagai berikut:

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 29: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

7

ntf�� = tf��

Max�tf��

Diketahui:

• Tf ik merupakan frekuensi dari istilah k dalam dokumen i.

• n adalah jumlah dokumen dalam kumpulan dokumen.

• Maxj tfik adalah frekuensi istilah terbesar pada satu dokumen.

D. Uclidean Distance

Dalam matematika, euclidean distance atau adalah jarak antara dua titik

dapat diukur menggunakan formula pytagoras. Euclidean sering disebut dengan

vector obyek geometri yang memiliki panjang (magnitude) dan arah (direction).

Sedangkan ruang vektor adalah sebuah struktur matematika yang dibentuk oleh

sekumpulan vektor. Vektor-vektor tersebut dapat ditambahkan, dikalikan dengan

bilangan real dan lain-lain. [Sandi, 2010].

Berikut merupakan penyelesaian dalam menghitung jarak antara vektor A

dan vektor B. Panjang vektor A dan B dapat didefinisikan sebagai berikut:

Dengan demikian, untuk menghitung jarak antara kedua vektor tersebut

menggunakan persamaan sebagai berikut :

E. K-Mean

1. Pengertian

Jika diberikan sekumpulan data X = {x1, x2, …, xn} dimana xi = (xi1,

xi2, …, xin) adalah vector dalam ruang real Rn, maka algoritma k-means akan

mempartisi X dalam k buah cluster. Setiap cluster memiliki centroid (titik

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 30: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

8

tengah) atau mean dari data-data dalam cluster tersebut. Pada tahap awal,

algoritma k-means memilih secara acak k buah data sebagai centroid.

Kemudian, jarak antara data dan centroid dihitung menggunakan Euclidian

distance. Data ditempatkan dalam cluster yang terdekat, dihitung dari titik

tengah cluster. Centroid baru akan ditentukan bila semua data telah

ditempatkan dalam cluster terdekat. Proses penentuan centroid dan

penempatan data dalam cluster diulangi sampai nilai centroid konvergen

(centroid dari semua cluster tidak berubah lagi) [Munzir dan Taufik , 2009].

2. Teknik Metode K-Mean

K-means memilih secara acak k buah data sebagai centroid. Kemudian

menempatkan data dalam cluster yang terdekat, dihitung dari titik tengah

cluster (centroid). Centroid baru akan ditentukan bila semua data telah

ditempatkan dalam cluster terdekat. Proses penentuan centroid dan nempatan

data dalam cluster diulangi sampai nilai centroid konvergen. Gambar 1

memperlihatkan cara kerja k-means dan algoritma 1 memperlihatkan langkah-

langkah proses k-means [Munzir dan Taufik , 2009].

Algoritma 1 Proses K-Means

Input: vektor dokumen D, k

Output: k cluster dokumen

1. Pilih secara acak k vektor sebagai centroid

2. repeat

3. tempatkan data (vektor) dalam cluster atau centroid terdekat

4. hitung centroid baru dari cluster yang terbentuk

5. until centroid tidak berubah lagi

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 31: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

9

Gambar 1. Proses dari clustering

F. Pengujian sistem

Sistem IR mengembalikan sekumpulan dokumen sebagai jawaban dari

query pengguna. Terdapat dua kategori dokumen yang dihasilkan oleh sistem IR

terkait pemrosesan query, yaitu relevant documents (dokumen yang relevan

dengan query) dan retrieved documents (dokumen yang diterima pengguna).

Ukuran umum yang digunakan untuk mengukur kualitas dari text retrieval adalah

kombinasi precision dan recall.

Presisi mengevaluasi kemampuan sistem IR untuk menemukan kembali

dokumen top-ranked yang paling relevan, dan didefinisikan sebagai persentase

dokumen yang diretrieve yang benar-benar relevan terhadap query pengguna.

[Husni , 2010].

Precision =|relevant ∩ retrieved| / |retrieved

Recall mengevaluasi kemampuan sistem IR untuk menemukan semua item

yang relevan dari dalam koleksi dokumen dan didefinisikan sebagai persentase

dokumen yang relevan terhadap query pengguna dan yang diterima. [Husni ,

2010] .

Recall = |relevant ∩ retrieved| / |relevant|

G. Android

1. Pengertian

Android merupakan sistem operasi yang dikembangkan untuk perangkat

mobile berbasis Linux.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 32: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

10

2. Arsitektur Android

Sistem operasi Android dibangun berdasarkan kernel Linux dan

memiliki arsitektur seperti Gambar 2 berikut di bawah ini.

Gambar 2. Arsitektur Android

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

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

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 33: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

11

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 berfungsi mengatur daur

hidup dari aplikasi.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 34: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

12

BAB III

METODOLOGI PENELITIAN DAN ANALISIS SISTEM

A. Pengumpulan Data dan Informasi

1. Wawancara

Wawancara dilakukan untuk mengetahui kebutuhan kongkrit yang

dialami sales obat. Peneliti menemukan masalah yaitu sales obat

membutuhkan informasi rekomendasi dokter yang akurat dan bersifat real

time. Rekomendasi yang dibutuhkan adalah rekomendasi memuat informasi

terkait dokter-dokter yang memiliki kesamaan profil dengan sales.

2. Pemerolehan Data

Peneliti menggunakan rekomendasi obat dari seluruh dokter disebuah

rumah sakit swasta di Yogyakarta. Data tersebut yang memuat nama dokter,

spesialis dan merek obat-obat yang pernah direkomendasikan oleh dokter itu.

Data dokter tersebut akan diproses untuk mencari dokter-dokter yang memiliki

kemiripan profil dengan sales. Data tersebut digambarkan pada Tabel 1

berikut di bawah ini.

Tabel 1. Contoh Data Rekomendasi Obat Dokter

No Dokter Spesialis Dypirone

Dipyrone

Ceftriaxone

Ceftriaxone

Ephedrine hydrohloride

Fentanyl

Dexketoprofan

dexmedetomidine

diazepam

cefuroxime

Novalgi

Antrain

Terfacef

Bioxon

Epherin

Fentanyl

Ketese

Precedex

Valium

Anbacym

1. KS Anak 0 14 68 0 0 0 0 0 0 74

2. AP Bedah 0 5 20 0 0 0 0 0 0 9

3. NA Jantung 0 4 0 0 0 0 0 0 0 0

4. AD Jantung 0 2 0 0 0 0 0 0 0 0

5. DN Kandungan

0 4 0 0 0 0

0

0

0

0

6. BP Anak 0 0 0 2 0 0 0 0 0 0

7. WR THT 0 3 7 0 0 0 0 0 0 18

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 35: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

13

8. AW THT 4 0 0 0 0 0 0 0 0 0

Keterangan :

Nama Dokter : KS , AP , NA , AD , DN , BP , WR , AW (untuk menjaga

kode etik nama dokter disamarkan) .

Merek Obat : Novalgin , Novalgin , Terfacef , Bioxon , Ephedrin ,

Fentanyl , Ketese , Precedex ,Valium Anbacym.

Kandungan zat dalam obat (Generic) : dipyrone, ceftriaxone, ephedrine

hydrochloride + theophylline anhydrous, fentanyl, dexketoprofen,

dexmedetomidine hydrochloride, diazepam, cefuroxime.

B. Analisis Sistem

Analisis sistem adalah sebuah teknik pemecahan masalah yang memecah-

mecah sebuah sistem menjadi komponen-komponen untuk mengetahui bagaimana

komponen-komponen tersebut bekerja dan berinteraksi untuk mencapai tujuannya

[Whitten, 2004]. Dengan demikian alalisis sistem harus dilakukan agar software

yang dihasilkan dapat menyelesaikan masalah yang ada.

Aplikasi ini akan menghasilkan rekomendasi dokter untuk sales obat.

Rekomendasi dokter akan dibuat menggunakan pendekatan K-mean Clustering

dan Euclidean Similarity. K-mean Clustering digunakan untuk mengelompokan

data dokter, diasumsikan dokter dengan spesialis yang sama menawarkan obat

yang sama. Euclidean Similarity digunakan untuk mengukur kemiripan profil

pengguna dengan profil dokter dalam cluster yang terdekat.

Profil pengguna adalah obat-obat yang ditawarkan sales obat pada dokter.

Setiap obat memiliki bobot prioritas penawaran 1-4 (standard-medium-high-

highst). Bobot setiap obat dinormalisasi berdasarkan nilai bobot maksimal dari

obat yang ditawarkan.

Profil dokter memuat banyaknya jumlah obat yang direkomendasikan oleh

dokter. Obat dengan generic yang sama akan digabungkan dengan menjumlahkan

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 36: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

14

nilai dari obat tersebut kemudian dinormalisasi berdasarkan nilai bobot maksimal

generic dari seluruh dokumen (dokter).

Rekomendasi dokter akan dibentuk dengan memilih cluster dokter paling

dekat dengan profil pengguna. Profil pengguna akan diukur kedekatanya dengan

setiap anggota dalam clustrer terdekat kemudian diurutkan berdasarkan jarak

Euclidean similarity.

C. Software Requirement Analysis

Sistem ini akan berjalan pada perangkat mobile dengan sistem operasi

android minial 2.2 dan terkoneksi dengan internet. Untuk lebih jelasnya antara

lain sebagai berikut:

1. Analisis perangkat lunak yang dibutukan

a. Database : File .XLS

b. Bahasa pemrograman : Pemrograman Java Mobile untuk Android

c. Maps : Maps Api dari Google

d. Sistem operasi : Android 2.2

e. Tools : Eclipse Galileo, Android SDK , JDK1.6

2. Analisis perangkat keras yang dibutuhkan

a. Prosesor : 900 Mhz

b. Ram : 398MB

c. Storage : 1 GB

3. Arsitektur Aplikasi

Arsitektur aplikasi merupakan aplikasi yang memproses inputan berupa

profil dari pengguna yang berisi generic obat dan bobotnya. Aplikasi akan

mencari Cluster dokter dengan jarak yang paling dekat. Seluruh dokter dari

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 37: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

cluster yang paling dekat akan diurutkan berdasarkan jarak

anggota cluster dengan profil pengguna.

Pada aplikasi tersebut terdapat juga

ini memberikan layanan kepada sales obat untuk mendownload dat

dengan kebutuhan. Sehingga data dokter yang diproses dapat dirubah sesuai

kebutuhan sales. Proses dari aplikasi tersebut dapat dilihat pada Gambar 3 di

bawah ini.

4. Membuat Rekomendasi

a. Penggabungan

Penggabungan obat hanya dilakukan pada obat dengan generic yang

sama. Misalnya dokter A merekomendasikan obat dengan merek y dan

merek z, kedua obat tersebut memiliki generic yang sama yaitu

parachetamol maka obat y dan z digabungkan dengan menjumlahkan

nilai dari obat tersebut. Dengan demikian orientasi yang digunakan

sebagai profil dokter ayaitu berdasarkan generic dari obat yang

ditawarkan.

yang paling dekat akan diurutkan berdasarkan jarak similarity

dengan profil pengguna.

Pada aplikasi tersebut terdapat juga Cloud Repository. Cloud Repository

ini memberikan layanan kepada sales obat untuk mendownload dat

dengan kebutuhan. Sehingga data dokter yang diproses dapat dirubah sesuai

Proses dari aplikasi tersebut dapat dilihat pada Gambar 3 di

Gambar 3. Arsitektur Sistem

Rekomendasi Dokter

Penggabungan Obat Berdasarkan Generic

Penggabungan obat hanya dilakukan pada obat dengan generic yang

sama. Misalnya dokter A merekomendasikan obat dengan merek y dan

merek z, kedua obat tersebut memiliki generic yang sama yaitu

maka obat y dan z digabungkan dengan menjumlahkan

nilai dari obat tersebut. Dengan demikian orientasi yang digunakan

sebagai profil dokter ayaitu berdasarkan generic dari obat yang

15

similarity antara

Cloud Repository

ini memberikan layanan kepada sales obat untuk mendownload data sesuai

dengan kebutuhan. Sehingga data dokter yang diproses dapat dirubah sesuai

Proses dari aplikasi tersebut dapat dilihat pada Gambar 3 di

Penggabungan obat hanya dilakukan pada obat dengan generic yang

sama. Misalnya dokter A merekomendasikan obat dengan merek y dan

merek z, kedua obat tersebut memiliki generic yang sama yaitu

maka obat y dan z digabungkan dengan menjumlahkan

nilai dari obat tersebut. Dengan demikian orientasi yang digunakan

sebagai profil dokter ayaitu berdasarkan generic dari obat yang

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 38: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

16

Tabel 2 berikut di bawah ini merupakan contoh profil dokter

sebelum dilakukan penggabungan berdasarkan generic, dan Tabel 3 adalah

hasil penggabungan obat berdasasrkan generic.

Tabel 2. Rekomendasi Obat

No Dokter Dipyrone

Dipyrone

Ceftriaxone

Ceftriaxone

Ephedrine hydrochloride+heophylline anhydrous

Fentanyl

Dexketoprofen

Dexmedetomidine hydrochloride

Diazepam

Cefuroxime

Novalgin

Antrain

Terfacef

Bioxon

Ephedrin Fentanyl

Ketese

Precedex Valium

Anbacym

1. KS 0 14 68 0 0 0 0 0 0 74

2. AP 0 5 20 0 0 0 0 0 0 9

3. NA 0 4 0 0 0 0 0 0 0 0

4. AD 0 2 0 0 0 0 0 0 0 0

5. DN 0 4 0 0 0 0 0 0 0 0

6. BP 0 0 0 2 0 0 0 0 0 0

7. WR 0 3 7 0 0 0 0 0 0 18

8. AW 4 0 0 0 0 0 0 0 0 0

9. NH 0 4 0 0 0 0 0 0 0 0

10. PA 2 0 0 0 0 0 0 0 0 0

11. SK 3 0 3 0 0 0 0 0 0 0

12. AI 0 0 46 0 0 0 0 0 2 0

13. El 0 0 5 0 0 0 0 0 0 0

14. MJ 2 0 0 0 0 0 0 0 0 0

15. HW 0 0 0 1 0 0 0 0 0 0

16. SR 0 0 0 0 6 8 15 6 2 0

17. SD 0 0 0 0 4 6 8 3 2 0

18. RT 0 0 0 0 6 13 14 8 5 0

19. CA 0 0 0 0 3 5 8 2 1 0

20. AN 0 2 4 0 0 0 0 0 0 0

21. PW 0 0 0 0 0 0 0 0 0 10

22. AM 0 0 4 0 0 0 0 0 0 0

23. TA 0 0 8 0 0 0 0 0 0 0

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 39: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

17

Tabel 3. Hasil Penggabungan obat berdasarkan Generic

No Dokte

r

Dipy

rone

Ceftriax

one

Ephedrine

hydrochloride

+ theophylline

anhydrous

Fentan

yl

Dexketo

profen

Dexmedeto

midine

hydrochlor

ide

Diazep

am

Cefuro

xime

1. KS 14 68 0 0 0 0 0 74

2. AP 5 20 0 0 0 0 0 9

3. NA 4 0 0 0 0 0 0 0

4. AD 2 0 0 0 0 0 0 0

5. DN 4 0 0 0 0 0 0 0

6. BP 0 2 0 0 0 0 0 0

7. WR 3 7 0 0 0 0 0 18

8. AW 4 0 0 0 0 0 0 0

9. NH 4 0 0 0 0 0 0 0

10. PA 2 0 0 0 0 0 0 0

11. SK 3 3 0 0 0 0 0 0

12. AI 0 46 0 0 0 0 2 0

13. El 0 5 0 0 0 0 0 0

14. MJ 2 0 0 0 0 0 0 0

15. HW 0 1 0 0 0 0 0 0

16. SR 0 0 6 8 15 6 2 0

17. SD 0 0 4 6 8 3 2 0

18. RT 0 0 6 13 14 8 5 0

19. CA 0 0 3 5 8 2 1 0

20. AN 2 4 0 0 0 0 0 0

21. PW 0 0 0 0 0 0 0 10

22. AM 0 4 0 0 0 0 0 0

23. TA 0 8 0 0 0 0 0 0

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 40: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

18

Keterangan:

Dokter : KS , AP , NA , AD , DN , BP , WR , AW , NH , PA , SK , AI ,

MJ , HW , SR , SD , RT , CA , AN , PW , AM , TA

Merek Obat : novalgin, antrain , terfacef, bioxon , ephedrine , fentanyl ,

ketese , precede, valium , anbacym

Generic : dipryone ,Ceftriaxone , ephedrine , dexketropof , dexemd ,

diazepam , ceforoxi

b. Normalisasi Profil Dokter

Normalisasi pada profile dokter dilakukan dengan menggunakan

normalisasi bobot maksimal suatu term i di dalam dokumen j (tfij).

Tabel 4 berikut di bawah ini merupakan hasil normalisasi dari Tabel

3 dengan perhitungan menggunakan rumus berikut:

. ntf�� = � ��

����� ��

Diketahui:

o Tf ik merupakan frekuensi dari istilah k dalam dokumen i.

o n adalah jumlah dokumen dalam kumpulan dokumen.

o Maxj tfik adalah frekuensi istilah terbesar pada satu dokumen.

Tabel 4. Normalisasi Bobot Generic

No Dokter

Dipy

rone

Ceftriax

one

Ephedrine

hydrochlorid

e+

theophylline

anhydrous

Fentanyl Dexketo

profen

Dexmedeto

midine

hydrochlor

ide

Diazepa

m

Cefuro

xime

1. KS 1 1 0 0 0 0 0 1

2. AP 0.4 0 0 0 0 0 0 0.1

3. NA 0.3 0 0 0 0 0 0 0

4. AD 0.1 0 0 0 0 0 0 0

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 41: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

19

5. DN 0.3 0 0 0 0 0 0 0

6. BP 0 0 0 0 0 0 0 0

7. WR 0.2 0 0 0 0 0 0 0.2

8. AW 0.3 0 0 0 0 0 0 0

9. NH 0.3 0 0 0 0 0 0 0

10. PA 0.1 0 0 0 0 0 0 0

11. SK 0.2 0 0 0 0 0 0 0

12. AI 0 1 0 0 0 0 0.4 0

13. El 0 0 0 0 0 0 0 0

14. MJ 0.1 0 0 0 0 0 0 0

15. HW 0 0 0 0 0 0 0 0

16. SR 0 0 1 0.62 1 1 0.4 0

17. SD 0 0 1 0.46 0.533 0 0.4 0

18. RT 0 0 1 1 0.933 1 1 0

19. CA 0 0 1 0.38 0.533 0 0.2 0

20. AN 0.1 0 0 0 0 0 0 0

21. PW 0 0 0 0 0 0 0 0.1

22. AM 0 0 0 0 0 0 0 0

23. TA 0 0 0 0 0 0 0 0

c. Membuat Cluster Dokter

Berikut ini digambarkan rangkaian proses dalam pembentukan

cluster dengan algoritma k-mean.

1) Mengambil sejumlah k dari nilai data sebagai pusat cluster dengan

data awal pada Tabel 4, sehingga diperoleh pusat cluster seperti pada

Tabel 5 berikut di bawah ini.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 42: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

20

Tabel 5. Centroid Awal

No

Dip

yro

ne

Ceftria

xone

Ephedrine

hydrochlorid

e+theophylli

ne anhydrous

Fenta

nyl

Dexketo

profen

Dexmedetom

idine

hydrochloride

Diazep

am

Cefurox

ime

C1 1 0.1 0 0.3 0.2 0.2 0.4 0

C2 0 0.5 0.6 0.5 0.5 0.7 0.2 0

C3 0.1 0.3 0.8 0.1 0 0.3 0.8 0

2) Menghitung Euclidian distance data dengan tiap pusat cluster

kemudian ambil yang jaraknya paling kecil (dekat).

Contoh perhitungan :

SQRT((1-1)^2+(1-0.05)^2+(0-0.2)^2+(0-0.3)^2+(0-0.2)^2+(0-

0.2)^2+(0-0.4)^2+(1-0.12)^2)= 1.417

Hasil dari perhitungan Euclidian distance dapat dilihat seperti

Tabel 6 di bawah ini.

Tabel 6. Iterasi Pertama

ID C1 C2 C3

1 1.417 1.8 1.20869718 C1

2 0.896 1.3 1.22657645 C1

3 0.926 1.3 1.21319279 C1

4 1.04 1.3 1.22657645 C1

5 0.926 1.3 1.20963548 C1

6 1.16 1.3 1.22108996 C1

7 0.983 1.3 1.22657645 C1

8 0.926 1.3 1.22657645 C1

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 43: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

21

9 0.926 1.3 1.21319279 C1

10 1.04 1.3 1.20769905 C1

11 0.981 1.3 1.02553893 C1

12 1.256 1.2 1.20053693 C3

13 1.16 1.3 1.21319279 C1

14 1.04 1.3 1.21300978 C1

15 1.16 1.3 1.32970722 C1

16 1.749 0.9 0.83579739 C3

17 1.276 0.7 1.53333333 C2

18 2.011 1.3 0.95809726 C3

19 1.195 0.7 1.20000118 C2

20 1.039 1.3 1.22403493 C2

21 1.154 1.3 1.20339773 C2

22 1.16 1.3 1.19300151 C3

23 1.161 1.3 1.21655251 C2

3) Pengelompokan data

Pengelompokan dilakukan berdasarkan jarak euclidean terkecil

dari data terhadap pusat cluster. Iterasi pada Tabel 7 merupakan

menunjukkan data sebagai anggota cluster sementara.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 44: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

22

Tabel 7. Anggota Cluster Iiterasi Pertama

C1 (Iterasi 1)

Dokt

er

Dipyro

ne

Ceftriax

one

Ephedrine

hydrochlorid

e+

theophylline

anhydrous

Fentanyl Dexketopr

ofen

Dexmedetomi

dine

hydrochloride

Diazep

am

Cefuroxi

me

KS 1 1 0 0 0 0 0 1

AP 0.36 0.3 0 0 0 0 0 0

NA 0.29 0 0 0 0 0 0 0

AD 0.14 0 0 0 0 0 0 0

DN 0.29 0 0 0 0 0 0 0

BP 0 0 0 0 0 0 0 0

WR 0.21 0.1 0 0 0 0 0 0

AW 0.29 0 0 0 0 0 0 0

NH 0.29 0 0 0 0 0 0 0

PA 0.14 0 0 0 0 0 0 0

SK 0.21 0 0 0 0 0 0 0

El 0 0.1 0 0 0 0 0 0

MJ 0.14 0 0 0 0 0 0 0

HW 0 0 0 0 0 0 0 0

Rata2 0.24 0.11 0 0 0 0 0 0.071

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 45: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

23

C2

Dokte

r

Dipyro

ne

Ceftriaxo

ne

Ephedrine

hydrochlori

de+

theophylline

anhydrous

Fentanyl Dexketopro

fen

Dexmedetomi

dine

hydrochloride

Diazepa

m

Cefuroxi

me

SD 0 0 0.66666

7 0.4615 0.53 0.38 0.4 0

CA 0 0 0.5 0.3846 0.53 0.25 0.2 0

AN 0.14 0.1 0 0 0 0 0 0

PW 0 0 0 0 0 0 0 0

TA 0 0 0 0 0 0 0 0

Rata

2 0.028 0.02

0.233333

4

0.1692

32 0.213 0.126 0.12 0

C3

Dokte

r

Dipyro

ne

Ceftriaxo

ne

Ephedrine

hydrochlori

de+

theophylline

anhydrous

Fentanyl Dexketopro

fen

Dexmedetomi

dine

hydrochloride

Diazepa

m

Cefuroxi

me

AI 0 0.7 0 0 0 0 0.4 0

SR 0 0 1 0.6154 1 0.75 0.4 0

RT 0 0 1 1 0.93 1 1 0

AM 0 0.1 0 0 0 0 0 0

Rata

2 0 0.2 0.5

0.4038

45 0.483 0.438 0.45 0

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 46: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

24

4) Membuat Centroid Baru

Setelah iterasi dilakukan buatlah centroid baru dengan menghitung

nilai rata-rata index dari setiap cluster yang terbentuk. Ulangi langkah

ke-2 sampai tidak terjadi perubahan anggota kelompok dalam iterasi

berikutnya.

Tabel 8. Centroid Kedua

c1 0.24 0.11 0 0 0 0 0 0.071

c2 0.028 0.02 0.2333334 0.169232 0.213 0.126 0.12 0

c3 0 0.2 0.5 0.403845 0.483 0.438 0.45 0

Tabel 9. Iterasi Kedua

1 1.4942 1.750428001 1.9185968 C1

2 0.224 0.597562975 1.09188582 C1

3 0.1387 0.475006146 1.07826079 C1

4 0.163 0.415218435 1.04948646 C1

5 0.1387 0.475006146 1.07826079 C1

6 0.2629 0.399608267 1.03446316 C1

7 0.1743 0.509473323 1.07495104 C1

8 0.1387 0.475006146 1.07826079 C1

9 0.1387 0.475006146 1.07826079 C1

10 0.163 0.415218435 1.04948646 C1

11 0.1002 0.440565788 1.05414959 C1

12 0.7372 0.809043768 1.03345919 C1

13 0.2529 0.403067716 1.02810918 C1

14 0.163 0.415218435 1.04948646 C1

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 47: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

25

15 0.2678 0.399532493 1.03698967 C1

16 1.7821 1.369249456 0.83759889 C3

17 1.1477 0.719229545 0.28298171 C3

18 2.2239 1.826473423 1.21089834 C3

19 0.9272 0.492895962 0.3751228 C3

20 0.1308 0.416549655 1.03988107 C1

21 0.2717 0.422208112 1.04846325 C1

22 0.2555 0.401379436 1.03002159 C1

23 0.2504 0.411257989 1.02361891 C1

Tabel 10. Anggota Cluster Iterasi Kedua

C1

Dokter

Dipyrone Ceftriaxone

Ephedrine hydrochloride+ theophylline anhydrous

Fentanyl

Dexketoprofen

Dexmedetomidine hydrochloride

Diazepam

Cefuroxime

KS 1 1 0 0 0 0 0 1

AP 0.36 0.3 0 0 0 0 0 0

NA 0.29 0 0 0 0 0 0 0

AD 0.14 0 0 0 0 0 0 0

DN 0.29 0 0 0 0 0 0 0

BP 0 0 0 0 0 0 0 0

WR 0.21 0.1 0 0 0 0 0 0

AW 0.29 0 0 0 0 0 0 0

NH 0.29 0 0 0 0 0 0 0

PA 0.14 0 0 0 0 0 0 0

SK 0.21 0 0 0 0 0 0 0

AI 0 0.71 0 0 0 0 0.4 0

El 0 0.1 0 0 0 0 0 0

MJ 0.14 0 0 0 0 0 0 0

HW 0 0 0 0 0 0 0 0

AN 0.14 0.1 0 0 0 0 0 0

PW 0 0 0 0 0 0 0 0

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 48: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

26

AM 0 0.1 0 0 0 0 0 0

TA 0 0 0 0 0 0 0 0

Rata

2

0.184210

526

0.12684

211 0 0 0 0 0.02 0.053

C2

Tidak memiliki anggota

C3

Dokter

Dipyrone

Ceftriaxone

Ephedrine hydrochloride+ theophylline anhydrous

Fentanyl Dexketoprofen

Dexmedetomidine hydrochloride

Diazepam

Cefuroxime

SR 0 0 1 0.6153

8

1 0.75 0.4 0

SD 0 0 0.666667 0.4615

4

0.533 0.38 0.4 0

RT 0 0 1 1 0.933 1 1 0

CA 0 0 0.5 0.3846

2

0.533 0.25 0.2 0

AV

G

0 0 0.7916667

5

0.6153

85

0.74975 0.595 0.5 0

Tabel 11. Centroid Ketiga

Centroid 3

C1 0.184210526 0.12684211 0 0 0 0 0.02 0.53

C3 0 0 0.79166675 0.615385 0.74975 0.595 0.5 \0

Karena C2 tidak memiliki anggota maka tidak ada centroid untuk C2.

Tabel 12. Iterasi Ketiga

1 1.2842 2.274111915 c1

2 0.4744 1.549333093 c1

3 0.5547 1.501072169 c1

4 0.5469 1.480538134 c1

5 0.5547 1.501072169 c1

6 0.5698 1.473923355 c1

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 49: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

27

7 0.29 1.512371493 c1

8 0.5547 1.501072169 c1

9 0.5547 1.501072169 c1

10 0.5469 1.480538134 c1

11 0.5376 1.489781775 c1

12 0.8725 1.545702902 c1

13 0.564 1.475463174 c1

14 0.5469 1.480538134 c1

15 0.5725 1.473703249 c1

16 1.8484 0.374236296 c3

17 1.2481 0.380170951 c3

18 2.2721 0.799411835 c3

19 1.0527 0.627841765 c3

20 0.5363 1.481706238 c1

21 0.4542 1.479812998 c1

22 0.5656 1.474803448 c1

23 0.5615 1.478318583 c1

Pada iterasi ke-3 ini anggota dari setiap kelompok sudah tidak

berubah maka perhitungan dihentikan .

d. Normalisasi Bobot Profil Pengguna (query)

Normalisasi bobot untuk proifil pengguna didasarkan pada bobot

maksimal dari seluruh oba. Nilai setiap obat dibagi dengan nilai maksimal

dari seluruh obat yang akan ditawarkan.

Dipy

one

Ceftr

iaxo

ne

Ephedrine

hydrochloride+

theophylline

anhydrous

Fen

tan

yl

Dexke

toprof

en

Dexmedeto

midine

hydrochlor

ide

Diaze

pam

Cefuro

xime

Qu

ery 3 3 2 0 0 4 1 1

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 50: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

28

Menghitung nilai bobot normal dilakukan dengan cara membagin

nilai obat dengan nilai obat terbesar misalnya untuk index dipyrone

memiliki bobot 3 kemudian dinormalkan menjadi ¾ = 0.75. berikut adalah

hasil normalisasi query.

e. Mencari Cluster Terdekat

Menghitung jarak setiap pusat cluster dengan query yang telah

dinormalisasi menggunakan Euclidean distance. Pilih cluster dengan

jarak terkecil. Berikut adalah contoh pusat cluster, bisadilihat pada Tabel

13 di bawah ini.

Tabel 13. Pusat cluster

Tabel 14. Contoh Profil Pengguna (Query)

Berikut adalah jarak Euclidean query dengan pusat cluster. Tabel 15.

Dipyrone

Eftriaxone

Ephedrine hydrochloride+ theophylline anhydrous

Fentanyl

Dexketoprofen

Dexmedetomidine hydrochloride

Diazepam

Cefuroxime

Query

0.75 0 0 0 0 1 0.25 0.25

Dipyrone

Ceftriaxone

ephedrine hydrochloride+ theophylline anhydrous

Fentanyl

Dexketoprofen

Dexmedetomidine hydrochloride

Diaz

pam

Cefuroxime

Centroid 1

0.1842 0.12684 0 0 0 0 0.02

0.53

Centroid 2

0 0 0.79166675

0.615385

0.74975 0.595 0.5 0

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 51: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

29

Tabel 15. Jarak Query Dengan Cluster (contoh)

Cluster 1 1.445594509

Cluster 3 1.562023769

Berdasarkan jarak Euclidean Cluster 1 yang merupakan cluster terdekat.

f. Rangking Dokter Berdasarkan Jarak Similarity

1. Diasumsikan arrDokter adalah cluster dengan jarak terdekat

dengan profil pengguna.

2. Ukur jarak euclidean profil pengguna terhadap seluruh anggota

arrDokter.

3. Urutkan anggota dalam arrDokter berdasarkan jarak Euclidean

secara descending.

Tabel 16 Anggota dari cluster yang terdekat

Dokter

Dipyrone

Ceftriaxone

Ephedrine hydrochloride+ theophylline anhydrous

Fentanyl

Dexketoprofen

Dexmedetomidine hydrochloride

Diazepam

Cefuroxime

KS 1 1 0 0 0 0 0 1

AP 0.36 0.3 0 0 0 0 0 0

NA 0.29 0 0 0 0 0 0 0

AD 0.14 0 0 0 0 0 0 0

DN 0.29 0 0 0 0 0 0 0

BP 0 0 0 0 0 0 0 0

WR 0.21 0.1 0 0 0 0 0 0

AW 0.29 0 0 0 0 0 0 0

NH 0.29 0 0 0 0 0 0 0

PA 0.14 0 0 0 0 0 0 0

SK 0.21 0 0 0 0 0 0 0

AI 0 0.71 0 0 0 0 0.4 0

El 0 0.1 0 0 0 0 0 0

MJ 0.14 0 0 0 0 0 0 0

HW 0 0 0 0 0 0 0 0

AN 0.14 0.1 0 0 0 0 0 0

PW 0 0 0 0 0 0 0 0

AM 0 0.1 0 0 0 0 0 0

TA 0 0 0 0 0 0 0 0

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 52: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

30

Tabel 17. Pengurutan Dokter Berdasarkan Jarak Similarity

D. Metode Pengujian Recall dan Precision

Precision adalah proporsi dari suatu set yang diperoleh yang relevan

Precision =|relevant ∩ retrieved| / |retrieved|

Recall adalah Proporsi dari semua dokumen yg relevan di koleksi yang

diperoleh: Recall = |relevant ∩ retrieved| /|relevant|

1. Contoh Perhitungan Recall dan Precision

Tabel 18 Tabel Relevansi Hasil Pencarian

Dokter1 Dokter2 Dokter3 Dokter4 Dokter5 Dokter6 Dokter7

Query

1 Relevan

Not

Relevan Relevan Relevan

Not

Relevan Relevan Relevan

Query

2 Relevan

Not

Relevan

Not

Relvan Relevan Relevan

Not

Relevan

Not

Relevan

Dokter Jarak

KS 1.2842 AP 0.585

NA 0.5555

AD 0.5471

DN 0.5555

BP 0.5756

WR 0.5317

AW 0.5555 NH 0.5555

PA 0.5471

SK 0.5459

AI 0.894 El 0.5621

MJ 0.5471

HW 0.5756 AN 0.5329

PW 0.5756

AM 0.5621

TA 0.5756

Dokter Jarak

KS 1.2842

AI 0.894

AP 0.585

BP 0.5756

HW 0.5756

PW 0.5756

TA 0.5756

El 0.5621

AM 0.5621

NA 0.5555

DN 0.5555

AW 0.5555

NH 0.5555

AD 0.5471

PA 0.5471

MJ 0.5471

SK 0.5459

AN 0.5329

WR 0.5317

Setelah

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 53: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

Contoh: hasil pencarian didapat 7 dokter dan 5 dokter yang relevan

Tabel 19

Query 1

recall 1/5=0.2 1/5=0.2

prec 1/1=1 ½=0.5

Query 2

recall 1/3=0.33 1/3=0.33

prec 1/1=1 ½=0.5

Tabel 20

Grafik 1 menunjukan index 1

0.6 ini menunjukan tingkat akurasi cukup baik.

recall 0 0.1 0.2

Query1 1 1 1

Query2 1 1 1

Rata2 1 1 1

Contoh: hasil pencarian didapat 7 dokter dan 5 dokter yang relevan

19 Perhitungan Recal Dan Precission (contoh)

1/5=0.2 2/5=0.4 3/5=0.6 3/5=0.6 4/5=0.8

½=0.5 2.4=0.6666 ¾=0.75 3/5=0.6 4/6=0.666

1/3=0.33 1/3=0.33 2/3=0.66 3/3=1 3/3=1

½=0.5 1/3=0.33 2/4= 0.5 3/5=0.6 3/6=0.5

20 Perhitungan Averge Precision (contoh)

Grafik 1. Contoh Recall Precision

Grafik 1 menunjukan index 1-4 berada di titik i 0.8 -1 dan index 5

menunjukan tingkat akurasi cukup baik.

0.3 0.4 0.5 0.6 0.7 0.8 0.9

0.75 0.75 0.75 0.75 0.7142 0.7142 0.7142

1 0.6 0.6 0.6 0.6 0.6 0.6

0.88 0.68 1 0.68 0.657 0.657 0.657

31

Contoh: hasil pencarian didapat 7 dokter dan 5 dokter yang relevan

5/5=1

5/7=0.7142

3/3=1

3/7=0.42

1 dan index 5-11 titik

0.9 1

0.7142 0.7142

0.6 0.6

0.657 1

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 54: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

32

BAB IV

PERANCANGAN SISTEM DAN IMPLEMENTASI

A. Diagram Use case

Gambar 4. Diagram Usecase

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 55: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

33

B. Diagram Sekenario

1. Input Profile Sales

Aktor : MedRep

Kondisi awal : Medrep sudah masuk ke halaman input profileuser

Kondisi akhir : Data profil bertambah

1. Medrep menginputkan generic

dengan memilih combobox

MedRep menginputkan nilai

bobot dari inputan

(low,medium,high,higst)

kemudian sentuh tombol

tambahkan,

2. Ulangi langkah 1 jika

diperlukan.

3. Sistem akan menyimpan profile medrep , profile ini akan digunakan sebagai query

2. Hapus Profil Item

Actor : MedRep

Kondisi awal : Mederp sudah masuk kehalaman profil dan profil tidak

kosong

Kondisi akhir : Medrep berhasil menghapus generic obat yang dipilih.

1. Medrep memilih generic obat yang

akan dihapus dengan cara touch

nama generic

2. Medrep menekan tombol Yes

3. Sistem akan menampilkan

konfirmasi

4. Sistem akan menghapus

Generic tersebut

3. Cari Rekomendasi

Aktor : MedRep

Kondisi awal : Medrep sudah menginputkan profilnya.

Kondisi akhir : MedRep mengetahui dokter-dokter mana saja yang bisa

dikunjungi.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 56: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

34

1.Medrep masuk kehalaman cari

rekomendasi dokter

2.Sistem mencari dokter yang

memungkinkan untuk dikunjungi

Medrep. sistem akan menampilkan

seluruh dokter dari kelompok yang

memilijarak terdekat dengan profil

sales . kemudian nama-nama dokter

dalam kelompok tersebut akan

ditampilkan secara terurut berdasarkan

tingkat kemiripanya

4. Melihat Profil Dokter

Aktor : MedRep

Kondisi awal : Diasumsikan MedRep Sudah melakukan Case Cari

Rekomendasi dan hasil pencarian dokter telah ditampilkan.

Kondisi akhir : medrep mendapatkan informasi detail terkait dokter

tersebut

1. Medrep touch nama

dokter

2. Sistem menampilkan halaman profil

dokter yang memuat data profil dokter

yang dimaksud berupa nama ,spesialis dan

rekaman data rekomendasi obat

5. Manajemen File Dokter (Sales)

Actor : Admin

Kondisi awal : admin sudah mendownload file profildokter.xls untuk

bulan tertentu

Kondisi akhir : admin berada di halaman admin sistem

1. Medrep kelakukan touch menu

pada ponsel kemudian touch seting

data

2. Medrep memasukan alamat file

tersebut berada kemudian touch

tombol proses data

3. Sistem akan menampilkan halaman

seting data

4. Sistem akan melakukan proses data jika

proses berhasil maka akan muncul

notifikasi jika tidak berhasil maka

sistem akan tertutup

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 57: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

35

a. Download file dokter

Actor : Medrep

Kondisi Awal : Medrep sudah berada di halaman

download

Kondisi Akhir : File terdowload

1. Medrep memilih file yang akan

didownload

2. Sistem akan mendownload file yang

dipilih

6. Login Admin

Actor : Admin

Kondisi awal : admin berada di halaman login

Kondisi akhir : admin berada di halaman admin sistem

1. Admin mengunjungi web admin control

kemudian memasukan id dan password

2. Sistem akan memproses id dan

password jika benar maka sistem akan

menampilkan halaman admin control

7. Management File Dokter ( Admin )

Actor : Admin

Kondisi Awal : Admin sudah berada di halaman upload dan file

profiledokter.xls sudah sesuai dengan format yang ada.

1. Medrep memilih file yang akan

diupload kemudian klik upload

2. Sisem akan mengupload file ke

repository

a. Hapus File Data Dokter

Actor : Admin

Kondisi Awal : Admin sudah berada di halaman Hapus

File

1. Medrep memilih file yang akan

dihapus kemudian klik tombol hapus

3. MedRep klik tombol Yes

2. Sisem akan menampilkan

konfirmasi

4. Sistem menghaus file

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 58: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

36

b. Edit Deskripsi File Data Dokter

Actor : Admin

Kondisi Awal : Admin sudah berada di halaman Edit

Deskripsi

1.Medrep memilih file yang akan

di edit

3. MedRep mengetikan deskripsi

yang baru

2.Sisem akan menampilkan

deskripsi file

4.Sistem mengupdate

deskripsi file

C. Diagram Aktivitas

1. Saat Aplikasi Dijalankan

Gambar 5. Diagram Aktivitas Saat Aplikasi dijalankan

MedRep System

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 59: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

37

2. Cari rekomendasi

Gambar 6. Diagram Aktivitas saat Proses Cari Rekomendasi

3. Input Profile Sales

MedRep System

Gambar 7. Diagram Aktivitas Input Profil Sales

MedRep System

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 60: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

38

4. Hapus Item Profile

Gambar 8. Diagram Aktivitas Hapus Item Profile

5. Melihat Profil MedRep

Gambar 9. Diagram Aktivitas Melihat Profil MedRep

MedRep System

MedRep System

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 61: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

39

6. Download File Rekomendasi Dokter

7. Merubah File List Dokter Yang Diakses

Gambar 10. Diagram Aktivitas Download File Dokter

MedRep System

Gambar 11. Diagram Aktivitas Meribah file list dokter yang diakses

MedRep System

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 62: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

40

8. Tambah File

Diasumsikan sudah login

9. Edit Deskripsi File

Gambar 12. Diagram Aktivitas Tambah File

Gambar 13. Diagram Aktivitas Edit Deskripsi File

MedRep System

MedRep System

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 63: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

41

10. Hapus File

D. Diagram Model View Controler (MVC)

1. Struktur MVC Kelas Boundary, Contorl dan Entity

MODEL

Rekomendasi_Obat_model.java Dokter_model.java ProfilSales_Model.java Olahan_data.java TempDokterModel,java TempResModel.java

CONTROL RelasiKontroler.java

View WebDownload_activity.java Profil_sales_Activity.java Provil_sales_view_activity.java RekomendasiDokterActivity.java Similarity_Controler_activity.java

Gambar 14. Diagram Aktivitas Hapus File

MedRep System

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 64: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

42

2. Diagram Analisis Kelas (Model View Controler)

Gambar 15. Diagram Analisis Kelas

SimilarityControleractivit

y.java

RelasiKontroler.java

Rekomendasi_Obat_model.

java

ProfilSales_Model.java

Dokter_model.java

Olahan_data.java

TempResModel.j

WebDownload_activity.java

Profil_sales_Activi

ty.java

Profil_sales_view_act

ivity.java

RekomendasiDokterActivity.ja

va

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 65: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

43

3. Diagram Kelas (Aplikasi Android)

Gambar 16. Diagram Kelas

4. Diagram Kelas (Web Admin)

Gambar 17. Diagram Kelas (Web Admin)

ferifikasiLogin.php

loginAdmin.php

Logout.php

HomeAdmin.php

FormAddFile.php

FormDelete.php

FormKonfirmasiHapus.p

FormEditDeskripsi.php

EditForm.php

Conection.php

Controler.php

Dokter_Model.ja

Profil_Sale Rekomend Similarity_Co

Profil_sales_Activ

TempResModel.

WebDownloadA

Index.php

Rekomendasi_O

ProfilSales_Model.java

RelasiKontroler.java

Dokter_Model.ja

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 66: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

44

5. Diagram Kelas Detail

a. Model

Dokter_Model.java

-Nama String

-Spesialis :String

-Clusster: int

-rekomendasiObat : List< -Rekomendasi_obat_model >

<<consuctor>> DokterModel() :void

+getCluster() : int

+getNama() :String

+getRekomendasi() : +Rekomendasi_obat_model

+getSpesialis() : String

--Set Method--

ProfilSales_Model.java

+Bobot : double

+BobotText : String

+Generic : String

<<consuctor>> ProfilSales_Model () :void

+getBobot() :double

+getBobotText() :String

+getGeneric() : String

--Set Method--

Olahan_Data_Model.java

Bobot Generic: double[]

Generic : String[]

<<consuctor>>

Olahan_Data_Model () :void

+getBobotGeneric() :double

+getGeneric() : String

--Set Method--

Rekomendasi_obat_Model.java

-BobotObat : double[]

-Generic : String[]

-Obat : String[]

olahanData : Olahan_Data_Model

<<consuctor>> Olahan_Data_Model () :void

+getBobotGeneric() :double

+getGeneric() : String

+getObat() : void

+getOlahanData() : Olahan_Data_Model

TempResModel.java

+Centroid: int[][]

+Generic: String

+Status : boolean

<<consuctor>> TempResModel() :void

--Set Method--

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 67: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

45

Profil_sales_activity.java

File_Name : String

File_profile : String

File_TempDokter

ProfilSales : List<ProfilSales_Model>

dokterM : DokterModel []

resourceTemp : TempResModel

textInput : AutoCompleteTextView

rg : Radio Group

textMessage : TextView

list_Image = Integer[]

main.xml = view

profilsalesinput.xml = view

onCreate(Bundle) : void

onCreateOptionMenu() : Boolean

onOptionItemSelected():Boolean

okChangeData(): Boolean

onBackPressed(): void

profSalesView(): void

simpanItem(): void

getResult() : void

profSales(): void

getWebDownload() : void

home() : void

keluar() : void

RekomendasiDokter_activity.java

File_Name : String

File_profile : String

File_TempDokter

fosDokter : FileOutputStream

fosCentroid : FileOutputStream

fosProfile: FileOutputStream

t : TextView

p : dokterModel[]

p2:TempResModel

list_Image = Integer[]

main.xml = view

<consuctor> TempResModel(): void

onCreate(Bundle) : void

onCreateOptionMenu() : Boolean

onOptionItemSelected():Boolean

updateData (String): Boolean

cekProfile():void

cekTemp():void

createTemp():void

onBackPressed(): void

getResult() : void

profSales(): void

getWebDownload() : void

home() : void

keluar() : void

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 68: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

46

Profil_sales_view_activity.java

File_Name : String

File_profile : String

File_TempDokter : Sting

t : TextView

listP : ListView

todoItems: ArrayList<String>

resourceTemp : TempResModel

list_Image = Integer[]

profilsalesiview.xml = view

emptyprofile.xml = view

onCreate(Bundle) : void

onBackPressed(): void

onCreateOptionMenu() : Boolean

onOptionItemSelected():Boolean

okChangeData(): Boolean

cekProfile():boolean

delete(int):void

hapusKonfirmasi(int):void

inputProfile(view):void

menu(int): void

profSakesView():void

showList():void

getResult() : void

profSales(): void

getWebDownload() : void

home() : void

keluar() : void

WebDownoload_Activity.java

List_Image : Int[]

webView : WebView

onCreate(Bundle) : void

onBackPressed(): void onCreateOptionMenu() : Boolean

onOptionItemSelected():Boolean

okChangeData(): Boolean

getResult() : void

profSales(): void

getWebDownload() : void

home() : void

keluar() : void

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 69: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

47

b. Controler

Kelas View

SImiraty_Controler_Activity.java

File_Name : String

File_profile : String

File_TempDokter

resDistance : double[]

STATUSDETAIL : Bolean

profilSales : List<ProfilSales_Model>

profilSalesResult : List<ProfilSales_Model>

listDokter : Dokter_Model[]

todoItems : ArrayList<String>

myListView : ListView

myListView Detail: ListView

t : TextView

profilQuery : new double[61]

clusterResult :int

dokList : Dokter_Model[]

context :Context

list_Image = Integer[]

resultsimilarity.xml = view

dokterdetailprofile = view

<consuctor> TempResModel(): void

onCreate(Bundle) : void

onBackPressed(): void

onCreateOptionMenu() : Boolean

onOptionItemSelected():Boolean

okChangeData(): Boolean

BubleShort(): void

getDokterLIstResult() : void

getResource():void

getSimilarity():

normalitationQuery(): void

setting Query(): void

Relasi_Kontroler.java

listAllDokter : Dokter_Model[]

centroid : double[][]

jumlahAnggotaCluster : int[]

iteration : int

listDokter = dokterModel[]

<constructor> Relasi_Kontroler(InputStream, InputStream): void

ClusterHelper(Dokter_Model[], double[][]): void

createIteration(double[][]): DokterModel[]

getCentroid(Dokter_Model): double[][]

getCentroidAwal(InputStream): double[][]

getDataNormalitation(Dokter_Model[],String[]) : Dokter_Model[]

getGeneric(): String[]

Information_Retrival_kontroler(Dokter_Model[], double[]): void

setDataDokter(InputStream): void

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 70: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

48

Detail Diagram kelas PHP

ferifikasiLogin.php

Id : var POST

Password : var (md5) POST

Ferifikasi()

LoginAdmin.php

Id : var

Password : var (md5)

Include ferLogin.php

controler.php

Id : var SESSION

Password : var (md5)SESSION

idSelectedMenu : var

tambahFileRekomendasi ()

hapusFileRekomendasi ()

editDeskripsiFileRekomendasi ()

formaddFile.php

File : File

Deskripsi : Text

formDelete.php

IdFile : number

Hapus : button

formEditDeskpripsi.php

IdFile : number

Link edit

Logout.php

Destroy_session()

formkonfirmasiHapus.php

Id : int

Status_konfirmasi:text

formEdit.php

Id : int

deskripsi: textArea

Update : button

HomeAdmin.php

Link EditDeskripsi

Link AddFile

Connection.php

Mysql_connection()

Index.php

Link Download

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 71: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

49

Detail File properties XML

emptyProfile.xml

Galery3: Galery

txSistemEmpty: TextView

resultsimilarity.xml

Galery5: Galery

txSistem: TextView

textViewResultSimilarity :

TextView

listDokterResult : LIstView profilsalesinput.xml

Galeryx : Galery

txSistem : TextView

textInput : AutoCompleteTextView

groupPointGeneric : RadioGroup

radio1: RadioButton

radio2: RadioButton

radio3: RadioButton

radio4: RadioButton

but_simpan : Button

txMessage: TextView

webView.xml

GaleryWeb: Galery

webView1 : WebView

dokterdetailprofil.xml

Galery6: Galery

txSistem: TextView

TVdetailDokter : TextView

listDokterResultDetail : LIstView

Main.xml

Galery5 : Galery

txSistem : TextView

txMe : TextView

profilsalesview.xml

Galery4 : Galery

txSistem : TextView

myLIstView :ListView

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 72: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

50

E. Diagram Sequence

1. Saat Plikasi Dijalankan

Diasumsikan file rekomendasi dokter belum dicluster

Gambar 18. Diagram Sequence Saat Aplikasi Dijalankan

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 73: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

51

2. Cari Rekomendasi

Gambar 19. Diagaram Sequence Cari Rekomendasi

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 74: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

52

3. Input Profile Medrep

Gambar 20. Diagram Sequence Input Profile Medrep

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 75: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

53

4. Lihat Profile Sales

Gambar 21. Diagram Sequence Lihat Profil Sales

5. Hapus Item Profile

Gambar 22. Diagram Sequence hapus Item Profile

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 76: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

54

6. Download File Rekomendasi Dokter

Gambar 23. Diagram Sequence Download File Rekomendasi Dokter

7. Merubah File List Dokter Yang Diakses

Gambar 24. Diagram Sequence Merubah File ListDokter Yang Diakses

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 77: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

55

8. Tambah File

Gambar 25. Diagram Sequence Tambah File

9. Edit Deskripsi File

Gambar 26. Diagram Sequence Edit Deskripsi

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 78: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

56

10. Hapus File

Gambar 27. Diagram Sequence Hapus File

F. Model Penyimpanan Data

Aplikasi ini tidak menggunakan RDBMS seperti MySql atau SQLite dengan

tujuan untuk mempercepat proses perhitungan maka digunakan sistem basisdata

berbasis objek yang disimpan dalam file yang terpisah untuk setiap obeknya.

File Resource :

1. dataDokter.xls digunakan sebagai sumber data atau data mentah yang

memuat rekaman rekomendasi.

2. Centroid .txt memuat centroid awal.

Berikut adalah kelas model yang objeknya disimpan dalam file :

ProfilSales_Model.java

-Bobot : double

-BobotText : String

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 79: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

57

Objek ArrayList dari ProfilSales_model akan disimpan dalam file

tempProfile5.tmp yang akan meuat generic beserta nilai prioritas (bobot) dari

produk-prouduk yang akan dittawarkan.

Objek dari kelas TempTesModel akan disimpan dalam file tempfile5.tmp.

File ini merupakan temporary file yang menyimpan semua generic yang

terfilter. File ini juga memuat centroid sebagai pusat cluster ketika file

dokter sudah dicluster selain itu file ini memuat status bila isStatus()

bernilai false maka menandakan data dokter belum dicluster.

-Generic : String

<<consuctor>> ProfilSales_Model () :void

+SET/GET method

TempResModel.java

+Centroid: int[][]

+Generic: String

+Status : boolean

<<consuctor>> TempResModel() :void

getCentroid() : int

getGeneric: String

isStatus(): boolean

--Set Method--

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 80: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

58

Objek ArrayList dari Dokter_Model akan disimpan dalam file

tempDokter5.tmp file ini akan menyimpan hasil clustering dari seluruh

data dokter beserta menyimpan bobot merek obat yang ditawarkan dan

menyimpan bobot obat yang telah dinormalisasi berdasarkan generic .

Dokter_Model.java

-Nama String

-Spesialis :String

-Clusster: int

-rekomendasiObat : List< -

Rekomendasi_obat_model >

<<consuctor>> DokterModel() :void

+getCluster() : int

+getNama() :String

+getRekomendasi() :

+Rekomendasi_obat_model

+getSpesialis() : String

--Set Method--

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 81: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

59

G. Algoritma Method Dalam Kelas Yang Memuat Proses Custering dan

Euclidean Similarity

1. RekomendasiDokterActivity.java

a. onCreate(Bundle) : void

1) melakukan seting view dengan mengakses file main.xml dengan

perintah setContentView(R.layout.main);

2) memanggil method cekTemp() untuk mengecek keberadaan file

tempFile.tmp dan tempDokter5.tmp.

3) memanggil method cekProfile() untuk mengecek keberadaan file

tempProfile.tmp

4) membuat variabel Galeri dan mendeklarasikan sebagai menu

dengan perintah

gallery.setOnItemClickListener(new OnItemClickListener() { /* di isikan

kondisi sesuai kebutuhan menu */}

b. onBackPressed()

1) mendeklarasikan variabel alret member pesan kepada alret

AlertDialog.Builder ad= new

AlertDialog.Builder(RekomendasiDokterActivity.this);

ad.setTitle("konfirmasi");

ad.setMessage("apakah anda yakin ingin keluar ..")

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 82: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

60

2) buat pilihan menu ok dan cancel

3) tambahkan kedalam alret dengan kondisi

a) jika ok ditekan maka activity dihentikan

b) jika cancel ditekan maka tidak terjadi apa-apa

4) tampilkan alert

c. cekProfile():void

1) lakukan pengecekan terhadap file tempProfile5.tmp dengan

membuat variabel

2) deklarasikanlah variabel bertipekan FileInputStream dengan nama

fisCekProf

3) berikan nilai untuk fisCekProf

4) masukan fisCekProf kedalam cunsuctor ObjectOutputStream

untuk langkah 4-5 perhatikan listing program berikut

fisCekProf = openFileInput(“tempProfile5.tmp”);

ObjectInputStream inObjectStreamCek = new

ObjectInputStream(fisCekProf);

5) Jika file tidak ditemukan maka jalankan langkah 6 jika tidak maka

proses cek selesai.

6) Buat Variabel bertipekan FileOutputStream dengan nama fosProfile

7) Deklarasikan nama file dan contex dalam consuctor openFileOutput

8) Seperti pada listing program berikut

fosProfile= openFileOutput(FILE_profile,Context.MODE_PRIVATE);

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 83: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

61

9) Kemudian objek bertipekan ObjectOutputStream dengan nama

outObjectStreamProfile isi parameter consuctor dengan fosProfile .

10) Buat objek ArrayList dari kelas ProfilSales bernama profilSales

11) Masukan objek profilSales kedalam outObjectStreamProfile

Perhatikan listing program berikut:

ObjectOutputStream outObjectStreamProfile = new

ObjectOutputStream(fosProfile);

List<ProfilSales_Model> profilSales= new ArrayList<ProfilSales_Model>();

outObjectStreamProfile.writeObject(profilSales);

d. cekTemp():void

1) lakukan pengecekan terhadap file tempRes5.tmp dengan membuat

variabel

2) deklarasikanlah variabel bertipekan FileInputStream dengan nama

fisCek

3) berikan nilai untuk fisCekProf

FileInputStream fisCek = openFileInput(FILE_NAME);

4) jika file tidak ditemukan maka method createTemp() akan

dijalankan, jika tidak akan menjalankan langkah 5.

perhatikan listing berikut

catch (FileNotFoundException e) {

createTemp();

}

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 84: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

62

5) Buat objek bertipekan ObjekInputStream dengan nama objek “

inObjectSteamCek” kemudian isikan consuctor dengan fisCek

6) Baca object dari isi file dengan membuat objek bertipekan

TempResModel.

TempResModel temCek;

temCek = (TempResModel) inObjectStreamCek.readObject();

7) Cek status objek tersebut jika true maka proses berhenti jika false

maka akan membuat file tempRes5.tmp (berisikan data generic obat

dan centroid akhir dari seluruh cluster) dan file tempDokter5.tmp (

berisikan data dokter yang telah dicluster)

Perhatikan listing program berikut:

if(temCek.isStatus()){ }else{ createTemp() ; }

e. createTemp():void

1) buat variabel bertipekan FIleOutputStream berinama fosDokter dan

fosCentroid

2) deklarasikan variabel tersebut dengan mengisi parameter

openFIleOutput untuk masing masing variabel. Perhatikan listing

program berikut.

fosDokter =

openFileOutput(FILE_TemDokter, Context.MODE_PRIVATE);

fosCentroid =

openFileOutput(FILE_NAME,Context. MODE_PRIVATE);

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 85: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

63

3) buat objek bertipekan ObjectOUtput Stream dengan nama

outObjectStream dan outObjectStream2 deklarasikan parameter

dengan fosDokter dan fosCentroid. Perhatikan listing program

berikut.

ObjectOutputStream outObjectStream =

new ObjectOutputStream(fosDokter);

ObjectOutputStream outObjectStream2 =

new ObjectOutputStream(fosCentroid);

4) buat variabel myCentroid dan myFile bertipekan InputStream

5) buat variabel bertipekan Resources dengan nama “myResources“

untuk Centroid dan “myResources2” untuk dataDokter . untuk

langkah 4 dan 5 perhatikan listing program berikut.

Resources myResources = getResources();

Resources myResources2 = getResources();

InputStream myCentroid =

myResources2.openRawResource(R.raw.centroid);

InputStream myFile = myResources.openRawResource(R.raw.datadokter);

6) lakukan proses clutering untuk data dokter dengan memanggil kelas

Relasi_Kontroler. Perharikan listing berikut

Relasi_Kontroler rKontrol = new Relasi_Kontroler(myFile,

myCentroid);

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 86: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

64

7) siapkan objek yang akan disimpan di dalam file tempRes5,tmp dan

tempDokter5.tmp dengan cara membuat variabel objek bertipekan

TempResModel dengan nama “tempR” dan Array dari

DokterModel dengan nama “dokterAll”

8) berikan nilai untuk atribut dalam objek tempR

TempResModel tempR = new TempResModel();

tempR.setStatus(true);

tempR.setTanggal("februari_2013");

tempR.setCentroid(rKontrol.centroid);

tempR.setGeneric(rKontrol.getGeneric());

9) Berikan nilai untuk dokterAll

Dokter_Model [] dokterAll=rKontrol.listAllDokter;

10) Simpan Objek dalam file

outObjectStream2.writeObject(tempR);

outObjectStream.writeObject(dokterAll);

2. UpdateData(Strting): Boolean

a. Method ini akan mengakses file yang dimaksud dalam url dengan

nama myFile bertipekan InputStream

b. Buat variabel local bertipe InputStream dengan nama

inputStreamDokter yang berisikan file dokter yang akan dicluster

c. Buat InputStream inputStreamCentroid bernama myCentroid

berisikan centroid awal R.raw.centroid .

d. Buat Objek Dari Kelas Relasi_Kontroler bernama rKontrol kemudian

isi parameter konsuktor. Seperti listing berikut :

Relasi_Kontroler rKontrol =

new Relasi_Kontroler(myFile, myCentroid);

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 87: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

65

e. buat variabel bertipekan FIleOutputStream berinama fosDokter dan

fosCentroid

f. deklarasikan variabel tersebut dengan mengisi parameter

openFIleOutput untuk masing masing variabel. Perhatikan listing

program berikut.

FileInputStream fisDokter = openFileInput(FILE_TemDokter);

FileInputStream fisCentroid = openFileInput(FILE_N AME);

g. buat objek bertipekan ObjectInputStream dengan nama

inObjectStream dan inObjectStream2 deklarasikan parameter dengan

fosDokter dan fosCentroid. Perhatikan listing program berikut.

ObjectInputStream inInputStream =

new ObjectInputStream (fssDokter);

ObjectOutputStream inObjectStream2 =

new ObjectOutputStream(fosCentroid);

h. siapkan objek yang akan disimpan di dalam file tempRes5,tmp dan

tempDokter5.tmp dengan cara membuat variabel objek bertipekan

TempResModel dengan nama “tempR” dan Array dari DokterModel

dengan nama “dokterAll”

i. berikan nilai untuk atribut dalam objek tempR

TempResModel tempR = new TempResModel();

tempR.setStatus(true);

tempR.setTanggal("februari_2013");

tempR.setCentroid(rKontrol.centroid);

tempR.setGeneric(rKontrol.getGeneric());

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 88: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

66

j. Berikan nilai untuk dokterAll

Dokter_Model [] dokterAll=rKontrol.listAllDokter;

k. Simpan Objek dalam file

inObjectStream2.writeObject(tempR);

inObjectStream.writeObject(dokterAll);

l. Selesai.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 89: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

67

3. Relasi_Kontroler.Java

a. Relasi_Kontroler(InputStream, InputStream) : void

1) Method ini hanya bekerja sebagai pengatur langkah program

2) Method ini akan mengisikan variabel listDokter dengan hasil dari

method setDataDokter, seperti pada listring berikut :

listDokter = setDataDokter(inputStreamDokter );

3) Kemudian listDokter memiliki nilai dari getDataNormalitaion

dimana listDokter dan method getGeneric menjadi parameter dari

method ini.

listDokter = getDataNormalitation(listDokter, getGeneric());

4) Setelah listDokter bernilai getDataNormalitation maka baru akan

dilakukan proses clustering dengan memanggil method

Information_retrival_kontroler.

Information_retrival_kontroler

(listDokter, getCentroidAwal(inputStreamCentroid));

b. getCentroidAwal(InputStream): double[][]

1) buat variabel bertipe double [][] bernama centroid, deklarasikan

sebagai berikut:

double centroid[][] = new double[4][61];

2) buat variabel String bernama “data” , variabel ini berfungsi sebagai

tempat penyimpanan semua data dari inputStream

3) Masukan data dalam InputStream kedalam variabel data , seperti

pada listing program berikut :

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 90: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

68

int c;

int i = 0;

while ((c = inputStream.read()) != -1) {

data = data + (char) c;

i++;

} inputStream.close();

4) Pisahkan data berdasarkan enter “\n”

StringTokenizer dataToken = new StringTokenizer(data,

"\n");

5) Buat variabel String[] bernama “dataArr” String dataArr[] =

new String[dataToken.countTokens()];

6) Setiap index dataArr akan memuat 1 centroid

Perhatikan listing program berikut :

int index = 0;

while (dataToken.hasMoreTokens()) {

dataArr[index] = dataToken.nextToken();

index++;

}

7) Centroid yang ada di setiap Index dataArr harus dipisahkan

berdasarkan “\t” sehingga satu centroid terdiri dari beberapa index

data untuk setiap centroid simpan dalam variabel yang berbeda

StringTokenizer ar0, ar1, ar2 , ar3.

Perhartikan listing program berikut :

StringTokenizer ar0 = new StringTokenizer(dataArr[0], "\t");

StringTokenizer ar1 = new StringTokenizer(dataArr[1], "\t");

StringTokenizer ar2 = new StringTokenizer(dataArr[2], "\t");

StringTokenizer ar3 = new StringTokenizer(dataArr[3], "\t");

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 91: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

69

8) Data centroid sudah tersimpan di StringTokenizer ar0

, StringTokenizer ar1 , StringTokenizer ar2,

StringTokenizer ar3, lakukanlah copy data dari variabel-variabel

tersebut kedalam array double centroid [][].

Perhatikan listing program berikut :

int index0 = 0;

while (ar0.hasMoreTokens()) {;

double nilai = Double.parseDouble(ar0.nextToken());

centroid[0][index0] = nilai;

index0++;

}

c. setDataDokter(InputStream): void

1) input berupa inputStream yang merupakan file bertipe .xls

2) buat variabel yang berisi konten-konten yang akan disimpan terpisah

untuk setiap barisnya misalnya kelas dokter_model yang akan di isi

merek_obat , generic , bobot obat , dokter dan spesialis .

Perhatrikan deklarasi variabel berikut

listDokter = new Dokter_Model[sheet.getColumns() - 2];

String[] merek_obat = new String[sheet.getRows() - 2];

String[] generic = new String[sheet.getRows() - 2];

double[] bobotObat = new double[sheet.getRows() - 2];

String[] dokter = new String[sheet.getColumns() - 2];

String[] Spesialis = new String[sheet.getColumns() - 2];

3) Deklarasikan index objek dari kelas Dokter_model , perhatikan

listing program berikut :

for (int i = 0; i < listDokter.length; i++) {

listDokter[i] = new Dokter_Model();

}

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 92: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

70

4) Buatlah variabel Integer Index_dokter =0 , i=0

5) Selama sheet.getColoumns() < I jika tidak maka ke langkah 14

6) Jika i==0

a) Maka integer index=0 , integer j=1

b) Selama sheet.getRows < j jika tidak maka selesai

c) Cell cell = sheet.getCell(i, j);

d) Jika cell.getContents() !=””

i. Maka merek_obat[index] =

cell.getContents().toString();

// poses ini menyimpan merek obat dalam string []

ii. Index ++

e) j++ , kembali ke b

7) tidak jika i=1

a) Maka integer index=0 , integer j=1

b) Selama sheet.getRows < j jika tidak maka selesai

c) Cell cell = sheet.getCell(i, j);

d) Jika cell.getContents() !=””

e) Maka

generic[index] = cell.getContents().toString();

// poses ini menyimpan Generic obat dalam string []

iii. Index ++

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 93: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

71

f) j++ , kembali ke b

8) untuk kondisi lain (else)

a) Maka int indexObat = 0; , int j=0

b) Selama j < sheet.getRows(); jika tidak maka selesai

c) Cell cell = sheet.getCell(i, j);

d) Jika j==0

iv. Maka seting nama dokter

listDokter[indexDokter].

setNama(cell.getContents().toString());

e) Jika j==0

v. Maka

listDokter[indexDokter].

setSpesialis(cell.getContents().toString());

indexDokter++;

f) Kondisi lain (else )

vi. Jika cell.getContents() == ""

Maka seting nilai menjadi 0.0

bobotObat[indexObat] = 0.0;

indexObat++;

vii. Jika cell.getContents() !=””

bobotObat[indexObat] =

Double.parseDouble(cell.getContents());

indexObat++;

g) j++ kembali ke b

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 94: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

72

9) Buatlah variabel bantu untuk menampung nilai bobot obat setelah

looping index j selesai seperti berikut :

double[] arrtemp = new double[bobotObat.length];

10) Salinlah data menggunakan loop

for (int j = 0; j < arrtemp.length; j++) {

arrtemp[j] = bobotObat[j];

}

11) Setelah data bobot obat telah masuk kedalam arrtemp maka setinglah

seluruh atribut dari objek Rekomendasi_obat_Model seperti berikut:

Rekomendasi_obat_Model rek = new Rekomendasi_obat_Model();

rek.setBobotobat(arrtemp);

rek.setGeneric(generic);

rek.setObat(merek_obat);

12) Seting listDokter dengan menambahkan rekomendasi obat

listDokter[indexDokter - 1].setReekomendasi_obat(rek);

13) i++ kembali ke langkah 5

14) kembalikan nilat listDokter

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 95: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

73

d. getGeneric(): String[]

1) Buatlah variabel String generic = “” dan TempString =”” , jum =

0

2) lakukan perulangan untuk membaca generic milik salahsatu dokter

3) integer I =0

4) selama

listDokter [0].getReekomendasi_obat().getGeneric().length < I

jika kondisi tidak terpenuhi maka lakukan langkah 8

5) jika

listDokter[0].getReekomendasi_obat().getGeneric()[i].equals(tem

pString) serupa dengan TempString maka {do nothing}

6) jika tidak

a. tempString =

listDokter[0].getReekomendasi_obat().getGeneric()[i];

b. tambahkan nilai generic dengan nilai tempString

c. generic += tempString + "\n";

d. Jum ++

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 96: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

74

7) I ++

8) Setelah melakukan proses filtering dan memasukan generic kedalam

array, lakukanlah pemotonga string berdasarkan enter “\n”

9) StringTokenizer tokenizer = new StringTokenizer(generic, "\n");

10) Buatlah variabel baru seperti berikut String[] arrGeneric = new

String[tokenizer.countTokens()];

11) Kemudian salinlah data dari tokenizer kedalam arrGeneric sesuai

index

12) Kembalikan nilai arrGeneric

e. getDataNormalitation(Dokter_Model[],String[]) : Dok ter_Model[]

1) buat variabel bertipekan double arrBobotGeneric

[jumlah_dokter][jumlah_generic]

2) hitung nilai bobot atau jumlah total dari obat yang

direkomendasikan setiap dokter. Bila dokter tersebut memiliki

generic yang sama maka dijumlahkan. Perhatikan listing program

berikut:

for (int i = 0; i < listDokter.length; i++) {

for (int j = 0; j < arrGeneric.length; j++) {

double tempBobot = 0.0;

for (int k = 0; k < listDokter[i].getReekomendasi_obat().

getGeneric().length; k++) {

if(listDokter[i].getReekomendasi_obat().getGeneric()[k].equals(arrGeneric[j])) {

tempBobot = tempBobot + listDokter[i].getReekomendasi_obat().

getBobotobat()[k];

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 97: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

75

3) setelah mendapatkan bobot total generic dari setiap dokter.

Lakukanlah pengesetan nilai dimana untuk setiap dokter[i] =

arrBobotGeneric[i][j] perhatikan listing berikut :

for (int i = 0; i < listDokter.length; i++) {

double[] arrBobot = new double[arrGeneric.length];

for (int j = 0; j < arrBobot.length; j++) {

arrBobot[j] = arrBobotGeneric[i][j] ;

}

Olahan_data_Model olahandata = new Olahan_data_Model();

olahandata.setGeneric(arrGeneric);

olahandata.setBobotgeneric(arrBobot);

listDokter[i].getReekomendasi_obat().setOlahanData(olahandata);

}

4) kemudian carilah nilai maksimal setiap generic yang ada dari seluruh

dokter kemudian simpan dalam double ArrMaxBobotGeneric[]

5) nilai setiap generic pada dokter harus dinormalkan dengan cara

dibagi oleh nilai maksimum dari generic tersebut. Misalnya

dokter.Generic[i] / ArrMaxBobotGeneric[i] dapat dilihat pada listing

program berikut

for (int i = 0; i < arrGeneric.length; i++) {

for (int j = 0; j < listDokter.length; j++) {

for (int k = 0; k <listDokter[j].getReekomendasi_obat().

getOlahanData().getGeneric().length; k++) {

if (arrGeneric[i].equals(listDokter[j].

getReekomendasi_obat().getOlahanData().

getGeneric()[k])) {

listDokter[j].getReekomendasi_obat().

getOlahanData().getBobotgeneric()[k] =

listDokter[j].getReekomendasi_obat().getOlahanData().

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 98: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

76

getBobotgeneric()[k] / ArrMaxBobotGeneric[k];

}

}

}

}

6) retrunkan listDokter

f. Information_Retrival_kontroler(Dokter_Model[], doub le[]): void

1) Method ini merupakan method kontroler untuk memanggil method-

method untuk memproses data kluster dengan memulai iterasi

pertama.

2) Lakukan seting value untuk variabel public centroid dan

listAllDokter dengan nilai dari variabel parameter , seperti pada

listing berikut :

this.listAllDokter = dokterList;

this.centroid = centroidParameter;

3) Buat variabel lokal Dokter_Model[] dengan nama dkterTemp untuk

menyimpan hasil dari iterasi pertama dengan centtroid pertama.

Perhatikan listing program berikut:

Dokter_Model[] dkterTemp = createtIteration(centroid);

4) Lakukan proses clustering dengan memanggil method ClusterHelper

dengan parameter dokterTemp , dan nilai centroid dari dokterTemp .

dimana dokterTemp adalah dokter dengan nilai iterasi pertama.

Perhatikan listing program berikut:

ClusterHelper(dkterTemp, getCentroid(dkterTemp));

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 99: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

77

5) selesai

g. ClusterHelper(Dokter_Model[], double[][]): void

1) Method ini aka mengetur jalanya iterasi yang lebih dari satu

2) Buat variabel boolean statusEndIteration = false

3) Buat variabel temporary untuk menyimpan data dokter dalam

parameter perhatikan listing program berikut:

Dokter_Model[] nextIteration =

createtIteration(centroid_parameter);

4) i=0

5) selama jumlah i < listdokter.length

6) jika nilai cluster dalam listdokter[i] tidak sama dengan listdokter

dalam iterasi berikutnya

i. Maka statusEndIteration = true;

ii. Break

iii. Lanjut langkah h

Perhatikan langkah berikut :

for (int i = 0; i < listdokter.length; i++) {

if (listdokter[i].getCluster() != nextIteration[i].getCluster())

{

statusEndIteration = true;

break;

}

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 100: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

78

7) i++ , kembali ke langkah e

8) jika statusEndIteration == true

iv. ulangi langkah b dengan parameter adalah listDokter dari

iterasi n yang merupakan hasil dari iterasi dengan centroid

= centroid parameter dan beri nilai parameter centroid

dengan nilai centroid dari listdokter dengan iterasi ke n

perhatikan langkah berikut :

ClusterHelper(createtIteration(centroid_parameter),

getCentroid(createtIteration(centroid_parameter)));

9) jika jika statusEndIteration != true

seting semua atribut yang diperlukan dengan hasil

perhitungan. Perhatikan langkah berikut:

this.centroid = centroid_parameter;

this.listAllDokter = listdokter;

getCentroid(nextIteration);

System.out.println("selesai");

10) selesai

h. createIteration(double[][]): DokterModel[]

1) deklarasikan variabel bertipe dokter_model[] dengan nama

listDokterTemp. Perhatikan langkah berikut:

Dokter_Model[] lstDokterTemp = new

Dokter_Model[listAllDokter.length];

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 101: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

79

2) lakukan copy array dari seluruh index listAllDokter ke

listDokterTemp

3) buatlah variabel Total_resultC1 , Total_resultC2 , Total_resultC3 ,

Total_resultC4 untuk menyimpan jarak euclidean dengan masing-

masing centroid .

perhatikan listing program berikut untuk mengukur

jarak euclidean setiap dokter:

double resultC1 = 0;

double resultC2 = 0;

double resultC3 = 0;

double resultC4 = 0

for (int k = 0; k < ListDokterTemp[i].getReekomendasi_obat().

getOlahanData().getGeneric().length; k++) {

resultC1 = resultC1 +

Math.pow(ListDokterTemp[i].getReekomendasi_obat().get

OlahanData().getBobotgeneric()[k] - centroid[0][k], 2);

resultC2 = resultC2 +

Math.pow(ListDokterTemp[i].getReekomendasi_obat().get

OlahanData().getBobotgeneric()[k] - centroid[1][k], 2);

resultC3 = resultC3 +

Math.pow(ListDokterTemp[i].getReekomendasi_obat().get

OlahanData().getBobotgeneric()[k] - centroid[2][k], 2);

resultC4 = resultC4 +

Math.pow(ListDokterTemp[i].getReekomendasi_obat().get

OlahanData().

getBobotgeneric()[k] - centroid[3][k], 2);

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 102: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

80

}

double Total_resultC1 = Math.sqrt(resultC1);

double Total_resultC2 = Math.sqrt(resultC2);

double Total_resultC3 = Math.sqrt(resultC3);

double Total_resultC4 = Math.sqrt(resultC4);

4) hitunglah jarak euclidean dari setiap dokter dengan masing-masing

centroid kemudian simpan di variabel untk setiap dokter. Perhatikan

listing program berikut:

i. cari nilai terkecil dari jarak euclidean yang terkecil

dari dokter tersebut

ii. tambahkan nilai 1 untk array cluster yang terkecil.

iii. Untuk langkah i dan ii perhatikan listing program

berikut

if (Total_resultC1 < Total_resultC2 &&

Total_resultC1 < Total_resultC3 && Total_resultC1

< Total_resultC4) {

Cluster = 1;

countAnggotaCluster[0]++;

}else if(.....)else if(....)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 103: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

81

5) Kembalikan nilai dari listDokterTemp

6) Selesai

4. Similarity controller_avtivity.java

a. onCreate(Bundle savedInstanceState)

1) method ini berkerja sebagai kontroler pengatur proses apa saja yang

harus dilakukan

2) method ini akan memanggil method getResource untuk

mendapatkan data dokter dan data sales

3) memanggil method normalitationQuery() untuk melakukan

normalisasi bobot untuk query

4) memanggil method settingQuery() untuk melakukan pengecekan

bobot generic bdalam profile dengan deneric yang dimiliki system

untuk generic yang tidak dipilih oleh sales maka akan bernilai 0.

5) Memanggil method getSimilarity untuk mendapatkan hasil dari

proses pencarian jarak terdekat antara query dengan cluster

clusterResult=getSimilarity();

6) Mendapatkan data dpokter dari cluster yang terpilih

getDokterListResult();

7) melakukan pengurutan data dokter dari cluster yang terpilih

berdasarkan similarity dengan query dengan memanggil method

bubleShort();

8) menampilkan data

9) myListView = (ListView)findViewById(R.id.listDokterResult);

b. getResource()

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 104: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

82

1) buatlah variable bertipe public diluar method seperti berikut :

String FILE_TemDokter = "tempDokter5.tmp";

String FILE_NAME = "tempfile5.tmp";

String FILE_profile="tempProfile5.tmp";

double [] resDistace;

Boolean STATUSdETAIL=false;

List<ProfilSales_Model> profilSales;

TempResModel resourceTemp;

Dokter_Model [] listDokter;

2) Dalam method getResource() panggilah file yang akan diambmbil

datanya tempDOkter5.tmp , tempProfile5.tmp , tempfile5.tmp .

perhartikan listing program berikut ;

FileInputStream fis2 = openFileInput(FILE_NAME);

ObjectInputStream inObjectStream2 = new ObjectInputStream(fis2);

FileInputStream fis2Sales = openFileInput(FILE_profile)

ObjectInputStream inObjectStream2Sales

= new ObjectInputStream(fis2Sales);

FileInputStream fisDokter = openFileInput(FILE_TemDokter);

ObjectInputStream inObjectStreamDokter

= new ObjectInputStream(fisDokter);

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 105: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

83

3) Jika sudah menyimpan dalam variable bertipe objectInputStream

langkah berikutnya adalah memberikan nilai variable

List<ProfilSales_Model> profilSales; TempResModel

resourceTemp; Dokter_Model [] listDokter agar berisikan data

yang terdapat di objectInputStream. Inplementasi perhatikan listing

program berikut :

listDokter = (Dokter_Model [] )

inObjectStreamDokter.readObject();

resourceTemp = (TempResModel) inObjectStream2.readObject();

profilSales = (List<ProfilSales_Model>)

inObjectStream2Sales.readObject();

4) Setelah dilakukan pengesetan terhadiap variable listDokterm

resourceTemp dan profilSales maka variable tersebut telah berisi

data yang ada dalam file sehingga siap untuk diproses.

5) Selesai

c. normalitationQuery()

1) akses variable profil sales

2) cari nilai maksimal dari seluruh item profile

3) bagi seluruh bobot dari item profil dengan nilai max

4) selesai

d. settingQuery()

1) buat variable bantu double profileQuery[] = new double ()[jumlah

generic]

2) seting seluruh nilai indek = 0.0 perhatikan listing berikut:

for (int i = 0; i < profileQuery.length; i++) {

profileQuery[i]=0.0;

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 106: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

84

}

3) akses variable profilSales

4) buat variable tempResource

5) isi variable genericRes[] dengan data generic dari kelas variable

tempResource.getGeneric()

6) lakukan pencocokan indek

7) i=0

8) selama i< tempResource.generic().length , jika tidak lanjut langkah

14

9) j =0

10) selama j < profilSales.size() jika tidak lanjut langkah 13

11) cek apakah untuk index profilSales.get(j) ==

tempResource.generic()[i]

a. jika sama cek seting profileQuery[i]=

profilSales.get(j).getBobot()

12) j++ , ulangi langkah 10

13) i++ , ulangi langkah 8

untuk lebih jelas perhatikan listing program berikut :

public void settingQuery() {

for (int i = 0; i < profileQuery.length; i++) {

profileQuery[i]=0.0;

}

for (int i = 0; i < resourceTemp.getGeneric().length; i++) {

for (int j = 0; j < profilSales.size(); j++) {

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 107: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

85

if(resourceTemp.getGeneric()[i].equals(profilSales.get(j).Generic)){

profileQuery[i]=profilSales.get(j).getBobot(); }}}}

e. getSimilarity()

1) buat variable untuk menampung jarak ke empat centroid dengan

query

2) lakukan perhitungan jarak Euclidean terhadap profilQuery dengan

resourceTemp.getCentroid()[0...3]

a) buat variable temporary

double resultC1 = 0;

double resultC2 = 0;

double resultC3 = 0;

double resultC4 = 0;

b) hitung nilai (index X1 – index Y2 ) ^ + index X2- index X2)^2

…. Untuk hasil perhitungan setiap centroid cluster dengan

profilQuery simpan dalam variable temporary .

for (int i = 0; i < 61; i++) {

resultC1=resultC1 +

Math.pow((resourceTemp.getCentroid()[0][i]-profileQuery[i]),2);

resultC2=resultC2 +

Math.pow((resourceTemp.getCentroid()[1][i]-profileQuery[i]),2);

resultC3=resultC3 +

Math.pow((resourceTemp.getCentroid()[2][i]-profileQuery[i]),2);

resultC4=resultC4 +

Math.pow((resourceTemp.getCentroid()[3][i]-profileQuery[i]),2);

}

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 108: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

86

c) hitung akar dari masing-masing variable temporary simpan

dalam variable Total_ResultC1 , Total_ResultC2 ,

Total_ResultC3 , Total_ResultC4

double Total_resultC1 = Math.sqrt(resultC1);

double Total_resultC2 = Math.sqrt(resultC2);

double Total_resultC3 = Math.sqrt(resultC3);

double Total_resultC4 = Math.sqrt(resultC4);

3) ambil centroid cluster dengan jarak terkecil dengan

membandingkan nilai dari Total_ResultC1 , Total_ResultC2 ,

Total_ResultC3 , Total_ResultC4 , perhatikan contoh pengecekan

berikut :

int Cluster = 0;

if (Total_resultC1 < Total_resultC2 && Total_result C1 < Total_resultC3

&& Total_resultC1 < Total_resultC4) {

Cluster = 1;

} else if (Total_resultC2 < Total_resultC1 && Total_resultC2 <

Total_resultC3 && Total_resultC2 < Total_resultC4) {

Cluster = 2;

}

4) kemudian retrun cluster

f. getDokterListResult()

1) hitung anggota cluster dari cluster dokter yang terpilih

2) buat objek array dari kelas Dokter_model. Seperti listing program

berikut

Dokter_Model [] tDokter= new Dokter_Model[jumDokterResult];

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 109: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

87

3) copy array dari objek listDokter kedalam tDokter untuk dokter yang

masuk kedalam cluster yang dipilih

4) seting variable dokListResult=tDokter;

5) setelah melakukan copy array buatlah variable resDistance[] bertipe

double untuk menyimpan jarak dari setiap dokter dengan query

6) Setelah resDistance dibuat kemudian deklarasikanlah variable

tersebut dalam method ini. resDistace= new double[tDokter.length];

7) Hitung jarak antara dokter dalam dengan query menggunakan

Euclidean seperti pada baris program berikut :

for (int i= 0; i < resDistace.length; i++) {

for (int j = 0; j <

tDokter[0].getReekomendasi_obat().getOlahanData().getBobotgeneric().length; j++)

{

double

tJum=Math.pow((tDokter[i].getReekomendasi_obat().

getOlahanData().getBobotgeneric()[j]-profileQuery[j]),2);

resDistace[i]=resDistace[i]+ tJum;

}

}

8) Lakukan proses perhitungan akar untuk setiap jarak

for (int i = 0; i < resDistace.length; i++) {

resDistace[i]=Math.sqrt(resDistace[i]);

}

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 110: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

88

9) Selesai

g. bubleShort()

1) akses variabel resDistance[] yang memuat jarak dari setiap dokter

terhadap query

2) urutkan menggunakan algoritma bubleshort dari yang besar menuju

yang kecil

Algoritma buble sort :

a) Algoritma ini digunakan untuk mengurutkan data dengan

metode bubble sort.

b) Masukan berupa kumpulan data dalam larik.

c) Keluaran akan menghasilkan kumpulan data dalam larik

yang sudah dalam keadaan urut.

d) Langkah 0 : Baca data ke dalam larik

e) Langkah 1 : Untuk iterasi = 1 sampai N-1 lakukan langkah 2

f) Langkah 2 : Untuk elemen = 0 sampai N-1-iterasi lakukan

langkah 3

g) Langkah 3 : Test apakah larik[elemen] > larik[elemen + 1]

Jika ya, tukarkan nilai kedua elemen ini

3) detail algoritma dalam implementasi :

for (int m = 0; m < dokListResult.length-1; m++) {

for (int n = 0; n < dokListResult.length-1-m; n++) {

if(resDistace[n]<resDistace[n+1]){

double tem= resDistace[n+1];

resDistace[n+1]=resDistace[n];

resDistace[n]=tem;

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 111: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

89

Dokter_Model dT=dokListResult[n+1];

dokListResult[n+1]=dokListResult[n];

dokListResult[n]=dT;

}

}

}

h. Dokter_Model shortRecomendation(int idDokter)

1) Method ini sama halnya dengan method BubleShort dimana method

ini untuk mengurutkan obat yang direkomendasikan dokter

berdasarkan jumlah terbesar

2) Berikut adalah algoritma pengurutan rerkomendasi obat

menggunakan bubleshort

Algoritma buble sort

a) Algoritma ini digunakan untuk mengurutkan data dengan

metode bubble sort.

b) Masukan berupa kumpulan data dalam larik.

c) Keluaran akan menghasilkan kumpulan data dalam larik

yang sudah dalam keadaan urut.

d) Langkah 0 : Baca data ke dalam larik

e) Langkah 1 : Untuk iterasi = 1 sampai N-1 lakukan langkah 2

f) Langkah 2 : Untuk elemen = 0 sampai N-1-iterasi lakukan

langkah 3

g) Langkah 3 : Test apakah larik[elemen] > larik[elemen + 1]

Jika ya, tukarkan nilai kedua elemen ini

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 112: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

90

BAB V

HASIL DAN PENGUJIAN

A. Hasil Pengujian Sistem

1. Item Query Yang Tersedia

Tabel 21. Item Query Yang Tersedia No Generic Obat ( Profil Query )

1 Amikacin 2 Amoxicillin + clavulanic acid 3 Ampicillin sodium, 4 Ascorbic acid 5 Biotin + folic acid + glycine 6 Bupivacaine hydrochloride + dextrose

monohydrate 7 Cefepime 8 Cefoperazone 9 Cefotaxime 10 Cefpirome 11 Ceftazidime 12 Ceftizoxime 13 Ceftriaxone 14 Cefuroxime 15 Ciprofloxacin

16 Citicoline

17 Dexketoprofen 18 Dexmedetomidine hydrochloride 19 Dextrose +lidocaine hydrochloride 20 Diazepam 21 Dipyrone 22 Dobutamine 23 Ephedrine hydrochloride +

theophylline anhydrous epoetin alfa

24 Esomeprazole 25 Fentanyl 26 Ferric hydroxide sucrose complex 27 Fluconazole 28 Fosfomycin 29 Furosemide

30 Heparin

31 Hyoscine 32 Imipenem + cilastatin 33 Ketoprofen 34 Ketorolac 35 Levofloxacin 36 Mecobalamin 37 Meropenem 38 Methampyrone + vitamin B

complek 39 Methylprednisolone 40 Metoclopramide hydrochloride 41 Metronidazole 42 Midazolam 43 Moxifloxacin 44 Neostigmine 45 Norepinephrine 46 Omeprazole 47 Ondansetron 48 Oxytocin 49 Pantoprazole 50 paracetamol + vitamin B

complek 51 Parecoxib 52 Piracetam 53 Propofol 54 Ranitidine 55 rocuronium bromide 56 Tetanus immunoglobulin 57 Tramadol 59 tranexamic acid 60 Vecuronium bromide 61 Vitamin B-Complek

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 113: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

91

B. Sampel profil

Tabel 22. Sampel Query Yang Digunakan Untuk Pengujian 1. Query 1

Amoxcilin (standard ), Ciproflixacin (standard ), Ondancentron

(standard), Ranitide ( Medium), Pinacetam ( Standar)

Dokter yang dipilih Urutan dalam sistem

Na

AD

DN

AWW

NH

RA

1

2

3

5

7

15

2. Query 2

Omeprazole (High), Pantoprazole (High), Tranexamid acid (High),

Ceftasidim (High), Methilprednisolon (high), Citrizin (High),

Ondansetron (High), Esomeprazole (Medium), Ceftriaxone

(High), Meropenenem (High)

Dokter yang dipilih Urutan dalam sistem

KS

AP

WR

1

2

3

3. Query 3

Citicolin (Standard), Diazepam (Standard), Ondansetron

(Standard), Omeprazole (Standard), Piracetan (High)

Dokter yang dipilih Urutan

IS

FN

IP

YU

3

4

5

6

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 114: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

92

4. Query 4

Amoxcilin (Medium), Dobutamine (Standard), Ranitide (High),

Cefotamine (Medium), Omeprazole (Medium), Ketrolak(High),

Methapyrone (Medium), Amixacin(Medium)

Dokter yang dipilih Urutan

Na

Ad

Dn

Bp

Aww

Ik

Dh

Pa

Fa

Sk

Al

Mj

Ra

1

2

3

4

5

6

7

8

9

10

11

13

15

5. Query 5

Amixacin (Medium), Citicoline (high), Ranitide (High),

Dobutamine (standard), Cefotaxime (standard),

Omeprazole (medium), Tramadol (standard)

Dokter yang dipilih Urutan

Ab

Is

Fn

Ip

Es

1

3

4

5

7

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 115: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

93

6. Query 6

Cefotaxime (medium), Citicoline (medium), Cefpirome (standard),

Pantoprazole (high), Ciprofoxacin (Medium), Amoxcilin

(standard), Ondancentron (standard), Mhetyl prednisolone

(medium), Ranitide (medium), Omeprazole (high)

Dokter yang dipilih Urutan

Na

Ad

Dn

Bp

Aww

Ik

Nh

Pa

Ra

1

2

3

4

5

6

7

8

15

7. Query 7

Pantoprazole (medium), Ondansetron (medium), Ketrolack

(medium) , Ceftriaxone (high), Cefotaxime (high)

Dokter yang dipilih Urutan

Na

Ad

Dn

Bp

Aww

Ik

Dh

Pa

Fa

Sk

1

2

3

4

5

6

7

8

9

10

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 116: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

94

Al

Mj

Lu

11

13

14

8. Query 8

Hyocine (standard), Levocaxin(medium), Pantoprazole(standard),

Tramadol(high), Methylpredinsolone(medium), Ketoprofen(high)

Dokter yang dipilih Urutan

Na

Bp

Aww

Ik

Nh

Mj

1

4

5

6

7

13

9. Query 9

Cefotaxime (highst), Cetriaxone (highst), Ciprofloxacin (high),

Ketrolac (high), levoxacin(high), menropenem (high),

ondansetron(high), omeprazole (high), tramadol(high),

paracetamol(high)

Profil sales Dokter yang dipilih Urutan

Ks

Ap

wr

1

2

3

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 117: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

95

10. Query 10

11. Query 11

Amoxicillin (standard), Cefotaxime (high), Ciprofloxacin

(medium), Diazepam (high), Ephedrine (medium),

Ketoprofen(medium), Metronidazole (medium), Paracetamol

(standard), Omeprazole (standard), Piracetam(high)

Profil sales Dokter yang dipilih Urutan

Bp

Aww

Ik

Pa

Fa

Sk

Ai

Mj

Lu

Ra

4

5

6

8

9

10

11

13

14

15

Citicolin (high), Dexketropen (high), Piracetam(medium),

Ondansentron(medium), Ketrolac (high), Tramadol(medium),

Ketroprofen (high), Mecobelamin(medium) , Panecoxib ( medium )

Profil sales Dokter yang dipilih Urutan

Ab

Sr

Is

Fn

Ip

Yu

Yf

Es

1

2

3

4

5

6

7

8

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 118: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

96

12. Query 12

Ceftriaxone (medium), Ranitide (medium), Diazepam (high),

Parastamol (standard), Ketrolac (medium), Mcobalamin (medium),

Ciprofloxacin (medium), Amoxcilin (high), Citicolin (high),

Meropenem (standard)

Profil sales Dokter yang dipilih Urutan

AB

Sr

Is

Fn

Ip

Yu

Yf

Es

1

2

3

4

5

6

7

8

13. Query 13

Amoxicillin (high), Cefepime (medium), Cefoperazone

(medium), Cefotaxime (standard), Cefpirome (medium),

Ceftazidime (medium), Ceftriaxone (medium), Ciprofloxacin

(medium), Meropenem (high), Ketrolac (medium)

Profil sales Dokter yang dipilih Urutan

AB

Sr

Is

Yu

Yf

Es

1

2

3

6

7

8

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 119: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

97

14. Query 14

Ondansetron (high), Mecobelamin(medium), Methylprednisolone

(high), Pharachetamol (standard), Amoxicillin (standard)

Dokter yang dipilih Urutan

Na

Ad

Bp

Aww

Ik

Nh

Da

Fa

Al

1

2

4

5

6

7

8

9

11

15. Query 15

Amoxicillin (high), Citicolin (medium), Pantoprozole (high),

Omeprazole (high), Meropenem (standard)

Dokter yang dipilih Urutan

Ab

Is

Fn

Yu

Es

1

3

4

6

7

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 120: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

98

16. Query 16

Cefoperazone (standard), Ceftazidime (medium), Cetriaxone

(high), Ciprofloxacin (standard), Dexketoprofen (medium),

Dexmedetomidine (high)

Dokter yang dipilih Urutan

Na

Ad

Dn

Bp

Nh

Ai

Ra

1

2

3

4

6

11

15

17. Query 17

Dobutamine (medium), Esomeprazole (medium), Fentanyl

(standard), Hyoscine (high), Heparin (high), Ketroprofen (high),

Ranitide (high), Tramadol (high).

Dokter yang dipilih Urutan

Bp

Aww

Ik

Ra

Mj

Dn

4

5

6

15

13

2

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 121: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

99

18. Query 18

Amoxicillin (medium), Cefepime (standard), Dobutamine (high),

Methylprednisolone (medium), Piracetam (high), Paracetamol

(standard), Ranitide (standard)

Profil sales Dokter yang dipilih Urutan

Aww

Nh

Na

Ra

5

7

1

15

19. Query 19

Amoxicillin (medium), Ondansentron (medium ), Ranitide (high),

Cefotaxime (medium), Omeprazole (medium), Ondansetron

(medium), Pantoprazole (high), Tramadol (highst)

Dokter yang dipilih Urutan

Ab

Sr

Is

Yu

1

2

3

6

20. Query 20

Amoxicillin (medium), Cefuroxime (medium), Paracetamol (medium),

Ascorbic acid (standard), Portoprazole (high)

Dokter yang dipilih Urutan

Na

Ad

Aw

Ik

Nh

1

2

5

6

7

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 122: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

100

C. Perhitungan Recall Dan Precision

1. Tabel Relevansi Dokumen

Tabel 23. Relevansi Dokumen

RD

1

RD

2

RD

3

RD

4

RD

5

RD

6

RD

7

RD

8

RD

9

RD

10

RD

11

RD

12

RD

13

RD

14

RD

15

Query 1

Rlv

an

Rlv

Rlv

an Nr

Rlv

an Nr

Rlv

an Nr Nr Nr Nr Nr Nr Nr

Rlv

an

Query 2

Rlv

an

Rlv

an

Rlv

an Nr Nr Nr Nr Nr Nr Nr Nr Nr Nr Nr Nr

Query 3 Nr Nr

Rlv

an

Rlv

an

Rlv

an

Rlv

an Nr Nr Nr Nr Nr Nr Nr Nr Nr

Query 4

Rlv

an

Rlv

an

Rlv

an

Rlv

an

Rlv

an

Rlv

an

Rlv

an

Rlv

an

Rlv

an

Rlv

an

Rlv

an Nr

Rlv

an Nr

Rlv

an

Query 5

Rlv

an Nr

Rlv

an

Rlv

an

Rlv

an Nr

Rlv

an Nr Nr Nr Nr Nr Nr Nr Nr

Query 6

Rlv

an

Rlv

an

Rlv

an

Rlv

an

Rlv

an

Rlv

an

Rlv

an

Rlv

an Nr Nr Nr Nr Nr Nr

Rlv

an

Query 7

Rlv

an

Rlv

an

Rlv

an

Rlv

an

Rlv

an

Rlv

an

Rlv

an

Rlv

an

Rlv

an

Rlv

an

Rlv

an

Rlv

an Nr

Rlv

an Nr

Query 8

Rlv

an Nr Nr Nr

Rlv

an

Rlv

an

Rlv

an Nr Nr Nr Nr Nr

Rlv

an Nr Nr

Query 9

Rlv

an

Rlv

an

Rlv

an Nr Nr Nr Nr Nr Nr Nr Nr Nr Nr Nr Nr

Query

10

Rlv

an

Rlv

an

Rlv

an

Rlv

an

Rlv

an

Rlv

an

Rlv

an

Rlv

an Nr Nr Nr Nr Nr Nr Nr

Query

11 Nr Nr Nr

Rlv

an

Rlv

an

Rlv

an Nr

Rlv

an

Rlv

an

Rlv

an

Rlv

an Nr

Rlv

an

Rlv

an

Rlv

an

Query

12

Rlv

an

Rlv

an

Rlv

an

Rlv

an

Rlv

an

Rlv

an

Rlv

an

Rlv

an Nr Nr Nr Nr Nr Nr Nr

Query

13

Rlv

an

Rlv

an

Rlv

an

Rlv

an Nr

Rlv

an

Rlv

an

Rlv

an Nr Nr Nr Nr Nr Nr Nr

Query

14

Rlv

an

Rlv

an Nr

Rlv

an

Rlv

an

Rlv

an

Rlv

an

Rlv

an

Rlv

an Nr

Rlv

an Nr Nr Nr Nr

Query

15

Rlv

an Nr

Rlv

an

Rlv

an Nr R

Rlv

an Nr Nr Nr Nr Nr Nr Nr Nr

Query

16

Rlv

an

Rlv

an

Rlv

an

Rlv

an Nr Nr

Rlv

an Nr Nr Nr

Rlv

an Nr Nr Nr

Rlv

an

Query

17 Nr

Rlv

an Nr

Rlv

an

Rlv

an

Rlv

an Nr Nr Nr Nr Nr Nr R Nr

Rlv

an

Query

18

Rlv

an Nr Nr Nr

Rlv

an Nr

Rlv

an Nr Nr Nr Nr Nr Nr Nr

Rlv

an

Query

19

Rlv

an

Rlv

an

Rlv

an Nr Nr

Rlv

an Nr Nr Nr Nr Nr Nr Nr Nr Nr

Query Rlv Rlv Nr Nr Rlv Rlv Rlv Nr Nr Nr Nr Nr Nr Nr Nr

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 123: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

101

Keterangan :

RD : Result Dokter

Nr : Not Relevan

Relevan : Indek dokter yang dianggap relevean oleh sales .

Missal untuk query 1 didapatkan hasil sebagai berikut

Dokter Na (1) , Dokter Ad (2) , DOkter Dn (3) , Dokter Aww (5) ,

Dokter Nh (7) , Dokter Ra (15 )

Maka untuk query 1 index result yang relevan adalah index 1 , 2 , 3,5, 7

dan 15

2. Perhitungan Recall Dan Precision Setiap Query

Tabel 24. Menghitung Recall dan Precision

Query

1

recall 0.16

7

0.33

3

0.5 0.5 0.6

7

0.6

7

0.83

3

0.8

3

0.8

3

0.8

3

0.8

3

0.8

3

0.8

3

0.8

3

1

prec 1 1 1 0.75 0.8 0.6

7

0.71

4

0.6

3

0.5

6

0.5 0.4

5

0.4

2

0.3

8

0.3

6

0.4

Query

2

recall 0.33

3

0.66

7

1 1 1 1 1 1 1 1 1 1 1 1 1

prec 1 1 1 0.75 0.6 0.5 0.42

9

0.3

8

0.3

3

0.3 0.2

7

0.2

5

0.2

3

0.2

1

0.2

Query

3

Recall 0 0 0.2

5

0.5 0.7

5

1 1 1 1 1 1 1 1 1 1

prec 0 0 0.3

3

0.5 0.6 0.6

7

0.57

1

0.5 0.4

4

0.4 0.3

6

0.3

3

0.3

1

0.2

9

0.2

7

Query

4

recall 0.07

7

0.15

4

0.2

3

0.30

8

0.3

8

0.4

6

0.5 0.5

7

0.6

4

0.7

7

0.8

5

0.8 0.9

2

0.9

2

1

rec 1 1 1 1 1 1 1 1 1 1 1 0.9

2

0.9

2

0.8

6

0.8

7

20 an an an an an

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 124: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

102

Query

5

recall 0.2 0.2 0.4 0.6 0.8 0.8 1 1 1 1 1 1 1 1 1

prec 1 0.5 0.6

7

0.75 0.8 0.6

7

0.71

4

0.6

3

0.5

6

0.5 0.4

5

0.4

2

0.3

8

0.3

6

0.3

3

Query

6

recall 0.11

1

0.22

2

0.3

3

0.44

4

0.6 0.6

7

0.77

8

0.8

9

0.8

9

0.8

9

0.8

9

0.8

9

0.8

9

0.8

9

1

prec 1 1 1 1 1 1 1 1 0.8

9

0.8 0.7

3

0.6

7

0.6

2

0.5

7

0.6

Query7

recall 0.07

7

0.15

4

0.2

3

0.30

8

0.3

8

0.4

6

0.53

8

0.6

2

0.6

9

0.7

7

0.8

5

0.9

2

0.9

2

1 1

prec 1 1 1 1 1 1 1 1 1 1 1 1 0.9

2

0.9

3

0.8

7

Query

8

recall 0.2 0.2 0.2 0.2 0.4 0.6 0.8 0.8 0.8 0.8 0.8 0.8 1 1 1

prec 1 0.5 0.3

3

0.5 0.6 0.6

7

0.71

4

0.6

3

0.5

6

0.5 0.4

5

0.4

2

0.4

6

0.4

3

0.4

Query

9

recall 0.33

3

0.66

7

1 1 1 1 1 1 1 1 1 1 1 1 1

prec 1 1 1 0.75 0.6 0.5 0.42

9

0.3

8

0.3

3

0.3 0.2

7

0.2

5

0.2

3

0.2

1

0.2

Query1

0

recall 0.12

5

0.25 0.3

8

0.5 0.6

3

0.7

5

0.87

5

1 1 1 1 1 1 1 1

prec 1 1 1 1 1 1 1 1 0.8

9

0.8 0.7

3

0.6

7

0.6

2

0.5

7

0.5

3

Query1

1

recall 0 0 0 0.1 0.2 0.3 0.3 0.4 0.5 0.6 0.7 0.7 0.8 0.9 1

prec 0 0 0 0.25 0.4 0.5 0.57

1

0.6

3

0.6

7

0.7 0.7

3

0.6

7

0.6

9

0.7

1

0.6

7

Query

12

recall 0.12

5

0.25 0.3

8

0.5 0.6

3

0.7

5

0.87

5

1 1 1 1 1 1 1 1

prec 1 1 1 1 1 1 1 1 0.8

9

0.8 0.7

3

0.6

7

0.6

2

0.5

7

0.5

3

Query

13

recall 0.14

3

0.28

6

0.4

3

0.57

1

0.5

7

0.7

1

0.85

7

1 1 1 1 1 1 1 1

prec 1 1 0.75 0.8 0.8

3

0.85

7

0.8

8

0.7

8

0.7 0.6

4

0.5

4

0.5

8

0.5 0.4

7

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 125: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

103

Query

14

recall 0.11

1

0.22

2

0.2

2

0.33

3

0.4

4

0.5

6

0.66

7

0.7

8

0.8

9

0.8

9

1 1 1 1 1

prec 1 1 0.6

7

0.75 0.8 0.8

3

0.85

7

0.8

8

0.8

9

0.8 0.8

2

0.7

5

0.6

9

0.6

4

0.6

Query

15

recall 0.2 0.2 0.4 0.6 0.6 0.8 1 1 1 1 1 1 1 1 1

prec 1 0.5 0.6

7

1 0.6 0.6

7

0.71

4

0.6

3

0.5

6

0.5 0.4

5

0.4

2

0.3

8

0.3

6

0.3

3

Query

16

recall 0.14

3

0.28

6

0.4

3

0.57

1

0.5

7

0.5

7

0.71

4

0.7

1

0.7

1

0.7

1

0.8

6

0.8

6

0.8

6

0.8

6

1

prec 1 1 1 0.5 0.8 0.6

7

0.71

4

0.6

3

0.5

6

0.5 0.5

5

0.5 0.4

6

0.4

3

0.4

7

Query

17

recall 0 0.16

7

0.1

7

0.33

3

0.5 0.6

7

0.66

7

0.6

7

0.6

7

0.6

7

0.6

7

0.6

7

0.8

3

0.8

3

1

prec 0 0.5 0.3

3

0.25 0.6 0.6

7

0.57

1

0.5 0.4

4

0.4 0.3

6

0.3

3 .38

0.3

6

0.4

Query

18

recall 0.25 0.25 0.2

5

0.25 0.5 0.5 0.75 0.7

5

0.7

5

0.7

5

0.7

5

0.7

5

0.7

5

0.7

5

1

prec 1 0.5 0.3

3

0.75 0.4 0.3

3

0.42

9

0.3

8

0.3

3

0.3 0.2

7

0.2

5

0.2

3

0.2

1

0.2

7

Query

19

recall 0.25 0.5 0.7

5

0.75 0.7

5

1 1 1 1 1 1 1 1 1 1

prec 1 1 1 0.5 0.6 0.6

7

0.57

1

0.5 0.4

4

0.4 0.3

6

0.3

3

0.3

1

0.2

9

0.2

7

Query

20

recall 0.2 0.4 0.4 0.4 0.6 0.8 1 1 1 1 1 1 1 1 1

prec 1 1 0.6

7

0.5 0.6 0.6

7

0.71

4

0.6

3

0.5

6

0.5 0.4

5

0.4

2

0.3

8

0.3

6

0.3

3

Keterangan :

Missal untuk query 20 didapatkan hasil sebagai berikut

Diktahui result dokter yang relevan adalah dokter dengan

urutan ke 1 , 2 , 5, 6, 7

Precision = index relevan / index berlaku untuk seluruh

index

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 126: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

104

seperti berikut :

index1 = 1/1= 1

index2 = 2/2=1

index3 = 2/3=0.667

,index4 = 2/4=0.5

index5 = 3/5 =0.6

index6 = 4/5 =0.8 dan seterusnya.

Recall = |relevant ∩ retrieved| / |relevant|

index1 = 1/5= 0.2

index2 = 2/5= 0.4

index3 = 2/3= 0.4

,index4 = 2/4= 0.4

index5 = 3/5 =0.6

index6 = 4/5 =0.8

index6 = 5/5 =1 dan seterusnya.

3. Perhitungan Average Precision Terhadap 11 Titik Recall

Tabel 25. Average Precision Terhadap 11 Titik Recall

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

QUERY 1 1 1 1 1 1 1 0.8 0.71 0.71 0.4 0.4

QUERY 2 1 1 1 1 1 1 1 1 1 1 1

QUERY 3 0.667 0.667 0.67 0.67 0.67 0.67 0.667 0.67 0.67 0.67 0.67

QUERY 4 1 1 1 1 1 1 1 1 1 1 0.92

QUERY 5 1 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.71 0.71

QUERY 6 1 1 1 1 1 1 1 1 1 0.6 0.6

QUERY 7 1 1 1 1 1 1 1 1 1 1 1

QUERY 8 1 0.714 0.71 0.714 0.71 0.71 0.714 0.71 0.71 0.41 0.41

QUERY 9 1 1 1 1 1 1 1 1 1 1 1

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 127: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

105

Algoritm untuk menghitung nilai precision terhadap 11 titik recall.

. 1. Titik_akhir = index recall terakhir (missal index ke -11)

2. Jika Titik_akhir != 0

3. Titik_depan = titik akhir -1 ( missal 11-1 = index 10)

4. Cari nilai max precision untuk pada recall

Titik_depan sampai Titik_akhir

tempNilai= nilai max

5. Jika tempNilai > nilai precision untuk Titik_akhir

nilai Titik_depan =temp nilai

jika tidak

nilai Titik_depan = nilai titik akhir

QUERY 10 1 1 1 1 1 1 1 1 1 1 1

QUERY 11 0.727 0.727 0.73 0.727 0.73 0.73 0.727 0.73 0.71 0.71 0.71

QUERY 12 1 1 1 1 1 1 1 1 1 1 1

QUERY 13 1 1 1 1 1 0.88 0.875 0.88 0.88 0.88 0.88

QUERY 14 1 1 0.82 0.818 0.82 0.82 0.818 0.82 0.82 0.82 0.82

QUERY 15 1 1 1 1 1 1 1 0.71 0.71 0.71 0.71

QUERY 16 1 1 1 1 0.8 0.714 0.71 0.47 0.47 0.47

QUERY 17 0.667 0.667 0.67 0.667 0.67 0.67 0.667 0.4 0.4 0.4 0.4

QUERY 18 1 1 1 0.429 0.43 0.43 0.429 0.43 0.27 0.27 0.27

QUERY 19 1 1 1 1 1 1 1 1 0.67 0.67 0.67

QUERY 20 1 1 1 1 1 0.71 0.714 0.71 0.71 0.71 0.71

AVG 0.953 0.929 0.92 0.891 0.89 0.86 0.846 0.81 0.78 0.72 0.72

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 128: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

106

6. Titik_akhir= Titik_akhir-1

5. ulangi langkah 2

Grafik.2 Diagram Average Precision 11 Titik Recall

Keterangan :

Dari Grafik.2 diatas dapat diketahui bahwa tingkat relevansi

rekomendasi dokter yang diberikan sistem recall memiliki akurasi

dengan titik recall 0 - 0.7 dan precision 0.8 hingga 1 (70%) . Terdapat

3 penurunan yaitu di titik recall 0.8 -1 dengan precision 0.6 – 0.8 .

Dengan demikian sistem ini memiliki akurasi yang baik .

4. Kelemahan

Meskipun penelitian ini menunjukan hasil yang baik namun data

dokter yang digunakan dalam penelitian ini sangat terbatas. Jadi

rekomendasi masih terbatas untuk dokter dirumahsakit itu. Penelitian ini

akan lebih baik lagi jika data data dokter yang digunakan memuat semua

rekaman rekomendasi obat di semua tempat dokter itu bekerja.

0

0.2

0.4

0.6

0.8

1

1.2

1 2 3 4 5 6 7 8 9 10 11

Series1

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 129: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

107

BAB VI

KESIMPULAN DAN SARAN

A. Kesimpulan

Dalam penelitian ini telah dibuat aplikasi rekomendasi dokter dengan

pendekatan k-mean clustering dan Euclidean similarity. Informasi dokter yang

dihasilkan dari pendekatan tersebut menghasilkan nilai precision yang

mencapai 0.8 sampai 1 dan recal berada di titik 0 sampai 7. Dengan demikian

dapat disimpulkan. Information retrival dengan menggunakan k-mean untuk

dan Euclidean distance menghasilkan rekomendasi dokter yang sesuai dengan

yang diharapkan sales obat.

B. Saran

Berdasarkan kelemahan yang telah dijelaskan pada poin 5.3.4.

Disarankan bagi peneliti yang akan melakukan penelitian menggunakan

pendekatan metode K-mean dan Euclidean distance harus mempersiapkan

data dalam jumlah yang mencukupi. Misalnya dengan kasus sebuah

rumahsakit diperlukan ahulu data-data yang memuat rekaman medis selama

satu periode atau satu tahun. Karena banyanknya data sangat berpengaruh

pada kluster yang akan terbentuk serta berpengaruh juga terhadap informasi

yang diperoleh dari jarak similarity.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 130: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · C. Normalisasi ..... 6 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xvi D ... Diagaram

108

Daftar Pustaka

1. Resnick, Paul dan Varian, Hal R. 1997. Recommender systems.

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

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

3. Burke, R. 2007. Hybrid web recommender systems. In The Adaptive

Web, pages 377–408. Springer Berlin / Heidelberg.

4. Arifin Zainal, Novan Ari. 2001. “Klasifikasi Dokumen Berita Kejadian

Berbahasa Indonesia dengan Algoritma Single Pass Clustering”.

Surabaya : Institut Teknologi Sepuluh Nopember

5. Hermawan Stephanus.2011.“Mudah Membuat Aplikasi Android”.

Yogyakarta : Andi Publisher

6. Whitten, et.al. 2004. “Systems Analysis & Design Methods. 7th ed”.

7. Han Jiawei, Kamber M. 2006.“Data Mining Concept And

Technique”.New York : Diane Cera

8. www.tecno.okezone.com.2012.“SAP lirik kekuatan mobile, in-memory

&cloud ”

9. www.tecnoup.com .2012. “Juniper: Penjualan Smarphone Samsung 2

kali lipat iPhone, Sony Seharusnya Labih Baik”

10. www.husni.trunojoyo.ac.id . 2010. “Husni-IR-dan-Klasifikasi”

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI