2 LEMBAR PENGESAHAN SKRIPSI

(1)

2.1. Tinjauan Jurnal

Menurut Parno, dkk. (2011:124) Ilmu bahasa bukanlah ilmu yang sulit. Seorang bayi ketika baru lahir belum mengenal bahasa apapun. Kemudian mulailah mengenal kata demi kata dari suara yang didengar dari sekitarnya. Setelah banyak yang dikuasai, barulah mulai belajar tata bahasa yang benar dari bahasa tersebut. Oleh karenanya dalam mempelajari bahasa asing, seseorang haruslah banyak mengenal kosakata bahasa tersebut, dan tentu saja mengetahui artinya. Kamus merupakan koleksi referensi yang memuat informasi yang dibutuhkan. Kamus memuat kata dari satu bahasa/subyek tertentu yang disusun menurut abjad dengan memberikan keterangan yang berhubungan dengan aspek bahasa seperti arti, pengucapan, asal, pengejaan dan sebagainya. Jenis isi informasi: kamus Umum (1 bahasa), kamus lebih dari 1 bahasa (kamus terjemahan), kamus subyek dan kamus pelengkap (mengenai 1 aspek bahasa saja)

Menurut Rahayu, dkk. (2012:143) Handphone merupakan alat komunikasi lisan maupun tertulis yang sangat penting saat ini. Komunikasi dengan handphone dapat dilakukan dimanapun dan kapanpun diinginkan. Komunikasi yang dilakukan dapat berupa komunikasi lisan maupun tertulis yang berisikan pertukaran informasi antar individu yang saling membutuhkan. Informasi tersebut dapat berupa daa penting yang tidak semua pihak harus mengetahuinya.

2.2. Konsep Dasar Program 1. Eclipse

Menurut Satyaputra (2012:12) “Eclipse yang diluncurkan oleh IBM pada tanggal 5 November 2001 merupakan sebuah IDE yang gratis dan open source atau yang dapat dikembangkan dan digunakan untuk membangun sebuah program komputer dan dapat dijalankan di semua platform”. Eclipse memiliki banyak keunggulan diantaranya:


(2)

a. Dapat dijalankan pada sistem operasi apa saja (multi platform)

b. Mendukung pengembangan aplikasi dengan bahasa pemrograman lain, seperti C/C++, Cobol, Python, Perl, PHP, dan lain sebagainya (multi language).

c. Dapat digunakan dalam siklus pengembangan perangkat lunak, seperti dokumentasi, tes perangkat lunak, pengembangan web, dan lainnya (multi role).

d. Relatif lebih ringan dan memiliki kemampuan untuk dapat dikembangkan oleh pengguna dengan banyak komponen (plug-in). Salah satunya adalah JDT yang membuat Eclipse kompatibel dalam pengembangan program. Eclipse dilengkapi juga dengan adanya PDE (Plug-in Development Environment) untuk mengembangkan plug-in baru.

Selain keunggulan tersebut, Eclipse juga unggul dalam konsepnya yang mengusung IDE yang open source dan mudah diperluas (extensible) untuk apa saja. Bahkan Eclipse tidak saja untuk pengembangan program Java, namun juga keperluan lainnya. Dan itu semua dapat dilakukan dengan cukup hanya menginstall plug-in yang dibutuhkan. Sebagai contoh, jika ingin mengembangkan program C/C++, anda hanya perlu mencari plug-in CDT (C/C++ Development Tools). Atau jika anda membutuhkan UML sebagai flow diagram, anda hanya perlu mencari plug-in UML2.

2. Java

Menurut Utomo (2013:2) “Java merupakan salah satu bahasa pemrograman yang bersifat multiplatform dengan slogan dari para pengembangnya adalah


(3)

‘Write once run everywhere’ sehingga aplikasi yang dikembangkan menggunakan bahasa Java akan dapat dijalankan pada berbagai macam platform atau sistem operasi”. Selain itu Java juga merupakan salah satu bahasa pemrograman yang banyak diminati antara lain karena Java unggul ketika digunakan dalam pembuatan aplikasi berbasis mobile, juga aplikasi yang berskala enterprise.

Ada dua pengertian dari java, yaitu:

1. Sebagai bahasa pemrograman Java merupakan bahasa pemrograman berorientasi objek yang sintaksnya mengikuti bentuk bahasa C dan C++ sehingga bagi para programmer bahasa C tidak akan kesulitan ketika akan bermigrasi ke bahasa Java karena sintaksnya hamper sama. Beberapa elemen yang ada pada bahasa C yang masih digunakan pada bahasa Java antara lain:

a. Java mendukung adanya komentar untuk baris tunggal atau lebih untk keperluan dokumentasi kode sumber (untuk lebih memudahkan memahami kode program dengan memberikan penjelasan/keterangan).

b. Bahasa Java juga mendukung operator yang sama seperti yang digunakan pada bahasa C, seperti operator aritmatik.

c. Bahasa Java menggunakan karakter brace, yaitu untuk membatasi pernyataan pada blok tertentu. Karakter tersebut juga ada di bahasa C. Walaupun terdapat banyak persamaan karena bahasa Java ini muerupakan “junior” dari bahasa C, juga mempunya perbedaan yang semakin memperlengkap bahasa C sebelumnya.


(4)

2. Sebagai platform yang menjalankan program aplikasi lain yang dibangun menggunakan bahasa Java. Kode sumber pada Java tidak perlu diubah ketikan akan di compile ulang pada sistem operasi lainnya. Hasil kompilasi dari kode sumber Java bukanlah kode mesin namun berupa bytecode dengan ekstensi class. Bytecode ini dapat langsung dieksekusi pada setiap sistem operasi dengan menggunakan JVM sebagai interpreter terhadap bytecode tersebut.

3. SQLite

Menurut Murphy (2010:225) “SQLite adalah sebuah embedded database yang sangat terkenal karena menggabungkan antarmuka SQL dengan memori yang sangat kecil dan kecepatan yang baik”.

Terdapat beberapa alasan mengapa SQLite sangat cocok untuk pengembangan aplikasi android, yaitu:

a. Database dengan konfigurasi nol. Artinya tidak ada konfigurasi database untuk para developer. Ini membuatnya relatif mudah digunakan.

b. Tidak memiliki server. Tidak ada proses database SQLite yang berjalan. Pada dasarnya satu set libraries menyediakan fungsionalitas databases. c. Single-file database. Ini membuat keamanan database secara langsung. d. Open source. Hal ini membuat developer mudah dalam pengembangan

aplikasi.

4. XML

Menurut Ibrahim (2007:30) “Extensible Markup Language (XML) merupakan bahasa markup yang didesain untuk menjadi sarana yang mudah dalam mengirimkan dokumen melalui Web”. Berbeda dengan Hypertext Markup


(5)

Language (HTML), XML memungkinkan penggunanya untuk mendefinisikan custom tag. Namun, standard XML tidak memiliki constraint semantik pada arti dari dokumen tersebut.

2.3. Metode Algoritma

Pada program perangkat lunak berbasis android ini penulis menggunakan metode algoritma autocomplete.

Menurut Sudarja, dkk (2007) “Algoritma auto complete merupakan algoritma pencarian yang dimiliki google. Algoritma ini juga ditanamkan pada android sebagai metode pencarian kata. Jalannya algoritma ini adalah sebagai berikut. walnya kita membandingkan karakter pertama dari string dangan karakter pertama dari text. Jika sama maka sistem akan memberikan daftar text yang ada pada database.

2.4. Pengujian Sistem

Menurut Pressman (2010:495) “Black Box Testing atau Pengujian Kotak Hitam atau juga disebut Behavioral Testing, berfokus pada persyaratan fungsional dari perangkat lunak”. Artinya, teknik Black Box Testing memungkinkan untuk mendapatkan set kondisi masukan yang sepenuhnya akan melaksanakan semua persyaratan fungsional untuk suatu program. Black Box Testing bukan merupakan alternatif dari pengujian White Box Testing. Sebaliknya, Black Box Testing adalah pendekatan komplementer yang mungkin untuk mengungkap kelas yang berbeda dari kesalahan daripada metode White Box Testing.

Black Box Testing mencoba untuk menemukan kesalahan dalam kategori berikut.


(6)

A. Fungsi tidak benar atau hilang. B. Kesalahan interface atau antarmuka.

C. Kesalahan dalam struktur data atau akses database eksternal. D. Kesalahan kinerja atau perilaku.

E. Kesalahan inisialisasi dan terminasi.

Tidak seperti White Box Testing yang dilakukan pada awal proses pengujian, Black Box Testing cenderung diterapkan pada tahap selanjutnya dari pengujian. Karena Black Box Testing sengaja mengabaikan struktur kontrol, perhatian difokuskan pada domain informasi.

Sedangkan Pengujian Whitebox adalah metode desain test case yang menggunakan struktur kontrol desain procedural untuk memperoleh test case”. Dengan menggunakan metode pengujian whitebox, perekayasa sistem dapat melakukan test case yang :

1. Memberikan jaminan bahwa semua jalur independen pada suatu modul telah digunakan paling tidak satu kali.

2. Menggunakan semua keputusan logis pada sisi true dan false.

3. Mengeksekusi semua loop pada batasan mereka dan pada batas operasional mereka.

4. Menggunakan struktur data internal untuk menjamin validasinya. Tujuan pengujian program yaitu :

1. Pengujian adalah proses eksekusi suatu program dengan maksud menemukan kesalahan.

2. Test case yang baik adalah test case yang memiliki probabilitas tinggi untuk menemukan kesalahan yang belum pernah ditemukan sebelumnya.


(7)

3. Pengujian yang sukses adalah pengujian yang mengungkap semua kesalahan yang belum pernah ditemukan sebelumnya.

Metode pengujian yang digunakan dalam penelitian ini adalah metode pengujian langsung dengan menggunakan tekhnik uji coba whitebox testing. Dimana tekhnik pengujian ini merupakan pengujian terhadap cara kerja perangkat lunak itu sendiri yaitu basis path (prosedur programnya) atau proses looping (perulangan).

Untuk menghitung tingkat kompleksitas logika program, maka digunakan metode Cyclomatic Complexity (V(G)), yaitu metric perangkat lunak yang menyediakan ukuran kuantitatif dari kompleksitas logika program.

Dalam pengujian whitebox ini dikenal beberapa istilah, yaitu:

1. Node adalah lingkaran pada flowgraph yang menggambarkan salah satu atau lebih perintah procedural. Urutan proses dan keputusan dapat dipetakan dalam satu node.

2. Edge adalah tanda panah yang menggambarkan aliran control. Setiap node haru mempunyai tujuan kode.

3. Region adalah daerah yang dibatasi oleh node dan edge. Untuk menghitung region, maka daerah diluar flowgraph dihitung sebagai satu region.

4. Predicate Node adalah kondisi yang terdapat pada node mempunyai karakteristik dua atau lebih edge darinya.

5. Cyclomatic Complexity adalah metric perangkat lunak yang menyediakan ukuran kuantitatif dari kekompleksan logika suatu program. Cyclomatic Complexity digunakan untuk mencari jumlah path dalam suatu flowgraph.


(8)

6. Independen Path adalah jalur yang melintasi atau melalui program dimana sekurang-kurangnya terdapat proses perintah yang baru terhadap suatu kondisi yang baru. Dalam istilah flowgraph independen path harus bergerak sekurang-kurangnya pada satu edge yang akan dilewati edge sebelum jalur tersebut didefenisikan.

2.5. Peralatan Pendukung (Tool System)

Sistem aplikasi kamus ini dirancang menggunakan UML dan dibuat ke dalam 4 model proses yaitu Use Case Diagram, Activity Diagram dan Sequnce Diagram.

Menurut Sukamto (2011:113) Unfied Modelling Language (UML) adalah salah satu standar bahasa yang banyak digunakan di dunia insudtri untuk mendefinisikan reqeurement, membuat analisis & desain, serta menggambarkan arsitektur dalam pemrograman berbasis objek, muncullah sebuah standarisasi bahasa pemodelan untuk pembangunan perangkat lunak yang dibangun dengan menggunakan teknik pemrograman berorientasi objek, yaitu Unfied Modelling Language (UML).

UML muncul karena adanya kebutuhan pemodelan visual untuk menspesifikasikan menggambarkan, membangun, dan mendokmentasi dari sistem perangkat lunak. UML merupakan visual bahasa dan komunikasi mengenai sebuah sistem dengan menggunakan diagram dan teks-teks pendukung. UML berfungsi untuk melakukan pemodelan. Jadi penggunaan UML tidak terbatas pada metodologi tertentu, meskipun paa kenyataannya UML tidak terbatas pada metodologi berorientasi objek. Berikut adalah diagram-diagram yang ada pada UML.

1. Use Case Diagram

Menurut Sukamto (2011:130) “Use case atau diagram use case merupakan pemodelan untuk kelakuan (behavior) sistem informasi yang akan dibuat. Use


(9)

case mendeskripsikan sebuah interaksi antara satu atau lebih aktor denan sistem informasi yang akan dibuat”. Syarat penamaan pada use cae adalah nama didefinisikan sesimpel mungkin dan dapat dipahami. Ada dua hal utama pada use case yaitu pendefinisian apa yang disebut aktor dan use case.

a. Aktor merupakan orang, proses atau sistem lain yang berinteraksi dengan sistem informasi yang akan dibuat diluar sistem informasi yang akan dibuat itu sendiri, jadi walaupun simbol dari aktor adalah gambar orang, tapi aktor belum tentu merupakan orang.

b. Use case merupakan fungsional yang disediakan sistem sebagai unit-unit yang saling bertukar pesan antara unit-unit atau aktor.

2. Activity Diagram

Menurut Sukamto (2011:134) “Diagram aktivitas atau activity diagram menggambarkan workflow (aliran kerja) atau aktivitas dari sebuah sistem atau proses bisnis”. Yang perlu diperhatikan di sini adalah bahwa diagram aktivitas menggambarkan aktivitas sistem bukan apa yang dilakukan aktor, jadi aktivitas yang dapat dilakukan oleh sistem. Diagram aktivitas juga banyak digunakan untuk mendefinisikan hal-hal berikut:

a. Rancangan proses bisnis dimana setiap urutan aktivitas yang digambarkan merupakan proses bisnis sistem yang didefinisikan.

b. Urutan atau pengelompokan tampilan sistem/user interface dimana setiap aktivitas dianggap memiliki sebuah rancangan antarmuka tampilan.

c. Rancangan pengujian dimana setiap aktivitas dianggap memerlukan sebuah pengujian yang perlu didefinisikan kasus ujinya.


(10)

3. Sequnce Diagram

Menurut Sukamto (2011:137) “Diagram sekuen menggambarkan kekuatan objek pada use case dengan mendeskripsikan waktu hidup objek dan message yang dikirimkan dan diterima antar objek”. Banyaknya sekuen yang harus digambar adalah sebanyak pendefinisian use case yang memiliki proses sendiri. 4. Deployment Diagram

Menurut Sukamto (2011:129) “Diagram deployment atau deployment diagram menunjukkan konfigurasi komponen dalam proses eksekusi aplikasi”. Diagram deployment juga dapat digunakan untuk memodelkan hal-hal berikut:

a. Sistem tambahan (embedded system) yang menggambarkan rancangan divice, node, dan hardware.

b. Sistem client/server. c. Sistem terdistribusi murni. d. Rekayasa ulang aplikasi.


(1)

Language (HTML), XML memungkinkan penggunanya untuk mendefinisikan custom tag. Namun, standard XML tidak memiliki constraint semantik pada arti dari dokumen tersebut.

2.3. Metode Algoritma

Pada program perangkat lunak berbasis android ini penulis menggunakan metode algoritma autocomplete.

Menurut Sudarja, dkk (2007) “Algoritma auto complete merupakan algoritma pencarian yang dimiliki google. Algoritma ini juga ditanamkan pada android sebagai metode pencarian kata. Jalannya algoritma ini adalah sebagai berikut. walnya kita membandingkan karakter pertama dari string dangan karakter pertama dari text. Jika sama maka sistem akan memberikan daftar text yang ada pada database.

2.4. Pengujian Sistem

Menurut Pressman (2010:495) “Black Box Testing atau Pengujian Kotak Hitam atau juga disebut Behavioral Testing, berfokus pada persyaratan fungsional dari perangkat lunak”. Artinya, teknik Black Box Testing memungkinkan untuk mendapatkan set kondisi masukan yang sepenuhnya akan melaksanakan semua persyaratan fungsional untuk suatu program. Black Box Testing bukan merupakan alternatif dari pengujian White Box Testing. Sebaliknya, Black Box Testing adalah pendekatan komplementer yang mungkin untuk mengungkap kelas yang berbeda dari kesalahan daripada metode White Box Testing.

Black Box Testing mencoba untuk menemukan kesalahan dalam kategori berikut.


(2)

A. Fungsi tidak benar atau hilang. B. Kesalahan interface atau antarmuka.

C. Kesalahan dalam struktur data atau akses database eksternal. D. Kesalahan kinerja atau perilaku.

E. Kesalahan inisialisasi dan terminasi.

Tidak seperti White Box Testing yang dilakukan pada awal proses pengujian, Black Box Testing cenderung diterapkan pada tahap selanjutnya dari pengujian. Karena Black Box Testing sengaja mengabaikan struktur kontrol, perhatian difokuskan pada domain informasi.

Sedangkan Pengujian Whitebox adalah metode desain test case yang menggunakan struktur kontrol desain procedural untuk memperoleh test case”. Dengan menggunakan metode pengujian whitebox, perekayasa sistem dapat melakukan test case yang :

1. Memberikan jaminan bahwa semua jalur independen pada suatu modul telah digunakan paling tidak satu kali.

2. Menggunakan semua keputusan logis pada sisi true dan false.

3. Mengeksekusi semua loop pada batasan mereka dan pada batas operasional mereka.

4. Menggunakan struktur data internal untuk menjamin validasinya. Tujuan pengujian program yaitu :

1. Pengujian adalah proses eksekusi suatu program dengan maksud menemukan kesalahan.

2. Test case yang baik adalah test case yang memiliki probabilitas tinggi untuk menemukan kesalahan yang belum pernah ditemukan sebelumnya.


(3)

3. Pengujian yang sukses adalah pengujian yang mengungkap semua kesalahan yang belum pernah ditemukan sebelumnya.

Metode pengujian yang digunakan dalam penelitian ini adalah metode pengujian langsung dengan menggunakan tekhnik uji coba whitebox testing. Dimana tekhnik pengujian ini merupakan pengujian terhadap cara kerja perangkat lunak itu sendiri yaitu basis path (prosedur programnya) atau proses looping (perulangan).

Untuk menghitung tingkat kompleksitas logika program, maka digunakan metode Cyclomatic Complexity (V(G)), yaitu metric perangkat lunak yang menyediakan ukuran kuantitatif dari kompleksitas logika program.

Dalam pengujian whitebox ini dikenal beberapa istilah, yaitu:

1. Node adalah lingkaran pada flowgraph yang menggambarkan salah satu atau lebih perintah procedural. Urutan proses dan keputusan dapat dipetakan dalam satu node.

2. Edge adalah tanda panah yang menggambarkan aliran control. Setiap node haru mempunyai tujuan kode.

3. Region adalah daerah yang dibatasi oleh node dan edge. Untuk menghitung region, maka daerah diluar flowgraph dihitung sebagai satu region.

4. Predicate Node adalah kondisi yang terdapat pada node mempunyai karakteristik dua atau lebih edge darinya.

5. Cyclomatic Complexity adalah metric perangkat lunak yang menyediakan ukuran kuantitatif dari kekompleksan logika suatu program. Cyclomatic Complexity digunakan untuk mencari jumlah path dalam suatu flowgraph.


(4)

6. Independen Path adalah jalur yang melintasi atau melalui program dimana sekurang-kurangnya terdapat proses perintah yang baru terhadap suatu kondisi yang baru. Dalam istilah flowgraph independen path harus bergerak sekurang-kurangnya pada satu edge yang akan dilewati edge sebelum jalur tersebut didefenisikan.

2.5. Peralatan Pendukung (Tool System)

Sistem aplikasi kamus ini dirancang menggunakan UML dan dibuat ke dalam 4 model proses yaitu Use Case Diagram, Activity Diagram dan Sequnce Diagram.

Menurut Sukamto (2011:113) Unfied Modelling Language (UML) adalah salah satu standar bahasa yang banyak digunakan di dunia insudtri untuk mendefinisikan reqeurement, membuat analisis & desain, serta menggambarkan arsitektur dalam pemrograman berbasis objek, muncullah sebuah standarisasi bahasa pemodelan untuk pembangunan perangkat lunak yang dibangun dengan menggunakan teknik pemrograman berorientasi objek, yaitu Unfied Modelling Language (UML).

UML muncul karena adanya kebutuhan pemodelan visual untuk menspesifikasikan menggambarkan, membangun, dan mendokmentasi dari sistem perangkat lunak. UML merupakan visual bahasa dan komunikasi mengenai sebuah sistem dengan menggunakan diagram dan teks-teks pendukung. UML berfungsi untuk melakukan pemodelan. Jadi penggunaan UML tidak terbatas pada metodologi tertentu, meskipun paa kenyataannya UML tidak terbatas pada metodologi berorientasi objek. Berikut adalah diagram-diagram yang ada pada UML.

1. Use Case Diagram

Menurut Sukamto (2011:130) “Use case atau diagram use case merupakan pemodelan untuk kelakuan (behavior) sistem informasi yang akan dibuat. Use


(5)

case mendeskripsikan sebuah interaksi antara satu atau lebih aktor denan sistem informasi yang akan dibuat”. Syarat penamaan pada use cae adalah nama didefinisikan sesimpel mungkin dan dapat dipahami. Ada dua hal utama pada use case yaitu pendefinisian apa yang disebut aktor dan use case.

a. Aktor merupakan orang, proses atau sistem lain yang berinteraksi dengan sistem informasi yang akan dibuat diluar sistem informasi yang akan dibuat itu sendiri, jadi walaupun simbol dari aktor adalah gambar orang, tapi aktor belum tentu merupakan orang.

b. Use case merupakan fungsional yang disediakan sistem sebagai unit-unit yang saling bertukar pesan antara unit-unit atau aktor.

2. Activity Diagram

Menurut Sukamto (2011:134) “Diagram aktivitas atau activity diagram menggambarkan workflow (aliran kerja) atau aktivitas dari sebuah sistem atau proses bisnis”. Yang perlu diperhatikan di sini adalah bahwa diagram aktivitas menggambarkan aktivitas sistem bukan apa yang dilakukan aktor, jadi aktivitas yang dapat dilakukan oleh sistem. Diagram aktivitas juga banyak digunakan untuk mendefinisikan hal-hal berikut:

a. Rancangan proses bisnis dimana setiap urutan aktivitas yang digambarkan merupakan proses bisnis sistem yang didefinisikan.

b. Urutan atau pengelompokan tampilan sistem/user interface dimana setiap aktivitas dianggap memiliki sebuah rancangan antarmuka tampilan.

c. Rancangan pengujian dimana setiap aktivitas dianggap memerlukan sebuah pengujian yang perlu didefinisikan kasus ujinya.


(6)

3. Sequnce Diagram

Menurut Sukamto (2011:137) “Diagram sekuen menggambarkan kekuatan objek pada use case dengan mendeskripsikan waktu hidup objek dan message yang dikirimkan dan diterima antar objek”. Banyaknya sekuen yang harus digambar adalah sebanyak pendefinisian use case yang memiliki proses sendiri. 4. Deployment Diagram

Menurut Sukamto (2011:129) “Diagram deployment atau deployment diagram menunjukkan konfigurasi komponen dalam proses eksekusi aplikasi”. Diagram deployment juga dapat digunakan untuk memodelkan hal-hal berikut:

a. Sistem tambahan (embedded system) yang menggambarkan rancangan divice, node, dan hardware.

b. Sistem client/server. c. Sistem terdistribusi murni. d. Rekayasa ulang aplikasi.