proposal toha mukarrom_if_09.pdf

Upload: edi-hidayat

Post on 02-Mar-2018

240 views

Category:

Documents


0 download

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