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
Mustaqhfiri (2011)
Firmin
dan
II-1
II-2
a. Informatif
Tujuannya ringkasan ini adalah untuk menyatakan informasiinformasi
penting yang terdapat pada dokumen asal.
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
II-3
II-4
itu prefix, sufix, maupun gabungan antara prefix dan sufix (confix), menjadi
bentuk kata dasarnya. Stemming pada penelitian ini menggunakan Algoritma
Nazief dan Adriani. Menurut Andita (2010) menyatakan bahwa algoritma
stemming Nazief dan Adriani (1996) dikembangkan berdasarkan aturan
morfologi Bahasa Indonesia yang mengelompokkan imbuhan menjadi awalan
(prefix), sisipan (infix), akhiran (suffix) dan gabungan awalan-akhiran
(confixes). Algoritma ini menggunakan kamus kata dasar dan mendukung
recoding, yakni penyusunan kembali kata-kata yang mengalami proses
stemming berlebih (Andita, 2010).
Algoritma stemmer yang diperkenalkan Nazief dan Adriani didefinisikan
sebagai berikut (Andita, 2010):
1. Di awal proses stemming dan setiap langkah yang selanjutnya dilakukan,
lakukan pengecekan hasil proses stemming kata yang di-input-kan pada
langkah tersebut ke kamus kata dasar. Jika kata ditemukan, berarti kata
tersebut sudah berbentuk kata dasar dan proses stemming dihentikan. Jika
tidak ditemukan, maka langkah selanjutnya dilakukan.
2. Hilangkan Inflection Suffixes (-lah, -kah, -ku, -mu, atau -nya).
Jika berupa particles (-lah, -kah, -tah atau -pun) maka langkah ini
diulangi lagi untuk menghapus Possesive Pronouns (-ku, -mu, atau
nya), jika ada.
3. Hapus Derivation Suffixes (-i, -an atau -kan). Jika kata ditemukan
di kamus, maka algoritma berhenti. Jika tidak maka ke langkah 3a.
a. Jika -an telah dihapus dan huruf terakhir dari kata tersebut adalah k, maka -k juga ikut dihapus. Jika kata tersebut ditemukan dalam
kamus maka algoritma berhenti. Jika tidak ditemukan maka lakukan
langkah 3b.
b. Akhiran yang dihapus (-i, -an atau -kan) dikembalikan, lanjut
ke langkah 4
4. Hilangkan derivation prefixes.
a. Langkah 4 berhenti jika :
i.
Terjadi kombinasi awalan dan akhiran yang terlarang.
ii.
Awalan yang dideteksi saat ini sama dengan awalan yang
dihilangkan sebelumnya.
iii.
Tiga awalan telah dihilangkan.
b. Identifikasikan tipe awalan dan hilangkan. Awalan terdiri dari dua
tipe:
II-5
i.
ii.
dari kata.
Kompleks (me-, be-, pe, te-) adalah tipe-tipe awalan
yang dapat bermorfologi sesuai kata dasar yang mengikutinya.
Oleh karena itu, gunakan aturan pada Tabel 2.1 untuk
Karena
tidak
valid,
maka
recoding
dilakukan
dan
Atura
n
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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}...
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}...
II-6
17
18
19
20
21
22
23
24
25
26
27
28
29
30
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
peCerV...
33
peCP
Keterangan simbol huruf :
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
C : huruf konsonan
V : huruf vokal
A : huruf vokal atau konsonan P: partikel atau fragmen dari suatu kata,
misalnya er
e. Pemecahan Kata(Tokenizing)
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.
II-7
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
jumlah kemunculan term dalam koleksi dokumen inverse document frequency
(idf) (Mustaqhfiri, 2011). Nilai idf sebuah kata (term) dapat dihitung
menggunakan persamaan sebagai berikut:
IDF=log
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
Keterangan:
d = kalimat ked
t = kata (term) ket
(2.2)
II-8
(2.3)
II-9
D e = ( x i y i )
(2.4)
Keterangan:
De = euclidean distance
i = banyaknya data
x = bobot dokumen
y = pusat cluster
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.
II-10
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 )
(2.6)
II-12
dengan :
1) Pt adalah fungsi objektif.
2) vkj adalah nilai kedekatan term dokumen j terhadap cluster k.
3) ik adalah nilai pusat cluster k terhadap dokumen i.
4) xij adalah bobot term j pada dokumen i.
5) w adalah pangkat.
6) i adalah indeks dokumen.
7) j adalah indeks term.
8) k adalah indeks cluster.
9) n adalah jumlah dokumen.
10) c adalah jumlah cluster.
11) m adalah jumlah term.
e. Setelah fungsi objektif dihitung, langkah selanjutnya adalah memperbarui
derajat keanggotaan (ik).
ik =
( x ijv kj ) 2 w1
j =1
k=1
( x ijv kj )2
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[iki]
II-13
Analisis dan desain berorientasi objek adalah cara baru dalam memikirkan
satu masalah dengan menggunakan model yang dibuat menurut konsep sekitar
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[15]. Tools yang dapat
digunakan pada pendekatan analisis pengembangan sistem secara objek dapat
menggunakan UML.
Unified Modelling Language (UML) adalah sebuah bahasa yg telah
menjadi
standar
dalam
industri
untuk
visualisasi,
merancang
dan
II-14
memenuhi kasus penggunaan atau tidak. Setiap bagian dari use case yang
memenuhi tes sederhana ini mungkin menjadi kandidat yang baik untuk use
case[17].
b. Use Case Scenario
Sebuah diagram yang menunjukkan use case dan aktor mungkin menjadi titik
awal yang bagus, tetapi tidak memberikan detail yang cukup untuk desainer
sistem untuk benar-benar memahami persis bagaimana sistem dapat
terpenuhi. Cara terbaik untuk mengungkapkan informasi penting ini adalah
dalam bentuk penggunaan use case scenario berbasis teks per use casenya.
Berikut adalah dasar format penulisan use case scenario[17]. Dasar
pembangunan use case scenario dapat dilihat pada tabel di bawah ini:
Tabel 2.2 DASAR PEMBANGUNAN USE CASE SCENARIO
Use Case Name
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-15
yaitu
hubungan
statis
antar
class.
Umumnya
II-16
menggunakan
segiempat
dengan
sudut
membulat
untuk
II-17
2.9 Android[iki]
Android adalah sistem operasi smartphone layar sentuh seperti iOS iPhone
dan OS BlackBerry yang dalam pengembangannya dipimpin oleh google. Sistem
operasi ini bersifat Open Source dan dikembangkan berdasarkan kernel Linux
yang disematkan pada gadget, baik itu handphone atau tablet[10]. Android
memiliki OS yang sangat baik, cepat dan kuat serta memiliki antarmuka pengguna
intuitif yang dikemas dengan pilihan dan fleksibilitas. Sedangkan 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-18
II-19
II-20
2.12
Precision=
(2.8)
(2.9)
2precisionrecall
recall+ precision
(2.10)
II-21
dan
mendapatkan
informasi
tentang
pendapat
dari