Anda di halaman 1dari 106

KATA PENGANTAR

Puji syukur kami panjatkan kepada Tuhan Yang Maha


Esa yang telah melimpahkan berkat-Nya sehingga penulis
dapat menyelesaikan buku “Information Retrieval” tepat
pada waktunya.

Tidak lupa juga kami ucapkan terima kasih kepada


Bapak Supangat, S.Kom, M.Kom, COBIT dan Bapak M.
Bagus Setiyo B., S.Kom, M.Kom selaku dosen pegampu mata
kuliah Teknik Temu Kembali Informasi yang telah
memberikan arahan kepada kami sehingga buku ini dapat
terselesaikan dengan baik dan tepat pada waktunya. Kami
ucapkan pula terima kasih kepada orang tua yang sudah ikut
mendukung kami dalam penyelesaian buku ini. Dan ucapan
terima kasih kami untuk semua yang tak bisa kami sebutkan
satu per satu namanya.

Penyusun menyadari jika masih terdapat kekurangan


ataupun suatu kesalahan dalam penyusunan makalah ini
sehingga penyusun mengharapkan kritik ataupun saran yang
bersifat positif untuk perbaikan di masa yang akan datang dari
seluruh pembaca.

Akhir kata, penyusun berharap semoga dengan adanya


makalah ini dapat memberikan manfaat bagi pembaca dan para
mahasiswa/mahasiswi Teknik Informatika Universitas 17
Agustus 1945 Surabaya khususnya.

Surabaya, 24 Juni 2020

Penulis

ii
DAFTAR ISI

KATA PENGANTAR ............................................................ ii

DAFTAR ISI.......................................................................... iii

DAFTAR GAMBAR ............................................................ vii

BAB I DATA SCIENCE ........................................................ 1

1.1. Pengertian Data ....................................................... 1


1.2. Pengertian Data Science.......................................... 2
1.3. Penggunaan Data Science ....................................... 3
1.4. 3 Disiplin Ilmu dalam Data Science ....................... 3
1.4.1. Machine Learning ........................................... 4
1.4.2. Traditional Software ....................................... 5
1.4.3. Traditional Research ....................................... 5
1.5. Data Scientist .......................................................... 6
1.5.1. Skill yang Harus Dimiliki Data Scientist ........ 6
1. Programming....................................................... 6
1.6. Cara Mendapatkan Data .......................................... 9
1.6.1. Survei .............................................................. 9
1.6.2. Data Scraping ................................................ 10
1.6.3. Data Analytics ............................................... 10
1.6.4. Download Datasets ....................................... 11
BAB II INFORMATION RETRIEVAL............................... 12

iii
2.1. Pengertian Information Retrieval (IR) .................. 12
2.2. Definisi Information Retrieval .............................. 13
2.3. Peranan Information Retrieval (IR) ...................... 14
2.4. Cara Kerja Information Retrieval (IR) .................. 15
2.5. Model Information Retrieval (IR) ......................... 16
2.6. Contoh-Contoh Information Retrieval (IR) .......... 17
BAB III INVERTED INDEX ............................................... 19

3.1. Pengertian Inverted Index ..................................... 19


3.2. Cara Inverted Index............................................... 19
3.3. Contoh Implementasi Inverted Index .................... 22
BAB IV BOOLEAN MODELING ....................................... 24

4.1. Pengertian Boolean Modeling ............................... 24


4.2. Kelebihan dan Kekurangan Boolean Modeling .... 26
4.3. Struktur Data dan Algorima Boolean Modeling ... 26
4.4. Contoh Boolean Modeling .................................... 27
BAB V IR EVALUATION .................................................. 29

5.1. Sejarah IR Evaluation ........................................... 29


5.2. Pengertian IR Evaluation ...................................... 30
5.3. Contoh IR Evaluation ........................................... 33
5.4. TF IDF .................................................................. 37
5.5. Document Frequency ............................................ 40
BAB VI HITS ....................................................................... 43

6.1. Sejarah HITS ......................................................... 43

iv
6.2. Cara Kerja HITS ................................................... 45
6.3. Algoritma HITS .................................................... 46
6.4. Contoh Perhitungan .............................................. 46
BAB VII PAGE RANK ........................................................ 49

7.1. Sejarah Page Rank ................................................ 50


7.2. Cara Kerja Page Rank ........................................... 50
7.3. Damping Factor .................................................... 52
7.4. Contoh Perhitungan .............................................. 53
BAB VIII TEXT PREPOCESSING ..................................... 56

8.1. Pengertian Text Prepocessing ............................... 56


8.2. Contoh Penerapan Text Prepocessing ................... 59
BAB IX SCRAPING DATA WEBSITE .............................. 64

9.1. Pengertian Web Scraping ...................................... 64


9.2. Manfaat Web Scraping.......................................... 64
9.3. Scraping Data Website Trip Advidsor .................. 66
9.4. Scraping Data Website Instagram Comment ........ 71
BAB X SCRAPING DATA TWITTER & WORD CLOUD 73

BAB XI SENTIMEN ANALYSIS ....................................... 85

11.1. Coarse Grained Sentimen Analysis.................. 87


11.2. Fined Grained Sentimen Analysis.................... 89
11.3. Proses Sentimen Analysis ................................. 91
11.3.1. Cara Kerja ................................................. 91
11.3.2. Collect Data .............................................. 91

v
11.3.3. Data Prepocessing ..................................... 92
11.3.4. Training ..................................................... 93
11.3.5. Analytic ..................................................... 94
DAFTAR PUSTAKA ........................................................... 95

vi
DAFTAR GAMBAR

Gambar 1. 1 Data Science ....................................................... 1


Gambar 1. 2 Pengertian Data .................................................. 1
Gambar 1. 3 Diagram Venn Data Science .............................. 4

Gambar 2. 1 Information Retrieval ....................................... 12

Gambar 3. 1 Inverted Index .................................................. 20


Gambar 3. 2 Implementasi Inverted Index Pada Google ...... 22
Gambar 3. 3 Google Caffeine ............................................... 23

Gambar 4. 1 Tabel Frekuensi Kemunculan Kata .................. 27


Gambar 4. 2 Tabel Boolean Model ....................................... 28

Gambar 5. 1 IR Evaluation ................................................... 30


Gambar 5. 2 Kepuasan User ................................................. 31
Gambar 5. 3 Confusion Matrix ............................................. 32
Gambar 5. 4 Contoh IR Evaluation Memprediksi Kelulusan
Mahasiswa............................................................................. 33
Gambar 5. 5 Rumus Precision, Recall, Accuracy ................. 34
Gambar 5. 6 Nilai Prediksi dan Nilai Sebenarnya ................ 36
Gambar 5. 7 Formula F-Measure .......................................... 37
Gambar 5. 8 TF IDF.............................................................. 37
Gambar 5. 9 TF dan Bobot ................................................... 38
Gambar 5. 10 Perhitungan Jumlah Masing-Masing Kata ..... 38
Gambar 5. 11 Dokumen Review Hotel ................................. 39
Gambar 5. 12 Melakukan Proses TF..................................... 39
Gambar 5. 13 Document Frequency ..................................... 40
Gambar 5. 14 Rumus Document Frequency ......................... 40
Gambar 5. 15 Menghitung Nilai DF ..................................... 41
Gambar 5. 16 Rumus IDF ..................................................... 42
Gambar 5. 17 Hasil Perhitungan Kombinasi Nilai TF dan IDF
.............................................................................................. 42

vii
Gambar 6. 1 HITS ................................................................. 43
Gambar 6. 2 Sejarah HITS .................................................... 43
Gambar 6. 3 Dua Atribut Utama HITS ................................. 44
Gambar 6. 4 Gambaran Perbedaan Hub dan Authority ........ 44
Gambar 6. 5 Cara Kerja HITS .............................................. 45
Gambar 6. 6 Contoh Perhitungan.......................................... 46
Gambar 6. 7 Nilai Perkalian Matriks .................................... 47
Gambar 6. 8 Proses Perkalian Matriks .................................. 47
Gambar 6. 9 Pengertian Sentimen Analysis Menurut Para Ahli
.............................................................................................. 86
Gambar 6. 10 Text Mining.................................................... 87

Gambar 7. 1 Perbedaan Page Rank dan Hits ........................ 49


Gambar 7. 2 Sejarah Page Rank ........................................... 50
Gambar 7. 3 Inlink ................................................................ 50
Gambar 7. 4 Outlink ............................................................. 51
Gambar 7. 5 Popularitas ........................................................ 51
Gambar 7. 6 Damping Factor................................................ 52
Gambar 7. 7 Perhitungan Page Rank .................................... 53
Gambar 7. 8 Melakukan Perhitungan ................................... 53
Gambar 7. 9 Perhitungan Nilai Permisalan dan Melakukan
Proses Subtitusi ..................................................................... 54
Gambar 7. 10 Proses Distribusi ............................................ 54
Gambar 7. 11 Perhitungan Cara Kedua ................................ 55

Gambar 8. 1 Import Library .................................................. 59


Gambar 8. 2 Ijin Akses ke Google Drive .............................. 60
Gambar 8. 3 Mengambil Data Scraping................................ 60
Gambar 8. 4 Menampilkan Data ........................................... 60
Gambar 8. 5 Mengolah Data Pada Kolom Label .................. 61
Gambar 8. 6 Melakukan Cleaning Teks................................ 61
Gambar 8. 7 Import Library NLTK, Download punkt dan
stopwords .............................................................................. 62
Gambar 8. 8 Melakukan Analisis Teks ................................. 62

viii
Gambar 8. 9 Menghapus Tanda Baca yang Tidak Diperlukan
.............................................................................................. 63
Gambar 8. 10 Melakukan Mapping Text .............................. 63

Gambar 9. 1 Memilih Salah Satu Hotel di Tripadvisor ........ 66


Gambar 9. 2 Membuka Parsehub .......................................... 67
Gambar 9. 3 Mengcopy URL dari Tripadvisor ..................... 67
Gambar 9. 4 Pengaturan Data yang Akan Diambil ............... 68
Gambar 9. 5 Posisi Pengambilan Data .................................. 68
Gambar 9. 6 Mulai Menjalankan Proses Scraping ................ 69
Gambar 9. 7 Proses Pengambilan Data ................................. 70
Gambar 9. 8 Download Data ................................................ 70
Gambar 9. 9 Hasil Scraping Tripadvisor .............................. 71
Gambar 9. 10 Mengambil Link Posting Instagram ............... 71
Gambar 9. 11 Pengambilan Data Comment Instagram ......... 72
Gambar 9. 12 Hasil Scraping Instagram Comment .............. 72

Gambar 10. 1 Antarmuka Software Gephi............................ 73


Gambar 10. 2 Install Plugin TwitterStreamingImporter ....... 74
Gambar 10. 3 Create New App Pada Account Developer
Twitter ................................................................................... 74
Gambar 10. 4 Memasukkan API Key, API Secret Key, Access
Token dan Access Token Secret ........................................... 75
Gambar 10. 5 Memasukkan Kata-Kata yang Ingin Dicari .... 76
Gambar 10. 6 Proses Scraping Data...................................... 76
Gambar 10. 7 Proses Filter Data ........................................... 78
Gambar 10. 8 Hasil Scraping Data........................................ 78
Gambar 10. 9 Export Table ................................................... 79
Gambar 10. 10 Import Library .............................................. 80
Gambar 10. 11 Ijin Akses ke Google Drive .......................... 80
Gambar 10. 12 Mengambil Data Scraping............................ 80
Gambar 10. 13 Menampilkan Data ....................................... 80
Gambar 10. 14 Mengolah Data Pada Kolom Label .............. 81
Gambar 10. 15 Melakukan Cleaning Teks............................ 81

ix
Gambar 10. 16 Import Library NLTK, Download punkt dan
stopwords .............................................................................. 82
Gambar 10. 17 Melakukan Analisis Teks ............................. 82
Gambar 10. 18 Menghapus Tanda Baca yang Tidak Diperlukan
.............................................................................................. 83
Gambar 10. 19 Melakukan Mapping Text ............................ 83
Gambar 10. 20 Hasil Mapping Text...................................... 84

Gambar 11. 1 Coarse Grained Sentimen Analysis ............... 87


Gambar 11. 2 Pengelompokan Berita Coarse Grained
Sentimen Analysis ................................................................ 88
Gambar 11. 3 Fined Grained Sentimen Analysis .................. 89
Gambar 11. 4 Pengelompokan Berita Fined Grained Sentimen
Analysis ................................................................................ 90
Gambar 11. 5 Cara Kerja ...................................................... 91
Gambar 11. 6 Data Mentah ................................................... 92
Gambar 11. 7 Menentukan Kategori Sentimen ..................... 93
Gambar 11. 8 Proses Training Data ...................................... 93
Gambar 11. 9 Tahap Analytic Data ...................................... 94

x
BAB I
DATA SCIENCE
Data Science/ilmu data adalah sebuah bidang ilmu
pengetahuan yang berfokus untuk memecahkan suatu masalah
menggunakan data. baik data yang terstruktur maupun tidak
terstruktur.

Gambar 1. 1 Data Science

1.1. Pengertian Data

Gambar 1. 2 Pengertian Data

1
2

Data adalah catatan dari kumpulan fakta. fakta fakta


inilah yang nantinya akan diolah menggunakan data science
dan menghasilkan informasi. setelah sebuah informasi yang di
dapat, informasi tersebut bisa menjadi data lagi dan diolah lagi
menjadi informasi baru.

Contoh: sebuah perusahaan memiliki data penjualan


selama bulan januari, dan data tersebut akan menghasilkan
informasi berapa laba penjualan selama bulan januari. lalu
informasi yang terkumpul itu bisa kita olah lagi untuk
mendapatkan informasi laba penjualan dalam satu tahun.

Data sendiri bisa memiliki banyak format seperti text,


angka, gambar, audio, dan lain lain.
1.2. Pengertian Data Science
Data Science merupakan perpaduan dari berbagai alat,
algoritma dan prinsip-prinsip pembelajaran mesin dengan
tujuan menemukan pola yang tersembunyi dari data mentah.
lalu apa yang membedakannya dengan ilmu statistik pada
umumnya? Jawabannya terletak pada perbedaan antara
menjelaskan dan memprediksi.

Seorang data analyst biasanya menjelaskan apa yang


terjadi dengan data . Di sisi lain, data scientist tidak hanya
melakukan analisis eksplorasi untuk menemukan wawasan dari
itu, tetapi juga menggunakan berbagai algoritma pembelajaran
mesin canggih untuk mengidentifikasi terjadinya peristiwa
tertentu di masa depan. Seorang data scientist akan melihat data
dari berbagai sudut, kadang-kadang sudut yang sebelumnya
tidak diketahui.
3

Ilmu Data lebih sering digunakan untuk membuat


keputusan dan prediksi menggunakan analisis sebab-akibat
prediktif, analytics (ilmu prediksi dan keputusan) dan machine
learning.
1.3. Penggunaan Data Science
Data science atau ilmu data merupakan ilmu terapan
baru yang perkembangannya dituntut oleh meningkatnya
penggunaan teknologi secara signifikan. Data science
digunakan oleh perusahaan maupun instansi tertentu untuk
melakukan analisis data yang tidak bisa dilakukan dengan
metode sederhana. Misalkan marketplace Tokopedia
memerlukan suatu pengetahuan yang dapat melakukan analisis
data penjual dan pembeli di platform mereka. Tentunya, data
yang mereka punyai setiap detiknya terus berubah atau
bertambah. Sehingga diperlukan suatu metode komputasi
untuk mengambil data tersebut serta melakukan perhitungan
yang dapat menganalisis informasi pada data tersebut.
Disinilah peran data science dalam pemenuhan kebutuhan
suatu perusahaan atau instansi.

1.4. 3 Disiplin Ilmu dalam Data Science


Data science adalah ilmu interdisiplin yang berarti data
science terbentuk dari berbagai ilmu pengetahuan. Menurut
Staven Geringer Raleigh (2014), pembentuk data science atau
ilmu data dapat diilustrasikan dalam diagram venn berikut.
4

Gambar 1. 3 Diagram Venn Data Science

Data science mencakup disiplin ilmu yang luas,


berdasarkan diagram diatas terdapat 3 disiplin ilmu yang fokus
pada data science, yaitu:

1.4.1. Machine Learning


Machine learning merupakan irisan dari ilmu
matematika dan statistika dengan ilmu komputer. Machine
Learning adalah cabang dari disiplin ilmu kecerdasan buatan
(Artificial Intelligence) yang bertujuan memberikan
kemampuan kepada komputer untuk dapat melakukan proses
belajar. Banyak algoritma machine learning yang digunakan
untuk melakukan analisis data dengan tingkat akurasi yang
5

tinggi, yang paling populer adalah neural network. Dimana kita


ketahui fundamental sebuah algoritma selalu menggunakan
ilmu matematika. Salah satu penerapannya adalah Cortana atau
yang lebih dikenal sebagai asisten dari pengguna Windows 10
merupakan salah satu penerapan machine learning.

1.4.2. Traditional Software


Traditional software merupakan irisan dari ilmu
komputer dengan SME (Subject Matter Expertise), SME
adalah pengetahuan mengenai proses dari suatu bisnis atau
instansi untuk beroperasi sehingga dapat dibuat (develop) suatu
sistem yang dapat membantu bisnis atau instansi tersebut.
Penerapan traditional software hampir digunakan oleh seluruh
instansi pemerintahan maupun bisnis, contohnya e-learning, e-
library, online banking, Point of Sales (PoS), dan lain-lain.

1.4.3. Traditional Research


Traditional research merupakan irisan dari ilmu
matematika dan statistika dengan SME (Subject Matter
Expertise). Traditional research hampir digunakan berbagai
perusahaan, instansi serta universitas. Penelitian-penelitian
yang dilakukan umumnya menggunakan traditional research.

Dari ketiga bidang ilmu tersebut, terbentuklah data


science sebagai disiplin ilmu baru yang dapat memenuhi
kebutuhan analisis data menggunakan kecerdasan komputer.
6

1.5. Data Scientist


Orang yang ahli dalam bilang data science biasa disebut
data scientist, sedangkan pengertian data scientist sendiri
adalah orang yang mengatur data dalam jumlah besar,
mengumpulkan dan menganalisis sekumpulan besar data
terstruktur dan tidak terstruktur.
Dalam suatu organisasi, data scientist bertindak sebagai
orang yang menganalisis dan mempelajari pola suatu data
untuk mendapatkan informasi, dan informasi tersebut yang
akan membantu perusahaan mengambil keputusan.
Data scientist tidak bisa bekerja sendiri, mereka
membutuhkan bantuan tenaga lain seperti data engineer dan
software engineer untuk mengaplikasikan temuan mereka ke
dalam suatu aplikasi.
Gaji data scientist sendiri tergolong sangat besar,
menurut world economic forum, data scientist menduduki
peringkat dengan gaji terbesar dibanding dengan pekerjaan
terkait lainnya. Dan tentunya gaji yang besar juga
mendatangkan tanggung jawab yang besar pula, seorang data
scientist dituntut memiliki skill yang tinggi, baik soft skill
maupun hard skill.
1.5.1. Skill yang Harus Dimiliki Data Scientist
1. Programming
Seorang data scientist harus memahami
beberapa bahasa pemrograman sekaligus,
tergantung kepada kebijakan dan keperluan kantor,
namun bahasa pemrograman yang paling sering kita
jumpai untuk data scientist adalah python dan R,
karena keduanya menawarkan banyak tools dan
7

framework yang bisa digunakan, namun terkadang


industri juga memerlukan bahasa lain untuk
membantu pengembangan aplikasinya, ada banyak
faktor yang perlu dipertimbangkan saat memilih
bahasa pemrograman yang pas seperti, speed
training, syntaks, framework yang di butuhkan, dan
kesesuaiannya dengan aplikasi yang akan dibuat.
Beberapa bahasa pemrograman yang paling
sering digunakan untuk data science adalah phyton,
R, java, SQL, Julia, scala, matlab.
2. Algoritma
Selain Memahami sintaks dari bahasa
pemrograman, Data Scientist Juga dituntut untuk
memahami Algoritma serta memilih Algoritma
yang tepat untuk suatu case. inilah yang
membedakan Seorang Data Scientist dengan Data
analyst.
Banyak sekali algoritma yang bisa diterapkan
dalam memecahkan berbagai kasus, beberapa
diantaranya:
• Natural Language Processing
• Classification
• Clustering
• Ensemble methods
• Deep Learning
3. Data Visualization
Seorang data scientist juga harus mengerti
tools untuk mempresantisakan sebuah informasi
yang didapat, karena informasi yang telah didapat
8

tersebut akan digunakan untuk membantu


pengambilan keputusan.
Sedangkan orang yang berhak mengambil
keputusan suatu perusahaan adalah seorang
manager/direktur. oleh karena itu seorang data
scientist harus menjelaskan informasi yang
didapatnya tersebut kepada orang terkait di
perusahan, tidak mungkin kita langsung
memberikan hasil analysis kita dalam bentuk code
matlab/python secara langsung.
Alat yang digunakan pun sangat beragam,
untuk beberapa kasus kita bisa menggunakan tools
visualisasi seperti matplotlib, dan beberapa kasus
lainnya kita harus memberikan informasi yang
detail berupa persentasi.
4. Big Data Platform
Di era big data semua data yang terkumpul
jumlahnya sangatlah besar, oleh karena itu
diperlukan platform yang mampu menampung data
sebanyak itu dan memprosesnya. biasanya industri
menggunakan data warehouse untuk urusan ini.
sedangkan perseorang biasanya masih
menggunakan database relational untuk hal ini.
Macam-macam big data platform, beberapa
diantaranya:
• Microsoft Azure
• Hadoop
• Microsoft Azure
• Cloudera
9

• Sisense
• Collibra
• Tableau
• MapR
• Qualtrics
• Oracle
• MongoDB
• Datameer
5. Soft Skill
Seorang data scientist juga dituntut memiliki
soft skill yang berguna untuk menunjang karirnya.
Seperti contoh, memiliki skill komunikasi yang
bagus, intuisi yang tinggi terhadap data, Mampu
bekerja sama dalam team, dll, beberapa soft skill
didapat dari sifat alami orang tersebut namun kamu
bisa mengasahnya dengan telus berlatih, bekerja
atau mengikuti pelatihan dan bootcamp.
1.6. Cara Mendapatkan Data
1.6.1. Survei
Cara pertama mendapatkan data adalah dengan cara
survey, banyak sekali perusahaan swasta yang melakukan
survei untuk mengetahui apa yang sangat di inginkan oleh
penggunanya.

Namun ada beberapa organisasi yang menjalankan


survei dengan iming iming imbalan terhadap surveyor, hal ini
bisa menyebabkan data menjadi kotor dan tidak valid.
10

1.6.2. Data Scraping


Cara yang bisa dilakukan berikutnya adalah dengan
mengambil informasi yang ada di dunia maya secara otomatis
dengan data scraping. misalnya saja sebuah perusahaan ingin
mengumpulkan data tentang lagu yang paling sering di dengar
di seluruh dunia.

Maka tidak mungkin orang tersebut mengecek satu per


satu aplikasi musik lalu mencatatnya secara berkala. dibuthkan
sebuah bot yang dapat mengambil data secara otomatis dari
semua aplikasi dari web tersebut.

1.6.3. Data Analytics


Cara mendapatkan data yang berikutnya adalah dengan
Data Analytics, bayangkan anda memiliki sebuah toko, lalu
setiap hari ada banyak orang yang membeli barang yang anda
jual yang tentunya barang tersebut terdiri dari banyak macam.
lalu sewaktu waktu toko anda menjadi sepi tanpa anda ketahui
sebabnya, tentunya anda tidak mau mengalami hal tsb. oleh
karena itu banyak banyak industri yang menerapkan data
analytics ke dalam perusahaannya. misalnya saja indomart dan
alfamart, mereka menggunakan mesin kasir yang nantinya data
penjualan tsb akan tercatat dan tersimpan di dalam database
mereka.

Dengan menyimpan data tersebut mereka jadi tahu tren


dan pola yang terjadi di tempat mereka. misalkan orang yang
membeli kopi biasanya juga membeli gula, dan data tersebut
bisa mereka gunakan untuk membuat produk bundle untuk
meningkatkan penjualan. ada banyak contoh dari implementasi
data analytics, untuk pembahasan lengkap data analytic kamu
bisa baca.
11

1.6.4. Download Datasets


Banyak perusahaan atau organisasi memberikan datanya
secara cuma cuma untuk dipelajari oleh masyarakat umum atau
orang yang ingin mempelajari data science, data yang disebar
itu bisa membuka peluang informasi baru yang belum pernah
ditemukan oleh perusahaan atau organisasi itu sebelumnya.

Contohnya saja BMKG yang memberikan datasets cuaca


terupdate setiap hari, data tersebut bisa dimanfaatkan oleh
orang umum untuk memprediksi cuaca selama setahun
kedepan atau memprediksi daerah yang rawan bencana alam.

Ada banyak sekali organisasi yang memberikan data


secara cuma cuma untuk dimanfaatkan, kita bisa melihatnya di
kaggle, selain itu tak jarang perusahaan membuat kompetisi
untuk menemukan data baru dari sekumpulan data, yang
pastinya akan menguntungkan perusahaan sekaligus juga
mencari data scientist andal.
BAB II
INFORMATION RETRIEVAL

2.1. Pengertian Information Retrieval (IR)


Information Retrieval (IR) atau sering disebut “temu
kembali infromasi” adalah ilmu yang mempelajari prosedur-
prosedur dan metode-metode untuk menemukan kembali
informasi yang tersimpan dari berbagai sumber (resources)
yang relevan atau koleksi sumber informasi yang dicari atau
dibutuhkan. Dengan tindakan index (indexing), panggilan
(searching), pemanggilan data kembali (recalling).

Dalam pencarian data, beberapa jenis data dapat


ditemukan diantaranya texts, table, gambar (image), video,
audio. Adapun tujuan dari Infromation Retrieval ialah untuk
memenuhi informasi pengguna dengan cara meretrieve
dokumen yang relevan atau mengurangi dokumen pencarian
yang tidak relevan.

Gambar 2. 1 Information Retrieval

12
13

2.2. Definisi Information Retrieval


Secara Konsep sederhana IR merupakan proses mencari,
dan kemudain mendapatkan apa yang dicari. Jika kita titik
beratkan kepada prosesnya maka didalamnya akan terungkap
bagaimana perjalanan informasi yang diminta, menjadi
infrormasi yang diberikan. Menurut beberapa ahli IR
didefinisikan sebagai berikut:

1. Menurut Kowalaski
Informasi Retrieval adalah konsep sederhana dalam
pencarian yang dilakukan oleh seseorang. seperti contoh
ketika user akan mencari informasi yang dia butuhkan,
maka sistem menerjemahakan kepada bentuk statment
yang kemudian di eksekusi oleh sistem pencari.
2. William Hersh Menyatakan:
Information Retrieval adalah “bidang di
persimpangan ilmu informasi dan ilmu komputer.
Berkutat dengan pengindeksan dan pengambilan
informasi dari sumber informasi heterogen dan sebagian
besar-tekstual. Istilah ini diciptakan oleh Mooers pada
tahun 1951, yang menganjurkan bahwa diterapkan ke
“aspek intelektual” deskripsi informasi dan sistem untuk
pencarian (Mooers, 1951).”
3. Kutipan Dari Wikipedia
Wikipedia menjelaskan Information Retrieval (IR)
adalah seni dan ilmu mencari informasi dalam dokumen,
mencari dokumen itu sendiri, mencari metadata yang
menjelaskan dokumen, atau mencari dalam database,
apakah relasional database itu berdiri sendiri atau database
14

hypertext jaringan seperti Internet atau intranet, untuk teks


, suara, gambar, video atau data.
Dari ketiga rujukan definisi diatas, sudah jelas
dimaksudkan bahwa information retrieval adalah bidang
keilmuan dalam Teknologi informasi yang menjelaskan
tentang “Pencarian dan Pengambilan Kembali Informasi”.
Keilmuan ini mengungkapkan bagaimana metode
metode pencarian informasi yang dilakukan oleh end user dari
gudang gudang penyimpanan yang bersekala besar, contoh
sederhananya adalah media penyimpanan kita sendiri.
Terkadang ketika semakin banyak data yang kita simpan
dalam sebuah media penyimpanan tak jarang kita akan lupa
dimana kita meletakan data yang kita simpan tadi, sehingga kita
melakukan proses pencarian data yang kita lupa tadi, bisa
dengan menggunakan tools pencarian atau bisa dengan
memeriksa satu persatu tempat penyimpanan data kita.
Dalam studi kasus yang lebih kompleks, penerapan IR
adalah Search Engine (Mesin Pencari) seperti google, yahoo,
bing dll. SE merupakan implementasi yang sangat kompleks
dari IR

2.3. Peranan Information Retrieval (IR)


Information Retrieval (IR) memiliki kegunaan yang
banyak untuk user. Kita bisa melihat fungsinya di mesin
pencari untuk mencari informasi, atau di perpustakaan, di
apotik dan lain sebagainya. Itu semua adalah karena jasa IR.
Information Retrieval mempunyai peran untuk:
15

1. Menganalisis isi sumber informasi dan pertanyaan


pengguna.
2. Mempertemukan pertanyaan pengguna dengan sumber
informasi untuk mendapatkan dokumen yang relevan.

2.4. Cara Kerja Information Retrieval (IR)


Untuk menemukan informasi relevan yang kita cari,
maka kata kunci (Keyword, Kueri) yang dimasukan sebaiknya
sesuai dengan informasi yang ingin didapat, karena dengan
keyword yang seusai maka proses pencarian dalam index di
mesin Information Retrieval akan lebih cepat, sehingga korpus
yang sesuai dengan kata kunci yang dimasukan akan
ditampilkan kembali pada si end user.

Keyword, Kueri: merupakan inputan kata kunci


pencarian yang diberikan pengguna kepada Mesin Pencari
(Google atau Yahoo);

Indexing: merupakan proses penyusunan index dari


seluruh dokumen pada korpus, yang terdiri dari kata-kata
(token)

Korpus: ialah kumpulan dokumen yang disalin ke mesin


IR Misalnya Google “menjepret” seluruh halaman website
yang bisa diakses umum (tanpa login terlebih dahulu)
kemudian menyalinnya ke mesin IR di ruang servernya google.

Proses yang terjadi di dalam Information Retrieval


sendiri terdiri dari 2 bagian utama, yakni Indexing subsystem,
dan Searching subsystem (matching system).

Proses indexing digunakan untuk membentuk basis data


terhadap koleksi dokumen yang dimasuk, dengan kata lain,
16

indexing ialah proses persiapan yang dilakukan kepada


dokumen sehingga dokumen siap untuk diproses. Proses
indexing sendiri meliputi 2 proses, Term indexing dan
document indexing. Hasil Term indexing akan menghasilkan
koleksi kata yang akan digunakan dalam meningkatkan
performansi pencarian pada tahapan selanjutnya.

Tahap dalam proses indexing ialah:

1. Word Token, yakni mengubah dokumen menjadi


kumpulan term dengan cara menghapus semua karakter
dalam tanda baca yang terdapat kepada dokumen dan
mengubah kumpulan term menjadi lowercase.
2. Stopword Removal. Proses penghapusan kata-kata yang
sering ditampilkan dalam dokumen seperti: and, or, not
dan sebagainya.
3. Stemming. Proses mengubah suatu kata bentukan menjadi
kata dasar.
4. Term Weighting. Proses pembobotan setiap term di dalam
dokumen.

2.5. Model Information Retrieval (IR)


Model Information Retrieval ada 3 jenis, yaitu:
1. Model Vector Space adalah model IR yang
merepresentasikan dokumen dan query dalam bentuk
vektor dimensional.
2. Model Probabilistic adalah model IR yang menggunakan
framework probabilistic.
3. Model Boolean adalah model IR sederhana yang
berdasarkan atas teori himpunan dan aljabar Boolean.
17

Model ruang vektor dan model probabilistik adalah


model yang menggunakan pembobotan kata dan perangkingan
dokumen. Hasil retrieval yang didapat dari model-model ini
merupakan dokumen terangking yang dianggap paling relevan
terhadap query.
Dalam model ruang vektor, dokumen dan juga query
direpresentasikan sebagai vektor di dalam ruang vektor yang
disusun di dalam indeks term, kemudian dimodelkan dengan
persamaan geometri. Sedangkan dalam model probabilistik
direpresentasikan dengan membuat asumsi-asumsi distribusi
term dalam dokumen yang relevan dan tidak relevan dalam
orde estimasi kemungkinan relevansi suatu dokumen terhadap
query.

2.6. Contoh-Contoh Information Retrieval (IR)


1. Searching Text Melalui Web Search Engine
Keyword dimasukkan oleh user untuk pencarian
informasi yang diinginkan pada Search Engine, yang
mana informasi yang didapatkan mengandung
relevansi/keterkaitan dengan yang diharapkan.
2. Information Retrieval di Perpustakaan
Perpustakaan adalah salah satu institusi pertama
yang mengadopsi sistem IR untuk mendapatkan
informasi. Pada umumnya, sistem yang digunakan di
perpustakaan pada awalnya dikembangkan oleh institusi
akademis dan kemudian oleh produsen komersil. Pada
generasi pertama, sistem pada dasarnya terdiri dari suatu
otomatisasi dari teknologi sebelumnya (seperti kartu
katalog) dan memungkinkan pencarian berdasar judul dan
nama pengarang. Pada generasi kedua, kemampuan
18

pencarian ditambahkan dengan pencarian berdasarkan


pokok utama, dengan kata kunci, dan tambahan lagi
fasilitas kueri kompleks. Pada generasi ketiga, yang
sekarang ini yang sedang menyebar, fokusnya adalah
meningkatkan antarmuka grafis, format elektronik, fitur
hypertext, dan sistem arsitektur terbuka.
3. CBIR(Content Based Image Retrieval) Technology
Retrieval berdasarkan kategori konten dan warna.
Dimana user mendeskripsikan image apa yang akan dicari
dengan cara memilih kategori misalnya jenis image,
negara, tahun pembuatan dan lain-lain.
BAB III
INVERTED INDEX

3.1. Pengertian Inverted Index


Inverted index adalah sebuah struktur data index yang
dibangun untuk memudahkan query pencarian. Pada dasarnya,
inverted index adalah struktur data yang memotong tiap kata
(term) yang berbeda dari suatu daftar term dokumen.

Tujuan menggunakan index, untuk meningkatkan


kecepatan dan efisiensi dalam melakukan pencarian pada
sekumpulan dokumen. Tanpa semacam index, query user
secara sequential discan pada kumpulan dokumen tersebut
untuk menemukan dokumen-dokumen yang mengandung
query user. Contohnya find operation di Windows.

Inverted index mempunyai vocabulary, yang berisi


seluruh term yang berbeda pada masing - masing dokumennya,
dan tiap - tiap term yang berbeda ditempatkan pada daftar
inverted (inverted list).

3.2. Cara Inverted Index


Dalam program untuk melakukan pencarian, salah satu
metode agar pencarian bisa dilakukan dengan efisien adalah
dengan melakukan pengindeksan (indexing). Dengan
mengindeks dokumen yang akan dicari, maka pencarian
dokumen dengan query tertentu tidak perlu dilakukan secara
sekuensial atau diperiksa satu-persatu.

Dapat dilihat tabel sebelah kiri adalah “dokumen” atau


teks yang akan diindeks. Sedangkan sebelah kanan adalah hasil

19
20

pengindeksan. Jadi term (sederhananya: kata) yang ada pada


dokumen menunjuk ke ID dokumen yang mengandung term
tersebut.

Secara intuitif, indeks seperti ini mirip dengan indeks


pada buku. Pada buku yang cukup tebal sering dijumpai
halaman “Indeks” yang cara kerjanya sama dengan inverted
index seperti ini.

Untuk membangun indeks seperti ini dengan database


relasional (misalnya MySQL), perlu dibuat tabel yang
merepresentasikan struktur indeks ini. Tabel “index” yang
lama hanya menjadi tabel sementara dalam proses
pengindeksan. Sedangkan tabel indeks yang sebenarnya diubah
menjadi berikut, beserta contoh isinya:

Gambar 3. 1 Inverted Index

Jadi daftar dokumen yang mengandung term tertentu


disimpan sebagai string dalam kolom posting_list, begitu pula
frekuensi term pada dokumen (freq_list).

Untuk membentuk indeks seperti itu dalam database,


saya membaginya menjadi dua fase sebagai berikut:
21

Fase I (pembangunan indeks sementara)

1. Baca seluruh teks dari dokumen


2. Untuk setiap dokumen yang dibaca:
a. Lakukan tokenisasi atau ekstraksi term dari teks
dokumen
b. Hitung frekuensi setiap term dalam dokumen
c. Untuk setiap term yang didapat, masukkan ke tabel
indeks sementara (term, ID dokumen, frekuensi term)
3. Selesai, indeks sementara terbentuk

Fase II (pembangunan indeks)

1. Baca seluruh term unik dari tabel indeks sementara


2. Untuk setiap term:
a. Baca daftar ID dokumen yang mengandung term
tersebut (dari tabel indeks sementara)
b. Selain ID, baca frekuensi term dalam dokumen dan
jumlah dokumen yang mengandung term
c. Gabungkan daftar ID dokumen dengan koma, inilah
posting_list
d. Gabungkan daftar frekuensi term dengan koma,
inilah freq_list
e. Masukkan dalam tabel indeks yang sesungguhnya
(term, jumlah dokumen, ID dokumen, frekuensi
term)
3. Selesai, indeks terbentuk
4. Hapus tabel indeks sementara

Dengan langkah-langkah di atas, maka akan terbentuk


inverted index seperti ilustrasi yang dibuat.
22

3.3. Contoh Implementasi Inverted Index


Inverted index dapat ditemui diimpelementasikan pada:

1. Windows
2. Search Engine
3. Mainframe-based DBMS (DATACOM/DB, ADABAS,
Model 204)
4. SDK (Java, Delphi, Python, dll)

Inverted index juga diimplementasikan pada google


yaitu melalui Google Caffeine dan Google Percolator

Gambar 3. 2 Implementasi Inverted Index Pada Google

Google Caffeine adalah sistem pengindeksan web baru.

Sistem baru ini memungkinkan Google untuk


menjelajah dan menyimpan data jauh lebih efisien.
23

Bahkan, dengan akun Google sendiri mereka tidak hanya


dapat meningkatkan indeks mereka tetapi juga memberikan
hasil yang jauh lebih segar (50 persen lebih segar dari perkiraan
mereka).

Gambar 3. 3 Google Caffeine

Google Percolator adalah sistem khusus internal Google


yang digunakan untuk membuat pembaruan tambahan ke
indeks pencarian Google. Google menerbitkan arsitekturnya
sebagai makalah penelitian pada tahun 2010. Google
Percolator mencapai pengurangan 50% dalam keterlambatan
antara crawling halaman (pertama kali Google menemukan
halaman) dan ketersediaan halaman dalam indeks pencarian,
dibandingkan dengan MapReduce berdasarkan sistem
pemrosesan.
BAB IV
BOOLEAN MODELING

4.1. Pengertian Boolean Modeling


Boolean Retrieval Model (BRM) adalah salah satu
contoh Information Retrieval yang merupakan model proses
pencarian informasi dari query yang menggunakan ekspresi
boolean. Dengan ekspresi boolean dengan menggunakan
operator logika AND, OR dan NOT. Sedangkan dalam
menentukan hasil perhitungannya hanya berupa nilai binary (1
atau 0). Dengan hal itu, Boolean Retrieval Model (BRM) yang
ada hanya dokumen relevan atau tidak sama sekali. Sehingga
keunggulan dari Boolean Retrieval Model (BRM) tidak
menghasilkan dokumen yang mirip.

Dalam pengerjaan operator boolean (AND, NOT, OR)


ada urutan pengerjaannya (Operator precedence). Dalam
implementasinya akan memprioritaskan yang berada dalam
kurung (), baru selanjutnya NOT, AND, dan OR. Boolean
Retrival Model (BRM) melakukan perbaikan karena datanya
terlalu besar bila tersimpan dalam komputer, seperti ini kita
perlu memenuhi peraturannya diantaranya kecepatan dalam
pemrosesan dokumen yang sangat banyak, fleksibilitas dan
perangkingan. Berikut adalah penjelasan dari operator pada
model boolean retrieval antara lain:

1. Logical AND
Memperbolehkan penelusur untuk menggunakan
pernyataan query ke dalam suatu lebih konsep sehingga
hasil penelusuran menjadi lebih terbatas. Formula

24
25

pernyataan sederhana A AND B. Contoh untuk menelusur


marketing and library, kita memformulasikan pernyataan
dengan marketing AND library. Dengan query tersebut
maka kita akan menemukan dokumen yang mengandung
unsur marketing dan perpustakaan saja, dan tidak
mendapatkan dokumen yang hanya mengandung unsur
marketing atau perpustakaan saja.
2. Logical OR
Memperbolehkan untuk secara spesifik
menggunakan alternative term (atau konsep) yang
mengindikasikan dua konsep sesuai dengan tujuan
penelusuran menjadi lebih luas, karena adanya alternative
dalam pernyataan query. Formulasi pernyataan sederhana
A OR B. Contoh marketing OR library. Dengan query
tersebut maka kita akan mendapatkan dokumen yang
mengandung unsur marketing saja, perpustakaan saja atau
yang mengandung unsur marketing dan perpustakaan.
3. Logical NOT
Dapat mengecualikan item-item dari seperangkat
term penelusur. Pernyataan formulasi sederhana A NOT
B, contoh markeing NOT library. Ini artinya kita hanya
menginginkan dokumen yang unsur marketing di
dalamnya tidak ada unsur perpustakaannya.
4. Kombinasi Logical AND, OR, NOT
Dapat mengkombinasikan satu pernyataan ke
dalam penelusur yang kompleks. Contoh marketing AND
library OR information centre NOT profit organization.
Artinya kita ingin mendapatkan dokumen yang
26

mengandung unsur marketing dan perpustakaan tanpa


unsur pusat informasi bukan untuk organisasi non profit.

Didalam struktur data, Boolean merupakan sebuah tipe


data yang bernilai “True” atau “False” (benar atau salah).
Sehingga didalam IR, logika boolean berarti bahwa data yang
di crawler sesuai atau tidak antara variable – variablenya.

4.2. Kelebihan dan Kekurangan Boolean Modeling


1. Kelebihan Model Boolean yaitu:
a. Mudah untuk di implementasikan
b. Konsep yang terstruktur
2. Kekurangan Model Boolean yaitu:
a. Pencocokan yang tepat dapat mengambil dokumen
terlalu sedikit atau terlalu banyak.
b. Sulit untuk pengindexkan, beberapa dokumen yang
lebih penting dari pada yang lain kadang berada
dibawah dokumen yang tidak penting.
c. Sulit untuk menerjemahkan query ke dalam ekspresi
boolean
d. Semua istilah sama-sama berbobot
e. Lebih seperti pengambilan data dari pencarian
informasi
4.3. Struktur Data dan Algorima Boolean Modeling
Jika dilihat dari sudut pandang matematika atau sudut
pandang praktis, BIR (boolean Information Retrieval) adalah
logika yang paling mudah. Namun secara logika dan struktur
data tidak semudah hal yang diutarakan diatas. Algoritma BIR
diantaranya adalah Hash Table, Steeming dan lain lain.
27

4.4. Contoh Boolean Modeling


Apabila terdapat dokumen:

1. Fahri menghampiri apartemen Maria untuk minta bantuan


karena komputer yang digunakan untuk menyusun tesis
mengalami error. Maria menuju apartemen tempat tinggal
Fahri dan menemukan komputer Fahri kena virus.
2. Selama membantu menyusun tesis, timbul perasaan cinta
Maria kepada Fahri.
3. …
4. …
5. …

Kemudian setelah dibentuk tabel berdasarkan frekuensi


kemunculan kata/term sebagai berikut:

Gambar 4. 1 Tabel Frekuensi Kemunculan Kata


28

Dan dibentuk boolean model menjadi:

Gambar 4. 2 Tabel Boolean Model

Dan query nya adalah Aisyah dan Noura, bukan Fahri.


Dokumen manakah yang relevan untuk query tersebut.

Langkah awal, bentuk tabel Boolean dari tabel frekuensi


kemunculan kata tersebut. Kemudian hitung bentuk vektor
Boolean dari kueri.

Query (q) = Aisyah dan Noura, bukan Fahri

= (Aisyah AND Noura) NOT Fahri

= (00011 AND 00111) NOT (11010)

= (00011) AND (00101)

= 00001

Dengan demikian dokumen yang relevan dengan query


adalah dokumen 5.
BAB V
IR EVALUATION

5.1. Sejarah IR Evaluation


Sejarah panjang Information Retrieval tidak dimulai
pada internet. Hanya dalam dekade terakhir dan setengah dari
jurnal – jurnal elektornik (IEEE) dalam pencariannya di web
meluas dan pencariannya telah diintegrasikan ke sistem
desktop dan sistem operasi mobile. Sebelum digunakan oleh
masyarakat luas di kehidupan sehari-hari dalam mesin pencari,
sistem IR ditemukan dalam aplikasi komersial dan intelijen
sekitar pada tahun 1960-an. Sistem pencarian berbasi komputer
awal dibangun di akhir 1940-an dan terinspirasi oleh perintis
inovasi dalam awal pertengahan abad ke-20. Sebagaimana
pada teknologi komputer, kemampuan sistem retrieval tumbuh
dengan pesat pada sektor kecepatan prosesor dan kapasitas
penyimpanan. Pengembangan sistem tersebut juga
mencerminkan perkembangan cepat dari pendekatan berbasis
perpustakaan manual, pengindeksan, dan mencari informasi
dengan metode yang semakin otomatis. Sebuah sistem
information retrieval (IR) menempatkan informasi yang
relevan dengan permintaan pengguna. Sebuah sistem IR
biasanya mencari di koleksi data tidak terstruktur atau semi-
terstruktur (misalnya halaman web, dokumen, gambar, video,
dll). Kebutuhan untuk sistem IR terjadi ketika koleksi
mencapai ukuran dimana katalog dengan Teknik tradisional
tidak bisa lagi mengatasi. Mirip dengan hukum Moore yang
terus-menerus meningkatkan kecepatan prosesor, telah terjadi
penggandaan konsisten dalam kapasitas penyimpanan digital

29
30

setiap dua tahun. Jumlah bit informasi dikemas ke dalam inch


persegi permukaan hard drive tumbuh dari 2.000 bit di 1.956
100.000.000.000 bit pada tahun 2005. Dengan pertumbuhan
informasi digital tidak terstruktur, melalui jaringan dengan
kecepatan tinggi, akses cepat global dalam jumlah besar dari
informasi itu, satu-satunya solusi yang layak untuk mencari
item relevan dari database text yang berjumlah besar itu adalah
sistem pencarian dan sistem IR tersebar dimana – mana. ulasan
singkat pengerjaan ini di masa lalu berfokus pada algoritma
yang mengambil permintaan pengguna dan mengambil satu set
yang relevan dokumen. Ulasan diatas merupakan
perkembangan awal elektro-mekanik dan komputasi perangkat
yang menggunakan katalog untuk mencari secara manual. Ini
diikuti tentang bagaimana IR pindah ke pengindeksan kata-kata
secara otomatis dalam teks dan bagaimana kompleks bahasa
query Boolean berubah menjadi query dengan teks sederhana.
5.2. Pengertian IR Evaluation

Gambar 5. 1 IR Evaluation

Dalam aspek Efisiensi, pengukuran dilakukan


berdasarkan skala waktu. Misalnya kecepatan sistem dalam
melakukan indexing atau pencarian. aspek penting lainnya
31

adalah response time yang dilakukan saat membuat query


pencarian dan melihat hasil yang diperoleh. Ketika banyak user
yang harus disupport, query througput diukur dalam satuan
detik maka kebutuhan pencarian data dalam hitungan detik
sangat perlu diwujudkan. pada search engine standart,
througput yang diinginkan harus mampu manampilkan 10 ribu
query perdetik.

Dalam aspek Efektifitas diukur berdasarkan penilaian


manusia. Efektifitas bisa juga di anggap sebagai relefansi, atau
kesamaan dokumen atau informasi dari query yang dilakukan.
perbedaan tingkat penilaian yang dilakukan oleh manusia
membuat aspek efektifitas jarang mendapatkan nilai sempurna.

Gambar 5. 2 Kepuasan User

Untuk menjembatani tingkat kepuasan user yang


berbeda-beda maka perhitungan dilakukan dengan cara
menghitung nilai Relevansi terhadap hasil pencarian yang
terdiri dari :
• Jumlah Koleksi dokumen yang didapat.
• Kecocokan Hasil Query.
32

Gambar 5. 3 Confusion Matrix

Dalam prosesnya dapat digambarkan seperti pada


confusion matrix diatas. Sebelum di bagi menjadi 4 jeni,s Data
terbagi menjadi 2 bagian yakni Actual value atau nilai
sebenarnya dan Predict value atau Nilai Prediksi. Selanjutkan
terdapat 4 istilah umum dalam confusion matrix diantaranya
True Positif, True Negatif, False Positif, False Negatif. Agar
lebih mudah kita coba gambarkan dengan prediksi orang
tersebut penderita covid-19 atau bukan.
• True Positive (TP)
Data positif yang diprediksi dengan benar. Contohnya
orang Penderita Covid-19 dalam sistem yang dibuat dapat
memprediksi bahwa orang tersebut sebagai penderita
Covid-19.
• True Negative (TN)
Data negatif yang diprediksi dengan benar. Contohnya
orang negatif Covid-19 (orang sehat) dalam sistem yang
dibuat dapat memprediksi bahwa orang tersebut bukan
penderita Covid-19 (sehat).
• False Positive (FP)
Data negatif yang diprediksi sebagai data positif.
Contohnya orang negatif Covid-19 (orang sehat) dalam
33

sistem yang dibuat dapat memprediksi bahwa orang


tersebut positif penderita Covid-19. Type Error 1.
• False Negative (FN)
Data positif yang diprediksi sebagai data negatif.
Contohnya orang Positif Penderita Covid-19 dalam sistem
yg dibuat dapat memprediksi bahwa orang tersebut negatif
Covid-19 (sehat). Type Error 2.
Cara sederhananya:
1. Jika diawali dengan TRUE maka prediksinya benar
2. Jika diawali FALSE maka prediksinya salah
3. Positif & Negatif merupakan hasil prediksi dari model
5.3. Contoh IR Evaluation
Memprediksi Kelulusan Mahasiswa

Gambar 5. 4 Contoh IR Evaluation Memprediksi Kelulusan Mahasiswa

Ada contoh kasus seperti diatas, sistem akan


mempredikti data kelulusan mahasiswa. Ada 8 mahasiswa
yang di prediksi apakah lulus atau tidak. Hasil prediksi
disamakan dengan hasil real atau nilai sebenarnnya sehingga
didapat seperti pada tabel diatas.
34

• True Positive (TP)


Dimana data mahasiswa Lulus di prediksi Lulus (Benar).
Ada 3 Data (NIM = 002, 005, 008) warna kuning.
• True Negative (TN)
Dimana data mahasiswa Tidak Lulus di prediksi Tidak
Lulus (Benar). Ada 2 Data (NIM = 003, 003) warna Ungu
Tua.
• False Positive (FP)
Dimana data mahasiswa Tidak Lulus di prediksi Lulus
(Salah). Ada 1 Data (NIM = 004) warna Biru.
• False Negative (FN)
Dimana data mahasiswa Lulus di prediksi Tidak Lulus
(Salah). Ada 3 Data (NIM = 001, 007) warna Ungu muda.

Gambar 5. 5 Rumus Precision, Recall, Accuracy

Setelah didapatkan nilai confusion matrix, selanjutnya


dilakukan perhitungan untuk mendapatkan hasil evaluasinya
berdasarkan Precision, Recall dan akurasi.
35

1. Precision
Precision mengukur ketepatan sebuah clasifier. Precision
menggambarkan tingkat keakuratan antara data yang
diminta dengan hasil prediksi. Precision didapatkan dari
rasio prediksi true positif dibandingkan semua data positif.
𝑇𝑃
𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛(𝑃) =
𝑇𝑃 + 𝐹𝑃
2. Recall
Recall mengukur kelengkapan atau sensitifitas dari sebuah
clasifier. Recall menggambarkan keberhasilan model
dalam menemukan kembali sebuah informasi. Recall
didapat dari rasio prediksi benar positif dibandingkan
dengan keseluruhan data true positif.
𝑇𝑃
𝑅𝑒𝑐𝑎𝑙𝑙(𝑅) =
𝑇𝑃 + 𝐹𝑁
3. Accuracy
Accuracy menggambarkan seberapa akurat sebuah sistem
melakukan klasifikasi dengan benar. Akurasi didapatkan
dari perbandingan prediksi benar (positif & negatif)
dengan keseluruhan data.
𝑇𝑃 + 𝑇𝑁
𝐴𝑐𝑐𝑢𝑟𝑎𝑐𝑦(𝐴𝑐𝑐) =
𝑇𝑃 + 𝑇𝑁 + 𝐹𝑃 + 𝐹𝑁
36

Gambar 5. 6 Nilai Prediksi dan Nilai Sebenarnya

Dari hasil yg didapat diatas sekarang kita hitung nilai


Precision, Recall dan ACC
𝑇𝑃 3 3
𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛(𝑃) = 𝑇𝑃+𝐹𝑃 = = 4 = 0.75
3+1

𝑇𝑃 3 3
𝑅𝑒𝑐𝑎𝑙𝑙(𝑅) = = = = 0.6
𝑇𝑃 + 𝐹𝑁 3 + 2 5

𝑇𝑃 + 𝑇𝑁
𝐴𝑐𝑐𝑢𝑟𝑎𝑐𝑦(𝐴𝑐𝑐) =
𝑇𝑃 + 𝑇𝑁 + 𝐹𝑃 + 𝐹𝑁
3+2 5
= = = 0.625
3+2+1+2 8
37

4. Kombinasi dengan F-Measure

Gambar 5. 7 Formula F-Measure

Selain 3 fungsi diatas, ada lagi fungsi F-Measure.


F_Measure yang diambil adalah nilai 1 atau bisa disebut
F1 Score. F1 Score di dapat dari perbandingan rata-rata
nilai precision recall.
2∗𝑃∗𝑅 2 ∗ 0.75 ∗ 0.6 0.9
𝐹= = = = 0.67
𝑃+𝑅 0.75 + 0.6 1.35
5.4. TF IDF

Gambar 5. 8 TF IDF

TF IDF adalah sebuah metode algoritma yang digunakan


untuk menghitung bobot kata yang digunakan. Selain itu TF
IDF juga sering digunakan untuk menganalisa hubungan antara
sebuah kalimat dengan sekumpulan document. metode ini
dikenal efisien, mudah dan hasilnya akurat. Metode ini
38

menghitung nilai Term Frequency (TF) dan Inverse Document


Frequency (IDF) pada setiap token disetiap dokumen. Secara
sederhana TF IDF digunakan untuk mengetahui seberapa
sering suatu kata muncul dalam document.

Gambar 5. 9 TF dan Bobot

Term Frequency (TF) menunjukkan jumlah kemunculan


kata / term pada dokumen. Semakin tinggi nilai TF maka
semkain tinggi bobot kata yg didapatkan. rumus TF seperti
berikut:
𝐽𝑢𝑚𝑙𝑎ℎ𝐾𝑎𝑡𝑎
𝐹=
max (𝐽𝑢𝑚𝑙𝑎ℎ𝐾𝑎𝑡𝑎)
Contoh
Sebagai contoh terdapat kalimat :
“Indonesia mempunyai daya tarik untuk wisatawan local dan
wisatawan dunia”

Gambar 5. 10 Perhitungan Jumlah Masing-Masing Kata


39

Selanjutnya dihitung jumlah masing-masing katanya.


dari hasil tersebut dihitung nilai maximal dari kata terbanyak
untuk kemudian dihitung nilai TFnya seperti gambar diatas.

Gambar 5. 11 Dokumen Review Hotel

Dalam contoh lain terdapat 3 dokumen seperti diatas.


ketiganya merupakan review dari sebuah hotel. tiap reviewnya
di kategorikan sebagai document sehingga ada 3 dokumen (D1,
D2, D3).

Gambar 5. 12 Melakukan Proses TF


40

Selanjutnya dilakukan proses TF seperti pada tahap


sebelumnya dengan menghitung jumlah kata tiap dokumen.

5.5. Document Frequency

Gambar 5. 13 Document Frequency

Selanjutnya DF adalah jumlah dokumen yang memuat


term / kata. berbeda dengan TF, Semakin tinggi nilai DF
kemungkinan bobot semakin menurun. oleh karena itu
digunakan nilai invers dari DF sehingga di sebut IDF.
Kata yang jarang muncul bisa jadi merupakan inti dari
sebuah dokumen.

Gambar 5. 14 Rumus Document Frequency

Dimana, N = jumlah dokumen


Log10 digunakan untuk memperkecil efek dari nilai IDF
Rumus IDF seperti diatas dimana N merupakan
banyaknya dokumen daln digunakan Log 10 untuk
memperkecil nilai dari IDF.
41

Gambar 5. 15 Menghitung Nilai DF

Dalam Lanjutan contoh sebelumnya, dihitung nilai


DF yakni berapa banyak dokumen yang mengandung kata
tersebut.
• Pelayanan -> Kata pelayanan ada di dokumen 1 & 3
Nilai DF = 2
• Hotel -> Kata hotel ada di dokumen 1 & 3 Nilai DF =
2

Selanjutnya di hitung nilai IDF dengan


menggunakan rumus diatas. Dimana nilai N = 3. karena
jumlah dokumen ada 3.
42

Gambar 5. 16 Rumus IDF

Selanjutnya dilakukan kombinasi antara nilai TF & IDF


yang menghasilkan nilai TF-IDF.

Gambar 5. 17 Hasil Perhitungan Kombinasi Nilai TF dan IDF


BAB VI
HITS

Hits adalah salah satu algoritma yang digunakan dalam


perankingan sebuah website. Pada pembahasan ini HITS
merupakan algoritma kedua setelah sebelumnya Page Rank. hit
adalah permintaan satu file ke server web. Sebagai contoh, jika
Anda meminta (yaitu kunjungan) satu halaman web yang hanya
berisi teks, web server akan mengirimkan halaman tersebut
sebagai file. Proses ini disebut hit.

Gambar 6. 1 HITS

Dalam algoritma HITS, peroses yang dilakukan yakni


melakukan ranking pada sebagian halaman web yang
sebelumnya telah difilter berdasarkan query yang diberikan
oleh user.
6.1. Sejarah HITS

Gambar 6. 2 Sejarah HITS

43
44

Dalam sejarahnya HITS dikembangkan oleh oleh Jon


Kleinberg seorang pekerja IBM. Dia mengembangkan HITS
berdasarka algortima Clever yang telah dimilki IBM.
Selanjutnya pada tahun 1998 Algoritma HITS dipublikasikan
dalam Jurnal of the ACN (JACM) dan dipublikasikan kembali
dalam Symposium of Discrete Algoritm.

Dalam algortimna HITS ada 2 atribut utama yang


digunakan yakni HUB dan Authority.

Gambar 6. 3 Dua Atribut Utama HITS

Hub merupakan halaman-halaman yang merujuk


halaman tersebut sedangkan Authority merupakan Halaman-
halaman yang ditunjuk oleh halaman tersebut.

Gambar 6. 4 Gambaran Perbedaan Hub dan Authority


45

Sebagai gambaran pada gambar diatas mempunyai 3


Authority dari nomor 2 ditunjukkan dengan arah panah warna
merah yakni 1,5,6). Selanjutnya nomor 2 memiliki 2 hub yang
ditunjukkan arah panah warna hijau. selain itu pada gambar
diatas juga memilki Base set yang bewarna orange.

6.2. Cara Kerja HITS

Gambar 6. 5 Cara Kerja HITS

Cara kerja yang dilakukan HITS adalah sebagai berikut


1. User memberikan query pencarian pada sebuah Search
engine sesuai keinginan
2. Berdasarkan query yang diberikan oleh user maka
didapatkanlan sebuah Root Set.
3. Selanjutnya Root set dikembangkan menjadi Base Set.
Base Set merupakan penjumlahan dari Root Set, Hub Dan
Authority dr root set
4. Selanjutnya dilakukan iterasi untuk menentukan Ranking
dari root set
46

6.3. Algoritma HITS

Dimana:
H_i = Nilai H pada iterasi ke i
M = Matriks adjacency dari relasi antar halaman
M^T = Nilai transpose dari Matriks M
H_(i-1) = Nilai H dari iterasi sebelumnya
Algoritma HITS dapat dilihat diatas, dimana ada iterasi
terhadap nilai H. yang didapat dari matrik link website
dikalikan nilai transpose matrik tersebut dan dikalikan dengan
nilai H pada iterasi sebelumnya.
6.4. Contoh Perhitungan

Gambar 6. 6 Contoh Perhitungan

Sebagai contoh terdapat tiga website seperti diatas, agar


mempermudah dilakukan pengelompokkan sesuai warnanya.
selanjutnya dilakukan proses matrix sesuai link yang dimiliki
masing-masing website. Matrx merukuran 3x3 sesuai jumlah
website tersebut yakni 3. jika website tersebut memilki link
yang mengarah ke website tujuan maka mendapatkan nilai 1.
47

hasiilnya seperti pada niliai M. Selanjutnya nilai M dilakukan


transpose seperi pada nilai Mt.

Gambar 6. 7 Nilai Perkalian Matriks

Setelah didapatkan nilai M & Mt. dilakukan nilai


perkalian matrix sehingga didapatkan nilai diatas. nilai itu yang
akan digunakan untuk perulangan.

Gambar 6. 8 Proses Perkalian Matriks

Pada perulangan pertama nilai semua web diset 1 seperti


pada nilai H0

Selanjutnya dilakukan proses perkalian nilia matrix yang


didapatkan tadi sengan nilai h sebelumnya sehingga di
dapatkan nilai H1 sesuai posisi webnya.
48

Proses perulangan dilakukan secara terus menerus


hingga didapatkan nilai sama disalah satu websitenya
BAB VII
PAGE RANK

Secara umum ada 2 algorithm yang sering digunakan dalam


perankingan sebuah website atau informasi.

Gambar 7. 1 Perbedaan Page Rank dan Hits

• Page Rank
Cara kerja page rank adalah melakukan perankingan pada
seluruh pagian website dengan menggunakan metode link
analysis.
• HITS
Cara kerja hits adalah melakukan perankingan pda
sebagian halaman website yang sebelumnya telah di filter
berdasarkan query yang dilakukan oleh pengguna.

49
50

7.1. Sejarah Page Rank

Gambar 7. 2 Sejarah Page Rank

Dalam sejarahnya pada tahun 1950an University of


Pennsylvania mengembangkan sistem ranking yang di
pengaruhi oleh citation analysis. selanjutnya pada tahun 1996
Lerry Page & Sergey Brin dari Stanford University berhasil
mengembangkan part of Search Engine. Menurut sergey Brin
"Informasi yang tersedia di web dapat diurutkan berdasarkan
link popularitynya". Pada tahun 1998 algoritma page rank di
publikasinkan bersamaan dengan algoritma HITS.
7.2. Cara Kerja Page Rank

Gambar 7. 3 Inlink

Cara kerja page rank yang pertama adalah berdasarkan


Inlink yang dimiliki. Inlink adalah link yang mengarah ke
51

website tersebut. Semakin banyak inlink maka semakin tinggi


ranking yang dimiliki.

Gambar 7. 4 Outlink

Yang kedua, berdasarkan Outlinknya. semakin banyak


web lain yang ditunjuk maka efek yang dihasilkan juga
semakin kecil, berbanding terbalik dengan inlink.

Gambar 7. 5 Popularitas

Yang ketiga semakin banyak web dengan popularitas


tinggi yang merujuk ke web kita maka semakin besar efek yang
didapatkan terhadap web tersebut.
52

Dimana :
PR(A) : Page Rank dari Halaman A
t1…tn : Halaman yang memiliki link ke Halaman A
c : Jumlah outlink yang dimiliki masing-masing halaman
t1…tn
d : Damping factor, biasanya di set 0.85

Algoritma page rank dapat dilihat pada gambar diatas.


dimana PR(A) merupakan nilai page Rank pada halaman A.
7.3. Damping Factor

Gambar 7. 6 Damping Factor

Dalam algoritma page rank memiliki nilai dampling


factor. Dampling factor merupakan sebuah variabel yang
digunakan untuk normalisasi atau mereduksi nilai page rank
yang didistribusikan sebuah halaman ke halaman lain.
Dampling factor bernilai 0 sampai 1.
53

7.4. Contoh Perhitungan

Gambar 7. 7 Perhitungan Page Rank

Sebagai contoh ada 3 halaman seperti diatas. Tiap


halaman mempunyai link yang mengarah ke web lain. pada
algoritma page rank nilai dampling factor (d) diset 0.5.

Gambar 7. 8 Melakukan Perhitungan

Setelah diketahui arah link tiap websitenya, Selanjutnya


dilakukan perhitungan berdasarkan rumus sebelumnya
sehingga setiap website mempunyai nilai seperti diatas. sebagai
contoh website A, Nilai PR(A) didapat berdasarkan inlinknya
yakni melibatkan PR(C). begitu seterusnya.
54

Ada 2 cara yang digunakan untuk menhgitung nilai page


ranknya.

• Cara 1

Gambar 7. 9 Perhitungan Nilai Permisalan dan Melakukan Proses Subtitusi

Yang pertama digunakan nilai permisalan yang kemudian


dilakukan proses subtitusi.
Misal PR A → x, PR B → y, PR C → z
maka didapatkan nilai
PR A = 0.5 + 0.5 * PR C atau x = 0.5 + 0.5 * z

Gambar 7. 10 Proses Distribusi


55

Selanjutnya dilakukan proses distribusi sehingga bisa


mendapatkan nilai X,Y,Z.
• Cara 2

Gambar 7. 11 Perhitungan Cara Kedua

Cara kedua dilakukan dengan proses perhitungan. nilai


awal semua page diset 1. selanjunya pada perulangan
pertama dilakukan proses perhitungan berdasarkan rumus
page rank yang didapat sebelumnya untuk bisa
mendapatkan nilai baru. proses perhitungan dilakukan
beberapa kali atau perulangan.
BAB VIII
TEXT PREPOCESSING

8.1. Pengertian Text Prepocessing


Berdasarkan ketidak teraturan struktur data teks, maka
proses sistem temu kembali informasi ataupun text mining
memerlukan beberapa tahap awal yang pada intinya adalah
mempersiapkan agar teks dapat diubah menjadi lebih
terstruktur. Salah satu implementasi dari text mining adalah
tahap Text Preprocessing.

Tahap Text Preprocessing adalah tahapan dimana


aplikasi melakukan seleksi data yang akan diproses pada setiap
dokumen. Proses preprocessing ini meliputi :

a. Case Folding,
Tidak semua dokumen teks konsisten dalam
penggunaan huruf kapital. Oleh karena itu, peran Case
Folding dibutuhkan dalam mengkonversi keseluruhan teks
dalam dokumen menjadi suatu bentuk standar (biasanya
huruf kecil atau lowercase). Sebagai contoh, user yang
ingin mendapatkan informasi “KOMPUTER” dan
mengetik “KOMPOTER”, “KomPUter”, atau
“komputer”, tetap diberikan hasil retrieval yang sama
yakni “komputer”. Case folding adalah mengubah semua
huruf dalam dokumen menjadi huruf kecil. Hanya huruf
‘a’ sampai dengan ‘z’ yang diterima. Karakter selain huruf
dihilangkan dan dianggap delimiter.

56
57

b. Tokenizing,
Tahap Tokenizing adalah tahap pemotongan string
input berdasarkan tiap kata yang menyusunnya.
Tokenisasi secara garis besar memecah sekumpulan
karakter dalam suatu teks ke dalam satuan kata,
bagaimana membedakan karakter-karakter tertentu yang
dapat diperlakukan sebagai pemisah kata atau bukan.

Sebagai contoh karakter whitespace, seperti enter,


tabulasi, spasi dianggap sebagai pemisah kata. Namun
untuk karakter petik tunggal (‘), titik (.), semikolon (;), titk
dua (:) atau lainnya, dapat memiliki peran yang cukup
banyak sebagai pemisah kata.

Dalam memperlakukan karakter-karakter dalam


teks sangat tergantung pada kontek aplikasi yang
dikembangkan. Pekerjaan tokenisasi ini akan semakin
sulit jika juga harus memperhatikan struktur bahasa
(grammatikal).

c. Filtering,
Tahap Filtering adalah tahap mengambil kata-kata
penting dari hasil token. Bisa menggunakan algoritma
stoplist (membuang kata kurang penting) atau wordlist
(menyimpan kata penting). Stoplist/stopword adalah kata-
kata yang tidak deskriptif yang dapat dibuang dalam
pendekatan bag-of-words. Contoh stopwords adalah
“yang”, “dan”, “di”, “dari” dan seterusnya.

Kata-kata seperti “dari”, “yang”, “di”, dan “ke”


adalah beberapa contoh kata-kata yang berfrekuensi tinggi
58

dan dapat ditemukan hampir dalam setiap dokumen


(disebut sebagai stopword). Penghilangan stopword ini
dapat mengurangi ukuran index dan waktu pemrosesan.
Selain itu, juga dapat mengurangi level noise.

Namun terkadang stopping tidak selalu


meningkatkan nilai retrieval. Pembangunan daftar
stopword (disebut stoplist) yang kurang hati-hati dapat
memperburuk kinerja sistem Information Retrieval (IR).
Belum ada suatu kesimpulan pasti bahwa penggunaan
stopping akan selalu meningkatkan nilai retrieval, karena
pada beberapa penelitian, hasil yang didapatkan
cenderung bervariasi.

d. Stemming.
Pembuatan indeks dilakukan karena suatu dokumen
tidak dapat dikenali langsung oleh suatu Sistem Temu
Kembali Informasi atau Information Retrieval System
(IRS). Oleh karena itu, dokumen tersebut terlebih dahulu
perlu dipetakan ke dalam suatu representasi dengan
menggunakan teks yang berada di dalamnya.

Teknik Stemming diperlukan selain untuk


memperkecil jumlah indeks yang berbeda dari suatu
dokumen, juga untuk melakukan pengelompokan kata-
kata lain yang memiliki kata dasar dan arti yang serupa
namun memiliki bentuk atau form yang berbeda karena
mendapatkan imbuhan yang berbeda.

Sebagai contoh kata bersama, kebersamaan,


menyamai, akan distem ke root word-nya yaitu “sama”.
Namun, seperti halnya stopping, kinerja stemming juga
59

bervariasi dan sering tergantung pada domain bahasa yang


digunakan.

Proses stemming pada teks berbahasa Indonesia


berbeda dengan stemming pada teks berbahasa Inggris.
Pada teks berbahasa Inggris, proses yang diperlukan hanya
proses menghilangkan sufiks. Sedangkan pada teks
berbahasa Indonesia semua kata imbuhan baik itu sufiks
dan prefiks juga dihilangkan.

8.2. Contoh Penerapan Text Prepocessing


Data preprocessing adalah suatu proses/langkah yang
dilakukan untuk membuat data mentah menjadi data yang
berkualitas(input yang baik untuk data mining tools).

Text mining adalah menambang data yang berupa teks


dimana sumber data biasanya di dapatkan dari dokumen, dan
tujuannya adalah mencari kata-kata yang dapat mewakili isi
dari dokumen sehingga dapat dilakukan analisa keterhubungan
antar dokumen.

Untuk melakukan prepocessing text dan text mining,


silahkan buka Google Colaboratory.

1. Pertama, import library yang dibutuhkan.

Gambar 8. 1 Import Library


60

2. Agar dapat mengambil data dari google drive, kita perlu


melakukan ijin akses terlebih dahulu.

Gambar 8. 2 Ijin Akses ke Google Drive

3. Kemudian ambil data yang telah dilakukan scraping tadi


di google drive.

Gambar 8. 3 Mengambil Data Scraping

4. Tampilkan data yang telah dimasukkan.

Gambar 8. 4 Menampilkan Data


61

5. Kita akan mengolah data pada kolom Label saja, maka


ambil data yang berada dalam tabel.

Gambar 8. 5 Mengolah Data Pada Kolom Label

6. Lakukan cleaning terhadap teks di label.

Gambar 8. 6 Melakukan Cleaning Teks


62

7. Import library NLTK dan download punkt dan stopwords.


a. Natural Language Toolkit (NLTK) adalah sebuah
platform yang digunakan untuk membangun program
analisis teks.
b. punkt adalah proses memecah kalimat menjadi
perbagian-bagian kata bisa disebut sebagai tokenize.
c. stopwords adalah proses mengambil kata-kata yang
dianggap penting dari hasil tokenization atau
membuang kata-kata yang dianggap tidak terlalu
penting.

Gambar 8. 7 Import Library NLTK, Download punkt dan stopwords

8. Kemudian lakukan analisis teks.

Gambar 8. 8 Melakukan Analisis Teks


63

9. Hapus tanda baca yang tidak diperlukan.

Gambar 8. 9 Menghapus Tanda Baca yang Tidak Diperlukan

10. Lakukan mapping text dengan library wordcloud.


Wordcloud adalah library yang berfungsi untuk
menampilkan kata yang paling banyak muncul dalam
bentuk gambar.

Gambar 8. 10 Melakukan Mapping Text


BAB IX
SCRAPING DATA WEBSITE

9.1. Pengertian Web Scraping


Dalam menjalankan bisnis online, pastinya Anda pernah
mendata kompetitor-kompetitor Anda beserta informasi
penting mengenai produk atau layanan mereka.

Kemudian, Anda menyimpan data tersebut di dalam


sebuah spreadsheet — baik itu menggunakan Microsoft Excel,
Google Sheet atau aplikasi sejenisnya. Proses inilah yang
disebut sebagai web scraping.

Dengan kata lain, web scraping dapat didefinisikan


sebagai proses pengambilan data dari sebuah website.

Secara umum, ada dua cara yang bisa Anda gunakan


untuk melakukannya:

1. Manual — metode di mana Anda menyalin data dengan


cara copy paste dari sebuah website
2. Otomatis — metode yang menggunakan koding, aplikasi,
atau extension browser.

9.2. Manfaat Web Scraping


Penggunaan web scraping menawarkan beberapa
manfaat. Berikut ini adalah empat keuntungan utamanya.

1. Mendapatkan Leads
Dalam berburu leads untuk bisnis baru, tidak ada salahnya
jika anda mendekati follower akun media sosial

64
65

kompetitor. Bahkan, kemungkinan mereka


berkemungkinan besar untuk tertarik dengan produk atau
layanan anda.
Nah, web scraping dilakukan untuk memudahkan proses
ini. Dengannya, anda bisa menyalin daftar follower
masing-masing kompetitor dan mengopi alamat email
mereka. Tak lupa, anda dapat menggunakan data lain
seperti demografi follower untuk jadi bahan segmentasi.
2. Membandingkan Ulasan dalam Jumlah Besar
Memiliki pemahaman yang mendalam atas kebutuhan
konsumen adalah sebuah kewajiban jika anda ingin
memenangkan hati mereka. Dengan mengantongi
pengetahuan tersebut, anda dapat meningkatkan layanan
atau menciptakan produk yang solutif.
Untuk dapat melakukannya, anda bisa membaca ulasan-
ulasan konsumen tentang produk dan layanan kompetitor,
baik itu di blog review, forum, maupun marketplace
online.
Dengan adanya web scraping, usaha anda untuk
mendokumentasikan data tersebut akan dipermudah dan
dipercepat.
3. Optimasi Harga Produk atau Layanan
Menentukan harga bagi layanan atau produk anda
memang tidak mudah. Ada banyak hal yang perlu
diperhatikan, termasuk biaya produksi, SDM, brand
positioning, dan harga yang ditawarkan kompetitor.
66

Setidaknya, web scraping membantu anda untuk


mengumpulkan harga produk dan layanan bisnis pesaing.
Dengan demikian, anda dapat memperhatikan tren harga
yang ada di pasar.
4. Mencari Informasi Sebuah Perusahaan
Suatu saat mungkin anda perlu bekerjasama dengan
pemilik bisnis lain. Namun, anda ingin memastikan bahwa
usaha tersebut dapat dipercaya.
Nah, anda bisa melakukan “investigasi” mandiri terhadap
usaha tersebut di internet dengan bantuan web scraping.

9.3. Scraping Data Website Trip Advidsor


Untuk menggunakan aplikasi parsehub cukup mudah.
Langkah-langkahnya sebagai berikut.
1. Buka Tripadvisor- Pilih Salah satu Hotel yang akan di
ambil reviewnya

Gambar 9. 1 Memilih Salah Satu Hotel di Tripadvisor


67

2. Buka Parsehub - klik New Project

Gambar 9. 2 Membuka Parsehub

3. Copy Url dari Tripadvisor - paste ke project parsehub -


Klik Start project

Gambar 9. 3 Mengcopy URL dari Tripadvisor


68

4. Pengaturan data yang mau kita ambil ada di sebelah kiri


project. Caranya cukup mudah tinggal klik saja di posisi
kanan.

Gambar 9. 4 Pengaturan Data yang Akan Diambil

5.
Gambar 9. 5 Posisi Pengambilan Data
69

Pada gambar diatas menjelaskan tentang posisi


pengambilan data.

Selection 1
Data yang diambil merupakan data Nama, Url profil,
Ringkasan Review, & Review Full text

Selection 2
Merupakan pengambilan data pada tab Pagination review.
6. Klik untuk menjalankan proses scraping.

Gambar 9. 6 Mulai Menjalankan Proses Scraping

7. Proses pengambilan data sebanyak jumlah page atau


sebanyak jumlah komentar.
Jika ingin menghentikan scraping klik cencel run - maka
data yang didapat sebelumnya yang akan diambil
70

Gambar 9. 7 Proses Pengambilan Data

8. Download Data sesuai extensi yang dibutuhkan.

Gambar 9. 8 Download Data


71

9. Hasil Scraping tripadvisor yang telah dilakukan

Gambar 9. 9 Hasil Scraping Tripadvisor

9.4. Scraping Data Website Instagram Comment


Caranya sama seperti project sebelumnya,
open parsehub dan mulai project baru.
1. Ambil link posting Instagram mills id

Gambar 9. 10 Mengambil Link Posting Instagram


72

2. Cara pengambilan data sama seperti project scraping data


dari Tripadvisor

Gambar 9. 11 Pengambilan Data Comment Instagram

3. Hasil scraping Instagram comment yang telah dilakukan.

Gambar 9. 12 Hasil Scraping Instagram Comment


BAB X
SCRAPING DATA TWITTER & WORD CLOUD

Scraping adalah teknik mengambil atau mengekstrak


sebuah data dari suatu penyedia data secara spesifik, spesifik
disini maksudnya adalah ketika kita hanya ingin mengambil
data atau informasi tertentu dari suatu sumber data.

Kita akan mengambil 5000 baris data dari Twitter,


pertama-tama kita membutuhkan account untuk developer di
Twitter, silahkan bisa mendaftar di website developer twitter
(https://developer.twitter.com).

Kemudian siapkan Software Gephi bisa di download di


(https://gephi.org/users/download/) dan Google Colaboratory.

Cara scraping data dengan Gephi :


1. Buka software Gephi yang telah diinstal, kemudian klik
new project.

Gambar 10. 1 Antarmuka Software Gephi

73
74

2. Install plugin yang dibutuhkan yaitu


TwitterStreamingImporter, caranya klik menu Tools -
Plugins - Availabe Plugin, kemudian cari plugin
TwitterStreamingImporter.

Gambar 10. 2 Install Plugin TwitterStreamingImporter

3. Akses account developer Twitter yang telah dibuat tadi,


kemudian klik Create New App, sehingga kita
mendapatkan API Key, API Secret Key, Access Token,
Access Token Secret.

Gambar 10. 3 Create New App Pada Account Developer Twitter


75

4. Kemudian API Key, API Secret Key, Access Token,


Access Token Secret yang telah diperoleh masukkan ke
Gephi di tab Twitter Streaming Importer di sebelah kiri
bawah dan klik menu Credentials.

Gambar 10. 4 Memasukkan API Key, API Secret Key, Access Token dan
Access Token Secret

5. Kemudian pada tab Words to Follow isikan kalimat yang


ingin dicari dan klik add, disini saya ingin mencari kata-
kata corona, ekonomi, ojol, bantuan, kemudian klik
Connect untuk memulai mencari data.
76

Gambar 10. 5 Memasukkan Kata-Kata yang Ingin Dicari

6. Kemudian proses scraping data dimulai.

Gambar 10. 6 Proses Scraping Data


77

7. Disini kita memperoleh 54547 data. Data-data yang kita


peroleh masih berbagai macam, ada tweet, hastag, link,
dan lain-lain dan juga memiliki banyak bahasa. Karena
kita hanya membutuhkan data tweet dan yang berbahasa
Indonesia, maka akan kita filter data tersebut.
8. Pada sebelah kanan, terdapat menu Filters. Klik Library-
Attributes-Equal, cari lang dan twitter_type, kemudian
klik dua kali hingga masuk ke menu Queries. Isi pattern
tersebut (twitter_type = Tweet, lang = in), kemudian klik
Ok.
a. twitter_type adalah tipe dari tweet tersebut mulai dari
tweet, hastag, link, user.
b. lang adalah bahasa dari tweet yang digunakan, in
adalah bahasa Indonesia.
Setelah itu masukkan salah satu filter kedalam filter yang
lain, agar data yang kita filter memenuhi 2 filter yang kita
gunakan. Kemudian klik Filter untuk memulai filter data.
78

Gambar 10. 7 Proses Filter Data

9. Setelah data dapat terfilter, buka menu Laboratory maka


akan terlihat data yang telah kita scraping dan lakukan
filter tadi.

Gambar 10. 8 Hasil Scraping Data


79

10. Lakukan export table, dengan klik menu Export Table, isi
nama file dan pada menu graph, pilih Visible Only,
kemudian klik Save.

Gambar 10. 9 Export Table

Melakukan prepocessing text dan data mining

Data preprocessing adalah suatu proses/langkah yang


dilakukan untuk membuat data mentah menjadi data yang
berkualitas(input yang baik untuk data mining tools).

Text mining adalah menambang data yang berupa teks


dimana sumber data biasanya di dapatkan dari dokumen, dan
tujuannya adalah mencari kata-kata yang dapat mewakili isi
dari dokumen sehingga dapat dilakukan analisa keterhubungan
antar dokumen.

Untuk melakukan prepocessing text dan text mining,


silahkan buka Google Colaboratory.
80

11. Pertama, import library yang dibutuhkan.

Gambar 10. 10 Import Library

12. Agar dapat mengambil data dari google drive, kita perlu
melakukan ijin akses terlebih dahulu.

Gambar 10. 11 Ijin Akses ke Google Drive

13. Kemudian ambil data yang telah dilakukan scraping tadi


di google drive.

Gambar 10. 12 Mengambil Data Scraping

14. Tampilkan data yang telah dimasukkan.

Gambar 10. 13 Menampilkan Data


81

15. Kita akan mengolah data pada kolom Label saja, maka
ambil data yang berada dalam tabel.

Gambar 10. 14 Mengolah Data Pada Kolom Label

16. Lakukan cleaning terhadap teks di label.

Gambar 10. 15 Melakukan Cleaning Teks


82

17. Import library NLTK dan download punkt dan stopwords.


d. Natural Language Toolkit (NLTK) adalah sebuah
platform yang digunakan untuk membangun program
analisis teks.
e. punkt adalah proses memecah kalimat menjadi
perbagian-bagian kata bisa disebut sebagai tokenize.
f. stopwords adalah proses mengambil kata-kata yang
dianggap penting dari hasil tokenization atau
membuang kata-kata yang dianggap tidak terlalu
penting.

Gambar 10. 16 Import Library NLTK, Download punkt dan stopwords

18. Kemudian lakukan analisis teks.

Gambar 10. 17 Melakukan Analisis Teks


83

19. Hapus tanda baca yang tidak diperlukan.

Gambar 10. 18 Menghapus Tanda Baca yang Tidak Diperlukan

20. Lakukan mapping text dengan library wordcloud.


Wordcloud adalah library yang berfungsi untuk
menampilkan kata yang paling banyak muncul dalam
bentuk gambar.

Gambar 10. 19 Melakukan Mapping Text


84

Hasil mapping text dengan library wordcloud:

Gambar 10. 20 Hasil Mapping Text

Kesimpulan:
Dari hasil mapping di atas, yang dilakukan pada tanggal 14
April 2020, pukul 20.30 WIB, dari 4 keyword yaitu corona,
ekonomi, ojol, bantuan. Maka diperoleh 3 topik utama yaitu:
• Tolong bantu
• Mata pencaharian
• Gada yang beli (Tidak ada yang beli)
BAB XI
SENTIMEN ANALYSIS

Dalam perkembangan big data, salah satu metode yang


paling digemari adalah metode sentimen analysis. Dalam
metode ini kita akan memenganalisa suatu tulisan baik berupa
dokumen, berita, informasi, status social media sampai
komentar terhadap suatu produk berdasarkan tingkat emosional
manusia atau sentimennya.

Hampir semua aktifitas yang kita lakukan saat ini


diminta untuk memberikan nilai. Ada banyak cara penilaian
mulai dari skala linkert sampai penulisan review. suatu product
dengan nilai bintang sempurna atau bintang 5 belum tentuk
mendapatkan review positif.

Sebagai contoh dalam traveloka ada suatu resort Lv8


Resort di Bali yang mempunyai penilaian sempurna. Dalam
review yang ditampilkan ada banyak review positif. tetapi pada
suatu kasus ada juga komentar negatifnya. Komentar negatif
kemungkinan diberikan oleh sesorang yang pada saat itu tidak
mendapatkan layanan seperti yang dia harapkan.

Secara sistem aplikasi siapa yang menentukan komentar


itu termasuk dalam komentar positif atau negatif??

85
86

Gambar 6. 9 Pengertian Sentimen Analysis Menurut Para Ahli

Ada beberap pengertian sentimen analysis menurut pada


ahli. Manurut G. Vinodhini seorang researcher dari inidia,
Sentimen Analysis adalah suato proses natural Language
Processing untuk mengolah kata yang berfungsi untuk
mengetahui mood seseorang terhadap topik tertentu. Sama
halnya dengan pendapat Kumar & Sebastian, yang berpendapat
bahwa sentimen analysis adalah sebuah studi komputasi yang
berhubungan dengan pendapat atau opini yang didapatkan dari
proses pengolahan kata.

Natural Language Processing (NLP) adalah sebuah


proses algoritma dalam data science yang dialkukan untuk
memproses kata atau kalimat dalam bahasa alami. sebagai
contoh aplikasi google translator. Dalam aplikasi tersebut
berisi kumpulan kata dari berbagai bahasa atau bisa kita sebut
kamus. selanjutkan aplikasi akan bejalan untuk menyamakan
suatu kata dalam beberapa bahasa yang dipilih. untuk
mengolah suatu kalimat ada aturan khusus yang diberikan
sesuai bahasanya masing-masing. aturan bahasa itulah yang
diproses oleh NLP.
87

Berdasarkan pendapat para ahli diatas bahwa yang


menetukan suatu kalimat itu positif atau negatif adalah
manuasia. jadi mood manusia yang bisa menentukan apakah
kalimat itu positif atau negatif.

Gambar 6. 10 Text Mining

Sentimen analysis termasuk dalam kelompok text minig


karena data utama yang diolah berupa text. dimana akan ada
kumpulan text dari berbagai sumber yang akan di kelompokkan
dan diolah dengan algoritma text mining dan hasilnya bisa
divisualisasikan sesuai kebutuhan.

Secara umum sentimen analysis dibagi menjadi 2


bagian. Corse Grained Sentimen Analysis dan Fined Sentimen
Analysis

11.1. Coarse Grained Sentimen Analysis

Gambar 11. 1 Coarse Grained Sentimen Analysis


88

Adalah proses sentimen analysis yang pengolahan


datanya di khususkan pada document atau text yang panjang
peserti berita. secara proses coarsae Grained, akan melakukan
klasifikasi atau pengelompokkan sebuah dokumen berdasarkan
keseluruhan isi dokumen tersebut yang kemudian
dikategorikan dalam bentuk kategori. secara umum terdapat 3
jenis kategori sentimen yang digunakan :

• Negatif --> Berisi kata-kata yang mengandung unsur


negative
• Natural --> Berisi kata2 umum yang tidk ada pembobotan
negatif atau positif
• Positif --> berisi kata2 yang mengandung unsur positif
atau bisa membuat pemikiran positif untu pembaca.

Contoh

Sebagai contoh ada 3 berita yang akan dikelompokkan

Gambar 11. 2 Pengelompokan Berita Coarse Grained Sentimen Analysis


89

1. Berita tersebut dianggap negative


Karena dalam prosesnya ada beberapa kata yang dianggap
mempunyai arti negatif seperti saling menyalahkan antara
DPR dan pemerintah. berita yang mempunyai sentimen
negatif akan menimbulkan efek buruk bagi pembaca mulai
efek dendam sampai ketidakpercayaan tergantung dari
tingkat emosi pembaca itu sendiri.
2. Berita tersebut dianggap Netral
Karena dalam prosesnya ada beberapa kata dalam berita
yang dianggap tidak menimbulkan emosi atau mempunyai
tanggapan yang bisas tidak positi atau negative.
3. Berita tersebut dianggap Positif
Karena dalam prosesnya ada beberapa kata dalam berita
yang dianggap positif seperti pemerintah ingris membantu
pembiayaan tim. Berita yang memounyai nilai positif
kemungkinan akan menimbulkan emosi baik bagi
pembaca.

11.2. Fined Grained Sentimen Analysis

Gambar 11. 3 Fined Grained Sentimen Analysis

Adalah proses sentimen analysis yang dilakukan level


lebih rendah yakni sebatas pada kalimat. kategori ini
merupakan kategori paling diminati karena pengolahannya
pada aspek komentar pada forum atau sosial media.
kebanyakan para peneliti akan meneliti sentimen dari sosial
90

media pada masa pemilu dimana akan banyak intervensi politik


dalam social media.

Contoh

Sebagai contoh ada 3 berita yang akan dikelompokkan

Gambar 11. 4 Pengelompokan Berita Fined Grained Sentimen Analysis

1. Status Negatif
Dalam twit di atas mengandung kata "tidak" yang bisa
menimbulkan efek negatif, kemungkinan kombinasi
dengan tidak berpuasa ramadhan itu yang membuat
kalimat ini dianggap negatif.
2. Status Netral
Karena twitt di atas mangandung unsur informasi yang
dianggap biasa. karena APD yg dulu dianggap langkah
saat ini sudah banyak di produksi bahkan dibagikan oleh
beberapa komunitas.
3. Status Positif
Karena twitt di atas mengandung kata yang mengandung
informasi penting, jadi twit tersebut memberikan
informasi untuk pemeriksaan dini covid 19
91

Dalam penentuan kategori positif atau negatif


kemungkinan bisa ada kesalahan, mengingat yang menentukan
awal positif negatifnya adalah manusia. Manusia sendiri
mempunyai tingkat emosi yang berbeda.

11.3. Proses Sentimen Analysis


11.3.1. Cara Kerja

Gambar 11. 5 Cara Kerja

Pada dasarnya cara kerja algoritma Sentimen


Analysis dilakukan dengan metode machine Laerning.
Machine Learning akan dijelaskan dan menjadi materi
tersendiri nantinya. secara konsep yang menetukan
sentimen adalah manusia. tapi dengan banyaknya data saat
ini apakah manusi bisa melabeli atau mengkategorikan
sebuah kalimat dengan cepat? oleh karena itu bantuan
komputer sangat diperlukan untuk bisa melakukan hal itu.
11.3.2. Collect Data
Langkah yang pertama kali dilakukan adalah collect
data atau mencari data. cara untuk mendapatkan data ada
banyak salah satunya menggunakan API. Sebagai contoh
pada twitter kita bisa mengambil keseluruhan data semua
orang dengan bantuan API yang dikeluarkan oleh twitter.
92

Sebagai contoh kita mendapatkan sebuah data dari


grab, kali ini review penggunaan grab. Data yang didapat
masih berupa data mentah dan belum di olah. Biasanya
data yang didapat berjenis Excel, CSV ataupun JSon.
Selanjutnya data tersebut di proses dalam tahap
prepocessing.

Gambar 11. 6 Data Mentah

11.3.3. Data Prepocessing


Pada tahap ini menjadi tahap yang penting sebelum
data tersebut di proses secara sistem. tahap prepocessing
adalah tahap dimana data tersebut dilabeli atau diseleksi
dengan menggunakan algoritma tertentu tujuannya hanya
untuk menghilangkan beberapa kata atau karakter yang
tidak mempunyai arti dalam text mining. dalam contoh di
bawah, data yang kita dapat tadi di olah untuk
menghilangkan tanda baca dan emoticon. Tujuannya agar
proses pengenalan atau preksi perpusat pada Text.
Selanjutnya data tesebut dilabeli atau dikategorikan oleh
manusia. jadi pada tahap ini yang menentukan katagori
sentiman adalah manusia.
93

Gambar 11. 7 Menentukan Kategori Sentimen

11.3.4. Training

Gambar 11. 8 Proses Training Data

Pada tahap ini dilakukan proses training dengan


menggunakan algoritma yang sudah ditentukan. pada
tahap ini komputer akan dikenalkan dengan data set awal
tadi agar komputer bisa mengetahui ciri-ciri kalimat
positif atau negatif. prose pengenalan ini dilakukan secara
berulang-ulang sehingga komputer bisa memahami apad
yang dinginkan oleh manusia
94

11.3.5. Analytic
Tahap akhir pada proses ini adalah pada tahap
analytic dimana komputer akan menebak atau
memprediksi terhadap kata atau komentar baru yang
belum diajarkan pada training.

Gambar 11. 9 Tahap Analytic Data

Sebagai contoh ada data baru seperti diatas maka


secara langsung oleh komputer akan di prediksi data
tersbut masuk dalam kategori mana tanpa harus manusia
yang memberikan pendapatnya.
Prediksi komputer bisa benar & salah tergantung
data training dan model algoritma yang di trainingkan.
DAFTAR PUSTAKA

[1]
Elninoru, Rifaldy. “Pengertian Data Science dan contoh
pemanfaatannya” 2020. [Online]. Available:
https://anaktik.com/data-
science/#Perbedaan_Business_Intelligence_BI_Dan_Data_S
cience
[2]
Prapta, Ligia. “Pengertian Information Retrieval (IR),
Peranan IR dan Contoh-contoh IR” 2015. [Online].
Available:
https://ligiaprapta17.wordpress.com/2015/03/03/pengertian-
information-retrieval-ir-peranan-ir-dan-contoh-contoh-ir/
[3]
Advernesia, “Pengertian Data Science dan Data Scientist”.
[Online]. Available: https://www.advernesia.com/blog/data-
science/apa-itu-data-science-dan-data-scientist/
[4]
Markijar. “Information Retrieval” 2015. [Online]. Available:
http://www.markijar.com/2015/07/information-
retrieval.html
[5]
“Boolean Retrieval” 2015. [Online]. Available:
https://1104505027unud.wordpress.com/2015/04/07/boolean
-retrieval/

95
96

[6]
Nayoan, Aldwin. “Apa itu Web Scraping? Pengertian,
Teknik, dan Manfaatnya” 2020. [Online]. Available:
https://www.niagahoster.co.id/blog/web-
scraping/#:~:text=Dengan%20kata%20lain%2C%20web%2
0scraping,copy%20paste%20dari%20sebuah%20website

Anda mungkin juga menyukai