ASING
Disusun untuk Memenuhi Tugas Metode Penelitian
Disusun Oleh :
RIZKI NARDIANTO
NIM : 180411100069
Dosen Pembimbing
Dr. Meidya Koeshardianto, S.Si., MT.
BAB II
TINJAUAN PUSTAKA
Pada bab ini akan membahas teori - teori yang berkaitan dengan permasalahan tugas
akhir.
ARTIFICIAL INTELLIGENCE
Artificial Intelligence dapat diartikan menjadi kecerdasan buatan. Kecerdasan buatan
merupakan ilmu yang mempelajari cara membuat komputer melakukan sesuatu
seperti yang dilakukan manusia. pada awalnya komputer hanya berfungsi sebagai alat
hitung, kemudian seiring dengan perkembangan jaman, maka komputer semakain
brkembang dan menjadi sesuatu yang penting bagi manusia. ). Kecerdasan buatan
berasal dari bahasa inggris “Artificial Intelligence” (AI), yaitu Intelligence yang
merupakan kata sifat yang berarti cerdas, sedangkan artificial artinya buatan.
Kecerdasan buatan yang dimaksud disini merujuk pada mesin yang mampu berpikir,
menimbang tindakan yang akan diambil, dan mampu mengambil keputusan seperti
yang dilakukan oleh manusia (Sutojo, 2011). Lingkup utama dalam kecerdasan buatan
adalah:
1. Sistem Pakar (Expert System).Komputer digunakan sebagai sarana untuk
menyimpan pengetahuan para pakar.
2. Pengenalan Ucapan (Speech Recognition). Melalui pengenalan ucapan
diharapkan manusia dapat berkomunikasi dengan komputer dengan
menggunakan suara.
3. Intelligent Computer-aided Instruction. Komputer dapat digunakan sebagai
tutor yang dapat melatih dan mengajar.
4. Computer Vision, mencoba untuk dapat menginterpretasikan gambar atau
objek – objek tampak melalui komputer.
5. Game Playing
6. Robotika dan Sistem Sensor (Robotics dan Sensory Systems).
7. Pengolahan Bahasa Alami (Natural Language Processing). Dengan pengolahan
bahasa alami diharapkan pengguna dapat berkomunikasi dengan komputer
menggunakan bahasa sehari – hari.
NATURAL LANGUAGE PROCESSING
Natural Language Processing (NLP) adalah salah satu cabang dari ilmu Artificial
Intelligence (AI) yang berfokus pada pengolahan bahasa natural. NLP mempelajari dan
mgembangkan bagaimana koputer dapat mengerti, emahami, dan memproses bahasa
alami dalam bentuk teks atau turunan dari kata. Bahasa natural menerapkan bahasa
yang secara umum dipergunakan manusia dalam aktivitas berkomunikasi dan
bersosialisasi dengan aar manusia lainnya. NLP menganalisa bahasa manusia
sedemikian rupa sehingga komputer mampu memahami bahasa alami seperti halnya
manusia (Ghosh et al., 2012). NLP merupakan salah satu bidang antar disiplin yang
menggabungkan beberapa bidang keilmuan antara lain komputasi linguistik, ilmu
komputasi, ilmu kognitif, dan kecerdasan buatan. Pada umumnya NLP banyak
diterapkan dan diaplikasikan di berbagai hal seperti speech recognition, pemahaman
bahasa lisan, sistem dialog, analisis leksikal, mesin penerjemah, knowledge graph,
analisis sentimen, sistem pintar dan peringkasan bahasa alami.
Pada perkembangannya NLP menghasilkan kemungkinan dari suatu interface bahasa
natural menjadi knowledge base dan penterjemahan bahasa natural. Terdapat 3 aspek
utama pada teori pemahaman mengetahui natural language:
1. Syntax: menjelaskan bentuk dari suatu bahasa. syntax biasanya
dispesifikasikan oleh sebuah grammer.
2. Semantics: menjelaskan arti dari kalimat dalam suatu bahasa.
3. Pragmatics: menjelaskan bagaimana pernyataan yang ada berhubungan
dengan dunia. Untuk memahami suatu bahasa, agen harus mempertimbangkan
lebih dari hanya sekedar kalimat. dimana agen juga harus melihat lebih dalam
konteks kalimat, keadaan dunia, tujuan dari speaker dan listener, konvensi
khusus, dan sejenisnya.
4. Morfologi: menjelaskan pengetahuan tentang kata dan bentuknya sehingga
bisa dibedakan antara yang satu dengan yang lainnya.
5. Fonetik: menjelaskan segala hal yang terkait dengan suara yang menghasilkan
kata yang bisa untuk dikenali.
ANALISIS SENTIMEN
Analisis sentimen atau sentiment analysis merupakan teknik atau cara yang digunakan
untuk mengidentifikasi bagaimana sebuah sentimen diekspresikan serta bagaimana
sentimen tersebut bisa dikategorikan sebagai sentimen yang mengandung unsur
positif maupun negatif. Analisis sentimen juga bisa dikatakan sebagai sebuah opinion
mining. Analisis sentimen dapat digunakan dalam berbagai kemungkinan domain, dari
isu kesehatan, sosial dan politik, keuangan, konsumen produk, sampai ke berita
internasional. Nilai dari sentimen analisis dapat dibagi menjadi tiga kelompok utama
yaitu, sentimen positif, sentimen negatif, dan sentimen netral.
Analisis sentimen pada suatu kalimat menggambarkan bagaimana pertimbangan serta
penilaian masyarakat terhadap entitas atau kejadian tertentu(Pang, dkk. 2008).
Dimana Entitas adalah (Liu, 2012) produk, layanan, topik, isu, orang, organisasi, atau
peristiwa yang menjadi objek target pada kalimat sentimen. analisis sentimen juga
bertujuan untuk penilaian terhadap emosi, sikap, pendapat, evaluasi yang disampaikan
oleh seorang pembicara atau penulis terhadap sebuah produk atau terhadap pejabat
publik.
TENAGA KERJA ASING (TKA)
Menurut Boediono pengertian tenaga kerja asing adalah : “Tiap orang bukan warga
negara Indonesia yang mampu melakukan pekerjaan, baik di dalam maupun di luar
hubungan kerja, guna menghasilkan jasa atau barang untuk memenuhi kebutuhan
masyarakat.”
Pengertian Orang Asing Yang dimaksudkan dengan Orang Asing ialah orang bukan
warga negara Republik Indonesia. Ada 2 (dua) golongan orang di Indonesia yaitu :
a. Orang asing pendatang ialah mereka yang mendapatkan izin masuk (admission)
dengan memperoleh hak untuk tinggal di Indonesia dalam waktu tertentu yang
dikenal dengan tenaga asing pemegang visa.
b. Orang asing penetap ialah mereka yang diperbolehkan tinggal tetap di
Indonesia dan diwajibkan memperoleh izin menetap dengan memperoleh Surat
Keterangan Kependudukan (SKK), yang dikenal dengan tenaga asing atau
tenaga asing domestik.
TWITTER
Twitter merupakan sebuah situs jejaring sosial yang memunngkinkan pengggunanya
mengirim dan membaca pesan tweet berupa teks, gambar, ataupun dalam format
video. Twitter hanya memberikan sejumah 280 karakter yang bisa ditulis sebagai status
atau cuitan. Pengguna twitter sendiri bisa dari berbagai macam kalangan yang dapat
berinteraksi dengan teman, keluarga, rekan kerja, hingga orang yang baru dikenal di
aplikasi tersebut.
Twitter bersifat publik, yang berarti semua yag dituliskan atau dibagikan dapat dilihat
oleh semua pengguna lainnya, namun pengguna dari twitter dapat membatasi
pengiriman tweet kepada temannya saja atau lebih dikenal sebagai follower. Berbagai
macam manfaat dapat diperoleh dari tweet diawali dengan event detection (deteksi
kejadian, salah satunya bencana alam), prediksi pemilu, pergerakan pasar saham,
hingga penyebaran penyakit di suatu wilayah. Fitur utama pada twitter yaitu dapat
menuliskan status atau cuitan serta dapat melakukan pengiriman pesan kepada
pengguna lain. Fitur lain dari twitter adalah
1. Following
fitur ini dapat digunakan oleh pengguna untuk saling terhubung dengan
pengguna lain atau sering disebut sebagai pertemanan. setiap unggahan dari
teman pengguna yang telah di follow maka dapat dilihat pada beranda teman
yang telah mengikutinya
2. Direct Message
Direct Message merupakan pesan pribadi di twitter yang mana pengguna dapat
menggunakan fitur ini untuk melakukan percakapan pribadi dengan orang lain
tentang tweet dan komentar lainnya.
3. Retweet
Fitur ini merupakan fitur yang memudahkan pengguna untuk meneruskan atau
menyebarkan tweet pengguna lain sehingga tweet tersebut dapat muncul pada
beranda pribadi pengguna atau teman yang meretweet.
4. Hashtag
Hashtag yang ditulis dengan menggunakan simbol # digunakan untuk
mengindeks kata kunci atau topik pada twitter. salah satu fungsi dari hastag
yaitu mengelompokan pencarian terhadap kata kunci dari tweet.
5. Trending Topic
trending topik merupakan fitur yang menampilkan topi atau hashtag yang
sedang populer atau banyak dibasha oleh pengguna twitter pada waktu
tertentu. adayana fitur ini membuat pengguna mengetahui hal apa yang
sedang viral di kalangan masyarakat.
TWITTER API
Application Programming Interface (API) merupakan sebuah bahasa dan pesan format
yang digunakan oleh sebuah program aplikasi untuk berkomunikasi dengan sistem
operasi atau program pengendalian lainnya seperti sistem manajemen database
(DBMS) ataupun protokol komunikasi. API merupakan kumpulan dari fungsi-fungsi
untuk menggantikan bahasa yang dipakai dalam system calls dengan menggunakan
bahasa yang lebih terstruktur dan dapat dimengerti dengan mudah oleh programmer.
API diimplementasikan dengan menulis sebuah panggilan fungsi dalam program, yang
mana menyediakan hubungan ke subrutin yang diperlukan untuk dieksekusi. Fungsi
yang dibuat menggunakan API kemudian akan memanggil system calls sesuai dengan
sistem operasinya. Tidak menutup kemungkinan bahwa nama dari system calls sama
dengan nama pada API.
API bekerja dengan cara membantu aplikasi berinteraksi dengan library yang mengikuti
serangkaian aturan yang ditentukan sebelumnya oleh API itu sendiri. Salah satu contoh
dari pemanfaatan API adalah REST (Representational State Transfer) API dari Twitter,
yang mana API tersebut menyediakan akses read dan write data dengan
mengintegrasikan Twitter ke dalam aplikasi kita sendiri. API Twitter terdiri dari 3 (tiga)
bagian yaitu (Arifidin, 2016) :
1. Search API
Search API yang dirancang untuk memudahkan pengguna dalam mengelola
query search pada konten Twitter. Pengguna dapat menggunakannya untuk
mencari tweet berdasarkan keyword khusus atau mencari tweet yang lebih
spesifik berdasarkan username Twitter.
2. Representational State Transfer (REST) API
REST API dapat Mengizinkan developer untuk mengakses inti dari Twitter
seperti timeline, status update, dan informasi. REST API dapat digunakan dalam
membanguns ebuah aplikasi Twitter yang kompleks beserta memerlukan core
dari Twitter.
3. Streaming API
Streaming API digunakan oleh developer untuk keperluan yang lebih intensif
misalnya, melakukan penelitian dan analisis data. Streaming API dapat
menghasilkan aplikasi yang dapat mengetahui statistik dari status update,
followers, dan lain sebagainya.
Teks input PPKM tapi... TKA cina tetap masuk dengan alasan
sudah dikarantina.
Teks output ppkm tapi tka cina tetap masuk dengan alasan sudah
dikarantina
2. Tokenization
Pada tahap tokenization dilakukan pemotongan string inputan
berdasarkan setiap kata yang menyusunya. Tokenisasi memecah
sekelompok karakter dalam sebuah teks menjadi unit kata, yang
digunakan untuk membedakan karakter tertentu yang dapat diperlukan
sebagai pemisah kata atau tidak. Sebagai contoh, enter, tabulasi, spasi
dianggap sebagai pemisah kata.
Tabel 2.2 Contoh proses tokenizing
Teks Input ppkm tapi tka cina tetap masuk dengan alasan
sudah dikarantina
Teks Output ppkm, tapi, tka, cina, tetap, masuk, dengan, alasan,
sudah, dikarantina
3. Filtering
Filtering adalah proses pemilihan kata-kata yang penting dari hasil
tokenisasi. Filtering dilakukan dengan menggunakan algoritma
penghapusan stopword. Penghentian atau stoplist removal adalah
proses menghilangkan kata-kata yang tidak banyak berkontribusi pada
isi dokumen. Stopword removal digunakan untuk menghapus kata-kata
yang sering muncul dan bersifat umum, kurang relevan dengan teks.
Membuang kata-kata yang sering muncul tetapi tidak akan berpengaruh
pada ekstraksi sentiment.
Gambar 2.3 Contoh proses filtering
4. Stemming
Stemming merupakan proses pemetaan dan penguraian bentuk suatu
kata ke dalam bentuk kata dasarnya. Fungsi dari stemming yaitu
menghilangkan variasi morfologi yang melekat pada satu kata dengan
menghilangkan imbuhan pada kata tersebut agar dapat memperoleh
kata yang benar sesuai morfologi yang benar secara struktur. Secara
singkatnya, proses mengubah kata yang berimbuhan menjadi kata dasar
dengan menerapkan kaidah bahasa yang benar untuk menghilangkan
imbuhannya. Stemming selain digunakan untuk mengurangi jumlah
dokumen yang berbeda index, Teknik ini juga digunakan untuk
mengelompokkan kata lain yang memiliki kesamaan kata dan
arti/akarnya tetapi memiliki bentuk yang berbeda karena mendapatkan
afiks yang berbeda. Ketika sebuah kata dasar dari istilah tersebut telah
diketahui sehingga dapat diketahui juga intensitas kemunculan term
pada setiap dokumen melalui proses pengindeksan. Pengindeksan
dilakukan disebabkan suatu dokumen tidak dapat dikenali secara
langsung oleh suatu sistem temu kembali informasi (IRS). Oleh karena
itu maka dokumen terlebih dahulu harus dipetakan menjadi
representasi dengan menggunakan teks di dalamnya.
Gambar 2.4 Contoh proses stemming
2. Feature Selection
Dalam tahapan feature extraction, metode TF-IDF sering digunakan. Metode
Term Frequency-Inverse Document Frequency (TF-IDF) adalah metode untuk
menghitung bobot setiap kata. TF-IDF merupakan suatu metode pemberian
bobot istilah pada suatu kata dalam dokumen. Metode ini sering digunakan
sebagai faktor pembobotan dalam pencarian informasi dan penambangan teks
(teks mining). Nilai dari TF-IDF meningkat secara proporsional berdasarkan
jumlah atau jumlah kata yang muncul pada dokumen, akan tetapi diimbangi
dengan frekuensi data dalam korpus. Variasi skema pembobotan TF-IDF sering
digunakan oleh mesin pencarian sebagai alat utama dalam penilaian dan
peningkatan relevansi dokumen untuk pengguna. Metode ini merupakan salah
satu jenis skema pembobotan term yang populer saat ini karena dianggap
paling efisien, mudah dan memiliki hasil yang akurat. Metode ini menghitung TF
dan nilai IDF untuk setiap token (word) pada setiap dokumen dalam korpus
menggunakan persamaan berikut:
● Term Frequency (TF)
Dalam hal frekuensi istilah tf(t,d) cara paling sederhana adalah dengan
menggunakan frekuensi mentah dalam dokumen, yaitu beberapa kali
istilah t tersebut muncul dalam dokumen d. Jika frekuensi mentah
dilambangkan t sebagai f(t,d), maka skema tf sederhananya adalah
tf(t,d) = f(t,d). TF dapat diformulasikan menjadi :
● Inverse document frequency (IDF)
Frekuensi Dokumen Terbalik/ Inverse document frequency (IDF)
merupakan ukuran apakah sebuah istilah itu umum atau jarang di
semua dokumen. Ini diperoleh dengan membagi jumlah dokumen
dalam korpus dengan jumlah dokumen berisi istilah dan kemudian
mengambil logaritma dari hasil bagi. Factor IDF dari kata-t diberikan
menggunakan persamaan berikut:
K-nearest neighbor
Algoritma K-nearest neighbor (k-NN atau KNN) merupakan metode klasifikasi data
yang bekerja relatif lebih sederhana dibandingkan dengan metode klasifikasi data
lainnya. Algoritma ini mencoba untuk mengklasifikasikan data baru yang kelasnya tidak
diketahui dengan memilih jumlah dari data yang paling dengan dengan data baru
tersebut. Kelas terbanyak dari nomor data terdekat dipilih sebagai kelas prediksi untuk
data baru. Sama dengan teknik pengelompokan pada K-Means, yaitu
mengelompokkan data baru berdasarkan jarak data baru ke beberapa data/tetangga
terdekat. Pada umumnya penentuan angka ganjil untuk menghindari penampilan
jumlah jarak yang sama dalam proses klasifikasi. Langkah pertama, sebelum mencari
data jarak ke tetangga adalah untuk menentukan nilai. Kemudian, untuk menentukan
jarak antara dua titik yaitu, titik pada data latih dan titik pada data uji, rumus Euclidean
digunakan. Berikut ini adalah Euclidean jarak yang digunakan dalam algoritma KNN:
KNN merupakan jenis learning yang berbasis instance, atau pembelajaran malas (lazy
learning) dimana fungsi ini hanya pendekatan lokal dan semua perhitungan
ditangguhkan sampai klasifikasi. Metode klasifikasi KNN memiliki beberapa tahapan,
yang pertama adalah nilai yang merupakan jumlah tetangga terdekat yang akan
menentukan query baru milik kelas mana yang ditentukan. Pada tahapan kedua,
tetangga terdekat dicari dengan menghitung jarak antara titik query dari titik
pelatihan. Tahap ketiga, setelah mengetahui jarak dari setiap titik pelatihan ke titik
query, kemudian lihat nilai terkecil. Tahap keempat mengambil yang terkecil nilai
kemudian melihat kelas. Kelas yang terbanyak muncul adalah kelas dari query baru.
Dimana :
X : Data dengan kelas yang tidak diketahui
H : Hipotesis data X adalah data kelas tertentu
P(H|X) : Probabilitas hipotesis berdasarkan kondisi (probabilitas posterior)
P(H) : Probabilitas hipotesis (probabilitas sebelumnya)
P(X|H) : Probabilitas berdasarkan kondisi pada hipotesis
P(X) : Peluang
Aturan Bayes digunakan untuk menghitung posterior dan probabilitas dari data
sebelumnya. Hasil akhirnya akan memberi prior dan posterior informasi untuk
menghasilkan probabilitas menggunakan Bayes.
Cross-Validation (CV)
Cross-validation adalah metode statistic yang dapat digunakan untuk mengevaluasi
kinerja dari model atau algoritma damiana data dipisahkan menjadi dua subset yaitu
data proses pembelajaran dan validasi/evaluasi data. Model atau algoritma dilatih
dengan data pelatihan dan divalidasi dengan pengujian data. Salah satu metode
validasi silang yang populer adalah 10-Fold Cross-Validation. Dalam Teknik ini,
kumpulan data dibagi menjadi 10-bagian angka dari partisi acak. Kemudian sejumlah
percobaan 10 kali dilakukan, dimana setiap percobaan menggunakan data 10-partisi
data sebagai data uji dan memanfaatkan partisi yang tersisa sebagai data latih.
Confusion matrix
Confusion matrix adalah table yang digunakan untuk menggambarkan kinerja model
klasifikasi pada pengujian dataset yang labels sebenarnya diketahui. Ini memungkinkan
identifikasi confusion antar kelas dengan mudah, misalnya, satu kelas umum salah
diberi label sebagaimana yang lain. Jumlah prediksi benar dan salah diringkas dengan
nilai-nilai yang dihitung dan dipecahkan oleh masing-masing kelas. Confusion matriks
menunjukan caranya dimana confusion klasifikasi menentukan kelasnya dalam
membuat prediksi. Ini memberikan detail informasi tidak hanya tentang kesalahan
yang dibuat oleh pengklasifikasi tetap yang lebih penting adalah jenis kesalahan yang
dibuat.