Proposal Toha Mukarrom - IF - 09 PDF
Proposal Toha Mukarrom - IF - 09 PDF
Diajukan Oleh :
Toha Mukarrom
1209705141
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
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
Software
specification
dan desain
UML
Software
Contruction
dengan
Eclipse
Emulator dan
handset
berbasis
android
Software Measurement
Result
Pengujian
pencarian
dan text to
speech
Aplikasi
pencarian
string
Keefektifan
aplikasi
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
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.
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
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
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);
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
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
14
pengembang
dapat
membuat
dan
menggunakan
pustaka
sendiri
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
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.
16
JAVA
JSON
PHP
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.
18
Service
Register
2. Find Service
1. Publish Service
Service
Request
Service
Provider
3. Bind to Service
19
Database server
internet
BTS
smartphone
user
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.
21
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.
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)
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) :
24
kanan karakter. Setiap kali pencocokan digeser , maka informasi yang digunakan masih
dipelihara untuk melakukan pergeseran.
25
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.
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
27
28
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.
31
Mockup Aplikasi
1. Tampilan SplashScreen
4. Tampilan About
32
5. Tampulan Petunjuk