Anda di halaman 1dari 21

BAB II

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)

yang merujuk kepada

Firmin

dan

Chrzanowski (1999) tujuan dari peringkasan teks dapat dikategorikan berdasarkan


maksud, fokus, dan cakupannya, yaitu sebagai berikut:

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

kalimat-kalimat baru yang merepresentasikan intisari teks sumber ke dalam


bentuk yang berbeda dengan kalimat-kalimat yang ada pada teks sumber.
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

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.

Standar (di-, ke-, se-) yang dapat langsung dihilangkan

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

mendapatkan hasil pemenggalan yang tepat.


c. Cari kata yang telah dihilangkan awalannya ini di dalam kamus kata
dasar. Apabila tidak ditemukan, maka langkah 4 diulangi kembali.
Apabila ditemukan, maka keseluruhan proses dihentikan.
5. Apabila setelah langkah 4 kata dasar masih belum ditemukan, maka
proses recoding dilakukan dengan mengacu pada aturan pada Tabel 2.1.
Recoding dilakukan dengan menambahkan karakter recoding di awal kata
yang dipenggal. Pada Tabel 2.1, karakter recoding adalah huruf kecil
setelah tanda hubung (-) dan terkadang berada sebelum tanda kurung.
Sebagai contoh, kata menangkap (aturan 15), setelah dipenggal menjadi
nangkap.

Karena

tidak

valid,

maka

recoding

dilakukan

dan

menghasilkan kata tangkap.


6. Jika semua langkah gagal, maka input kata yang diuji pada algoritma ini
dianggap sebagai kata dasar.
Tabel 2.1 ATURAN PEMENGGALAN AWALAN STEMMER NAZIEF DAN ADRIANI

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

TF = term frequency / frekuensi kata


W = bobot kalimat ked terhadap kata (term) ket
IDF = Inverse Document Frequency
2.5 Teori Fuzzy[rinaldi munir]
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.(usu)
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)

Fungssi keanggotaan suatu himpunan fuzzy dapat ditentukan dengan fungsi


segitiga, trapesium atau fungsi Gauss.
2.6 K-Means Clustering
K-Means Clustering merupakan salah satu metode data clustering non
hirarki yang berusaha mempartisi data yang ada ke dalam bentuk satu atau lebih
cluster/kelompok (Agusta, 2007).
Metode ini mempartisi data ke dalam cluster/ kelompok sehingga data
yang memiliki karakteristik yang sama dikelompokkan ke dalam satu cluster yang
sama dan data yang mempunyai karakteristik yang berbeda dikelompokkan ke
dalam kelompok yang lain (Agusta, 2007). Adapun tujuan dari data clustering ini
adalah untuk meminimalisasikan objective function yang diset dalam proses
clustering, yang pada umumnya berusaha meminimalisasikan variasi di dalam

II-9

suatu cluster dan memaksimalisasikan variasi antar cluster (Agusta, 2007).


Manfaat Clustering adalah sebagai Identifikasi Object (Recognition) misalnya
dalam bidang Image Processing, Computer Vision atau robot vision. Selain itu
adalah sebagai Sistem Pendukung Keputusan dan Data Mining seperti Segmentasi
pasar, pemetaan wilayah, Manajemen marketing dll.[pratama]
Data clustering menggunakan metode K-Means ini secara umum
dilakukan dengan algoritma dasar sebagai berikut (Wakhidah, 2010):
a. Tentukan jumlah cluster
b. Menentukan nilai centroid
Dalam menentukan nilai centroid untuk awal iterasi, nilai awal centroid
dilakukan secara acak. Sedangkan jika menentukan nilai centroid yang
merupakan tahap dari iterasi dihitung berdasarkan nilai rata-rata dari data
yang terletak pada centroid yang sama.
c. Menghitung jarak antara data dengan pusat cluster.
Untuk menghitung jarak tersebut dapat menggunakan Euclidean Distance
dengan rumus sebagai berikut.

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

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 [8].
Konsep dasar FCM adalah sebagai berikut [2] :
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.[2].
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

dikelompokan. Setelah itu tentukan parameter yang terlibat, yaitu :


1) Jumlah cluster (c)
2) Pangkat (w)
3) Maksimum iterasi (MaxIter)
4) Eror terkecil yang diharapkan (e)
5) Fungsi objektif awal (Po=0)
6) Iterasi awal (t=1)
Jumlah cluster (c) merupakan jumlah pembagian cluster yang akan
dibentuk. Pangkat (w) merupakan pangkat pembobot pada nilai-nilai
keanggotaan. Maksimum iterasi (MaxIter) merupakan penentuan maksimum
perulangan yang dilakukan untuk menemukan pusat cluster. Eror terkecil
yang diharapkan (e) merupakan selisih nilai terkecil fungsi objektif antara
iterasi sebelumnya dengan iterasi sekarang. Nilai eror terkecil ini harus
diatas 0.

II-11

b. Membangkitkan bilangan acak ik sebagai derajat keanggotaan untuk


masing-masing dokumen terhadap masing-masing cluster. Dimana i adalah
dokumen dan k adalah cluster. Bilangan acak ini berkisar antara 0 sampai 1,
dan bilangan acak ini merupakan derajat keanggotaan awal yang nantinya
akan diperbarui.
c. Setelah membangkitkan pusat cluster secara acak pada tiap dokumen,
langkah selanjutnya adalah menghitung kedekatan nilai term tiap dokumen
terhadap masing-masing cluster. Perhitungan dilakukan dengan rumus
berikut :
n

(( 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

mendokumentasikan sistem piranti lunak. UML menggunakan class dan


operation object dalam konsep dasarnya, maka ia lebih cocok untuk penulisan
piranti lunak dalam bahasa bahasa berorientasi objek[16]. Dalam membangun
block UML ada 3 hal yang harus diperhatikan, yaitu object (memodelkan konsep),
relationship (mengkoneksikan object), dan diagram (grouping yang saling
mengkoneksikan antara object dan relationship. Diagram yang umum dipakai
dalam analisis dan desain adalah:
a. Use Case Diagram
Use Case Diagram menggambarkan fungsionalitas yang diharapkan dari
sebuah sistem. Yang ditekankan adalah apa yang diperbuat sistem, dan
bukan bagaimana. Sebuah Use case merepresentasikan sebuah interaksi
antara aktor dengan sistem. Sebuah use case dapat meng-include
fungsionalitas use case lain sebagai bagian dari proses dalam dirinya. Secara
umum diasumsikan bahwa use case yang di-include akan dipanggil setiap kali
use case yang meng-include dieksekusi secara normal. Sebuah use case dapat
di- include oleh lebih dari satu use case lain, sehingga duplikasi
fungsionalitas dapat dihindari dengan cara menarik keluar fungsionalitas yang
serupa. Sebuah use case juga dapat meng-extend usecase lain dengan
behaviour-nya sendiri. Sementara hubungan generalisasi antar use case
menunjukkan bahwa use case yang satu merupakan spesialisasi dari yang
lain.
Dasar menentukan sebuah use case adalah use case merupakan sesuatu yang
menyediakan beberapa hasil terukur kepada pengguna atau sistem eksternal.
Use case harus memiliki sangat jelas kriteria lulus / gagal. Pengembang,
tester, penulis teknis, dan pengguna harus secara eksplisit tahu apakah sistem

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

Berisi nama dari use case yang akan digunakam


Menjelaskan apa yang actor coba untuk dapatkan dari use

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

menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan


sebagai respons dari sebuah event untuk menghasilkan Output tertentu.
Diawali dari apa yang men-trigger aktivitas tersebut, proses dan perubahan
apa saja yang terjadi secara internal dan Output apa yang dihasilkan.

II-15

Masing-masing objek, termasuk aktor, memiliki lifeline vertikal. Message


digambarkan sebagai garis berpanah dari satu objek ke objek lainnya. Pada
fase desain berikutnya, message akan dipetakan menjadi operasi/metoda dari
class. Activation bar menunjukkan lamanya eksekusi sebuah proses, biasanya
diawali dengan diterimanya sebuah message [16]. Untuk objek-objek yang
memiliki sifat khusus, standar UML mendefinisikan icon khusus untuk objek
boundary, controller dan persistent entity.
d. Class Diagram
Class adalah sebuah spesifikasi yang jika diinstansiasi akan menghasilkan
sebuah objek dan merupakan inti dari pengembangan dan desain berorientasi
objek. Class menggambarkan keadaan (atribut/properti) satu sistem, sekaligus
menawarkan layanan untuk memanipulasi keadaan tersebut (metoda/fungsi).
Class diagram menggambarkan struktur dan deskripsi class, package dan
objek beserta hubungan satu sama lain seperti containment, pewarisan,
asosiasi, dan lain-lain. Class memiliki tiga area pokok:
1) Nama dan stereotype
2) Atribut
3) Metode
Atribut dan metode dapat memiliki salah satu sifat berikut:
1) Private, tidak dapat dipanggil dari luar class yang bersangkutan.
2) Protected, hanya dapat dipanggil oleh class yang bersangkutan dan
anak-anak yang mewarisinya.
3) Public, dapat dipanggil oleh siapa saja.
Class dapat merupakan implementasi dari sebuah interface, yaitu class
abstrak yang hanya memiliki metoda. Interface tidak dapat langsung
diinstansiasikan, tetapi harus diimplementasikan dahulu menjadi sebuah
class. Sesuai dengan perkembangan class model, class dapat dikelompokkan
menjadi package. Kita juga dapat membuat diagram yang terdiri atas
package. Class memiliki tipe-tipe relationship, diantaranya :
1) Asosiasi,

yaitu

hubungan

statis

antar

class.

Umumnya

menggambarkan class yang memiliki atribut berupa class lain, atau


class yang harus mengetahui eksistensi class lain.
2) Agregasi, yaitu hubungan yang menyatakan bagian terdiri atas dimana
ketika satu class di share atau direferensikan kepada objek yang ada di
class lain.

II-16

3) Pewarisan, yaitu hubungan hirarkis antar class. Class dapat diturunkan


dari class lain dan mewarisi semua atribut dan metoda class asalnya
dan menambahkan fungsionalitas baru, sehingga ia disebut anak dari
class yang diwarisinya. Kebalikan dari pewarisan adalah generalisasi.
4) Komposisi, yaitu jenis relasi class diagram yang kuat dimana jika
sebuah class tidak bisa berdiri sendiri dan harus merupakan bagian
dari class yang lain, maka class tersebut memiliki relasi Composition
terhadap class tempat dia bergantung tersebut. Sebuah relationship
composition digambarkan sebagai garis dengan ujung berbentuk
jajaran genjang berisi/solid.
5) Depedensi, salah satu jenis relasi class diagram yang lemah dimana
objek dalam suatu class akan bekerja sangat singkat dengan objek
yang ada pada class lain
e. Acivity Diagram
Activity diagram menggambarkan berbagai alur aktivitas dalam sistem yang
sedang dirancang, bagaimana masing-masing aliran berawal, decision yang
mungkin terjadi, dan bagaimana mereka berakhir. Activity diagram juga dapat
menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi.
Sebuah aktivitas dapat direalisasikan oleh satu use case atau lebih. Aktivitas
menggambarkan proses yang berjalan, sementara use case menggambarkan
bagaimana aktor menggunakan sistem untuk melakukan aktivitas. Standar
UML

menggunakan

segiempat

dengan

sudut

membulat

untuk

menggambarkan aktivitas. Decision digunakan untuk menggambarkan


behaviour pada kondisi tertentu. Untuk mengilustrasikan proses-proses
paralel (fork dan join) digunakan titik sinkronisasi yang dapat berupa titik,
garis horizontal atau vertikal. Activity diagram dapat dibagi menjadi beberapa
object swimlane untuk menggambarkan objek mana yang bertanggung jawab
untuk aktivitas tertentu[16].

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.

Gambar 2.1 ANDROID LIFE CYCLE

Gambar diatas menjelaskan mengenai sebuah ilustrasi sederhana dari


siklus hidup activity yang dinyatakan sebagai langkah piramida. Hal ini
menunjukkan bagaimana untuk setiap callback yang digunakan untuk mengambil
aktivitas langkah menuju state atas kemudian dilanjutkan pada metode callback
yang mengambil langkah menurun. Kegiatan ini juga dapat kembali ke keadaan
dari statepause dan stop. Siklus hidup activity ini menjadi sangat penting ketika
kita hendak membuat aplikasi berbasis android. Gunanya adalah agar aplikasi

II-18

yang dibangun berjalan dengan baik. Berikut penjelasan pada masing-masing


state:
1) onCreate(), Method ini dipanggil ketika activity pertama kali dibuat.
2) onStart(), Method ini dipanggil ketika sebuah activity tampil ke pengguna
3) onResume(), Method ini dipanggil ketika activity yang berjalan pada saat
itudihentikan sementara (paused) dan activity sebelumnya dijalankan
kembali(resumed). (Hasil dari method OnRestart())
4) onPause(), Method ini di panggil ketika activity di hentikan sementara (pause)
dan berikutnya ketika dijalankan kembali akan berada dalam posisi resume
dan memanggil method OnResume()
5) onStop(), Method ini dipanggil ketika activity tidak lagi tampak kepada
pengguna
6) onDestroy(), Method ini dipanggil sebelum activity dihancurkan (destroy)
oleh sistem (baik secara manual maupun untuk kepentingan pelonggaran
memori).
Banyak sekali fitur yang dapat dimanfaatkan pada platform android ini.
Diantaranya adalah Location Based Services (LBS) dan Google Cloud Messaging
(GCM). Location Based Services (LBS) dapat dimanfaat untuk layanan yang
menggunakan informasi geografis dalam memberikan informasi lokasi kepada
pengguna, sebagai petunjuk posisi atau lokasi piranti mobile pengguna berada,
dan menemukan rute jalan sesuai permintaan. LBS dapat digambarkan sebagai
satu layanan yang berada pada pertemuan tiga teknologi yaitu: Geographic
Information System (GIS), Internet Service, dan Mobile Devices[11]. Google
Cloud Messaging atau disingkat GCM merupakan suatu layanan yang disediakan
oleh google, dengan layanan ini kita dapat mengirimkan data dari server ke user
yang pada aplikasinya menggunakan layanan ini. Google Cloud Messaging dapat
digunakan developer, khususnya developer android untuk mengirimkan push
notification.
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

II-19

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 [iki]
Metode pengujian blackbox fokus pada keperluan penelusuran kesalahan
fungsional dari software. 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.

II-20

2.12

Teknik Evaluasi Peringkas Teks

Adapun Teknik yang digunakan untuk mengevaluasi hasil suatu ringkasan


teks merupakan topik yang cukup sulit, baik evaluasi terhadap ringkasan yang
dihasilkan dari mesin peringkas otomatis ataupun ringkasan yang dihasilkan
secara manual yang dibuat manusia, dikarenakan tidak terdapat definisi ringkasan
ideal.
Menurut Pratama(2014) yang merujuk pada Mani dkk(2002) dan
Hassel(2004) metode untuk melakukan evaluasi terhadap hasil dari ringkasan
secara umum dibagi 2, yaitu:
a. Ekstrinsik. Metode evaluasi ekstrinsik adalah menghitung efektivitas dan
akseptabilitas dari hasil ringkasan untuk tugas-tugas tertentu, misalnya
assessment terhadap hasil ringkasan.
b. Intrinsik. Metode evaluasi intrinsik adalah evaluasi yang dilakukan oleh
system peringkas itu sendiri, misalnya menggunakan F-Measures. Evaluasi
ini difokuskan pada tingkat koheren dan informatif dari hasil ringkasan.
Dalam penelitian ini, metode evaluasi yang digunakan adalah metode
intrinsik penghitungan F-Measure berdasarkan perhitungan Precision dan Recall
yang menurut Pratama(2014) merujuk pada Hassel(2004) merupakan standar
evaluasi dalam penghitungan information retrieval. Menurut Zaman dan Winarko
(2011) yang merujuk kepada Mani dkk. (2002) standar evaluasi perhitungan
information retrieval dengan menggunakan Precision dan Recall juga dapat
digunakan dalam evaluasi perhitungan peringkas teks otomatis.
Recall=

Precision=

kalimat ringkasan sistem ringkasanideal


kalimat ringkasan ideal

kalimat ringkasan sistem ringkasan ideal


kalimat ringkasan sistem

(2.8)

(2.9)

Kombinasi antara nilai recall dan precision menghasilkan nilai f-measure.


Fmeasure=

2precisionrecall
recall+ precision

(2.10)

II-21

Menurut Mustaqhfiri (2011) yang merujuk kepada Edmudson (1969)


masalah utama dari evaluasi peringkas teks ini adalah sangat nyata, yaitu tidak ada
satupun ringkasan yang benar. Untuk membantah pernyataan tersebut maka
peneliti melakukan evaluasi terhadap hasil ringkasan dengan meminta
pertimbangan pendapat ahli (Expert Judgement) bahasa indonesia sebagai
pengevaluasi ringkasan teks secara manual untuk menciptakan sekumpulan
ringkasan manual, masing-masing satu untuk menguji teks. Pembuat ringkasan
manual akan meringkas dengan cara memilih kalimat yang relevan (Zaman dan
Winarko, 2011). Pada penelitian ini pembuat ringkasan manual, yaitu Expert
Judgement. Hasil ringkasan expert judgement akan dibandingkan dengan hasil
ringkasan sistem. Yang diukur adalah jumlah kalimat yang sama (overlap),
seringkali disebut dengan recall dan precision kalimat atau frase (Mustaqhfiri,
2011).
Expert judgement atau penilaian ahli adalah sebuah pendekatan untuk
mengumpulkan

dan

mendapatkan

informasi

tentang

pendapat

dari

individuindividu dengan keahlian tertentu. Pendekatan dengan cara seperti ini


biasanya digunakan dalam bentuk panel, yaitu menggabungkan pendapat untuk
mencakup berbagai isu tentang suatu topik. Expert judgement merupakan bagian
integral dari kebanyakan cara pengambilan keputusan (www.unfccc.int).

Anda mungkin juga menyukai