• Tidak ada hasil yang ditemukan

MESIN PENCARI LAGU BERDASARKAN LIRIK LAGU MENGGUNAKAN METODE MODEL RUANG VEKTOR

N/A
N/A
Protected

Academic year: 2019

Membagikan "MESIN PENCARI LAGU BERDASARKAN LIRIK LAGU MENGGUNAKAN METODE MODEL RUANG VEKTOR"

Copied!
110
0
0

Teks penuh

(1)

MESIN PENCARI LAGU

BERDASARKAN LIRIK LAGU MENGGUNAKAN METODE

MODEL RUANG VEKTOR

SKRIPSI

Diajukan untuk Memenuhi Salah Satu Syarat

Memperoleh Gelar Sarjana Komputer

Program Studi Teknik Informatika

Oleh:

L. DIMAS ARYO BIMO YP.

06 5314 103

JURUSAN TEKNIK INFORMATIKA

FAKULTAS SAINS dan TEKNOLOGI

UNIVERSITAS SANATA DHARMA

YOGYAKARTA

(2)

ii

SONG SEARCH ENGINE BASED ON SONG LYRIC USING

VECTOR SPACE MODEL METHOD

A THESIS

Present as Partial Fulfillment of the Requirements

To Obtain the Bachelor of Computer

In Informatics Engineering Department

By :

L. DIMAS ARYO BIMO YP.

06 5314 103

DEPARTMENT OF INFORMATICS ENGINEERING

FACULTY OF SCINECE AND TECHNOLOGY

SANATA DHARMA UNIVERSITY

YOGYAKARTA

(3)

iii

SKRIPSI

MESIN PENCARI LAGU

BERDASARKAN LIRIK LAGU MENGGUNAKAN METODE

MODEL RUANG VEKTOR

Oleh :

L. Dimas Aryo Bimo YP.

NIM : 06 5314 103

Telah Disetujui Oleh :

Dosen Pembimbing Tugas Akhir

(4)

iv

SKRIPSI

MESIN PENCARI LAGU

BERDASARKAN LIRIK LAGU MENGGUNAKAN METODE

MODEL RUANG VEKTOR

Dipersiapkan dan ditulis Oleh :

L. Dimas Aryo Bimo YP.

NIM : 06 5314 103

Telah dipertahankan di depan Panitia Penguji

Pada tanggal 14 Desember 2010

dan dinyatakan memenuhi syarat

Susunan Panitia Penguji

Nama Lengkap Tanda Tangan

Ketua Sri Hartati Wijono, S.Si., M.Kom. ………... Sekretaris Puspaningtyas Sanjoyo Adi, S.T., M.T. ………...

Anggota Alb. Agung Hadhiatma, S.T., M.T. ………...

Yogyakarta, ………...

Fakultas Sains dan Teknologi

Universitas Sanata Dharma

Dekan

(5)

v

PERNYATAAN KEASLIAN KARYA

Saya menyatakan sesungguhnya bahwa skripsi yang saya tulis ini tidak memuat karya orang lain kecuali telah disebutkan dalam kutipan atau daftar pustaka, sebagaimana layaknya karya ilmiah.

Yogyakarta, Januari 2012 Penulis ,

(6)

vi

PERNYATAAN PERSETUJUAN

PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS

Yang bertandatangan di bawah ini, saya mahasiswa Universitas Sanata Dharma : Nama : L. Dimas Aryo Bimo YP.

NIM : 06 5314 103

Demi pengembangan ilmu pengetahuan, saya memberikan kepada perpustakaan Universitas Sanata Dharma karya ilmiah saya yang berjudul:

MESIN PENCARI LAGU

BERDASARKAN LIRIK LAGU MENGGUNAKAN METODE MODEL

RUANG VEKTOR

Beserta perangkat yang diperlukan (bila ada). Dengan demikian saya memberikan kepada perpustakaan Universitas Sanata Dharma hak untuk menyimpan, mengalihkan dalam bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas dan mepublikasikannya di internet atau media lain untuk kepentingan akademis tanpa perlu meminta ijin dari saya maupun memberikan royalty kepada saya selama tetap mencantumkan nama saya sebagai penulis. Demikian pernyataan ini, yang saya buat dengan sebenarnya.

Dibuat di Yogyakarta,

Pada tanggal : Januari 2012 Yang menyatakan

(7)

vii

HALAMAN PERSEMBAHAN

Skripsi ini saya persembahkan untuk :

Bapak dan Ibu E. Yudhiatmoko, H. Mas Dinda YP., dan B. Susilowati PP. atas semangat, kasih, sarana dan prasarana, sehingga skripsi ini dapat terselesaikan dengan

baik.

Untuk sahabat dan teman- temanku, terimakasih atas segala bentuk motivasi dan pembelajaran yang kalian berikan.

(8)

viii

HALAMAN MOTO

“ If you do not believe you would not succeed and

(9)

ix

KATA PENGANTAR

Penulis menghaturkan puji syukur kepada Tuhan YME atas berkat dan bimbingan-Nya sehingga penulis dapat menyelsaikan skripsi dengan baik. Skripsi adalah studi akhir yang merupakan salah satu tugas akhir yang diwajibkan pada mahasiswa Program Studi Teknik Informatika Fakultas Sains dan Teknologi Universitas Sanata Dharma Yogyakarta setelah lulus mata kuliah teori, praktikum, dan kerja praktek. Tujuan dari pembuatan skripsi ini adalah sebagai salah satu syarat untuk mencapai derajat sarjana computer dari Program Studi Teknik Informatika Fakultas Sains dan Teknologi Universitas Sanata Dharma Yogyakarta.

Penulis menyadari bahwa dalam pembuatan skripsi ini tidak terlepas dari bantuan berbagai pihak yang telah menyumangakn pikiran, tenaga, dan bimbingan kepada penulis baik secara langsug maupun tidak langsung. Oleh sebab itu. Penulis mengucapkan terimakasih kepada:

1. Bapak Yosef Agung Cahyanta, S.T., M.T. selaku Dekan Fakultas Sains dan

Teknologi Universitas Sanata Dharma Yogyakarta.

2. Ibu Ridowati Gunawan S. Kom., M.T. selaku Ketua Jurusan Fakultas Sains dan Teknologi Universitas Sanata Dharma Yogyakarta.

3. Bapak Alb. Agung Hadhitama S.T., M.T. selaku Dosen pembimbing yang telah memberikan bimbingan dan masukan yang sangat berarti kepada penulis.

4. Ibu Sri Hartati Wijono, S.Si., M.Kom. dan Bapak Puspaningtyas Sanjoyo Adi, S.T., M.T. selaku Dosen penguji.

(10)

x Demikian laporan skripsi ini dibuat dengan usaha terbaik dari penulis. Tetapi jika masih ada kekurangan yang disebabkan keterbatasan waktu dan pengetahuan yang dimiliki penulis, maka kritik dan saran yang bersifat membangun sangat diharapkan demi kesempurnaan laporan ini. Akhir kata semoga laporan ini dapat berguna bagi semua pihak yang membutuhkan.

Yogyakarta, Januari 2012

(11)

xi

ABSTRAKSI

(12)

xii ABSTRACT

To searh a song in database collection, users need to remember the title of that song.

However, the problem emerges when the users do not remember the title of the songs

or the lyrics, but just remembering part of lyrics. This thesis conduct a research to

facilitate user to find song with part of lyrics which users remember based on

Information Retrieval System theory using vector space model with the higher

(13)

xiii

DAFTAR ISI

HALAMAN JUDUL... i

HALAMAN PERSETUJUAN PEMBIMBING ... iii

HALAMAN PENGESAHAN... iv

PERNYATAAN KEASLIAN KARYA ... v

PERNYATAAN PERSETUJUAN ... vi

HALAMAN PERSEMBAHAN ... vii

HALAMAN MOTO ... viii

KATA PENGANTAR ... ix

ABSTRAKSI ... xi

ABSTRACT ... xii

DAFTAR ISI ... xiii

DAFTAR TABEL ... xiiiv

DAFTAR GAMBAR ... xiiiv

BAB I Error! Bookmark not defined. PENDAHULUAN ... 1

1.1 Latar Belakang ... 1

1.2 Rumusan Masalah ... 2

1.3 Tujuan ... 2

1.4 Batasan Masalah ... 2

1.5 Metodologi Penelitian ... 3

1.6 Sistematika Penulisan ... 4

BAB II ... 6

LANDASAN TEORI ... 6

2.1 Pengertian Sistem Temu Kembali Informasi ... 6

2.2 Pengindeksan (indexing ) dalam Sistem Temu Kembali ... 11

2.2.2 Parsing ... 11

2.2.3 Stemming ... 12

2.2.4 Porter Stemmer for Bahasa Indonesia ... 13

2.3 Pembobotan kata ... 15

2.3.1 Metode TF/IDF ... 17

2.3.2 Ilustrasi TF/IDF ... 20

2.4 Teknik- teknik temu kembali informasi ... 20

2.4.1 Model Ruang Vektor (Vector Space Model) ... 20

2.4.2 Ilustrasi perhitungan Model Ruang Vektor (Vector Space Model) ... 24

2.5 Contoh proses pencarian lirik lagu secara manual ... 26

2.6 Evaluasi Sistem Temu Kembali Informasi ... 26

BAB III ... 28

ANALISIS DAN PERANCANGAN... 28

3.1 Analisa Sistem ... 28

3.1.1 Analisis Kebutuhan ... 28

3.2 Metode Pengumpulan Data ... 28

3.3 Perancangan Sistem ... 29

(14)

xiv

3.3.1.1 Aktor ... 29

3.3.1.2Diagram Use Case ... 31

3.3.1.3 Tabel Use Case ... 32

3.3.1.4 Tabel Skenario Use Case ... 32

3.3.2 Bagan Alir Program ... 37

3.3.3 Perancangan Database ... 52

3.4 Perancangan Antarmuka (Interface) ... 56

3.5 Class Diagram ... 61

Gambar 3.20 Class Diagram Searching ... 63

BAB IV ... 64

IMPLEMENTASI ... 64

4.1 Spesifikasi Software dan Hardware yang digunakan ... 64

4.1.1 Spesifikasi Software ... 64

4.1.2 Spesifikasi Hardware ... 64

4.2 Koneksi Basis Data MySql dengan Sistem ... 64

4.3 Core Sistem Mesin Pencari ... 64

4.4 Pembuatan Antarmuka (Interface) ... 71

4.4.1 Halaman Menu Utama Pengguna ... 71

4.4.2 Halaman Pencarian ... 72

4.4.3 Halaman About ... 74

4.4.4 Halaman Login ... 74

4.4.5 Halaman Menu Utama Administrator ... 75

4.4.7 Halaman Searching ... 76

4.4.8 Halaman Edit Password ... 76

4.4.9 Halaman Edit Stopword ... 77

4.4.10 Halaman Edit Dictionary ... 78

4.5 Dokumentasi Program ... 79

BAB V... 80

ANALISA HASIL ... 80

5.1 Proses Indexing ... 80

5.2 Proses Pencarian ( Searching ) ... 82

5.3 Proses Edit Stopword dan Kamus (Dictionary) ... 83

5.4 Analisa Hasil Kuisioner Responden ... 84

5.5 Analisa Hasil Percobaan Penulis ... 87

BAB VI ... 95

KESIMPULAN ... 95

6.1 Kesimpulan ... 95

6.2 Saran ... 95

(15)

1

BAB I

PENDAHULUAN

1.1 Latar Belakang

Banyaknya lagu yang beredar di Indonesia pada saat ini, tidak memungkinkan masyarakat untuk dapat menghafal semua lirik lagu yang ada. Dalam hal ini, lirik lagu berbahasa Indonesia. Sebagai contoh, ketika seorang pelanggan berkunjung ke tempat karaoke, di dalam ruangan karaoke hanya disediakan aplikasi pencarian berdasarkan judul lagu dan jenis bahasa dari lagu sebagai fasilitas pemilihan lagu dari koleksi lagu yang ada. Masalah yang sering dialami pelanggan adalah lupa atau ketidaktahuan pelanggan terhadap judul lagu yang akan dimainkan, sedangkan pelanggan hanya dapat mengingat sepotong lirik dari lagu yang dimaksud. Hal ini tentu saja akan mengurangi kenyamanan pelanggan saat berkaraoke. Untuk mengatasi permasalahan tersebut, maka dibutuhkan suatu sistem atau aplikasi pencari lirik lagu yang dapat memberikan informasi berupa lirik sekaligus judul lagu berdasarkan potongan lirik lagu sebagai kata kunci pencarian, dengan tingkat kesesuaian yang paling maksimal. Salah satu cara yang digunakan untuk membangun sistem pencari lirik lagu adalah dengan menggunakan sistem temu kembali informasi.

(16)

2 dokumen yang relevan dengan query dari user.

Teknik untuk melakukan proses indexing adalah dengan memberikan bobot terhadap tiap kata berdasarkan frekuensi kemunculan kata pada suatu dokumen lirik dan menyimpannya ke dalam koleksi database. Dari proses indexing ini, teknik yang dapat digunakan untuk mencari dokumen yang relevan dengan query dari pengguna adalah berdasarkan jumlah frekuensi kemunculan kata paling banyak, dengan teknik ini akan ditemukan urutan dokumen yang berhasil ditemukan berdasarkan jumlah frekuensi kemunculan kata.

1.2 Rumusan Masalah

Bagaimana cara mengimplementasikan program mesin pencari untuk mempermudah pencarian data lirik dan berdasarkan potongan lirik tertentu dengan tingkat kesesuaian tertinggi?

1.3 Tujuan

Membuat program mesin pencari untuk mempermudah pencarian lagu dari koleksi lagu berdasarkan lirik tertentu dengan tingkat kesesuaian tinggi.

1.4 Batasan Masalah

Dalam aplikasi mesin pencari data lagu dilakukan beberapa batasan sebagai berikut :

1. Data yang dapat diproses adalah data teks (*.txt) untuk data lirik dan (*.mp3) untuk data lagu.

(17)

3 19 berbahasa Indonesia.

3. Pencarian data berdasarkan jumlah frekuensi kemunculan kata dalam lirik.

1.5 Metodologi Penelitian

Dalam penyusunan tugas akhir dan pembuatan program bantu pencarian data lirik lagu, digunakan beberapa metode untuk mencari informasi yang diperlukan, yaitu:

1. Metode studi literatur

Mencari dan mengumpulkan literatur- literatur yang berkaitan dengan permasalahan yang dikerjakan, yaitu mengenai sistem temu kembali informasi (Information retrieval system) menggunakan metode model ruang vektor (vector space model), data lirik lagu melalui internet dan media informasi lainnya.

2. Metode pengembangan sistem

Metode pengembangan sistem yang dipakai dalam pembuatan program bantu pencarian data lagu menggunakan metode Linear Sequential Model/ Waterfall Model. Model ini adalah model klasik yang bersifat sistematis, berurutan dalam membangun perangkat lunak. Berikut ini adalah gambaran dari waterfall model.

Fase-fase dalam Waterfall Model menurut referensi Pressman:

1. Analisa: Membuat bagan alir program, diagram arus data (DFD) dan ER-Diagram.

(18)

4 3. Implementasi: Menerapkan hasil analisa dan desain pada tahap

sebelumnya.

4. Testing: Menguji dan menganalisa hasil program.

Gambar 1.1 Fase-fase dalam Waterfall Model menurut referensi Pressman

1.6 Sistematika Penulisan

BAB I PENDAHULUAN

Memberikan gambaran secara umum tentang isi skripsi yang meliputi: Latar belakang, rumusan masalah, batasan masalah, tujuan dan manfaat, metode penelitian dan sistematika penulisan.

BAB II LANDASAN TEORI

Berisi konsep dasar sistem temu kembali informasi (information retrieval system), bagian- bagian dari sistem temu kembali informasi, teknik- teknik temu- kembali informasi, dan evaluasi sistem temu kembali informasi.

BAB III ANALISIS DAN PERANCANGAN SISTEM

(19)

5 kamus data, E-R diagram sistem, perancangan proses, perancangan basis data, perancangan modul, perancangan tampilan masukan dan keluaran untuk pengguna, dan perancangan teknologi.

BAB IV IMPLEMENTASI

Berisi penjelasan dan fungsi program bantu pencarian sebagai alat bantu pencarian data lirik dan lagu.

BAB V ANALISIS HASIL

Berisi evaluasi program sistem temu- kembali informasi, kelebihan dan kekurangan program.

BAB VI KESIMPULAN DAN SARAN

Berisi kesimpulan dan saran dari pembuatan program bantu pencarian data lirik dan lagu

(20)

6

BAB II

LANDASAN TEORI

2.1 Pengertian Sistem Temu Kembali Informasi

Sistem temu kembali informasi (information retrieval system), adalah suatu proses untuk mengidentifikasi, kemudian memanggil (retrieve) suatu data dari suatu simpanan file, sebagai jawaban atas permintaan informasi. Menurut Lancaster (1968) dalam Rijsbergen (1979):” Sebuah information retrieval system

(Sistem temu kembali informasi) tidak memberitahu (yakni tidak mengubah pengetahuan) pengguna mengenai masalah yang ditanyakannya. Sistem tersebut hanya memberi-tahukan keberadaan (atau ketidakberadaan) dan keterangan dokumen- dokumen yang berhubungan dengan permintaannya.”

(21)

7  2n = jumlah kemungkinan himpunan bagian dari dokumen yang

ditemukan.

Sistem temu-kembali akan mengambil salah satu dari kemungkinan tersebut. Sistem temu-kembali informasi pada dasarnya dibagi dalam dua komponen utama yaitu sistem pengindeksan (indexing) yang menghasilkan basis data sistem dan temu-kembali yang merupakan gabungan dari user interface dan look-up-table.

Sistem temu kembali informasi (information retrieval system) digunakan untuk menemukan kembali (retrieve) informasi-informasi yang relevan terhadap kebutuhan pengguna dari suatu kumpulan informasi secara otomatis.

Sistem

Temu Kembali

Informasi

Query

1. Dok1 2. Dok2

3. Dok3 Hasil

Pencarian

Koleksi Dokumen

Hasil Pencarian

(22)

8 Salah satu aplikasi umum dari sistem temu kembali informasi adalah search engine atau mesin pencarian yang terdapat pada jaringan internet. Pengguna dapat mencari halaman-halaman web yang dibutuhkannya melalui search engine.

Sistem temu kembali informasi terutama berhubungan dengan pencarian informasi yang isinya tidak memiliki struktur. Demikian pula ekspresi kebutuhan pengguna yang disebut query, juga tidak memiliki struktur. Hal ini yang membedakan sistem temu kembali informasi dengan sistem basis data. Dokumen adalah contoh informasi yang tidak terstruktur. Isi dari suatu dokumen sangat tergantung pada pembuat dokumen tersebut.

(23)

9

Gambar 2.2 Bagian-bagian Sistem Temu Kembali Informasimenurut referensi Rila Mandala dan Hendra Setiawan

Gambar 2.2 memperlihatkan bahwa terdapat dua buah alur operasi pada sistem temu kembali informasi. Alur pertama dimulai dari koleksi dokumen dan alur kedua dimulai dari query pengguna. Alur pertama yaitu pemrosesan terhadap koleksi dokumen menjadi basis data indeks tidak tergantung pada alur kedua. Sedangkan alur kedua tergantung dari keberadaan basis data indeks yang dihasilkan pada alur pertama.

(24)

10 1. Text Operations (operasi terhadap teks) yang meliputi pemilihan kata-kata

dalam query maupun dokumen (term selection) dalam transformasi dokumen atau query menjadi termsindex (indeks dari kata-kata).

2. Query formulation (formulasi terhadap query) yaitu memberi bobot pada indeks kata-kata query.

3. Ranking (pengurutan), mencari dokumen-dokumen yang relevan terhadap query dan mengurutkan dokumen tersebut berdasarkan kesesuaiannya dengan query.

4. Indexing (pengindeksan), membangun basis data indeks dari koleksi dokumen. Dilakukan terlebih dahulu sebelum pencarian dokumen dilakukan.

Sistem temu kembali informasi menerima query dari pengguna, kemudian melakukan perangkingan terhadap dokumen pada koleksi berdasarkan kesesuaiannya dengan query. Hasil pengurutan yang diberikan kepada pengguna merupakan dokumen yang menurut sistem relevan dengan query. Namun relevansi dokumen terhadap suatu query merupakan penilaian pengguna yang subjektif dan dipengaruhi banyak faktor seperti topik, pewaktuan, sumber informasi maupun tujuan pengguna.

(25)

11

2.2 Pengindeksan (indexing ) dalam Sistem Temu Kembali

Indexing merupakan sebuah proses untuk melakukan pengindeksan terhadap kumpulan dokumen yang akan disediakan sebagai informasi kepada pemakai. Proses pengindeksan bisa secara manual ataupun secara otomatis. Dewasa ini, sistem pengindeksan secara manual mulai digantikan oleh sistem pengindeksan otomatis. Adapun tahapan dari pengindeksan adalah sebagai berikut :

Parsing dokumen yaitu proses pengambilan kata-kata dari kumpulan dokumen.

Stoplist yaitu proses pembuangan kata tidak penting seperti: tetapi, yaitu, sedangkan, dan sebagainya.

Stemming yaitu proses penghilangan/ pemotongan dari suatu kata menjadi bentuk dasar. Kata “diadaptasikan” atau “beradaptasi”

menjadi kata “adaptasi” sebagai istilah.

Term Weighting dan Inverted File yaitu proses pemberian bobot pada istilah.

2.2.2 Parsing

(26)

12 tidak signifikan dalam membedakan dokumen atau query misalnya kata-kata tugas seperti yang, hingga, dan dengan.

2.2.3 Stemming

Stemming adalah proses penghilangan prefiks dan sufiks dari query dan istilah - istilah dokumen (Grossman, 2002). Stemming dilakukan atas dasar asumsi bahwa kata-kata yang memiliki stem yang sama memiliki makna yang serupa sehingga pengguna tidak keberatan untuk memperoleh dokumen-dokumen yang di dalamnya terdapat kata-kata dengan stem yang sama dengan kuerinya. Teknik-teknik stemming dapat dikategorikan menjadi:

 Berdasarkan aturan sesuai bahasa tertentu  Berdasarkan kamus

(27)

13 menangani dokumen dalam Bahasa Indonesia. Bahasa Indonesia memiliki daftar kata buang (stoplist) serta sistem pembentukan kata yang sangat berbeda dengan bahasa Inggris, sehingga diperlukan IRS yang khusus untuk Bahasa Indonesia.

2.2.4 Porter Stemmer for Bahasa Indonesia

Porter Stemmer for Bahasa Indonesia dikembangkan oleh Fadillah Z. Tala pada tahun 2003. Implementasi Porter Stemmer for Bahasa Indonesia berdasarkan English Porter Stemmer yang dikembangkan oleh W.B. Frakes pada tahun 1992. Karena bahasa Inggris datang dari kelas yang berbeda, beberapa modifikasi telah dilakukan untuk membuat Algoritma Porter dapat digunakan sesuai dengan bahasa Indonesia. Desain dari Porter Stemmer for Bahasa Indonesia dapat dilihat pada gambar 2.3 di bawah ini:

(28)

14 Pada gambar 2.3 terlihat beberapa langkah 'removal' menurut aturan yang ada pada tabel 2.1 sampai dengan tabel 2.5.

Tabel 2.1: Kelompok rule pertama : inflectional particles Suffix Replacement Measure

Condition

Tabel 2.2: Kelompok rule kedua :inflectional possesive pronouns Suffix Replacement Measure

Condition

Tabel 2.3: Kelompok rule ketiga: first order of derivational prefixes Prefix Replacement Measure

Condition

Tabel 2.4: Kelompok rule keempat: second order of derivational prefixes Prefix Replacement Measure

(29)

15

pel NULL 2 ajar pelajar → ajar

pe NULL 2 NULL pekerja → kerja

Tabel 2.5: Kelompok rule kelima: derivational suffixes Suffix Replacement Measure

Condition (per)janjian → janji

i NUUL 2 V|K…c1c1,c1≠ s, c2≠ i

Didalam memberikan bobot pada sebuah istilah, terdapat berbagai macam teknik antara lain yaitu :

1. Teknik pembobotan berdasarkan frekuensi kemunculan istilah pada satu dokumen. Teknik pembobotan ini cukup sederhana dimana bobot suatu istilah pada sebuah dokumen berdasarkan jumlah kemunculannya pada dokumen tersebut.

(30)

16 w(t,d) = tf(t,d)*log(N/nt)

 tfik merupakan frekuensi dari istilah k dalam dokumen i.  n adalah jumlah dokumen dalam kumpulan dokumen.  dfk adalah jumlah dokumen yang mengandung istilah k.  Maxj tfij adalah frekuensi istilah terbesar pada satu dokumen.

Pada teknik pembobotan ini, bobot istilah telah dinormalisasi. Dalam menentukan bobot suatu istilah tidak hanya berdasarkan frekuensi kemunculan istilah di satu dokumen, tetapi juga memperhatikan frekuensi terbesar pada suatu istilah yang dimiliki oleh dokumen bersangkutan. Hal ini untuk menentukan posisi relatif bobot dari istilah dibanding dengan istilah-istilah lain di dokumen yang sama. Selain itu teknik ini juga memperhitungkan jumlah dokumen yang mengandung istilah yang bersangkutan dan jumlah keseluruhan dokumen. Hal ini berguna untuk mengetahui posisi relatif bobot istilah bersangkutan pada suatu dokumen dibandingkan dengan dokumen-dokumen lain yang memiliki istilah yang sama. Sehingga jika sebuah istilah mempunyai frekuensi kemunculan yang sama pada dua dokumen belum tentu mempunyai bobot yang sama.

(31)

17 Dimana :

 w(t,d) adalah bobot dari term t dalam dokumen d.  tf(t,d) adalah frekuensi term dalam dokumen(tf).

 N merupakan ukuran data training yang digunakan untuk penghitungan IDF.

nt adalah jumlah dari dokumen yang ditraining yang mengandung nilai t.

Fungsi metode ini adalah untuk mencari representasi nilai dari tiap-tiap dokumen dari suatu kumpulan data training (training set).

2.3.1 Metode TF/IDF

Metode TF/IDF (Robertson, 2005) merupakan suatu cara untuk memberikan bobot hubungan suatu kata (term) terhadap dokumen. Metode ini menggabungkan dua konsep untuk perhitungan bobot yaitu, frekuensi kemunculan sebuah kata didalam sebuah dokumen tertentu dan inverse frekuensi dokumen yang mengandung kata tersebut. Frekuensi kemunculan kata didalam dokumen yang diberikan menunjukan seberapa penting kata tersebut didalam dokumen. Frekuensi dokumen yang mengandung kata tersebut menunjukkan seberapa umum kata tersebut muncul. Sehingga bobot hubungan antara sebuah kata dan sebuah dokumen akan tinggi apabila frekuensi kata tersebut tinggi, didalam dokumen dan frekuensi keseluruhan dokumen yang mengandung kata tersebut rendah pada kumpulan dokumen (database).

(32)

18 Wij = tfij * IDF

Wij = tfij * Log(N/n) Dimana:

Wij = bobot kata (term) tj terhadap dokumen di tfij = jumlah kemunculan kata/ term tj dalam di

N = jumlah semua dokumen yang ada dalam database n = banyaknya dokumen yang mengandung kata (term)

Berdasarkan rumus diatas, berapapun besarnya tfij, apabila N = n maka akan didapatkan hasil 0 (nol) untuk perhitungan IDF. Untuk itu dapat ditambahkan nilai 1 (satu) pada sisi IDF, sehingga perhitungan bobotnya menjadi seperti berikut:

Wij = tfij *( Log(N/n) +1)

Untuk menstandarisasi nilai bobot kedalam interval 0 sampai dengan 1, maka rumus Tf-Idf yang menggunakan normalisasi menjadi seperti berikut:

Dimana:

Wij = bobot kata (term) tj terhadap dokumen di tfij = jumlah kemunculan kata/ term tj dalam di

tfik = jumlah kemunculan kata/ term tj dalam semua dokumen N = jumlah semua dokumen yang ada dalam database n = banyaknya dokumen yang mengandung kata (term)

(33)

19

Gambar 2.4 Ilustrasi Algoritma TF/IDF

Perhitungan hubungan Term t1 dalam dokumen D2 :

w13 = 3*(Log(5/3)+1) w13 = 3* 1.221849 w13 = 3.665546

Keterangan:

D1,D2,D3,D4,D5 = dokumen

tf = banyaknya kata yang dicari pada sebuah dokumen D = total dokumen

df = banyaknya dokumen yang megandung kata yang dicari. W = bobot dokumen terhadap kata yang dicari

(34)

20

2.3.2 Ilustrasi TF/IDF

Query / Kata kunci(kk) = joni susi bungkus Dokumen 1 (D1) = joni adu bungkus

Dokumen 2 (D2) = susi adu lari bungkus roti Dokumen 3 (D3) = susi susi adu lari lari roti Jumlah dokumen (D) = 3

Tabel 2.6 Perhitungan TF/IDF

2.4 Teknik- teknik temu kembali informasi

Salah satu teknik temu- kembali informasi yang sudah dikembangkan yaitu teknik vector space model (model ruang vektor). Untuk lebih jelasnya mengenai teknik model ruang vektor ini dapat dilihat pada penjelasan berikut.

2.4.1 Model Ruang Vektor (Vector Space Model)

(35)

21 sebagai vektor berdimensi n. Sebagai contoh terdapat 3 buah kata (T1, T2 dan T3), 2 buah dokumen (D1 dan D2) serta sebuah query Q. Masing-masing bernilai :

D1 = 2T1+3T2+5T3 D2 = 3T1+7T2+0T3 Q = 0T1+0T2+2T3

Gambar 2.5 Representasi dokumen dan vektor pada ruang vektor

Koleksi dokumen direpresentasikan dalam ruang vektor sebagai matriks kata-dokumen (terms-documents matrix). Nilai dari elemen matriks wij adalah

bobot kata i dalam dokumen j. Misalkan terdapat sekumpulan kata T sejumlah n, yaitu T = (T1, T2, … , Tn) dan sekumpulan dokumen D sejumlah m, yaitu D =

(D1, D2, … , Dm) serta wij adalah bobot kata i pada dokumen j. Maka representasi

(36)

22

T1 T2 …. Tn

D1 w11 w21 wn1

D2 w12 w22 wn2

: : : :

: : : :

Dm w1m w2m wnm

Penentuan relevansi dokumen dengan query dipandang sebagai pengukuran kesamaan (similarity measure) antara vektor dokumen dengan vektor query. Semakin “sama” suatu vektor dokumen dengan vektor query maka dokumen dapat dipandang semakin relevan dengan query. Salah satu pengukuran kesesuaian yang baik adalah dengan memperhatikan perbedaan arah (direction difference) dari kedua vektor tersebut. Perbedaan arah kedua vektor dalam geometri dapat dianggap sebagai sudut yang terbentuk oleh kedua vektor. Gambar 2.5 mengilustrasikan kesamaan antara dokumen D1, dan D2 dengan query Q.

Sudut Ө1 menggambarkan kesamaan dokumen D1 dengan query sedangkan sudut

(37)

23 Gambar 2.6 Representasi grafis sudut vector dokumen dan query

Jika Q adalah vektor query dan D adalah vektor dokumen, yang

merupakan dua buah vektor dalam ruang berdimensi-n, dan Ө adalah sudut yang dibentuk oleh kedua vektor tersebut. Maka :

θ

Q • D adalah hasil perkalian dalam (inner product) kedua vektor, sehingga jika Q = (0t1, 0t2, 2t3)

(38)

24

Kedekatan query dan dokumen diindikasikan dengan sudut yang dibentuk. Nilai cosinus yang cenderung besar mengindikasikan bahwa dokumen cenderung sesuai query. Nilai cosinus sama dengan 1 mengindikasikan bahwa dokumen sesuai dengan dengan query.

2.4.2 Ilustrasi perhitungan Model Ruang Vektor (Vector Space Model)

Tabel 2.7 Perhitungan Vector Space Model

(39)

25

Sqrt Sum(Di) = 𝑺𝑸𝑹𝑻( 𝒏𝒋=𝟏𝑫𝒊𝟐,𝒋)

dimana j = kata didalam database

maka untuk perhitungan Sqrt Sum(Di) = 𝑺𝑸𝑹𝑻( 𝒏𝒋=𝟏𝑫𝟐𝟐,𝒋)

= 0 + 0.2 + 0.3333 + 0.2 + 0.5 + 0.5

= 1.7333

= 1.3166

Sum(Q • Di) = ( 𝒏𝒋=𝟏𝑸𝒋𝑫𝒊,𝒋)

dimana j = kata didalam database

maka untuk perhitungan Sum(Q • Di) = ( 𝒏𝒋=𝟏𝑸𝒋𝑫𝟑,𝒋)

=0 + 0.16 + 0 + 0 + 0 + 0 = 0.16

Menghitung Cosinus sudut antara vektor query dengan vektor data :

Cosine (Di) = SUM (q • Di ) / [sqrt(q)*sqrt(Di)] D1 = 1.25 / (1.3038405*1.35401) = 0.70805

D2 = 0.29 / (1.3038405*1.3166) = 0.16894

(40)

26 Tabel 2.8 Hasil perhitungan vector space model

D1 0.70805 rangking 1

D2 0.16894 rangking 2

D3 0.07867 rangking 3

2.5 Contoh proses pencarian lirik lagu secara manual

Contoh proses pencarian lirik lagu menggunakan metode ruang verktor secara manual disertakan dalam lampiran 1.

2.6 Evaluasi Sistem Temu Kembali Informasi

Dalam bidang temu kembali informasi (information retrieval) terdapat berbagai metode yang digunakan dalam pembobotan kata, pengukuran kesesuaian, perangkingan, umpan balik relevansi, model sistem temu kembali informasi dan lain-lain. Sehingga diperlukan suatu ukuran sebagai perbandingan keefektifan metode-metode tersebut.

Tujuan dari sistem temu kembali informasi yang ideal adalah : 1. Menemukan seluruh dokumen yang relevan terhadap suatu query.

2. Hanya menemukan dokumen relevan saja, artinya tidak terdapat dokumen yang tidak relevan pada dokumen hasil pencarian.

Dua keadaan tersebut digunakan untuk menghitung performansi sistem temu kembali, yaitu recall dan precision.

(41)

27 Sedangkan precision dinyatakan sebagai bagian dokumen relevan yang

ditemukan:

Keduanya menggambarkan performansi dari sistem temu kembali informasi dengan melakukan perhitungan terhadap jumlah dokumen relevan hasil pencarian.

Tabel 2.9 Tabel Perhitungan Recall and Precision

Relevan Tidak Relevan Total

Ditemukan (a) 1 (b)0 (a+b) 1

Tidak Ditemukan (c) 0 (d) 0 (c+d) 0

(42)

28

BAB III

ANALISIS DAN PERANCANGAN

3.1 Analisa Sistem

Pada bagian ini akan dijelaskan mengenai analisis sistem, metode pengumpulan data dan perancangan sistem mesin pencari data lirik dan lagu dalam koleksi lagu.

3.1.1 Analisis Kebutuhan

Kebutuhan yang dibutuhkan oleh pengguna dari mesin pencari data lirik dan lagu dalam koleksi lagu adalah:

1. Pengguna membutuhkan program untuk membantu dalam mencari dokumen dari koleksi lirik lagu yang sesuai dengan penggalan lirik yang diinginkan.

2. Administrator membutuhkan program yang dapat secara otomatis melakukan proses indexing ketika user menambahkan dokumen baru ke dalam koleksi lirik.

3. Administrator membutuhkan program yang dapat mengelola atau memanage daftar stoplist dan kamus baik untuk menambah, merubah, atau menghapus daftar stoplist.

3.2 Metode Pengumpulan Data

(43)

29 didapatkan dari media CD lagu dan internet. Data lirik yang didapat, akan melalui proses pemindahan ke dalam bentuk data teks (.txt) secara manual. Penamaan dokumen lirik berdasarkan judul lagu yang didapatkan dari media CD lagu dan internet, pada proses pengumpulan data tidak dilakukan pemeriksaan mengenai kebenaran data, baik data lirik maupun lagu karena penulis hanya mengacu pada data yang disediakan oleh sumber.

3.3Perancangan Sistem

3.3.1 Model Use Case

3.3.1.1Aktor

Dalam mesin pencari data lirik dan lagu dalam koleksi lagu hanya terdapat dua aktor yang terlibat yaitu Administrator dan User.

Tabel 3.1 Tabel Aktor yang terlibat

Aktor Hak Akses

Administrator  Login

 Menambah, mengedit, dan menghapus data stopword

 Menambah, mengedit, dan menghapus data kamus

 Menambah data lirik dengan melakukan indexing

 Menambah data lagu bersamaan dengan proses indexing data lirik

 Mengedit password

(44)

30

 Memutar lagu, sesuai dengan data yang didapat dari hasil pencarian data lirik

Logout

Pengguna/ User  Melakukan pencarian data lirik

(45)

31

3.3.1.2Diagram Use Case

Terdapat delapan use case dalam mesin pencari data lirik dan lagu dalam koleksi lagu yaitu: tambah dokumen lagu, tambah daftar stoplist, rubah daftar stoplist, hapus daftar stoplist, tambah daftar kamus, rubah daftar kamus, hapus daftar kamus, dan cari dokumen lirik. Untuk use case tambah daftar stoplist, rubah daftar stoplist, dan hapus daftar stoplist dijadikan dalam satu package yakni manage stoplist. Begitu juga untuk use case tambah kamus, ubah kamus, dan hapus kamus dijadikan dalam satu package manage kamus. Untuk lebih jelasnya dapat dilihat dalam gambar 3.1 di bawah ini:

(46)

32

3.3.1.3Tabel Use Case

Tabel 3.2 Tabel Use Case

Nama Use Case Keterangan Aktor

Login Verifikasi untuk mengakses menu utama dengan cara memasukkan username dan password

Administrator

Logout Keluar dari Program Administrator

Indexing Menambah koleksi dokumen lirik dan lagu yang ada

Administrator

Mengelola daftar stoplist Menambah, merubah, dan menghapus data dalam daftar stoplist

Administrator

Mengelola kamus Menambah, merubah dan menghaopus data dalam kamus

Administrator

Cari dokumen Mencari dokumen dalam koleksi dokumen yang sesuai dengan kriteria yang diinginkan

Administrator, User

3.3.1.4Tabel Skenario Use Case

Tabel 3.3 Tabel Skenario Use Case Login

Use Case : Login

Aktor : Administrator

Trigger :Usecase ini berjalan ketika Administrator mengeksekusi menu login

Aksi Aktor Reaksi Sistem

Skenario Normal

1. Aktor memanggil halaman Login admin

2.Sistem menampilkan halaman login admin

3. Aktor mengisi password 4.Aktor menekantombol login

(47)

33 6. Sistem menampilkan form halaman Aktor

Skenario Alternatif

5.Jika password salah maka sistem akan menampilkan pesan dialog bahwa password yang dimasukkan salah Tabel 3.4 Tabel Skenario Use Case Logout

Use Case : Logout Aktor : Administrator

Trigger :Usecase ini berjalan ketika Administrator mengeksekusi menu logout

Aksi Aktor Reaksi Sistem

Skenario Normal

1. Aktor mengeksekusi menu logout

2.Sistem keluar dari halaman administrator, kembali ke halaman pengguna

Tabel 3.5 Tabel Skenario Use Case Indexing Use Case : Indexing

Aktor : Administrator

Trigger :Usecase ini berjalan ketika Administrator mengeksekusi menu indexing

Aksi Aktor Reaksi Sistem

Skenario Normal

1. Aktor mengeksekusi menu indexing

2.Sistem menampilkan halaman indexing

3. Aktor memilih file lirik dengan mengeksekusi tombol browse 4. Aktor memilih file lagu dengan mengeksekusi tombol browse 5.Aktor mengeksekusitombol indexing

6. Sistem melakukan proses indexing 7. Apabila proses berhasil, Sistem menampilkan pesan dialog bahwa proses indexing berhasil

Skenario Alternatif

(48)

34 Tabel 3.6 Tabel Skenario Use Case Tambah Stoplist

Use Case : Tambah Stoplist Aktor : Administrator

Trigger :Usecase ini berjalan ketika Administrator mengeksekusi menu Stoplist

Aksi Aktor Reaksi Sistem

Skenario Normal

1. Aktor mengeksekusi menu stoplist

2.Sistem menampilkan halaman stoplist

3. Aktor memasukkan stoplist baru 4.Aktor mengeksekusitombol Add

5. Sistem melakukan proses input ke dalam daftar stoplist

Tabel 3.7 Tabel Skenario Use Case Edit Stoplist Use Case : EditStoplist

Aktor : Administrator

Trigger :Usecase ini berjalan ketika Administrator mengeksekusi menu Stoplist

Aksi Aktor Reaksi Sistem

Skenario Normal

1. Aktor mengeksekusi menu stoplist

2.Sistem menampilkan halaman stoplist

3. Aktor memilih stoplist yang akan di edit dari daftar

4. Aktor melakukan edit kata

5.Aktor mengeksekusitombol Edit

6. Sistem melakukan proses update ke dalam daftar stoplist

Tabel 3.8 Tabel Skenario Use Case hapus Stoplist Use Case : Hapus Stoplist

Aktor : Administrator

Trigger :Usecase ini berjalan ketika Administrator mengeksekusi menu Stoplist

Aksi Aktor Reaksi Sistem

Skenario Normal

1. Aktor mengeksekusi menu stoplist

(49)

35 3. Aktor memilih stoplist yang akan di

hapus dari daftar

4.Aktor mengeksekusitombol delete

6. Sistem melakukan proses delete kata dari daftar stoplist

Tabel 3.9 Tabel Skenario Use Case Tambah Kamus Use Case : Tambah Kamus

Aktor : Administrator

Trigger :Usecase ini berjalan ketika Administrator mengeksekusi menu Dictionary

Aksi Aktor Reaksi Sistem

Skenario Normal

1. Aktor mengeksekusi menu dictionary

2.Sistem menampilkan halaman dictionary

3. Aktor memasukkan dictionary baru 4.Aktor mengeksekusitombol Add

5. Sistem melakukan proses input ke dalam daftar dictionary

Tabel 3.10 Tabel Skenario Use Case Edit Kamus Use Case : Edit Kamus

Aktor : Administrator

Trigger :Usecase ini berjalan ketika Administrator mengeksekusi menu Dictionary

Aksi Aktor Reaksi Sistem

Skenario Normal

1. Aktor mengeksekusi menu dictionary

2.Sistem menampilkan halaman dictionary

3. Aktor memilih dictionary yang akan di edit dari daftar

4. Aktor melakukan edit kata

5.Aktor mengeksekusitombol Edit

(50)

36 Tabel 3.11 Tabel Skenario Use Case Hapus Kamus

Use Case : Hapus Kamus Aktor : Administrator

Trigger :Usecase ini berjalan ketika Administrator mengeksekusi menu Dictionary

Aksi Aktor Reaksi Sistem

Skenario Normal

1. Aktor mengeksekusi menu dictionary

2.Sistem menampilkan halaman dictionary

3. Aktor memilih dictionary yang akan di hapus dari daftar

4.Aktor mengeksekusitombol delete

6. Sistem melakukan proses delete kata dari daftar dictionary

Tabel 3.12 Tabel Skenario Use CaseSearching Use Case : Searching

Aktor : Administrator dan User

Trigger :Usecase ini berjalan ketika Administrator mengeksekusi menu Searching

Aksi Aktor Reaksi Sistem

Skenario Normal

1. Aktor mengeksekusi menu searching

2.Sistem menampilkan halaman searching

3. Aktor memasukkan kata kunci 4. Aktor mengeksekusi tombol search

5. Sistem melakukan proses searching 6. Apabila proses berhasil, Sistem menampilkan daftar judul lagu yang sesuai dengan kata kunci dengan rangking tertinggi berada paling atas. 5. Aktor memilih judul lagu

7. Sistem menampilkan lirik lagu dan tombol media player (play dan stop)

Skenario Alternatif

6.Apabila proses gagal, Sistem

menampilkan pesan dialog bahwa data tidak ditemukan

(51)

37 pada mediaplayer

9. Sistem memutar lagu 10. Aktor mengeksekusi tombol stop

pada mediaplayer

11. Sistem berhenti memutar lagu

3.3.2 Bagan Alir Program

Bagan alir program (program Flowchart ) merupakan bagan yang menjelaskan secara rinci langkah-langkah dari proses program. Bagan ini terdiri dari dua macam, yaitu bagan blok digaram dan alir logika program (program logic Flowchart . Bagan blok digaram digunakan untuk menjelaskan urutan langkah proses dalam program. Bagan alir program digunakan untuk menggambarkan tiap-tiap langkah di dalam program komputer secara logika.

3.3.2.1. Algoritma proses indexing

(52)

38

X bentuk kata dasar Merubah kata ke

(stemming)

Copy Dokumen ke lokasi yang ditentukan

Dok1 Dok2 Dokumen Simpan nama dokumen ke

database Ambil nama dokumen

Kata cari Term Simpan daftar kata ke

database Hapus

Stopword

Gambar 3.2 Ilustrasi Proses Indexing

(53)

39

(54)

40 Berikut ini adalah penjelasan untuk setiap proses dalam proses indexing dokumen:

1. Parsing ke dalam array

Proses ini berfungsi untuk memotong-motong dokumen kata per kata dan menyimpannya ke dalam array.

Pemenggalan per kata (parsing) dalam dokumen / query

Input dokumen / query i = 0 ReadFile()

For i to size(ReadFile())

Tampung hasil dalam array Increment i

i

Return array false

true

(55)

41 2. Proses penghapusan stopword dari array

(56)

42

Remove Stopword dari array

Kata - array[i] i to jumlah array

j to jumlah stopword

If kata = stopword[ j]

j

Jadikan kata array [i] sebagai kata

penting

i

Return seluruh kata penting dari dokumen / query

yang dipilih

Remove array [i] true

true

false false

(57)

43 3. Proses TermFiltering

(58)

44

Filtering kata arrayTF

Kata - arrayTF[i] i to jumlah arrayTF

j to jumlah term dalam database

Stoplist()

If kata = term[ j]

j

Input database true

true

false

false

End Process

Gambar 3.6 Flowchart diagram proses term filtering

4. Proses Stemming

Proses ini digunakan untuk mencari kata dasar dari kata yang ada dalam array, proses stemming menggunakan algoritma Porter Stemmer for Bahasa Indonesia yang di terapkan di dalam kelas Tokenizer() milik Bapak Puspaningtyas Sanjaya Adi, S.T, M.T.

(59)
(60)

46 Hitung Term Frekuensi

Kata - array[i] i to jumlah array

j to jumlah b

If kata = arrayTF[ j][1]

j

(61)

47 6. Proses Perhitungan Bobot

Proses perhitungan bobot ini dilakukan berdasarkan hasil perhitungan TF-IDF. Hasil IDF dari perhitungan TF-IDF kemudian dinormalisasi dengan menambahkan angka 1 (satu) pada IDF yang kemudian disimpan kedalam field IDF-Normalisasi pada tabel ta_term. Untuk mendapatkan bobot normalisasi, maka dilakukan perhitungan pada sistem sehingga menghasilkan bobot normalisasi yang kemudian disimpan kedalam database sebagai bobot yang nantinya akan digunakan dalam perhitungan saat melakukan pencarian.

IDF + 1 (Normalisasi)

(TF*IDF/SUM(TF^2*IDF^2)TERM)

Input ke dalam database

Gambar 3.8 Flowchart diagram proses hitung bobot term normalisasi

3.3.2.2. Algoritma proses pencarian dokumen

(62)

48

Gambar 3.9 Blok Diagram Proses Pencarian Dokumen

Berikut ini adalah penjelasan untuk setiap proses dalam proses pencarian dokumen:

1. Parsing ke dalam array

Proses parsing dari query ke dalam array sama dengan proses parsing dokumen ke dalam array.

2. Proses penghapusan stopword dari array

(63)

49 3. Proses Stemming

Proses ini digunakan untuk mencari kata dasar dari kata yang ada dalam array, proses stemming menggunakan algoritma Porter Stemmer for Bahasa Indonesia yang di terapkan di dalam kelas Tokenizer() milik Bapak Puspaningtyas Sanjaya Adi, S.T, M.T.

4. Proses Perhitungan Term Frekuensi

(64)

50 5. Proses query ke database

Proses query ke database dilakukan untuk mencari daftar term beserta bobotnya, dan daftar dokumen. Bobot kata berdasarkan bobot TF-IDF, proses perhitungan bobot kata dilakukan pada sisi database yakni dengan menambahkan formula pada query (queryTF[][]) dan dokumen (arrayTF[][]). Dari query dan dokumen akan menghasilkan ResultSet berupa daftar bobot tiap term serta dokumen yang berhubungan dan nilai IDF untuk setiap term. Untuk mendukung perhitungan cosines similarity antara term dokumen dan query, setiap bobot term hasil pada TF-IDF dilakukan perhitungan terlebih dahulu.

6. Proses perhitungan Vector Space Model

(65)

51 menentukan urutan rangking dari dokumen yang berhasil di dapatkan dari proses query, selanjutnya setelah array hasil[][] selesai diurutkan akan ditampilkan kepada user.

Input query

(66)

52

3.3.3 Perancangan Database

Berikut ini langkah-langkah yang akan dilakukan dalam perancangan database, yaitu :

a) Conceptual Database Design b) Logical Database Design c) Physical Database Design

Conceptual Database Design

(67)

53

Gambar 3.12 Relasi Antar Tabel Physical Database Design

Desain dari basis data yang akan digunakan dalam program mesin pencari data lirik dan lagu dalam koleksi lagu dapat dijabarkan sebagai berikut

1. Tabel ta_term

Tabel term berisikan data daftar term atau kata ,Df (Document Frequency) dan Idf (Inverse Document Frequency) dalam database.

Nama Tabel : ta_term Nama Field Kunci : id_term

Tabel ini berisi sejumlah field yang dijabarkan sebagai berikut Tabel 3.13 Tabel Term

Nama Field Tipe Data Ukuran Keterangan

(68)

54 Term Varchar 100 Isi term atau kata

Df Integer 255 Jumlah Dokumen

Idf Double 6.5 Bobot kata

2. Tabel ta_indek

Tabel ta_indek berisikan data daftar id_index, id_term, id_lirik, tf (term frekuensi) dan bobot dalam database.

Nama Tabel : ta_indek Nama Field Kunci : id_term_list

Tabel ini berisi sejumlah field yang dijabarkan dalam tabel 3.3 Tabel 3.14 Tabel Term_List

Nama Field Tipe Data Ukuran Keterangan

Id_index Integer 255 Sebagai field kunci tabel term_list

Id_term Integer 255 Sebagai Foreign key dari tabel term

Id_lirik Integer 255 Sebagai Foreign key dari tabel dokumen

Tf Integer 255 Jumlah term frekuensi atau jumlah kemunculan kata

bobot Double 6.5 Bobot kata

3. Tabel ta_doclyric

Tabel ta_doclyric berisikan data daftar id_lyric, title, dan song dalam database.

(69)

55 Nama Field Kunci : id_lyric

Tabel ini berisi sejumlah field yang dijabarkan dalam tabel 3.4 Tabel 3.15 Tabel ta_doclyric

Nama Field Tipe Data Ukuran Keterangan

Id_Lirik Integer 255 Sebagai field kunci tabel dokumen

title Varchar 100 Link dokumen lirik song Varchar 100 Link dokumen lagu

4. Tabel ta_kamus

Tabel ta_kamus berisikan data daftar kata dasar dalam database. Nama Tabel : ta_kamus

Nama Field Kunci : kata_dasar

Tabel ini berisi sejumlah field yang dijabarkan dalam tabel 3.4 Tabel 3.16 Tabel ta_kamus

Nama Field Tipe Data Ukuran Keterangan

Kata_dasar Varchar 50 Sebagai field kunci sekaligus berisi kata dasar dalam tabel ta_kamus

5. Tabel ta_stoplist

Tabel term berisikan data daftar stopword dalam database. Nama Tabel : ta_stoplist

Nama Field Kunci : id_stopword

(70)

56 Tabel 3.17 Tabel Stoplist

Nama Field Tipe Data Ukuran Keterangan

Id_stopword Integer 255 Sebagai field kunci tabel stoplist stopword Varchar 100 Isi stopword daftar kata buang

6. Tabel Admin

Tabel admin berisikan data daftar admin dalam database.

Nama Tabel : Admin

Nama Field Kunci : id_admin

Tabel ini berisi sejumlah field yang dijabarkan dalam tabel 3.6 Tabel 3.18 Tabel ta_admin

Nama Field Tipe Data Ukuran Keterangan

Id_user Integer 100 Sebagai field kunci tabel admin Password Varchar 100 Isi password daftar admin

3.4 Perancangan Antarmuka (Interface)

(71)

57 1. Desain Menu Utama

Gambar 3.13 Desain Menu Utama

Form ini adalah form utama untuk user, dari form ini user dapat memilih menu yang diinginkan dengan menekan tombol yakni tombol Cari Dokumen, Help , About, dan Login.

2. Desain Form Pencarian

Gambar 3.14 Desain Form Pencarian

(72)

58 user atau admin, user atau admin dapat memasukkan kata kunci yang diiginkan pada jTextField1, kemudian menekan tombol cari dokumen. Daftar dokumen yang berhasil didapatkan akan ditampilkan pada ItemList. Untuk membaca isi dokumen user cukup memilih nama dokumen yang ada dalam daftar ItemList, dan program akan menampilkan isinya dalam jTextArea. Untuk memutar lagu dari dokumen user dapat menekan tombol Play dan tombol Stop untuk menghentikan lagu. Untuk mereset ulang pencarian cukup dengan menekan tombol Reset.

3. Desain Form Login

Gambar 3.15 Desain Form Login

(73)

59 4. Desain Form Menu Utama Admin

Gambar 3.16 Desain Form Menu Utama Admin

Form ini adalah form utama untuk administrator, pada form ini administrator dapat memilih menu yang diinginkan dengan menekan tombol yang disediakan yakni tombol Tambah Dokumen, Manage Stoplist, Logout, About dan Help.

5. Desain Form Admin Tambah Dokumen

Gambar 3.17 Desain Form Tambah Dokumen

(74)

60 akan ditambahkan, pada data lirik, dokumen yang dapat diproses hanya data yang mempunyai ekstensi *.txt. sedangkan pada data lagu data yang dapat diproses hanya data yang mempunyai ekstensi *.mp3. Tombol Reset digunakan untuk mereset isi dari jTextField ke kondisi kosong, sementara tombol Simpan Dokumen digunakan untuk menyimpan dokumen ke koleksi, dan secara otomatis akan melakukan proses indexing untuk data lirik ke dalam database. Konfirmasi dari proses ini akan ditampilkan pada bagian Konfirmasi penyimpanan dokumen. 6. Desain Form Admin Manage Stoplist

Gambar 3.18 Desain Form Manage Stoplist

(75)

61 dapat secara langsung memilih data yang ingin dirubah atau dihapus, yang kemudian ditampilkan dalam jTextFiled2.

3.5. Class Diagram

Class Diagram merupakan alat yang digunakan pada metodologi pengembangan sistem berorientasi objek. Class Diagram menggambarkan struktur sistem dari kelas- kelas beserta interaksinya.

Adapun rancangan Class Diagram dari mesin pencari data lirik dan lagu dalam koleksi lagu adalah sebagai berikut :

(76)
(77)

63 2. Class Diagram Searching

(78)

64

BAB IV

IMPLEMENTASI

4.1 Spesifikasi Software dan Hardware yang digunakan

4.1.1Spesifikasi Software

 Sistem Operasi Microsoft Windows 7 Ultimate

 Basis Data MySql Server 5.1

 Bahasa Pemrograman Java J2SE

4.1.2Spesifikasi Hardware

 Processor Intel Dual Core 1.8 GHz

 Memory RAM 2GB DDR2

 HardDisk 80 GB

4.2 Koneksi Basis Data MySql dengan Sistem

Untuk menghubungkan sistem dengan basis data MySql yang berfungsi untuk menyimpan data dari proses yang terdapat pada system.

Driver koneksi basis data menggunakan MySql JDBC Driver dengan lokasi basis data pada localhost, port 3306 dengan nama basis data db_ta. untuk koneksi ke dalam server basis data menggunakan user dengan nama “root” dan password dikosongkan ( “ “ ).

4.3. Core Sistem Mesin Pencari

4.3.1. Core Sistem untuk Indexing

(79)
(80)

66

4.3.2. Core Sistem untuk Searching

Input “keyword” String

hasilPencarian  tipe data Vector

token  obyek Class Tokenizer

token.setData(keyword)

token.makeTokens()

termTmp  tipe data List

termTmp = token.getParsing()

termCari  List obyek ArrayList

(81)

67

A.Proses pengambilan data ke data base

sim  obyek TaIndek

hasilSimilarity  obyek ArrayList

trm3 = null  tipe data Term

allSImTmp  obyek ArrayList

(82)

68

B. Hitung Total bobot Query kuadrat

for a = 0 to allSimTmp.size()

simTmp  tipe data TaIndek

simTmp  allSImTmp.get(a)

bobotQueryNorm = (simTmp.getBobot()*simTmp.getBobot())

SUMBobotQuery = SUMBobotQuery + bobotQueryNorm

End for

hslSimilarity  obyek ArrayList

for i =0 to TaLyric.getLyricList().size()

tmp  tipe data TaLyric

tmp = lirikList.get(i)

simKat  tipe data List

simKat = sim.getSimilarityDokumen(cariKata,tmp.getId_lyric())

simAllKat  tipe data List

simAllKat = sim.getSimilarityAllDokumen(tmp.getId_lyric())

hasilPencarian.add(tmp.getId_lyric())

B-1. Cek kesamaan Term INNER PRODUCT (VSM)

(83)

69

B-2. Hitung total bobot query index j

for g =0 to simAllKat.size()

C. Menampung hasil pencarian

(84)

70

D. Mengurutkan hasil Pencarian (Sorting)

(85)

71 return hslAkhir;

End for

4.4Pembuatan Antarmuka (Interface)

Antarmuka merupakan tampilan yang nantinya akan berinteraksi langsung dengan pengguna. Antarmuka untuk aplikasi program ini adalah sebagai berikut:

4.4.1 Halaman Menu Utama Pengguna

(86)

72 Gambar 4.1 Halaman Utama User

4.4.2 Halaman Pencarian

(87)
(88)

74

4.4.3 Halaman About

Halaman About berisi tentang informasi data diri pembuat program.

Gambar 4.3 Form About

4.4.4 Halaman Login

Halaman ini digunakan untuk proses login administrator. Untuk masuk ke dalam halaman menu utama administrator, maka administrator harus memasukkan password ke dalam password field yang terdapat di dalam halaman login. Akan tetapi apabila password salah, maka akan muncul pesan bahwa password yang dimasukkan salah.

(89)

75

4.4.5 Halaman Menu Utama Administrator

Halaman menu utama administrator akan ditampilkan jika proses login sukses. Pada halaman ini di dalamnya terdapat dua menubar, yaitu menubar File dan menubar Edit. Pada menubar File terdapat menu Indexing yang digunakan untuk menampilkan halaman indexing, menu Searching untuk menampilkan halaman pencarian, dan menu Logout untuk keluar dari halaman menu utama administrator, kembali ke halaman menu utama pengguna. Sedangkan pada menubar Edit terdapat menu Password untuk menampilkan halaman edit password, menu Stopword untuk menampilkan halaman pengelolaan stopword, dan menu Dictionary untuk menampilkan halaman pengelolaan kamus (kata dasar).

Gambar 4.5 Halaman Utama Administrator

4.4.6 Halaman Indexing

(90)

76 dokumen lirik (teks). Dalam proses indexing, dokumen teks melewati lima proses, yaitu proses pemotongan kata (parsing), penghapusan stopword, stemming, perhitungan term frequency (Tf), dan filtering.

Gambar 4.6 Halaman Indexing

4.4.7 Halaman Searching

Halaman searching pada menu administrator, merupakan halaman yang sama dengan halaman searching pada menu user dengan proses yang sama. ( Gambar 4.2 Hasil Pencarian Pada Form Search )

4.4.8Halaman Edit Password

(91)

77 yang lama. Jika autentikasi bernilai benar, maka password lama akan diganti dengan password yang baru dan akan muncul pesan konfirmasi bahwa password telah sukses diubah, jika bernilai salah, maka akan muncul pesan konfirmasi bahwa password lama salah.

Gambar 4.7 FormManage Password Administrator

4.4.9 Halaman Edit Stopword

(92)

78 Gambar 4.8 FormManage Stopword Administrator

4.4.10 Halaman Edit Dictionary

(93)

79 Gambar 4.9 FormManage Dictionary ( kamus )

4.5. Dokumentasi Program

(94)

80

BAB V

ANALISA HASIL

5.1.Proses Indexing

Gambar 5.1 Halaman Indexing

Pada proses indexing, administrator akan memasukkan dokumen teks yang berekstensi .txt ke dalam file input pada form indexing dengan mencari letak dokumen tersebut menggunakan tombol browse. Begitu juga dengan data lagu yang akan dimasukkan. Setelah kedua data dimasukkan ke dalam file input, kemudian administrator harus menekan tombol indexing untuk memulai proses indexing dokumen.

(95)

81 setiap term.

Pada percobaan, penulis menggunakan dokumen sebanyak 78 dokumen. Pada dokumen ke 78, interval waktu yang diperlukan untuk proses indexing kurang lebih 10 menit, dan untuk proses indexing terhadap semua data yang ada membutuhkan waktu lebih kurang 20 jam (efisien).

Gambar 5.2 pesan dialog Indexing berhasil.

(96)

82

5.2.Proses Pencarian ( Searching )

Gambar 5.3 Halaman Searching

(97)

83

5.3.Proses Edit Stopword dan Kamus (Dictionary)

Gambar 5.4 Halaman Edit Stopword

(98)

84 Pada halaman edit stopword dan dictionary (kamus), administrator dapat melakukan update terhadap data stopword dan kamus.

5.4.Analisa Hasil Kuisioner Responden

Pada sub bab ini akan dibahas mengenai evaluasi hasil dari implementasi mesin pencari data lirik dan lagu dalam koleksi data lirik dan lagu dengan media kuisioner yang dibagikan kepada 30 orang responden dari berbagai tingkat umur dan pekerjaan.

Pada media kuisioner responden diminta untuk menuliskan penggalan lirik lagu yang kemudian akan digunakan sebagai kata kunci untuk membantu pencarian data dengan menggunakan aplikasi mesin pencari data lirik dan lagu dalam koleksi lirik dan lagu. Dari hasil yang ditampilkan oleh aplikasi, responden dapat menentukan sesuai atau tidaknya data yang ditampilkan oleh sistem dengan hasil yang diinginkan oleh responden. Hasil yang diperoleh dari responden kemudian akan digunakan untuk menentukan nilai recall precision. Untuk data pertanyaan kuisioner dan tabel hasil dari kuisioner terhadap responden dapat dilihat pada lampiran 3 dan 4.

Hasil yang diperoleh dari media kuisioner yang dibagikan kepada 30 orang responden berdasarkan kata kunci yang paling banyak digunakan oleh responden. Berikut adalah daftar kata kunci yang sering digunakan oleh responden untuk mencari dokumen:

Tabel 5.1 Tabel kata kunci responden

Responden Kata Kunci Dokumen

BERNADETA SUSILOWATI PP.

Kirana jamah aku, jamahlah rinduku

Kirana.txt

CHANDRA HUTAGAOL Kirana jamah aku, jamahlah rinduku

Kirana.txt

OPIK TRI HANDONO Kirana jamah aku, jamahlah rinduku

Kirana.txt

(99)

85 rinduku

Gambar 5.6 Hasil Pencarian (“Kirana jamah aku, jamahlah rinduku”)

Pada gambar di atas, bobot dokumen diperoleh dari nilai cosines similarity menggunakan metode model ruang vektor untuk kata kunci “Kirana jamah aku, jamahlah rinduku”. Urutan dokumen berdasarkan nilai cosines similarity dari yang paling besar ke yang paling kecil, apabila nilai cosines similarity dari dokumen bernilai 0 (nol), maka dokumen tidak dimunculkan didalam daftar dokumen. Berikut ini adalah tabel perangkingan bobot dari pencarian :

Tabel 5.2 Tabel perangkingan bobot pencarian responden

RANGKING DOKUMEN BOBOT

1 Kirana.txt 0.2431645

2 Restoe Boemi.txt 0.0571895

3 Larut.txt 0.0171347

(100)

86

5 Satu.txt 0.0086951

6 Cinta Kan Membawamu Kembali.txt 0.0076410 7 Perasaanku Tentang Perasaanku Kepadamu.txt 0.0075429

8 Pupus.txt 0.0072687

9 Ketika Tidak Sedang Bercinta Lagi.txt 0.0068708

10 Kangen.txt 0.0068533

11 Roman Picisan.txt 0.0057269

Dari hasil kuisioner yang didapatkan untuk kata kunci “Kirana jamah aku, jamahlah rinduku”, hubungan nilai recall-precision dapat ditampilkan dalam tabel di bawah ini :

Relevan Tidak Relevan Total

Ditemukan (a) 1 (b) 10 (a+b) 11

Dari recall – precision, dapat diketahui hasil uji performansi sistem dalam proses pencarian. Hasil uji performansi dihitung menggunakan rumus

𝐏=(𝐑𝐄𝐓𝐑𝐈𝐄𝐕𝐄𝐃𝐃𝐎𝐂.−𝐃𝐎𝐂.𝐑𝐀𝐍𝐊 + 𝟏)

𝐑𝐄𝐓𝐑𝐈𝐄𝐕𝐄𝐃𝐃𝐎𝐂.

Dimana

P = performansi

Gambar

Gambar 1.1 Fase-fase dalam Waterfall Model menurut referensi Pressman
Gambar 2.1 Ilustrasi Sistem Temu Kembali Informasi menurut referensi Rila
Gambar 3.3 Blok Diagram Proses Indexing
Gambar 3.4 Flowchart diagram proses parsing ke dalam array
+7

Referensi

Dokumen terkait

Inovasi yang dilakukan dalam garapan Gerahing Medang Kemulan ini sebagai suatu sarana penyampaian ide-ide penggarap dalam garapan agar mampu menampilkan garapan

Penelitian yang berjudul Kemampuan Guru Pendidikan Agama Islam dalam Memotivasi Peserta Didik Sekolah Dasar Negeri 01 Minas Barat Kecamatan Minas Kabupaten Siak ini

penerimaan negara yang dibagihasilkan kepada daerah dalam bentuk DBH sebesar Rp100.055.194.861.000,00 (seratus triliun lima puluh lima miliar seratus sembilan puluh empat

Hasil: Pada penelitian ini dijumpai penderita tumor ganas THT-KL pada Januari 2009 sampai Desember 2011 sebanyak 40 penderita dimana tumor yang banyak ditemui adalah tumor

1) Mengumpulkan data terlebih dahulu yang meliputi data visual dan verbal tentang pembuatan animasi grafis pada layar LED stage screen. 2) Melakukan study ilustrasi dan

Dengan penjelasan di atas, maka Jousairi Hasbulah memberikan definisi modal sosial yaitu segala hal yang ber- kaitan dengan kerjasama dalam masya- rakat untuk

Perumusan tarif progresif penggunaan tenaga listrik dari sumber lain untuk kegiatan sosial contohya adalah sekolah, dikenakan tarif 3% untuk batas daya 220 VA sampai dengan 1300