perbandingan algoritma stemming nazief dan …
TRANSCRIPT
i
PERBANDINGAN ALGORITMA STEMMING NAZIEF DAN
ANDRIANI SERTA ALGORITMA PORTER DALAM
PEMEROLEHAN INFORMASI MATERI MATA KULIAH
PADA HALAMAN WEBSITE DENGAN PENDEKATAN
VECTOR SPACE MODEL
SKRIPSI
Diajukan Untuk Memenui Salah Satu Syarat Memperoleh Gelar Sarjana
Komputer Program Studi Teknik Informatika
Oleh:
Fabianus Asto Nugroho
145314050
PROGRAM STUDI TEKNIK INFORMATIKA
JURUSAN TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
2018
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ii
COMPARISON OF NAZIEF AND ANDRIANI STEMMING
ALGORITHM AND PORTER ALGORITHM IN OVERVIEW
OF INFORMATION ON WEB SITE PAGE USING VECTOR
SPACE MODEL APPROACH
Presented as Partial Fullfiillment of the Requirements
To Obtain The Sarjana Komputer Degree
In Information Engineering Study Program
Oleh:
Fabianus Asto Nugroho
145314050
INFORMATICS ENGINEERING STUDY PROGRAM
DEPARTMENT OF INFORMATICS ENGINEERING
FACULTY OF SCIENE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
2018
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
iii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
iv
HALAMAN MOTTO
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
v
Anak papat, Lingguh podo cendak
e,
Ngadek podo duwur e.
(Bapak)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
vi
PERNYATAAN KEASLIAN KARYA
Dengan ini, saya menyatakan bahwa proyek tugas akhir ini tidak memuat hasil
karya milik orang lain kecuali telah disebutkan dalam kutipan dan daftar
pustaka sebagaimana layaknya karya ilmiah.
Yogyakarta, ………………….
Penulis
Fabianus Asto Nugroho
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
vii
LEMBAR PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK
KEPENTINGAN AKADEMIS
Yang bertanda tangan dibawah ini, saya mahasiswa Universitas Sanata Dharma :
Nama : Fabianus Asto Nugroho
NIM : 145314050
Demi mengembangkan ilmu pengetahuan, saya memberikan kepada
Perpustakaan Universitas Sanata Dharma karya ilmiah saya yang berjudul :
PERBANDINGAN ALGORITMA STEMMING NAZIEF DAN
ANDRIANI SERTA ALGORITMA PORTER DALAM PEMEROLEHAN
INFORMASI MATERI MATA KULIAH PADA HALAMAN WEBSITE
DENGAN PENDEKATAN VECTOR SPACE MODEL
Beserta perangkat yang diperlukan (bila ada). Dengan demikian, saya
memberikan kepada Universitas Sanata Dharma hak untuk menyimpan,
mengalihkan kedalam bentuk lain, mengelolanya dalam pangkalan data,
mendistribusikan secara terbatas dan mempublikasikannya di internet atau media
lain untuk kepentingan akademis tanpa perlu ijin dari saya maupun memberi
royalti kepada saya selama tetap mencantumkan nama saya sebagai penulis.
Demikian pernyataan ini saya buat dengan sebenarnya.
Yogyakarta, …………………….
Penulis
Fabianus Asto Nugroho
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
viii
ABSTRAK
Proses pencarian dokumen saat menjadi perdebatan tersendiri bagi para
pencari informasi. Recomendasi dokumen yang tepat berdasarkan kata kunci
menjadi tolak ukur sebuah mesin pencarian dokumen. Alogoritma dan metode
yang digunakan menjadi aspek penting dalam pembangunan sebuah sistem
pencarian dokumen. Vector space model merupakan salah satu metode yang
digunakan dalam beberapa proses pencarian dokumen dimana model ini akan
merubah sebuah dokumen menjadi bentuk vector. Dalam penelitian ini akan
membandingkan dua algoritma stemming dalam menentukan sebuah kata dasar
dalam sebuah dokumen yaitu algoritma porter dan nazief and adriani. Kedua
algoritma ini akan menentukan hasil pencarian sebuah kumpulan dokumen yang
meripakan sebuah halaman refrensi mata kuliah berdasarkan kata kunci silabus.
Kata Kunci : Vector space model, Stemming, algoritma nazief and adriani,
algoritma porter
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ix
ABSTRACT
The process of finding documents is currently a separate debate for
information seekers. The right document recommendation based on keywords is
the benchmark for a document search engine. The algorithm and method used are
important aspects in the construction of a document search system. Vector space
model is one of the methods used in several document search processes where this
model will change a document into vector form. In this study will compare two
stemming algorithms in determining a basic word in a document, namely the
porter algorithm and Nazief and Adriani. Both of these algorithms will determine
the search results for a collection of documents which is a reference page for a
course based on syllabus keywords.
Keywords: Vector space model, Stemming, Nazief and Adriani algorithm, Porter
algorithm
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
x
KATA PENGANTAR
Puji dan syukur kepada Tuhan Yang Maha Esa atas segala berkat dan karunia-
Nya, sehingga penulis dapat menyelesaikan proyek tugas akhir yang berjudul
“PERBANDINGAN ALGORITMA STEMMING NAZIEF DAN ANDRIANI
SERTA ALGORITMA PORTER DALAM PEMEROLEHAN INFORMASI
MATERI MATA KULIAH PADA HALAMAN WEBSITE DENGAN
PENDEKATAN VECTOR SPACE MODEL”. Proyek tugas akhir ini merupakan
salah satu mata kuliah wajib dan sebagai syarat akademik untuk memperoleh
gelar sarjana komputer program studi Teknik Informatika Universitas Sanata
Dharma Yogyakarta.
Penulis menyadari bahwa selama proses penelitian dan penyusunan laporan
proyek tugas akhir ini, banyak pihak yang telah membantu penulis, sehingga pada
kesempatan ini penulis ingin mengucapkan terimakasih yang sebesar – besarnya,
antara lain kepada :
1. Tuhan Yesus kristus, yang selalu memberikan kekuatan, berkat dan
rahmatya dalam proses penyelesaian proyek tugas akhir.
2. Orangtua penulis, Antonius Kamijo dan C. Sugiarti yang selalu
memberikan semangat, motivasi, dukungan moral dan spiritual selama
proses penyelesaian proyek tugas akhir ini serta Almateus Nanang R., M.
Dewi K. dan C. Lilin Natasari.
3. Robertus Adi Nugroho S.T., M.Eng selaku dosen pembimbing proyek
tugas akhir, terimakasih atas nasehat dalam membimbing penulis,
meluangkan waktunya, memberi dukungan, motivasi, serta saran yang
sangat membantu penulis.
4. Bambang Soelistijanto, S.T., M.Sc., Ph.D. selaku dosen pembimbing
akademik.
5. Keluarga besar UKM Band sexsen, Panitia insadha Siesen, Crew Rokstar
Studio, Badn Korekayu, Astara Media. yang selalu memberikan semangat,
motivasi, dukungan moral dan spiritual.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xi
6. Semua dosen program studi Teknik Informatika. Terimakasih telah
memberikan ilmu yang sangat bermanfaat bagi saya selama perkuliahan
dan semoga ilmu yang telah diberikan bermanfaat dikemudian hari.
7. Semua pihak yang terlibat yang tidak bisa disebutkan satu persatu yang
telah membantu dalam proses penyelesaian proyek tugas akhir ini.
Penulis menyadari masih banyak kekurangan dalam penyusunan proyek tugas
akhir ini. Saran dan Kritik sangat diharapkan untuk perbaikan yang akan datang.
Akhir kata, penulis berharap proyek tugas akhir ini dapat bermanfaat bagi
kemajuan dan perkembangan ilmu pengetahuan.
Yogyakarta, ………………..
Penulis
Fabianus Asto Nugroho
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xii
DAFTAR ISI
PERBANDINGAN ALGORITMA STEMMING NAZIEF DAN ANDRIANI
SERTA ALGORITMA PORTER DALAM PEMEROLEHAN INFORMASI
MATERI MATA KULIAH PADA HALAMAN WEBSITE DENGAN
PENDEKATAN VECTOR SPACE MODEL ......................................................... i
COMPARISON OF NAZIEF AND ANDRIANI STEMMING ALGORITHM
AND PORTER ALGORITHM IN OVERVIEW OF INFORMATION ON WEB
SITE PAGE USING VECTOR SPACE MODEL APPROACH ............................ ii
HALAMAN PERSETUJUAN ............................... Error! Bookmark not defined.
HALAMAN PENGESAHAN ................................ Error! Bookmark not defined.
HALAMAN MOTTO ............................................................................................ iv
PERNYATAAN KEASLIAN KARYA ................................................................ vi
LEMBAR PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK
KEPENTINGAN AKADEMIS ............................................................................ vii
ABSTRAK ........................................................................................................... viii
ABSTRACT ........................................................................................................... ix
KATA PENGANTAR ............................................................................................ x
DAFTAR ISI ......................................................................................................... xii
Daftar Table .......................................................................................................... xv
Daftar Gambar .................................................................................................... xviii
BAB I ...................................................................................................................... 1
PENDAHULUAN .................................................................................................. 1
1.1 Latar Belakang .............................................................................................. 1
1.2 Perumusan Masalah ....................................................................................... 3
1.3 Maksud dan Tujuan Tugas Akhir .................................................................. 3
1.4 Pembatasan dan Ruang Lingkup Masalah ..................................................... 3
1.5 Sistematika penulisan .................................................................................... 3
BAB II ..................................................................................................................... 5
TINJAUAN PUSTAKA ......................................................................................... 5
2.1 Information Retrieval (IR) ............................................................................. 5
2.1.1 Model Boolean ( BIR / Boolean Infromation Retrieval ) ........................... 5
2.1.2 Model Vector Space Model (VSM / Vector Space Model) ....................... 5
2.2.2.1 Proses Vector Space Model (VSM / Vector Space Model ) ................ 5
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xiii
2.2.2.1.4 Term Weight ..................................................................................... 8
2.2.2.1.5 Invers Document Frequency (IDF) ................................................... 9
2.2.2.1.6 Cosine Measure Similarity.............................................................. 10
2.2.2.1.7 Precission Dan Recall ..................................................................... 11
2.2 Crawling ...................................................................................................... 12
2.3 PHP (Hyperytext Preprocessor) .................................................................. 12
2.4 MYSQL ....................................................................................................... 12
2.5 JSON (JavaScript Object Notation) ............................................................ 13
BAB III ................................................................................................................. 14
METODOLOGI PENELITIAN ............................................................................ 14
3.1 Gambaran umum ......................................................................................... 14
3.2 Sumber Data ................................................................................................ 15
3.3 Data Kamus Kata ......................................................................................... 16
3.4 Data Stopwords ........................................................................................... 16
3.5 Spesifikasi Alat ............................................................................................ 16
3.6 Tahapan-Tapan Penelitian ...................................................................... 17
3.6.1 Studi kasus ............................................................................................ 17
3.6.2 Studi pustaka ......................................................................................... 17
3.6.3 Pemeriksaan file atau dokumen ............................................................ 17
3.6.4 Metode Pengembangan Perangkat Lunak............................................. 17
3.7 Evaluasi ....................................................................................................... 18
BAB IV ................................................................................................................. 20
ANALISIS DAN PERANCANGAN SISTEM .................................................... 20
4.1 Analisa sistem .............................................................................................. 20
4.1.1 Analisis Kerja API Google dan Penyiapan Dataset .............................. 20
4.1.2 Gambaran Sistem. ................................................................................. 22
4.2 Analisis Kebutuhan Pengguna ..................................................................... 23
4.2.1 Use Case Diagram ................................................................................ 23
4.2.2 Sekernario Use Case ............................................................................. 23
4.2.3 Diagram Kelas ...................................................................................... 25
4.2.4 Perancangan Database .......................................................................... 27
4.3 Rancangan Basis Data ................................................................................. 28
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xiv
4.4 Rancangan Desain Antarmuka .................................................................... 31
BAB V IMPLEMENTASI DAN ANALISIS HASIL .......................................... 33
5.1 Spesifikasi software dan Hardware ............................................................. 33
5.1.1 Spesifikasi Software ( perangkat lunak ) .............................................. 33
5.1.2 Spesifikasi hardware ( perangkat keras ) .............................................. 33
5.2 Implementasi Halaman Antarmuka ............................................................. 33
5.2.1 Implementasi Halaman Utama.............................................................. 33
5.2.2 Implementasi Halaman Mata Kuliah .................................................... 34
5.2.2 Implementasi Halaman Menampilkan Referensi Materi Mata Kuliah . 34
5.3 Implementasi Stemming .............................................................................. 35
5.3.1 Implementasi Algoritma Nazief And Adriani ...................................... 35
5.3.2 Implementasi Algoritma Porter ............................................................ 36
5.4 Pengujian Dan Analisis Hasil ...................................................................... 37
5.4.1 Hasil Pengujian Pemerolehan Informasi Algoritma Nazief And Adriani
....................................................................................................................... 38
5.4.2 Hasil Pengujian Pemerolehan Informasi Algoritma Porter .................. 42
5.4.3 Uji Recall Dan Precission ..................................................................... 45
5.4.4 Grafik Recall dan Precission ................................................................. 50
5.4.5 Rata-rata Hasil Uji recall dan precission .............................................. 52
5.4.6 Hasil Pengujian Running Time ............................................................. 55
BAB VI ................................................................................................................. 57
KESIMPULAN DAN ANALISIS ........................................................................ 57
Daftar Pustaka ....................................................................................................... 58
LAMPIRAN .......................................................................................................... 60
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xv
Daftar Table
Tabel 4. 1Table tbl_stopwords .............................................................................. 28
Tabel 4. 2Table tbl_kata ........................................................................................ 28
Tabel 4. 3 Table tbl_makul ................................................................................... 28
Tabel 4. 4 Table tbl_silabus .................................................................................. 28
Tabel 4. 5 Table tbl_materi ................................................................................... 29
Tabel 4. 6 Tabel tbl_striptags_materi .................................................................. 29
Tabel 4. 7 tabel tbl_result_porter .......................................................................... 29
Tabel 4. 8Tabel tbl_result_nazief .......................................................................... 30
Tabel 4. 9 Tabel tabel tbl_result_nazief ................................................................ 30
Tabel 4. 10 Tabel tabel tbl_result_porter .............................................................. 30
Tabel 4. 11 tabel generate_file .............................................................................. 31
Tabel 5. 1 Hasil informasi retrieval dengan kata kunci “Basis data adalah
kumplan data yang saling berkaitan dan terorganisasi dengan baik sehingga
mudah untuk disimpan dan dimanipulasi. Sedangkan System basis data adalah
gabungan antara basis data dan prangkat lunak DBMS termasuk di dalamnya
program aplikasi yang dibuat dan bekerja dalam suatu system yg bertujuan untuk
dapat memanipulasi data dari basis data sehingga diperoleh informasi yang di
inginkan” dengan menggunakan algoritma nazief and adriani
.…......................................................38
Tabel 5. 2 Table hasil information retrival dari sistem dengan menggunakan kata
kunci “Aplikasi berbasis web terdiri dari front-end atau bagian depan dan back-
end atau bagian belakang. Pembuatan Front-End biasanya menggunakan script
HTML, CSS dan JavaScript. Back-end dibuat menggunakan server-side script,
seperti php, python dan java. Pada tutorial ini, kita akan membahas pembuatan
front-end dengan menggunakan HTML dan CSS. Untuk JavaScript, pembaca
dapat mendapatkan pada tutorial yang lain. Untuk Back-End, kita akan membahas
bahasa pemrograman PHP. Kita juga perlu menggunakan database” dengan
menggunakan algoritma nazief and adriani ……………………………….…….40
Tabel 5. 3 table hasil information retrival dari sistem dengan menggunakan kata
kunci “Yang dimaksud dengan objek pada java adalah sekumpulan software yang
terdiri dari variable dan method-method yang terkait. Objek juga merupakan
benda nyata yang di buat berdasarkan rancangan yang di definisikan di dalam
class” dengan menggunakan algoritma nazief and adriani ………………….…..41
Tabel 5. 4 Hasil informasi retrieval sistem dengan kata kunci “pengenalan basis
data” dengan menggunakan algoritma porter
…….……………………….…..…42
Tabel 5. 5 Hasil informasi retrieval sistem dengan kata kunci “Aplikasi berbasis
web terdiri dari front-end atau bagian depan dan back-end atau bagian belakang.
Pembuatan Front-End biasanya menggunakan script HTML, CSS dan JavaScript.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xvi
Back-end dibuat menggunakan server-side script, seperti php, python dan java.
Pada tutorial ini, kita akan membahas pembuatan front-end dengan menggunakan
HTML dan CSS. Untuk JavaScript, pembaca dapat mendapatkan pada tutorial
yang lain. Untuk Back-End, kita akan membahas bahasa pemrograman PHP. Kita
juga perlu menggunakan database” dengan menggunakan algoritma porter …....43
Tabel 5. 6 Hasil informasi retrieval sistem dengan kata kunci “Yang dimaksud
dengan objek pada java adalah sekumpulan software yang terdiri dari variable dan
method-method yang terkait. Objek juga merupakan benda nyata yang di buat
berdasarkan rancangan yang di definisikan di dalam class” dengan menggunakan
algoritma porter…………………………………………………………………..44
Tabel 5. 7 Hasil pengecekan ahli dokumen relevan dengan keyword “Basis data
adalah kumplan data yang saling berkaitan dan terorganisasi dengan baik sehingga
mudah untuk disimpan dan dimanipulasi. Sedangkan System basis data adalah
gabungan antara basis data dan prangkat lunak DBMS termasuk di dalamnya
program aplikasi yang dibuat dan bekerja dalam suatu system yg bertujuan untuk
dapat memanipulasi data dari basis data sehingga diperoleh informasi yang di
inginkan”………………………………………………………………………....45
Tabel 5. 8 Tabel uji recall dan precission kedua algoritma dengan kata kunci
“Basis data adalah kumplan data yang saling berkaitan dan terorganisasi dengan
baik sehingga mudah untuk disimpan dan dimanipulasi. Sedangkan System basis
data adalah gabungan antara basis data dan prangkat lunak DBMS termasuk di
dalamnya program aplikasi yang dibuat dan bekerja dalam suatu system yg
bertujuan untuk dapat memanipulasi data dari basis data sehingga diperoleh
informasi yang di inginkan”
…..…………………………………………………………….………46
Tabel 5. 9 Hasil pengecekan ahli dokumen relevan dengan keyword “Aplikasi
berbasis web terdiri dari front-end atau bagian depan dan back-end atau bagian
belakang. Pembuatan Front-End biasanya menggunakan script HTML, CSS dan
JavaScript. Back-end dibuat menggunakan server-side script, seperti php, python
dan java. Pada tutorial ini, kita akan membahas pembuatan front-end dengan
menggunakan HTML dan CSS. Untuk JavaScript, pembaca dapat mendapatkan
pada tutorial yang lain. Untuk Back-End, kita akan membahas bahasa
pemrograman PHP. Kita juga perlu menggunakan database”
………..…………………….……47
Tabel 5. 10 hasil uji recall dan precission dengan menggunakan keyword
“Aplikasi berbasis web terdiri dari front-end atau bagian depan dan back-end atau
bagian belakang. Pembuatan Front-End biasanya menggunakan script HTML,
CSS dan JavaScript. Back-end dibuat menggunakan server-side script, seperti
php, python dan java. Pada tutorial ini, kita akan membahas pembuatan front-end
dengan menggunakan HTML dan CSS. Untuk JavaScript, pembaca dapat
mendapatkan pada tutorial yang lain. Untuk Back-End, kita akan membahas
bahasa pemrograman PHP. Kita juga perlu menggunakan database”
……………………………..……47
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xvii
Tabel 5. 11 Hasil pengecekan ahli dokumen relevan dengan keyword “Yang
dimaksud dengan objek pada java adalah sekumpulan software yang terdiri dari
variable dan method-method yang terkait. Objek juga merupakan benda nyata
yang di buat berdasarkan rancangan yang di definisikan di dalam
class”…………………….……………………………………………………… 48
Tabel 5. 12 Hasil uji recall dan precission dengan menggunakan keyword “Yang
dimaksud dengan objek pada java adalah sekumpulan software yang terdiri dari
variable dan method-method yang terkait. Objek juga merupakan benda nyata
yang di buat berdasarkan rancangan yang di definisikan di dalam class”
……….……..49
Tabel 5. 13 Table Rata-rata precission percobaan pertama....…………………...53
Tabel 5. 14 Table Rata-rata precission percobaan kedua ………………………..53
Tabel 5. 15 Table Rata-rata precission percobaan ketiga ……………...………..54
Tabel 5. 16 Table running time algoritma Nazief and Adriani …………….……55
Tabel 5. 17 Table running time algoritma porter …………………….………….55
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xviii
Daftar Gambar
Gambar 2.1 Recall dan precission pada contoh hasil temu-kembali informasi
(Baeza-Yates dan Riveiro-Neto, 1999) ................................................................. 11
Gambar 3.1 Proses sistem dari information retrial dengan menggunakan vector
space model ........................................................................................................... 15
Gambar 3.2 metode pengembangan dengan menggunakan metode waterfall ..... 17
Gambar 4. 1 penggunaan API Google .................................................................. 20
Gambar 4. 2 Hasil pencarian dengan API google ................................................. 20
Gambar 4. 3 Pembersihan dari bahasa pemrogramman dan pembuatan data
dokumen. ............................................................................................................... 21
Gambar 4. 4 File yang belum dilakukan pembersihan .......................................... 21
Gambar 4. 5 Link website yang telah dibersihkan dan dibuatkan file dokumen .. 22
Gambar 4. 6 Gambaran Keseluruhan system ........................................................ 22
Gambar 4. 7 Use Case Diagram ............................................................................ 23
Gambar 4. 8 Diagram kelas dengan menggunakan algoritma nazief and adriani . 25
Gambar 4. 9 Diagram kelas dengan menggunakan algoritma porter .................... 26
Gambar 4. 10 Hubungan antar tabel ..................................................................... 27
Gambar 4. 11 Halaman Utama .............................................................................. 31
Gambar 4. 12 tampilan data mata kuliah .............................................................. 32
Gambar 4. 13 Tampilan menampilkan referensi materi mata kuliah .................... 32
Gambar 5. 1 implementasi halaman utama ........................................................... 34
Gambar 5. 2 Halaman menampilkan data mata kuliah ......................................... 34
Gambar 5. 3 Menampilkan referensi mata kuliah ................................................. 35
Gambar 5. 4 Pengimplementasian algoritma nazief and adriani........................... 36
Gambar 5. 5 Pengimplementasian algoritma porter .............................................. 37
Gambar 5. 6 Grafik uji recall dan precission dari algoritma nazief and adriani dan
porter dengan keyword “Basis data adalah kumplan data yang saling berkaitan
dan terorganisasi dengan baik sehingga mudah untuk disimpan dan dimanipulasi.
Sedangkan System basis data adalah gabungan antara basis data dan prangkat
lunak DBMS termasuk di dalamnya program aplikasi yang dibuat dan bekerja
dalam suatu system yg bertujuan untuk dapat memanipulasi data dari basis data
sehingga diperoleh informasi yang di inginkan” .................................................. 50
Gambar 5. 7 Grafik uji recall dan precission dari algoritma nazief and adriani dan
porter dengan keyword “Aplikasi berbasis web terdiri dari front-end atau bagian
depan dan back-end atau bagian belakang. Pembuatan Front-End biasanya
menggunakan script HTML, CSS dan JavaScript. Back-end dibuat menggunakan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xix
server-side script, seperti php, python dan java. Pada tutorial ini, kita akan
membahas pembuatan front-end dengan menggunakan HTML dan CSS. Untuk
JavaScript, pembaca dapat mendapatkan pada tutorial yang lain. Untuk Back-End,
kita akan membahas bahasa pemrograman PHP. Kita juga perlu menggunakan
database” ............................................................................................................... 51
Gambar 5. 8 Grafik uji recall dan precission dari algoritma nazief and adriani dan
porter dengan keyword “Yang dimaksud dengan objek pada java adalah
sekumpulan software yang terdiri dari variable dan method-method yang terkait.
Objek juga merupakan benda nyata yang di buat berdasarkan rancangan yang di
definisikan di dalam class”.................................................................................... 52
Gambar 5. 9 Grafik rata –rata precission algoritma porter dan nazief terhadap
percobaan .............................................................................................................. 54
Gambar 5. 10 Grafik running time Algoritma Nazief and Adriani serta Algoritma
Porter. .................................................................................................................... 56
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
1
BAB I
PENDAHULUAN
1.1 Latar Belakang
Perkembangan teknologi saat ini membuat begitu banyak pengaruh baik
dalam banyak hal. Tidak terkecuali dalam perkembangan dalam dunia
informasi. Begitu banyak informasi yang dengan sangat mudah kita dapatkan
baik dalam surat kabar, media online atau pun media sosial. Hal ini
menjadikan internet sebagai kebutuhan pokok di era informasi saat ini.
Informasi yang sangat banyak di dunia internet menjadikan perdebatan
tersendiri bagi seorang yang membutuhkan atau sedang mencari informasi.
Bgitu juga dalam pencarian informasi tentang materi mata kuliah, dalam
beberapa kesempatan menjadi kesulitan tersendiri karena dokumen atau file
yang direkomendasikan terkadang tidak sesuai dengan apa yang user
inginkan. Oleh karena itu diperlukan sebuah search egine yang dapat mencari
kumpulan dokumen dengan cepat namun juga dapat menenukan dokumen
yang relevan. Banyak cara yang dapat diterapkan untuk menunjang kebutuhan
dalam membangun atau mengembangkan search egine seperti halnya adalah
information retrieval.
Information retrieval atau juga sering disebut dengan temu kembali
informasi adalah bidang pengarsipan ilmu informasi dalam ilmu komputer.
Berkutat dengan pengindeksan dan pembambilan informasi heterogen dan
sebagian besar textual. (Mooers, 1951). Menurut Janu Saptari dan Purwono
(2006), menjelaskan bahawa information retrieval merupakan suatu system
yang menyiapkan informasi dan menemukan kembali informasi (Janu Suptari;
Purwono 2006).
Salah satu metode pendekatan yang akan digunakan dalam penelitian ini
adalah Vector Space Model. Ada beberapa tahap yang harus dilalui dalam
pendekatan Vector Space Model antara lain dengan menyiapkan dokumen
sebagai data, tokenisasi yaitu pemisahan setiap kata dengan delimiter spasi,
penghapusan stopword yaitu proses panghapusan dari kata-kata yang tidak
memiliki makna seperti di, ke dan dari serta tanda baca. Lalu langkah
selajutnya adalah stemming yaitu pencarian proses pencarian kata dasar atau
root word. Dengan menghapus imbuhan dan akhiran yang ada dalam suatu
kata. Dan langkah selanjutanya adalah penghitungan term frequency, inverst
document frequency dan cosine similarity.
Setiap proses dalam pencarian informasi memliki peranan tersendiri.
Begitu juga proses stemming. Pada dasarnya stemming merupakan proses
yang cukup fundamental dalam pencarian informasi dimana tingkat ketepatan
dan kecepatan dalam proses pencarian kata dasar cukup mempengarui hasil
dari sebuah mesin pencari. Oleh karenanya begitu banyak algoritma yang
sudah tercipta atau dikembangakan termasuk algoritma Porter yang
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
2
dikembangkan dari sejak tahun 1980 dan algoritma Nazief dan Adriani yang
dikembangkan sejak tahun 1996.
Algoritma Nazief and Adriani serta algortima Porter merupakan algoritma
yang saat ini cukup popular. Dimana algoritma Nazief dan Adriani adalah
algoritma yang diciptakan oleh Bobby Nazief dan Mirna Adriani (1996)
merupakan algoritma yang memang dikembangkan untuk stemming Bahasa
Indonesia, dan algoritma Porter yang diciptakan oleh Martin Porter (1980)
merupakan algoritma yang diperuntukan untuk Bahasa Ingris. Dalam hal ini
menjadi tantangan tersendiri bagi algoritma porter yang akan diterapkan
dalam teks ber-Bahasa Indonesia.
Bahasa yang digunakan dalam satu dokumen sangat mempengarui kinerja
dari sebuah algoritma stemming. Oleh karenanya setiap bahasa memiliki
algoritma stemming yang berbeda. Sebagai contoh algortima stemming untuk
bahasa Indonesia berbeda dengan algoritma stemming dalam bahasa inggris,
hal itu di karenakan perbedaan morfologi yang dimiliki oleh bahasa Indonesia
dan bahasa Inggris berbeda. Secara kontekstual bahasa Indonesia lebih rumit
dibandingkan dengan bahasa Inggris dikarenakan jumlah imbuhan yang lebih
bervariasi sehingga mempengarui proses untuk mendapatkan kata dasarnya.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
3
1.2 Perumusan Masalah
Berdasarkan latar belakang diatas maka dapat di rumuskan sebagai berikut:
1. Bagaimana menerapan algoritma Nazief and Adriani serta algoritma
Porter dalam Information Retrieval menggunkan pendekatan Vector
Space Model ?
2. Algoritma manakah yang terbaik dalam menemukan reverensi mata
kuliah ?
1.3 Maksud dan Tujuan Tugas Akhir
Berikut ini merupakan tujuan dari tugas akhir dan penelitian :
1. Membandingkan performa algoritma Nazief and Adriani serta
algoritma Porter dalam menemukan referensi materi mata kuliah.
1.4 Pembatasan dan Ruang Lingkup Masalah
Untuk membahas topik yang lebih terarah dan agar tercapainya tujuan, maka
batasan masalahnya sebagai berikut:
1. Dataset yang akan digunakan adalah hasil crawling dengan
menggunakan API dari google.com
1.5 Sistematika penulisan
Laporan penelitian ini akan ditulis dengan sistematika sebagai berikut:
BAB 1 : Pendahuluan
Bab ini membahas tentang latar belakang, rumusan masalah,
tujuan, sitematika penulisan dan pembatasan masalah dalam laporan ini.
BAB 2 : Tinjauan pustaka
Bab ini berisi untuk menjelaskan landasan teori yang akan
digunakan dalam penelitian ini.
BAB 3 : Metode Penelitian
Bab ini berikan tentang metode penelitian yang akan digunakan.
BAB 4 : Analisi dan Perancangan Sistem
Bab ini berisikan tentang penelitian yang dilakukan dan
pembahasan yang telah di dapat dari penelitian.
BAB 5 : Implementasi Sistem dan Analisa
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
4
Bab ini berisikan tentang implementasi sistem yang dibuat dan
pengujian beserta analisis yang diperoleh.
BAB 6 : Kesimpulan dan Saran
Bab ini berisikan tentang kesimpulan yang di dapat dari hasil
penelitian dan saran yang diberikan untuk pengembang selanjutnya.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
5
BAB II
TINJAUAN PUSTAKA
Seperti yang di jelaskan pada latar belakang penelitian ini membahas
tentang perbandingan dua algoritma yaitu algoritma Nazief and Ardiani serta
Algoritma porter dalam proses stemming pada Information Retrieval dengan
pendekatan Vector Space Model yang di peruntukan untuk pencarian tentang
refrensi mata kuliah dalam sebuah website. Menggunakan bahasa pemmrograman
php, html, javasript, css dan menggunakan database MYSQL.
2.1 Information Retrieval (IR)
Temu balik informasi merupkan atau yang biasa disebut dengan
Information Retrieval merupakan bidan pengarsipan ilmu informasi dan ilmu
komputer. Berkutat dengan pengindeksan dan pembambilan informasi dari
submber informasi heterogen dan sebagian besar textual (Mooers, 1951). Menurut
Janu Saptari dan Purwono (2006), menjelaskan bahwa Information Retrieval
merupakan suatu sistem yang meyiapkan informasi dan menemukan kembali
informasi. Dalam Penelitian ini Infromation Retrieval digunakan pada hasil
indeksing website yang berhahsil di crawling dalam mesin pencari yaitu google
yang nantinya outputnya berupa link website. Ada beberapa metode dalam
Infromation Retrieval.
2.1.1 Model Boolean ( BIR / Boolean Infromation Retrieval )
Model Boolean merupakan model sederhana yang berdasarkan atas teori
himpunan dan aljabar boolean. Boolean sendiri yang pertama kali di kembangkan
oleh (George boole, 1815-1864). Model boolean sendiri bertujuan untuk
memberntuk query dalam format term-term, seperti AND, OR, dan NOT. Seperti
namanya model boolean maka setiap term tersebut terdapat dalam setiap dokumen
yang merupakan vektor 0 (nol) atau 1 (satu). Bernilai 1 ketika term tersebut
terdapat dalam dokumen dan bernilai 0 ketika term tersebut tidak terdapat dalam
dokumen (Manning, 2008).
2.1.2 Model Vector Space Model (VSM / Vector Space Model)
Model Vector Space Model merupakan salah satu pendekatan yang digunakan
dalam Information Retrieval. Model ini merupakan metode yang digunakan untuk
melihat tingkatan kedekatan atau kesamaan (similarity) term dengan cara
pembobotan term.
2.2.2.1 Proses Vector Space Model (VSM / Vector Space Model )
Model vector space dalam Information Retrieval memiliki beberapa tahapan
atau proses diantaranya :
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
6
2.2.2.1.1 Tokenisasi atau Tokenizing
Merupakan tahapan dimana pemotongan kata atau parameter yang
diparsing dengan menggunakan delimiter spasi yang nantinya hasilnya merupakan
kata. Pada proses ini yang harus dilalukan adalah proses lowercase mengubah
huruf kapital menjadi huruf kecil dan penghapusan tanda baca.
Sebagai contoh:
Logika fuzzy adalah penigkatan dari logika boolean yang
berhadapan dengan konsep kebenaran sebagian.
Hasil Tonkenisasi :
Logika, fuzzy, adalah, penigkatan, logika, dari, logika, boolean,
berhadapan, dengan, konsep, kebenaran, sebagian.
2.2.2.1.2 Stopwords
Merupakan tahapan dimana proases penghilangan kata yang tidak
memiliki makna. Proses ini bertujuan untuk mengurangi waktu eksekusi query,
ukuran indek, menigkatkan efisiensi dan keefektifan dari pemerolehan informasi
(Corft-metzeler-strohman, 2010).
Contoh kata yang termasuk kata stopwords adalah kata ganti orang (dia,
mereka, beliau, kami) . Kata penghubung (lalu, kemudian, namun, padahal )
(Oktaviani, 2011).
2.2.2.1.3 Stemming
Stemming merupakan proses pengenalan kata. Hal ini memiliki hubungan
dengan pemisahan kata dengan imbuhan dan tanda baca (Goker and Davies,
2009). Dimana bahasa mempengarui proses stemming. Proses stemming bahasa
Indonesia berbeda dengan proses stemming bahasa Inggris. Terdapat beberapa
algoritma jika berbicara tentang stemming seperti algoritma Nazief and Adriani,
algoritma Arifin dan Setiono serta algoritma porter dan masih banyak yang
lainnya. Akan tetapi pada penelitian ini untuk stemming akan membangdingkan
dua algoritma yaitu algoritma nazief and ardiani serta algoritma porter.
Pada umunya sebuah kata dalam bahas Indonesia memiliki susunan atau
kombinasi sebagai berikut:
Prefix 1 + prefix 2 + kata dasar + suffix 3 + suffix 2 + suffix 1 [17]
2.2.2.1.3.1 Algoritma Nazief and Ardiani
Algoritma Nazief and Ardiani merupakan algoritma stemming
berbasis bahasa Indonesia yang cukup populer. Berikut adalah proses
dimana algoritma nazif berjalan :
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
7
1. Pertama cari kata yang akan destemming di dalam
kamus, jika di temukan maka diasumsikan kata tersebut
adalah root word. Maka algoritma berhenti.
2. Inflection suffixes (“-lah”, “-kah”, “-mu”, “-nya”)
dibuang. Jika berupa partikel (“-lah”, “-kah”, “-tah”
maka langkah ini diulang untuk menghapus possif
pronouns (“-ku” , “-mu”, “-nya”) jika ada.
3. Hapus derivation suffixes (“i”, “-an”, atau “-kan”). Jika
kata ditemukan dalam kamus maka algoritma berhenti
jika tidak maka ke langgkah 3a.
a. Jika “-an” telah dihapus dan huruf terakhir
adalah “-k” maka “-k” juga ikut dihapus. Jika
kata tersebut ditemukan dalam kamus maka
algoritma berhenti dan jika tidak maka lakukan
langkah 3b
b. Akhiran yang dihapus (“-i”, “-an”, “-kan”)
dikembalikan lanjut ke langkag 4.
4. Hapus derivation preffix. jika langkah ke 3 ada suffixes
yang di hapus maka pergi ke langkah 4a, jika tidak
pergi kelangkah b.
a. Periksa table kombinasi awalan dan akhiran
yang tidak di ijinkan. Jika tidak ditemukan maka
algoritma berhenti dan jika tidak maka pergi ke
langkah 4b.
b. For i = 1 to 3 tentukan tipe awalan kemudian
hapus awalan jika root word belum juga
ditemukan maka lanjutkan ke langkah 5 jika
ditemukan maka algoritma berhenti.
5. Melakukan recording.
6. Jika semua langkah telah selsai maka kata awal
diasumsikan sebagai root word. Proses selsai.
Untuk mengatasi keterbatasan pada algoritma di atas, maka
ditambahkan aturan dibawah:
1. Mengatasi aturan reduplikasi
a. Jika kedua kata yang dihubungkan oleh kata
penghubung adalah bentuk tunggal nya adalah
kata dasar “contoh jalan-jalan” maka root word-
nya adalah jalan.
b. Kata lain, misalnya “bolak-balik” dan “seolah-
olah” maka di ubah menjadi bentuk tunggal
contoh kata “berlari-lari” menjadi berlari dan
lari dan root word dari kata berlari dan lari
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
8
adalah lari maka root word dari kata “berlari-
lari” adalah lari pada kata “bolak-balik”
memiliki root word yang berbeda maka root
word-nya adalah “bolak-balik”
2. Tambahan bentuk walan dan akhiran serta aturannya
a. Untuk awalan “mem-” kata yang diawali dengan
“memp-” maka memiliki awalan “mem-”.
b. Tipe awalan “meng-“ kata yang diawali dengan
awalan “mengk-“ memiliki awalan “meng-“.
2.2.2.1.3.2 Algoritma Porter
Algoritma Porter merupakan algoritma stemming yang kebanyakan
di peruntukan atau digunakan untuk setemming dalam bahasa inggris.
Berbeda dengan algoritma Nazief and Adriani ciri yang menggunakan
kamus untuk setiap prosesnya jika algoritma porter tidak bergantung
dengan kamu. Berikut adalah langkah-langkah dari algoritma porter :
1. Hapus Particle.
2. Hapus Posessif pronoun
3. Hapus awalan pertama. Jika tidak ada lanjutkan ke
langkah 4a. jika tidak lanjutkan ke langkah 4b.
4. Proses ke 4:
a. Hapus awalan ke 2 jika lanjutkan ke langkah 5a
b. Hapus akhiran, jika tidak ditemukan maka kata
tersebut diasumsikan sebagai root word. Jika
ditemukan maka lanjutkan ke langkah 5a.
5. Proses ke 5
a. Hapus akhiran, kemudian kata akhir di
asumsikan sebagai root word.
b. Hapus awalan ke dua, kemudian kata akhir
diasumsikan sebagai root word.
2.2.2.1.4 Term Weight
Pembobotan kata sangatlah berpengaruh terhadap penentuan kemiripan
dokumen dengan keyword atau parameter. Apabila bobot tiap kata dapata di
tentukan dengan tepat, di harapkan hasil perhitungan kemiripan teks akan
menghasilkan perangkaian dokumen yang baik. Keberhasilan dari vector space
model ditentukan oleh skema pembobotan dan factor normalisasi [1]. Pembobotan
frekuensi term dalam suatu dokumen dan tidak melihat kemunculan term pada
dokumen yang lainnya. Ada empat cara untuk yang dapat digunakan untuk
menentukan nilai TF:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
9
1. Raw Tf
Nilai TF sebuah term dihitung berdasarkan kemunculan term
tersebut dalam dokumen[1].
2. Trem Trequency
Dalam memperoleh nilai Tf, cara ini menggunakan fungsi logaritmik
dalam matematika [1].
TF = 1 + log(TF) Persamaan 2.1 Rumus Logarithmic TF
3. Binnary Tf
Cara ini menghasilkan nilai Boolean berdasarkan kemunculan term
pada dokumen tersebut. Akan bernilai 0 apa bila term tidak ditemukan
dalam dokumen dan jika term ditemukan dalam dokumen maka mernilai
1. Sehingga banyaknya term pada dokumen tidak berpengaruh[1].
4. Argumented TF
TF = 0.5 + 0.5 x TFmax(TF) Persamaan 2.2 Rumus Logarithmic TF
Nilai TF adlah jumlah kemunculan term pada dokumen. Nilai
max(TF) adalah jumlah kemunculan term terbanyak pada sebuah
dokumen[1]. Dalam penelitian ini yang akan digunkan adalah Raw Tf.
2.2.2.1.5 Invers Document Frequency (IDF)
Metode TF-IDF (Term Frequency Inverse Document Frequency)
meupakan suatu cara untuk memberikan bobot hubungan kata (term) terhadap
dokumen, metode ini menggabungkan konsep Tf (Trem Frequency) dan inverse
dokumen yang menggandung kata tersebut[2]. Pada konsep penghitungan TF
terdapat nilai TF yang nilai jumlahnya berdasarkan jumlah dari kemunculan suatu
kata pada sebuah dokumen, sedangkan IDF dapat dihitung dengan cara berikut:
Persamaan 2.3 Rumus Idf
Dimana:
IDF = Inverse Document Frequency
D = Total Document
DF = Frequency Document dari Term
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
10
LOG = Untuk memperkecil pengaruh relative terhadap TF
Bobot term di hitung dengan menggunakan rumus :
Persamaan 2.4 Rumus TF.IDF
Dimana:
W = Bobot dokumen
Tf = Term Frequency
IDF = Inverse document frequency
2.2.2.1.6 Cosine Measure Similarity
Cosine Measure Similarity merupakan cara untuk menghitung kemiripan
antara vector document dan vector query yang dilihat dari sudut yang paling kecil.
Sudut yang dibentuk oleh dua buah vektor dapat dihitung dengan melakukan inner
product. Kemiripan antara vektor dokumen dan vektor query akan di hitung
dengan pendekatan Cosine Measure Similarity[1]. Nilai relevansi (Similarity)
antar query dengan dokumen ke-1 [2].
( )
| |
∑ ( )
√∑ ∑
Persamaan 2.5 Rumus Cosine Similarity
Dimana:
= Panjang bobot dokumen j
= Panjang bobot query
= Panjang bobot document j
= Panjang bobot query
= bobot term i pada dokumen
= bobot term i pada dokumen j
= bobot term i pada query
= Teks
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
11
2.2.2.1.7 Precission Dan Recall
Recall dan precission adalah dua perhitungan yang banyak digunakan
dalam penghitungan untuk mengukur kinerja sistem [18]. Pengukuran efektifitas
suatu sistem dapat dilakukan dengan menggunakan penghitungan nilai terhadap
nilai yang di peroleh (recall), nilai ketepatan (precission) (Tague-Sutcliffe, 1992;
Conlon dan Conlon, 1996).
Gambar 2. 1 Recall dan precission pada contoh hasil temu-kembali informasi
(Baeza-Yates dan Riveiro-Neto, 1999)
Recall adalah proporsi jumlah dokumen yang dapat ditemukan-kembali
oleh sebuah proses recall [19], dengan rumus:
Persamaan 2.6 Rumus Recall
Precission adalah suatu proporsi jumlah dkumen yang ditemukan dan dianggap
relevan untuk kebutuhan si pencari informasi[19]. Precission dapat di artikan
sebagai suatu kecocokan antara permintaan informasi dan jawaban terhadap
permintaan itu [19]. Dengan menggunakan rumus:
Persamaan 2.7 Rumus Precission
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
12
2.2 Crawling
Web Crawling adalah sistem yang digunakan untuk meng-crawl seluruh
informasi setiap website. Web crawling ditugaskan untuk menggali seluruh data
yang ada dalam komponen website yang seperti meta data, tittle, meta decription
dan keyword [3]. Web crawling merupakan kebutuhan pokok dalam setiap search
engine seperti google, yahoo, bing dan lainnya.
2.3 PHP (Hyperytext Preprocessor)
PHP adalah bahasa pemrograman script server-side yang didesain untuk
pengembangan web. Selain itu, PHP juga bisa digunakan sebagai bahasa
pemrograman umum (wikipedia). PHP di kembangkan pada tahun 1995 oleh
Rasmus Lerdorf, dan sekarang dikelola oleh The PHP Group. Php disebut Bahasa
pemrograman server side karena php di proses pada computer server hal ini
berbeda dengan pemrograman server side seperti javascript atau pun HTML yang
di proses pada web browser.
2.4 MYSQL
MySQL adalah sebuah implementasi dari sistem manajemen basisdata
relasional (RDBMS) yang didistribusikan secara gratis di bawah lisensi GPL
(General Public License). Setiap pengguna dapat secara bebas menggunakan
MySQL, namun dengan batasan perangkat lunak tersebut tidak boleh dijadikan
produk turunan yang bersifat komersial. MySQL sebenarnya merupakan turunan
salah satu konsep utama dalam basisdata yang telah ada sebelumnya; SQL
(Structured Query Language). SQL adalah sebuah konsep pengoperasian
basisdata, terutama untuk pemilihan atau seleksi dan pemasukan data, yang
memungkinkan pengoperasian data dikerjakan dengan mudah secara
otomatis.Kehandalan suatu sistem basisdata (DBMS) dapat diketahui dari cara
kerja pengoptimasi-nya dalam melakukan proses perintah-perintah SQL yang
dibuat oleh pengguna maupun program-program aplikasi yang memanfaatkannya.
Sebagai peladen basis data, MySQL mendukung operasi basisdata transaksional
maupun operasi basisdata non-transaksional. Pada modus operasi non-
transaksional, MySQL dapat dikatakan unggul dalam hal unjuk kerja
dibandingkan perangkat lunak peladen basisdata kompetitor lainnya. Namun pada
modus non-transaksional tidak ada jaminan atas reliabilitas terhadap data yang
tersimpan, karenanya modus non-transaksional hanya cocok untuk jenis aplikasi
yang tidak membutuhkan reliabilitas data seperti aplikasi blogging berbasis web
(wordpress), CMS, dan sejenisnya. Untuk kebutuhan sistem yang ditujukan untuk
bisnis sangat disarankan untuk menggunakan modus basisdata transaksional,
hanya saja sebagai konsekuensinya unjuk kerja MySQL pada modus transaksional
tidak secepat unjuk kerja pada modus non-transaksional.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
13
2.5 JSON (JavaScript Object Notation)
JavaScript Object Notation atau di singkat JSON adalah format pertukaran
data yang ringan, mudah dibaca dan ditulis oleh manusia, serta mudah
diterjemahkan dan dibuat (generate) oleh komputer. Format ini dibuat berdasarkan
bagian dari Bahasa Pemprograman JavaScript, Standar ECMA-262 Edisi ke-3 -
Desember 1999. JSON merupakan format teks yang tidak bergantung pada bahasa
pemprograman apapun karena menggunakan gaya bahasa yang umum digunakan
oleh programmer keluarga C termasuk C, C++, C#, Java, JavaScript, Perl, Python
dll. Oleh karena sifat-sifat tersebut, menjadikan JSON ideal sebagai bahasa
pertukaran-data. JSON terbuat dari dua struktur yaitu :
1. Kumpulan pasangan nama atau nilai. Pada beberapa bahasa, hal ini
dinyatakan sebagai objek (object), rekaman (record), struktur (struct),
kamus (dictionary), tabel hash (hash table), daftar berkunci (keyed
list), atau associative array.
2. Daftar nilai terurutkan (an ordered list of values). Pada kebanyakan
bahasa, hal ini dinyatakan sebagai larik (array), vektor (vector), daftar
(list), atau urutan (sequence).
Struktur-struktur data ini disebut sebagai struktur data universal. Pada dasarnya,
semua bahasa pemprograman moderen mendukung struktur data ini dalam bentuk
yang sama maupun berlainan. Hal ini pantas disebut demikian karena format data
mudah dipertukarkan dengan bahasa-bahasa pemprograman yang juga
berdasarkan pada struktur data ini.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
14
BAB III
METODOLOGI PENELITIAN
Pada bab ini pembahasan akan tertuju pada metodologi penelitian yang
mencakup tentang bagaimana gambaran umum penelitian ini dilakukan,
bagaimana tahapan-tahapannya, apa saja yang digunakan, sumber data, hingga
bagaimana rencana implementasinya.
3.1 Gambaran umum
Penelitian ini berfokus pada Information retrieval dengan menggunakan
metode Vector Space Model (VPM) yang di peruntukan untuk pencarian halaman
website. Objek dari penelitian ini adalah mata kuliah mahasiswa yang telah
melakukan pengambilan matakuliah. Sistem yang nantinya akan mencarikan link
webite yang berhubungan dengan mata kuliah tersebut. Outputnya adalah link
website. Harapan dari penelitian ini adalah mahasiswa mengetahui sumber-
sumber yang berkaitan dengan mata kuliah yang sedang diampunya dan dapat
belajar secara mandiri.
Pada gambar 2.1 adalah model dan perancangan dari sistem yang adakan
dibuat. Dalam gambar diatas dijelaskan bahwa setelah data dari hasil search
engine didapatkan berikut semua konten yang ada dalam website disimpan dalam
bentuk file yang mana file tersebut adalah file yang menjadi koleksi sebagai
kumpulan dokumen yang akan digunakan sebagai dataset. Sebelum dijadikan
sebuah dokumen, link website yang didapat akan dihilangkan dari bahasa program
meliputi html, css dan javascript yang terkandung dalam link website terkait
hingga mendapatkan konten dari website tersebut. Setelah file sudah siap maka
akan dilakukan lankah pertama adalah tokenisasi yaitu memisahkan kata dengan
delimiter spasi, sehingga mendapatkan kata atau term yang terdapat dalam
dokumen.
Hapus stopword merupakan proses dimana penghapus kata yang dianggap
stopwords atau tanda baca. Kata yang akan dihapus merupakan kata-kata yang
tidak memiliki makna sebagai contoh adalah yang, di, ke, dari. Stemming adalah
proses dimana setiap kata akan dicari kata dasarnya atau juga disebut root word.
Term frequency adalah proses dimana penghitungan frequency term setiap
dokumen. Invers Document Frequency merupakan penghitungan bobot hubungan
term terhadap dokumen. TF-IDF merupakan penghitungan bobot term setiap
dokumen. Cosine Measure Similarity merupakan kemiripan antara dokumen dan
query. Langkah terkhir adalah recall dan precission paremeter uji yang digunakan
untuk membuktikan tingkat akurasi.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
15
Mulai
Data Hasil Crawling
Mata kuliah Doc 1 Doc 2 Doc 3 Doc ke-n
Tokenisasi
Hapus Stopword
Stemming
Daftar sopword
Daftar kata dasar
Term Frequency (TF)
Inverse Document Ferequency (IDF)
TF-IDF
Proses text Minning
Computing term weight
Daftar kata Berbobot :
Mata kuliah Doc 1 Doc 2 Doc 3 Doc ke-n
Cosine Measure Similarity
Urutkan nilaiEvaluasi hasil dari
output sistem
Proses Interpretation And Evaluation
Tampilkan hasil evaluasi
Selsai
Hasil Precision
Hitung Recall
Hitung waktu komputaisi dan skala perbedaan
sebelum dan sesudah text mining
Proses Testing pengujian
Gambar 3. 1Proses sistem dari information retrial dengan menggunakan
vector space model
3.2 Sumber Data
Sumber data penelitian ini berasal dari hasil crawling dari google search
engine dengan menggunkaan API (Aplication Program Interface) dari
google.com. Dimana hasilnya adakah berupa link website dari hasil searching di
google.com. Link yang diambil dari kata kunci menggunakan data silabus yang
sudah disiapkan. Dari setiap silabus akan dijadikan kata kunci untuk seraching di
google.com kemudian dari hasil tersebut akan diambil lima link website terkait.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
16
Artinya dalam data yang ada terdapat 25 silabus dan masing-masing silabus
memiliki 5 hasil searching. Data yang ada terdapat 125 link website. Yang
nantinya setiap link website yang ada akan di crawling untuk diambil kontennya
dan akan di jadikan dokumen. Dan dengan demikian akan terdapat 125 dokumen
yang merupakan isi konten link website yang dihasilkan dari pencarian dengan
google.com
3.3 Data Kamus Kata
Kamus kata adalah database kata yang berisikan tentang kata dasar dalam
Bahasa Indoensia. Sementara ini terdapat 35.908 kata yang sudah terdapat dalam
database. Yang didapat dari A Study of Stemming Effects on Information Retrieval
in Bahasa Indonesia ( Fadillah Z Tala ).
3.4 Data Stopwords
Stopwords adalah kata-kata yang tidak memiliki makna. Sementara ini
terdapat 758 stopwords yang sudah tersimpan dalam database. Data ini didapat
dari dari A Study of Stemming Effects on Information Retrieval in Bahasa
Indonesia ( Fadillah Z Tala ).
3.5 Spesifikasi Alat
Sistem ini dibuat dengan spesifikasi alat software dan hardware sebagai
berikut:
1. Spesifikasi hardware:
a. Processor Intel(R) Core(TM) i3-4150 CPU @ 3.50 GHz (4 CPUs)
b. RAM 8GB DDR3
c. Har Disk 500GB
d. VGA AMD Radeon Graphics Processor (0, 6613).
2. Spesifikasi software :
a. Windows X
b. Editor code Sublime, Android studio, Atom
c. WAMP server
d. SQLyog
e. Postman
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
17
3.6 Tahapan-Tapan Penelitian
3.6.1 Studi kasus
Kasus yang akan dipelajari adalah pencarian link website yang memiliki
sumber tentang mata kuliah mahasiswa yang diambil dalam semester yang sedang
di jalaninya.
3.6.2 Studi pustaka
Studi pustaka yang dilakukan adalah mencari website, buku, video, atau
pun artikel yang membahas tentang web crawling dan Infromation Retrieval.
Penelitian ini, penulis akan mempelajari tentang konsep yang berkaitan dengan
Information retrieval dengan menggunakan model Vector Space. Konsep yang
dipelajari akan membantu untuk membangun sebuah sistem yang digunakan
untuk memberikan sumber-sumber website yang berkaitan dengan mata kuliah.
3.6.3 Pemeriksaan file atau dokumen
Pemriksaan file atau dokumen oleh ahli tentang dokumen hasil retrieved
dan pemeriksaan dokumen koleksi demi memenui kebutuhan penghitungan
kecocokan dokumen hasil retrieved dengan dokumen koleksi.
3.6.4 Metode Pengembangan Perangkat Lunak
Metode yang digunakan dalam penelitian ini adalah metode waterfall.
Metode waterfall atau sering juga disebut sebagai pengembangan model air terjun
merupakan pengembangan perangkat lunak yang paling tua dan paling banyak
dipakai. Model ini juga mengusulkan sebuah pendekatan perangkat lunak yang
sistematik dan skuensial yang dimulai pada tingkat dan kemajuan sistem pada
seluruh tahapan analisis, desain, kode, pengujian dan pemeliharaan [6].
Analisis kebutuhan
Desain sistem
Pengujian kode program
Pengujian Program
Penerapan Program
Gambar 3. 2 metode pengembangan dengan menggunakan metode waterfall
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
18
a. Analisis sistem
Dalam langkah ini merupakan langkah dimana
mengalisis terhadap kebutuhan sistem. Pengumpulan data dalam
tahap ini bisa menggukan berbagai cara seperti wanwancara,
studi literatur dan studi kasus.
b. Desain
Proses ini adalah proses dimana mengolah data hasil
analisa menjadi sebuah representasi yang nantinya akan diakan
diterapkan dalam sistem atau aplikasi. Proses ini terfokus pada
struktur data, arsitektur perangkat lunak, desain interface, dan
algoritma[6].
c. Pengkodean
Pengkodean adalah proses dimana penulisan dari hasil
desain ke penejemahan bahasa yang dapat dimengeti oleh
bahasa mesin[6]. Disinilah bahasa pemrograman mulai
diketikan.
d. Pengujian
Pengujian adalah proses dimana sistem akan di uji untuk
baik secara fungsional logika internal ataupun pengujian
terhadap logika external[6].
e. Pemeliharaan
Pemeliharaan adalah proses dimana sistem akan mulai
bekerja di lapangan dan para developer akan memantau
bagaimana aplikasi mulai berjalan meningkatkan peforma, fitur
– fitur yang berpotensi terajadi error akan terus dipantau di pase
ini.
f. Analisa Hasil
Hasil pencarian dokumen yang ditemukan harus akurat.
Selanjutnya adalah membangdingkan nilai akurasi atau recall
dan prcission bedasarkan hasil pencarian antar algoritma nazief
and adriani serta algoritma porter.
3.7 Evaluasi
Dalam proses ini dilakukan perbandingan antara hasil pemelohan
informasi dari algoritma Nazief and Ardiani dan algoritma Porter. Dengan
menggunakan keyword “ ” . Kedua algoritma tersebut akan di bandingkan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
19
berdasarkan nilai uji recall dan precission-nya dalam 125 dokumen yang berhasil
di crawling.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
20
BAB IV
ANALISIS DAN PERANCANGAN SISTEM
4.1 Analisa sistem
4.1.1 Analisis Kerja API Google dan Penyiapan Dataset
Sistem akan memanfaatkan API ( aplication program interface ) yang
disediakan oleh google dengan mengambil. Setelah mendapatkan link API dari
google. Dengan parsing keyword yang telah di tentukan dalam hal ini adalah data
silabus dari matakuliah. Berikut merupakan potongan koding untuk mengambil
data link website dengan menggunakan API google akan diperlihatkan pada
gambar 4.1:
Gambar 4. 1 penggunaan API Google
Dalam kasus ini hasil yang data yang berhasil return bertipe data json ada
beberapa parameter yang diambil dari hasil pencarian dengan google.
Gambar 4. 2Hasil pencarian dengan API google
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
21
Jika di perhatikan pada gambar 4.2 adalah hasil pencarian dengan API
google, terdapat bebera variable yang dihasilkan dalam pencarian google
diantaranya tittle, kind, htmlTittle, cached, metatags dan lain sebagainya. Namun
dalam hal ini yang terpakai adalah variable link yang berupa url dari website yang
berhasil dicari oleh google dan metaTags adalah deskripsi dari website tersebut.
Kemudian kedua variable tersebut akan disimpan didalam database guna untuk
menyiapkan dataset yang nantinya akan diolah oleh sistem.
Setelah semua data tersimpan, link hasil dari pencarian tadi akan di
bersihkan dari bahasa pemrogramman seperti html, javascript dan css hingga
mendapatkan text content website. Berikut potongan program pada gambar 4.3.
Gambar 4. 3pembersihan dari bahasa pemrogramman dan pembuatan dokumen.
Pada gambar 4.4 merupakan isi dari sebuah website yang belum di lakukan
preprocessing.
Gambar 4. 4file yang belum dilakukan pembersihan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
22
Gambar 4. 5 link website yang telah dibersihkan dan dibuatkan file dokumen
Setelah dokumen terbentuk, maka data akan siap diproses menggunakan
pemrolehan informasi. Potongan dokumen tersebut yang diperlihatkan pada
gambar 4.5
4.1.2 Gambaran Sistem.
Sistem pemerolehan materi mata kuliah berdasarkan halaman website
yang dipergunakan untuk membantu mahasiswa dalam menemukan referensi mata
kuliah baru akan dikembangkan.
Gambar 4. 6 Gambaran Keseluruhan system
Dari gambar 4.6 diatas tersebut digambarkan sebuah proses berjalannya
system yang akan dikembangkan. Langkah awal yang akan di lakkukan adalah
pemngumpulan link website berdasarkan keyword silabus matakuliah tertentu
dan kemudian di simpan kedalam database Mysql. Kemudian dari link yang
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
23
didapat akan dilakukan crawling untuk mendapatkan isi konten dari link
tersebut, setelah mendapatkan konten website, kemudian dari hasil pencarian
konten tersebut yang dilakukan adalam pengarsipan atau pembuatan dokumen,
untuk membentuk koleksi dokumen. Lalu setelah koleksi dokumen terbentuk
saatnya proses information retrieval dilakukan. Hasil dokumen relevan akan
disajikan berdasarkan materi atau silabus terkait, seturut dengan hasil
information retrieval dari hasil stemming algoritma nazief and Adriani serta
algoritma porter.
4.2 Analisis Kebutuhan Pengguna
4.2.1 Use Case Diagram
Gambar 4. 7 Use Case Diagram
Sistem pemerolehan informasi halaman website akan diakses oleh satu
actor user yaitu pengguna atau dalam kasus ini adalah mahasiswa. Gambar use
case diatas akan dijelaskan pada table 4.1 berikut ini.
Table 4.1 Keterangan use case diagram gambar 4.7
Aktor Keterangan
Pengguna (Mahasiswa) Dapat melakukan pencarian informasi
tentang referensi mata kuliah
berdasarkan data mata kuliah yang
telah tersedia
4.2.2 Sekernario Use Case
a. Mencari Referensi Materi Mata Kuliah
Nama Use Case Mencari referensi materi mata kuliah
ID Use Case 1
Prioritas Tinggi
Aktor Pengguna ( Mahasiswa )
Deskripsi Use Case ini merupakan proses untuk mencari referensi
materi mata kuliah.
Pra kondisi Aktor akan berada pada halaman dashboard.
Prmicu Aktor akan melihat referensi yang diberikan berdasarkan
materi mata kuliah
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
24
Lankah Utama Aksi Aktor Reaksi Sistem
Langkah 1 :
Aktor akan mengklik daftar
mata mata kuliah
Langkah 3 :
User akan mengklik tombol
reverensi satu pencarian
dengan menggunakan
algoritma nazief and adriani
dan referensi 2
menggunakan algoritma
porter
Langkah 2 :
Sistem akan menampilkan
daftar mata kuliah
Langkah 4 :
Sistem akan menampilkan
referensi materi mata kuliah.
Langkah
alternative
-
Kesimpulan Use Case ini akan digunakan untuk mencari referensi mata
kuliah berupa link website.
Pasca kondisi Aktor atau pengguna akan menemukan informasi materi
mata kuliah berupa link website.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
25
4.2.3 Diagram Kelas
Rancangan Diagram kelas untuk memodelkan pemerolehan informasi
dengan menggunakan algoritma nazief and adriani.
Gambar 4. 8 diagram kelas dengan menggunakan algoritma nazief and adriani
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
26
Rancangan Diagram kelas untuk memodelkan pemerolehan informasi dengan
menggunakan algoritma porter.
Gambar 4. 9 diagram kelas dengan menggunakan algoritma porter
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
27
4.2.4 Perancangan Database
Hubungan relasi antar table akan ditunjukan pada gambar 4.9 sebagai
berikut:
Gambar 4. 10Hubungan antar tabel
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
28
4.3 Rancangan Basis Data
Tabel 4. 1Table tbl_stopwords
Nama kolom Tipe Data Ukuran Keterangan
id_stopwords Int 100 Merupakan id dari setiap
stopwords yang ada
stopwords Text - Nama stopwords
stopwords_date Date - Waktu penyimpanan
stopwords
Tabel 4. 2Table tbl_kata
Nama kolom Tipe Data Ukuran Keterangan
kata_id Int 11 Primary key untuk table
tlb_kata
kata Varchar 100 Nama kata atau word
kata_stopword Enum Ya, bukan Status stopword dalam setiap
kata
kata_categori Enum Kapabilitas,
intergritas
Jenis kategori pada setiap
kata
kata_sentiment Enum Positif,
negatif
Jenis sentiment pada setiap
kata
kata_idx int 11 Id untuk setiap kata
Tabel 4. 3 Table tbl_makul
Nama kolom Tipe Data Ukuran Keterangan
id_makul Int 100 Primary key untuk table
tbl_makul
makul_nama Varchar 1000 Daftar nama mata kuliah
makul_sks Int 10 Jumlah sks untuk setiap mata
kuliah
makul_deskripsi Text - Deskripsi untuk setiap mata
kuliah
makul_date Date - Waktup penyimpanan mata
kuliah
makul_was_delete Enum Y, N Status penghapusan mata
kuliah
Tabel 4. 4 Table tbl_silabus
Nama kolom Tipe Data Ukuran Keterangan
silabus_id Int 100 Primary key untuk table
tbl_silabus
makul_id Int 100 Foreign key dari table
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
29
tbl_makul
silabus Varchar 100 Daftar silabus
silabus_datetime Datetime - Waktup penyimpanan
silabus
silabus_was_deleted enum Y, N Status penghapusan silabus
Tabel 4. 5 Table tbl_materi
Nama kolom Tipe Data Ukuran Keterangan
id_materi int 100 Primary key dari table
tbl_materi
id_silabus Int 100 Foreign key dari table
tbl_silabus
materi_link Text - Daftar link referensi mata
kuliah hasil searching di
materi_meta_des Text - Meta deskripsi website
terkait
materi_tittle Text - Tittle website terkait
materi_date Text - Waktu penyimpanan link
website
materi_was_delete Enum Y, N Status penghapusan materi
link website
Tabel 4. 6 Tabel tbl_striptags_materi
Nama kolom Tipe Data Ukuran Keterangan
id_strip Int 100 Primary key dari table
tbl_striptags_materi
id_materi Int 100 Foreign key dari table
tbl_materi
materi_link Text - Link website terkait
striptags text - Nama file dokumen yang
berisikan konten website
terkait
Tabel 4. 7 tabel tbl_result_porter
Nama kolom Tipe Data Ukuran Keterangan
Id Int 11 Primary key pada table
tbl_result_porter
Kata varchar 100 Jenis kata hasil stemming
dengan algoritma porter
Doc Varchar 11 Nama file yang di stemming
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
30
dengan algoritma porter
Datetime Datetime - Waktu penyimpanan data
Kata_was_delete Enum Y, N Status penghapusan kata
pada table tbl_result_porter
Tabel 4. 8Tabel tbl_result_nazief
Nama kolom Tipe Data Ukuran Keterangan
id_nazief Int 11 Primary key pada table
tbl_result_nazief
Kata varchar 100 Jenis kata hasil stemming
dengan algoritma nazief and
adriani
Doc Varchar 11 Nama file yang di stemming
dengan algoritma nazief and
adriani
Datetime Datetime - Waktu penyimpanan data
Kata_was_delete Enum Y, N Status penghapusan kata
pada table tbl_result_nazief
Tabel 4. 9 Tabel tabel tbl_result_nazief
Nama kolom Tipe Data Ukuran Keterangan
id_term Int 11 Primry key pada table
tbl_result_nazief
Term Varchar 100 Daftar kata atau term
Frequency Int 11 Nilai frequency term pada
sebuah dokumen
doc varchar 100 Nama dokumen
Tabel 4. 10 Tabel tabel tbl_result_porter
Nama kolom Tipe Data Ukuran Keterangan
id_term Int 11 Primry key pada table
tbl_result_poter
Term Varchar 100 Daftar kata atau term
Frequency Int 11 Nilai frequency term pada
sebuah dokumen
doc varchar 100 Nama dokumen
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
31
Tabel 4. 11 tabel generate_file
Nama kolom Tipe Data Ukuran Keterangan
File_id Int 11 Primary key pada table
generate_file
File_kode varchar 100 Hasil dari pemberian nama
setiap pembuatan dokumen
baru yang di butuhkan
4.4 Rancangan Desain Antarmuka
Pada halaman ini menampilkan halaman utama yang akan digunakan oleh
pengguna mengan mengklik menu mata kuliah maka pengguna akan di tampilkan
halaman mata kuliah yang telah tersedia. Tampilan halaman dashboard akan di
sajikan pada gambar 4.8 sebagai berikut:
Gambar 4. 11 Halaman Utama
Pada halaman mata kuliah akan di tampilkan mata kuliah yang sudah tersedia.
Tampilan halaman tersebut adalah sebagai berikut pada gambar 4.11:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
32
Gambar 4. 12 tampilan data mata kuliah
Untuk melihat referensi yang akan disajikan oleh sistem pengguna dapat menekan
tombol pada kolom option refrensi 1 untuk hasil dari algoritma nazief and adriani
serta referensi 2 untuk hasil dari algoritma porter. Untuk tampilannya seperti
gambar 4.12 sebagai berikut:
Gambar 4. 13 Tampilan menampilkan referensi materi mata kuliah
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
33
BAB V
IMPLEMENTASI DAN ANALISIS HASIL
5.1 Spesifikasi software dan Hardware
5.1.1 Spesifikasi Software ( perangkat lunak )
Sistem ini dibangun menggunakan perangkat lunak yang mendukung
untuk implementasi pemerolehan informasi untuk mencari referensi mata kuliha
halaman website adalah sebagai berikut:
a. Sistem operasi : windows 10 64 bit
b. Sqlyog
c. Heidisql
d. Sublime text 3
e. Mozilla
f. Wampserver 64 bit
5.1.2 Spesifikasi hardware ( perangkat keras )
Perangkat keras yang diperlukan untuk membuat sistem ini adalah sebagai
berikut :
a. Processor Intel(R) Core(TM) i3-4150 CPU @ 3.50 GHz (4 CPUs)
b. RAM 8GB DDR3
c. Har Disk 500GB
d. VGA AMD Radeon Graphics Processor (0, 6613).
5.2 Implementasi Halaman Antarmuka
5.2.1 Implementasi Halaman Utama
Gambar 5.1 Adalah gambar yang menunjukan tampilan awal
ketika program dijalankan :
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
34
Gambar 5. 1 implementasi halaman utama
5.2.2 Implementasi Halaman Mata Kuliah
Gambar 5.2 Adalah gambar yang menunjukan tampilan ketika user
atau pengguna menekan menu mata kuliah adalah sebagai berikut:
Gambar 5. 2Halaman menampilkan data mata kuliah
5.2.2 Implementasi Halaman Menampilkan Referensi Materi Mata
Kuliah
Gambar 5.3 adalah gambar dimana pengguna dapat melihat hasil
referensi materi matakuliah kedua algoritma secara satu persatu dengan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
35
mengekan tombol referensi 1 sebgai hasil dari algoritma nazief and
adriani serta referensi 2 hasil dari algoritma Porter
Gambar 5. 3 menampilkan referensi mata kuliah
5.3 Implementasi Stemming
Stemming merupakan tahap dimana tahap untuk mencari root word atau
mencari kata dasar dalam suatu kata yang terdapat pada setiap koleksi dokumen.
Stemming dalam pemerolehan informasi digunakan untuk meningkatkan peforma
dalam memperoleh informasi berbasis text dengan cara mentransformasi kata-kata
dalam setiap dokumen menjadi kata dasar. Seperti sudah di jelaskan dalam
penelitian ini akan membandingkan dua algoritma stemming yaitu algoritma
Nazief and Adriani dan porter.
5.3.1 Implementasi Algoritma Nazief And Adriani
Algoritma Nazief And Adriani merupakan algortima yang digunakan untuk
mencari root word atau kata dasar dengan menghilankan setiap prefix dan suffix.
Gambar 5.4 merupakan bagaimana algoritma Nazief and Adriani diterapkan.
Yang pertama dilakukan adalah penghilangan inflection suffix, lalu penghilangan
derivation suffix dan yang terakhir adalah derivartion prefix. Akan tetapi setiap
proses yang ada algoritma nazief and adriani akan selalu mengecek kata dalam
database kata dasar untuk memastikan bahwa root word atau kata dasar telah
ditemukan namun sebuah kata sudah melewati proses dan didalam database kata
dasar juga tidak ditemukan maka bisa di asumsikan kata tersebut adalah root
word.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
36
Gambar 5. 4 pengimplementasian algoritma nazief and adriani
5.3.2 Implementasi Algoritma Porter
Stemming Algoritma Porter merupakan algoritma yang akan
menjadi pembanding dengan algoritma porter. Terdapat perbedaan proses
yang cukup terlihat dalam hal ini. Jika dalam algoritma nazief and adriani
tahap yang pertama adalah penghapusan inflection suffix. Tahap kedua
adalah panghapusan derivation suffix. Tahap ketiga adalah penghapusan
derivartion prefix. Dan setiap tahap tersebut akan selalu mengecek ke
dalam database. Namun dalam algoritma porter terdapat 4 tahap. Pertama
adalah penghapusan posesif pronoun. Tahap kedua adalah penghapusan
devation prefix. Tahap ketiga adalah penghapusan devation prefix kedua.
Lalu tahap yang terakhir adalah penghapusan derevation suffix. Akan
tetapi perbedaan yang cukup mencolok terjadi algorima porter tidak
menggunakan database kata dasar untuk memastikan setiap hasil proses
penghapusan dari setiap kata. Pengimplementasian algoritma porter tertera
pada gambar 5.5 sebagai berikut:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
37
Gambar 5. 5 pengimplementasian algoritma porter
5.4 Pengujian Dan Analisis Hasil
Dalam pengujian hasil dan analisa dalam penelitian ini
menggunakan tenaga review yang dalam penelitian ini merupakan
mahasiswa teknik informatika yang diperuntukan untuk mengecek
dokumen hasil dari sistem dan kemudian akan mengecek dokumen
keseluruhan dengan beberapa kata kunci. Yang nantiknya akan digunakan
untuk uji recall dan precission-nya.
Berikut adalah nama mahasiswa yang dijadikan sebagai tenaga ahli
dalam pengecekan dokumen :
1. 155315047 – Novri Karyadi Sahputera, mahasiswa basis data
Universitas Sanata Dharma.
2. 135314077 – Heronimus Wicaksono, mahasiswa jaringan
komputer Universitas Sanata Dharma.
3. 145314095 – Yohanes Elkana M., Mahasiswa komputasi
Universitas Sanata Dharma.
Kata kunci yang akan dicek dalam penelitian ini adalah:
1. Basis data adalah kumplan data yang saling berkaitan dan
terorganisasi dengan baik sehingga mudah untuk disimpan dan
dimanipulasi. Sedangkan System basis data adalah gabungan
antara basis data dan prangkat lunak DBMS termasuk di
dalamnya program aplikasi yang dibuat dan bekerja dalam
suatu system yg bertujuan untuk dapat memanipulasi data dari
basis data sehingga diperoleh informasi yang di inginkan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
38
2. Aplikasi berbasis web terdiri dari front-end atau bagian depan
dan back-end atau bagian belakang. Pembuatan Front-End
biasanya menggunakan script HTML, CSS dan JavaScript.
Back-end dibuat menggunakan server-side script, seperti php,
python dan java. Pada tutorial ini, kita akan membahas
pembuatan front-end dengan menggunakan HTML dan CSS.
Untuk JavaScript, pembaca dapat mendapatkan pada tutorial
yang lain. Untuk Back-End, kita akan membahas bahasa
pemrograman PHP. Kita juga perlu menggunakan database.
3. Yang dimaksud dengan objek pada java adalah sekumpulan
software yang terdiri dari variable dan method-method yang
terkait. Objek juga merupakan benda nyata yang di buat
berdasarkan rancangan yang di definisikan di dalam class.
5.4.1 Hasil Pengujian Pemerolehan Informasi Algoritma Nazief And Adriani
5.4.1.1 Uji Petama Algoritma Nazief And Adriani dengan menggunakan kata
kunci “Basis data adalah kumplan data yang saling berkaitan dan
terorganisasi dengan baik sehingga mudah untuk disimpan dan
dimanipulasi. Sedangkan System basis data adalah gabungan antara basis
data dan prangkat lunak DBMS termasuk di dalamnya program aplikasi
yang dibuat dan bekerja dalam suatu system yg bertujuan untuk dapat
memanipulasi data dari basis data sehingga diperoleh informasi yang di
inginkan”.
Table 5.1 berikut adalah hasil dari pengujian sistem kata kunci “Basis data
adalah kumplan data yang saling berkaitan dan terorganisasi dengan baik sehingga
mudah untuk disimpan dan dimanipulasi. Sedangkan System basis data adalah
gabungan antara basis data dan prangkat lunak DBMS termasuk di dalamnya
program aplikasi yang dibuat dan bekerja dalam suatu system yg bertujuan untuk
dapat memanipulasi data dari basis data sehingga diperoleh informasi yang di
inginkan” dengan menggunakan algortima nazief and ardiani yang sudah
diurutkan berdasarkan cosin similarity:
Tabel 5. 1 Hasil informasi retrieval dengan kata kunci “Basis data adalah kumplan
data yang saling berkaitan dan terorganisasi dengan baik sehingga mudah untuk
disimpan dan dimanipulasi. Sedangkan System basis data adalah gabungan antara
basis data dan prangkat lunak DBMS termasuk di dalamnya program aplikasi
yang dibuat dan bekerja dalam suatu system yg bertujuan untuk dapat
memanipulasi data dari basis data sehingga diperoleh informasi yang di inginkan”
dengan menggunakan algoritma nazief and adriani.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
39
No Dokumen Similarity
1 FILE_000079 0,1148
2 FILE_000045 0,0828
3 FILE_000085 0,0722
4 FILE_000036 0,0617
5 FILE_000078 0,0582
6 FILE_000077 0,0553
7 FILE_000086 0,0541
8 FILE_000133 0,0499
9 FILE_000141 0,0499
10 FILE_000043 0,0488
11 FILE_000082 0,0449
12 FILE_000076 0,0427
13 FILE_000084 0,0418
14 FILE_000091 0,0408
15 FILE_000083 0,0387
16 FILE_000134 0,0342
17 FILE_000041 0,0332
18 FILE_000116 0,0323
19 FILE_000138 0,0323
20 FILE_000131 0,0306
5.4.1.2 Uji Kedua Algoritma Nazief And Adriani dengan menggunakan kata
kunci “Aplikasi berbasis web terdiri dari front-end atau bagian depan dan
back-end atau bagian belakang. Pembuatan Front-End biasanya
menggunakan script HTML, CSS dan JavaScript. Back-end dibuat
menggunakan server-side script, seperti php, python dan java. Pada tutorial
ini, kita akan membahas pembuatan front-end dengan menggunakan HTML
dan CSS. Untuk JavaScript, pembaca dapat mendapatkan pada tutorial
yang lain. Untuk Back-End, kita akan membahas bahasa pemrograman
PHP. Kita juga perlu menggunakan database”.
Table 5.2 berikut adalah hasil dari pengujian sistem dengan kata kunci
“Aplikasi berbasis web terdiri dari front-end atau bagian depan dan back-end atau
bagian belakang. Pembuatan Front-End biasanya menggunakan script HTML,
CSS dan JavaScript. Back-end dibuat menggunakan server-side script, seperti
php, python dan java. Pada tutorial ini, kita akan membahas pembuatan front-end
dengan menggunakan HTML dan CSS. Untuk JavaScript, pembaca dapat
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
40
mendapatkan pada tutorial yang lain. Untuk Back-End, kita akan membahas
bahasa pemrograman PHP. Kita juga perlu menggunakan database” dengan
menggunakan algortima nazief and ardiani yang sudah diurutkan berdasarkan
cosin similarity:
Tabel 5. 2 table hasil information retrival dari sistem dengan menggunakan kata
kunci “Aplikasi berbasis web terdiri dari front-end atau bagian depan dan back-
end atau bagian belakang. Pembuatan Front-End biasanya menggunakan script
HTML, CSS dan JavaScript. Back-end dibuat menggunakan server-side script,
seperti php, python dan java. Pada tutorial ini, kita akan membahas pembuatan
front-end dengan menggunakan HTML dan CSS. Untuk JavaScript, pembaca
dapat mendapatkan pada tutorial yang lain. Untuk Back-End, kita akan membahas
bahasa pemrograman PHP. Kita juga perlu menggunakan database” dengan
menggunakan algoritma nazief and adriani
No Dokumen Similarity
1 FILE_000039 0,2585
2 FILE_000045 0,2145
3 FILE_000043 0,0696
4 FILE_000036 0,0628
5 FILE_000082 0,06
6 FILE_000076 0,0588
7 FILE_000028 0,0545
8 FILE_000084 0,0499
9 FILE_000078 0,0485
10 FILE_000041 0,0391
11 FILE_000085 0,039
12 FILE_000044 0,0375
13 FILE_000075 0,0359
14 FILE_000079 0,0325
15 FILE_000077 0,03
16 FILE_000086 0,0294
17 FILE_000056 0,0289
18 FILE_000091 0,0221
19 FILE_000083 0,0209
20 FILE_000134 0,0177
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
41
5.4.1.3 Uji Ketiga Algoritma Nazief And Adriani dengan menggunakan kata
kunci “Yang dimaksud dengan objek pada java adalah sekumpulan software
yang terdiri dari variable dan method-method yang terkait. Objek juga
merupakan benda nyata yang di buat berdasarkan rancangan yang di
definisikan di dalam class”.
Table 5.3 berikut adalah hasil dari pengujian sistem dengan kata kunci
“Yang dimaksud dengan objek pada java adalah sekumpulan software yang terdiri
dari variable dan method-method yang terkait. Objek juga merupakan benda nyata
yang di buat berdasarkan rancangan yang di definisikan di dalam class” dengan
menggunakan algortima nazief and ardiani yang sudah diurutkan berdasarkan
cosin similarity:
Tabel 5. 3 table hasil information retrival dari sistem dengan menggunakan kata
kunci “Yang dimaksud dengan objek pada java adalah sekumpulan software yang
terdiri dari variable dan method-method yang terkait. Objek juga merupakan
benda nyata yang di buat berdasarkan rancangan yang di definisikan di dalam
class” dengan menggunakan algoritma nazief and adriani
No Dokumen Similarity
1 FILE_000062 0,2686
2 FILE_000070 0,2686
3 FILE_000072 0,2686
4 FILE_000073 0,2639
5 FILE_000066 0,2428
6 FILE_000065 0,1351
7 FILE_000074 0,1253
8 FILE_000137 0,1225
9 FILE_000063 0,0878
10 FILE_000132 0,0736
11 FILE_000075 0,0382
12 FILE_000064 0,0342
13 FILE_000050 0,0216
14 FILE_000101 0,0206
15 FILE_000034 0,0205
16 FILE_000068 0,0201
17 FILE_000126 0,0192
18 FILE_000094 0,0151
19 FILE_000078 0,0138
20 FILE_000124 0,0128
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
42
5.4.2 Hasil Pengujian Pemerolehan Informasi Algoritma Porter
5.4.2.1 Uji Petama Algoritma Porter dengan menggunakan kata kunci “Basis
data adalah kumplan data yang saling berkaitan dan terorganisasi dengan
baik sehingga mudah untuk disimpan dan dimanipulasi. Sedangkan System
basis data adalah gabungan antara basis data dan prangkat lunak DBMS
termasuk di dalamnya program aplikasi yang dibuat dan bekerja dalam
suatu system yg bertujuan untuk dapat memanipulasi data dari basis data
sehingga diperoleh informasi yang di inginkan”.
Table 5.4 berikut adalah hasil dari pengujian sistem dengan kata kunci
“Basis data adalah kumplan data yang saling berkaitan dan terorganisasi dengan
baik sehingga mudah untuk disimpan dan dimanipulasi. Sedangkan System basis
data adalah gabungan antara basis data dan prangkat lunak DBMS termasuk di
dalamnya program aplikasi yang dibuat dan bekerja dalam suatu system yg
bertujuan untuk dapat memanipulasi data dari basis data sehingga diperoleh
informasi yang di inginkan” dengan menggunakan algortima porter yang sudah
diurutkan berdasarkan cosin similarity:
Tabel 5. 4 Hasil informasi retrieval sistem dengan kata kunci “Basis data adalah
kumplan data yang saling berkaitan dan terorganisasi dengan baik sehingga
mudah untuk disimpan dan dimanipulasi. Sedangkan System basis data adalah
gabungan antara basis data dan prangkat lunak DBMS termasuk di dalamnya
program aplikasi yang dibuat dan bekerja dalam suatu system yg bertujuan untuk
dapat memanipulasi data dari basis data sehingga diperoleh informasi yang di
inginkan” dengan menggunakan algoritma porter.
No Dokumen Similarity
1 FILE_000079 0,1243
2 FILE_000045 0,0773
3 FILE_000085 0,0701
4 FILE_000078 0,0573
5 FILE_000036 0,0570
6 FILE_000086 0,0520
7 FILE_000133 0,0473
8 FILE_000141 0,0473
9 FILE_000077 0,0470
10 FILE_000043 0,0467
11 FILE_000082 0,0442
12 FILE_000076 0,0421
13 FILE_000116 0,0400
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
43
14 FILE_000138 0,0400
15 FILE_000084 0,0399
16 FILE_000091 0,0390
17 FILE_000083 0,0369
18 FILE_000134 0,0363
19 FILE_000145 0,0343
20 FILE_000041 0,0319
5.4.2.2 Uji Kedua Algoritma Porter dengan menggunakan kata kunci
“Aplikasi berbasis web terdiri dari front-end atau bagian depan dan back-
end atau bagian belakang. Pembuatan Front-End biasanya menggunakan
script HTML, CSS dan JavaScript. Back-end dibuat menggunakan server-
side script, seperti php, python dan java. Pada tutorial ini, kita akan
membahas pembuatan front-end dengan menggunakan HTML dan CSS.
Untuk JavaScript, pembaca dapat mendapatkan pada tutorial yang lain.
Untuk Back-End, kita akan membahas bahasa pemrograman PHP. Kita juga
perlu menggunakan database”.
Table 5.5 berikut adalah hasil dari pengujian sistem dengan kata kunci
“Aplikasi berbasis web terdiri dari front-end atau bagian depan dan back-end atau
bagian belakang. Pembuatan Front-End biasanya menggunakan script HTML,
CSS dan JavaScript. Back-end dibuat menggunakan server-side script, seperti
php, python dan java. Pada tutorial ini, kita akan membahas pembuatan front-end
dengan menggunakan HTML dan CSS. Untuk JavaScript, pembaca dapat
mendapatkan pada tutorial yang lain. Untuk Back-End, kita akan membahas
bahasa pemrograman PHP. Kita juga perlu menggunakan database” dengan
menggunakan algortima porter yang sudah diurutkan berdasarkan cosin
similarity:
Tabel 5. 5 Hasil informasi retrieval sistem dengan kata kunci “membuat aplikasi
berbasis website” dengan menggunakan algoritma porter.
No Dokumen Similarity
1 FILE_000039 0,2551
2 FILE_000045 0,2141
3 FILE_000043 0,0698
4 FILE_000036 0,0608
5 FILE_000082 0,0598
6 FILE_000076 0,0587
7 FILE_000028 0,0548
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
44
8 FILE_000084 0,0500
9 FILE_000078 0,0487
10 FILE_000085 0,0398
11 FILE_000041 0,0393
12 FILE_000044 0,0379
13 FILE_000075 0,0360
14 FILE_000079 0,0323
15 FILE_000086 0,0296
16 FILE_000056 0,0290
17 FILE_000077 0,0267
18 FILE_000091 0,0221
19 FILE_000083 0,0209
20 FILE_000134 0,0178
5.4.1.1 Uji Ketiga Algoritma Porter dengan menggunakan kata kunci “Yang
dimaksud dengan objek pada java adalah sekumpulan software yang terdiri
dari variable dan method-method yang terkait. Objek juga merupakan
benda nyata yang di buat berdasarkan rancangan yang di definisikan di
dalam class”.
Table 5.6 berikut adalah hasil dari pengujian sistem dengan kata kunci
“Yang dimaksud dengan objek pada java adalah sekumpulan software yang terdiri
dari variable dan method-method yang terkait. Objek juga merupakan benda nyata
yang di buat berdasarkan rancangan yang di definisikan di dalam class” dengan
menggunakan algortima porter yang sudah diurutkan berdasarkan cosin
similarity:
Tabel 5. 6 Hasil informasi retrieval sistem dengan kata kunci “Yang dimaksud
dengan objek pada java adalah sekumpulan software yang terdiri dari variable dan
method-method yang terkait. Objek juga merupakan benda nyata yang di buat
berdasarkan rancangan yang di definisikan di dalam class” dengan menggunakan
algoritma porter.
No Dokumen Similarity
1 FILE_000062 0,2692
2 FILE_000070 0,2692
3 FILE_000072 0,2692
4 FILE_000073 0,2614
5 FILE_000066 0,2409
6 FILE_000065 0,1347
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
45
7 FILE_000074 0,1250
8 FILE_000137 0,1225
9 FILE_000063 0,0877
10 FILE_000132 0,0734
11 FILE_000075 0,0383
12 FILE_000064 0,0342
13 FILE_000050 0,0217
14 FILE_000101 0,0211
15 FILE_000034 0,0208
16 FILE_000068 0,0201
17 FILE_000126 0,0193
18 FILE_000094 0,0152
19 FILE_000078 0,0138
20 FILE_000124 0,0129
5.4.3 Uji Recall Dan Precission
Berikut adalah hasil dari uji recall dan precission dari ketiga kata kunci
tersebut:
1. Kata kunci “Basis data adalah kumplan data yang saling berkaitan
dan terorganisasi dengan baik sehingga mudah untuk disimpan dan
dimanipulasi. Sedangkan System basis data adalah gabungan antara
basis data dan prangkat lunak DBMS termasuk di dalamnya program
aplikasi yang dibuat dan bekerja dalam suatu system yg bertujuan
untuk dapat memanipulasi data dari basis data sehingga diperoleh
informasi yang di inginkan”
Berikut adalah dokumen relevan hasil dari pengecekan ahli terdapat pada
table 5.7 :
Tabel 5. 7 Hasil pengecekan ahli dokumen relevan dengan keyword “Basis
data adalah kumplan data yang saling berkaitan dan terorganisasi dengan baik
sehingga mudah untuk disimpan dan dimanipulasi. Sedangkan System basis data
adalah gabungan antara basis data dan prangkat lunak DBMS termasuk di
dalamnya program aplikasi yang dibuat dan bekerja dalam suatu system yg
bertujuan untuk dapat memanipulasi data dari basis data sehingga diperoleh
informasi yang di inginkan”
1 FILE_000082
2 FILE_000076
3 FILE_000078
4 FILE_000079
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
46
Berikut hasil pengujian recall dan precission terdapat pada table 5.8 kedua
algoritma dengan kata kunci “Basis data adalah kumplan data yang saling
berkaitan dan terorganisasi dengan baik sehingga mudah untuk disimpan dan
dimanipulasi. Sedangkan System basis data adalah gabungan antara basis data dan
prangkat lunak DBMS termasuk di dalamnya program aplikasi yang dibuat dan
bekerja dalam suatu system yg bertujuan untuk dapat memanipulasi data dari
basis data sehingga diperoleh informasi yang di inginkan”:
Tabel 5. 8 tabel uji recall dan precission kedua algoritma dengan kata kunci
“Basis data adalah kumplan data yang saling berkaitan dan terorganisasi dengan
baik sehingga mudah untuk disimpan dan dimanipulasi. Sedangkan System basis
data adalah gabungan antara basis data dan prangkat lunak DBMS termasuk di
dalamnya program aplikasi yang dibuat dan bekerja dalam suatu system yg
bertujuan untuk dapat memanipulasi data dari basis data sehingga diperoleh
informasi yang di inginkan”
NO NAZIEF AND ADRIANI PORTER
Recal Precission Recal Precission
1 0,25 1 0,25 1
2 0,25 0,5 0,25 0,5
3 0,25 0,333333333 0,25 0,333333333
4 0,25 0,25 0,5 0,5
5 0,5 0,4 0,5 0,4
6 0,5 0,333333333 0,5 0,333333333
7 0,5 0,285714286 0,5 0,285714286
8 0,5 0,25 0,5 0,25
9 0,5 0,222222222 0,5 0,222222222
10 0,5 0,2 0,5 0,2
11 0,75 0,272727273 0,75 0,272727273
12 1 0,333333333 1 0,333333333
13 1 0,307692308 1 0,307692308
14 1 0,285714286 1 0,285714286
15 1 0,266666667 1 0,266666667
16 1 0,25 1 0,25
17 1 0,235294118 1 0,235294118
18 1 0,222222222 1 0,222222222
19 1 0,210526316 1 0,210526316
20 1 0,2 1 0,2
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
47
2. Kata kunci “Aplikasi berbasis web terdiri dari front-end atau bagian
depan dan back-end atau bagian belakang. Pembuatan Front-End
biasanya menggunakan script HTML, CSS dan JavaScript. Back-end
dibuat menggunakan server-side script, seperti php, python dan java.
Pada tutorial ini, kita akan membahas pembuatan front-end dengan
menggunakan HTML dan CSS. Untuk JavaScript, pembaca dapat
mendapatkan pada tutorial yang lain. Untuk Back-End, kita akan
membahas bahasa pemrograman PHP. Kita juga perlu menggunakan
database”
Berikut adalah dokumen relevan hasil dari pengecekan ahli
terdapat pada table 5.9:
Tabel 5. 9 Hasil pengecekan ahli dokumen relevan dengan keyword “Aplikasi
berbasis web terdiri dari front-end atau bagian depan dan back-end atau bagian
belakang. Pembuatan Front-End biasanya menggunakan script HTML, CSS dan
JavaScript. Back-end dibuat menggunakan server-side script, seperti php, python
dan java. Pada tutorial ini, kita akan membahas pembuatan front-end dengan
menggunakan HTML dan CSS. Untuk JavaScript, pembaca dapat mendapatkan
pada tutorial yang lain. Untuk Back-End, kita akan membahas bahasa
pemrograman PHP. Kita juga perlu menggunakan database”
1 FILE_000041
2 FILE_000043
3 FILE_000045
4 FILE_000044
Berikut hasil pengujian recall dan precission terdapat pada table 5.10 kedua
algoritma dengan kata kunci “Aplikasi berbasis web terdiri dari front-end atau
bagian depan dan back-end atau bagian belakang. Pembuatan Front-End biasanya
menggunakan script HTML, CSS dan JavaScript. Back-end dibuat menggunakan
server-side script, seperti php, python dan java. Pada tutorial ini, kita akan
membahas pembuatan front-end dengan menggunakan HTML dan CSS. Untuk
JavaScript, pembaca dapat mendapatkan pada tutorial yang lain. Untuk Back-End,
kita akan membahas bahasa pemrograman PHP. Kita juga perlu menggunakan
database”:
Tabel 5. 10 hasil uji recall dan precission dengan menggunakan keyword
“Aplikasi berbasis web terdiri dari front-end atau bagian depan dan back-end atau
bagian belakang. Pembuatan Front-End biasanya menggunakan script HTML,
CSS dan JavaScript. Back-end dibuat menggunakan server-side script, seperti
php, python dan java. Pada tutorial ini, kita akan membahas pembuatan front-end
dengan menggunakan HTML dan CSS. Untuk JavaScript, pembaca dapat
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
48
mendapatkan pada tutorial yang lain. Untuk Back-End, kita akan membahas
bahasa pemrograman PHP. Kita juga perlu menggunakan database”
NAZIEF AND ADRIANI PORTER
Recall Precission Recall Precission
1 0 0 0,00 0
2 0,25 0,5 0,25 0,5
3 0,5 0,666666667 0,50 0,666666667
4 0,5 0,5 0,50 0,5
5 0,5 0,4 0,50 0,4
6 0,5 0,333333333 0,50 0,333333333
7 0,5 0,285714286 0,50 0,285714286
8 0,5 0,25 0,50 0,25
9 0,5 0,222222222 0,50 0,222222222
10 0,75 0,3 0,50 0,2
11 0,75 0,272727273 0,75 0,272727273
12 1,00 0,333333333 1,00 0,333333333
13 1,00 0,307692308 1,00 0,307692308
14 1,00 0,285714286 1,00 0,285714286
15 1,00 0,266666667 1,00 0,266666667
16 1,00 0,25 1,00 0,25
17 1,00 0,235294118 1,00 0,235294118
18 1,00 0,222222222 1,00 0,222222222
19 1,00 0,210526316 1,00 0,210526316
20 1,00 0,2 1,00 0,2
3. Kata kunci “Yang dimaksud dengan objek pada java adalah sekumpulan
software yang terdiri dari variable dan method-method yang terkait. Objek
juga merupakan benda nyata yang di buat berdasarkan rancangan yang di
definisikan di dalam class”
Berikut adalah dokumen relevan hasil dari pengecekan ahli terdapat
pada table 5.11:
Tabel 5. 11 Hasil pengecekan ahli dokumen relevan dengan keyword “Yang
dimaksud dengan objek pada java adalah sekumpulan software yang terdiri dari
variable dan method-method yang terkait. Objek juga merupakan benda nyata
yang di buat berdasarkan rancangan yang di definisikan di dalam class”
FILE_000064
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
49
FILE_000065
FILE_000073
FILE_000074
FILE_000075
Berikut hasil pengujian recall dan precission terdapat pada table 5.12 kedua
algoritma dengan kata kunci “Yang dimaksud dengan objek pada java adalah
sekumpulan software yang terdiri dari variable dan method-method yang
terkait. Objek juga merupakan benda nyata yang di buat berdasarkan
rancangan yang di definisikan di dalam class”:
Tabel 5. 12 hasil uji recall dan precission dengan menggunakan keyword “Yang
dimaksud dengan objek pada java adalah sekumpulan software yang terdiri dari
variable dan method-method yang terkait. Objek juga merupakan benda nyata
yang di buat berdasarkan rancangan yang di definisikan di dalam class”
NAZIEF AND ADRIANI PORTER
No Recall Precission Recall precission
1 0 0,00 0 0,00
2 0 0,00 0 0,00
3 0 0,00 0 0,00
4 0,2 0,25 0,2 0,25
5 0,2 0,20 0,2 0,20
6 0,4 0,33 0,4 0,33
7 0,6 0,43 0,6 0,43
8 0,6 0,38 0,6 0,38
9 0,6 0,33 0,6 0,33
10 0,6 0,30 0,6 0,30
11 0,8 0,36 0,8 0,36
12 1 0,42 1 0,42
13 1 0,38 1 0,38
14 1 0,36 1 0,36
15 1 0,33 1 0,33
16 1 0,31 1 0,31
17 1 0,29 1 0,29
18 1 0,28 1 0,28
19 1 0,26 1 0,26
20 1 0,25 1 0,25
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
50
5.4.4 Grafik Recall dan Precission
Grafik 5.1 adalah grafik interpolasi hasil uji recall dan precission dari
algoritma nazief and adriani dan algoritma porter dengan menggunakan kata
kunci “ Basis data adalah kumplan data yang saling berkaitan dan terorganisasi
dengan baik sehingga mudah untuk disimpan dan dimanipulasi. Sedangkan
System basis data adalah gabungan antara basis data dan prangkat lunak DBMS
termasuk di dalamnya program aplikasi yang dibuat dan bekerja dalam suatu
system yg bertujuan untuk dapat memanipulasi data dari basis data sehingga
diperoleh informasi yang di inginkan “ :
NAZIEF
PORTER
Gambar 5. 6 grafik uji recall dan precission dari algoritma nazief and adriani
dan porter dengan keyword “Basis data adalah kumplan data yang saling
berkaitan dan terorganisasi dengan baik sehingga mudah untuk disimpan dan
dimanipulasi. Sedangkan System basis data adalah gabungan antara basis data
dan prangkat lunak DBMS termasuk di dalamnya program aplikasi yang dibuat
dan bekerja dalam suatu system yg bertujuan untuk dapat memanipulasi data dari
basis data sehingga diperoleh informasi yang di inginkan”
Pada gerafik 5.1 terlihat bahwa terjadi perbedaan pada indek ketiga sampai indek
keenam yang menginterprestasikan bahwa algoritma Porter memiliki tingkat
akurasi yang lebih tinggi dibandingkan algoritma Nazief and Adriani.
0%
20%
40%
60%
80%
100%
120%
1 2 3 4 5 6 7 8 9 10
Query 1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
51
Grafik 5.2 adalah grafik interpolasi hasil uji recall dan precission dari algoritma
nazief and adriani dan algoritma porter dengan menggunakan kata kunci
“Aplikasi berbasis web terdiri dari front-end atau bagian depan dan back-end atau
bagian belakang. Pembuatan Front-End biasanya menggunakan script HTML,
CSS dan JavaScript. Back-end dibuat menggunakan server-side script, seperti
php, python dan java. Pada tutorial ini, kita akan membahas pembuatan front-end
dengan menggunakan HTML dan CSS. Untuk JavaScript, pembaca dapat
mendapatkan pada tutorial yang lain. Untuk Back-End, kita akan membahas
bahasa pemrograman PHP. Kita juga perlu menggunakan database “ :
NAZIEF
PORTER
Gambar 5. 7 grafik uji recall dan precission dari algoritma nazief and adriani
dan porter dengan keyword “Aplikasi berbasis web terdiri dari front-end atau
bagian depan dan back-end atau bagian belakang. Pembuatan Front-End
biasanya menggunakan script HTML, CSS dan JavaScript. Back-end dibuat
menggunakan server-side script, seperti php, python dan java. Pada tutorial ini,
kita akan membahas pembuatan front-end dengan menggunakan HTML dan CSS.
Untuk JavaScript, pembaca dapat mendapatkan pada tutorial yang lain. Untuk
Back-End, kita akan membahas bahasa pemrograman PHP. Kita juga perlu
menggunakan database”
Pada fase ini menunjukan bahwa terdapat selisih pada index ke 6 sampai
delapan artinya bahwa algoritma Nazief and Ardian memliki akurasi yang lebih
tinggi dibandingkan dengan algoritma Porter.
50% 50%
66% 66% 66%
30% 30% 33% 33% 33%
50% 50%
66% 66% 66%
27% 27%
33% 33% 33%
0%
10%
20%
30%
40%
50%
60%
70%
1 2 3 4 5 6 7 8 9 10
Query 2
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
52
Grafik 5.3 adalah grafik interpolasi hasil uji recall dan precission dari algoritma
nazief and adriani dan algoritma porter dengan menggunakan kata kunci “Yang
dimaksud dengan objek pada java adalah sekumpulan software yang terdiri dari
variable dan method-method yang terkait. Objek juga merupakan benda nyata
yang di buat berdasarkan rancangan yang di definisikan di dalam class “ :
NAZIEF
PORTER
Gambar 5. 8 grafik uji recall dan precission dari algoritma nazief and adriani
dan porter dengan keyword “Yang dimaksud dengan objek pada java adalah
sekumpulan software yang terdiri dari variable dan method-method yang terkait.
Objek juga merupakan benda nyata yang di buat berdasarkan rancangan yang di
definisikan di dalam class”
Akan tetapi pada grafik 5.8 algoritma Nazief and Adriani cenderung memiliki
nilai akurasi yang sama karena tidak ada pergerakan perubahan grafik pada setiap
indeks.
5.4.5 Rata-rata Hasil Uji recall dan precission
Berikut ini merupakan hasil uji rata-rata dari precission tiga percobaan
adalah sebagai berikut:
1. Percobaan permata dengan kata kunci “Basis data adalah kumplan
data yang saling berkaitan dan terorganisasi dengan baik sehingga
mudah untuk disimpan dan dimanipulasi. Sedangkan System basis
data adalah gabungan antara basis data dan prangkat lunak DBMS
termasuk di dalamnya program aplikasi yang dibuat dan bekerja
dalam suatu system yg bertujuan untuk dapat memanipulasi data
dari basis data sehingga diperoleh informasi yang di inginkan”
0%
5%
10%
15%
20%
25%
30%
35%
40%
45%
50%
1 2 3 4 5 6 7 8 9 10
Query 3
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
53
Table 5.13 merupakan rata-rata precission algoritma Nazief and
Adriani serta Algoritma Porter percobaan pertama dengan kata kunci
“Basis data adalah kumplan data yang saling berkaitan dan terorganisasi
dengan baik sehingga mudah untuk disimpan dan dimanipulasi.
Sedangkan System basis data adalah gabungan antara basis data dan
prangkat lunak DBMS termasuk di dalamnya program aplikasi yang
dibuat dan bekerja dalam suatu system yg bertujuan untuk dapat
memanipulasi data dari basis data sehingga diperoleh informasi yang di
inginkan”:
Tabel 5. 13 Table Rata-rata precission percobaan pertama
Rata-rata precission
Nazief and Adriani Porter
0,501515152 0,526515152
2. Percobaan Kedua dengan kata kunci “Aplikasi berbasis web terdiri
dari front-end atau bagian depan dan back-end atau bagian belakang.
Pembuatan Front-End biasanya menggunakan script HTML, CSS
dan JavaScript. Back-end dibuat menggunakan server-side script,
seperti php, python dan java. Pada tutorial ini, kita akan membahas
pembuatan front-end dengan menggunakan HTML dan CSS. Untuk
JavaScript, pembaca dapat mendapatkan pada tutorial yang lain.
Untuk Back-End, kita akan membahas bahasa pemrograman PHP.
Kita juga perlu menggunakan database”
Table 5.14 merupakan rata-rata precission algoritma Nazief and
Adriani serta Algoritma Porter percobaan pertama dengan kata kunci
“Aplikasi berbasis web terdiri dari front-end atau bagian depan dan back-
end atau bagian belakang. Pembuatan Front-End biasanya menggunakan
script HTML, CSS dan JavaScript. Back-end dibuat menggunakan server-
side script, seperti php, python dan java. Pada tutorial ini, kita akan
membahas pembuatan front-end dengan menggunakan HTML dan CSS.
Untuk JavaScript, pembaca dapat mendapatkan pada tutorial yang lain.
Untuk Back-End, kita akan membahas bahasa pemrograman PHP. Kita
juga perlu menggunakan database”:
Tabel 5. 14 Table Rata-rata precission percobaan kedua
Rata-rata precission
Nazief and Adriani Porter
0,45 0,44318182
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
54
3. Percobaan Ketiga dengan kata kunci “Yang dimaksud dengan objek
pada java adalah sekumpulan software yang terdiri dari variable dan
method-method yang terkait. Objek juga merupakan benda nyata
yang di buat berdasarkan rancangan yang di definisikan di dalam
class”
Table 5.15 merupakan rata-rata precission algoritma Nazief and
Adriani serta Algoritma Porter percobaan pertama dengan kata kunci
“Yang dimaksud dengan objek pada java adalah sekumpulan software
yang terdiri dari variable dan method-method yang terkait. Objek juga
merupakan benda nyata yang di buat berdasarkan rancangan yang di
definisikan di dalam class”:
Tabel 5. 15 Table Rata-rata precission percobaan ketiga
Rata-rata precission
Nazief and Adriani Porter
0,332 0,332
Dan pada gambar 5.9 merupakan grafik rata-rata precission pada setiap
percobaan sebagai berikut:
Gambar 5. 9 Grafik rata –rata precission algoritma porter dan nazief and adriani
terhadap percobaan
0
0.1
0.2
0.3
0.4
0.5
0.6
1 2 3
nazief
porter
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
55
5.4.6 Hasil Pengujian Running Time
Tabel 5.13 dan table 5.14 berikut adalah hasil pengujian running time
algoritma Naizef and Adriani serta algoritma Porter dalam melakukan stemming
10 dokumen:
Tabel 5. 16 Table running time algoritma Nazief and Adriani
Running Time - Nazief and Adriani
No FILE Time (detik)
1 FILE_000021 38,50514
2 FILE_000025 129,8137
3 FILE_000030 44,224
4 FILE_000035 23,4612
5 FILE_000040 122,1105
6 FILE_000045 37,0938
7 FILE_000050 48,9655
8 FILE_000055 26,2145
9 FILE_000060 18,6796
10 FILE_000065 21,637
Rata - Rata 51,070494
Tabel 5. 17 Table running time algoritma porter
Running Time - Porter
No FILE Time ( detik )
1 FILE_000021 9,9911
2 FILE_000025 17,9424
3 FILE_000030 9,3917
4 FILE_000035 8,18677
5 FILE_000040 15,6952
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
56
6 FILE_000045 9,2485
7 FILE_000050 14,0557
8 FILE_000055 7,3793
9 FILE_000060 4,9501
10 FILE_000065 5,5083
Rata-rata 10,234907
Dari kedua table diatas terlihat bahwa algoritma Porter cenderung memiliki
running time lebih rendah dibandingkan algoritma Nazief and Adriani yakni
10.234907 untuk algoritma Porter dan 51.070494 untuk algoritma Nazief and
Adriani. Dalam hal ini menginterpretasikan bahwa algoritma Porter lebih cepat
dibangingkan algoritma Nazief and Adriani. Berikut adalah grafik running time
algoritma Nazief and Adriani serta algoritma Porter.
Gambar 5. 10 grafik running time Algoritma Nazief and Adriani serta Algoritma
Porter.
0
20
40
60
80
100
120
140
1 2 3 4 5 6 7 8 9 10
nazief
porter
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
57
BAB VI
KESIMPULAN DAN ANALISIS
6.1 Kesimpulan
Kesimpulan yang didapat dari hasil diatas adalah:
1. Dari hasil percobaan pertama dengan nilai 0,501515152 untuk
algoritma Nazief and adriani dan 0,526515152 untuk algoritma
Porter. Dimana algoritma Porter memiliki nilai akurasi terbaik
dibandingkan algoritma Nazief and adriani, sedangkan pada
percobaan kedua dengan nilai 0,45 untuk algoritma nazief and
Adriani dan 0,44318182 untuk algoritma Porter. Dimana
algoritma nazief and Adriani cenderung lebih unggul
dibandingkan dengan algoritma porter. Namun dalam
percobaan ketiga kedua algoritma ini tidak memiliki perdeaan
tapi cenderung memiliki nilai akurasi yang sama. Artinya
kedua algoritma ini seimbang jika dilihat dari ketiga percobaan
tersebut.
2. Hasil pengujian running time 10 dokumen algoritma Nazief and
Adriani serta algoritma Porter. Algoritma Porter memiliki
kecepatan yang lebih baik dibandingkan algoritma Nazief and
Adriani. Dengan hasil 51,070494 algoritma Nazief and Adriani
dan 10,234907 untuk algoritma Porter.
6.2 Saran
Saran yang dapat mendukung dalam penelitian ini agar lebih baik adalah :
1. Pastikan bahwa dokumen yang akan dioalah merupakan
dokumen yang murni bahasa Indonesia. Tidak terlalu banyak
mengandung kata-kata yang tidak dikenal. Dengan begitu hasil
stemming munking akan lebih jelas perbedaanya.
2. Penambahan kamus kata dan stopword juga mempengaruhi
hasil stemming, mengingat bahwa algoritma nazief and adriani
memiliki ketergantungan dengan itu.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
58
Daftar Pustaka
Riki Ruli A. Siregar, Fera Amelia Sinaga, Rakhmat Arianto. Aplikasi
penentuan dosen penguji skripsi menggunakan TF-IDF dan vector space
model, hal 5-6. Makalah.
Pardede,J.,Barmawi, M. M., & Pramono, W. D.(2013).Implementasi Metode
Generalized Vector Space Model pada Aplikasi Information Retrieval.
Jurnal Infromatika No.1, Vol. 4, Januari-April, ISSN : 2087-5266, 35.
Pengertian web crawler , https://seon.co.id/pengertian-web-crawler-indexer-
web-spider-dan-robot-spider/
Mengenal Android Studio, https://developer.android.com/studio/intro/?hl=id
Belajar membuat aplikasi android, https://www.twoh.co/2014/09/28/belajar-
membuat-aplikasi-android-menggunakan-android-studio/
Model pengembangan perangakat lunak Berseta contoh pengembangannya,
https://murtri.wordpress.com/2014/08/25/model-model-pengembangan-
perangkat-lunak-beserta-contoh-penerapannya/
Lukas Agus Budi Prasetya. 2018. Perbandingan Teknik Web Crawler Untuk
Mendukung Pemerolehan Sistem Informasi PMB Menggunakan
Pemerolehan Model Boolean. Skirpsi. Yogyakarta: Universitas Sanata
Dharma
Muhammad YasirZain Suswati. 2016. Skripsi. Information Retrieval System
Pada pencarian Dokumen berbasis teks dengan menggunakan metode
Vector Space Model. Madura: Universitas Madura
Arguello, Jaim , INILS 509 Information Retrieval, January 9 2013
Irmawati. 2017. Skripsi. Sistem Temu Kembali Informasi Pada Dokumen
Dengan Menggunakan Vector Space Model. Jakarta: Universitas Mercu
Buana
Novian Anggis Suwastika, Yanuar Firdaus A.w. 2009. Skripsi. Teknik
Informatika Fakultas Teknik Informatika Universitas Telkom, Analisis
Dan Implementasi Vector Space Model (VCM) Pada Information
Retrieval. Bandung: Universitas Telkom.
Gatot Karyono, Fandy Setyo Utomo. Program Studi Teknik Informatika,
STIMIK Amikom Purwokerto, Temu Balik Informasi Pada Dokumen
Teks Berbasis Bahasa Indonesia dengan metode Vector Space Retrieval
Model. Vol 2. No 1. Makalah.
Adith Hermansyah. 2010. Skripsi. Aplikasi Pengkategorian Dokumen dan
Pengukuran Tingkat Similaritas Dokumen Menggunakan Kata Kunci
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
59
Pada Dokumen Penulisan Ilmiah Universitas Gunadharma.Depok :
Universitas Gunadharma
Stemming Bahasa Indonesia dengan Algoritma Nazief dan Andriani,
https://liyantanto.wordpress.com/2011/06/28/stemming-bahasa-
indonesia-dengan-algoritma-nazief-dan-andriani/ (2010)
Lady Agusta. Perbandingan Algoritma Stemming Porter Dengan Algoritma
Nazief & Adriani Untuk Stemming Dokumen Teks Bahasa Indonesia.
Makalah.
Dyan Keke, Rian Chikita, Agus Dwi Prayogo. Sistem Temu Balik Informasi
Algoritma Nazief dan Adriani. Makalah.
Nisa Putri Lestari. 2016. Skripsi. Uji Recall And Precission Sistem Temu
Kembali Informasi Opac Perpustakaan Its Surabaya. Surabaya :
Universitas Airlangga
Ardyan, Agustinus Agri. 2016. Skirpsi. Sistem pemerolehan informasi karya
ilmiah berbasis Cluster dengan G-Means Clustering. Yogyakarta:
Sanata Dharma University.
Firnas Nadirman. 20016. Skripsi. Sistem Temu-Kembali Informasi Dengan
Metode Vector Space Model Pada Pencarian File Dokumen Berbasis
Text. Yogyakarta:Universitas Gajah Mada
Amin, Fatkhul, “Implementasi Search Engine (Mesin Pencari) Menggunakan
Metode Vector Space Model”, Semarang, Universitas Stikubank
Amin, Fatkhul, “Sistem Temu Kembali Informasi Dengan Metode Vektor Space
Model”, Semarang, Universitas Stikubank
Karyono, Giat, dkk., “Temu Kembali Informasi Pada Dokumen Teks
Berbahasa Indonesia Dengan Metode Vektor Space model”,
Purwokerto, STMK AMIKOM
Nadirman, Firnas, “Sistem Temu Kembali Informasi Dengan Metode Vektor
Space Model Pada Pencarian Dokumen Berbasis Teks”, Yokyakarta,
Universitas Gadjah Mada
Purwitasari, Diana, dkk., “Implementasi Modifikasi Enchanced Confix
Stripping Stemmer Untuk Bahasa Indonesia Dengan Metode Corpus
Based Stemming”, Surabaya, ITS
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
60
LAMPIRAN
1. Fungsi mencari TF dan IDF
2. Fungsi mencari combination TF dan IDF
3. Funsi mencari bobot dokumen
4. Funsi mencari cosine similarity
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
61
5. Fungsi mencari similarity document
6. Fungsi ratting document
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI