BAB II - Copy - Rev 1
BAB II - Copy - Rev 1
LANDASAN TEORI
Pada bab ini, akan dibahas teori-teori yang berhubungan dengan teori
dalam membangun aplikasi.
2.1 Peringkas Teks Otomatis
2.1.1 Pengertian
Konsep sederhana ringkasan adalah mengambil bagian penting dari
keseluruhan isi dari artikel. Menurut Mani dan Maybury, ringkasan adalah
mengambil isi yang paling penting dari sumber informasi yang kemudian
menyajikannya kembali dalam bentuk yang lebih ringkas bagi penggunanya.
Aplikasi peringkas teks otomatis merupakan teknologi yang menawarkan solusi
untuk mencari informasi dengan menghasilkan ringkasan.
2.1.2 Tahapan membuat Ringkasan
Menurut Juhara dkk (2005) ada beberapa tahapan untuk membuat
ringkasan, yaitu sebagai berikut:
a. Membaca naskah asli secara menyeluruh untuk mengetahui kesan umum,
gagasan pengarang, dan sudut pandangnya.
b. Mencatat semua gagasan utama atau gagasan penting.
c. Menyusun kembali suatu karangan singkat berdasarkan gagasan tersebut.
2.1.3 Tujuan Ringkasan
Menurut
merujuk kepada
Firmin dan
II-1
II-2
b. Indicatif
Tujuannya ringkasan ini adalah untuk dijadikan referensi yang membantu
pembaca mengetahui isi dari teks daripada membaca keseluruhan teks yang
ada. Ringkasan ini meliputi topik dari teks asal.
c. Evaluatif
Yaitu melibatkan pembuatan sebuah pertimbangan pada teks asal, seperti
suatu tinjauan ulang atau opini.
d. User-Focused
Yaitu ringkasan yang dibuat berdasarkan topik yang dipilih oleh user, sering
yang merupakan jawaban dari query yang dimiliki oleh user.
e. Generic
Yaitu sifatnya lebih umum dan berdasarkan pada teks aslinya.
f. Single Document
Dokumen tunggal (single document) yaitu ringkasan yang dihasilkan
merupakan ringkasan dari satu dokumen.
g. Multi Document
Pada peringkasan multi document, ringkasan merupakan hasil ringkasan dari
banyak dokumen.
2.1.4 Rasio Kompresi
Rasio kompresi (compression rate) pada suatu ringkasan berfungsi untuk
menentukan persentase batas panjang ringkasan yang akan ditampilkan
(Mustaqhfiri, 2011).
2.1.5 Pendekatan Peringkas Teks
Menurut Zaman dan Winarko (2011) yang merujuk kepada Hassel (2004)
terdapat 2 pendekatan peringkas teks, yaitu:
a. Ekstraksi (extractive summary). Pada teknik ekstraksi, sistem menyalin unitunit teks yang dianggap paling penting dari teks sumber menjadi ringkasan.
Unit-unit teks yang disalin dapat berupa klausa utama, kalimat utama, atau
paragraf utama tanpa ada penambahkan kalimat-kalimat baru yang tidak
terdapat pada dokumen aslinya.
b. Abstraksi (abstractive summary). Teknik abstraksi menggunakan metode
linguistik untuk memeriksa dan menafsirkan teks dokumen menjadi
ringkasan. Ringkasan teks tersebut dihasilkan dengan cara menambahkan
kalimat-kalimat baru yang merepresentasikan intisari teks sumber ke dalam
bentuk yang berbeda dengan kalimat-kalimat yang ada pada teks sumber.
II-3
2.1.6 Artikel
Artikel adalah tulisan lengkap yang dimuat dalam surat kabar atau majalah
yang mempunyai judul, pendahuluan, penyajian masalah, pembahasan dan
penutup (Semi, 1995). Dalam Kamus Besar Bahasa Indonesia Departemen
Pendidikan Nasional Balai Pustaka (2008) mendefinisikan artikel yaitu karya tulis
lengkap di majalah dan surat kabar.
2.2 Pra Proses
Tahap ini merupakan tahap awal sebelum dilakukannya peringkasan teks.
Pada tahap ini proses yang dilakukan antara lain membagi dokumen menjadi
kalimat, case folding, menghapus stopword, melakukan proses stemming dan
membagi dokumen menjadi kata (tokenizing).
a. Pemecahan Kalimat
Memecah dokumen menjadi kalimat-kalimat merupakan langkah awal
tahapan preprocessing. Pemecahan kalimat yaitu proses memecah string teks
dokumen yang panjang menjadi kumpulan kalimat-kalimat. Dalam memecah
dokumen menjadi kalimat-kalimat menggunakan fungsi split (), dengan tanda
titik ., tanda tanya ? dan tanda seru ! sebagai pemisah (delimiter) untuk
memotong string dokumen (Mustaqhfiri, 2011).
b. Case Folding
Case folding adalah tahapan proses mengubah semua huruf dalam teks
dokumen menjadi huruf kecil, serta menghilangkan karakter selain a-z.
(Mustaqhfiri, 2011).
c. Penghapusan Stopword
Penghapusan Stopword merupakan proses penghilangan kata stopword.
Stopword adalah kata - kata yang sering kali muncul dalam dokumen namun
arti dari kata-kata tersebut tidak deskriptif dan tidak memiliki keterkaitan
dengan tema tertentu. Misalnya di, oleh, pada, sebuah, karena dan
lain sebagainya (Mustaqhfiri, 2011).
d. Stemming
Menurut Zaman dan Winarko (2011) yang merujuk kepada Kurniawan (2003)
stemming adalah proses pemetaan dari penguraian berbagai bentuk kata baik
itu prefix, sufix, maupun gabungan antara prefix dan sufix (confix), menjadi
bentuk kata dasarnya. Stemming pada penelitian ini menggunakan Algoritma
II-4
II-5
ii.
Karena
tidak
valid,
maka
recoding
dilakukan
dan
II-6
Atura
n
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Format Kata
berV
berCAP
berCAerV
belajar
beC1erC2
terV
terCerV
terCP
teC1erC2
me{l|r|w|y}V
mem{b|f|v}...
mempe{r|l}...
mem{rV|V}...
men{c|d|j|z}...
menV...
meng{g|h|q}...
mengV...
menyV...
mempV...
pe{w|y}V...
perV...
perCAP
perCAerV...
pem{b|f|V}...
pem{rV|V}...
pen{c|d|j|z}..
penV...
peng{g|h|q}...
pengV...
penyV...
31
pelV...
32
33
peCerV...
peCP
Pemenggalan
ber-V| be-rV
ber-CAP dimana C!=r & P!=er
ber-CaerVdimana C!=r
bel-ajar
be-C1erC2dimana C1!={r|l}
ter-V| te-rV
ter-CerV dimana C!=r
ter-CPdimana C!=r dan P!=er
te-C1erC2 dimana C!=r
me-{l|r|w|y}V
mem-{b|f|v}
mem-pe
me-m{rV|V}... | me-p{rV|V}...
men-{c|d|j|z}...
me-nV... | me-tV
meng-{g|h|q}...
meng-V... |meng-kV...
meny-sV
mem-pV... dimana V!=e
pe-{w|y}V...
per-V... | pe-rV...
per-CAP... dimana C!=rdanP!=er
per-CAerV... dimana C!=r
pem-{b|f|V}...
pe-m{rV|V}... | pe-p{rV|V}...
pen-{c|d|j|z}...
pe-nV... | pe-tV
peng-{g|h|q}...
peng-V... | peng-kV...
peny-sV
pe-lV... kecuali pelajar yang menghasilkan
ajar
per-erV... dimana C!={r|w|y|l|m|n}
pe-CP... dimana C!={r|w|y|l|m|n} dan P!=er
II-7
Tokenizing adalah proses pemotongan string input berdasarkan tiap kata yang
menyusunnya. Pemecahan kalimat menjadi kata-kata tunggal dilakukan
dengan men-scan kalimat dengan pemisah (delimiter) white space (spasi, tab,
dan newline) (Mustaqhfiri, 2011).
2.3 Proses Peringkasan Teks
Secara umum terdapat tiga tahapan dalam proses peringkasan teks, yaitu
sebagai berikut (Mustaqhfiri, 2011):
a. Topic Identification
Tahapan ini meliputi identifikasi faktor yang sangat penting tentang apa yang
dibicarakan dala teks tersebut. Ada beberapa teknik untuk melakukannya,
diantaranya:
1) Dalam beberapa tipe teks, informasi penting terdapat dalam bagian
bagian tertentu dalam teks tersebut, seperti dalam judul, kalimat pertama,
kalimat terakhir dan lain sebagainya.
2) Beberapa kata atau frase mengidentifikasi intisari dari suatu teks.
3) Beberapa kata cenderung muncul lebih. Ini dijadikan faktor penentu topik
dari suatu teks (word frequency).
4) Ada juga topik diidentifikasi dari jumlah pengertiannya atau makna
dibandingkan kata.
b. Interpretation
Interpretasi peringkas yang ekstraktif berdasarkan pada metode yang
digunakan, Ekstraksi merupakan pemilihan terhadap beberapa kalimat yang
dianggap paling penting dari sebuah dokumen.
c. Generating
Tahapan ini adalah pembangkitan atau pembentukan hasil akhir. Terdiri dari
penggabungan frase, pencetakan kata atau frase dan pembangkitan kalimat.
Terdapat beberapa metode yang dapat digunakan, diantaranya :
1) Extraction, hasil akhir berisi kalimat atau frase yang dihasilkan setelah
semua tahap proses pada text summarization selesai dilakukan.
2) Topic list, hasil akhir berisi kata-kata yang sering muncul atau
penggabungan pengertian yang telah diinterpretasi.
2.4 Algoritma TF-IDF
Metode Term Frequency - Inverse Document Frequency (TF-IDF)
merupakan suatu cara untuk memperoleh pembobotan berdasarkan jumlah
kemunculan suatu kata (term) dalam sebuah dokumen term frequency (tf) dan
II-8
N
df
(2.1)
N adalah jumlah dokumen yang berisi term (t) dan df adalah jumlah
kemunculan kata (term) terhadap N. Adapun rumus yang digunakan untuk
menghitung bobot (W) masing-masing dokumen, yaitu:
W dt =TF dtIDF t
(2.2)
Keterangan:
d = kalimat ked
t = kata (term) ket
TF = term frequency / frekuensi kata
W = bobot kalimat ked terhadap kata (term) ket
IDF = Inverse Document Frequency
2.5 Teori Fuzzy
Teori himpunan logika samar dikembangkan oleh Prof. Lofti Zadeh pada
tahun 1965. Zadeh berpendapat bahwa logika benar dan salah dalam logika
konvensional tidak dapat mengatasi masalah gradasi yang berada pada dunia
nyata. Untuk mengatasi masalah gradasi yang tidak terhingga tersebut, Zadeh
mengembangkan sebuah himpunan fuzzy. Tidak seperti logika boolean, logika
fuzzy mempunyai nilai yang kontinue. Samar dinyatakan dalam derajat dari suatu
keanggotaan dan derajat dari kebenaran. Oleh sebab itu sesuatu dapat dikatakan
sebagian benar dan sebagian salah pada waktu yang sama.(Rinaldi Munir)
Dalam teori logika fuzzy dikenal himpunan fuzzy (fuzzy set) yang
merupakan pengelompokan sesuatu berdasarkan varibel bahasa, yang dinyatakan
dalam fungsi keanggotaan. Di dalam semester pembicaraan U, fungsi keanggotaan
dari suatu himpunan tersebut bernilai antara 0.0 sampai dengan 1.0. Jika A,
hikpunan fuzzy, A: fungsi keanggotaan dan X: semesta, maka fungsi
keanggotaan daam suatu himpunan fuzzy dapat dinyatakan dengan:
A= { x , A ( x ) )x X }
(2.3)
II-9
D e = ( x i y i )
Keterangan:
De = euclidean distance
i = banyaknya data
x = bobot dokumen
y = pusat cluster
(2.4)
II-10
d. Pengelompokan Data
Untuk menentukan anggota cluster adalah dengan memperhitungkan jarak
terpendek data dengan menggunakan rumus (2.3). Nilai yang diperoleh dalam
keanggotaan data pada distance matriks adalah 0 atau 1, dimana nilai 1 untuk
data yang dialokasikan ke cluster dan nilai 0 untuk data yang dialokasikan ke
cluster yang lain.
e. Kembali ke tahap 2, lakukan perulangan hingga nilai centroid yang dihasilkan
tetap dan anggota cluster tidak berpindah ke cluster lain.
2.7 Fuzzy C-Means Clustering
Fuzzy C-Means adalah suatu teknik peng-cluster-an yang mana
keberadaan tiap titik data dalam suatu cluster ditentukan oleh derajat keanggotaan.
FCM menggunakan model pengelompokan fuzzy sehingga data dapat menjadi
anggota dari semua kelas atau cluster terbentuk dengan derajat atau tingkat
keanggotaan yang berbeda antara 0 hingga 1. Teknik ini pertama kali
diperkenalkan oleh Jim Bezdek pada tahun 1981(Yudha, 2012).
Konsep dasar FCM adalah sebagai berikut :
a. Tentukan pusat cluster, yang akan menandai lokasi rata-rata untuk tiap-tiap
cluster. Pada kondisi awal, pusat cluster ini masih belum akurat. Tiap-tiap
titik data memiliki derajat keanggotaan untuk tiap-tiap cluster.
b. Perbaiki pusat cluster dan derajat keanggotaan tiap-tiap titik data secara
berulang, maka akan dapat dilihat bahwa pusat cluster akan bergerak menuju
suatu lokasi yang tepat. Perulangan ini didasarkan pada minimisasi fungsi
objektif yang menggambarkan jarak dari titik data yang diberikan ke pusat
cluster yang terboboti oleh derajat keanggotaan titik data tersebut.
Output dari FCM bukan merupakan fuzzy inference system, namun
merupakan deretan pusat cluster dan beberapa derajat keanggotaan untuk tiap-tiap
titik data (Yudha, 2012).
Dalam algoritma FCM ini terdapat tahap-tahap yang dilakukan dalam
membentuk clusterisasinya. Berikut tahapan yang dilakukan :
a. Memasukan data dokumen hasil pembobotan tf-idf
yang
akan
II-11
(( ik )w x ij)
v kj = i=1
(2.5)
( ik ) w
i=1
dengan :
1) vkj adalah nilai kedekatan term dokumen j terhadap cluster k.
2) ik adalah nilai pusat cluster k terhadap dokumen i.
3) xij adalah bobot term j pada dokumen i.
4) w adalah pangkat.
5) i adalah indeks dokumen.
6) j adalah indeks term.
7) k adalah indeks cluster.
8) n adalah jumlah dokumen.
d. Langkah selanjutnya adalah menghitung fungsi objektif pada iterasi ke-t.
Perhitungan ini dilakukan dengan cara berikut :
n
Pt =
i=1 k=1
(( (
m
j=1
x ij v kj ) ( ik )
dengan :
1) Pt adalah fungsi objektif.
(2.6)
II-12
ik =
( x ijv kj ) 2
j =1
1
2 w1
( x ijv kj )
k=1
j=1
1
w1
(2.7)
dengan :
1) ik adalah nilai pusat cluster k terhadap dokumen i.
2) xij adalah bobot term j pada dokumen i.
3) vkj adalah nilai kedekatan term dokumen j terhadap cluster k.
4) w adalah pangkat.
5) i adalah indeks dokumen.
6) j adalah indeks term.
7) k adalah indeks cluster.
8) c adalah jumlah cluster.
9) m adalah jumlah term.
f. Setelah derajat keanggotaannya selesai diperbarui, langkah selanjutnya
adalah mengecek kondisi berhenti :
1) Jika (|Pt Pt-1| < e) atau (t > MaxIter), maka berhenti
2) Jika tidak : t = t + 1, kembali ke langkah c untuk melakukan
perulangan sampai bisa memenuhi kondisi f.1)..
Setelah selesai melakukan algoritma diatas dan memenuhi kondisi f.1),
maka akan didapatkan derajat keanggotaan yang berisi nilai kedekatan dokumen
dengan masing-masing cluster. Nilai kedekatan ini berkisar dari 0 sampai 1. Jika
suatu dokumen memiliki nilai kedekatan dengan suatu kelas mendekati angka 1
daripada dengan kelas lainnya, maka dokumen itu berada pada kelas tersebut.
2.8 Object Oriented Analysis and Design
Analisis dan desain berorientasi objek adalah cara baru dalam memikirkan
satu masalah dengan menggunakan model yang dibuat menurut konsep sekitar
II-13
dunia nyata. Tujuan dari analisis berorientasi objek adalah untuk mengembangkan
model yang menggambarkan perangkat lunak komputer karena bekerja untuk
memenuhi seperangkat persyaratan yang ditentukan user. Tools yang dapat
digunakan pada pendekatan analisis pengembangan sistem secara objek dapat
menggunakan UML (Kurniawan, 2014).
Unified Modelling Language (UML) adalah sebuah bahasa yg telah
menjadi
standar
dalam
industri
untuk
visualisasi,
merancang
dan
II-14
memenuhi tes sederhana ini mungkin menjadi kandidat yang baik untuk use
case (Hamilton, 2006).
II-15
Goal In Context
Description
Related Use Case
Successful End
Condition
Failed End Condition
Actors
Trigger
Main Flow
Extension
case
Menjelaskan gambaran dari use case
Daftar use case yang berhubungan dengan use case tersebut
Kondisi use case jika berhasil
Kondisi use case jika gagal
Daftar actor yang dilakukan untuk mengawali use case
Aktifitas yang dilakukan untuk mengawali use case
step
action
1
Deskripsi urutan aksi dari aktifitas use case
2
3
Step
Braching Action
Deskripsi urutan aksi lain selain urutan aksi
2.1
utama
2.2
c. Sequence Diagram
Sequence diagram menggambarkan interaksi antar objek di dalam dan di
sekitar sistem berupa message yang digambarkan terhadap waktu. Sequence
diagram terdiri atar dimensi vertikal (waktu) dan dimensi horizontal (objekobjek
yang
terkait).
Sequence
diagram
biasa
digunakan
untuk
II-16
yaitu
hubungan
statis
antar
class.
Umumnya
II-17
menggunakan
segiempat
dengan
sudut
membulat
untuk
II-18
android SDK (Software Development Kit) menyediakan tools dan API yang
diperlukan untuk mengembangkan aplikasi pada platform android dengan
menggunakan bahasa pemrograman Java.
Di dalam android terdapat activity dimana komponen ini memberi
interaksi antara user dan aplikasi yang dibangun melalui user interface. Activity ini
memiliki Siklus hidup yang dinamakan Android Life Cycle. Flowchart siklus
hidup tersebut dapat dilihat pada Gambar 0.4.
II-19
II-20
2.10
SQLite
SQLite adalah database yang berukuran kecil, berdiri sendiri, bukan
database client server, tanpa konfigurasi namun mempunyai fitur penuh perintah
SQL[bookmark]. SQLite adalah sebuah open source database yang telah ada
cukup lama, cukup stabil, dan sangat terkenal pada perangkat kecil, termasuk
Android. Android menyediakan database relasional yang ringan untuk setiap
aplikasi menggunakan SQLite. Aplikasi dapat mengambil keuntungan dari itu
untuk mengatur relational database engine untuk menyimpan data secara aman
dan efiesien. Untuk Android, SQLite dijadikan satu di dalam Android runtime,
sehingga setiap aplikasi Android dapat membuat basis data SQLite. Karena
SQLite menggunakan antarmuka SQL, cukup mudah untuk digunakan orang
orang dengan pengalaman lain yang berbasis databases. Terdapat beberapa alasan
mengapa SQLite sangat cocok untuk pengembangan aplikasi Android, yaitu:
a. database dengan konfigurasi nol, artinya tidak ada konfigurasi database untuk
para developer, hal ini membuatnya relatif mudah digunakan.
b. Tidak memiliki server.
c. Tidak ada proses database SQLite yang berjalan. Pada dasarnya satu set
libraries menyediakan fungsionalitas database.
d. Single-file database. Ini membuat keamanan database secara langsung.
e. Open source. Hal ini membuat developer mudah dalam pengembangan
aplikasi
2.11
Pengujian Black Box
Metode pengujian blackbox fokus pada keperluan penelusuran kesalahan
fungsional dari software (Rizki, 2014). Ujicoba blackbox berusaha untuk
menemukan kesalahan dalam beberapa kategori, diantaranya:
a. Fungsi-fungsi yang salah atau hilang
b. Kesalahan interface
c. Kesalahan dalam struktur data atau akses database eksternal
d. Kesalahan performa
e. kesalahan inisialisasi dan terminasi
Teknik pengujian black box terdiri dari 10 jenis diantaranya Equivalence
Partitioning, Boundary Value Analysis/Limit Testing, Comparison Testing, Sample
Testing, Robustness Testing, Behavior Testing, Requirement Testing, Performance
Testing, Endurance Testing, Cause-Effect Relationship Testing.
2.12
II-21
Precision=
(2.8)
(2.9)
2precisionrecall
recall+ precision
(2.10)
II-22
dan
mendapatkan
informasi
tentang
pendapat
dari