Anda di halaman 1dari 153

[DOCUMENT

TITLE]
[Document subtitle]
Teori dan Panduan Praktis
Data Science dan Big Data

Irfan Wahyudin
Eneng Tita Tosida
Fredi Andria

Penerbit:
Lembaga Penelitian dan Pengabdian pada
Masyarakat, Universitas Pakuan

i
Teori dan Panduan Praktis
Data Science dan Big Data
Edisi Pertama 2019

Editor:
Julianto

Penerbit:
Lembaga Penelitian dan Pengabdian pada Masyarakat Universitas
Pakuan

Alamat:
Jl. Pakuan No. 1 Ciheuleut,
Kelurahan Tegallega,
Kecamatan Kota Bogor Tengah,
Kota Bogor - 16144

Email:
lppm@unpak.ac.id

ISBN:
978-623-9196-1-9
Hak Cipta dilindungi undang-undang
Dilarang memperbanyak atau memindahkan sebagian atau seluruh isi
buku ini dalam bentuk apapun, secara elektronis maupun mekanis,
termasuk memfotocopy, merekam, atau dengan teknik perekaman
lainnya tanpa izin tertulis dari penerbit.

ii
KATA PENGANTAR

Salam,

Sejak dimulainya era Industri 4.0, dunia tidak pernah mengalami


keadaan di mana data dihasilkan dan ditransmisikan dengan percepatan
eksponensial. Perkembangan teknologi internet dan teori ilmu komputer,
dalam hal ini kecerdasan buatan, dan perangkat mobile membuat akses
informasi menjadi semakin mudah, dapat dilakukan di mana saja dan kapan
saja.

Ledakan data ini tentu saja berimbas positif bagi banyak pihak,
khususnya bagi pelaku bisnis. Namun demikian, dampak positif ini tidak
akan dapat dirasakan dengan optimal apabila data tidak dapat diolah dengan
baik. Data hanyalah sebuah objek pasif yang tidak akan dapat menghasilkan
pengetahuan apabila tidak diolah dengan baik. Diperlukan skillset khusus
untuk bisa mengekstraksi data menjadi informasi, dan pada akhirnya menjadi
pengetahuan yang berharga. Skillset khusus ini merupakan gabungan dari
multidisiplin ilmu seperti database, pemrograman, statistika, dan algoritma.
Sekarang, orang yang menguasai skillset ini dinamakan sebagai Data
Scientist.

Buku ini Kami tulis bagi mereka yang ingin mempelajari skillset di
atas. Materi yang dibahas mulai dari pengenalan ke dunia analisa data,
pemrograman, algoritma, sampai dengan platform komputasi Big Data yang
diperlukan untuk memproses data dalam ukuran masif. Tidak hanya secara
konsep dan teori saja, pada buku ini juga akan dijelaskan bagaimana
implementasi konsep tersebut sehingga dapat membantu dalam implementasi
di dunia industri.Pada akhirnya, Kami ucapkan terima kasih yang
sebesarbesarnya kepada semua pihak yang telah mendukung kegiatan ini
terutama DRPM Kemenristek Dikti, dan juga yang telah membantu
penerbitan buku ini. Kami menyadari penyusunan buku ini masih banyak
kekurangan, oleh karena itu saran dan masukan yang konstruktif sangat kami
harapkan

Bogor, Agustus 2019

Tim Penulis

i
DAFTAR ISI

KATA PENGANTAR ..................................................................... i


DAFTAR ISI ................................................................................... ii
BAB 1 1
PENDAHULUAN ........................................................................... 1
A. Industry 4.0 ................................................................. 1
B. Data Science ................................................................ 2
C. Big Data Analitics ....................................................... 3
BAB 2 5
DASAR ANALISIS DATA ............................................................ 5
A. Siklus Hidup Analisis Data .......................................... 5
B. Analisa Deskriptif vs Analisa Prediktif vs Analisa
Peskriptif .................................................................... 7
C. Kualitas Data .............................................................. 8
BAB 3 9
DASAR PEMROGRAMAN UNTUK DATA SCIENCE ............ 9
A. Pengenalan Python Programming ............................... 9
B. Tipe Data .................................................................. 12
C. Sintaks Data, Variable .............................................. 14
D. Looping ..................................................................... 15
E. Operator Logika ....................................................... 15
F. Struktur Data............................................................ 17
a. List ........................................................................ 17
BAB 4 19
DATA MINING ............................................................................ 19
A. Teks Mining .............................................................. 19
B. Teks Processing ......................................................... 20
a. Case Folding ......................................................... 21
b. Tokenizing ............................................................ 22
c. Filtering ................................................................ 22
d. Stemming .............................................................. 23
C. Clustering ................................................................. 24

ii
BAB 5 25
ALGORITMA DATA MINING .................................................. 25
A. SVM (SUPPORT VECTOR MECHINE) .................. 25
B. LDA (Laten Direchlet Allocation ............................... 29
C. K-MEANS ................................................................ 30
D. Bagging Dan Adaftive ............................................... 33
Klasifikasi dengan Adaboost ...................................... 36
E. TF-IDF (Term Frekuency Invers Document Frequency)
.................................................................................. 37
BAB 6 39
SENTIMENT ANALISYS ........................................................... 39
A. Implementasi Algoritma Support Vector Mechine
(SVM) ....................................................................... 40
B. Tahapan Pembuatan Aplikasi Analisis Sentimen
Ketenagakerjaan Bidang Telematika ........................ 49
BAB 7 72
TOPIC MINING ........................................................................... 72
A. Implementasi Algoritma Lda (Laten Direchlet
Allocation) ................................................................ 72
B. Tahapan Pembuatan Aplikasi Topic Mining ............. 74
BAB 8 91
CLUSTERING .............................................................................. 91
A. Implementasi K -Means Pada Clustering .................. 91
B. Tahapan Pembuatan Aplikasi Clustering Metode K-
Means ....................................................................... 95
BAB 9 112
PIPELINE DAN DATALAKE .................................................. 112
A. Implementasi Pipeline Dan Datalake ....................... 114
B. Tahapan Pembuatan Aplikasi Pipeline Dan Datalake
................................................................................ 116
DAFTAR PUSTAKA ................................................................. 133
TENTANG PENULIS ................................................................ 145

iii
BAB 1
PENDAHULUAN

A. Industry 4.0
Dunia industri saat ini sedang bereforia menyambut masuknya
era industri 4.0, yaitu era di mana hampir semua kegiatan manusia,
baik yang berorientasi pada bisnis ataupun tidak, dipengaruhi dan
mulai mempunyai ketergantungan terhadap teknologi digital.
Perkembangan teknologi digital pada era industri 4.0 ini tidak hanya
terbatas pada teknologi komputasi saja, namun juga sudah merambah
pada teknologi mekanik - elektronika (mekantronik), sebagai contoh
seperti robot humanoid yang dikembangkan oleh Boston Dynamics,
pesawat drone yang dapat dibeli dengan harga murah di toko-toko
online, sampai dengan teknologi CCTV yang dipasang oleh banyak
dinas lalu lintas dan angkutan jalan di Indonesia untuk implementasi
tilang elektronik.

Buzzword industri 4.0 sendiri baru diperkenalkan pada tahun


2012 pada Hannover Fair di Jerman, terbilang cukup telat
dikarenakan sebenarnya era internet dan keterhubungan antar
personal sudah dimulai dari awal tahun 2000 an, ditandai dengan
munculnya era Internet 3.0. Era Internet 3.0 sendiri adalah masa di
mana konten yang ada di internet 80 persen disumbang oleh
penggunanya sendiri. Pada kisaran tahun 2003-2004 muncul
beberapa platform media sosial dan blogging seperti Friendster,
Multiply, dan Blogspot memulai era di mana pengguna internet dapat

1
mengunggah informasi dan pengetahuan yang dimilikinya untuk bisa
dikonsumsi oleh pengguna internet lainnya.

Di Indonesia sendiri pemerintah saat ini sedang gencar untuk


mendorong semua pelaku sektor industri untuk mengadopsi
teknologi digital dalam program Making Indonesia 4.0 yang dimulai
sejak bulan Oktober 2018. Di dunia Pendidikan sendiri di banyak
kampus berlomba-lomba untuk memasukkan materi tentang
implementasi teknologi untuk industri 4.0 ke dalam kurikulumnya.
Materi tentang Data Science, Big Data, Internet of Things sudah
diadopsi menjadi beberapa mata kuliah tersendiri, dan bahkan
menjadi sebuah program studi di beberapa universitas.

B. Data Science
Data Science sendiri adalah ilmu tentang bagaimana
mengungkap informasi dan pengetahuan, dari sekumpulan data
dengan pendekatan engineering dan science seperti database
engineering, programming, statistika, dan matematika. Data science
atau yang apabila di-Bahasa Indonesia-kan menjadi Ilmu Data
sebenarnya tidak jauh berbeda dengan Data Mining. Apabila kita
membaca buku-buku data mining yang seja tahun 1990-an sudah
muncul, kita tidak menemukan perbedaan signifikan antara data
mining dengan data science. Yang membuat orang-orang menggeser
terminologi data mining menjadi data science adalah keberagaman,
dan sumber data yang jauh lebih banyak dibandingkan dengan era
data mining.

2
Pada data science kita juga akan menggunakan teknik-teknik
yang sebelumnya juga sudah ada seperti regresi, klasifikasi, dan
cluster analysis namun dengan implementasi yang jauh lebih luas dari
sebelumnya, terlebih apabila kita bicara tentang teknologi yang
mendukungnya.

C. Big Data Analitics


Terkait teknologi yang mendukungnya, para engineer mulai
menggagas tentang bagaimana cara memproses data yang berukuran
masif sejak dari tahun 2004 yang lalu. Tonggak sejarah teknologi big
data dimulai dari sebuah paper dari Jeffrey Dean dan Sanjay
Ghemawat dari Google. Inc pada 2004 yang lalu, berjudul
“MapReduce: Simplified Data Processing on Large Clusters”. Paper
ini yang kemudian dibaca oleh seorang engineer bernama Doug
Cutting yang kemudian mengimplementasikan metode Map Reduce
yang ada paper tersebut menjadi sebuah program yang kemudian
dinamakan Hadoop.

Hadoop adalah sebuah platform komputasi paralel yang mampu


memproses data berukuran masif dengan tingkat reliability yang
tinggi. Berbeda dengan konsep komputasi paralel yang sudah ada
sebelumnya seperti MPI (Message Passing Interface), Hadoop tidak
berorientasi pada data yang didistribusikan dan diproses secara
paralel, namun sebaliknya, Hadoop mendistribusikan komputasi dan
perhitungan ke beberapa mesin. Sebelum dilakukan pemrosesan, data
sebelumnya harus didistribusikan dan disimpan ke repository mesin-

3
mesin tersebut. Ini yang menjadi kelebihan Hadoop dibandingkan
dengan konsep komputasi sebelumnya, di mana Hadoop mempunyai
fitur sebagai repository data dan dengan tingkat reliability dan
availability yang tinggi karena data sudah didistribusikan ke beberapa
tempat.

Sampai dengan saat ini, Hadoop sudah menjadi sebuah standar


implementasi Big Data Analytics, terutama untuk institusi yang ingin
mengimplementasikan Big Data Analytics secara on-premis. Untuk
implementasi on-cloud, terdapat beberapa pilihan seperti Google Big
Query, dan Amazon S3. Secara garis besar, apabila dijelaskan dari
sisi disiplin ilmu dan proses yang ada di dalamnya, Big Data
Analytics adalah sebuah disiplin ilmu yang menggabungkan antara
data science dengan High Performance Computing (HPC) di mana
salah satu implementasi dari HPC ini adalah parallel computing
seperti Hadoop dan Spark yang juga nantinya akan di bahas pada
bagian akhir buku ini.

4
BAB 2
DASAR ANALISIS DATA

A. Siklus Hidup Analisis Data


Sebelum membahas tentang bagaimana implementasi Data
Science, harus dipahami terlebih dahulu kerangka kerja untuk
pemrosesan data. Siklus pemorosesan data umumnya ditentukan oleh
seorang data analyst untuk berikutnya diimplementasikan oleh
anggota tim yang lain. Sebuah pemrosesan data akan selalu dimulai
dengan akuisisi data, di mana sumber akuisisi data ini dapat berasal
dari beberapa tempat seperti database, raw file, dan konten dari
internet. Secara garis besar,

Gambar 1 Data and Knowledge Discovery Life Cycle

siklus pemrosesan data dapat dirangkum dalam satu gambar


sebagai berikut.

5
Dapat dilihat pada gambar di atas, data dapat berasal dari banyak
sumber dan dengan banyak ragam format seperti dokukmen dengan
konten free text di dalamnya, gambar, dan bahkan video. Proses
akuisisi data ini idealnya dilakukan oleh seorang data engineer.

Kemudian, setelah data berhasil diakuisisi proses berikutnya


adalah melakukan data cleansing dan data transformation. Data
cleansing adalah sebuah proses koreksi, atau bias juga bahkan
menghapus data yang dirasa kurang lengkap dan kurang
merepresentasikan bisnis dan proses yang sedang dianalisa. Setelah
itu terkadang terhadap data yang dimiliki juga perlu dilakukan data
transformation, contoh dari data transformation ini seperti mengubah
data yang dimiliki menjadi fitur vektor (akan dijelaskan nanti),
mengubah data linguistik menjadi numerik, serta mengubah data
dengan nilai kontinu menjadi nilai diskrit. Proses data cleansing dan
data transformation ni idealnya dilakukan oleh seorang data scientist,
namun tidak jarang pula terkadang seorang data engineer juga
melakukan cleasing dan transformation, seperti melakukan query
untuk memfilter data dan transformasi sederhana seperti mengubah
format tanggal.

Setelah itu dilakukan Exploratory Data Analysis (EDA). Proses


ini dilakukan untuk mendapatkan hasil analysis secara cepat tanpa
harus mengimplementasikan machine learning atau pemodelan lain
yang lebih rumit. Ketika dirasa hasil dari EDA masih dirasa kurang,
data scientist dapat melanjutkan dengan mengimplementasikan
model machine learning. Sampai pada akhirnya hasil dari analisis

6
dapat dipresentasikan melalui beberapa visualisasi data dan laporan
kepada stakeholder data.

B. Analisa Deskriptif vs Analisa Prediktif vs Analisa Peskriptif


Analisis Deskriptif merupakan metode analisis yang sering
digunakan oleh mayoritas analis. Metode analisis ini umumnya sering
menampilkan statistik melalui perhitungan matematis. Fungsinya
adalah untuk mengetahui gambaran penyebaran data sampel atau
populasi. Sehingga, data tersebut akan mudah dipahami dan lebih
informatif. Umumnya, metode analisis deksriptif sering
menampilkan statistik seperti rata-rata, mean, modus, dan statistik
lainnya. Pada umumnya, metode analisis deskriptif sering mengkaji
berbagai hal terkait kewajaran suatu kejadian, aktivitas yang
menonjol maupun hubungan antar variabel data.

Analisis prediktif adalah sebuah metode analisis yang berfungsi


untuk mengidentifikasi risiko dan peluang berdasarkan rekam data
yang dimiliki. Metode tersebut akan bekerja dengan cara
menganalisis data tersebut untuk membuat prediksi di masa yang
akan datang. Biasanya, metode analisis prediktif sering digunakan
untuk proses pembelajaran mesin maupun ataupun big data.

Lain hal dengan analisis prediktif, analisis preskriptif umumnya


cenderung menampilkan rekomendasi terhadap sebuah kasus di
media sosial. Metode ini bisa kita gunakan untuk mendukung
pencapaian bisnis agar lebih maksimal. (Saputra)

7
C. Kualitas Data
Menurut Turban et al. (2005, ), data adalah deskripsi dasar
tentang sesuatu, kejadian, kegiatan, dan transaksi yang
ditangkap, direkam, disimpan, dan diklasifikasikan namun
tidak terorganisir untuk menyampaikan suatu arti khusus.

Menurut McLeod dan Schell (2007), data terdiri dari fakta


dan gambaran yang secara umum tidak dapat digunakan oleh
user (perlu diolah).Dari kedua definisi diatas, dapat diambil
kesimpulan bahwa data adalah fakta yang masih mentah dan
belum memiliki arti bagi pengguna karena belum diolah.

Menurut Mark Mosley (2008), dalam bukunya “Dictionary


of Data Management”, pengertian kualitas data adalah level
data yang menyatakan data tersebut akurat (accurate),
lengkap (complete), timely (update), konsisten (consistent)
sesuai dengan semua kebutuhan peraturan bisnis dan
relevan.

8
BAB 3
DASAR PEMROGRAMAN UNTUK DATA
SCIENCE

Pada buku ini tidak mengharuskan pembaca menggunakan


bahasa pemrograman Python untuk menganalisis data, namun dengan
alasan popularitas Python yang saat ini cukup tinggi, maka tidak ada
alasan lain bagi penulis untuk memperkenalkan data science
menggunakan bahasa pemrograman Python untuk implementasinya.

A. Pengenalan Python Programming


Untuk bisa mengembangkan model data, diperlukan sebuah
environment yang mendukung. Mungkin yang pertama terbayang
pada saat membaca kata-kata programming di sini
adalah sebuah Integrated Development Environment (IDE), yang
biasa digunakan oleh para software engineer untuk mengembangkan
software. Tidak sepenuhnya salah, namun untuk lebih persisnya,
untuk mengembangkan sebuah model data lebih cocok apabila kita
menggunakan sebuah interpreter.

Lupakan bahwa interpreter itu harus dalam bentuk command


line yang mempunyai background gelap seperti yang biasa kita
temui di sistem berbasis unix/DOS, karena saat ini terdapat sudah
banyak pilihan jenis interpreter yang interaktif dan mudah
penggunaannya. Penulis sangat menyarankan pembaca untuk
menggunakan interpreter interaktif, dan salah satu yang terkenal

9
Gambar 2 Python Version Download

adalah Jupyter Notebook yang diinstal dari sebuah software


stack yang bernama Anaconda Data Science Platform. Anaconda
Data Platform dapat diunduh melalui laman resminya yaitu
https://www.anaconda.com/. Buka link download, dan untuk saat ini
antarmuka dari laman download tersedia seperti pada gambar di
bawah ini. Anda dapat memilih installer sesuai platform sistem
operasi yang anda gunakan, sedangkan untuk versi Python yang
menjadi bahasa pemrograman default dari Anaconda, penulis
menyarankan untuk menggunakan Python versi 3.7. Ingat, versi
Python 2.x akan berakhir masa pengembangannya pada tahun 2020.

Kelebihan dari Anaconda Data Platform ini adalah kita dapat


dengan mudah melakukan konfigurasi semua library yang
berhubungan dengan modeling yang sedang kita kerjakan, semuanya
ada di satu tempat. Kemudian, kemudahan lainnya adalah kita dapat
environment sesuai kebutuhan, misalnya ketika kita masih
mempunyai project yang menggunakan Python 2.x kita dapat
menggunakan library khusus Python 2.x tanpa mengganggu project
yang menggunakan versi Python 3.x. Kelebihan lain, di Anaconda

10
juga menyediakan akses ke tools data science, dan pengembangan
software lainnya seperti Spyder, Microsoft Visual Studio Code, dan
juga R Studio bagi anda yang juga terbiasa dengan bahasa
pemrograman R.

Gambar 3 Manajemen environment pada Anaconda Data Platform.


Instalasi library tambahan juga bisa dilakukan pada fitur

Saat buku ini ditulis, versi Python terakhir adalah versi 3.7.
Python sendiri mulai dikembangkan pada tahun 1989 oleh Guido van
Rossum, seorang engineer di Google Inc. pada saat itu. Nama Python
sendiri bukan berasal dari nama spesies ular, namun berasal dari
sebuah grup komedi di Inggris yang bernama Monty Python. Versi
stable perdana Python, yaitu Python 1.0, dirilis pada tahun 1991. Saat
ini juga sedang menikmati puncak popularitasnya, menggeser bahasa
pemrograman lain yang sudah lebih dulu mendapat tempat di hati
para software engineer. Kelebihan Python antara lain adalah
sebagai berikut: 1. Ekspresif. Python termasuk bahasa pemrograman
yang cukup ekspresif, syntax dan penulisan block programmnya
termasuk yang to the point, sehingga cukup mudah digunakan dan

11
dipelajari. 2. Portable. Python juga cukup mudah dalam hal instalasi,
tidak perlu dijelaskan lebih lanjut, anda bisa merasakan
kemudahannya saat instalasi Anaconda Data Platform. 3. Object
Oriented. Python juga sudah mendukung paradigma pemrograman
berbasis objek. 4. Mendukung Functional Programming. Lambda
Expression, yang merupakan implementasi Functional Programming
juga sudah didukung secara penuh pada pemrograman Python. 5.
GUI Based. Python juga sudah mendukung pengembangan software
dengan user interface berbasis desktop (dengan interface QT) maupun
web.

B. Tipe Data
Kurang lengkap rasanya apabila memulai belajar bahasa
pemrogaman tanpa didahului dengan “Hello World”. Untuk memulai
pemrograman Python, anda harus membuat satu file notebook pada
Jupyter Notebook. Anda dapat membuka Jupyter
Notebook melalui dashboard utama Anaconda Navigator (akses
melalui start menu). Oh ya, kerennya Jupyter Notebook ini selain
anda bias gunakan untuk programming, bisa anda gunakan pula untuk
membuat slide presentasi, dan dokumen dengan scientific
styling. Buku ini pun dibuat dengan menggunakan Jupyter Notebook.
Kembali ke Python Programming, ketika anda membuka
Jupyter Notebook (tekan tombol Launch), browser default
anda akan terbuka secara otomatis, dan diarahkan ke laman
utama Jupyter Notebook yaitu daftar file yang ada di bawah
folder Users,

12
Gambar 4 Halaman awal Jupyter Notebook

jika anda menggunakan Windows atau /home


apabila anda menggunakan Linux. Untuk membuat sebuah file
notebook baru, klik menu New di sebelah kanan bagian atas,
kemudian pilih Python 3, seketika notebook baru dengan nama
Untitled akan terbuka pada tab baru pada browser anda. Beri nama
“Basic Python”, dengan cara mengklik terlebih dahulu text “Untitled”
pada notebook tersebut.

Gambar 5 Menjalankan Python

Title notebook otomatis berubah, dan begitu pula nama file


notebook tersebut. Sebuah notebook terdiri dari beberapa bagian,

13
bagian utama adalah sebuah cell, tempat kita menulis script, untuk
setiap cell, terdapat nomor di sebelah kiri yang mengindikasikan
urutan eksekusi script tersebut.

C. Sintaks Data, Variable

Basic Syntaks

Untuk memulai, ketik script di bawah ini pada cell pertama


anda, lalu tekan Shift+Enter pada keyboard anda.
In [1]: print("Hello World")

Hello World

Variabel

Python termasuk Strong Type Programming, di mana artinya


kita harus berhati-hati dalam mendeklarasikan sebuah variabel,
dikarenakan tipe variabel tidak secara eksplisit ditulis
pada script. Hal ini dapat mengakibatkan ambiguitas dalam
kode program kita. Misal kita melakukan assignment seperti
di bawah ini:

In [2]: a = 10 #integer

Pada bagian lain dalam script yang sama, dengan tanpa terjadi
error, variabel yang bertipe integer tersebut bisa dimodifikasi menjadi
variabel baru bertipe string.

In [3]: a = "sepuluh" #string

14
Berikut adalah contoh untuk deklarasi tipe variabel yang
lain, misalnya boolean, dan float.

In [4]: is_male = True #boolean

In [5]: temperature = "27.9" #float or double

Untuk menginspeksi tipe dari sebuah variabel anda dapat


menggunakan fungsi type, seperti di bawah ini.

In [6]: type(a)

Out[6]: str

D. Looping

A for loop digunakan untuk mengulangi urutan (baik daftar,


tupel, kamus, set, atau string). Ini kurang seperti kata kunci for dalam
bahasa pemrograman lain, dan berfungsi lebih seperti metode iterator
seperti yang ditemukan dalam bahasa pemrograman berorientasi
objek lainnya. Dengan for loop kita dapat mengeksekusi seperangkat
pernyataan, sekali untuk setiap item dalam daftar, tuple, set dll.
fruits = ["apple", "banana", "cherry"]
for x in fruits:
print(x)

E. Operator Logika
Pada Python penulisan logika hampir sama dengan bahasa
pemrograman lainnya, yaitu menggunakan if, else, dan else if.

15
In [7]: two_legged = True
has_wings = True

Dan berikut ini adalah penulisan blok program dengan


menggunakan operator logika ‘if’ dan operator boolean ‘and’.

In [8]: if two_legged and has_wings:


print('it is bird...')
it is bird...

Perlu diperhatikan bahwa penulisan kode di Python sangat


memperhatikan indentansi. Script di atas akan bernilai salah apabila
penulisannya seperti ini.

In [9]: if two_legged and has_wings:


print('it is bird...')
File "<ipython-input-9-f19154c2e265>", line 2
print('it is bird...')
IndentationError: expected an indented block

Untuk penggunaan operator ‘else if’ penulisannya adalah


seperti di bawah ini.

In [10]: if two_legged and has_wings:


print('it is bird...')
elif not two_legged and not has_wings:
print('it is not bird')
it is bird...

16
F. Struktur Data
Struktur data merupakan komponen penting pada data science
dan big data, untuk menampung sekumpulan dataset yang akan
dianalisa. Dengan memahami struktur data, kita dapat
menentukan cara yang paling efisien untuk bisa memodifikasi
data sesuai kebutuhan pemodelan data. Setidaknya, terdapat tiga
struktur data pada Python yang sering digunakan oleh para data
scientist, di antaranya adalah: List, Dictionary, dan Dataframe.
Sebetulnya terdapat satu lagi struktur data pada Python, namun
penggunaannya cukup jarang, yaitu Tuple. Tuple pada prinsipnya
sama dengan list, namun dengan satu perbedaan, yaitu Tuple bersifat
immutable (read-only), sedangkan List tidak.

a. List
List pada prinsipnya adalah sebuah array, atau satu set
koleksi item data, dan bersifat immutable. Contoh penulisan
List pada Python adalah sebagai berikut.

In [12]: employee = list() #deklarasi sebuah list kosong

Penulisan deklarasi bisa juga seperti ini.

In [13]: employee = []

Atau bisa juga langsung dengan mengisinya dengan beberapa


nilai.

In [14]: employee = ['Adi', 'Budi', 'Charlie', 'Dicky']

In [15]: employee

17
Out[15]: ['Adi', 'Budi', 'Charlie', 'Dicky']

Menghitung Jumlah Item pada List Dapat dengan mudah


dilakukan dengan menggunakan built-in function len.

In [20]: len(employee)

Out[20]: 4

Mengakses Nilai Item pada List Sebuah List pada Python


selalu dimulai dari index ke 0.

In [21]: employee[0]

Out[21]: 'Adi'

In [ ]:

18
BAB 4
DATA MINING

Data mining adalah suatu istilah yang digunakan untuk


menguraikan penemuan pengetahuan di dalam database. Data mining
adalah suatu proses yang menggunakan teknik statistik, matematika,
kecerdasan tiruan, dan machine learning untuk mengekstraksi serta
mengidentifikasi informasi yang bermanfaat untuk pengetahuan yang
terkait dari berbagai database besar (Turban et al, 2005). Menurut Tan
et al (2006) data mining adalah proses untuk mendapatkan informasi
yang berguna dari gudang basis data yang besar. Data mining juga
dapat diartikan sebagai pengekstrakan informasi baru yang diambil
dari bongkahan data besar yang membantu dalam pengambilan
keputusan. Istilah data mining kadang disebut juga knowledge
discovery.
Data mining adalah bagian integral dari penemuan
pengetahuan dalam database (KDD) yang merupakan proses
keseluruhan mengubah data mentah menjadi pola-pola data menarik
yang merupakan informasi yang dibutuhkan oleh pengguna sebagai
pengetahuan.

A. Teks Mining
Text Mining merupakan penerapan konsep dari teknik data
mining untuk mencari pola dalam teks, bertujuan untuk mencari
informasi yang bermanfaat dengan tujuan tertentu. Berdasarkan

19
ketidakteraturan struktur data teks, maka proses text mining
memerlukan beberapa tahap awal yang pada intinya mempersiapkan
agar teks dapat diubah menjadi lebih terstruktur (Budi Susanto,
Teknik Informatika UKDW Yogyakarta).
Proses text mining dibagi menjadi 3 tahap utama, yaitu
proses awal terhadap teks (text preprocessing), transformasi teks (text
transformation), dan penemuan pola (pattern discovery) (Even, Yahir
Zohar, 2002).

B. Teks Processing
Pada text mining, struktur data yang baik dapat
mempermudah proses komputerisasi secara otomatis. Maka dari itu,
diperlukan beberapa tahapan untuk pengubahan dari informasi yang
strukturnya sembarang menjadi lebih terstruktur sesuai dengan
kebutuhan. Tahapan awal dari text mining adalah text preprocessing
yang bertujuan untuk mempersiapkan teks menjadi data yang
terstruktur dan dapat diproses pada tahapan berikutnya. Secara umum
tahapan-tahapan dari text preprocessing.

Sebelum melakukan klasifikasi pada dokumen teks, perlu


dilakukan preprocessing. Data dari sicoal media yang diperoleh
belum sepenuhnya siap digunakan untuk proses klasifikasi secara
langsung karena data masih tidak terstruktur dengan baik dan terdapat
banyak noise. Data masih memuat angka, tanda baca, emoticon, serta
kata-kata lain yang kurang bermakna untuk dijadikan fitur. Maka dari
itu, perlu dilakukan preprocessing yang bertujuan untuk

20
menyeragamkan bentuk kata, menghilangkan karakter-karakter
selain huruf, dan mengurangi volume kosakata sehingga data akan
lebih terstruktur.

Mulai

Data Social
Meda

Case Folding

Tokenizing

Filtering

Stemming

Selesai

Gambar 6 Proses Teks Processing

a. Case Folding
Tahap case folding adalah mengubah seluruh huruf dari ‘a’
sampai dengan ‘z’ dalam dokumen menjadi huruf kecil. Tidak
semua dokumen konsisten dengan penggunaan huruf kapital. Maka
dari itu case folding mengkonversi keseluruhan teks dalam dokumen
menjadi huruf kecil.

21
Gambar 7 Contoh Case Folding

b. Tokenizing
Tokenizing atau tokenisasi adalah proses memisahkan kata
perkata pada sebuah dokumen menjadi kata – kata yang saling
independen. Tokenizing dilakukan untuk mendapatkan token atau
potongan kata yang akan menjadi entitas yang memiliki nilai dalam
penyusunan matriks dokumen pada proses selanjutnya.

Gambar 8 Contoh Tokenizing

c. Filtering
Tahap penyaringan atau filtering merupakan tahap dilakukannya
pemilihan kata pada dokumen atau pengurangan dimensi kata di

22
dalam corpus yang disebut stopwords. Stopwords merupakan tahap
untuk menghilangkan kata-kata yang tidak berpengaruh / tidak
informatif namun seringkali muncul dalam dokumen. Kata-kata
tersebut seperti kata penghubung, kata ganti orang, kata seruan dan
kata lainnya yang tidak begitu memiliki arti dalam penentuan kelas
topik suatu dokumen.

Gambar 9 Contoh Filtering

d. Stemming
Tahap stemming adalah proses untuk menemukan kata dasar
dengan menghilangkan semua imbuhan (affixes) baik itu berupa
awalan (prefixes), akhiran (suffixes), maupun kombinasi dari awalan
dan akhiran (confixes) yang ada pada setiap kata dalam data. Jika
imbuhan tersebut tidak dihilangkan maka setiap satu kata dasar akan
disimpan dengan berbagai macam bentuk yang berbeda sesuai dengan
imbuhan yang melekatinya sehingga hal tersebut akan menimbulkan

23
noise. Pada tahap ini dilakukan proses pengembalian berbagai
bentukan kata ke dalam suatu representasi yang sama.

Gambar 10 Contoh Stemming

C. Clustering
Clustering merupakan sebuah teknik dalam data mining
yang berfungsi untuk mengelompokan data (grouping) berdasarkan
kemiripanya ke dalam klaster. Setiap klaster memiliki sekumpulan
data yang mirip dengan data lain dalam satu klaster, tetapi tidak mirip
dengan data pada klaster lainya (Han, 2012).
Tujuan pekerjaan pengelompokan (clustering) data dapat
dibedakan menjadi dua, yaitu pengelompokan untuk pemahaman dan
pengelompokan untuk penggunaan. Jika tujuannya untuk
pemahaman, kelompok yang terbentuk harus menangkap struktur
alami data. Sementara jika untuk penggunaan, tujuan utama
pengelompokan biasanya adalah mencari prototipe kelompok yang
paling representif terhadap data, memberikan abstraksi dari setiap
objek data dalam kelompok dimana sebuah data terletak didalamnya
(Prasetyo, 2012).

24
BAB 5
ALGORITMA DATA MINING

A. SVM (SUPPORT VECTOR MECHINE)


Support Vector Machine dikembangkan oleh Boser, Guyon,
Vapnik, dan pertama kali dipresentasikan pada tahun 1992 di Annual
Workshop on Computational Learning Theory. Konsep dasar SVM
sebenarnya merupakan kombinasi harmonis dari teori-teori
komputasi yang telah ada puluhan tahun sebelumnya, seperti margin
hyperplane, kernel diperkenalkan oleh Aronszajn tahun 1950, dan
demikian juga dengan konsep-konsep pendukung yang lain. SVM
berusaha menemukan hyperplane yang terbaik pada input space.
Prinsip dasar SVM adalah linear classifier, dan selanjutnya
dikembangkan agar dapat bekerja pada problem non-linear. dengan
memasukkan konsep kernel trick pada ruang kerja berdimensi tinggi.
(Nugroho, 2003)
Menurut Manning et al. (2008), fungsi pemisah (hyperplane)
yang dicari adalah fungsi linear di persamaan 1 sebagai berikut:

⃗⃗⃗ T 𝑋 + b) 𝑥
f (x⃗) = sign(𝑊 (1)
dengan 𝑤
⃗⃗ adalah bobot yang merepresentasikan posisi
hyperplane pada bidang normal, 𝑥 adalah vektor data masukan, dan
b adalah bias yang merepresentasikan posisi bidang relatif terhadap
pusat koordinat.
Selanjutnya, masalah klasifikasi diformulasikan ke dalam
quadratic programming (QP) problem yang dapat diselesaikan

25
dengan Lagrange Multiplier sehingga fungsi klasifikasinya menjadi
seperti pada persamaan 2.
f (𝑥 ) = sign(∑𝑖 𝑎iyi𝑋𝑖𝑇 𝑋 + b) (2)

dengan 𝑖 adalah Lagrange multiplier yang berkorespondensi


dengan 𝑥 i.
Syarat sebuah fungsi untuk menjadi fungsi kernel adalah
memenuhi teorema Mercer yang menyatakan bahwa matriks kernel
yang dihasilkan harus bersifat positive semi-definite. Fungsi kernel
yang umum dipunakan adalah sebagai berikut:

a. Kernel Linier
K(x,y)=(x,y)

b. Polynomial
K(x,y) = (x.y +c)d

c. Radial Basis Function


||𝑥−𝑦⃗ ||
K(𝑥 ,𝑦) = exp(- )
2𝜎 2

d. Sigmoid
K(𝑥 ,𝑦)= tanh( K < 𝑥 ∙ 𝑦 > + 𝜗

Setelah menerapkan fungsi kernel, fungsi keputusannya


(decision surface) ditulis dalam:
f (𝑥 ) = sign(∑𝑖 𝑎 iyiK(𝑥 i 𝑥 j+ b) (3)

26
dengan ai adalah Lagrange multiplier yang berkorespondensi
dengan 𝑥 i (Manning, 2008).
Pada penelitian ini kernel yang digunakan adalah kernel linear.
Kernel ini digunakan karena merupakan kernel yang paling sederhana
dan menggunakan waktu yang sedikit untuk pemrosesannya.
(Yekkehkhany et al., 2014)
Bentuk primal form yang tadinya sangat susah untuk
dipecahkan, akan dirubah kedalam bentuk dual form yang hanya akan
mengandung nilai . Berbagai algoritma telah dikembangkan untuk
mencari nilai  tersebut. Akan tetapi, algoritma-algoritma tersebut
memerlukan waktu yang lama, apalagi jika dipakai untuk data yang
berukuran besar, karena algoritma tersebut menggunakan numerical
quadratic programming sebagai inner loop.
Oleh karena itu, muncullah algoritma-algoritma yang dapat
menangani masalah pemecahan nilai  dalam proses training
tersebut. Salah satunya dengan metode sekuantial. Adapun langkah-
langkah umum dari metode penyelesaian training ini adalah:

1.Menginisiasi i = 0; ε = 0,001; γ = 0,01; λ = 1; C = 1;

Hitung Matriks Dij = yiyj(K(𝑥 i ∙ 𝑥 j) + λ2

2.Lakukan step (a), (b), dan (c) di bawah untuk i =1,2,..., l


(a) Ei = ∑𝑙𝑗=1 jDi j

27
(b) 𝛿i = min{max[y(1 − Ei), −i),C −i}

(c) i = i + 𝛿i
3.Kembali ke step-2 sampai nilai  konvergen (tidak ada
perubahan signifikan).
4. Menghitung nilai w.x+ dan w.x- untuk mendapatkan
nilai bias menggunakan persamaan 16 hingga 20 berikut ini :

𝑤.𝑥+ = 𝛼𝑖.𝑦𝑖.(𝑥,𝑥+)
(16)
𝑤.𝑥− = 𝛼𝑖.𝑦𝑖.𝐾(𝑥,𝑥−)

Dimana : 𝑤.𝑥𝑖 + 𝑏 ≥ +1 𝑓𝑜𝑟 𝑦𝑖 = +1


𝑤.𝑥𝑖 + 𝑏 ≥ −1 𝑓𝑜𝑟 𝑦𝑖 = −1

1
b = − (𝑤.𝑥+ + 𝑤.𝑥−)
2

Keterangan :
(𝑥,𝑥+) : Nilai kernel data x dengan data x
kelas positif yang memiliki nilai α tertinggi.
(𝑥,𝑥−) : Nilai kernel data x dengan data x
kelas negatif yang memiliki nilai α tertinggi.
𝑏 : Nilai bias
xi : Data ke-i
wi : Bobot support vector
yi : Kelas dataset

28
B. LDA (Laten Direchlet Allocation
Latent Dirichlet Allocation (LDA) merupakan metode topik
modelling dan topik analisis yang paling 29ntegra saat ini. LDA
muncul sebagai salah satu metode yang dipilih dalam melakukan
analisis pada dokumen yang berukuran sangat besar. LDA dapat
digunakan untuk meringkas, melakukan klasterisasi, menghubungkan
maupun memproses data yang sangat besar karena LDA
menghasilkan daftar topik yang diberi bobot untuk masing-masing
dokumen. Adapun distribusi yang digunakan untuk mendapatkan
distribusi topik per-dokumen disebut distribusi Dirichlet, kemudian
dalam proses 29ntegrase29 untuk LDA, hasil dari Dirichlet digunakan
untuk mengalokasikan kata-kata pada dokumen untuk topik yang
berbeda. Dalam LDA, dokumen-dokumen merupakan objek yang
dapat diamati, sedangkan topik, distribusi topik per-dokumen,
penggolongan setiap kata pada topik per-dokumen merupakan
struktur tersembunyi, maka dari itu, Algoritma ini dinamakan Latent
Dirichlet Allocation (LDA). Menurut Blei (2003), LDA merupakan
model 29ntegrase2929ic 29ntegrase29 dari kumpulan tulisan yang
disebut corpus. Ide dasar yang diusulkan metode LDA adalah setiap
dokumen direpresentasikan sebagai campuran 29ntegrase topik yang
tersembunyi, yang mana setiap topik memiliki karakter yang
ditentukan berdasarkan distribusi kata-kata yang terdapat di
dalamnya. Blei merepresentasikan metode LDA sebagai model
probabilistic secara visual seperti pada Gambar 1.

29
Gambar 11 Visualisasi LDA

Keterangan :
K = Jumlah topik
N = Jumlah kata dalam dokumen
M = Jumlah dokumen untuk dianalisis
α = Distribusi topik per dokumen
β = Distribusi kata per topik
φ(k) = Distribusi kata untuk topik k (Peluang topik per
kata)
ϴ(i) = Distribusi topik untuk untuk dokumen I (Peluang
topik per dokumen)
Z(I,j) = Penugasan topik untuk w (I, j)
w(I,j) = kata j-th dalam dokumen ke-i

C. K-MEANS
K-Means merupakan salah satu metode pengelompokan data
nonhirarki (sekatan) yang berusaha mempartisi data yang ada ke
dalam bentuk dua atau lebih kelompok. Metode ini mempartisi data
ke dalam kelompok sehingga data berkarakteristik sama dimasukkan
ke dalam satu kelompok yang sama dan data yang berkarakteristik

30
berbeda dikelompokkan ke dalam kelompok yang lain.
Pengelompokan ini bertujuan untuk meminimalkan fungsi objektif
yang diset dalam proses pengelompokan, yang pada umumnya
berusaha meminimalkan variasi di dalam suatu kelompok dan
memaksimalkan variasi antar kelompok (Prasetyo, 2012).
Langkah-langkah pengklasteran menggunakan algoritma K-
Means menurut Santosa (2007) diantaranya sebagai berikut:
1. Pilih jumlah cluster k, tentukan banyak cluster atau kempok
data yang ingin dibentuk.
2. Tentukan titik pusat (centroid) awal dari tiap cluster. Pusat-
pusat cluster diberi nilai awal dengan nilai random.
3. Alokasikan semua data/objek ke cluster terdekat. Kedekatan
dua objek ditentukan berdasarkan jarak kedua objek tersebut.
Untuk menghitung jarak semua data ke setiap titik pusat cluster
dapat menggunakan teori jarak Euclidean yang dirumuskan
sebagai berikut:

2
𝐷(𝑖, 𝑘) = √∑𝑚
𝑗=1(𝑋𝑖𝑗 − 𝐶𝑘𝑗 ) ................................................ (4)

Keterangan:
D(i,k) : Jarak data ke i ke pusat cluster k
Xij : Data pada indeks ke-j
Ckj : Pusat cluster pada indeks ke-j
4. Hitung kembali pusat cluster dengan keanggotaan cluster yang
sekarang. Pusat cluster adalah rata-rata dari semua data/objek
dalam cluster tertentu ataupun median dari cluster tersebut.

31
Tugaskan lagi setiap objek memakai pusat cluster yang baru. Jika
pusat cluster tidak berubah lagi maka proses clustering selesai. Atau,
kembali ke langkah ke 3 sampai pusat cluster tidak berubah lagi.

Algoritma K-Means tentunya masih memiliki kelemahan,


salah satunya yaitu dalam hal akurasi. Perhitungan yang cepat dan
sederhana merupakan keunggulan dari algoritma ini, namun
algoritma K-Means tidak bisa memberikan akurasi yang tepat. Hal ini
dikarenakan baik buruknya klasterisasi sangat bergantung pada nilai
centroid yang ditentukan di awal perhitungan, sehingga pemilihan
centroid awal yang berbeda ataupun tidak tepat akan sangat
berpengaruh pada hasil klasterisasi dan banyaknya iterasi yang harus
dilakukan (Arthur & Vassilvitskii, 2007).
Oleh karena itu, dalam jurnalnya yang berjudul k-means++:
the advantages of careful seeding, David Arthur dan Sergei
Vassilvitskii (2007) berpendapat bahwa hal itu bisa diatasi dengan
menambahkan random seeding technique pada pemilihan centroid
awal yang dapat meningkatkan akurasi pada algoritma. Terbukti,
pada jurnal tersebut David dan Sergei berhasil menunjukkan bahwa
algoritma K-Means yang telah ditambahkan randomized seeding
technique memberikan hasil yang lebih baik daripada algoritma K-
Means biasa dalam hal kecepatan dan akurasi. Algoritma ini
kemudian dinamakan dengan algoritma K-Means++.
Langkah algoritma K-Means++ tidak jauh berbeda dari
algoritma K-Means. Titik pusat klaster pertama tetap dipilih secara
acak, selanjutnya dilakukan perhitungan probabilitas untuk
menentukan centroid berikutnya sehingga setiap anggota memiliki

32
peluang untuk terpilih dan yang paling mendekati adalah yang paling
tepat. Setelah semua titik pusat klaster k terpilih, maka proses
dilanjutkan dengan algoritma K-Means standar. Berikut rumus
peluang atau randomized seeding technique:

𝐷(𝑥′)2
∑𝑥∈𝑋 𝐷(𝑥′)2
............................................................................................

Keterangan:
𝐷(𝑥′)2 : Jarak Euclidean Distance
∑𝑥∈𝑋 𝐷(𝑥′) 2
: Jumlah jarak Euclidian Distance

Rumus randomized seeding technique akan menghasilkan


sebuah angka yang akan dijadikan patokan semakin jauh nilai objek
maka semakin besar kemungkinan nilai objek akan menjadi nilai C
berikutnya (Fikri, 2017).

D. Bagging Dan Adaftive


Bagging adalah singkatan dari bootstrap aggregating,
menggunakan sub-dataset (bootstrap) untuk menghasilkan set
pelatihan L (learning), L melatih dasar belajar menggunakan
prosedur pembelajaran yang tidak stabil dan kemudian selama
pengujian mengambil rata-rata (Breiman 1996). Bagging baik
digunakan untuk klasifikasi dan regresi. Dalam kasus regresi, untuk
menjadi lebih kuat, seseorang dapat mengambil rata-rata ketika
menggabungkan prediksi. Bagging adalah sebuah algoritma

33
pembelajaran yang stabil pada perubahan kecil dalam training set
menyebabkan perbedaan besar dalam peserta didik yang dihasilkan
yaitu algoritma belajar pada data yang memiliki varians tinggi
(noise). Bagging mampu meningkatkan akurasi secara signifikan
lebih besar dibanding model individual, dan lebih kuat terhadap efek
noise dan overfitting dari data pelatihan asli (Han et al., 2012; Culp et
al., 2011).

Algoritma Bagging (Brieman, 1996) : Perulangan for b = 1,


2, . . ., B
1. Buat sampel boostrap {(𝑋 , 𝑌1 ∗ ) 1 ∗ , (𝑋 , 𝑌2 ∗ ), … , 2 ∗ (𝑋𝑛 ∗ ,
𝑌𝑛 ∗ )} dengan penggantian secara acak dari data training {(𝑋1 ,
𝑌1 ), (𝑋2 , 𝑌2 ), … , (𝑋𝑛, 𝑌𝑛 )} mencocokkan dengan classifier
Cb dinyalakan pada sampel yang sesuai bootstrap.

Output classifier akhir: 𝐶(𝑥) = 𝐵 −1 ∑ 𝐶𝑏 (𝑥) 𝐵 𝑏=1 (2) Karya


(Breiman, 1994) pada Kim & Kang melaporkan bahwa bagging dapat
meningkatkan kinerja dengan penggabungan (ensemble) algoritma
seperti Decision Tree (DT), Neural Network (NN), dan Support
Vector Machine (SVM). Dataset dengan noise yang tinggi
menyebabkan kesalahan dalam generalisasi pengklasifikasian,
sehingga dibutuhkan algoritma yang tepat untuk digabungkan
(ensemble) dengan neural network agar akurasi prediksi dapat
meningkat.

34
AdaBoost merupakan salah satu dari beberapa varian tentang
ide boosting ide boosting berasal dari suatu cabang pada penelitian
machine learning yang dikenal sebagai computational learning
theory. Konsep AdaBoost muncul dari pertanyaan Kearns dan Valiant
pada tahun 1988, apakah suatu pembelajaran lemah dapat
ditingkatkan menjadi suatu pembelajaran yang kuat, jawaban
pertanyaan di atas dijawab oleh schapire dengan membangun suatu
algoritma boosting untuk yang pertama kali. Selanjutnya algoritma
ini dikembangkan lagi oleh freund dan schapire dengan mengajukan
konsep Adaptive Boosting yang dikenal dengan nama AdaBoost.
Penggunaan boosting menarik perhatian karena memberikan jaminan
dalam performansi. Hal menarik lain yang ditemukan adalah bahwa
boosting dapat dikombinasikan dengan classifier algoritma yang lain
untuk meningkatkan performa klasifikasi, tentunya secara intuitif
penggabungan beberapa model akan membantu jika model tersebut
berbeda satu sama lain. Sehingga masing-masing punya bagian kerja
sendiri-sendiri AdaBoost telah sukses diterapkan pada beberapa
bidang (domain) karena dasar teorinya kuat, prediksi yang akurat dan
kesederhanaan yang besar. Langkah-langkah algoritma Adaboost bisa
dilihat pada Gambar 12.

35
Gambar 12 Flowchart Adaboost

Klasifikasi dengan Adaboost


Klasifikasi Adaboost menggunakan prinsip weak learner
yaitu mengumpulkan classifier akurasi rendah yang kemudian di
aggregasikan menjadi classifier kuat.

𝑓(𝑥) = ∑𝑇𝑡=1 𝛼𝑡 ℎ𝑡 (𝑥) (5)

Dengan ht : classifer rendah H(x) : sign(f(x)) adalah


classifier kuat Diberikan (x,y) dengan jumlah m data x adalah attribut
y adalah kelas/label {+1, -1}

Berikut algoritma Adaboost :

Diberikan paramater x dan target kelas y

36
(𝑥1 𝑦1 ), … … , (𝑥𝑚 𝑦𝑚 ); 𝑥𝑖 𝜖 𝑋, 𝑦𝑖 𝜖{−1, +1} (6)

Inisialisasi Bobot (D) dengan m adalah jumlah data

1
𝐷𝑖 = (7)
𝑚

Tetapkan jumlah iterasi

𝑡….𝑇

Hitung weaklearner

ℎ𝑡 = arg min 𝜀𝑗 ∑𝑚
𝑖=𝑚 𝐷𝑡 (𝑖)[𝑦𝑖 ≠ ℎ𝑗 (𝑥𝑖 )] (8)

Hitung Alpha

1 1−𝜀𝑡
𝛼𝑡 = log( ) (9)
2 𝜀𝑡

Hitung Bobot D dengan Z adalah faktor normalisasi

𝐷𝑖 (𝑖)exp(−𝛼𝑡 𝑦𝑖 ℎ𝑡 (𝑥𝑖 ))
𝐷𝑡+1 𝑖 = (10)
𝑍𝑡

Maka output final yaitu

𝐻(𝑥) = 𝑠𝑖𝑔𝑛(∑𝑇𝑡=1 𝛼𝑡 ℎ𝑡 (𝑥)) (11)

E. TF-IDF (Term Frequency Invers Document Frequency)


Metode TF-IDF merupakan suatu cara untuk memberikan
bobot hubungan suatu kata (term) terhadap dokumen. Metode ini
menggabungkan dua konsep untuk perhitungan bobot, yaitu frekuensi
kemunculan sebuah kata di dalam sebuah dokumen tertentu dan
inverse frekuensi dokumen yang mengandung kata tersebut.

37
Frekuensi kemunculan kata di dalam dokumen yang diberikan
menunjukkan seberapa penting kata itu di dalam dokumen tersebut.
Frekuensi dokumen yang mengandung kata tersebut menunjukkan
seberapa umum kata tersebut. Sehingga bobot hubungan antara
sebuah kata dan sebuah dokumen akan tinggi apabila frekuensi kata
tersebut tinggi di dalam dokumen dan frekuensi keseluruhan
dokumen yang mengandung kata tersebut yang rendah pada
kumpulan dokumen (Musfiroh et al, 2013). Rumus untuk TF-IDF:

𝑡𝑓
𝑡𝑓 = 0,5 + 0,5 (12)
max(𝑡𝑓)

𝐷
𝑖𝑑𝑓𝑡 = 𝑙𝑜𝑔 (13)
𝑑𝑓𝑡

Wd,t = tfd,t x IDFd,t (14)

Keterangan :

tf : banyaknya kata yang dicari pada sebuah dokumen


d : dokumen ke-d
t : kata ke-t dari kata kunci
W : bobot dokumen ke-d terhadap kata ke-t
D: total dokumen
df : jumlah dokumen yang mengandung term t.
IDF : Inversed Document Frequency Nilai IDF
didapatkan dari :

𝐷
IDF : log2 ( ) (15)
𝑑𝑓

38
BAB 6
SENTIMENT ANALISYS

Sentiment Analisys disebut juga opinion mining, adalah bidang


ilmu yang menganalisa pendapat, sentimen, evaluasi, penilaian, sikap
dan emosi publik terhadap entitas seperti produk, jasa, organisasi,
individu, masalah, peristiwa, topik, dan atribut mereka (Bing Liu,
2012). Analisis sentimen berfokus pada opini-opini yang
mengekspresikan atau mengungkapkan sentimen positif atau negatif.
Secara umum analisis sentimen yang telah diteliti memiliki tiga
tingkat (level), yaitu:
1. Level dokumen : mengklasifikasikan apakah seluruh dokumen
opini mengungkapkan sentimen positif atau negatif. Analisis
mengasumsikan bahwa setiap dokumen mengungkapkan opini
yang objektif tentang suatu entitas tunggal (misalnya, produk
tunggal).
2. Level kalimat : menentukan apakah setiap kalimat
menyatakan opini positif, negatif, atau netral.
3. Level entitas dan aspek : Menemukan sentimen pada entitas
dan / atau aspeknya. Sebagai contoh, kalimat "kualitas
panggilan iPhone baik, tetapi daya tahan baterai pendek". Ada
dua aspek evaluasi, kualitas panggilan dan baterai kehidupan,
dari iPhone (entitas). Sentimen pada kualitas panggilan iPhone
adalah positif, tapi sentimen pada hidup baterai negatif.
Kualitas panggilan dan daya tahan baterai iPhone adalah target
pendapat.

39
sentimen analysis dapat diimplementasikan dalam bentuk aplikasi
yang dapat dimanfaatkan dalam kehidupan sehari-hari kehidupan
sehari-hari misalnya pada media sosial twitter, facebook, instagram
dan lain-lain. pada buku ini sentiment analisys di aplikasikan dan
diimplementasikan pada analsis sentimen ketenagakerjaan bidang
telematika.

A. Implementasi Algoritma Support Vector Mechine (SVM)

Alur pertama dari analisis sentimen ialah mendapatkan data


berupa cuitan atau komentar dengan melakukan crawling data. Dalam
pengambilan data-data twitter untuk proses analisis sentimen disini
menggunakan aplikasi web scraper. Pengambilan data tweet
berdasarkan pencarian dengan kata kunci/keyword sesuai dengan
objek yang akan diteliti yaitu ketenagakerjaan dalam bidang
telematika. Data twitter merupakan data yang tidak terstruktur
sehingga diperlukan beberapa tahapan untuk membuat data menjadi
terstruktur seperti tahapan text preprocessing.
Hasil preprocessing data dilanjutkan dengan metode data
mining Support Vector Machine (SVM) yang bertujuan untuk
menganalisis sentimen apakah yang didapatkan dalam data tweet atau
komentar masyarakat dari media sosial twitter. Data yang telah
dikumpulkan dari media sosial twitter sebanyak 1.500 data yang
kemudian data tersebut akan diolah selanjutnya agar mendapatkan
sebuah pengetahuan baru.

40
Setelah melalui proses preprocessing, selanjutnya akan
dilakukan analisis sentimen untuk pelabelan data. Proses pelabelan
data dilakukan secara otomatis oleh kamus lexicon dengan cara
menghitung skor sentimen. Pembobotan kata dilakukan dengan
menghitung frekuensi kemunculan kata pada sebuah dokumen teks.
Semakin sering sebuah kata muncul pada sebuah dokumen teks, maka
bobot kata tersebut semakin besar dan kata tersebut dianggap sebagai
kata yang sangat merepresentasikan dokumen teks tersebut (Yates
dan Neto, 1999 dikutip dalam Basnur, 2009).
Pada umumnya, analisis sentimen digunakan untuk
melakukan klasifikasi (pelabelan) dokumen teks ke dalam tiga kelas
sentimen, yaitu sentimen positif, negatif dan netral. Cara menentukan
kelas sentimen adalah dengan menghitung skor jumlah kata positif
dikurangi skor jumlah kata negatif dalam setiap kalimat ulasan
(Susanti, 2016). Kalimat yang memiliki skor > 0 akan
diklasifikasikan ke dalam kelas positif, kalimat yang memiliki skor =
0 akan diklasifikasikan ke dalam kelas netral, sedangkan kalimat yang
memiliki skor < 0 diklasifikasikan ke dalam kelas negatif.
Hal yang perlu diperhatikan dalam pencarian informasi
dari koleksi dokumen yang heterogen adalah pembobotan kata.
Pembobotan kata bertujuan untuk memberikan bobot pada fitur kata
berdasarkan frekuensi kemunculan kata. Fitur kata yang telah diberi
bobot dapat digunakan untuk proses klasifikasi.

41
Dalam perhitungan bobot menggunakan TF-IDF, dihitung
terlebih dahulu nilai TF perkata dengan bobot masing-masing kata
adalah 1. Sedangkan nilai IDF diformulasikan pada persamaan 2.
dimana IDF (word) adalah nilai IDF dari setiap kata yang akan di cari,
td adalah jumlah keseluruhan dokumen yang ada, df jumlah
kemuculan kata pada semua dokumen. Setelah mendapat nilai TF dan
IDF, maka untuk mendapatkan bobot akhir dari TF-IDF
diformulasikan pada persamaan 1 dimana w (wordi) adalah nilai
bobot dari setiap kata, TF (wordi) adalah hasil perhitungan dari TF.
IDFi adalah hasil dari perhitungan IDF. Pada gambar 9 berikut
merupakan proses perhitungan bobot menggunakan metode TF-IDF:

mulai

Term

Hitung Jumlah Kemuncuan Term Setiap Dokumen

TF

Jumlahkan Setiap Kemunculan Kata yang sama pada semua dokumen

DF

Hitung Jumlah Dokumen

IDF=DF/D

IDF

Proses Pembobotan W=TF*IDF

Bobot Term (W)

Selesai

Gambar 13 Diagram Alir TF-IDF

42
Proses Mining Menggunanakan SVM
Support Vector Machine (SVM) merupakan salah satu
metode klasifikasi dengan menggunakan machine learning
(supervised learning) yang memprediksi kelas berdasarkan model
atau pola dari hasil proses training. Dengan melakukan training
menggunakan data inputan dalam bentuk numerik dan pembobotan
dengan TF-IDF akan didapatkan sebuah pola yang nantinya akan
digunakan dalam proses pelabelan yang digunakan dalam proses
analisis data tweet dan komentar Ketenagakerjaan Bidang Telematika
untuk mengetahui sentimen yang ada nantinya akan diklasifikasikan
ke dalam 3 kategori kelas yang berbeda yaitu kelas sentimen positif,
negatif dan netral yang dihasikan dan diaplikasikan pada bahasa
pemrograman python dengan menggunakan jupyter notebook.
Berikut flowchart Analisis Sentimen Ketenagakerjaan Bidang
Telematika menggunakan algoritma Support Vector Machine:
Mulai

Pembagian Set Data


Pengumpulan Data
Latih dan Data Uji

Case Folding Pembobotan TF-IDF

Klasifikasi Data dengan


Tokenisasi
Support Vector Machine
Stopword

Pengukuran Keakurasian
Filtering
Model

Stemming Visualisasi Hasil Analisis


Corpus Positif Sentimen
Dan Negatif

Pelabelan Data Selesai

Gambar 14 Flowchart Program

43
Penjelasan dari tahapan-tahapan kerja alur sistem adalah
sebagai berikut:
1. Tahapan pertama yaitu adalah scraping yang merupakan
tahapan dari proses pengumpulan data-data yang dibutuhkan
dalam penelitian ini .
2. Data yang telah dikumpulkan dilakukan proses pre-
processing dengan meliputi tahapan case folding, tokenisasi,
filtering, dan stemming.
4. Setelah data dibersihkan, data diberikan label kelas sentimen
dengan membaca kamus lexicon positif dan negatif.
5. Sesudah itu data diproses dengan membagi data latih dan
juga data uji untuk selanjutnya dilakukan tahap pembobotan
kata dengan TF-IDF.
6. Data yang telah memiliki bobot diklasifikasikan dengan
menggunakan metode Support Vector Machine (SVM).
7. dan Kemudian proses terakhir adalah memvisualisasikan
hasil dari klasifikasi tersebut mempergunakan grafik
perbandingan sentimen dan wordcloud. lalu selanjutnya
dilakukan pengujian model.

Pengklasifikasikan sentimen pada data tweet dan komentar


tentang Ketenagakerjaan Bidang Telematika ditwitter dengan metode
klasifikasi Support Vector Machine (SVM). Alasan penggunaan
Support Vector Machine diantaranya ialah dimana SVM cocok untuk
mengatasi data yang berdimensi banyak. Dengan mengoptimalkan
fitur yang digunakan pada SVM, dapat mengurangi beban kerja

44
namun, tetap memberikan hasil yang optimal, I Made Budi Surya
Darma et. al(2018). Dengan metode data mining yang bersifat tanpa
arahan yang akan di implementasikan terhadap data tweet dan
komentar yang mana telah diproses pada tahap sebelumnya untuk
mendapatkan hasil yang akurat.
Hasil dari implementasi proses Support Vector Machine dan
menjadi sebuah pengetahuan dimana apakah data tweet dan komentar
tentang Ketenagakerjaan Bidang Telematika dimedia sosial tersebut
termasuk kepada sentimen positif, netral atau negatif serta
memprediksi berapa scor accuracy dengan menggunakan metode
Support Vector Machine (SVM). Berikut proses data Support Vector
Machine dengan menggunakan 10 data tweet yang telah diberikan
bobot dengan TF-IDF :

Data Perhitungan Pada Proses Support Vector Machine


(SVM).
1. Memasukkan data latih untuk diolah ke tahap selanjutnya.
Tabel 1 Data Latih

Data 1 2 3 4 5 6 7 8 10 9

1. 0.397 0.397 0.397 0.397 0 0 0 0 0 0

2. 0.698 0 0 0.698 0 0 0 0 0 0

3. 0.522 0 0 0.522 0.522 0 0 0 0 0

4. 0 0 0 0 0 0 0 0 0 0

5. 0 0 0 0 0 0 0 0 0 0

: : : : : : : : : : :

54. 0 0 0 0 0 0 0 0 1 0

45
5
5. 0 0 0 0 0 0 01 0 0

2. Menginisiasi awal untuk nilai , C, epilson, gamma dan


lambda
= 0, C = 1, epilson = 0.001, gamma = 0.5, lambda = 0.5

3. Menentukan dot product setiap data dengan memasukkan


fungsi kernel (K).
Fungsi kernel digunakan adalah fungsi kernel linier. Sebelumnya
data di transpose karena menggunakan perkalian matriks A
x AT.
Pada metode kernel, data tidak dipresntasikan secara individual,
melainkan lewat perbandingan antata sepasang data. Setiap
data akan dibandingkan dengan dirinya dan data lainnya.

4. Menghitung matriks, mencari nilai error dan menghitung


deltha alpha.
Contoh perhitungan matriks untuk pasangan data 1 dan 1:
Dij = (1) (1) (1.484 + 0.52)
= 1.734
= 0.5

5. Mencari nilai bias (b):


1
b = - (< 𝑤
⃗⃗ ∙ 𝑥 -1 >) + (< 𝑤
⃗⃗ ∙ 𝑥 -1 >)
2

46
1
Maka nilai b = b = - (w x+ + w x-) = -4.516
2

Sebenarnya perhitungan diatas belum bisa digunakan untuk fungsi


keputusan karena iterasi harus diteruskan. Perhitungan
dibawah ini hanya untuk contoh perhitungan dengan fungsi
keputusan.
6. Setelah mendapatkan nilai , w, b, maka dapat dilakukan
pengujian dengan contoh 4 data uji yang telah diberikan
bobot sebagai berikut :

Tabel 2 Contoh Data Uji Yang Telah Diberikan Bobot.

Data 1 2 3 .... 28 29

11. 0 0 0.602 .... 0 0

12. 0 0 0 .... 0 0

13. 0 0 0 .... 0 0

14. 0 0 0 .... 0.602 0.602


Langkah pertama untuk menguji adalah menghitung dot
product antara data uji dengan semua data latih dengan fungsi kernel.
K(x,y) = x,y
Dimana x adalah data uji dan y adalah semua data latih.
Data ke 11 : k(xi, x) = (11,1) = (0 x 0.397) + (0 x 0.698) +
(0.602 x 0.522)+ (0.602 x 0) + (-0.096 x 0) + (0 x 0.522) + (0 x 0) +
(0 x 0.301) + (0 x 0.397) + (0 x 0.698) + (0 x 0) + (0 x 0) + (0 x 0) +
(0 x 0) + (0 x 0) + (0 x 0) + (0 x 0) + (0 x 0) + (0 x 0) + (0 x 0) + (0 x
0) + (0 x 0) + (0 x 0) + (0 x 0) + (0 x 0) + (0 x 0) + (0 x 0) + (0 x 0) +
(0 x 0) + (0 x 0) = 0.314

47
Begitu seterusnya untuk semua data latih maka didapatkan
dot product data uji sebagai berikut:

Tabel 3 Hasil Perhitungan Dot Product data Uji dengan Data Latih.
Kelas
Data 1 2 3 .... 9 10 Target
11. 0.314 0 0 .... .... .... Positif
12. 1.153 1.937 2.413 .... .... .... Positif
13. 0 0 0 .... .... .... Positif
14. 0 0 0 .... .... .... Negatif
Selanjutnya dilakukan perhitungan fungsi keputusan pada
persamaan....................(5).

Data ke 11:
f(x) = sign ((1 x (1x0.314) – (-4.156) + ((1 x (1x0) – (-4.156)
+ ((1 x (1x0) – (-4.156) + ((1 x (1x0.314) – (-4.156) + ((1 x (1x0.314)
– (-4.156) + ((1 x (1x0) – (-4.156) + ((1 x (1x0) – (-4.156) + ((1 x
(0x0) – (-4.156) + ((1 x (1x0) – (-4.156) + ((1 x (1x0) – (-4.156) =
sign (42.502) = 1 (Kelas Positif).
Data ke 12:
f(x) = sign ((1 x (1x1.153) – (-4.156) + ((1 x (1x1.937) – (-
4.156) + ((1 x (1x2.413) – (-4.156) + ((1 x (1x0.733) – (-4.156) + ((1
x (1x0) – (-4.156) + ((1 x (1x0.676) – (-4.156) + ((1 x (1x0.522) – (-
4.156) + ((1 x (1x0.478) – (-4.156) + ((1 x (1x0) – (-4.156) + ((1 x
(1x0) – (-4.156) = sign (49.472) = 1 (Kelas Positif).

48
Setelah dihitung menggunakan fungsi perhitungan, maka
hasil diurutkan untuk menentukan kelas sentimen. Berdasarkan
keempat data uji diatas, dokumen dengan kondisi D>0 maka termasuk
sentimen positif sedangkan dokumen D<0 maka termasuk sentimen
negatif dan jika D=0 maka termasuk dalam sentimen netral.

B. Tahapan Pembuatan Aplikasi Analisis Sentimen


Ketenagakerjaan Bidang Telematika

Langkah 1 : Pemasangan Perangkat Lunak yang dibutuhkan

1.1 Memasang Anaconda 3 Navigator


1. Download Anaconda dengan mengunjungi websitenya lalu pilih
installer yang sesuai dengan platform anda (Windows, OSX, atau
Linux),

2. Klik ganda pada file installer Anaconda yang sudah di download.


3. Klik next dan pilih I Agree.

49
4. Pilih salah satu untuk siapa Anaconda ini diinstall dan yang
menggunakan nantinya lalu klik next,

50
5. Tentukan lokasi untuk menginstall Anaconda,

6. Lalu pada langkah Advance Installation Options, terdapat beberapa


pilihan yaitu jika ingin menggunakan Anaconda melewati command
prompt (git bash, cmder, powershell, dll) bisa centang di bagian box
“Add Anaconda to my Path eniroment variable”. Dengan arti singkat,
ketika mencentang box tersebut, maka secara otomatis Anaconda
akan membuat “Path” sendiri di Environment Variables. Jika tidak
bisa dibiarkan kosongkan lanjut install,

51
7. Jika sudah selesai/complete install pilih next dan akan muncul
Microsoft VSCode, bisa diinstall jika mau (Opsional) atau skip untuk
melewati tahap ini,

52
8. Gambar dibawah adalah tampilan jika instalasi sudah selesai dan
bisa dilanjutkan dengan klik finish,

53
9. Langkah selanjutnya adalah mengecek apakah Anaconda sudah
berhasil terinstall di komputer dengan cara mencari Anaconda di Start
Menu,

10. Buka Anaconda Prompt dan coba untuk mengecek versi


Anaconda Python yang dipakai,

11. Buka Anaconda Navigator untuk mengecek fitur – fitur atau


aplikasi yang ada pada Distribusi Anaconda.

54
1.2 Memasang Web Scraper Extension
1. Buka chrome web store di Google Chrome,

2. Pada pencarian ketikan web scraper lalu tambahkan apps web


scraper ke chrome,

55
3. Web Scraper Extension sudah otomatis terintegrasi dengan
chrome.
1.3 Memasang Package/Module Pada Python
Selain paket yang sudah terinstal saat instalasi Python, user dapat
menginstal sendiri paket yang diinginkan dari internet. Pada
pembuatan Analisis Sentimen, paket yang digunakan seperti contoh
pip install matplotlib. Install paket dengan menggunakan program pip
yang menjadi bawaan Python. Berikut ini contoh untuk menginstal
paket matplotlib dengan mudah menggunakan pip.

1. Buka cmd kemudian cd / change directory (Sesuai dengan


direktori pip)

56
2. kemudian ketik pip install nama_package tunggu proses
instalasi sampai selesai. Pada contoh ini pip install
matplotlib. Jika sudah berhasil lakukan kembali untuk
install beautifulsoup4

1.4 Memasang Apache Solr


User dengan bebas menginstal Apache Solr di sistem apa pun
dengan persyaratan sistem minimum dan Java yang sesuai. Solr saat
ini mendukung sistem operasi Linux, MacOS / OS X, dan Microsoft
Windows. Instalasi Solr 7.x.x terbaru membutuhkan Java 8+.
1. Unduh versi Apache Solr terbaru dari situs web resmi. Pada
pembuatan Analisis Sentimen ini apache solr yang digunakan
adalah 7.3.0.

57
2. Ekstrak solr-7.3.0.zip ke folder, maka Anda dapat melihat
direktori berikut.

3. Masuk ke direktori bin dari command prompt dan jalankan


perintah untuk memulai Solr.

4. Akses Apache Solr dari browser web dengan membuka link


http://localhost: 8983/solr.

58
Ini adalah dashboard Solr, user dapat melihat banyak detail
konfigurasi default seperti versi solr-spec, detail JVM, prosesor,
fisik, memori tumpukan yang ditempati oleh solr dan lain-lain.
1.5 Memasang Banana Dashboard
1. Download file Banana Dashboard pada
https://github.com/lucidworks/banana,
2. Buka folder webapp dalam instance Solr Anda yang ada,

59
3. Ekstrak dan salin folder banana dashboard yang sudah di
download ke Solr_Home/solr-7.3.0/server/solr-
webapp/webapp,
4. Jalankan Solr untuk melihat direktori webapp/banana-
release,

5. Jelajahi ke http://localhost:8983/solr/banana-
release/src/index.html.

Langkah 2 : Proses Pengambilan data ditwitter dengan Web


Scraper

1. Buka Google Chrome lalu klik kanan pilih inspect,


2. Pilih web scraper :
- klik Create new sitemap
- import sitemap dengan
memasukan kode json
dalam link :
https://gist.github.com/scra

60
pehero/d0305d8d15b0e447
dcefdf548a9846e9

3. Buka link berikut untuk mengambil data dari twitter dengan


menentukan key pencarian sesuai objek yang akan diteliti
https://twitter.com/search-advanced

4. Kemudian copy link berikut untuk proses pengambilan data


dari twitter,

5. Klik sitemap twitter-search lalu klit edit metadata


kemudian copykan link tadi lalu save,
6. Selanjutnya klik scrape pada sitemap twitter-search lalu
klik start scraping tunggu sampai selesai scraping data,
7. Kemudian export data as CSV,

61
8. Data hasil scraping otomatis tersimpan dalam folder yang
telah ditentukan.

Langkah 3 : Petunjuk Masuk Ke Aplikasi Jupyter Notebook

Untuk menggunakan Jupyter Notebook, pertama perlu


masuk melalui aplikasi Anaconda Prompt. Berikut merupakan cara
masuk ke Jupyter Notebook melalui Anaconda Prompt.

➢ Masuk Ke Aplikasi

Buka aplikasi Anaconda Prompt (Anaconda3), seperti gambar di


bawah ini.

Setelah itu ketik dimana lokasi file jupyter notebook, yang sudah
dibuat sebelumnya

• C:

62
• Cd ape

• Jupyter Notebook

Secara otomatis aplikasi jupyter notebook langsung di buka


di Google Chrome untuk digunakan seperti gambar di bawah ini.

Langkah 4 : Proses Pre-processing data

Import library – library seperti berikut : - import nltk


- import
pandas as
pd
- import
xlsxwriter

Berikut merupakan gambar coude untuk proses preprocessing :

63
Langkah 5 : Proses pelabelan data dengan Rstudio

Buka Rstudio lalu masukan coude seperti dibawah ini dengan


mengintsall package-package seperti :

#pengolahan data--------------------------------------------------
1. install.packages('httr')
2. install.packages('twitteR')
3. install.packages('ROAuth')
4. install.packages("twitteR")
5. install.packages("plyr")
6. install.packages("stringr")
7. install.packages("ggplot2")

#pemangilan library
8. library(httr)
9. library(ROAuth)
10. library(twitteR)
11. library(plyr)
12. library(stringr)

64
13. library(ggplot2)
14. library(tm)
15. library(SnowballC)

Berikut merupakan coude untuk pelabelan data dengan


menggunakan kamus positip dan negatif :

Berikut merupakan gambar hasil pelabelan data :

Langkah 5 : Proses Analisis Data

Install library-library yang dibutuhkan seperti dibawah ini :

- import pandas as pd
- import numpy as np

65
- import - import
matplotlib.pyplot as model_selection
plt - import seaborn as
- import sns
train_test_split
Lalu data yangtelah dilakukan preprocessing akan dianalisis
dimasukkan ke dalam jupyter notebook seperti dibawah ini :

1. Implementasi Proses Pembagian Data Latih dan Data Uji


Berikut source code untuk proses pembagian data latih dan data
uji.

66
2. Implementasi Proses Pembobotan Kata Dengan Term
Frequency-Inverse Document Frequency (TF-IDF)
Berikut ini merupakan source code untuk proses pembobotan
kata dengan menggunakan TF-IDF.

3. Implementasi Proses dengan Metode Support Vector Machine


(SVM)
Berikut merupakan source code untuk proses dengan
menggunakan metode support vector machine.

67
4. Implementasi Proses Pengujian dengan Confusion Matrix
Berikut merupakan source code untuk proses pengujian dengan
menggunakan Confusion Matrix.

Langkah 6. Import data di Apache Solr

1. Masuk Ke CMD lalu ketikan seperti pada dibawah ini, dimana


memanggil lokasi solr itu berada,

2. Kemudian masuk ke solr dengan mengetikan,

3. Lalu masuk ke chrome dengan link http://localhost:8983/solr/ ,


dan akan muncul seperti pada dibawah ini,

68
4. Selanjutnya buat core pada apache solr,

5. Setelah itu dilakukan import data dengan data yang telah


dilakukan analisis dalam format .csv , lalu setelah data dimasukan
klik submit document,

6. Data yang sudah diimport ke apache solr dapat dilihat pada query
pada core yang telah dibuat.

69
Langkah 7. Visualisasi dengan Banana Dashboard

1. Masuk ke link http://localhost:8983/solr/banana-


release/src/index.html#/dashboard

2. Lalu Membuat dashboad sesuai dengan data yang dimiliki,

3. Kemudian Membuat row untuk menampilkan hasil visualisasi,

5. Kemudian pilih “add panel” dan pilih panel berbagai type


sesuai kebutuhan untuk visualisasi data,

70
6. Isi Title sesuai dengan field yang akan divisualisasikan,
tentukan length dan span sesuai dengan kebutuhan. Pada
tahap ini dapat ditentukan tipe diagram yang akan
digunakan (diagram batang, diagram lingkaran, dan tabel),
kemudian klik “add panel”,

7. Berikut Hasil Visualisasi Analisis Sentimen dengan


Menggunakan Beberapa Panel yang ada pada banana
dashboard.

71
BAB 7
TOPIC MINING

Topic mining adalah algoritma untuk menemukan topik dari


sekumpulan dokumen yang besar (Blei & Lafferty, 2009). Topic
mining tersusun dari beberapa komponen yakni, “kata-kata,”
“dokumen,” dan “corpora.” Kata merupakan unit dasar dari data
diskrit dalam dokumen yang mana setiap kata tersebut memiliki
indeks sebagai identifier. Dokumen merupakan susunan N kata-kata.
Sedangkan corpora merupakan bentuk jamak dari korpus. Korpus
yakni kumpulan M dokumen. Secara sederhana, setiap dokumen
dalam korpus mempunyai topik-topik yang dibahas berdasarkan kata-
kata yang terkandung di dalamnya (Blei et al, 2003)

A. Implementasi Algoritma Lda (Laten Direchlet Allocation)

Algoritma Latent Dirichlet Allocation merupakan algoritma


yang banyak digunakan pada topic mining dan digunakan dalam
proses analisis data berita dan di aplikasikan dalam machine learning
dengan bahasa pemograman python pada aplikasi Jupyter Notebook.
Berikut flowchart Analisa data berita menggunakan LDA pada
Jupyter Notebook yang dapat dilihat pada gambar 4.

72
Start

Data Berita format Membuat Bigram Membuat Topic


.xlsx dan Trigram Models Mining

Import Data Berita Visualisasi Topic


.xlsx ke Jupyter Membuat Dictionary Mining dalam bentuk
Notebook Wordcloud

Visualisasi Topic
Preprocessing Membuat Corpus
Mining dalam bentuk
Grafik

End

Gambar 15 Flowchart Analisa Algoritma LDA pada Jupyter Notebook

Implementasi Algoritma Latent Dirichlet Allocation


Berikut merupakan penjelasan dari flowchart analisis
algoritma LDA pada Jupyter Notebook.
1. Masukan data berita dengan format .xlsx
2. Preprocessing, dengan tahapan berikut :
a. Lower Casing : mengubah semua karakter pada
teks menjadi huruf kecil.
b. Remove Punctuation : menghapus tanda baca.

73
c. Stopword Removal : penghapusan kata yang sering
muncul namun tidak memiliki makna
d. Tokenizing : proses memisah atau memecah
kalimat menjadi potongan–potongan seperti kata–
kata berdasarkan tiap kata yang menyusunnya.
3. Proses pengelompokan data berita dengan algoritma LDA
yaitu :
a. Membuat Bigram dan Trigram models
b. Membuat Dictionary
c. Membuat Corpus
d. Membangun Topic Mining
e. Hasil Visualisasi Topic Mining dalam bentuk
Wordcloud
f. Hasil Visualisasi Topic Mining dalam bentuk
Grafik
4. Selesai

B. Tahapan Pembuatan Aplikasi Topic Mining

Langkah 1 : Pemasangan Perangkat Lunak yang dibutuhkan


1.1 Memasang Anaconda 3 Navigator
1. Download Anaconda dengan mengunjungi websitenya lalu
pilih installer yang sesuai dengan platform anda (Windows,
OSX, atau Linux)

74
2. Klik ganda pada file installer Anaconda yang sudah di
download.
3. Klik next dan pilih I Agree.

4. Pilih salah satu untuk siapa Anaconda ini diinstall dan yang
menggunakan nantinya lalu klik next.

75
5. Tentukan lokasi untuk menginstall Anaconda.

6. Lalu pada langkah Advance Installation Options, terdapat


beberapa pilihan yaitu jika ingin menggunakan Anaconda
melewati command prompt (git bash, cmder, powershell,
dll) bisa centang di bagian box “Add Anaconda to my Path
eniroment variable”. Dengan arti singkat, ketika mencentang
box tersebut, maka secara otomatis Anaconda akan
membuat “Path” sendiri di Environment Variables. Jika
tidak bisa dibiarkan kosongkan lanjut install.

76
7. Jika sudah selesai/complete install pilih next dan akan
muncul Microsoft VSCode, bisa diinstall jika mau
(Opsional) atau skip untuk melewati tahap ini.

77
8. Gambar dibawah adalah tampilan jika instalasi sudah selesai
dan bisa dilanjutkan dengan klik finish.

9. Langkah selanjutnya adalah mengecek apakah Anaconda


sudah berhasil terinstall di komputer dengan cara mencari
Anaconda di Start Menu.

78
10. Buka Anaconda Prompt dan coba untuk mengecek versi
Anaconda Python yang dipakai.

79
11. Buka Anaconda Navigator untuk mengecek fitur – fitur atau
aplikasi yang ada pada Distribusi Anaconda.

1.2 Memasang Anaconda 3 Navigator


1. Buka chrome web store di Google Chrome

80
2. Pada pencarian ketikan web scraper lalu tambahkan apps
web scraper ke google chrome.

Langkah 2 : Proses Pengambilan data berita dengan Web


Scraper
9. Buka Google Chrome lalu klik kanan pilih inspect atau tekan
f12.
10. Pilih web scraper :
11. klik Create new sitemap, lalu masukan nama situs berita dan
link yang akan di scrapping. Seperti dibawah ini.

81
12. Selanjutnya Klik Add New Selector, lalu isi atribut yang
diperlukan untuk dicari, disini saya akan membuat atribut
judul untuk mengambil semua judul yang ada disitus berita
tersebut berdasarkan link yang sudah ditentukan
sebelumnya. Jika sudah membuat atribut judul, jika ingin
menambah atribut lain, ulangi langkah seperti ini untuk
membuat atribut tanggal dan isi berita.

13. Jika sudah membuat semua atribut maka kita cek apakah
atribut itu terhubung satu sama lain, dengan mengecek di
Selector Grap seperti dibawah ini.

14. Selanjutnya klik Scrape pada Sitemap kompas lalu klik


Start Scraping untuk memulai scarapping data.

82
15. Setelah proses scrape selesai maka akan tampil seperti
dibawah ini, lalu hasil scrape ini di simpan dalam bentuk
excel dengan mengklik Export Data as CSV.

Langkah 3 : Petunjuk Masuk Ke Aplikasi Jupyter Notebook

Untuk menggunakan Jupyter Notebook, pertama perlu


masuk melalui aplikasi Anaconda Prompt. Berikut merupakan cara
masuk ke Jupyter Notebook melalui Anaconda Prompt.

1. Masuk Ke Aplikasi

Buka aplikasi Anaconda Prompt (Anaconda3), seperti gambar di


bawah ini.

83
Setelah itu ketik dimana lokasi file jupyter notebook, yang sudah
dibuat sebelumnya

• D:

• Cd Topic Mining

• Jupyter Notebook

Secara otomatis aplikasi jupyter notebook langsung di buka


di Mozilla firefox untuk digunakan seperti gambar di bawah ini.

84
2. Contoh implementasi menggunakan 660 data berita. Berikut
adalah data berita yang dapat dilihat dibawah ini.

3. Import data berita ke dalam jupyter notebook yang


merupakan tahapan awal untuk melakukan proses analisa
dengan format file .xlsx. Berikut adalah tahapan proses
import data yang dapat dilihat dibawah ini.

4. Setelah melakukan import data, install module python yang


diperlukan dalam pembuatan sistem, seperti pandas, gensim,
matplotlib.pyplot, wordcloud, warnings, nltk dan lain -lain.

85
Berikut contoh code untuk menginstall salah satu module di
python yang dapat dilihat dibawah ini.

5. Tahapan selanjutnya yaitu tahap preprocessing di jupyter


notebook agar membersihkan kata – kata yang tidak perlu
atau kata – kata yang tidak memiliki makna serta membuang
semua tanda baca pada data berita dan mengubahnya
menjadi huruf kecil. Data yang sudah melewati tahap
preprocessing akan disampan kembali dalam bentuk
file .xlsx dengan nama clean-data.xlsx. Berikut code
preprocessing data berita pada jupyter notebook yang dapat
dilihat dibawah ini.

86
6. Membuat Bigram dan Trigram models. Bigram adalah dua
kata yang sering muncul bersama dalam dokumen. Trigram
adalah tiga kata yang sering muncul. Berikut code membuat
bigram dan trigram models pada jupyter notebook yang
dapat dilihat dibawah ini.

7. Membuat Dictionary untuk menetapkan id kata unik untuk


setiap kata unik. Berikut code membuat dictionary pada
jupyter notebook yang dapat dilihat dibawah ini.

8. Membuat Corpus untuk setiap dokumen berapa kali sebuah


kata tertentu muncul. Berikut code membuat corpus pada
jupyter notebook yang dapat dilihat dibawah ini.

87
9. Membangun Topic Mining dengan menntukan jumlah topik,
alpha, dan iterasi. Berikut code untuk membangun topic
mining dengan metode LDA pada jupyter notebook yang
dapat dilihat dibawah ini.

10. Membuat hasil visualisasi Topic Mining dalam bentuk


Wordcloud. Berikut code membuat wordcloud pada jupyter
notebook yang dapat dilihat dibawah ini.

11. Membuat hasil visualisasi Topic Mining dalam bentuk


Grafik. Berikut code membuat grafik pada jupyter notebook
yang dapat dilihat dibawah ini.

12. Untuk menampilkan hasil dalam bentuk dashboard, maka


perlu install jupyter dashboard di jupyter notebook. Berikut

88
merupakan code untuk menginstall jupyter dashboard yang
dapat dilihat dibawah ini.

13. Setelah install jupyter dashboard, secara otomatis maka di


jupyter notebook akan ada tools jupyter dashboard yang bisa
dijalankan, maka klik dashboard preview di menu bar view
> dashboard preview atau bisa dengan mengklik tool di
toolbar seperti gambar di bawah ini.

14. Maka tampilan akan seperti dibawah ini.

15. HASIL TOPIC MINING PERTAHUN


• Hasil topic mining berupa visualisasi grafik dan
wordcloud pada tahun 2017.

89
• Hasil topic mining berupa visualisasi grafik dan
wordcloud pada tahun 2018.

• Hasil topic mining berupa visualisasi grafik dan


wordcloud pada tahun 2019.

90
BAB 8
CLUSTERING

Clustering merupakan sebuah teknik dalam data mining


yang berfungsi untuk mengelompokan data (grouping) berdasarkan
kemiripanya ke dalam klaster. Setiap klaster memiliki sekumpulan
data yang mirip dengan data lain dalam satu klaster, tetapi tidak mirip
dengan data pada klaster lainya (Han, 2012).

Tujuan pekerjaan pengelompokan (clustering) data dapat


dibedakan menjadi dua, yaitu pengelompokan untuk pemahaman dan
pengelompokan untuk penggunaan. Jika tujuannya untuk
pemahaman, kelompok yang terbentuk harus menangkap struktur
alami data. Sementara jika untuk penggunaan, tujuan utama
pengelompokan biasanya adalah mencari prototipe kelompok yang
paling representif terhadap data, memberikan abstraksi dari setiap
objek data dalam kelompok dimana sebuah data terletak didalamnya
(Prasetyo, 2012).

A. Implementasi K -Means Pada Clustering


Dataset diolah ke dalam proses mining menggunakan bahasa
pemrograman python. Proses ini menggunakan metode algoritma K-
Means++ untuk klasterisasi yang akan mengelompokkan data
menjadi beberapa klaster. Hasil klasterisasi kemudian akan dianalisis
untuk mengetahui keterkaitannya dengan variabel kendala dan
prospek usaha (rencana pengembangan). Berikut adalah flowchart

91
pemprosesan data menggunakan metode K-Means++ yang ada pada
gambar 2.

Mulai

Menentukan jumlah
cluster

Melakukan inisialisasi
centroid dengan K-
Means++

Menghitung jarak
setiap data ke centroid

Pengelompokkan data

Menghitung rerata tidak

centroid dengan
keanggotaan yang baru

Centroid
tetap?

ya

Selesai

Gambar 16 Flowchart Pemprosesan Data menggunakan Metode K-


Means++

Implementasi Metode K-Means++

Berikut merupakan penjelasan dari flowchart pemprosesan


data menggunakan metode K-Means++ untuk clustering pemetaan
tenaga kerja sektor telematika.

92
1. Menentukan jumlah cluster yang ingin dibentuk pada proses
klasterisasi.
2. Melakukan inisialisasi centroid atau pusat cluster dengan K-
Means++. Inisialisasi K-Means dilakukan dengan cara memilih
centroid pertama secara acak. Lalu menghitung euclidean
distance dan D2 weighting. Kumulatifkan nilai D2 weighting dari
atas dan tentukan nilai acak untuk memilih centroid selanjutnya.
Lakukan kembali sampai semua centroid awal sudah ditentukan.
3. Menghitung jarak setiap data ke pusat cluster (centroid) dengan
persamaan euclidean distance.
4. Melakukan pengelompokkan data dengan menentukan
keanggotan cluster.
5. Menghitung pusat cluster (centroid) yang baru dengan
keanggotaan yang sekarang.
6. Jika centroid berubah atau tidak sama dengan yang sebelumnya,
hitung kembali langkah 3 dengan nilai centroid yang baru
sampai nilai centroid tidak berubah lagi.
7. Jika centroid tetap, maka proses clustering selesai
Berikut adalah contoh implementasi metode K-Means++
terhadap dataset 200 SMK TIK menggunakan python dengan library
scikit-learn.
Gambar 3 memberikan informasi mengenai proses
klasterisasi data SMK TIK se-Jabodetabek. Atribut pada baris 10
tidak disertakan dakam proses klasterisasi karena merupakan
informasi administratif SMK yang tidak berpengaruh dalam
pengelompokkan data. Data kemudian melalui proses scaling dengan

93
MinMaxScaler pada baris 13. Setelah itu, dilanjutkan dengan proses
klasterisasi menggunakan metode K-Means++ pada baris 16 dan 17,
sehingga akan menghasilkan keanggotaan data terhadap cluster.
Nantinya, cluster label akan dimasukkan ke dalam dataset sehingga
diperoleh seperti gambar 4.

Gambar 17 Implementasi Metode K-Means++

Gambar 18 Hasil Run dari Gambar 3

94
Hasil cluster inilah yang akan dianalisis lebih lanjut untuk
diuji keragamannya, dan dianalisis karakterisitiknya pada tiap
kelompok data. Tiap cluster juga akan dianalisis keterkaitannya
dengan variabel kendala dan rencana pengembangan. Selain itu,
persebaran hasil cluster akan divisualisasikan dalam bentuk peta dan
grafik.

B. Tahapan Pembuatan Aplikasi Clustering Metode K-Means


Langkah 1: Pemasangan Perangkat Lunak yang Diperlukan

1.1 Instalasi Anaconda Navigator


• Download Anaconda melalui website resminya
• Pilih installer yang sesuai dengan platform anda (Windows,
OSX, atau Linux). Apabila telah di download, buka file
instalasinya dan tekan next.

95
• Pada form persetujuan Lisensi, tekan I Agree untuk
melanjutkan.

Klik Just Me. Selanjutnya klik tombol Next.

96
• Pilih lokasi yang diinginkan atau bisa dengan default lalu,
klik next.

• Kemudian terdapat pilihan add anaconda to PATH. Pilih jika


dibutuhkan lalu, klik next

97
• Tunggu penginstallan 15 sampai 30 menit.

• Jika ingin menginstal VS Code, klik tombol Install


Microsoft VS Code. Atau untuk menginstal Anaconda tanpa
VS code, klik tombol skip. Memasang VS code dengan
pemasang Anaconda membutuhkan koneksi internet.
Pengguna offline mungkin dapat menemukan pemasang
offline VS Code dari Microsoft.

98
• Instalasi selesai, klik Finish.

• Setelah selesai menginstall aplikasi Anaconda, verifikasi


dengan membuka AnacondaNavigator, dengan cara
membuka search di windows Anaconda navigator. Jika
Navigator terbuka, maka pengistallan Anaconda berhasil

99
1.2 Instalasi Power BI
• Download Power Bi melalui website microsoft. Pilih bahasa
yang ingin digunakan untuk penginstalan Power BI

• Pilih file instaler yang sesuai dengan platform anda lalu klik
Next. Simpan file instalasi di local drive

100
• Run file instalasi

• Klik Accept pada bagian license agreement dan ikuti


instruksi yang ditampilkan untuk menyelesaikan instalasi.

101
• Setelah Power BI berhasil diinstal, aplikasi akan diarahkan
pada welcome screen. Aplikasi siap digunakan.

Langkah 2: Pemasangan Package/Module yang Diperlukan pada


Python

1. Buka Command Prompt dan ubah direktori sesuai dengan


direktori pip. Atau buka terminal Anaconda jika ingin
melakukan instalasi menggunakan conda.

102
2. Install module-module python yang akan digunakan dalam
pembuatan sistem. Ketik pip install nama_package atau conda
install nama_package untuk menginstall package. Tunggu
proses instalasi sampai selesai.

Module yang dibutuhkan pada pembuatan aplikasi ini yaitu:


Flask, flask-mysqldb, wtforms, werkzeug, functools, pandas,
numpy, sklearn, dan plotly.

Langkah 3: Pembuatan Aplikasi

1. Jalankan aplikasi Visual Studio Code.


2. Klik kanan pada folder yang sudah terbuka, lalu klik “New
Folder”. Buat folder “static” untuk menyimpan css atau
bootstrap website, dan folder “template” untuk menyimpan file
html yang akan dibuat.

103
3. Buat file baru diluar folder baru yang telah dibuat, klik “New
File” dan beri nama app.py
4. Import modul-modul yang sudah diinstall pada app.py dengan
mengetik import nama_package.

5. File app.py digunakan sebagai file route. Masukkan script


berikut untuk memanggil file-file html yang telah dibuat.

104
6. Untuk membuat file html, klik kanan pada folder “template”,
kemudian klik “New File”. Isi file html dengan script dari
halaman yang diinginkan.

7. Untuk menjalankan aplikasi flask, buka terminal pada Visual


Studio. Ketikkan python nama_file_route dan tunggu sampai
aplikasi berhasil di running.

105
8. Jalankan http://127.0.0.1:5000/ atau tekan CTRL + klik link
yang muncul pada terminal untuk menuju ke aplikasi yang telah
dibuat.

Langkah 4: Pembuatan Visualisasi menggunakan Power BI

1. Jalankan aplikasi Power BI Desktop.


2. Klik “Get Data” untuk mengambil data yang ingin digunakan.
Klik sumber file data yang diinginkan (pada aplikasi ini
menggunakan MySQL database), lalu klik connect.

106
3. Masukkan nama server dan nama database yang ingin
digunakan, lalu klik “OK”

4. Pilih tabel-tabel yang ingin digunakan dari database, lalu klik


“Load”. Tunggu sampai proses load data selesai dan data siap
digunakan.

107
5. Pilih grafik yang ingin dibuat dengan mengklik salah satu ikon
chart yang ada pada panel “Visualizations”. Lalu isi axis, value,
ataupun legend dengan data dari tabel database.

6. Setelah tampilan report selesai dibuat, publish hasil report ke


Power BI Service, klik ikon “Publish” pada menu Home.

108
7. Pilih destinasi workspace yang diinginkan, lalu klik “Select”

8. Report berhasil di publish ke Power Bi Service. Klik “Open


‘namareport.pbix’ in Power BI untuk membuka report yang
sudah terpublish.

9. Untuk mempublish report visualisasi ke web , klik “File” lalu


pilih “Publish to web”

109
10. Report berhasil dipublish dan Power BI akan memberikan
embed code dari report yang bisa dibagikan.

11. Masukkan html code dari Power BI ke dalam halaman


web/aplikasi yang sudah dibuat.

110
12. Visualization Report menggunakan Power BI berhasil
dipublish ke web

111
BAB 9
PIPELINE DAN DATALAKE

Pipeline adalah satu set dari elemen data yang dihubungkan


secara seri, sehingga hasil output dari satu elemen adalah inputan bagi
elemen berikutnya. Elemen-elemen dari sebuah pipeline sering
dijalankan secara parallel. Konsep pipeline dalam kehidupan sehari-
hari diumpamakan dalam sebuah perakitan mobil, asumsikan beberpa
langkah di jalur perakitan adalah untuk memasang mesin, memasang
kap dan memasang roda. Sebuah mobil dijalur perakitan hanya satu
dari tiga langkah diatas dapat selesai dalam suatu waktu. Setelah
sebuah mobil dipasang mesinnya mobil tersebut akan berpindah ke
tahap pemasangan kap dan mobil kedua sedang dalam tahap
pemasangan mesin. Setelah mobil pertama selesai memasang kap
mobil pertama masuk ke dalam tahap pemasangan ban, mobil kedua
masuk ke tahap pemasangan kap dan mobil ketiga mulai masuk ke
pemasangan mesin dan begitu seterusnya. Jika pemasangan mesin
butuh waktu 20 menit, pemasangan kap butuh waktu 5 menit dan
pemasangan ban butuh waktu 15 menit, maka jika satu mobil dirakit
dalam satu waktu akan membutuhkan 105 menit. Sedangkan jika
menggunakan jalur perakitan seperti diatas, waktu yang diperlukan
untuk menyelesaikan ketiganya hanya 75 menit (Wikipedia).

Pipeline dalam komputasi dapat digunakan dalam proses


microprocessor. Pada microprocessor yang tidak menggunakan
pipeline , satu instruksi dilakukan sampai selesai, baru instruksi

112
berikutnya dapat dilaksanakan. Sedangkan dalam microprocessor
yang menggunakan teknik pipeline, ketika satu instruksi sedang
diproses, maka instruksi yang berikutnya juga dapat diproses dalam
waktu yang bersamaan. Tetapi, instruksi yang diproses secara
bersamaan ini, ada dalam tahap proses yang berbeda. Jadi, ada
sejumlah tahapan yang akan dilewati oleh sebuah instruksi.

Istilah data lake secara umum telah dicetuskan oleh CTO


Pentaho James Dixon. Dia mendeskripsikan data mart (subset
dari data warehouse) seperti sebotol air, "bersih, terkemas, serta
terstruktur untuk konsumsi yang mudah" sementara data lake lebih
menyerupai air dalam keadaan alaminya. Data mengalir dari sungai
(sistem sumber) hingga ke danau. Pengguna memiliki akses ke danau
untuk memeriksa, mengambil sampel atau bahkan menyelam ke
dalamnya. Walaupun cukup menjawab, tetapi definisi di atas tetap
dianggap tidak terlalu akurat. Semua data dimuat dari sistem sumber,
tidak ada data yang ditolak. Data disimpan dalam bentuk yang tidak
diubah atau hampir tidak berubah. Data ditransformasikan dan
skemanya diaplikasikan untuk memenuhi kebutuhan analisis. Data
lake memiliki konsep untuk melakukan proses olah data yang sangat
besar pada suatu sistem cluster dan dirancang untuk pengembangan
scale out dari satu mesin ke ribuan mesin yang tersebar. Data lake
dibuat untuk mendukung data discovery (untuk menemukan data
tertentu), analisis, investigasi ad hoc, dan pelaporan (Khine, 2015).

113
A. Implementasi Pipeline Dan Datalake

Data yang telah melalui tahap preprocessing harus


berbentuk numerik. Untuk mengubah data tersebut menjadi numerik
yaitu menggunakan metode pembobotan TF-IDF. Metode Term
Frequency Invers Document Frequency (TF-IDF) merupakan metode
yang digunakan menentukan seberapa jauh keterhubungan kata
(term) terhadap dokumen dengan memberikan bobot setiap kata.
Metode TF-IDF ini menggabungkan dua konsep yaitu frekuensi
kemunculan sebuah kata di dalam sebuah dokumen dan inverse
frekuensi dokumen yang mengandung kata tersebut (Fitri, 2013).
Dalam perhitungan bobot menggunakan TF-IDF, dihitung
terlebih dahulu nilai TF perkata dengan bobot masing-masing kata
adalah 1. WordIDF adalah nilai IDF dari setiap kata yang akan di cari,
td adalah jumlah keseluruhan dokumen yang ada, df jumlah
kemuculan kata pada semua dokumen. Setelah mendapat nilai TF dan
IDF, maka untuk mendapatkan bobot akhir dari TF-IDF
diformulasikan pada persamaan 1 dimana w (wordi) adalah nilai
bobot dari setiap kata, TF (wordi) adalah hasil perhitungan dari TF.
IDFi adalah hasil dari perhitungan IDF (Bening et al, 2018). Proses
perhitungan bobot menggunakan metode TF-IDF dapat dilihat pada
gambar 4.

114
Mulai Jumlahkah Setiap IDF = D/DF
Kemuculan kata yang sama
pada semua dokumen
Term IDF

DF
Proses Pembobotan (W) = TF
Hitung Jumlah * IDF
Kemunculan Term
Setiap Dokumen Hitung Jumlah Dokumen
Bobot Term
(W)
TF D
Selesai

Gambar 19 Diagram Alir TF-IDF

Implementasi pipeline juga dilakukan dalam proses mining


yang terhubung secara seri. Berikut merupakan penjelasan dari
flowchart pemprosesan data menggunakan metode TF-IDF untuk
analisa tenaga kerja sektor telematika.

1. Setelah kata dipisahkan menjadi beberapa dokumen, maka


hitung jumlah kemunculan term setiap dokumen.
2. Jumlahkan Setiap Kemuculan kata yang sama pada semua
dokumen.
3. Hitung Jumlah Dokumen
4. Kemudian hitung nilai IDF dengan menggunakan rumus pada
persamaan 1.
5. Lakukan proses pembobotan (W) dengan mengkalikan nilai
TF dengan nilai IDF.

115
B. Tahapan Pembuatan Aplikasi P Ipeline Dan Datalake

Langkah 1 : Pemasangan Perangkat Lunak yang dibutuhkan


1.1. Memasang Anaconda Navigator
1. Download Anaconda dengan mengunjungi websitenya, lalu
pilih installer yang sesuai dengan platform anda (Windows,
OSX, atau Linux)

2. Klik ganda pada file installer Anaconda yang sudah di


download.
3. Klik next dan pilih I Agree.

116
4. Pilih salah satu untuk siapa Anaconda ini diinstall dan yang
menggunakan nantinya lalu klik next.

5. Tentukan lokasi untuk menginstall Anaconda.

117
6. Lalu pada langkah Advance Installation Options, terdapat
beberapa pilihan yaitu jika ingin menggunakan Anaconda
melewati command prompt (git bash, cmder, powershell,
dll) bisa centang di bagian box “Add Anaconda to my Path
eniroment variable”. Dengan arti singkat, ketika mencentang
box tersebut, maka secara otomatis Anaconda akan
membuat “Path” sendiri di Environment Variables. Jika
tidak bisa dibiarkan kosongkan lanjut install.

118
7. Jika sudah selesai/complete install pilih next dan akan
muncul Microsoft VSCode, bisa diinstall jika mau
(Opsional) atau skip untuk melewati tahap ini.

119
8. Gambar dibawah adalah tampilan jika instalasi sudah selesai
dan bisa dilanjutkan dengan klik finish.

120
9. Langkah selanjutnya adalah mengecek apakah Anaconda
sudah berhasil terinstall di komputer dengan cara mencari
Anaconda di Start Menu.

10. Buka Anaconda Prompt dan coba untuk mengecek versi


Anaconda Python yang dipakai.

11. Buka Anaconda Navigator untuk mengecek fitur – fitur atau


aplikasi yang ada pada Distribusi Anaconda.

121
1.2. Memasang Apache Solr
User dengan bebas menginstal Apache Solr di sistem apa
pun dengan persyaratan sistem minimum dan Java yang sesuai. Solr
saat ini mendukung sistem operasi Linux, MacOS / OS X, dan
Microsoft Windows. Instalasi Solr 7.x.x terbaru membutuhkan Java
8+.
5. Unduh versi Apache Solr terbaru dari situs web resmi. Pada
pembuatan Datalake ini apache solr yang digunakan adalah
7.3.0.

122
6. Ekstrak solr-7.3.0.zip ke folder, maka Anda dapat melihat
direktori berikut.

7. Masuk ke direktori bin dari command prompt dan jalankan


perintah untuk memulai Solr.

123
8. Akses Apache Solr dari browser web dengan membuka link
http://localhost: 8983/solr

Ini adalah dashboard Solr, user dapat melihat banyak detail


konfigurasi default seperti versi solr-spec, detail JVM,
prosesor, fisik, memori tumpukan yang ditempati oleh solr
dan lain-lain.

1.3. Memasang Banana Dashboard

124
6. Download file Banana Dashboard pada
https://github.com/lucidworks/banana
7. Buka folder webapp dalam instance Solr Anda yang ada

8. Ekstrak dan salin folder banana dashboard yang sudah di


download ke Solr_Home/solr-7.3.0/server/solr-
webapp/webapp
9. Jalankan Solr untuk melihat direktori webapp/banana-
release

10. Jelajahi ke http://localhost:8983/solr/banana-


release/src/index.html
Langkah 2 : Pemasangan Package/Module yang dibutuhkan
Pada Python

125
2.1. Memasang Package/Module Pada Python
Selain paket yang sudah terinstal saat instalasi Python, user dapat
menginstal sendiri paket yang diinginkan dari internet. Pada
pembuatan Datalake Data Crawling Job Posting dari Internet, paket
yang digunakan adalah scrapy, beautifulsoup4 dan pysolr yang
digunakan untuk proses scraping. Install paket dengan menggunakan
program pip yang menjadi bawaan Python. Berikut ini contoh untuk
menginstal paket scrapy dengan mudah menggunakan pip.

3. Buka cmd kemudian cd / change directory (Sesuai dengan


direktori pip)

4. Kemudian ketik pip install nama_package tunggu proses


instalasi sampai selesai. Pada contoh ini pip install scrapy.
Jika sudah berhasil lakukan kembali untuk install
beautifulsoup4

5. Cara cek nya dengan cara Import package tadi import


nama_package (pada contoh: import pandas) pada shell

126
python command. Jika tidak terjadi error berarti proses
import berhasil

Langkah 3 : Pembuatan Datalake Data Crawling Job Posting


dari Internet

5.1. Scraping data lowongan kerja


1. Sebelum memulai melakukan scraping, siapkan proyek
Scrapy baru. Masukkan direktori tempat Anda ingin
menyimpan kode dan jalankan

2. Buka aplikasi spyder pada anaconda navigator dan import


package untuk scraping.

127
3. Deklarasikan alamat website, atribut yang akan di scraping
serta direktori untuk menyimpan data hasil scraping. Setelah
code dibuat simpan python file pada
direktori_project/spiders/name_file.py

4. Setelah file dibuat jalankan file pada command prompt


dengan perintah seperti gambar dibawah

5.2. Import Data kedalam Apache Solr


1. Buat core pada apache solr

128
2. Buka jupyter notebook untuk import data kedalam apache
solr
3. Import package pysolr dan deklarasikan direktori data hasil
scraping

4. Deklarasikan atribut yang akan di input ke solr dan alamat


apache solr

5. Data yang sudah diimport ke apache solr dapat dilihat pada


query dalam core yang sudah dibuat

129
5.3. Membangun Data Visualisasi dengan Banana
Dashboard
1. Buka http://localhost:8983/solr/banana-
release/src/index.html#/dashboard kemudian klik new dan
pilih time-series dashboard

2. Masukkan collection name dengan nama core yang telah


dibuat dan time field dengan atribut waktu seperti yang
sudah di scraping

130
3. Klik add row untuk menambahkan row baru

4. Klik “panel to empty row” untuk menambahkan panel baru


dalam pembuatan visualiasasi
5. Kemudian pilih “add panel” dan pilih panel type “terms”
untuk visualisasi data
6. Isi Title sesuai dengan field yang akan divisualisasikan,
tentukan length dan span sesuai dengan kebutuhan. Pada
tahap ini dapat ditentukan tipe diagram yang akan digunakan
(diagram batang, diagram lingkaran, dan tabel), kemudian
klik “add panel

131
7. Jika ingin menambahakan lebih dari 1 diagram dapat
mengkilk tanda “+” untuk menambahkan panel atau ulangi
dari tahap 3 sampai tahap 6.

132
DAFTAR PUSTAKA

Adianto J, Fedryansyah M. 2018. Peningkatan Kualitas Tenaga


Kerja Dalam Menghadapi Asean Economy Community.
Pekerjaan Sosial. 1(2): 77 - 86
http://jurnal.unpad.ac.id/focus/article/view/18261/8554. 2
Mei 2019
Agustina, Fenni., R, Agushinta Dewi., Purnamasari, Esty.,
Wijayanti, Helen., Alqadri, Yosfik. 2012. User Interface
Design of Mobile Web Application for Job Vacancies
Information: in Comparison with JobsDB™ Mobile.
International Journal of Computer Science and Information
Technology & Security. 2(2) : 402 – 407.
Alatas, Secha, Rudi Bambang, T. 2011. Ketenagakerjaan dan
Solusinya. BPFE. Jakarta
Bening, Herwijayanti., Ratnawati, D.E., Muflikhah, Lailil. 2018.
Klasifikasi Berita Online dengan menggunakan Pembobotan
TF-IDF dan Cosine Similarity. Jurnal Pengembangan
Teknologi Informasi dan Ilmu Komputer. 2(1): 306-312.
Cahyadin, Malik, Sutomo, L. Ratwianingsih. 2017. Industri
Perdagangan Di Indonesia: Perkembangan Dan Kinerja.
JIEP. 17(2) : 78 – 88
Delta, Evin Novia., Asmunin. 2016. Performance Test Dan Stress
Website Menggunakan Open Source Tools. Jurnal
Manajemen Informatika. 6(1) : 208-215.
Fitri, Meisya. 2013. Perancangan Sistem Temu Balik Informasi
Dengan Metode Pembobotan Kombinasi Tf-Idf Untuk
Pencarian Dokumen Berbahasa Indonesia. Universitas
Tanjungpura : Semarang.
Ghufron, M.A. 2018. Revolusi Industri 4.0:Tantangan, Peluang dan
Solusi Bagi Dunia Pendidikan. Seminar Nasional dan
Diskusi Panel Multidisiplin Hasil Penelitian & Pengabdian
kepada Masyarakat. Universitas Indraprasta PGRI, Jakarta,
2 Agustus 2018. Hlm. 332-337.
Handojo, A. 2015. Aplikasi Search Engine Perpustakaan Petra
Berbasis Android dengan Apache SOLR. Skripsi. Jurusan
Teknik Informatika. Universitas Kristen Petra.

133
Heimerl, Florian, Steffen Lohmann, Simon Lange, Thomas Ertl.
Word Cloud Explorer : Text Analytics basedon Word
Clouds. Proc. IEEE Computer Society, pp 1833 – 1842,
2014.
Informatikalogi. 2017. Text Preprocessing.
https://informatikalogi.com/text-preprocessing/. Diakses
pada 5 Mei 2019 pukul 14:25
Inmon, B. 2016. Data Lake Architecture. New Jersey USA: Technics
Publications.
JPayroll. 2018. Fungsi Golongan / Grade Dalam Perumusan Career
Path. http://www.jpayroll.com/2018/09/25/fungsi-
golongan-grade-dalam-perumusan-career-path/. Diakses
pada 23 September 2019 Pukul 11.22
Kemenperin. 2016. Untuk Menghindari Duplikasi Data Statistik
Industri Menperin dan Kepala BPS Tanda Tangani Piagam
Kerjasama www.kemenpertin.go.id 22 April 2019
Khine, P.P. 2015. Data Lake: A New Ideology in Big Data Era.
Department of Computer Science and Technology, School
of Computer and Communication Engineering. University
of Science and Technology Beijing China
Magnadi, Rizal Hari. 2016. Studi Eksploratori Terhadap Profesi
Pemasar Dan Kaitannya Lowongan, Posisi, Deskripsi Dan
Persyaratan Pekerjaan Pemasar (Studi pada situs pencari
kerja karir.com dan loker.id). Prosiding Seminar Nasional
Multi Disiplin Ilmu & Call For Papers UNISBANK,
Semarang : 28 Juli 2016. Hal : 837 -843
Miloslavskaya, Natalia., T. Alexander. 2016. Big Data, Fast Data
and Data Lake Concepts. 7th Annual International
Conference on Biologically Inspired Cognitive
Architectures. 88 : 300–305.
Musfiroh, N., Hamdani., Astuti, I.F. 2013. Penerapan Algoritma
Term Frequency-Inverse Document Frequency (Tf-Idf)
Untuk Text Mining. Jurnal Informatika Mulawarman. 8(3) :
110 – 113
Nomleni, P., M. Hariadi, I Ketut Eddy Purnama. 2014. Sentiment
Analysis Berbasis Big Data. Seminar Nasional ke-9:
Rekayasa Teknologi Industri dan Informasi. Yogyakarta.
Hal. 142-149

134
Pramudiono, I. 2007. Pengantar Data Mining : Membangun Permata
Pengetahuan di Gunung
Data.http://www.ilmukomputer.org/wp-
content/uploads/2006/08/iko-datamining.zip. Diakses pada
24 April 2019 Pukul 10.05
Qerja. 2015. Pendidikan vs Pengalaman Kerja, Mana yang Lebih
Penting?. https://www.qerja.com/journal/view/137-
pendidikan-vs-pengalaman-kerja-mana-yang-lebih-
penting/. Diakses pada 26 September 2019 Pukul 08:47
Riyadi. 2013. Rancang Bangun REST Web Service untuk
Perbandingan Harga Pengiriman dengan Metode Web
Scrapping. Skripsi. Teknik Informatika AMIKOM.
Yogyakarta.
Robertson, S. 2004, "Understanding inverse document frequency: on
theoretical arguments for IDF", Journal of Documentation,
Vol. 60 No. 5, pp. 503-520.
Samal, BR., M. Panda. 2017. Real Time Product Feedback Review
and Analysis Using Apache Technologies and NOSQL
Database. International Journal of Engineering and
Computer Science. 6(1) : 22551-22558.
Santoso, B. 2007. Data Mining Teknik Pemanfaatan Data unutk
Keperluan Bisnis. Graha Ilmu, Yogyakarta.
Simanjuntak, P. 2010. Pengantar Ekonomi Sumber Daya Manusia.
BPFE UI. Jakarta
Tosida E.T, K. B Seminar & Y. Herdiyeni. 2015. Attribute
Selection Of Indonesian Telematic Services MSMEs
Feasibility Assistance, Using AHP. J. KURSOR 8(2),
Desember 2015, Hal: 97-106
Tosida, E.T, H. Thaheer & S. Maryana. 2015. Strategi Peningkatan
Daya Saing Melalui Framework Rantai Nilai Untuk
Kompetensi Usaha Jasa Telematika Indonesia. J. Pen. Pos.
Infor. 5(1): 1-18
Tosida, E.T, H. Thaheer & S. Maryana. 2014. Potensi Kelompok
Usaha Jasa Telematika Di Indonesia. Staf Pengajar Jurusan
Ilmu Komputer, FMIPA, Universitas Pakuan Bogor.
Utomo, D. C., 2015. Automatic Essay Scoring (AES) Menggunakan
Metode N-Gram dan Cosine Similarity. Universitas
Brawijaya, Malang.

135
Wardana, Andriansyah Dwi. 2017. Penerapan Teknik Webscraping
dan Vector Space Model pada Mesin Pencari Lowongan
Kerja. Journal of Information and Technology. 5(1): 114-
118.
Wikipedia. 2017. Pipeline.
https://en.wikipedia.org/wiki/Pipeline_(computing).
Diakses pada 29 April 2019 pukul 14:15
Witten, I. H., Frank, E., & Hall, M. A. 2005. Data Mining:
Practical Machine Learning and Tools. Burlington: Morgan
Kaufmann Publisher.
Zein, A.W., Parikesit, D., Hasto Gesang W. 2011. Pipeline. Paper
Organisasi Komputer. Universitas Budi Luhur
Adiyana, Imam, Fajriya Hakim. 2015. Implementasi Text Mining
Pada Mesin Pencarian Twitter Untuk Menganalisis Topik –
Topik Terkait KPK dan Jokowi. Prosiding Seminar Nasional
Matematika dan Pendidikan Matematika UMS 2015.
Agusmidah. “Hukum Ketenagakerjaan Indonesia”. Ghalia
Indonesia: Bogor, 2010.
Agustina, Ari. 2017. Nalisis Dan Visualisasi Suara Pelanggan Pada
Pusat Layanan Pelanggan Dengan Pemodelan Topik
Menggunakan Latent Dirichlet Allocation (LDA) Studi
Kasus: Pt.Petrokimia Gresik. Skripsi. Jurusan Sistem
Informasi FTI ITSN, Surabaya.
Bramantya, I. M.K. & R. P. Kusumawardani. 2017. “Analisis
Topik Informasi Publik Media Sosial di Surabaya
Menggunakan Pemodelan Latent Dirichlet Allocation
(LDA)”. JURNAL TEKNIK ITS, Vol. 6, No. 2 : 2337-3520.
Fajriyanto, M. 2018. Penerapan Metode Bayesian Dalam Model
Latent Dirichlet Allocation Di Media Sosial. Jurnal
Pendidikan Matematika dan Sains Edisi TAS Tahun Mei
2018.
Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas
Pakuan. 2019. Buku Panduan Skripsi Program Studi Ilmu
Komputer, Bogor.
Halim, Stevani. 2018. Revolusi Industri 4.0 di Indonesia.
https://medium.com/revolusi-industri-4-0-di-indonesia. 1
Juli 2019.

136
Herwanto, G. Budi. 2017. Latent Dirichlet Allocation.
https://datascience.mipa.ugm.ac.id/id/latent-dirichlet-
allocations/. 1 Agustus 2019
Karimah, S. K. Aditya., S. T. Gardini. 2017. Pemodelan Topik
Data Twitter BMKG Menggunakan Metode Pemodelan
Latent Dirichlet Allocation (LDA). Universitas Islam
Indonesia.
Kemenperin. 2016. Penerapan Industry 4.0 Buka Peluang Kerja
Baru. https://kemenperin.go.id/artikel/18835/Penerapan-
Industry-4.0-Buka-Peluang-Kerja-Baru. 30 September
2019.
Kurniawan, Wisnu. 2018. Sistem Monitoring Percakapan Pada
Toko Online Menggunakan Metode Latent Dirichlet
Allocation (LDA). Skripsi. Jurusan Teknik Informatika FTI
UII, Yogyakarta.
Li, Susan. 2018. Topic Modeling and Latent Dirichlet Allocation
(LDA) in Python. https://towardsdatascience.com/topic-
modeling-and-latent-dirichlet-allocation-in-python-
9bf156893c24. 15 Juni 2019.
Listari. 2019. Topic Modeling Menggunakan Latent Dirchlect
Allocation (Part 1): Pre-processing Data dengan Python.
https://medium.com/@listari.tari/topic-modelling-
menggunakan-latent-dirchlect-allocation-part-1-pre-
processing-data-dengan-python-87bf5c580923. 1 Agustus
2019.
Listari. 2019. Topic Modeling Menggunakan Latent Dirchlect
Allocation (Part 2): Topic Modeling with Gensim (Python).
https://medium.com/@listari.tari/topic-modeling-
menggunakan-latent-dirchlect-allocation-part-2-topic-
modeling-with-gensim-c9ffd196cb87. 1 Agustus 2019.
Marsudi, Almatius Setya., Y. Widjaja. 2019. Industri 4.0 Dan
Dampaknya Terhadap Financial Technology Serta Kesiapan
Tenaga Kerja Di Indonesia. IKRAITH EKONOMIKA,
Vol.2, No 2, Juli 2019.
Naskar, Anindya. 2019. Latent Dirichlet Allocation Explained.
https://www.thinkinfi.com/2019/01/lda-algorithm-
steps.html. 1 April 2019.
Naskar, Anindya. 2019. Latent Dirichlet Allocation for Beginners A
high Level Overview.

137
https://www.thinkinfi.com/2019/02/lda-theory.html. 18
Agustus 2019.
Naskar, Anindya. 2019. Guide to Build Best LDA model using
Gensim Python. https://www.thinkinfi.com/2019/08/LDA-
Gensim-Python.html. 18 Agustus 2019.
Prabhakaran, Selva. 2018. Topic Modeling with Gensim (Python).
https://www.machinelearningplus.com/nlp/topic-modeling-
gensim-python/?source=post_page-----c9ffd196cb87--------
--------------. 30 September 2018.
Priyanto, A., M. R. Maarif. 2018. Implementasi Web Scraping dan
Text Mining Untuk Akuisisi dan Kategori Informasi Laman
Web Tentang Hidroponik. Indonesian Journal of
Information (IJIS), Vol.1, No.1, Agustus 2018.
Suhartono, Derwin. 2018. Latent Dirichlet Allocation (LDA).
https://socs.binus.ac.id/2018/11/29/latent-dirichlet-
allocation-lda/. 25 Sepetember 2019.
Tosida, E. T., I. Anngraeni, F. Amirudin. 2016. Implementasi
Algoritma Clasification And Regression Tree (Cart) Untuk
Klasifikasi Bantuan Usaha Mikro Kecil Menengah (Umkm)
Jasa Telematika Indonesia. Bogor. Universitas Pakuan.
Tosida, E.T, H. Thaheer , S. Maryana. 2014. Potensi Kelompok
Usaha Jasa Telematika Di Indonesia. Staf Pengajar Jurusan
Ilmu Komputer, FMIPA, Universitas Pakuan Bogor.
Wang, Xikui., Yang Liu., Donghui Wang. 2013. Cross media Topic
Mining on Wikipedia. College of Computer Science.
Zhejjang University.
Xie, Ting., Ping Qin., Libo Zhu. 2018. Study on The Topic Mining
and Dynamic Visualization in View of LDA Model.
Economics and Management. Nanjing University.
Yudiarta, N. Gede., M. Sudarma., W. G. Ariastina. 2018.
Penerapan Metode Clustering Text Mining Untuk
Pengelompokan Berita Pada Unstructured Textual Data.
Majalaj Ilmiah Teknologi Elektro, Vol.17, No.3, September
– Desember 2018.
Arthur, D., dan S. Vassilvitskii. 2007. k-means++: the advantages
of careful seeding. Proceedings of the eighteenth annual
ACM-SIAM symposium on Discrete algorithms. Society for
Industrial and Applied Mathematics Philadelphia, PA, USA.

138
Hlm. 1027–1035.
http://ilpubs.stanford.edu:8090/778/1/2006-13.pdf.
Ding, Chris., He, Xiaofeng. 2004. K-Means Clustering via Principal
Component Analysis. Proceedings of the 21 st International
Conference on Machine Learning. Banff, Canada, 2004
Fikri, C.M., F.E.M. Agustin, F. Mintarsih. 2017. Pengelompokan
Kualitas Kerja Pegawai Menggunakan Algoritma K-
Means++ dan Cop-KMeans Untuk Merencanakan Program
Pemeliharaan Kesehatan Pegawai di PT. PLN P2B JB
Depok. Jurnal Pseudocode. 1(4). Hlm. 9-17.
Ganda, M., E.T. Tosida, D.K. Utami. 2018. Penerapan Hybrid
System pada Usaha Jasa Telematika Indonesia dengan
Menggunakan Metode K-Means Clustering dan ID3
Classification. Skripsi. Jurusan Ilmu Komputer, Universitas
Pakuan, Bogor.
Ghufron, M.A. 2018. Revolusi Industri 4.0:Tantangan, Peluang dan
Solusi Bagi Dunia Pendidikan. Seminar Nasional dan
Diskusi Panel Multidisiplin Hasil Penelitian & Pengabdian
kepada Masyarakat. Universitas Indraprasta PGRI, Jakarta,
2 Agustus 2018. Hlm. 332-337.
Han, J., M. Kamber. 2012. Data Mining: Concepts and Techniques.
Waltham: Elsevier, Inc.
Harsono, Oo. 2010. Pengaruh Strategi Bisnis dan Strategi teknologi
Informasi Terhadap Kinerja Lembaga Pendidikan:Studi
Kasus Perguruan Islam Al-Izhar Pondok Labu. Jurnal
TELEMATIKA MKOM. 1(2). Hlm. 52-58.
Hitka, et al. 2017. Cluster Analysis Used as the Strategic Advantage
of Human Resource Management in Small and Medium-
sized Enterprises in the Wood-Processing Industry.
BioResources Journal. 12(4). Hlm. 7884-7897.
Hsu, et al. 2014. The impact of industrial clusters on human resource
and firms performance. Journal of Modelling in
Management. 2(9). Hlm. 141-159.
Irwanto, et al. 2012. Optimasi Kinerja Algoritma Klasterisasi K-
Means untuk kuantisasi Warna Citra. Jurnal Teknik ITS.
I(1). Hlm. 197-202.

139
Izzuddin, A. 2015. Optimasi Cluster pada Algoritma K-Means
dengan Reduksi Dimensi Dataset Menggunakam Principal
Component Analysis Untuk Pemetaan Kinerja Dosen. 1(5).
Jolliffe, I. 2002. Principal component analysis. Springer. 2nd edition.
Madhulatha, T.S., 2012. An Overview On Clustering Methods.
IOSR Journal of Engineering. II(4). Hlm. 719-725.
Merliana, N.P.E., Ernawati, dan Santoso, A.J. 2015. Analisa
Penentuan Jumlah Cluster Terbaik pada Metode K-Means
Clustering. Prosiding Seminar Nasional Multi Disiplin Ilmu
& Call For Papers UNISBANK (Sendi_U). Universitas
Atma Jaya, Yogyakarta. ISBN: 978-979-3649-81-8.
Miarso, Y. 2007. Menyemai Benih Teknologi Pendidikan. Jakarta:
Pranada Media Group.
Muhtadi. Penerapan Principal Component Analysis (PCA) dalam
Algoritma K-Means untuk Menentukan Centroid pada
Clustering. Jurnal KONSTANTA. 1(1). Hlm. 121-142.
Prasetyo, Eko. 2012. Data Mining Konsep dan Aplikasi
Menggunakan Matlab. Yogyakarta: Andi.
Putra, S.F. 2016. Feature Selection pada Dataset Faktor Kesiapan
Bencana pada Provinsi di Indonesia Menggunakan metode
PCA(Principal Componen Analysis). Jurnal Teknik ITS.
2(5).
Rahayu, G., Mustakim. 2017. Principal Component Analysis untuk
Dimensi Reduksi Data Clustering Sebagai Pemetaan
Persentase Sertifikasi Guru di Indonesia. Seminar Nasional
Teknologi Informasi, Komunikasi dan Industri (SNTIKI).
UIN Sultan Syarif Kasim Riau, Pekanbaru, 18-19 Mei 2017.
ISSN (Printed) : 2579-7271.
Santosa, Budi. 2007. Data mining. Teknik pemanfatan data untuk
keperluan bisnis. Yogyakarta: Graha Ilmu.
Setiyadi, M.W.R. 2010. Strategi dan Kebijakan Pembangunan.
http://www.insteps.or.id/File/media/kebijakan%20dan%20
%20strategi%20telematika.pdf. Diakses 29 Maret 2019.
Setyaningsih, S., H. Thaheer, E.T. Tosida. 2013. Pemetaan
Kompetensi Sumber Daya Manusia Big Industri Telematika
di Indonesia sebagai Kebijakan Investasi. Prosiding Seminar
Nasional Matematika & Ilmu Pengetahuan Alam “MIPA
Sebagai Landasan Kreasi & Inovasi Teknologi”. IPB

140
International Convention Center Bogor, 23 Oktober 2013.
ISBN978-602-14503-0-7.
Sirait, Hasanuddin. 2009. Sejarah Perkembangan Teknologi
Telematika.
http://astie.staff.gunadarma.ac.id/Downloads/files/50020/se
jarah-telematika.pdf. Diakses 29 Maret 2019.
Siswantari. 2015. Pengembangan Program Studi Keahlian pada
SMK Sesuai Kegiatan Ekonomi Utama di Enam Koridor
Ekonomi. Jurnal Pendidikan dan Kebudayaan. 2(21). Hlm.
135-151.
Stahle, L., dan Wold, S., 1989. Analysis of variance (ANOVA).
Chemometrics and Intelligent Laboratory Systems. 6:259-
272.
Supriyanto, A., Basukianto, dan J.A. Rozaq. 2017. Klasterisasi
UMKM dan Potensi Wilayah Berbasis Peta Sebagai Strategi
Pengembangan Ekonomi Daerah. Jurnal Pekommas. 2(2).
Hlm. 143-150.
Tosida, E.T., S. Maryana, H. Thaheer, dan F.A. Damin. 2015.
Visualization Model of Small and Medium Enterprises
(SMEs) Telematics Services Potentiality Map in Indonesia.
International Conference on Information, Communication
Technology and System (ICTS). ISBN: 978-1-5090-0096-8.
IEEExplorer, 151-156.
Yoesoef, J. R., & Muawanah, U. 2007. Peran SMK dalam
Menunjang Pertumbuhan Ekonomi Daerah; Sebuah Analisis
Makroekonomika.
http://www.scribd.com/doc/23783304/Peran-SMK-dalam-
Menunjang-Pertu-mbuhan-Ekonomi-Daerah?secret-
password=autodown=pdf, diakses 8 September 2019.
Apriandi D, A. M. Irwan & E. D. Wahyuni. 2017. Analisis
Sentimen Pelanggan WIFI.ID Pada Media Sosial Twitter
dengan Support Vector Machine. Jurnal Sistem Informasi
Dan Bisnis Cerdas (SIBC) Vol. 9.
Andreas Handojo. 2015. Aplikasi Search Engine Perpustakaan Petra
Berbasis Android dengan Apache SOLR. Skripsi. Jurusan
Teknik Informatika. Universitas Kristen Petra.
Bakir, Manning. 2011. Konsep Ketenagakerjaan di Indonesia.
BPFE. Jakarta.

141
D. Mali, M. Abhyankar, dkk. 2016. Sentiment Analysis Of Product
Review For E-Commerce Recommendation. International
Journal of Management and Applied Science, ISSN: 2394-
7926 Volume-2, Issue-1, Jan.-2016.
Even, Yahir, Zohar. 2002. Introduction to text mining. Automeated
Learning Group National Center For Supercomputing
Aplications. University of Illions.

Han, J., and M. Kamber. 2006. Data Mining : Concepts and


Techniques Second Edition. CA: Morgan Kaufmann
Publishers, San Francisco.
Hidayat, M. A., M. Syafrullah. 2017. Algoritma Naive Bayes Dalam
Analisis Sentimen Untuk Klasifikasi Pada Layanan Internet
PT.XYZ. Jurnal TELEMATIKA MKOM Vol.9 No.2 Juli
2017.
Huq, M., R, et al. 2017. Sentiment Analysis on Twitter Data using
KNN and SVM. IJACSA) International Journal of Advanced
Computer Science and Applications, Vol. 8, No. 6, 2017.
Kadir, Abdul. 2018. Dasar Pemrograman Python 3 : Panduan untuk
mempelajari python dengan cepat dan mudah bagi pemula.
Yogyakarta: Penerbit Andi Nugroho.
Kuhlman, Dave. 2015. A Python Book: Beginning Python,
Advanced Python and Python Exercises. s.l.: MIT, 2015.
Kemenperin. 2016. Untuk Menghindari Duplikasi Data Statistik
Industri Menperin
dan Kepala BPS Tanda Tangani Piagam Kerjasama.
www.kemenperin.go.id. 10 Mei 2019.
Liu, B. 2012. Sentimen Analysis and Subjectivity. Synthesis Lectures
on Human Language Tachnologies. [e-book]. USA: Morgan
& Claypool Publishers. Tersedia
di:https://www.cs.uic.edu/~liub/FBS/Sentiment-Analysis-
and Opinion Mining.pdf (Diakses pada 23 Maret 2019).
Indriati, A., Ridok. 2016. Sentiment Analysis For Review Mobile
Applications Using Neighbor Method Weight K-Nearest
Neighborn (NWKNN). Journal of Environmental
Engineering & Sustainable Technology JEEST Vol. 03 No.
01, July 2016, Pages 23-32 .
Muljono. et al. 2017. Analisa Sentimen Untuk Penilaian Pelayanan
Situs Belanja Online Menggunakan Algoritma Naïve Bayes.

142
Konferensi Nasional Sistem Informasi 2018 STMIK Atma
Luhur Pangkalpinang, 8 – 9 Maret 2018.
Nugroho, A. S., Witarto, A. B., & Handoko, D. (2003). Support
Vector Machine dan Aplikasinya Dalam Bioinformatika.
Diakses 2 mei, 2019, dari http://www.ilmukomputer.com
Rofiqoh, U. et al. 2017. Analisis Sentimen Tingkat Kepuasan
Pengguna Penyedia Layanan Telekomunikasi Seluler
Indonesia Pada Twitter Dengan Metode Support Vector
Machine dan Lexicon Based Features. Jurnal
Pengembangan Teknologi Informasi dan Ilmu Komputer e-
ISSN: 2548-964X Vol. 1, No. 12, Desember 2017, hlm.
1725-1732.
Safina, N., M. Aris. 2018. Analisis Sentimen Pada Twitter Terhadap
Jasa Transportasi Online di Indonesia Dengan Metode
Support Vector Machine. Universitas Dian Nuswantoro
Semarang, Jurusan Teknik Informatika, FIK UDINUS,
Semarang.
Samal R.B , Mrutyunjaya P. 2017. Real Time Product Feedback
Review and Analysis Using Apache Technologies and
NOSQL Database. International Journal Of Engineering
And Computer Science ISSN:2319-7242 Volume 6 Issue 10
October 2017, Page No. 22551-22558.
Tan, P., Steinbach, M., & Karpatne, A. 2006. Introduction To Data
Mining. USA: Addison-Wesley.
Viranda Noratika Anwar. 2019. Implementasi Data Import Apache
Solr Untuk Keperluan Indexing Data Buku. Jurnal
Manajemen Informatika, Volume 9 Nomor 02 Tahun 2019,
50-59.
Aries Saifudin. 2015. Penerapan Teknik Ensemble Untuk
Menangani Ketidakseimbangan Kelas Pada Prediksi
Cacat Software, ITS Surabaya
Breiman, L. 1996 Heuristics of instability and stabilization in model
selection, Annals of Statistics, 24, Vol. 24, No. 6,
2350-2383
Culp, M., Michailidis, G., & Johnson, K. (2011). On Adaptive
Regularization Methods in Boosting. Journal of
Computational and Graphical Statistics, 20(4), 937–
955.

143
DavidWes. 2004. Neural network en semble strategy for decision &
financial applications, high-quality software
DOI: 10.1016/j.cor.2004.03.017
Fatimah,Moch.abdul mukid,Agus Rusgiyono(2017) analisis credit
scoring menggunakan metode bagging dan k-
nearest neighbor ISSN: 2339-2541 JURNAL GAUSSIAN
Volume 6, NOMOR 1 Tahun 2017 Halaman 161-170
Ganda.M 2015 Penerapan Hybrid System Pada Usaha Jasa
Telematika Dengan Menggunakan Metode K-means
dClustering ID3 Classification, Universitas Pakuan
Han, J., Kamber, M., & Pei, J. (2012). Data Mining Concepts and
Techniques. San Fransisco: Morgan Kauffman.
Herrera, Francisco. 2012. Class Imbalance in Boosting Bagging
Problems and Hybrid Based Approaches, Doi
10.1007/s00500-018-3629-4
Rao, S. 2009.Engineering Optimimization. 40.125-205

Sandrine Dudoit1,∗ and Jane Fridlyand2 2003. Bagging to improve


the accuracy of a clustering procedure
BIOINFORMATICS Vol. 19 no. 9
Tosida, E.T., K. Boro, S.Herdiyeni S. 2015. Attribute Selection of
Indonesian Telematic Services MSMEs Feasibility
Assistance, Using AHP Vol. 8, No. 2, Desember 2015
Turban, E., J.E. Aronson., & T.P. Liang. 2005. Application of data
mining techniques in customer relationship management:
A literature review and classification
https://cmapspublic3.ihmc.us/rid=1MSYC3Z3W-
1B2W04K- 15MY/DM-usage.pdf (di akses pada
tanggal 11 may 2018)
X.F. Lei, Wang, Z, Y.T. Li. 2015. The Risk Assessment Model of
Small and MediumSized Enterprises of Science and
Technology Based On Boosting.
https://doi.org/10.2991/cisia-15.2015.128 (di
akses pada tanggal 11 may 2018)
Zhou, Z.-H., & Yu, Y. (2009). The Top Ten Algorithms in Data
Mining. (X. Wu, & V. Kumar, Eds.) Chapman &
Hall/CRC DOI 10.1007/s10115-007-0114-2

144
TENTANG PENULIS
Irfan Wahyudin lahir di Surabaya, menempuh
pendidikan S1 di program studi Matematika di ITS
Surabaya, pada tahun 2002-2007. Setelah itu,
melanjutkan pendidikan S2 pada program studi Ilmu
Komputer IPB University, Bogor pada tahun 2013-2015,
mengambil konsentrasi penelitian di bidang Text Mining
dan Machine Learning. Pengalaman berkarir yang
pernah ditempuh antara lain sebagai API Developer
untuk perangkat meter listrik digital pada tahun 2006 s.d 2008. Kemudian
pada tahun 2008 s.d 2011 berkarier sebagai Senior Software Developer dan
Datawarehouse Analyst sampai dengan tahun 2016 di PT Bank Bukopin,
Tbk. Pada tahun 2016 Irfan dipromosi sebagai AVP Software Development
dan Datawarehouse di PT Bank Bukopin, Tbk hingga tahun 2017.
Berikutnya, di tahun 2017 s.d sekarang Irfan melanjutkan karir sebagai Lead
of Data Analytics berturut-turut di dua perusahaan yaitu Docotel Group dan
Datasynthesis. Sebagai kesibukan lain, sejak tahun 2015 hingga saat ini Irfan
juga aktif sebagai pengajar di Program Studi Ilmu Komputer, Universitas
Pakuan, Bogor, mengampu dan mengambil konsentrasi penelitian di bidang
Basis Data, Data Science dan Machine Learning.

Eneng Tita Tosida, dosen di Program Studi


Ilmu Komputer FMIPA, Universitas Pakuan
(2002 - sekarang), aktif mengajar, riset dan pengabdian
masyarakat pada bidang socioinformatics sejak 2010.
Penulis juga aktif pada publikasi ilmiah terkait riset
pengembangan Usaha Mikro Kecil Menengah (UMKM)
Telematika Indonesia melalui pendekatan Data Mining.
Sejak 2015 penulis aktif melakukan pengabdian
masyarakat dan publikasi ilmiah terkait Revitalisasi
Kearifan Lokal Berkelanjutan menggunakan Media Digital. Berbagai prestasi
yang diraihnya: Pada tahun 2013 terpilih sebagai Dosen Berprestasi di
wilayah Kopertis IV Jabar Banten, pada tahun 2017 menjadi Penyaji Terbaik
Seminar Nasional Hibah Bersaing Penelitian dari Kemenristek Dikti, pada
tahun 2017 meraih Best Paper Award pada International Conference on
Global Optimization and Its Application (The 6th ICoGOIA) Malaka,
Malaysia, dan pada tahun 2018 meraih Penyaji Terbaik Seminar Nasional
Hibah Pengabdian Masyarakat Mono Tahun dari Kemenristek Dikti. Penulis
saat ini juga menjadi Sekretaris Jenderal Indonesian Association of
Operations Research (IORA). Pendidikan formal S1 ditempuhnya di Institut

145
Pertanian Bogor, jurusan Teknologi Industri Pertanian, pada tahun 1999.
Jenjang S2 ditempuhnya di IPB, jurusan Teknologi Industri Pertanian pada
108 2002. Sementara itu jenjang S2 lainnya ditempuh di IPB, jurusan Ilmu
Komputer, pada 2016. Pada Agustus 2019 penulis menempuh pendidikan S3
Ilmu Komputer di IPB.

Fredi Andria merupakan Dosen Tetap


Program Studi Manajemen, Fakultas Ekonomi,
Universitas Pakuan (2016-sekarang). Fredi Menempuh
Pendidikan Program Studi Teknologi Industri Pertanian,
Fakultas Teknologi Pertanian, Institut Pertanian Bogor
(IPB) (1999) dan melanjutkan pendidikan Magister
Manajemen Agribisnis, Institut Pertanian Bogor (IPB)
pada tahun 2001. Beberapa jabatan struktural yang
pernah diemban antara lain adalah: Kepala Pusat Unggulan Riset dan Inovasi
(PURI) Fakultas Ekonomi, Universitas Pakuan (2018 – sekarang); Anggota
Tim Pusat Studi Pengembangan Ekonomi Regional (PUSPERAL) Fakultas
Ekonomi, Universitas Pakuan (2015 – sekarang); dan Anggota Tim Seleksi
Publikasi Ilmiah Fakultas Ekonomi, Universitas Pakuan (2019 – sekarang).
Adapun riwayat mengajar yang dimiliki adalah: Dosen Tetap Prodi Ilmu
Komputer FMIPA Universitas Pakuan Bogor (2011– 2016); Dosen Tidak
Tetap di beberapa perguruan tinggi (Politeknik Kent-Bogor, AMK Bogor,
STIE Kesatuan Bogor, STIE Nusantara Jakarta, STIE Bisnis Indonesia
Jakarta, LIBMI Jakarta, dan STT Telematika Bogor) (1999 – 2011); dan
Trainer bidang Ekonomi dan Manajemen PT Arcosmo, Jakarta (2008 –
2014). Riwayat Karir Lain yang pernah ditempuh antara lain:
Tenaga ahli bidang analisa jabatan dan manajemen SDM di Kemenperind dan
KemenPUPR (2017); Tenaga ahli bidang Analisa jabatan, analisa beban kerja
dan standar kompetensi jabatan di DPD RI (2012 – 2013) dan Tenaga ahli
bidang manajemen kajian BPJS Kesehatan di DJSN dan Kemenkokesra
(2011 – 2014).

146
147

Anda mungkin juga menyukai