Implementasi Speech To Text Dan Text To Speech Pada Aplikasi Traveling Conversations Assistance Berbasis Mobile

IMPLEMENTASI SPEECH TO TEXT DAN TEXT TO SPEECH

  PADA APLIKASI TRAVELING CONVERSATIONS ASSISTANCE BERBASIS MOBILE SKRIPSI

  Diajukan untuk Menempuh Ujian Akhir Sarjana

AGUS IRAWAN HADI KUSUMA 10110277 PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS TEKNIK DAN ILMU KOMPUTER UNIVERSITAS KOMPUTER INDONESIA 2014

DAFTAR RIWAYAT HIDUP

  Nama Lengkap : Agus Irawan Hadi Kusuma NIM : 10110277 Tempat/Tanggal Lahir : Bandung, 26 Februari 1991 Jenis Kelamin : Laki-laki Agama : Islam Alamat Lengkap : Jl. H. Danu Katmaja, Blok Pasantren Rt.06/Rw.07

  Des. Batujajar Barat Kec. Batujajar Kab. Bandung Barat 40561

  Email No Telp. : 0838 2027 3399

  PENDIDIKAN

  2010 – 2014 : Program Strata 1 (S1) Program Studi Teknik Informatika, Fakultas Teknik dan Ilmu Komputer, Universitas Komputer Indonesia 2006 – 2010 : SMKN 1 Cimahi

  2003 : SMPN 1 Batujajar

  • – 2006 1997 : SDN 7 Batujajar – 2003 1996 : TK Kartika XVI Batujajar – 1997

  Penulis, Agus Irawan Hadi Kusuma

  DAFTAR ISI

  ABSTRAK ....................................................................................................... i ABSTRACT ..................................................................................................... ii KATA PENGANTAR ..................................................................................... iii DAFTAR ISI .................................................................................................... v DAFTAR GAMBAR ....................................................................................... viii DAFTAR TABEL ............................................................................................ xi DAFTAR SIMBOL .......................................................................................... xiii DAFTAR LAMPIRAN .................................................................................... xvii

  BAB 1 PENDAHULUAN ............................................................................... 1

  1.1 Latar Belakang Masalah ....................................................................... 1

  1.2 Identifikasi Masalah ............................................................................. 2

  1.3 Maksud dan Tujuan .............................................................................. 3

  1.4 Batasan Masalah................................................................................... 3

  1.5 Metodologi Penelitian .......................................................................... 5

  1.5.1 Metode Pengumpulan Data .................................................................. 5

  1.5.2 Metode Pembangunan Perangkat Lunak .............................................. 5

  1.6 Sistematika Penulisan .......................................................................... 6

  BAB 2 LANDASAN TEORI ........................................................................... 9

  2.1 Perangkat Lunak................................................................................... 9

  2.2 Basis Data ............................................................................................ 12

  2.2.1 Database Management System (DBMS) ............................................. 12

  2.2.2 Structured Qoery Language (SQL) ...................................................... 13

  2.3 Pemrograman Berorientasi Objek ........................................................ 13

  2.4 Unified Modeling Language (UML) .................................................... 15

  2.5 Analog To Digital Converter (ADC) ................................................... 16

  2.6 Internet ................................................................................................. 17

  2.7 Aplikasi Mobile .................................................................................... 18

  2.8 Text To Speech (TTS)........................................................................... 19

  2.10 Google API .......................................................................................... 23

  2.10.1 Google Speech Recognition API .......................................................... 24

  2.10.2 Google Text To Speech API ................................................................. 25

  2.11 Microsoft Translator API ..................................................................... 27

  2.12 Android ................................................................................................ 30

  2.12.1 Arsitektur Android ............................................................................... 32

  2.12.2 Java Development Kit (JDK) ............................................................... 34

  2.12.3 Eclipse Integrated Development Environment (Eclipse IDE) ............. 34

  2.12.4 Android Software Development Kit (Android SDK) ........................... 35

  2.12.5 Android Development Tools (ADT) ..................................................... 35

  2.12.6 SQLite .................................................................................................. 36

  BAB 3 ANALISIS DAN PERANCANGAN SISTEM ................................... 41

  3.1 Analisis Sistem ..................................................................................... 41

  3.1.1 Analisis Masalah .................................................................................. 41

  3.1.2 Analisis Prosedur yang Sedang Berjalan ............................................. 42

  3.1.3 Analisis Sistem Yang Dibangun .......................................................... 45

  3.1.3.1 Analisis Google Speech Recognition API ............................................ 49

  3.1.3.2 Analisis Microsoft Translator API ....................................................... 53

  3.1.3.3 Analisis Google Text To Speech API ................................................... 54

  3.1.3.4 Analisis SQLite Database Favourites .................................................. 57

  3.1.3.5 Analisis Phrasebook Files ................................................................... 59

  3.1.4 Analisis Kebutuhan Non Fungsional ................................................... 61

  3.1.4.1 Analisis Kebutuhan Perangkat Keras ................................................... 61

  3.1.4.2 Analisis Kebutuhan Perangkat Lunak .................................................. 62

  3.1.4.3 Analisis Pengguna ................................................................................ 62

  3.1.5 Analisis Kebutuhan Fungsional ........................................................... 63

  3.1.5.1 Use Case Diagram ............................................................................... 63

  3.1.5.2 Activity Diagram .................................................................................. 74

  3.1.5.3 Sequence Diagram ............................................................................... 81

  3.1.5.4 Class Diagram ..................................................................................... 87

  3.2.1 Perancangan Struktur Menu ................................................................. 89

  3.2.2 Perancangan Antarmuka ...................................................................... 89

  3.2.3 Jaringan Semantik ................................................................................ 100

  BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM ................................ 101

  4.1 Implementasi Sistem ............................................................................ 101

  4.1.1 Implementasi Perangkat Keras Pembangun ......................................... 101

  4.1.2 Implementasi Perangkat Keras Pengujian ............................................ 101

  4.1.3 Implementasi Perangkat Lunak Pembangun ........................................ 102

  4.1.4 Implementasi Perangkat Lunak Pengujian ........................................... 102

  4.1.5 Implementasi Class .............................................................................. 102

  4.1.6 Implementasi Antarmuka ..................................................................... 103

  4.2 Pengujuian Sistem ................................................................................ 109

  4.2.1 Pengujian Alpha ................................................................................... 109

  4.2.1.1 Rencana Pengujian Alpha .................................................................... 109

  4.2.1.2 Kasus dan Hasil Pengujian Alpha ........................................................ 111

  4.2.1.3 Kesimpulan Pengujian ......................................................................... 118

  4.2.2 Pengujian Beta ..................................................................................... 119

  4.2.2.1 Rencana Pengujian Beta ....................................................................... 119

  4.2.2.2 Hasil Pengujian Beta ............................................................................ 122

  4.2.2.3 Kesimpulan Pengujian Beta ................................................................. 132

  BAB 5 KESIMPULAN DAN SARAN ........................................................... 135

  5.1 Kesimpulan .......................................................................................... 135

  5.2 Saran ..................................................................................................... 135 DAFTAR PUSTAKA ...................................................................................... 136

DAFTAR PUSTAKA

  [1] Afrianto, Irawan. (2013). Sistem Multimedia: Audio/Suara. Bahan Ajar.

  Bandung: Program S1 Teknik Informatika. [2]

  Alwi, Hasan. (2003). Tata Bahasa Baku Bahasa Indonesia. Jakarta: Balai Pustaka. [3]

  Aplikasi Mobile, http://e-journal.uajy.ac.id/3099/3/2TI04061.pdf, diakses tanggal 18 Maret 2014.

  Pemrograman Mobile Android,

  [4] Apliaksi https://www.academia.edu/2340524/APLIKASI_PEMROGRAMAN_MOBIL

  E_ANDROID, diakses tanggal 16 Maret 2014. [5]

  Arman, Arry Akhmad. (2003). Konversi dari Text ke Ucapan. Retrieved from Indo

  TTS: [6]

  Askolani, Imam. (2012). Rancang Bangun Humman Interaction Berbasis

  Android Pada Robot Penerima Tamu. Retrieved from Universitas Indonesia:

  http://lontar.ui.ac.id/file?file=digital/20308578-S42703- Rancang%20bangun.pdf

  [7] Daulay, Melwin Syafrizal. (2007). Mengenal Hardware-Software dan

  Pengelolaan Instalasi Komputer. Yogyakarta: C.V Andi OFFSET

  [8] Herlawati, Prabowo Pudjo Widodo. (2011). Menggunakan UML (Unified Modelling Language). Bandung: Informatika.

  [9] Hidayat, Rahmat. (2010). Cara Praktis Membangun Website Gratis. Jakarta: PT. Elex Media Komputindo.

  [10] Jamin, Hamidi. (2013). Pembangunan Aplikasi Pembelajaran Iqra

  Berbasis Android. Retrieved from Universitas Komputer Indonesia:

  

  [11] Musyafi, Firdaus. (2013). Membangun Aplikasi Chatting Dengan

  Penerjemah Otomatis Berbasis Mobile. Retrieved from Universitas Komputer

  Indonesia: [12] Android Speech,

  Package: s tanggal 18 Maret 2014.

  Android Speech TTS,

  [13] Package: s tanggal 18 Maret 2014.

  [14] Pressman, Roger S. (2010). Software Engineering : A Practitioner’s Approach. New York: McGraw-Hill. 68.

  [15] Rosa A.S, M. Shalahuddin. (2013). Rekayasa Perangkat Lunak (Terstruktur dan Berorientasi Objek). Bandung: Informatika.

  [16] Safaat, Nazrudin H. (2012). Pemrograman Aplikasi Mobile Smartphone dan Tablet PC Berbasis Android. Bandung: Informatika.

  [17] World Tourism Barometer, UNWTO http://dtxtq4w60xqpw.cloudfront.net/sites/all/files/pdf/2_international_touris m_receipts_us_billion.pdf, diakses tanggal 27 Maret 2014.

  

KATA PENGANTAR

A ssalammu’alaikum Wr. Wb.

  Alhamdulillah, segala Puji dan syukur penulis panjatkan bagi Allah SWT, karena atas segala rahmat dan karunia-Nya yang memberikan kesehatan dan hikmat kepada penulis sehingga penelitian ini dapat diselesaikan dengan baik sesuai dengan waktu yang direncanakan.

  Skripsi yang berjudul “Implementasi Speech To Text dan Text To Speech

  pada Aplikasi Traveling Conversations Assistance Berbasis Mobile

  ”, disusun untuk memperoleh gelar Sarjana Teknik Informatika, Fakultas Teknik dan Ilmu Komputer Universitas Komputer Indonesia.

  Dalam menyusun skripsi ini, penulis banyak memperoleh bantuan serta bimbingan dari berbagai pihak. Oleh karena itu, penulis ingin menyampaikan ucapan terimakasih kepada : 1.

  Keluarga penulis, khususnya Bapak dan Ibu penulis yang telah memberikan dukungan yang sangat besar kepada penulis.

  2. Bapak Irawan Afrianto, S.T., M.T. selaku dosen pembimbing yang telah meluangkan waktu untuk memberikan bimbingan, saran dan nasehatnya selama penulisan skripsi ini.

  3. Seluruh dosen dan staf Program Studi Teknik Informatika Universitas Komputer Indonesia.

  4. Seluruh teman-teman kelas IF-7 angkatan 2010.

  5. Seluruh pihak yang membantu dan mendukung penulis dalam menyusun skripsi ini Penulis telah berupaya dengan semaksimal mungkin dalam penyelesaian skripsi ini, namun penulis menyadari masih banyak kekurangan baik dari segi materi maupun penyusunannya, untuk itu penulis mengharapkan kritik dan saran yang bersifat membangun dari pembaca demi kesempurnaan skripsi ini. Tak lupa penulis memohon maaf apabila dalam penulisan skripsi, penulis telah maupun yang tidak disengaja. Kiranya isi skripsi ini bermanfaat dalam memperkaya khasanah ilmu pendidikan dan juga dapat dijadikan sebagai salah satu sumber referensi bagi peneliti selanjutnya yang berminat meneliti hal yang sama.

  Wassalaamu’allaikum Wr.Wb.

  Bandung, Agustus 2014 Penulis

BAB 1 PENDAHULUAN

1.1 Latar Belakang Masalah

  Traveling merupakan sebuah aktivitas berpindah dari satu tempat ketempat

  lainnya dengan berbagai alasan, seperti keperluan bisnis, wisata, religi, edukasi, bahkan perdagangan. Aktivitas traveling kebanyakan dianggap sebagai hobi ketimbang pekerjaan. Dengan beragam daerah dan negara yang dikunjungi terdapat beberapa kendala saat traveling salah satunya adalah perbedaan bahasa.

  Bahasa merupakan sebuah alat komunikasi yang penting bagi manusia. Di dunia ini banyak sekali keanekaragaman bahasa namun tidak mudah untuk dapat memahami seluruh bahasa yang ada di dunia ini. Menurut kamus besar Bahasa Indonesia bahasa berarti sistem lambang bunyi yang arbitrer, yang digunakan oleh semua orang atau anggota masyarakat untuk bekerjasama, berinteraksi, dan mengidentifikasi diri dalam bentuk percakapan yang baik, tingkah laku yang baik, sopan santun yang baik [2].

  Penggunaan buku kamus bahasa masih menjadi salah satu pilihan dalam menerjemahkan bahasa. Namun dalam penggunaannya sebagian traveler memiliki kendala yaitu ketika akan menerjemahkan bahasa asing yang sulit untuk ditulis dan diucapkan akan mempersulit traveler dalam menerjemahkan bahasa seperti bahasa jepang, korea, china, rusia dan lain sebagainya. Kendala lain pada saat

  

traveling yaitu tidak semua tempat yang dikunjungi traveler terdapat koneksi

  internet seperti daerah atau tempat terpencil, hal tersebut mengakibatkan terbatasnya penggunaan aplikasi yang dapat digunakan, khususnya aplikasi yang membutuhkan koneksi internet dalam pengoperasiannya. Selain itu mengingat kegiatan traveling yang memiliki mobilitas tinggi dibutuhkan pula sebuah aplikasi yang dapat diakses kapanpun dan dimanapun.

  Untuk mengatasi kendala-kendala tersebut, pertama dibutuhkan sebuah aplikasi penerjemah bahasa yang menerapkan teknologi speech to text dan text to

  

speech yang dapat mengkonversi ucapan menjadi teks dan mengkonversi teks menjadi ucapan guna membantu traveler dalam menerjemahkan bahasa asing yang sulit untuk ditulis dan diucapkan. Dengan memanfaatkan API (Application

  

Programming Interface) yang disediakan oleh Google dan Microsoft pada aplikasi

  yang akan dibangun diharapkan dapat menangani kendala tersebut, selain media teks yang digunakan dalam menerjemahkan bahasa, proses penterjemahan dapat dilakaukan melalui suara (ucapan). Kedua, dibutuhkan suatu aplikasi yang dapat digunakan dalam kondisi terhubung internet (online) maupun tidak terhubung internet (offline). Dalam hal ini, untuk penggunaan secara offline pada aplikasi akan dibangun sebuah fitur Phrasebook yang berisi files percakapan umum yang sering digunakan pada saat traveling yang terdiri dari beberapa kategori. Ketiga, dengan dibangunnya sebuah aplikasi berbasis mobile, maka aplikasi dapat digunakan kapanpun dan dimanapun.

  Berdasarkan permasalahan tersebut penulis bermaksud untuk membangun sebuah aplikasi dengan judul “Implementasi Speech To Text dan Text To Speech pada Aplikasi Traveling Conversations Assistance Berbasis Mobile

  ”.

1.2 Identifikasi Masalah

  Berdasarkan latar belakang masalah yang telah dijelaskan sebelumnya, maka dapat diidentifikasi masalah sebagai berikut:

  1. Bagaimana penerapan teknologi speech to text dan text to speech pada aplikasi penerjemah bahasa dengan memanfaatkan API (Application

  Programming Interface) yang disediakan Google dan Microsoft guna

  membantu traveler dalam menerjemahkan bahasa asing yang sulit untuk ditulis dan diucapkan

  2. Bagaimana membuat fitur phrasebook yang berisi files percakapan umum yang sering digunakan pada saat traveling yang terdiri dari beberapa kategori yang dapat digunakan secara offline 3. Bagaimana membuat sebuah aplikasi berbasis mobile yang dapat diakses kapanpun dan dimanapun.

1.3 Maksud dan Tujuan

  Berdasarkan permasalahan yang telah dijelaskan, maka maksud dari penulisan skripsi ini adalah untuk menerapkan teknologi speech to text dan text to speech pada aplikasi traveling conversations assistence berbasis mobile yang dapat digunakan dalam kondisi online maupun offline.

  Adapun tujuan yang ingin dicapai dari implementasi speech to text dan text to

  

speech pada aplikasi traveling conversations assistence berbasis mobile

  diantaranya adalah: 1.

  Membantu traveler dalam menerjemahkan bahasa asing yang sulit untuk ditulis dan diucapkan seperti jepang, korea, china, rusia dan lain sebagainya 2. Memungkinkan traveler untuk tetap dapat berkomunikasi dengan orang asing meskipun tidak terdapat koneksi internet

3. Mempermudah traveler dalam mengakses aplikasi kapanpun dan dimanapun.

1.4 Batasan Masalah

  Batasan masalah dari penulisan skripsi ini adalah: 1.

  Input dan output pada penggunaan online (fitur Conversation Translator) yang diterapkan pada aplikasi berupa teks dan suara yang didukungan 41 bahasa.

  2. Proses penerjemahan yang dilakukan secara online dapat disimpan kedalam fitur Favourites yang nantinya dapat digunakan secara offline meliputi teks asal, bahasa asal, teks hasil terjemahan, bahasa tujuan, dan alamat/path audio teks hasil terjemahan, sedangkan file audio disimpan kedalam SD Card.

3. Keakuratan speech to text tergantung pada pengucapan kosakata/aksen pembicara, microphone, dan kondisi lingkungan sekitar.

  4. Pada penggunaan offline, selain terdapat fitur Favourites dibangun pula sebuah fitur Phrasebook berisi files percakapan umum yang sering yaitu greetings, general conversation, number, directions and places, transportation, eating out, dan emergency.

  5. Batasan awal bahasa yang didukung pada fitur Phrasebook yaitu

  Indonesian, English, Spain, France, China, Italy, dan Germany, yang dipilih berdasarkan UNWTO World Tourism Barometer [17].

  6. Isi konten yang terdapat pada fitur Phrasebook mengambil sampel dari

  Codegent (berbahasa Inggris) yang diterjemahkan kedalam 6 bahasa

  (Indonesian, Spain, France, China, Italy, dan Germany) beserta audio menggunakan situs Google Translate.

  7. Pada tahap pengujian aplikasi, bahasa yang akan dikaji pada fitur

  Conversation Translator dan Phrasebook yaitu Bahasa Indonesia, Bahasa Inggris, dan Bahasa China.

  8. Metode pembangunan perangkat lunak yang digunakan adalah Waterfall.

  9. Pemodelan analisis yang digunakan dalam membangun aplikasi ini berdasarkan analisis berorientasi objek dengan bahasa pemodelan UML (Unified Modeling Language).

  10. Aplikasi yang akan dibangun merupakan aplikasi mobile dengan platform Android dan minimum versi yang dapat digunakan adalah Android 2.3 Gingerbread.

  11. Batasan perangkat yang digunakan pada aplikasi ini meliputi: 1) Aplikasi dibuat menggunakan bahasa pemrograman Java. 2)

  Perancangan aplikasi dibangun menggunakan ADT (Android Development Tools) Bundle v22.6.2-1085508. 3)

  Proses penerjemahan dilakukan di server menggunakan Microsoft Translator API. 4)

  Proses speech to text dan text to speech dilakukan di server menggunakan Google Speech Recognition API dan Google Text To

  Speech API.

1.5 Metodologi Penelitian

  Metode penelitian yang digunakan dalam penulisan skripsi ini menggunakan metode analisis deskriptif yaitu suatu metode yang bertujuan untuk mendapatkan gambaran yang jelas tentang hal-hal yang diperlukan dalam penelitian, dengan melalui tahapan sebagai berikut:

  1.5.1 Metode Pengumpulan Data

  Metode yang digunakan dalam mengumpulkan data yang berhubungan dengan penelitian ini yaitu Studi Literatur. Studi Literatur merupakan metode pengumpulan data dengan cara mengumpulkan informasi yang didapat dari jurnal, paper atau bacaan lainnya yang berkaitan dengan penelitian ini.

  1.5.2 Metode Pembangunan Perangkat Lunak

  Mengenai metode yang digunakan dalam proses yang digunakan dalam tahap pembangunan perangkat lunak adalah dengan menggunakan metode Classical

  

Life Cycle (CLC) atau yang biasa disebut dengan Waterfall. Beberapa proses

  diagram waterfall adalah sebagai berikut [14]: 1.

  Rekayasa Perangkat Lunak (System Enginering) Merupakan bagian dari sistem yang terbesar dalam pengerjaan suatu proyek, dimulai dengan menetapkan kebutuhan-kebutuhan dari semua elemen yang diperlukan sistem dan mengalokasikannya ke dalam pembentukan perangkat lunak.

  2. Analisis perangkat Lunak (System Analysis) Analisis perangkat lunak merupakan tahapan menentukan apakah kegiatan dari sistem engineering dapat diimplementasikan menjadi sebuah sistem informasi atau tidak dan menentukan prosedur-prosedur yang bekerja. Adapun fungsi-fungsi tersebut meliputi fungsi masukan, fungsi proses dan fungsi keluaran.

  3. Perancangan perangkat Lunak (System Design) Perancangan pernagkat lunak merupakan tahapan menerjemahkan dari keperluan atau data yang dianalisis ke dalam bentuk yang mudah dimengerti oleh user atau pemakai. Implementasi perangkat lunak yaitu kegiatan yang mengimplementasikan hasil dari perancangan perangkat lunak ke dalam kode program yang dimengerti oleh bahasa mesin.

  5. Pengujian perangkat lunak (System Testing) Pengujian pernagkat lunak merupakan tahapan menguji hasil pernagkat lunak yang dihasilkan.

  6. Pemeliharaan (System Maintenance) Penerapan secara keseluruhan disertai pemeliharaan jika terjadi perubahan struktur baik dari segi software maupun hardware.

Gambar 1.1 Metode Waterfall

1.6 Sistematika Penulisan

  Sistematika penulisan skripsi ini disusun untuk memberikan gambaran umum mengenai penelitian yang dijalankan. Sistematika penulisan pada skripsi ini adalah sebagai berikut:

BAB 1 PENDAHULUAN Bab ini membahas tentang latar belakan permasalahan, identifikasi masalah, maksud dan tujuan, batasan masalah, metode penelitian dan sistematika penulisan.

  BAB 2 LANDASAN TEORI Bab ini membahas berbagai teori dan konsep dasar yang berkaitan dengan

  topik penelitian yang dilakukan untuk mendukung analisis dan perancanagan sistem yang akan dibangun.

  BAB 3 ANALISIS DAN PERANCANGAN SISTEM Bab ini membahas tentang analisis sistem meliputi gambaran umum

  permasalahan yang dihadapi, usulan pemecahan tersebut serta kebutuhan dan rancangan sistem yang diusulkan.

  BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM Bab ini membahas tentang hasil implementasi dan pengujian sistem yang telah dibangun. BAB 5 KESIMPULAN DAN SARAN Bab ini membahas tentang kesimpulan dari hasil pembangunan aplikasi dan saran untuk penelitian lanjutan dari sistem yang telah dibangun.

BAB 2 LANDASAN TEORI

2.1 Perangkat Lunak

  Perangkat lunak (software) adalah program komputer yang terasosiasi dengan dokumentasi perangkat lunak seperti dokumentasi kebutuhan, model desain, dan cara penggunaan (user manual). Sebuah program komputer tanpa terasosiasi dengan dokumentasinya maka belum dapat disebut perangkat lunak (software). Sebuah perangkat lunak juga sering disebut dengan sistem perangkat lunak. Sistem berarti kumpulan komponen yang saling terkait dan mempunyai satu tujuan yang ingin dicapai.

  Sistem perangkat lunak berarti sebuah sistem yang memiliki komponen berupa perangkat lunak yang memiliki hubungan satu sama lain untuk memenuhi kebutuhan pelanggan (customer). Pelanggan (customer) adalah orang atau organisasi yang memesan atau membeli perangkat lunak (software) dari pengembang perangkat lunak atau bisa dianggap bahwa pelanggan (customer) adalah orang atau organisasi yang dengan sukarela mengeluarkan untuk memesan atau membeli perangkat lunak. User atau pemakai perangkat lunak adalah orang yang memiliki kepentingan untuk memakai atau menggunakan perangkat lunak untuk memudahkan pekerjaannya [15].

  Secara umum perangkat lunak ini dapat diklasifikasikan menjadi 2 [7], yaitu: 1.

  Perangkat Lunak Sistem Operasi Merupakan perangkat lunak yang berfungsi untuk mengkonfigurasikan komputer agar dapat menerima berbagai perintah dasar yang diberikan sebagai masukan. Perangkat lunak sistem juga merupakan sekumpulan program yang ditulis untuk melayani program-program yang lain. Contoh:

  MS-DOS, LINUX, UNIX, FREE BSD, OS/2, SUN OS (JAVA), WINDOWS, MACINTOSH, NOVELL, dan lain sebagainya.

2. Perangkat Lunak Aplikasi

  Merupakan program siap pakai yang digunakan untuk aplikasi dibidang tertentu. Perangkat lunak aplikasi yang membantu user sehingga dapat bekerja lebih efektif dan efisien. Aplikasi ini dibagi atas beberapa bidang, antara lain: 1)

  Business & Office Application Aplikasi perkantoran dipergunakan untuk menyelesaikan pekerjaan kantor seperti mengetik (Word processing, document management) membuat tabel kerja (Worksheet), membuat Database sederhana (MS.

  Access) ataupun mengolah image/citra sederhana. Contoh aplikasi

  perkantoran yang terpaket komplit: Mocrosoft Office, Koffice, Star

  Office, Abiword, Open Office, MS_Office for MAC, dan lain sebagainya.

  Aplikasi bisnis lainnya juga meliputi aplikasi pengolahan data keuangan, misal (Personal Finance Application & Business Acounting

  Application). Contoh: Aplikasi perhitungan neraca, rugi laba

  perusahaan, Aplikasi perhitungan pajak personal & perusahaan, Aplikasi manajemen proyek, Aplikasi persediaan stok barang dan penjualan, dan lain sebagainya.

  2) Database Application

  Aplikasi yang digunakan dalam pengolahan data baik yang berukuran kecil maupun besar bisa digunakan secara stand-alone (tunggal) maupun dalam sistem berbasis jaringan lokal Client server maupun

  webbase (intranet maupun internet). Contoh: MS SQL, FoxBase,

Oracle, MySQL, PostgresSQL, SQL Server, dan lain sebagainya.

  3) Graphics Design Application

  Aplikasi yang digunakan untuk membuat sketsa dua dimensi untuk desain ruangan, perabotan, mesin-mesin model industri, juga model tubuh manusia, hewan, dan lain sebagainya. Contoh: AutoCad, Pro Design, CorelDraw, Adobe Ilistrator, dan lain sebagainya.

  Ada juga yang memasukan dalam golongan ini aplikasi image, audio,

  video manipulator, yaitu aplikasi yang digunakan untuk mengolah

  citra, suara hingga gambar 3D untuk pembuatan animasi, pengolahan

  image, photo, audio, video editing, dan lain sebagainya. Contoh: Adobe (Photoshop, After Effect, Premire, & Audition), Corel (Draw, RAVE, Photo Paint), Ulead Media studio, GIMP (In Linux), Cool Edit Pro, Sound Force, Macromedia (Flash, Director), 3D Studio Max, dan

  lain sebagainya. 4)

  Antivirus & Utility Tools

  Software ini digunakan untuk operasi minor (Background) yang

  bekerja di belakang sistem, berguna untuk meningkatkan kinerja sistem operasi atau aplikasi dan juga performa hardware. Terdapat 2 jenis utilitas di dalam sistem operasi:

  a) Utilitas Internal, sudah termasuk dalam paket yang di instalasi dalam sistem operasi seperti scandisk di Windows atau perintah

  fsck (file system check) di OS Linux.

  b) Utilitas eksternal, yang harus diinstalasi kemudian pada OS, seperti System Optimizer, PC Tools, Data/File Recovery, PC

  Maintenance, Internet Utilities, Norton System Work, Registry Clean & Repair, Hardware Repair.

  Sementara untuk proteksi virus dan antivirus, contohnya adalah antivirus produk Mc Affee, Grisoft, Norton, PandaSoft, dan lain sebagainya. 5)

  Development Tools Merupakan sistem bahasa pemrograman komputer yang dilengkapi dengan compiler tertentu sebagai sumber media penyusunan program aplikasi. Contoh: QuikBasic, Clipper, Visual Basic, Turbo Pascal,

  Visual C++, GCC, Turbo Assembler, Phyton, KDEvelopt, Gdekstop, dan lain sebagainya.

  Termasuk dalam jenis aplikasi ini adalah web development tools, yaitu

  (homepage) di internet, seperti FrontPage, Macromedi Dreamweaver, PHPedit, WebPage Editor, dan lain sebagainya. 6)

  Communication Application Aplikasi yang digunakan untuk membangun komunikasi antara satu komputer dengan komputer lain dalam jaringan komputer local maupun global. Contoh: E-mail & Fax Application, Remote Access,

  Facebook chat, YM, GTalk, MSN, Terminal Emulation, Instant Messaging, Voice Recognition, Web Browser, Internet Telephony, dan

  lain sebagainya. 7)

  Jenis Aplikasi Lain

  a) Multimedia Player, seperti WinAmp, XMMS, Power DVD, JetAudio, Windows Media Player, dan lain sebagainya.

  b) Hacker Tools, seperti Find Password, Keygen/Crack Software License, Scanning Port, dan lain sebagainya.

  c) Network & Security Application, seperti Firewall, Intruder

Detections, Network Monitoring, dan lain sebagainya.

d) PC Games Apllication, dan masih banyak lagi.

2.2 Basis Data

  Sistem basis data adalah sistem terkomputerisasi yang tujuan utamanya adalah memelihara data yang sudah diolah atau informasi dan membuat informasi tersedia saat dibutuhkan. Pada intinya basis data adalah media untuk penyimpanan data agar dapat diakses dengan mudah dan cepat.

  Sistem informasi tidak dapat dipisahkan dengan kebutuhan akan basis data apapun bentuknya, entah berupa file teks ataupun Database Management System (DBMS) [15]. Kebutuhan basis data dalam sistem informasi meliputi memasukan, menyimpan, dan mengambil data serta membuat laporan berdasarkan data yang telah disimpan.

2.2.1 Database Management System (DBMS)

  DBMS (Database Management System) atau dalam bahasa indonesia sering digunakan untuk menyimpan, mengelola, dan menampilkan data. Suatu sistem aplikasi disebut DBMS jika memenuhi persyaratan minimal dapat menyediakan fasilitas untuk mengelola akses data, mampu menangani integrasi data, dan mampu menangani backup data.

  DBMS sudah mulai berkembang sejak tahun 1960an. Kemudian sekitar tahun 1970an mulai berkembang teknologi Relational DBMS yaitu DMBS berbasis relasional model. Relasional model pertama kali dikembangkan oleh Edgar J.

  Codd pada tahun 1970. Secara sederhana relasional model dapat dipahami sebagai suatu model yang memandang data sebagai sekumpulan tabel yang saling terkait.

  Pada tahun 1980an mulai berkembang Object Oriented DBMS (OODBMS). OODBMS berkembang seiring dengan perkembangan teknologi pemrograman berorientasi objek. Secara umum dapat diartikan bahwa OODBMS merupakan DBMS yang memandang data sebagai suatu objek.

  Terdapat beberapa macam DBMS versi komersial yang paling sering digunakan di dunia saat ini, diantaranya Oracle, Microsoft SQL Server, IBM DB2, dan Microsoft Access. Sedangkan DBMS versi open source yang cukup berkembang dan sering digunakan saat ini adalah diantaranya MySQL, PostgreSQL, Firebird, dan SQLite. Hampir semua DBMS mengadopsi SQL sebagai bahasa untuk mengelola data pada DBMS.

2.2.2 Structured Query Language (SQL)

  SQL (Structured Query Language) adalah bahasa yang digunakan untuk mengelola data pada DBMS. Meskipun SQL diadopsi dan diacu sebagai bahasa standar oleh hampir sebagian besar RDBMS yang beredar saat ini, tetapi tidak semua standar yang tercantum dalam QSL diimplementasikan oleh seluruh DBMS tersebut. Sehingga terkadang terdapat perbedaan prilaku (hasil yang ditampilkan) oleh DBMS yang berbeda padahal query yang dimasukan sama.

2.3 Pemrograman Berorientasi Objek

  Pendekatan berorientasi objek merupakan suatu teknik atau cara pendekatan informasi, atau sistem lainnya). Pendekatan berorientasi objek akan memandang sistem yang akan dikembangkan sebagai suatu kumpulan objek yang berkorespondensi dengan objek-objek dunia nyata.

  Ada banyak cara untuk mengabstraksikan dan memodelkan objek-objek tersebut, mulai dari abstraksi objek, kelas, hubungan antar kelas sampai abstraksi sistem. Saat mengabstraksikan dan memodelkan objek, data dan proses-proses yang dimiliki oleh objek akan dienkapsulasi (dibungkus) menjadi satu kesatuan.

  Sistem berorientasi objek merupakan sebuah sistem yang kompunennya dibungkus (dienkapsulasi) menjadi kelompok data dan fungsi. Setiap komponen dalam sistem tersebut dapat mewarisi atribut, sifat, dan kompunen lainnya yang dapat berinteraksi satu sama lain.

  Terdapat beberapa konsep utama pada metodologi berorientasi objek, diantaranya [15]:

  1. Kelas (class), kumpulan objek-objek dengan karakteristik yang sama.

  Kelas merupakan definisi statik dari himpunan objek yang sama yang mungkin lahir atau diciptakan dari kelas tersebut. Sebuah kelas akan mempunyai sifat (atribut), kelakuan (operasi/metode), hubungan (relationship), dan arti. Suatu kelas dapat diturunkan dari kelas yang lain, dimana atribut dari kelas semula dapat diwariskan ke kelas yang baru.

  2. Objek (object), abstraksi dari sesuatu yang mewakili dunia nyata seperti benda, manusia, satuan organisasi, tempat, kejadian, struktur, status, atau hal-hal lain yang bersifat abstrak. Objek merupakan suatu entitas yang mampu menyimpan informasi (status) dan mempunyai operasi (kelakuan) yang dapat diterapkan atau dapat berpengaruh pada status objeknya. Objek mempunyai siklus hidup yaitu diciptakan, dimanipulasi, dan dihancurkan.

  3. Abstraksi (abstraction), prinsip untuk merepresentasikan dunia nyata yang kompleks menjadi suatu bentuk model yang sederhana dengan mengabaikan aspek-aspek lain yang tidak sesuai dengan permasalahan.

  4. Enkapsulasi (encapsulation), pembungkusan atribut data dan layanan (operasi-operasi) yang dimiliki objek untuk menyembunyikan implementasi dari objek sehingga objek lain tidak mengetahui cara kerjanya.

  5. Pewarisan (inheritance), mekanisme yang memungkinkan suatu objek mewarisi sebagian atau seluruh definisi dan objek lain sebagai bagian dari dirinya.

  6. Polimorfisme (polymorphism), kemampuan seuatu objek untuk digunakan dibanyak tujuan yang berbeda dengan nama yang sama sehingga menghemat baris program.

2.4 Unified Modeling Language (UML)

  UML (Unified Modeling Language) adalah sebuah bahasa yang berdasarkan grafik/gambar untuk memvisualisasi, menspesifikasikan, membangun, dan pendokumentasian dari sebuah sistem pengembangan software berbasis OO (Object-Oriented) [8]. UML sendiri juga memberikan standar penulisan sebuah sistem blue print, yang meliputi konsep bisnis proses, penulisan kelas-kelas dalam bahasa program yang spesifik, skema database, dan komponen-komponen yang diperlukan dalam sistem software. Unified Modelling Language (UML) juga merupakan sebuah bahasa yg telah menjadi standar dalam industri untuk visualisasi, merancang dan mendokumentasikan sistem piranti lunak. UML menawarkan sebuah standar untuk merancang model sebuah sistem.

  Terdapat beberapa diagram yang umum digunakan dalam pemodelan UML diantaranya [15]:

  1. Use Case Diagram, merupakan pemodelan untuk kelakuan (behavior) sistem yang akan dibuat. Use case mendeskripsikan sebuah interaksi antar satu atau lebih aktor dengan sistem yang akan dibuat. Secara kasar use

  case digunakan untuk mengetahui fungsi apa saja yang ada di dalam sebuah sistem dan siapa saja yang berhak menggunakan fungsi-fungsi itu.

  2. Class Diagram, menggambarkan struktur sistem dari segi pendefinisian kelas-kelas yang akan dibuat untuk membangun sistem. Kelas memiliki atribut dan metode (operasi). Atribut merupakan variabel-variabel yang oleh suatu kelas. Susunan struktur kelas yang baik pada diagram kelas sebaiknya memiliki kelas main, kelas view, kelas controller, serta kelas

  model.

  3. Sequence Diagram, menggambarkan kelakuan objek pada use case dengan mendeskripsikan waktu hidup objek dan message yang dikirimkan dan diterima antar objek. Oleh karena itu untuk menggambarkan diagram sekuen maka harus diketahui onjek-objek yang terlibat dalam sebuah use

  cse beserta metode-metode yang dimiliki kelas yang diinstansiasi menjadi

  objek itu. Membuat diagram sekuen juga dibutuhkan untuk melihat skenario yang ada pada use case.

  4. Activity Diagram, menggambarkan aliran kerja (workflow) atau aktivitas dari sebuah sistem atau proses bisnis atau menu yang ada pada perangkat lunak. Yang perlu diperhatikan disini adalah bahwa diagram aktivitas menggambarkan aktivitas sistem bukan apa yang dilakukan aktor, melainkan aktivitas yang dapat dilakukan oleh sistem.

5. Component Diagram, dibuat untuk menunjukan organisasi dan ketergantungan diantara kumpulan komponen dalam sebuah sistem.

  Diagram komonen fokus pada komponen sistem yang dibutuhkan dan ada di dalam sistem. Komponen dasar yang biasanya ada dalam suatu sistem adalah komponen user interface yang menagani tampilan, komponen

  bussiness processing yang menangani fungsi-fungsi proses bisnis,

  komponen data yang menangani manipulasi data, dan komponen security yang menangani keamanan sistem. Komponen lebih terfokus pada penggolongan secara umum fungsi-fungsi yang diperlukan.

2.5 Analog To Digital Converter (ADC)

  Gelombang suara analog tidak dapat langsung direpresentasikan pada komputer / device. Gelombang suara dimanipulasi hingga dapat diubah ke dalam bentuk digital. Amplitudo adalah keras lemahnya bunyi atau tinggi rendahnya gelombang yang direpresentasikan pada satuan decibel (db). Komputer / device mengukur amplitudo pada satuan waktu tertentu untuk menghasilkan sejumlah angka. Tiap satuan angka ini dinamakan sample.

  Terdapat beberapa tahapan dalam mengkonversi suara berupa sinyal analog kedalam bentuk digital (Analog Digital Converter). Proses ADC dapat dilihat pada gambar 2.1 [1].

Gambar 2.1 Ilustrasi Analog Digital Converter

  Keterangan: 1.

  Membuang frekuensi tinggi dari source signal 2. Mengambil sample pada interval waktu tertentu (sampling) 3. Menyimpan amplitudo sample dan mengubahnya kedalam bentuk diskrit

  (kuantisasi) 4. Merubah bentuk diskrit menjadi biner

2.6 Internet

  Internet merupakan jaringan global komputer dunia, besar dan sangat luas

  dimana setiap komputer saling terhubung satu sama lainnya dari negara ke negara lainnya di seluruh dunia dan berisi berbagai macam informasi, mulai dari teks, gambar, audio, video, dan lain sebagainya yang terhubung melalui protokol TCP/IP. Dalam mengatur integrasi dan komunikasi jaringan komputer ini menggunakan protokol yaitu TCP/IP. TCP (Transmission Control Protocol) bertugas untuk memastikan bahwa semua hubungan bekerja dengan benar, sedangkan IP (Internet Protocol) yang mentransmisikan data dari satu komputer ke komputer lain. TPC/IP secara umum berfungsi memilih rute terbaik transmisi data, memilih rute alternatif jika suatu rute tidak dapat di gunakan, mengatur dan mengirimkan paket-paket pengiriman data [9].

2.7 Aplikasi Mobile

  Aplikasi mobile adalah sebuah aplikasi yang memungkinkan untuk melakukan mobilitas dengan menggunakan perlengkapan seperti telepon genggam (hanphone), PDA, atau smartphone. Aplikasi mobile dapat mengakses dan menggunakan sebuah aplikasi secara nirkabel dengan menggunakan perangkat

  

mobile, dimana data yang diperoleh hanya berupa teks sehingga tidak perlu

  membutuhkan bandwidth yang terlalu besar. Data dalam bentuk teks tidak semenarik data dalam bentuk teks disertai dengan gambar. Namun penggunaan data teks adalah yang paling banyak digunakan saat ini. Penggunakan aplikasi

  

mobile hanya memerlukan handphone yang sudah dilengkapi dengan fasilitas

GPRS dan koneksinya [3].