proposal toha mukarrom_if_09.pdf
TRANSCRIPT
-
7/26/2019 Proposal Toha Mukarrom_IF_09.pdf
1/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 AkhirDiajukan 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
-
7/26/2019 Proposal Toha Mukarrom_IF_09.pdf
2/32
2
1. Judul Skripsi
Implementasi Algoritma Knuth-Morris-Pratt (KMP)untuk Pencarian String dan Text
To Speechpada Aplikasi Kamus Istilah Teknik Informatika berbasisMobile 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-bookdan bukubuku 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-booktersebut. Penelitian
ini akan mengimplementasikan Algoritma Knuth-M orri s-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
-
7/26/2019 Proposal Toha Mukarrom_IF_09.pdf
3/32
3
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 Speechpada Aplikasi Kamus Istilah Teknik
Informatika berbasisMobile 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
-
7/26/2019 Proposal Toha Mukarrom_IF_09.pdf
4/32
-
7/26/2019 Proposal Toha Mukarrom_IF_09.pdf
5/32
-
7/26/2019 Proposal Toha Mukarrom_IF_09.pdf
6/32
6
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 sepertiBrute-Force danBoyer-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}
-
7/26/2019 Proposal Toha Mukarrom_IF_09.pdf
7/32
7
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 :
-
7/26/2019 Proposal Toha Mukarrom_IF_09.pdf
8/32
8
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 voiceResponse system yang bekerja dengan cara
mengucapkan gabungan segmen-segmen kata yang telah direkam.
Gambar 2. Menunjukan Sistem Text To Speech
Text To Speech SYNTH ESIZER
Natural Language
ProcessingLinguistic formalization
Inference engines
Digital Signal
ProcessingMathematical models
Algorithms
Phoneme
ProsodText Speech
-
7/26/2019 Proposal Toha Mukarrom_IF_09.pdf
9/32
9
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
sertapitch-nya.
Bagian konverter phonem ke ucapan akan menerima masukan berupa kode-kode
phonem serta pitch dan durasi yang dihasilkan oleh bagian sebelumnya. Berdasarkan kode-
kode tersebut, bagian konverter phonem ke ucapan akan menghasilkan bunyi atau sinyal
ucapan yang sesuai dengan kalimat yang ingin diucapkan.
Konversi dari teks kephonem 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.
-
7/26/2019 Proposal Toha Mukarrom_IF_09.pdf
10/32
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, T-
Mobile danNvidia.
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 smartphoneproduksi HTC
Corporation yang menggunakan Android pada sistem operasinya). Seiring pembentukan
Open Handset Alliance, OHA mengumumkan produk perdana mereka yaitu Android sebagai
perangkat mobileyang 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;
-
7/26/2019 Proposal Toha Mukarrom_IF_09.pdf
11/32
-
7/26/2019 Proposal Toha Mukarrom_IF_09.pdf
12/32
12
kamera. Kernel Android terdapat driver kamera yang memungkinkan pengguna
mengirimkan perintah kepada hardwarekamera.
Android dibangun di atas kernel Linux2.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 setelahKernel LinuxadalahAndroid Runtime. AndroidRuntimeini berisi
Core Libraries dan Dalvik Virtual Machine. Core L ibrari es mencakup
serangkaian inti library Java, artinya Android menyertakan satu set library-
library 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 register-
based, dan menjalankan class-classyang dicompile menggunakan compiler Java
yang kemudian ditransformasi menjadi format .dex menggunakan dx tool yang
-
7/26/2019 Proposal Toha Mukarrom_IF_09.pdf
13/32
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 levelyang sama dengan AndroidRuntimeadalahLibraries. 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 librarytersebut :
a) System C library, diturunkan dari implementasistandardCsystemlibrary
(libc) milik BSD, dioptimasi untuk piranti embedded berbasisLinux;
b) Media Libraries, berdasarkan Packet Videos Open CORE ; library-
libraryini mendukunplaybackdan recordingdari 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
browsermaupun 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
accelerationdan highly optimized 3D software rasterizer;
g)
FreeType, bitmapdan vector font rendering;
-
7/26/2019 Proposal Toha Mukarrom_IF_09.pdf
14/32
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
menggunakanNative 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 Viewsyang 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;
-
7/26/2019 Proposal Toha Mukarrom_IF_09.pdf
15/32
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 alertspada the status bar;
e) Activity Manageryang memanage life cycledari 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
padaframeworkaplikasi.
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
-
7/26/2019 Proposal Toha Mukarrom_IF_09.pdf
16/32
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 :
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
JAVA
PHPJSON
-
7/26/2019 Proposal Toha Mukarrom_IF_09.pdf
17/32
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, dengandemikian 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).
-
7/26/2019 Proposal Toha Mukarrom_IF_09.pdf
18/32
18
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.
ServiceRegister
ServiceProvider
ServiceRequest
1. Publish Service2. Find Service
3. Bind to Service
-
7/26/2019 Proposal Toha Mukarrom_IF_09.pdf
19/32
19
Komponen-Komponen Web Service
Gambar 6. Komponen Web Service
Web servicesecara 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
Gambar 7. Gambaran Umum Aplikasi
user
BTSsmartphone
Database serverinternet
-
7/26/2019 Proposal Toha Mukarrom_IF_09.pdf
20/32
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-updateaplikasi.
c. Database Service
Database Servicedalam aplikasi ini berfungsi sebagai server penyimpanan data
yang sewaktu-waktu bisa berubah-ubah dan dapat saling berintegrasi secara
realtimedengan sistemsmartphone.
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.
-
7/26/2019 Proposal Toha Mukarrom_IF_09.pdf
21/32
21
Tabel 1. State Of The Artdari Penelitian Orang Lain
NO PENELITIAN JUDUL PENGUJIAN HASIL
1. Nur Afifah, MikeYuliana,Tri Budi
Santoso (2012)
Pembuatan KamusElektronik Kalimat
Bahasa Indonesia dan
Bahasa Jawa
Menggunakan Markov
Model
Bahasa pemograman
Java untuk Android.
Pengujian aplikasidengan menggunakan
metode search, yang
didahului proses
markov. Dilakukan 2
pengujian, pada data
775 (kamus Indo-
Jawa) kata dan 1530
kata (Kamus Jawa -
Indo).
Penggunaan modelmarkov dan binary
search
mempercepat
waktu pencarian
dibandingkan tanpa
menggunakan ,
model markov.
2. Ismail Sunni (2010) Music-Finder
Menggunakan
Algoritma KMP
Extension
Menggunakan Audio
Encoding
Pencarian lagu dengan
menginputkan
potongan lagu yang
akan dicari. Kemudian
system akan mencari
data inputan sehingga
ditemukan file music
yang dimaksud.
Algoritma KMP-
Extensionbisa
diaplikasikan untuk
membuat suatu
perangkat lunak,
yakni music-finder.
Keunggulan yang
dimiliki KMP-
Extension sangat
mendukung untukaplikasi music-
finder
3. Iwan Iwut
Tritoasmoro (2006)
Text-To-Speech
Bahasa Indonesia
Menggunakan
Concatenation
Synthesizer Berbasis
Fonembahasa
pemograman
Item pengujian tingkat
keberhasilkan system
TTS sebagai berikut:
1. Uji kecakapan
(versatility)
dalam
pengucapankata.
2. Uji untuk kerja
sintesiser.
3. Uji kualitas
sinyal ucapan
sistesis.
Sistem TTS Bahasa
Indonesia hasil
implementasi
secara umum dapat
mengucapkan
seluruh kata-kata
dalam BahasaIndonesia dengan
cukup lancar dan
dapat dimengerti
oleh sebagian besar
pendengar. Namun
ucapan sintesis
yang dihasilkan
belum memiliki
pola intonasi
(prosodi)
-
7/26/2019 Proposal Toha Mukarrom_IF_09.pdf
22/32
22
sebagaimana
ucapan asli.
4. Okharyadi Saputra
(2012)
Penerapan Algoritma
Knuth-Morris-Pratt
dalam Aplikasi
Penerjemah Teks
Bahasa Pemograman
C++.
Aplikasi penerjemah
akan menerima
inputan kalimat-
kalimat dalam bahasa
Indonesia. Kemudian
kalimat akan diproses
menjadi kata-kata
yang terpecah-pecah
untuk kemudahan
dalam melakukan
pencocokan string.
Aplikasi bisa
membuat sebuah
perbandingan kata-
kata yang akan
diterjemahkan. Dan
adanya alternative
terjemahan yang
lainnya juga. Dan
pada umumnya
algoritma KMP
dapat digunakan
untuk melakukan
penerjemahan kata
denganberdasarkan pada
string matching
atau pencocokan
string.
5. Desy Krisdianty,
Aradea, Husni
Mubarok (2012)
Rancang Bangun
Perangkat Lunak
Kamus Bahasa
IndonesiaBahasa
Hindi Berbasis
Aplikasi Mobile
Bahasa Java untukAndroid Mobile.
Pengujian aplikasi
menggunakan
algoritma KMP dalam
pencarian string.
Aplikasi bisa
mencari kata yang
diinputkan oleh
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.
-
7/26/2019 Proposal Toha Mukarrom_IF_09.pdf
23/32
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
-
7/26/2019 Proposal Toha Mukarrom_IF_09.pdf
24/32
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 Inggriskarya Joko
Aris Pramono (2013).
Gambar 11. Screen Shoot Aplikasi Di Emulator
-
7/26/2019 Proposal Toha Mukarrom_IF_09.pdf
25/32
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.
-
7/26/2019 Proposal Toha Mukarrom_IF_09.pdf
26/32
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 use-
case drivendan pendekatan iteratif untuk siklus pengembangan perangkat lunak.
-
7/26/2019 Proposal Toha Mukarrom_IF_09.pdf
27/32
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
-
7/26/2019 Proposal Toha Mukarrom_IF_09.pdf
28/32
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 tahapan-
tahapan 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.
-
7/26/2019 Proposal Toha Mukarrom_IF_09.pdf
29/32
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 Jenis Kegiatan Bulan
Sept 13 Okt 13 Nov 13 Des 13 Jan 14
1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4
1. Analisis
2. Perancangan
3. Implementasi
4. Pengujian
5. Pendokumentasian
6. Penyusunan Tugas
Akhir
-
7/26/2019 Proposal Toha Mukarrom_IF_09.pdf
30/32
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 KMPExtension , 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)
http://developer.android.com/http://www.jsontest.com/http://www.jsontest.com/http://developer.android.com/ -
7/26/2019 Proposal Toha Mukarrom_IF_09.pdf
31/32
31
Mockup Aplikasi
1. Tampilan SplashScreen 2. Tampilan Menu Utama
3. Tampilan Pencarian Istilah 4. Tampilan About
-
7/26/2019 Proposal Toha Mukarrom_IF_09.pdf
32/32
32
5. Tampulan Petunjuk 6. Tampilan Exit Program