Anda di halaman 1dari 32

1

IMPLEMENTASI ALGORITMA KNUTH-MORRIS-PRATT (KMP) UNTUK


PENCARIAN STRING DAN TEXT TO SPEECH PADA APLIKASI KAMUS
ISTILAH TEKNIK INFORMATIKA BERBASIS MOBILE ANDROID

Proposal Tugas Akhir


Diajukan Sebagai Salah Satu Syarat Penulisan Tugas Akhir
Program Studi S1 Teknik Informatika

Diajukan Oleh :
Toha Mukarrom
1209705141

JURUSAN TEKNIK INFORMATIKA


FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI
SUNAN GUNUNG DJATI
BANDUNG
2013

1. Judul Skripsi
Implementasi Algoritma Knuth-Morris-Pratt (KMP) untuk Pencarian String dan Text
To Speech pada Aplikasi Kamus Istilah Teknik Informatika berbasis Mobile Android

2. Latar Belakang
Dunia saat ini sedang melangkah pasti pada dunia mobile dimana teknologi informasi
yang awalnya hanya bisa digunakan di kantor atau rumah mulai tergantikan dengan notebook,
netbook, smartfhone, dan peralatan mobile yang lainnya. Telepon seluler pun menjadi salah
satu yang akan berperan aktif dalam dunia mobile ini. Kebutuhan manusia yang instan
menuntut ditemukannya teknologi teknologi yang dapat membantu manusia dalam
pekerjaannya.
Dalam dunia teknologi khususnya program studi teknik infomatika, banyak istilah-istilah
yang baru atau update. Sehingga orang awam yang ingin tahu istilah tersebut harus
melakukan pencarian di internet atau mencari buku mengenai teknologi. Itu berarti
memboroskan waktu dan juga uang tentunya.
Tersedianya e-book dan buku buku yang menampilkan secara khusus kumpulan istilah
istilah IT dalam bentuk kamus. Tapi itu tidak praktis dan juga banyak kekurangannya mulai
dari segi konten, pencarian kata dan juga device untuk membuka e-book tersebut. Penelitian
ini akan mengimplementasikan Algoritma Knuth-Morris-Pratt (KMP) dan Text to Speech
di dalam aplikasi kamus istilah teknik informatika.
Selain itu, hal lain yang menarik dari perkembangan teknologi sekarang ini yaitu pesatnya
perkembangan teknologi pada smartphone berbasis android karena android memberikan
platform terbuka bagi para pengembang untuk menciptakan aplikasi mereka sendiri untuk
digunakan oleh bermacam piranti bergerak ataupun untuk telepon seluler. Keunggulan

tersebut yaitu dengan cara memakai basis kode komputer yang kemudian dapat
didistribusikan secara terbuka (open source) sehingga pengguna dapat menciptakan atau
menggunakan aplikasi baru di dalamnya. Android juga menyediakan banyak package yang
memiliki fitur-fitur seperti framework, integrated virtual dalvik, integrated browser, grafis,
database dan lainnya, serta salah satunya adalah package untuk mendukung kriptografi,
Aplikasi Android dibuat dengan basis bahasa pemograman java dan Integrated Development
Environment (IDE) yang diintegrasikan pada tools Eclipse, dengan beberapa beberapa
dukungan fitur tersebut sehingga sangat mendukung untuk mengimplementasikan pembuatan
kamus istilah teknik informatika di sistem operasi android.
Berdasarkan pemaparan diatas, maka penulis tertarik menjadikan perasalahan tersebut
sebagai tema dari Tugas Akhir dengan judul Implementasi Algoritma Knuth-Morris-Pratt
(KMP) untuk Pencarian String dan Text To Speech pada Aplikasi Kamus Istilah Teknik
Informatika berbasis Mobile Android

3. Rumusan Masalah
Berdasarkan pengamatan maka dirumuskan pada penelitian ini :
a. Bagaimana mengimplementasikan algoritma Knut-Morris-Pratt (KMP) dan Text
to Speech pada aplikasi kamus istilah teknik informatika ?
b. Bagaimana membangun aplikasi kamus istilah teknik informatika dengan
menggunakan JSON (JavaScript Object Notation) ?

4. Tujuan Penelitian

Terdapat beberapa tujuan yang ingin dicapai dibuatnya aplikasi ini, yaitu :
a. Memberikan kemudahan kepada user untuk bisa mencari arti istilah Teknik
Informatika dalam berupa aplikasi.
b. Menganalisis dan memahami alur kerja dari algoritma pencarian Knut-MorrisPratt.
c. Menerapkan Algoritma Knuth-Morris-Pratt (KMP) pada aplikasi kamus istilah
Teknik Informatika berbasis mobile android.
d. Menerapkan teknologi Text to Speech pada aplikasi kamus istilah Teknik
Informatika berbasis mobile android.

5. Batasan Masalah
Agar pembahasan dalam pengerjaan tugas akhir ini lebih terarah, maka diperlukan
pembatasan masalah. Sehingga pembatasan dibatasi pada ruang lingkup, yang meliputi :
a. Kamus

istilah

Teknik

Informatika

bersumber

dari

Kuliah

Pengantar

ilmukomputer.com karya Andino Maseleno.


b. Perubahan string ke suara meliputi istilah Teknik Informatika beserta pengertiannya.
c. Pengujian aplikasi menggunakan emulator dan Device Android.
d. Menggunakan Algoritma Knuth-Morris-Pratt dalam pencarian string.

6. Kerangka Pemikiran
Kerangka pemikiran adalah suatu diagram yang menjelaskan secara garis besar alur
logika sebuah penelitian. Kerangka pemikiran dibuat berdasarkan pertanyaan penelitian

(research question), dan mempresentasikan suatu himpunan dari beberapa konsep serta
hubungan diantara konsep-konsep tersebut (Polancik, 2007).
a. Skema Alur Penelitian

Problem
\Mengkaji
algoritma
pencarian

Mengkaji
Text to
Speech

Approach
Belum ada
kamus istilah
teknik
informatika

\Algoritma
KnuthMorris-Pratt

Pengembang
an teknologi
Text to
Speech

Rancang
bangun
aplikasi
kamus

Software Development

Software Implementasi

Semua User pengguna Handset Android

Software
specification
dan desain
UML

Software
Contruction
dengan
Eclipse

Emulator dan
handset
berbasis
android

Software Measurement

Result

Pengujian
pencarian
dan text to
speech

Analisis dan Implementasi Algoritma KMP dan


Text to Speech pada aplikasi kamus istilah
teknik informatika

Aplikasi
pencarian
string

Keefektifan
aplikasi

Gambar 1. Alur Penelitian

b. Algoritma KMP (Knuth-Morris-Pratt)


Algoritma Knuth-Morris-Pratt adalah salah satu algoritma pencari string yang
dikembangkan oleh D.E. Knuth bersama dua orang rekannya J.H. Morris dan V.R. Pratt. Ide
utama algoritma ini adalah mencari string dengan melakukan pembandingan karakter mulai
dari karakter paling kiri dari string yang dicari. Algoritma KMP secara rata-rata merupakan
algoritma pencarian string yang paling baik dibandingkan dengan algoritma pencarian stirng
lainnya seperti Brute-Force dan Boyer-Moore (Rinaldi, 2007).
Perbandingan antara algoritma brute force dengan algoritma KMP ditunjukkkan
dengan perpindahan posisi pattern terhadap posisi teks. Dimana dalam hal pencocokan string,
pattern yang dicocokkan berawal dari kiri teks.
Kompleksitas algoritma pencocokan string dihitung dari jumlah operasi perbandingan
yang dilakukan. Kompleksitas waktu terbaik dari algoritma brute force adalah O(n). Kasus
terbaik terjadi jika pada operasi perbandingan, setiap huruf pattern yang dicocokkan dengan
awal dari teks adalah sama. Kompleksitas waktu terburuk dari brute force adalah O(mn).
Jika dibandingkan dengan algoritma brute force, maka algoritma KMP mempunyai
kompleksitas algoritma
O(m+n).
Definisi yang digunakan, Y adalah suatu alfabet dan
z = z1z2.zk, k

N,

adalah string dengan panjang k, yang dibentuk dari karakter di alfabet di dalam alfabet A.
Awalan prefix dari z adalah upa-string w, dengan
w = zk-bzk-b+1zk, k

{1, 2, .., k-1}

Pinggiran dari z adalah substring r, sehingga


r = z1z2zk, dan r = zk-bzk-b+1zk, k

{1, 2, .., k-1}

Algoritma KMP melakukan proses awal terhadap pattern dengan menghitung fungsi
pinggiran. Dengan adanya fungsi pinggiran ini, maka dapat dicegah pergeseran yang tidak
berguna, seperti yang terjadi pada algoritma brute force. Fungsi pinggiran hanya bergantung
pada karakter yangada di dalam pattern, tidak bergantung kepada karakter di dalam teks.
Berikut adalah algoritma untuk mencari fungsi pinggiran di dalam pattern.

Adapun algoritma KMP yang lebih lengkap, sebagai berikut :

c. Text to Speech
Text To Speech adalah suatu sistem pembuatan ucapan oleh mesin dengan cara
fonetisasi otomatis kata yang diucapkan [2]. Sistem Text To speech adalah sistem berbasis
komputer yang membacakan data teks masukan berdasarkan gabungan dari segmen-segmen
fonetik teks. Sistem ini berbeda dengan voice Response system yang bekerja dengan cara
mengucapkan gabungan segmen-segmen kata yang telah direkam.
Text To Speech SYNTHESIZER

Natural Language
Processing
Text

Linguistic formalization
Inference engines

Phoneme
Prosody

Digital Signal
Processing
Mathematical models
Algorithms

Gambar 2. Menunjukan Sistem Text To Speech

Speech

Sistem Text To Speech digunakan antara lain pada bidang telekomunikasi pendidikan
bahasa, alat bantu orang cacat, mainan berbicara, pemantauan dengan suara, komunikasi
anrata manusia dengan mesin, dan riset bahasa.
Pada dasarnya Text-to-Speech adalah suatu sistem yang dapat mengubah teks menjadi
ucapan. Suatu pensintesa ucapan atau Text to Speech pada prinsipnya terdiri dari dua sub
sistem, yaitu :
a. Bagian konverter teks ke fonem (Text to Phoneme)
b. Bagian konverter fonem ke ucapan (Phoneme to Speech)
Phonem adalah istilah linguistik dan merupakan satuan terkecil dalam sebuah bahasa
yang masih bisa menunjukkan perbedaan makna. Bagian konverter teks ke fonem berfungsi
untuk mengubah kalimat masukan dalam suatu bahasa tertentu yang berbentuk teks menjadi
rangkaian kode-kode bunyi yang biasanya direpresentasikan dengan kode phonem, durasi
serta pitch-nya.
Bagian konverter phonem ke ucapan akan menerima masukan berupa kode-kode
phonem serta pitch dan durasi yang dihasilkan oleh bagian sebelumnya. Berdasarkan kodekode tersebut, bagian konverter phonem ke ucapan akan menghasilkan bunyi atau sinyal
ucapan yang sesuai dengan kalimat yang ingin diucapkan.
Konversi dari teks ke phonem sangat dipengaruhi oleh aturan-aturan yang berlaku dalam
suatu bahasa. Pada prinsipnya proses ini melakukan konversi dari simbol-simbol tekstual
menjadi simbol-simbol phonetik yang merepresentasikan unit bunyi terkecil dalam suatu
bahasa.

10

d. Arsitektur Sistem Operasi Android


Android adalah sistem operasi untuk telepon seluler yang berbasis Linux. Android
menyediakan platform terbuka bagi para pengembang untuk menciptakan aplikasi mereka
sendiri yang digunakan oleh bermacam peranti bergerak. Untuk mengembangkan Android,
maka dibentuklah Open Handset Alliance, konsorsium dari 34 perusahaan peranti keras,
peranti lunak dan telekomunikasi, termasuk Google, HTC, Intel, Motorola, Qualcomm, TMobile dan Nvidia.
Pada Juli 2000, Google bekerjasama dengan Android Inc., perusahaan yang berada di
Palo Alto, California Amerika Serikat. Di perusahaan Google, tim yang dipimpin oleh Rubin
bertugas mengembangkan program perangkat seluler yang didukung oleh kernel Linux.
September 2007, sebuah studi melaporkan bahwa Google mengajukan hak paten aplikasi
telepon seluler (Google mengenalkan Nexus One, salah satu jenis smartphone produksi HTC
Corporation yang menggunakan Android pada sistem operasinya). Seiring pembentukan
Open Handset Alliance, OHA mengumumkan produk perdana mereka yaitu Android sebagai
perangkat mobile yang merupakan modifikasi kernel Linux 2.6. Sejak Android dirilis, telah
dilakukan berbagai pembaruan berupa perbaikan bug dan penambahan fitur baru. Telepon
pertama yang menggunakan sistem operasi Android adalah HTC Dream, yang dirilis pada 22
Oktober 2008. Pada quartal ke-3 tahun 2010, jumlah penjualan handset berbasis Android
mencapai 20,5 juta unit.
Fitur yang tersedia sampai saat ini pada Android yaitu:
a. Kerangka aplikasi: memungkinkan penggunaan dan penghapusan komponen;
b. Dalvik mesin virtual: mesin virtual dioptimalkan untuk perangkat mobile;
c. Grafik: grafik di 2D dan grafis 3D berdasarkan pustakan OpenGL;
d. SQLite: untuk penyimpanan data;

11

e. Mendukung media: audio, video dan berbagai format gambar (MPEG4, H.264,
MP3, AAC, AMR, JPG, PNG, GIF);
f. GSM, CDMA , Bluetooth, EDGE, 3G dan WiFi (hardware dependent);
g. Kamera, GPS, kompas dan accelerometer (tergantung hardware);

Android memiliki arsitektur sistem yang kompleks seperti berikut :

Gambar 3. Arsitektur Android


Keterangan gambar :

a. Linux Kernel
Tumpukan paling bawah pada arsitektur Android ini adalah kernel. Google
menggunakan kernel Linux versi 2.6 untuk membangun sistem Android, yang
mencakup memory management, security setting, power management, dan
beberapa driver hardware. Kernel berperan sebaagai abstraction layer antara
hardware dan keseluruhan software. Sebagai contoh, HTC GI dilengkapi dengan

12

kamera. Kernel Android terdapat driver kamera yang memungkinkan pengguna


mengirimkan perintah kepada hardware kamera.
Android dibangun di atas kernel Linux 2.6. Namun secara keseluruhan android
bukanlah linux, karena dalam android tidak terdapat paket standar yang dimiliki
oleh linux lainnya. Linux merupakan sistem operasi terbuka yang handal dalam
manajemen memori dan proses. Oleh karenanya pada android hanya terdapat
beberapa servis yang diperlukan seperti keamanan, manajemen memori,
manajemen proses, jaringan dan driver. Kernel linux menyediakan driver layar,
camera, keypad, WiFi, Flash Memory, audio, dan IPC (Interprocess
Communication) untuk mengatur aplikasi dan lubang keamanan.
b. Android Run Time
Lapisan setelah Kernel Linux adalah Android Runtime. Android Runtime ini berisi
Core Libraries dan Dalvik Virtual Machine.

Core Libraries mencakup

serangkaian inti library Java, artinya Android menyertakan satu set librarylibrary dasar yang menyediakan sebagian besar fungsi-fungsi yang ada pada
library-library dasar bahasa pemrograman Java. Dalvik adalah Java Virtual
Machine (JVM) yang memberi kekuatan pada sistem Android. Dalvik Virtual
Machine (DVM) ini di optimalkan untuk telepon seluler. Setiap aplikasi yang
berjalan pada Android berjalan pada prosesnya sendiri, dengan instance dari
DVM. Dalvik telah dibuat sehingga sebuah piranti yang memakainya dapat
menjalankan multi Virtual Machine dengan efisien. Dalvik VM dapat
mengeksekusi file dengan format Dalvik Executable (.dex) yang telah dioptimasi
untuk menggunakan minimal memory footprint. Virtual Machine ini registerbased, dan menjalankan class-class yang dicompile menggunakan compiler Java
yang kemudian ditransformasi menjadi format .dex menggunakan dx tool yang

13

telah disertakan. Dalvik Virtual Machine (DVM) menggunakan kernel Linux


untuk menjalankan fungsi-fungsi seperti threading dan low-level memory
management.
c. Libraries
Bertempat di level yang sama dengan Android Runtime adalah Libraries. Android
menyertakan satu set library-library dalam bahasa C/C++ yang digunakan oleh
berbagai komponen yang ada pada sistem Android. Kemampuan ini dapat diakses
oleh programmer melewati Android application framework. Sebagai contoh
Android mendukung pemutaran format audio, video, dan gambar. Berikut ini
beberapa core library tersebut :
a) System C library, diturunkan dari implementasi standard C system library
(libc) milik BSD, dioptimasi untuk piranti embedded berbasis Linux;
b) Media Libraries, berdasarkan Packet Videos Open CORE ; librarylibrary ini mendukun playback dan recording dari berbadai format audio
and video populer, meliputi MPEG4, H.264, MP3, AAC, AMR, JPG, and
PNG;
c) Surface Manager, mengatur akses pada display dan lapisan composites
2D and 3D graphic dari berbagai aplikasi;
d) LibWebCore, web browser engine modern yang mensupport Android
browser maupun embeddable web view;
e) SGL, the underlying 2D graphics engine;
f) 3D libraries, implementasi berdasarkan OpenGL ES 1.0 Aplication
Programming Interface (API); library ini menggunakan hardware 3D
acceleration dan highly optimized 3D software rasterizer;
g) FreeType, bitmap dan vector font rendering;

14

h) SQLite, relational database engine yang powerful dan ringan tersedia


untuk semua aplikasi.

Library-library tersebut bukanlah aplikasi yang berjalan sendiri, namun hanya


dapat digunakan oleh program yang berada di level atasnya. Sejak versi Android
1.5,

pengembang

dapat

membuat

dan

menggunakan

pustaka

sendiri

menggunakan Native Development Toolkit (NDK).

d. Applications Framework
Lapisan selanjutnya adalah application framework, yang mencakup program
untuk mengatur fungsi-fungsi dasar smartphone. Application Framework
merupakan serangkaian basic tool seperti alokasi resource smartphone, aplikasi
telepon, pergantian antar proses atau program, dan pelacakan lokasi fisik
telepon. Para pengembang aplikasi memiliki aplikasi penuh kepada tools dasar
tersebut, dan memanfaatkannya untuk menciptakan aplikasi yang lebih kompleks.
Programmer mendapatkan akses penuh untuk memanfaatkan API-API yang juga
digunakan core applications. Arsitektur aplikasi didesain untuk menyederhanakan
pemakaian kembali komponen-komponen, setiap aplikasi dapat menunjukkan
kemampuannya dan aplikasi lain dapat memakai kemampuan tersebut. Mekanisme
yang sama memungkinkan pengguna mengganti komponen-komponen yang
dikehendaki. Di dalam semua aplikasi terdapat servis dan sistem yang meliputi :

a) Satu Set Views yang dapat digunakan untuk membangun aplikasi meliputi
lists, grids, text boxes, buttons, dan embeddable web browser;
b) Content Providers yang memungkinkan aplikasi untuk mengakses data
dari aplikasi lain (misalnya Contacts), atau untuk membagi data yang
dimilikinya;

15

c) Resource Manager, menyediakan akses ke non-code resources misalnya


localized strings, graphics, dan layout files;
d) Notification Manager yang memungkinkan semua aplikasi untuk
menampilkan custom alerts pada the status bar;
e) Activity Manager yang memanage life cycle dari aplikasi dan menyediakan
common navigation backstack.

e. Applications
Puncak dari diagram arsitektur android adalah lapisan aplikasi dan widget.
Lapisan aplikasi merupakan lapisan yang paling tampak pada pengguna ketika
menjalankan program. Pengguna hanya akan melihat program ketika digunakan
tanpa mengetahui proses yang terjadi dibalik lapisan aplikasi. Lapisan ini berjalan
dalam Android runtime dengan menggunakan kelas dan service yang tersedia
pada framework aplikasi.
Lapisan aplikasi android sangat berbeda dibandingkan dengan sistem operasi
lainnya. Pada android semua aplikasi, baik aplikasi inti (native) maupun aplikasi
pihak ketiga berjalan diatas lapisan aplikasi dengan menggunakan pustaka API
(Application Programming Interface) yang sama.

e. JSON (JavaScript Object Notation)

JSON (JavaScriptObjectNotation) adalah sebuah format data-interchange yang


ringan. Sangat mudah bagi manusia untuk membaca dan menuliskannya. Semudah
mesin memparsing dan men-generate format datanya. JSON merupakan bagian dari
bahasa pemrograman JavaScript (Standard ECMA-262 3rd Edition December
1999). JSON merupakan format teks yang sepenuhnya independen tetapi

16

menggunakan konvensi yang familiar dengan bahasa pemrograman dari keluarga-C,


termasuk C, C++, C#, Java, JavaScript, Perl, Python, dan sebagainya. Kelebihan
inilah yang membuat JSON menjadi sebuah bahasa data-interchange yang ideal.

JSON dibangun dalam dua struktur:

1. Beberapa pasangan dari nama/nilai. Dalam beberapa bahasa perograman biasa


disebut dengan istilah object, record, struct, tabel hash, keylist atau
associativearray.
2. Nilai-nilai yang terusun secara orderedlist. Biasa disebut dengan array, vector, list
atau daftar dalam bahasa pemrograman.

Gambaran Konsep JSON :

JAVA

JSON

PHP

Gambar 4. Konsep JSON


f. Web Servis
Web service adalah suatu sistem perangkat lunak yang dirancang untuk
mendukung interoperabilitas dan interaksi antar sistem pada suatu jaringan. Web
service digunakan sebagai suatu fasilitas yang disediakan oleh suatu web site untuk
menyediakan layanan (dalam bentuk informasi) kepada sistem lain, sehingga sistem
lain dapat berinteraksi dengan sistem tersebut melalui layanan-layanan (service) yang
disediakan oleh suatu sistem yang menyediakan web service. Web service

17

menyimpan data informasi dalam format XML, sehingga data ini dapat diakses oleh
sistem lain walaupun berbeda platform, sistem operasi, maupun bahasa compiler.
Web service bertujuan untuk meningkatkan kolaborasi antar pemrogram dan
perusahaan, yang memungkinkan sebuah fungsi di dalam Web Service dapat dipinjam
oleh aplikasi lain tanpa perlu mengetahui detil pemrograman yang terdapat di
dalamnya.

Beberapa alasan mengapa digunakannya web service adalah sebagai berikut:


a. Web service dapat digunakan untuk mentransformasikan satu atau beberapa bisnis
logic atau class dan objek yang terpisah dalam satu ruang lingkup yang menjadi
satu, sehingga tingkat keamanan dapat ditangani dengan baik.
b. Web service memiliki kemudahan dalam proses deployment-nya, karena tidak
memerlukan registrasi khusus ke dalam suatu sistem operasi. Web service cukup
di-upload ke web server dan siap diakses oleh pihak-pihak yang telah diberikan
otorisasi.
c. Web service berjalan di port 80 yang merupakan protokol standar HTTP, dengan
demikian web service tidak memerlukan konfigurasi khusus di sisi firewall.
Arsitektur Web Service
Web service memiliki tiga entitas dalam arsitekturnya, yaitu:
a. Service Requester (peminta layanan);
b. Service Provider (penyedia layanan);
c. Service Registry (daftar layanan).

18

Service
Register
2. Find Service

1. Publish Service

Service
Request

Service
Provider
3. Bind to Service

Gambar 5. Arsitektur Web Service


Keterangan gambar :
a. Service Provider: Berfungsi untuk menyediakan layanan/service dan mengolah
sebuah registry agar layanan-layanan tersebut dapat tersedia.
b. Service Registry: Berfungsi sebagai lokasi central yang mendeskripsikan semua
layanan/service yang telah di-register.
c. Service Requestor: Peminta layanan yang mencari dan menemukan layanan yang
dibutuhkan serta menggunakan layanan tersebut.

Operasi-Operasi Web Service


Secara umum, web service memiliki tiga operasi yang terlibat di dalamnya,
yaitu:
1. Publish/Unpublish: Menerbitkan/menghapus layanan ke dalam atau dari registry.
2. Find: Service requestor mencari dan menemukan layanan yang dibutuhkan.
3. Bind: Service requestor setelah menemukan layanan yang dicarinya, kemudian
melakukan binding ke service provider untuk melakukan interaksi dan mengakses
layanan/service yang disediakan oleh service provider.

19

Komponen-Komponen Web Service

Gambar 6. Komponen Web Service


Web service secara keseluruhan memiliki empat layer komponen seperti pada
gambar di atas, yaitu:
a. Layer 1: Protokol internet standar seperti HTTP, TCP/IP
b. Layer 2: Simple Object Access Protocol (SOAP), merupakan protokol akses objek
berbasis XML yang digunakan untuk proses pertukaran data/informasi antar layanan.
c. Layer 3: Web Service Definition Language (WSDL), merupakan suatu standar bahasa
dalam format XML yang berfungsi untuk mendeskripsikan seluruh layanan yang
tersedia.
g. Konsep Umum Aplikasi

Database server

internet

BTS
smartphone
user

Gambar 7. Gambaran Umum Aplikasi

20

Sistem yang akan dibangun merupakan sistem yang berjalan pada perangkat
smartphone android yang bisa terhubung dengan internet untuk bisa meng-update data
saat ini. Beberapa komponen yang terhubung diantaranya :
a. Perangkat Android
Untuk mengakses aplikasi ini, user tidak perlu terhubung terus-menerus karena
sistem bisa diakses secara offline. Adapun ketika ada data istilah yang update
maka aplikasi membutuhkan akses untuk bisa berhubung dengan internet.
b. Tower Based Transiver Station (BTS)
BTS adalah Station mobile operator yang menghubungkan jaringan operator dan
selular pada pengguna. Pada hal ini BTS digunakan untuk menghubungkan
Smartphone Android dengan internet agar bisa meng-update aplikasi.
c. Database Service
Database Service dalam aplikasi ini berfungsi sebagai server penyimpanan data
yang sewaktu-waktu bisa berubah-ubah dan dapat saling berintegrasi secara
realtime dengan sistem smartphone.

7. State of The Art


The State of The Art bertujuan untuk menganalisa penelitian sebelumnya yang pernah ada,
yang sejalan dan mempunyai konsep yang hampir sama dengan penelitian saat ini, agar kita
dapat melihat dan menyimpulkan perbedaan dari setiap penelitian sehingga masing-masing
penelitian mempunyai tema dan karakter yang original.

21

Tabel 1. State Of The Art dari Penelitian Orang Lain


NO
1.

PENELITIAN
Nur Afifah, Mike
Yuliana,Tri Budi
Santoso (2012)

JUDUL

PENGUJIAN

HASIL

Pembuatan Kamus
Elektronik Kalimat
Bahasa Indonesia dan
Bahasa Jawa
Menggunakan Markov
Model
Bahasa pemograman
Java untuk Android.

Pengujian
aplikasi
dengan menggunakan
metode search, yang
didahului
proses
markov. Dilakukan 2
pengujian, pada data
775 (kamus IndoJawa) kata dan 1530
kata (Kamus Jawa Indo).
Pencarian lagu dengan
menginputkan
potongan lagu yang
akan dicari. Kemudian
system akan mencari
data inputan sehingga
ditemukan file music
yang dimaksud.

Penggunaan model
markov dan binary
search
mempercepat
waktu pencarian
dibandingkan tanpa
menggunakan ,
model markov.

2.

Ismail Sunni (2010)

Music-Finder
Menggunakan
Algoritma KMP
Extension
Menggunakan Audio
Encoding

3.

Iwan Iwut

Text-To-Speech
Bahasa Indonesia
Menggunakan
Concatenation
Synthesizer Berbasis
Fonem bahasa
pemograman

Tritoasmoro (2006)

Item pengujian tingkat


keberhasilkan system
TTS sebagai berikut:
1. Uji kecakapan
(versatility)
dalam
pengucapan
kata.
2. Uji untuk kerja
sintesiser.
3. Uji
kualitas
sinyal ucapan
sistesis.

Algoritma KMPExtension bisa


diaplikasikan untuk
membuat suatu
perangkat lunak,
yakni music-finder.
Keunggulan yang
dimiliki KMPExtension sangat
mendukung untuk
aplikasi musicfinder
Sistem TTS Bahasa
Indonesia hasil
implementasi
secara umum dapat
mengucapkan
seluruh kata-kata
dalam Bahasa
Indonesia dengan
cukup lancar dan
dapat dimengerti
oleh sebagian besar
pendengar. Namun
ucapan sintesis
yang dihasilkan
belum memiliki
pola intonasi
(prosodi)

22

4.

Okharyadi Saputra
(2012)

5.

Desy Krisdianty,
Aradea, Husni
Mubarok (2012)

Penerapan Algoritma
Knuth-Morris-Pratt
dalam Aplikasi
Penerjemah Teks
Bahasa Pemograman
C++.

Rancang Bangun
Perangkat Lunak
Kamus Bahasa
Indonesia Bahasa
Hindi Berbasis
Aplikasi Mobile
Bahasa Java untuk
Android Mobile.

sebagaimana
ucapan asli.
Aplikasi penerjemah
Aplikasi bisa
akan menerima
membuat sebuah
inputan kalimatperbandingan katakalimat dalam bahasa kata yang akan
Indonesia. Kemudian diterjemahkan. Dan
kalimat akan diproses adanya alternative
menjadi kata-kata
terjemahan yang
yang terpecah-pecah
lainnya juga. Dan
untuk kemudahan
pada umumnya
dalam melakukan
algoritma KMP
pencocokan string.
dapat digunakan
untuk melakukan
penerjemahan kata
dengan
berdasarkan pada
string matching
atau pencocokan
string.
Pengujian
aplikasi Aplikasi bisa
menggunakan
mencari kata yang
algoritma KMP dalam diinputkan oleh
pencarian string.
user baik bahasa
Indonesia maupun
kata hindi.

Dari beberapa penelitian di atas dapat dipilih sebagai kajian terdahulu untuk
mengetahui bahwa penelitian ini marupakan hal yang baru dan tidak mengulang. Hal
tersebut dikarenakan pada penelitian kali ini terdapat perbedaan materi, bahasa
pemograman, objek penelitian dan penggabungan system. Penelitian kali ini akan
mengimplementasikan algoritma Knuth-Morris-Pratt (KMP) dan Text to Speech pada
aplikasi Kamus Istilah Teknik Informatika dengan bahasa pemograman java mobile
Android.

23

Screen Shoot salah satu aplikasi yang berjudul Rancang Bangun Perangkat Lunak
Kamus Bahasa Indonesia Bahasa Hindi Berbasis Aplikasi Mobile karya Desy
Krisdianty, Aradea, Husni Mubarok (2012) :

Gambar 8. Tampilan Antarmuka Splash Screen

Gambar 9. Tampilan Pencarian Kata Indonesia


Pada gambar 9 di atas adalah bentuk pencarian kata bahasa Indonesia menggunakan
algoritma Knuth-Morris-Pratt. Mulai pencariannya dari sisi kiri karakter sampai sisi

24

kanan karakter. Setiap kali pencocokan digeser , maka informasi yang digunakan masih
dipelihara untuk melakukan pergeseran.

Gambar 10. Hasil Pencarian String


Di bawah ini adalah Screen Shoot salah satu aplikasi yang berjudul Rancang Bangun
Aplikasi Text To Speech Sebagai Alat Bantu Pembelajaran Bahasa Inggris karya Joko
Aris Pramono (2013).

Gambar 11. Screen Shoot Aplikasi Di Emulator

25

Gambar di atas menjelaskan jalannya aplikasi di emulator dan penggunaannya


memasukkan kata bahasa ingris apa saja , kemudian pilih gaya pengucapan text itu menjadi
voice. Ada dua pilihan gaya pengucapan yaitu gaya British dan gaya American. Aplikasi ini
menggunakan Google/ PicoTTS Engine Text to Speech yang menghasilkan suara dengan
kualitas bagus sehingga pengucapan bahasa terdengar jelas.

8. Metode Penelitian
Guna mendapatkan data yang diperlukan untuk membantu dalam penyusunan
tugas akhir yang akan dibangun, maka digunakan metodologi sebagai berikut:

a. Sistematika Penulisan
BAB I PENDAHULUAN
Bab I menguraikan latar belakang masalah, perumusan masalah yang
merumuskan berbagai masalah yang diteliti secara lebih jelas, batasan masalah
untuk memberikan batasan yang tegas dan jelas serta sistematika penulisan yang
menguraikan urutan penyajian yang digunakan dalam penyusunan skripsi ini.

BAB II LANDASAN TEORI


Bab II membahas tentang landasan teori dari topik penulisan skripsi secara
mendalam beserta dengan referensinya.

BAB III ANALISIS DAN PERANCANGAN


Bab III akan menguraikan hasil analisis dan perancangan software yang
akan dibangun.

26

BAB IV IMPLEMENTASI
Bab IV akan menguraikan implementasi software yang telah dianalisa dan
dirancang sebelumnya.

BAB V PENUTUP
Bab V berisi uraian tentang kesimpulan, usulan, solusi dan saran terhadap
software yang hendak dibangun dan bila akan dikembangkan lebih lanjut.
b. Metode Pengembangan
Unified Software Development Process (USDP) merupakan salah satu metode
pengembangan

sistem/perangkat

lunak

yang

disiptakan

oleh

mereka

yang

mengembangkan dan menciptakan diagram-diagram UML, yaitu Graddy Booch, Ivar


Jacobson, dan DR. James Rumbaugh sebagai panduan umum yang dapat digunakan oleh
para pengembang perangkat lunak dalam melakukan analisis dan perancangan suatu
aplikasi berorientasi objek dengan menggunakan tool UML. Kemudian Rational Corp
membuat suatu metode berdasarkan USDP yang berbasis pemodelan yang disebut
Rational Unified Process (RUP) .
Beberapa literature mengatakan bahwa RUP sama saja dengan USDP hanya
perbedaan panggilan saja, dan ada pula literature yang mengatakan bahwa USDP
merupakan dasar dari RUP hanya saja RUP berbasis pemodelan dan merupakan nama
produk dari metode USDP yang diciptakan oleh Rational Corp dan kini telah dimiliki
oleh IBM. Namun yang pasti metode USDP merupakan metode awal pengembangan
perangkat lunak berorientasi objek dengan menggunakan tool UML yang dibangun oleh
para pencipta diagram-diagram UML. Ciri utama metode ini adalah menggunakan usecase driven dan pendekatan iteratif untuk siklus pengembangan perangkat lunak.

27

Gambar 21. Unified Software Development Process (USDP)


Metodologi penelitian ini terdiri dari dua tahap, yaitu :
1. Tahap Pengumpulan Data
Pengumpulan data dan informasi dilakukan melalui langkah-langkah berikut:
a. Observasi yaitu dengan mencari aplikasi-aplikasi yang memiliki kemiripan fungsi dan
kemudian dilakukan analisa terhadap keunggulan dan kelemahan aplikasi tersebut
agar dapat dijadikan sebuah referensi.
b. Studi literatur yaitu pencarian informasi dan pemahaman literatur melalui berbagai
media. Contoh dari buku, internet berupa artikel jurnal ilmiah dan forum yang
berkaitan dengan Tugas Akhir ini.

2. Tahap Pembangunan Sistem

28

Dalam pembangunan sistem atau aplikasi ini mengikuti tahapan-tahapan berdasarkan


metode yang digunakan yaitu USDP(Unified Software Development Process) dan
UML(Unified Modeling Language) sebagai tool untuk pemodelan. Berikut ini tahapantahapan yang dilakukan pada metode USDP:
a.

Inception
Pada tahap ini pengembang mendefinisikan batasan kegiatan, melakukan analisis
kebutuhan user, dan melakukan perancangan awal perangkat lunak (perancangan
arsitektural dan use case).

b.

Elaboration
Pada tahap ini dilakukan perancangan perangkat lunak mulai dari menspesifikasikan
fitur perangkat lunak hingga interface.

c.

Construction
Pengimplementasian hasil dari perancangan perangkat lunak yang telah dibuat pada
fase sebelumnya dilakukan pada tahap ini.

d.

Transition
Instalasi , deployment dan sosialisasi perangkat lunak dilakukan pada tahap ini.

29

9. Jadwal Penelitian
Waktu yang dipergunakan untuk melakukan penelitian dimulai dari
pertengahan bulan april sampai dengan akhir Desember 2013. Adapun jadwal
pengembangan aplikasi ini adalah sebagai berikut :
Tabel 2. Rencana Jadwal Penelitian Tugas Akhir
No

Bulan

Jenis Kegiatan
Sept 13
1

1.

Analisis

2.

Perancangan

3.

Implementasi

4.

Pengujian

5.

Pendokumentasian

6.

Penyusunan Tugas
Akhir

Okt 13
4

Nov 13
4

Des 13
4

Jan 14
4

30

Daftar Pustaka
Pressman, Roger. S (2001), Software Engineering a Practitioners Approach 5th ed, Mc
Graww Hills.
Safaat Nazrudin H (2011).ANDROID Pemograman Aplikasi Mobile Smartphone dan
Tablet PC Berbasis Android. Bandung: Penerbit Informatika.
Nugroho, Adi. 2010. Rekayasa Perangkat Lunak Berorientasi Objek dengan Metode
USDP (Unified Software Development Process).Yogyakarta:Penerbit ANDI.
Jurnal
Nur Afifah, Pembuatan Kamus Elektronik Kalimat Bahasa Indonesia dan Bahasa Jawa
Menggunakan Markov Model, Tugas Akhir S-1, PENS-ITS, Surabaya, 2012.
Munir, Rinaldi, Strategi Algoritma, Program Studi Informatika, Institut Teknologi
Bandung, 2007.
Sunni, Ismail. Music-Finder Menggunakan Algoritma KMP Extension , STEI Institut
Teknologi Bandung, 2010.
Tritoasmoro , Iwan Iwut . Text-To-Speech Bahasa Indonesia Menggunakan
Concatenation Synthesizer Berbasis Fonem.STT Telkom Bandung. 2006.
Handi Dwi Rachma, Zonda Rugmiaga, Miftahul Huda. Pembuatan Text-To-Speech
Synthesis System Untuk Penutur Berbahasa Indonesia. Institut Teknologi Sepuluh
November Surabaya Kampus ITS Sukolilo, Surabaya. 2011.
Pramono , Joko Aris . Rancang Bangun Aplikasi Text To Speech Sebagai Alat Bantu
Pembelajaran Bahasa Inggris. STMIK AMIKOM Jogjakarta. 2013.

Website resmi Google Android Developer :


http://developer.android.com/ ( diakses pada tanggal 1 September 2013)
http://www.jsontest.com (diakses pada tanggal 10 September 2013)

31

Mockup Aplikasi

1. Tampilan SplashScreen

2. Tampilan Menu Utama

3. Tampilan Pencarian Istilah

4. Tampilan About

32

5. Tampulan Petunjuk

6. Tampilan Exit Program

Anda mungkin juga menyukai