26
5 BAB II TINJAUAN PUSTAKA Dalam bab ini akan diuraikan mengenai teori-teori penunjang yang digunakan dalam visualisasi kecepatan kendaraan menggunakan instant mesangging berbasis android. Ringkasan dari hasil pembuatan yang sudah dilakukan terkait dengan topik penelitian ini, dan perbedaan sistem yang akan dibahas dalam penelitian ini dengan penelitian sebelumnya. 2.1 Tinjauan Mutakhir Penelitian “Visualisasi Keceptan Kendaraan Menggunakan Instant Mesangging Berbasis Android” disusun menggunakan acuan beberapa referensi. Beberapa referensi yang akan digunakan sebagai acuan pengembangan penelitian ditentukan berdasarkan topik terkait penelitian, metode yang digunakan, dan algoritma simulasi yang diterapkan dalam penelitian tersebut. Hal ini bertujuan untuk menentukan batasan-batasan masalah yang akan dibahas lebih lanjut dalam penelitian ini. Dalam hal ini penulis memilih beberapa referensi sebagai acuan penelitian serupa yang menggunakan arsitektur sistem, metode, dan alur pengembangan yang berbeda satu sama lain. Uraian singkat referensi tersebut adalah sebagai berikut. 1. Perancangan Penunjuk Rute Pada Kendaraan Pribadi Menggunakan Aplikasi GIS Berbasis android Yang Terintegrasi Pada Google Maps (Tugas Akhir Hendra Nugraha Lengkong 2015 Jurusan Teknik Elektro- FT, Universitas Sam Ratulangi, Manado). Dalam penelitiannya, Hendra menggunakan aplikasi penunjuk rute pada kendaraan pribadi menggunakan Mobile GIS berbasis android yang terintegrasi pada Google Maps. Dimana Google Maps diharapkan dapat memenuhi kebutuhan masyrakat untuk melihat rute penunjuk arah sesuai kebutuhan pengguna ( user ). Dan dengan menggunakan bantuan Global Positioning System ( GPS ) yang berfungsi sebagai penunjuk lokasi. Hasil akhir dari

5 BAB II TINJAUAN PUSTAKA - sinta.unud.ac.id BAB 2.pdfCara kerja dari aplikasi ini dengan adanya online server yang dikirim ke pengguna melalui internet. Pengiriman data dari perangkat

Embed Size (px)

Citation preview

5

BAB II

TINJAUAN PUSTAKA

Dalam bab ini akan diuraikan mengenai teori-teori penunjang yang

digunakan dalam visualisasi kecepatan kendaraan menggunakan instant

mesangging berbasis android. Ringkasan dari hasil pembuatan yang sudah

dilakukan terkait dengan topik penelitian ini, dan perbedaan sistem yang akan

dibahas dalam penelitian ini dengan penelitian sebelumnya.

2.1 Tinjauan Mutakhir

Penelitian “Visualisasi Keceptan Kendaraan Menggunakan Instant

Mesangging Berbasis Android” disusun menggunakan acuan beberapa referensi.

Beberapa referensi yang akan digunakan sebagai acuan pengembangan penelitian

ditentukan berdasarkan topik terkait penelitian, metode yang digunakan, dan

algoritma simulasi yang diterapkan dalam penelitian tersebut. Hal ini bertujuan

untuk menentukan batasan-batasan masalah yang akan dibahas lebih lanjut dalam

penelitian ini. Dalam hal ini penulis memilih beberapa referensi sebagai acuan

penelitian serupa yang menggunakan arsitektur sistem, metode, dan alur

pengembangan yang berbeda satu sama lain. Uraian singkat referensi tersebut

adalah sebagai berikut.

1. Perancangan Penunjuk Rute Pada Kendaraan Pribadi Menggunakan Aplikasi

GIS Berbasis android Yang Terintegrasi Pada Google Maps (Tugas Akhir

Hendra Nugraha Lengkong 2015 Jurusan Teknik Elektro- FT, Universitas Sam

Ratulangi, Manado).

Dalam penelitiannya, Hendra menggunakan aplikasi penunjuk rute pada

kendaraan pribadi menggunakan Mobile GIS berbasis android yang terintegrasi

pada Google Maps. Dimana Google Maps diharapkan dapat memenuhi

kebutuhan masyrakat untuk melihat rute penunjuk arah sesuai kebutuhan

pengguna ( user ). Dan dengan menggunakan bantuan Global Positioning

System ( GPS ) yang berfungsi sebagai penunjuk lokasi. Hasil akhir dari

6

penelitian ini adalah berupa apliaksi penanda lokasi peta digital berbasis mobile

GIS pada smartphone android. Aplikasi ini memiliki beberapa fitur utama

seperti inputan data, menampilkan list data tersimpan, menampilkan rute pada

peta, dan membackup dan mengimpor data.

2. Aplikasi Real-Time Tracking Via Instant Messaging Pada Perangkat Mobile

Android ( Tugas akhir I Made Alit Adiwiguna 2013 Jurusan Teknik Elektro

Universitas Udanyana, Bali)

Dalam penelitian Alit, dijelaskan aplikasi Real-Time merupkan aplikasi yang

dibangun untuk dijalankan pada platform android versi 2.2 (Froyo) atau versi

diatasnya yang menggunakan fitur GPS untuk mengetahui posisi dan jalur yang

dilalui pengguna dan pengguna lain yang terhubung melalui aplikasi ini.

Pembuatan aplikasi ini didukung dengan perangakat kunak Eclipse IDE untuk

pemograman Java dan Android SDK. Cara kerja dari aplikasi ini dengan adanya

online server yang dikirim ke pengguna melalui internet. Pengiriman data dari

perangkat smartphone ke online server atau sebaliknya berupa koordinat latitude

dan longitude melalui protocol XMPP. Sedangkan untuk pembuatan antarmuka

dan fungsi-fungsi yang berjalan pada aplikasi digunakan bahasa Java dan UML

untuk android. Hasil uji coba membuktikan bahwa data lokasi latitude dan

longitude yang dikirimkan oleh pengirim melalui google talk, sama dengan data

yang diterima oleh penerima data tersebut.

3. Rancang Bangun Sistem Monitoring Kecepatan Kendaraan Berbasis GPS

dengan SMS sebagai Media Pengiriman Data ( Dony Hendra Lesmana

Desember 2013 Teknik Elektro Universitas Brawijaya, Malang )

Dalam jurnal Dony, menjelaskan sarana transportasi darat yang bermanfaat pada

kehidupan sehari-hari terutama pekerjaan yang menuntut mobilitas.Oleh karena

itu diperlukan suatu system monitoring kecepatan kendaraan secara real-time

untuk menekan angak kecelakaan yang diakibatkan pengendara yang berlaju

kencang. Data posisi kecepatan GPS yang terpasang pada pengendara akan

dikirim secara kontiyu ke PC server melalui fasilitas SMS.Data monitoring

kecepatan berhasil dikirim dengan interval waktu 1 menit melalui SMS dan

7

system penerima berhasil menerima data posisi serta kecepatan sehingga dapat

dijadikan refernsi perilaku pengemudi sehari-hari.

2.2 GPS

GPS merupakan sebuah system navigasi global berbasis satelit yang

dikembangkan oleh Departemen Pertahanan Amerika Serikat. Tetapi karena

system ini adalah yang pertama kali serta satu satunya di dunia yang berfungsi

secara penuh dan dapat digunakan setiap saat oleh semua orang didunia secara

gratis. Sistem ini menggunakan kelompok satelit yang diberi nama NAVSTAR (

Navigation Satelite Timming And Ranging). ( Tanoe, 2009)

2.2.1 Cara Kerja GPS

Sistem ini menggunakan satelit yang berada di orbit bumi, yang

memancarkan sinyalnya ke bumi dan ditangkap oleh sebuah alat penerima. Ada 3

bagian penting dari system ini, yaitu bagian control, bagian angkasa, dan bagian

pengguna ( Tanoe, 2009)

1. Bagian control ( Control segment )

Dilihat dari namanya, bagian ini bertugas sebagai pengontrol.Setiap

satelit dapat berada diluar orbitnya, sehingga bagian ini melacak orbit satelit,

lokasi, ketinggian, dan kecepata.Sinyal-sinyal dari satelit diterima oleh bagian

control, dikoreksi dan dikirimkan kembali ke satelit. Koreksi data lokasi yang

tepat dari satelit ini disebut dengan data ephemeris, yang nantinya akan

dikirimkan kepada alat navigasi kita.

2. Bagian Angkasa ( space segment )

Bagian ini terdiri dari kumpulan satelit-satelit yang berada di orbit

bumi, sekitar 1.200 mil diatas permukaan bumi.Kumpulan satelit satellite ini

diatur sedemikian rupa sehingga alat navigasi setiap saat dapat menerima

paling sedikit sinyal dari empat buah satelit. Sinyal satelit ini dapat melewati

awan, kaca, atau plastic, tetapi tidak dapat melewati gedung atau gunung.

Satelit mempunyai jam atom, dan memancarkan informasi “waktu/jam”. Data

ini dipancarkan dengan kode pseudo-random. Masing-masing satelit

8

memiliki kodenya sendiri-sendiri. Nomor kode ini biasanya akan ditampilkan

dialat navigasi, maka kita biasa melakukan indentifikasi sinyal satelit yang

sedang diterima alat tersebut. Data ini berguna bagi alat navigasi untuk

mengukur koordinat lokasi. Kekuatan sinyal satelit juga akan membantu alat

dalam perhitungan. Kekuatan sinyal ini lebih dipengaruhi oleh lokasi satelit.

Sebuah alat akan menerima sinyal lebih kuat dari satelit yang berada tepat

diatasnya dibandingkan dengan satelit yang berada digaris cakrawala. Ada

dua jenis gelombang yang saat ini dikenal dengan sebutan L1 pada 1575.42

MHz. Sinyal L1 ini yang akan diterima oleh navigasi. Satelit juga

mengeluarkan gelombang L2 pada frekuensi 1227.6 MHz. Gelombang L2 ini

digunakan untuk tujuan militer dan bukan untuk umum.

3. Bagian Pengguna ( user segment )

Bagian ini terdiri dari alat navigasi yang digunakan. Satelit akan

memancarkan data almanac dan ephemeris yang akan diterima oleh alat

navigasi secara teratur. Data almanac berisikan lokasi ( approximate location)

satelit yang dipancarkan terus menerus oleh satelit. Data ephemeris

dipancarkan oleh satelit, dan valid untuk sekitar 4-6 jam. Intuk menunjukkan

koordinat sebuah titik ( dua dimensi ), alat navigasi memerlukan paling

sedikit sinyal 3 buah satelit. Untuk menunjukkan data ketinggian sebuah titik

( tiga dimensi), diperlukan tambahan sinyal dari 1 buah satelit lagi.

Dari sinyal sinyal yang dipancarkan oleh kumpulan satelit tersebut,

alat navigasi akan melakukan perhitungan perhitungan dan hasil akhirnya

adalah koordinat posisi alat, akan membuat alat tersebut menghitung

koordinat posisinya dengan lebih tepat.

2.2.2 Akurasi alat navigasi GPS

Akurasi atau ketepatan perlu mendapat perhatian bagi penentuan koordinat

sebuah titik/lokasi. Koordinat posisi ini akan selalu mempunyai factor kesalahan,

yang lebih dikenal dengan tingkat akurasi. Misalnya, alat tersebut menunjukkan

sebuah titik koordinat dengan akurasi 3 meter, artinya posisi sebenarnya biasa

berada dimana saja dalam radius 3 meter dari titik koordinat ( lokasi) tersebut.

9

Makin kecil angka akurasi, maka posisi alat akan menjadi semakin tepat. Harga

alat juga akan meningkat seiring dengan kenaikan tingkat akurasi yang bias

dicapainya ( Tanoe, 2009 ).

Karena alat navigasi ini bergantung penuh pada satelit, maka sinyal satelit

menjadi sangat penting.Alat navigasi berbasis satelit ini tidak dapat bekerja

maksimal ketika ada gangguan pada sinyal satelit. Ada banyak hal yang dapat

mengurangi kekuatan sinyal satelit :

1. Kondisi geografis, seperti yang diterangkan diatas. Selama kita masih

dapat melihat langit yang cukup luas, alat ini masih dapat berfungsi.

2. Hutan. Makin lebat hutannya, maka makin berkurang sinyal yang dapat

dietrima

3. Air. Jangan berharap dapat menggunakan alat ini ketika menyelam

4. Kaca film mobil, terutama mengandung metal

5. Alat alat elektronik yang dapat mengeluarkan gelombang elektromagnetik

6. Gedung-gedung. Tidak hanya ketika didalam gedung, berada diantara 2

buah gedung tinggi juga akan menyebabkan efek seperti berada di dalam

lembah.

7. Sinyal yang memantul, missal bila berada diantara gedung- gedung tinggi,

dapat mengacaukan perhitungan alat navigasi sehingga alat navigasi dapat

menunjukkan posisi yang salah atau tidak akurat.

2.3 Layanan Berbasis Lokasi

Sistem Layanan Berbasis Lokasi atau lebih dikenal dengan Location-Based

Service (LBS), menggabungkan antara proses dari layanan mobile dengan posisi

geografis dari penggunanya. Poin pentingnya adalah ketika posisi target, dimana

sebuah target bias jadi adalah pengguna LBS. itu sendiri atau entitas lain yang

tergabung dalam suatu layanan. LBS mengarah pada aplikasi palikasi dan layanan

–layanan yang menyediakan informasi lokasi mengenai pengguna mobile untuk

menyediakan sebuah layanan atau informasi khusus kepada pengguna. Teknologi

yang digunakan untuk menemukan lokasi perangkat yang kita gunakan. Dua unsur

LBS adalah

10

a) Location Manager ( API Maps)

Menyediakan tool atau source untuk LBS, Application Program Interface (

API ). Maps menyediakan fasilitas untuk menampilkan maps atau peta

beserta feature-feature lainnya seperti tampilan satelit, street ( jalan),

maupun gabungannya.

b) Location Provider ( API Location )

Menyediakan teknologi pencarian lokasi yang digunakan oleh device atau

perangkat. API Location berhubungan dengan data GPS dan data lokasi real-

time. API Location berada pada paketandroid yaitu dalam paket android

location. Track gerakan atau perpindahan, serta kedekatan dengan lokasi

tertentu dengan mendeteksi perpindahan.

2.4. Penyedian Layanan Berbasis Android

Google maps android API

Pada layanan peta berbabis android, Google Maps android API didasari oleh

rangkaian class sederhana yang dapat d igunakan oleh programmer yang dikemas

dalam bentuk java library. API atau Application Interface merupakan suatu

dokumentasi yang terdiri dari interface, fungsi, kelas, struktur dan sebagainya

untuk membangun sebuah perangakat lunak. Dengan adanya API ini maka

memudahkan programmer untuk membongkar software untuk kemudian

dikembangkan atau diintregrasikan dengan aplikasi lainnya yang memungkinkan

programmer menggunakan system function. Proses ini dikelola melalui operating

system. Keunggulan dari API adalah memungkinkan suatu aplikasi dengan

aplikasi lainnya dapat berhubungan dan berinteraksi.Bahasa pemograman yang

digunakan oleh Google Maps yang terdiri dari HTML, Javascript dan AJAX serta

XML, memungkinkan untuk menampilkan peta Google.

Google juga menyediakan layanan Google Maps API yangmemungkinkan

para pengembang untuk mengintegrasikan Google Maps ke dalam website

masing-masing dengan menambahkan data point sendiri. Dengan menggunakan

Google Maps API, Google Maps dapat ditampilkan pada web eksternal. Agar

aplikasi google maps dapat muncul di website tertentu, diperlukan kode unik yang

11

digenerasikan oleh Google Maps untuk suatu website tertentu, agar server google

maps dapat mengenali. Pada Google Mpas API terdapat 4 jenis pilihan model peta

yang disediakan oleh google diantaranya adalah :

1. ROADMAP, untuk menampilkan peta biasa 2 dimensi

2. SATELITE, untuk menampilkan foto satellite

3. TERRAIN, untuk menunjukkan relief fisik permukaan bumi dan

menunjukkan seberapa tingginya suatu lokasi, contohnya akan

menunjukkan gunung dan sungai

4. HYBRID, akan menunjukkan foto satellite yang diatasnya tergambar

pula apa yang tampil pada ROADMAP ( jalan dan nama kota )

2.5 Sejarah Android

Perjalanan Android dimulai sejak Oktober 2003 ketika 4 orang pakar IT,

Andi Rubin, Rich Minner, Nick Sears dan Chris White mendirikan Android.Inc,

di California US. Visi Android untuk mewujudkan mobile device yang lebih peka

dan mengerti pemiliknya, kemudian menarik raksasa dunia maya Google.Google

kemudian mengakuisisi Android pada Agustus 2005. OS Android dibangun

berbasis platform Linux yang bersifat open source,senada dengan Linux, Android

juga bersifat Open Source. Dengan nama besar Google dan konsep open source

pada OS Android, tidak membutuhkan waktu lama bagi android untuk bersaing

dan menyisihkan Mobile OS lainnya seperti Symbian, Windos Mobile,Blackberry

dan iOS. Kini siapa yang tak kenal Android yang telah menjelma menjadi

penguasa Operating System bagi Smart phone.

2.5.1 Sistem operasi Android

Sistem operasi pada android memiliki 4 lapisan (layer) yang merupakan

komponen sistem android. Setiap lapisan tersebut menghimpun beberapa program

yang mendukung fungsi-fungsi spesifik dari sistem operasi. Dilihat pada gambar :

12

:

Gambar 2.1 Arsitektur system operasi android

1. Linux Kernel

Tumpukan paling bawah pada arsitektur Android ini adalah kernel. Google

menggunakan kernel Linux versi 2.6 untuk membangun sistem Android, yang

mencakup memory management, security setting, power management, dan

beberapa driver hardware. Kernel berperan sebagai abstraction layer antara

hardware dan keseluruhan software. Android dibangun di atas kernel Linux 2.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, kamera, keypad, WiFi, Flash Memory, audio, dan

IPC (Interprocess Communication) untuk mengatur aplikasi dan lubang

keamanan.

13

2. Android Runtime

Lapisan setelah Kernel Linux adalah Android Runtime. Pada android

tertanam paket pustaka inti yang menyediakan sebagian besar fungsi android.

Inilah yang membedakan Android dibandingkan dengan sistem operasi lain yang

juga mengimplementasikan Linux. Android Runtime merupakan mesin virtual

yang membuat aplikasi android menjadi lebih tangguh dengan paket pustaka yang

telah ada.

3. Libraries

Bertempat di level yang sama dengan Android Runtime adalah Libraries.

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 library tersebut : System C library, diturunkan dari

implementasi standard C system library (libc) milik BSD, dioptimasi untuk piranti

embedded berbasis Linux. Media Libraries, berdasarkan PacketVideo’s

OpenCORE library-library ini mendukun playback dan recording dari berbagai

format audio and video populer, meliputi MPEG4, H.264, MP3, AAC, AMR, JPG,

and PNG. Surface Manager, mengatur akses pada display dan lapisan composites

2D and 3D graphic dari berbagai aplikasi. LibWebCore, web browser engine

modern yang mensupport Android browser maupun embeddable web view. SGL,

the underlying 2D graphics engine. 3D libraries, implementasi berdasarkan

OpenGL ES 1.0 APIs; library ini menggunakan hardware 3D acceleration dan

highly optimized 3D software rasterizer FreeType, bitmap dan vector font

renderingSQLit, 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 menggunakan Native Development Toolkit (NDK).

14

4. Applications Framework

Lapisan selanjutnya adalah application framework, yang mencakup

program untuk mengatur fungsi-fungsi dasar smartphone. Application Framework

merupakan serangkaian tool dasar seperti alokasi resource smartphone, aplikasi

telepon, pergantian antar – proses atau program, dan pelacakan lokasi fisik

telepon. Para pengembang aplikasi memiliki aplikasi penuh kepada tool-tool dasar

tersebut, dan memanfaatkannya untuk menciptakan aplikasi yang lebih kompleks.

Programmer mendapatkan akses penuh untuk memanfaatkan API (Android

Protocol Interface) 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 satu set Views yang dapat digunakan

untuk membangun aplikasi meliputi lists, grids, text boxes, buttons, dan

embeddable web browser. Content Providers yang memungkinkan aplikasi untuk

mengakses data dari aplikasi lain (misalnya Contacts), atau untuk membagi data

yang dimilikinya. Resource Manager, menyediakan akses ke non-code resources

misalnya localized strings, graphics, dan layout files. Notification Manager yang

memungkinkan semua aplikasi untuk menampilkan custom alerts pada the status

bar. Application Layer Puncak dari diagram arsitektur android adalah lapisan

aplikasi dan widget. Lapisan aplikasi merupakan lapisan yang paling tampak pada

pengguna ketika menjalankan program. Pengguna hanya akan melihat program

ketika digunakan tanpa mengetahui proses yang terjadi dibalik lapisan aplikasi.

Lapisan ini berjalan dalam Android runtime dengan menggunakan kelas dan

service yang tersedia pada framework aplikasi. Lapisan aplikasi android sangat

berbeda dibandingkan dengan sistem operasi lainnya. Pada android semua

aplikasi, baik aplikasi inti (native) maupun aplikasi pihak ketiga berjalan diatas

lapisan aplikasi dengan menggunakan pustaka API (Application Programming

Interface) yang sama. Selain komponen sistem diatas android juga memiliki

komponen yang cukup penting yaitu Komponen Aplikasi. Fitur penting android

15

adalah bahwa satu aplikasi dapat menggunakan elemen dari aplikasi lain (untuk

aplikasi yang memungkinkan). Sebagai contoh, sebuah aplikasi memerlukan fitur

scroller dan aplikasi lain telah mengembangkan fitur scroller yang baik dan

memungkinkan aplikasi lain menggunakannya. Maka pengembang tidak perlu lagi

mengembangkan hal serupa untuk aplikasinya, cukup menggunakan scroller yang

telah ada. Agar fitur tersebut dapat bekerja, sistem harus dapat menjalankan

aplikasi ketika setiap bagian aplikasi itu dibutuhkan, dan pemanggilan objek java

untuk bagian itu. Oleh karenanya android berbeda dari sistem-sistem lain,

Android tidak memiliki satu tampilan utama program seperti fungsi main pada

aplikasi lain. Sebaliknya, aplikasi memiliki komponen penting yang

memungkinkan sistem untuk memanggil dan menjalankan ketika

dibutuhkan.komponen-komponen aplikasi tersebut antara lain :

a. Activities

Activity merupakan bagian yang paling penting dalam sebuah aplikasi,

karena Activity menyajikan tampilan visual program yang sedang digunakan oleh

pengguna. Setiap activity dideklarasikan dalam sebuah kelas yang bertugas untuk

menampilkan antarmuka pengguna yang terdiri dari views dan respon terhadap

event. Setiap aplikasi memiliki sebuah activity atau lebih. Biasanya pasti akan ada

activity yang pertama kali tampil ketika aplikasi dijalankan. Perpindahan antara

activity dengan activity lainnya diatur melalui sistem, dengan memanfaatkan

activity stack. Keadaan suatu activity ditentukan oleh posisinya dalam tumpukan

acitivity, LIFO (Last In First Out) dari semua aplikasi yang sedang berjalan. Bila

suatu activity baru dimulai, activity yang sebelumnya digunakan maka akan

dipindahkan ketumpukan paling atas. Jika pengguna ingin menggunakan activity

sebelumnya, cukup menekan tombol Back, atau menutup activity yang sedang

digunakan, maka activity yang berada diatas akan aktif kembali. Memory

Manager android menggunakan tumpukkan ini untuk menentukan prioritas

aplikasi berdasarkan activity, memutuskan untuk mengakhiri suatu aplikasi dan

mengambil sumber daya dari aplikasi tersebut.

Setiap activity yang berada ditumpukan paling atas, maka dia akan terlihat,

terfokus, dan menerima masukkan dari pengguna. Android akan berusaha untuk

16

membuat activity aplikasi ini untuk untuk tetap hidup dengan segala cara, bahkan

akan menghentikan activity yang berada dibawah tumpukkannya jika diperlukan.

Ketika activity sedang aktif, maka yang lainnya akan dihentikan sementara.

Paused, dalam beberapa kasus activity akan terlihat tapi tidak terfokus pada

kondisi inilah disebut paused. Keadaan ini terjadi jika activity transparan dan tidak

fullscreen pada layar. Ketika activity dalam keadaan paused, dia terlihat aktif

namun tidak dapat menerima masukkan dari pengguna. Dalam kasus ekstrim,

android akan menghentikan activity dalam keadaan paused ini, untuk menunjang

sumber daya bagi activity yang sedang aktif. Stopped, ketika sebuah activity tidak

terlihat, maka itulah yang disebut stopped. Activity akan tetap berada dalam

memori dengan semua keadaan dan informasi yang ada. Namun akan menjadi

kandidat utama untuk dieksekusi oleh sistem ketika membutuhkan sumber daya

lebih. Oleh karenanya ketika suatu activity dalam kondisi stopped maka perlu

disimpan data dan kondisi antarmuka saat itu. Karena ketika activity telah keluar

atau ditutup, maka dia akan menjadi inactive.

b. Services

Suatu service tidak memiliki tampilan antarmuka, melainkan berjalan di

background untuk waktu yang tidak terbatas.Komponen service diproses tidak

terlihat, memperbarui sumber data dan menampilkan notifikasi. Service digunakan

untuk melakukan pengolahan data yang perlu terus diproses, bahkan ketika

Activity tidak aktif atau tidak tampak.

c. Intents

Intens merupakan sebuah mekanisme untuk menggambarkan tindakan

tertentu, seperti memilih foto, menampilkan halaman web, dan lain sebagainya.

Intents tidak selalu dimulai dengan menjalankan aplikasi, namun juga digunakan

oleh sistem untuk memberitahukan ke aplikasi bila terjadi suatu hal, misal pesan

masuk. Intents dapat eksplisit atau implisit, contohnya jika suatu aplikasi ingin

menampilkan URL, sistem akan menentukan komponen apa yang dibutuhkan oleh

Intents tersebut.

17

d. Broadcast Receivers

Broadcast Receivers merupakan komponen yang sebenarnya tidak

melakukan apa-apa kecuali menerima dan bereaksi menyampaikan

pemberitahuan. Sebagian besar Broadcast berasal dari sistem misalnya, batre

sudah hampir habis, informasi zona waktu telah berubah, atau pengguna telah

merubah bahasa default pada perangkat. Sama halnya dengan service, Broadcast

Receivers tidak menampilkan antarmuka pengguna.Namun, Broadcast Receivers

dapat menggunakan Notification Manager untuk memberitahukan sesuatu kepada

pengguna.

e. Content Providers

Content Providers digunakan untuk mengelola dan berbagi database. Data

dapat disimpan dalam file sistem, dalam database SQLite, atau dengan cara lain

yang pada prinsipnya sama. Dengan adanya Content Provider memungkinkan

antar aplikasi untuk saling berbagi data. Komponen ini sangat berguna ketika

sebuah aplikasi membutuhkan data dari aplikasi lain, sehingga mudah dalam

penerapannya.

2.5.2 Fitur android

Fitur yang tersedia pada platform android adalah fitur framework aplikasi.

Fitur ini mendukung penggantian komponen dan penggunaan kembali komponen

yang sudah dibuat (reusable). Seperti pada umumnya, framework memiliki

keuntungan dalam proses pengkodingan karena kita tidak perlu membuat

kodingan untuk hal-hal yang pasti dilakukan seperti kodingan menampilkan

gambar, kodingan konek database, dll.

a. Mesin Virtual Dalvik

Lingkungan dimana aplikasi android akan bekerja.

b. Integrated Browser

Berdasarkan Open Source engine WebKit.

c. Grafis

Dengan adanya fitur ini, kita bisa membuat aplikasi grafis 2D dan 3D

karena Android memiliki library OpenGL ES1,0.

18

d. SQlite

Tugas dari fitur ini adalah berperan dalam penyimpanan data.Bahasanya

mudah dimengerti dan merupakan sistem databasenya android.

e. Media Support

Fitur yang mendukung audio, video dan gambar.

f. GSM Telephony

Tidak semua android punya fitur ini karena fitur ini tergantung dari

smartphone yang dimiliki.

g. Bluetooth, EDGE, 3G, WiFi

Fitur ini tidak selalu tersedia pada android karena tergantung Hardware

atau smartphone.Dukungan Perangkat Tambahan Android dapat

memanfaatkan kamera, layar sentuh, accelerometer, magnetometers, GPS,

akselerasi 2D, dan Akselerasi 3D.

h. Multi-Touch

Kemampuan layaknya handset modern yang dapat menggunakan dua jari

atau lebih untuk berinteraksi dengan perangkat.

i. Lingkungan Development

Memiliki fitur emulator, tools, untuk debugging, profil dan kinerja memori

dan plugin untuk IDE Eclipse.

j. Market

Seperti kebanyakan handphone yang memiliki tempat penjualan aplikasi,

Market pada android merupakan katalog aplikasi yang dapat di download

dan di install pada handphone melalui internet.

2.6 Google Play Service

Google Play Services adalah satu wadah yang menjadi tempat dari semua

API untuk android versi 2.2 dan seterusnya. Pada Google Play Services ini

bertugas memberikan update tanpa harus selalu meminta kepada user untuk repot

melakukan sesuatu. Karena control Google Play Services ini ada di tangan

Google, maka mereka punya kendali untuk memberikan update berupa apa saja,

kapan saja, dan kepada siapa saja. KUnci dari fitur utamaadalah dari layanan

19

Google. Ada Google Maps, Gmail, Youtube, Google + dan yang lain. Semua ini

membutuhkan akses ke API tadi. Dengan kondisi API selalu terbuka dan

diberikan langsung ke gadget maka mudah bagi aplikasi untuk mengaksesnya

dengan semua fitur baru tak peduli Android yang ada versi 2.2, 4.0 atau 4.3.

2.7 Java

Java adalah bahasa berorientasi objek yang dapat digunakan untuk

pengembangan aplikasi mandiri, aplikasi berbasis internet, serta aplikasi untuk

perangkat perangkat cerdas yang dapat berkomunikasi lewat internet atau jaringan

komunikasi. Dalam Java ada 2 (dua) jenis program berbeda, yaitu aplikasi dan

applet. Aplikasi adalah program yang biasanya disimpan dan dieksekusi dari

komputer lokal sedangkan applet adalah program yang biasanya disimpan pada

komputer yang jauh, yang dikoneksikan pemakai lewat web browser

Java bukan turunan langsung dari bahasa manapun. OOP (object oriented

programming) adalah cara yang ampuh dalam pengorganisasian dan

pengembangan perangkat lunak (Hendra Nugraha, 2015).

Gambar 2.2 Java

2.7.1 Sejarah Java

Java secara resmi diperkenalkan oleh SUN pada dunia pada tanggal 23 Mei

1995. Sedangkan sejarah pembangunan java sendiri sudah dimulai sejak tahun

1991. Saat itu tim “ Stealth Project “mengadakan pertemuan (brainstorming)

untuk menciptakan suatu system software yang mampu berjalan pada alat-alat

elektronik (small devices). James Gosling berkonsultasi pada ide permbuatan

bahasa pemograman. Pada Juni 1991, muncullah bahasa interpreter “Oak” yang

menjadi cikal bakal dari Java. Kemudian secara resmi pada tahun 1995 Java

20

diperkenalkan bersama browser HotJava, Java pun merambah k dunia web.

Kenyataan ini mungkin agak sedikit berbeda dengan ide pembuatan java pada

awalnya. Internet ternyata membantu membuat Java terkenal seperti sekarang ini.

Memang harus diakui karena semakin berkembangnya Internet, maka focus

pemograman saat ini mengarah ke pemograman Internet itu sendiri. Saat ini Java

dibagi menjadi 3 framework atau teknologi yaitu J2SE untuk pemograman

aplikasi berbasis console dan desktop, kemudian J2EE berskala interprise seperti

aplikasi web-base (JSP dan Sevplet), komponen (EJB), web service dan lain-lain.

Kemudian framework yang terakhir adalah J2ME untuk pemograman small device

seperti handphone dan PDA

2.7.2 Fitur-fiturJava

a. Applet

Program Java yang dapat berjalan di atas browser, yang dapat membuat

halaman HTML lebih interaktif

b. Java Networking

Sekumpulan API yang menyediakan fungsi untuk aplikasi-aplikasi

jaringan, seperti penyediaan akses untuk TCP, UDP, IP Address dan URL.

Tetapi Java Networking tidak menyediakan akses untuk ICMP

dikarenakan alasan sekuriti dan pada kondisi umum hanya administrator

(root) yang bisa memanfaatkan Protokol ICMP.

c. Java Database Connectivity (JDBC)

Menyediakan sekumpulan API yang dapat digunakan untuk mengakses

database seperti Oracle,MySQL,PostgreSQL,Microsoft SQL Server.

d. Java Security

Java Security menyediakan sekumpulan API untuk mengatur security dari

aplikasi Java baik secara High Level datau Low Level, seperti

public/private key menegement dan certificates.

e. Java Swing

Menyediakan sekumpulan API untuk membangun aplikasi-aplikasi GUI

dan model GUI yang diinginkan bisa bermacam-macam.

21

f. Java RMI

Java RMI menyediakan sekumpulan API untuk membangun aplikasi-

aplikasi Java yang mirip dengan model RPC (remote Procedure Call), jadi

objek-objek Java bisa di call secara remote di Jaringan Komputer.

g. Java 2D/3D

Merupakan sekumpulan API untuk membangun grafik-grafik 2D/3D yang

menarik dan juga akses ke printer.

h. Java Server Pages (JSP)

Berkembang dari Java Servlet yang digunakan untuk menggantikan

aplikasi-aplikasi CGI.JSP yang mirip ASP dan PHP merupakan alternatif

terbaik untuk solusi aplikasi internet.

i. JNI (Java Native Interface)

Merupakan sekumpulan API yang digunakan untuk mengakses fungsi-

fungsi pada library (*.dll atau *.so) yang dibuat dengan bahasa

pemrograman yang lain seperti C, C++, dan Basic.

j. Java Sound

Menyediakan kumpulan API untuk manipulasi Sound.

k. Java IDL + CORBA

Menyediakan dukungan Java untuk implementasi CORBA (Common

Object Request Broker) yang merupakan model distributed-Object untuk

solusi aplikasi besar di dunia Networking.

l. Java Card

Java Card utamanya dipakai untuk aplikasi-aplikasi pada smart card, yang

sederhana wujudnya seperti SIM Card pada Handphone.

m. JTAPI (Java Telephony API)

Sekumpulan API untuk memanfaatkan devices-devices telephony,

sehingga cocok untuk aplikasi-aplikasi CTI (Computer Telephony

Integration) yang dibutuhkan seperti ACD (Automatic Call Distribution)

PCPBX dan lainnya.

n. Aplikasi Bahasa Java

1. Pemrograman jaringan

22

2. Pembuatan aplikasi berbasis windows

3. Program untuk membuat web

2.7.3 Eclips IDE (Integrated Development Environment)

Eclipse IDE adalah sebuah IDE (Development Environment) untuk

mengembangkan perangkat lunak dan dapat dijalankan di semua platform

(platform independent). Eclipse pada ini merupakan salah satu IDE favorit

dikarenakan gratis dan opensource, yang berarti setiap orang boleh melihat kode

pemrograman perangkat lunak ini. Selain itu, kelebihan dari Eclipse yang

membuatnya populer adalah kemampuannya untuk dapat dikembangkan oleh

pengguna dengan komponen yang dinamakan plug-in (Hendra Nugraha, 2015).

Berikut ini adalah sifat dari Eclipse:

Multi-platform: Target sistem operasi Eclipse adalah Microsoft

Windows, Linux, Solaris, AIX, HP-UX dan Mac OS X.

Mulit-language: Eclipse dikembangkan dengan bahasa pemrograman Java,

akan tetapi Eclipse mendukung pengembangan aplikasi berbasis bahasa

pemrograman lainnya, seperti C/C++, Cobol, Python, Perl, PHP, dan lain

sebagainya.

Multi-role: Selain sebagai IDE untuk pengembangan aplikasi, Eclipse pun

bisa digunakan untuk aktivitas dalam siklus pengembangan perangkat lunak,

seperti dokumentasi, test perangkat lunak, pengembangan web, dan lain

sebagainya.

Eclipse pada dasarnya merupakan sebuah kernel, yang mengangkat plug-in.

Apa yang dapat digunakan di dalam Eclipse sebenarnya adalah fungsi dari plug-

inyang sudah diinstal. Ini merupakan basis dari Eclipse yang dinamakan Rich

Client Platform (RCP). Berikut ini adalah komponen yang membentuk RCP:

Core platform

OSGi

SWT (Standard Widget Toolkit)

JFace

Eclipse Workbench

23

Secara standar Eclipse selalu dilengkapi dengan JDT (Java Development

Tools), plug-in yang membuat Eclipse kompatibel untuk mengembangkan

program Java, dan PDE (Plug-in Development Environment) untuk

mengembangkan plug-in baru. Eclipse beserta plug-in-nya diimplementasikan

dalam bahasa pemrograman Java.

Konsep Eclipse adalah IDE yang terbuka (open), mudah diperluas

(extensible) untuk apa saja, dan tidak untuk sesuatu yang spesifik, Jadi, Eclipse

tidak saja untuk mengembangkan program Java, akan tetapi dapat digunakan

untuk berbagai macam keperluan, cukup dengan menginstal plug-in yang

dibutuhkan. Apabila ingin mengembangkan program C/C++ terdapat plug-

in CDT (C/C++ Development Tools). Selain itu, pengembangan secara visual

bukan hal yang tidak mungkin oleh Eclipse, plug-inUML2 tersedia untuk

membuat diagram UML. Dengan menggunakan PDE setiap orang bisa

membuat plug-in sesuai dengan keinginannya. Salah satu situs yang

menawarkanplug-in secara gratis seperti Eclipse downloads by project.

2.8 ADT Plugin for Eclipse

Android Development Tools (ADT) adalah plugin untuk IDE eclipse yang

didesign powerfull untuk pengembangan aplikasi Android.Developing Android di

eclipse sangat direkomendasikan karena banyak kemudahan sebagai tools

terintegrasi seperti custom XML editor, debuging dan banyak hal-hal lain yang

mempercepat pembuatan aplikasi ( Faren,2010).

ADT (Android Developer Tools) adalah plugin untuk Eclipse yang

menyediakan seperangkat alat yang terintegrasi dengan Eclipse IDE.Hal ini

menawarkan akses ke banyak fitur yang membantu Anda mengembangkan

aplikasi android. ADT menyediakan akses GUI untuk banyak alat-alat SDK baris

perintah serta alat desain UI untuk prototyping cepat, merancang, dan membangun

antarmuka pengguna aplikasi Anda.

ADT menyediakan kustom, bentuk berbasis XML editor berikut:

24

a. Grafis Layout Editor

Mengedit dan mendesain tata letak XML file dengan drag dan drop

antarmuka. The layout editor membuat antarmuka Anda juga, menawarkan

preview seperti yang Anda desain layout Anda. Editor ini dipanggil ketika

Anda membuka file XML dengan pandangan menyatakan (biasanya

dinyatakan dalam res / layout. Untuk informasi lebih lanjut, lihat grafis

Layout Editor.

b. Android Manifest Editor

Mengedit Android memanifestasikan dengan antarmuka grafis sederhana.

Editor ini dipanggil ketika Anda membuka file AndroidManifest.xml.

c. Menu Editor

Kelompok menu edit dan item dengan antarmuka grafis sederhana. Editor

ini dipanggil ketika Anda membuka file XML dengan <menu> menyatakan

(biasanya terletak di folder res / menu).

d. Sumber Editor

Mengedit sumber dengan antarmuka grafis sederhana. Editor ini dipanggil

ketika Anda membuka file XML dengan <sumber> tag diumumkan.

e. XML Editor Sumber Daya

Mengedit sumber XML dengan antarmuka grafis sederhana. Editor ini

dipanggil ketika Anda membuka file XML.

f. Sumber daya yang menghubungkan perangkat tambahan

Selain fitur pengeditan kode normal Eclipse, ADT memberikan tambahan

pengalaman pengembangan Android yang memungkinkan Anda untuk cepat

melompat ke deklarasi berbagai jenis sumber daya seperti string atau file tata

letak.

2.9 Protokol XMPP ( Extensible Messaging and Presence Protocol )

Messaging dan presence Extensible Protocol ( XMPP ) adalah sebuah

teknologi terbuka untuk real-time komunikasi,menggunkan Extensible Markup

Language ( XML ) sebagai format dasar untuk bertukar informasi. Pada intinya

XMPP menyediakan cara untuk mengirim potongan-potongan kecil XML dari

25

satu entitas ke yang lain dalam mendekati real time. XMPP digunakan dalam

berbagai aplikasi dan itu mungkin tepat untuk aplikasi yang digunakan. Layanan

tersebut didefinisikan dalam dua spesifikasi utama diterbitkan oleh Internet Task

Force ( IETF ) dan puluhan spesifikasi ekstensi diterbitkan oleh XMPP standar

yayasan di aplikasi perangkat lunak yang program dan scenario penyebarannya

menjadi kepentingan bersama untuk individu dan organisasi, meskipun layanan

inti memungkinkan anda untuk membangun banyak aplikasi lainnya (

Oreilly,2009)

Gambar 2.3 XMPP Protokol

Karakteristik XMPP

1. Desentralisasi Arsitektur

Implementasi protokol XMPP merupakan teknologi dengan jaringan

client-server yang terdesentralisasi. Jaringan ini mirip dengan jaringan email,

dimana paket data dapat diteruskan kepada server XMPP lain yang menjadi

tujuannya. Kita dapat saja membuat jaringan XMPP dan kemudian membuat

saluran komunikasi dengan server Instant Messaging seperti Google Talk, Yahoo

Mesengger dan chat facebook. Instant Messaging sekarang memang kebanyakan

menggunakan protokol ini untuk saling komunikasi.

26

Gambar 2.4 Desentralisasi Server

2 JabberID

Penamaan address entitas pada jaringan XMPP menggunakan layanan

DNS. Dengan memakai DNS akan sangat memudahkan untuk menghafal seluruh

entitas-entitas yang terhubung, daripada mengingat satu-persatu IP address pada

setiap entitas. Tiap entitas pasti memiliki sebuah ID yang unik yang dikenal

dengan istilah JabberID atau disingkat dengan JID. JabberID ini terbagi menjadi

tiga bagian: local part,domain dan resource.

Gambar 2.5 Jaringan XMP

3. Core Protokol

Core protokol XMPP hanya mentransmisi aliran data dalam format XML.

Terdapat tiga jenis aliran XML yang ditransmisikan, antara lain message,

presence, dan info query atau lebih dikenal dengan IQ. Jenis pertama message,

27

merupakan general paket XMPP berisi informasi yang dikirim dari satu entitas ke

entitas lainnya. Pengiriman paket ini bersifat fire and forget, artinya entitas

pengirim tidak akan mendapatkan result dari paket message yang telah dia

kirimkan. Selain itu juga message ini dikirimkan dari dan ke one-to-one entitas

atau one-to-many. Jenis yang kedua adalah presence, dikirimkan dengan tujuan

availability kehadiran entitas yang terhubung dalam jaringan.Kita dapat

mengetahui status online atau offline dari setiap entitas karena adanya aliran data

presence ini.Tidak seperti message, presence dikirimkan ke semua entitas

(broadcast) yang sudah “subscribe” ke entitas tersebut.Terakhir, jenis yang ketiga

adalah IQ, digunakan untuk mekanisme request-response antar entitas dalam

jaringan XMPP. Mirip dengan metode GET dan POST pada protokol HTTP.

Terdapat sebuah entitas yang mengirimkan request ke entitas lain, dan akan

menerima response balasan dari entitas tersebut.

Gambar 2.6 Aliran XML

4. Server XMPP

Pada jaringan XMPP, tidak semua operasi dilakukan oleh server.Tugas

server hanya terbatas pada meneruskan aliran data, mencatat status kehadiran

entitas dan mengatur roster (subscribing user/entitas). Pemprosesan setiap paket

akan dilakukan sendiri oleh masing-masing entitas. Dalam beberapa kasus bahkan

kita tidak memerlukan operasi tambahan di server.Kita hanya membutuhkan core

protokol dan server XMPP bekerja sebagaimana mestinya. Semua operasi dan

proses dilakukan oleh aplikasi client yang kita bangun. Kasusnya seperti pada

28

game sederhana “Tankar” ini. Game ini merupakan game multi player yang juga

memanfaatkan core protokol XMPP untuk bertukar data dan berkomunikasi antar

pemainnya. Semua proses sepenuhnya ada pada aplikasi client yang di jalankan

independent pada masing-masing player. Tidak ada spesifik server, karena aliran

data akan berjalan melewati server-server XMPP yang sudah ada.

5. Payload

Setiap child element dari aliran XML yang ditransmisi merupakan payload

data aplikasi. Kalau dalam ilmu komunikasi dan informasi, payload yang saya

maksudkan disini, sekumpulan data seperti data buku, event, atau informasi

apapun yang nantinya akan di proses oleh aplikasi yang kita bangun. Ketiga jenis

aliran XML yang sudah saya sebutkan diatas (message, presence, dan IQ), dapat

membawa data-data informasi untuk sistem aplikasi.

6. Extensions Protokol

Komunitas XMPP telah membuat banyak sekali extensions yang dapat kita

manfaatkan untuk build sistem aplikasi. Extensions disini bukanlah library,

module atau add-ons. Bisa dibilang extension ini merupakan kekuatan utama

protokol XMPP.

X dari singkatan XMPP merupakan “extensible”.Merupakan sifat yang

dimiliki oleh core protokol XMPP. Istilah extensible menurut saya berkenaan

dengan sifat core protokol XMPP untuk membawa data (payload) yang telah kita

definisikan untuk membangun berbagai macam sistem aplikasi yang berbeda.

Sistem aplikasi mulai dari content syndication, push notification, lightweight

middleware and web services, whiteboarding, multimedia session negotiation,

intelligent workflows, geolocation, social gaming, social networking dan bahkan

cloud computing.

Dari sifat “extensible” ini kemudian terdapat sebuah istilah extensions yang

berarti proses dan payload data yang sudah developer rancang untuk tujuan

tertentu. Setiap developer dapat merancang atau membangun extensions-nya

sendiri. Sehingga akan sangat banyak sekali extensions yang akan dapat kita

temukan. Tapi terdapat juga extensions standar yang diatur oleh XSF (XMPP

Standart Foundations). Extensions standar ini kemudian di kenal dengan istilah

29

XEP (XMPP Extension Protocol). Berikut adalah extensions standar yang paling

sering digunakan oleh para developer untuk membangun sistem aplikasi:

Multi User Chat (MUC)

Publish-subscribe

Bidirectional-streams Over Synchronous HTTP (BOSH)

7. Keamanan Protocol

XMPP support TLS (Transport Layer Security) yang juga merupakan

protokol kembaran dari SSL, digunakan untuk menangani keamanan data yang

ditransmisikan melalui jaringan XMPP. Integrasi XMPP dengan TLS ini diatur

pada sebuah extensions yaitu XEP-0290.

Gambar 2.7 Enkripsi Paket

2.10 Metode Black Box Testing

Black-box testing adalah metode pengujian perangkat lunak yang tes

fungsionalitas dari aplikasi yang bertentangan dengan struktur internal atau kerja.

Pengetahuan khusus dari kode aplikasi / struktur internal dan pengetahuan

pemrograman pada umumnya tidak diperlukan. Uji kasus dibangun di sekitar

spesifikasi dan persyaratan, yakni, aplikasi apa yang seharusnya dilakukan.

Menggunakan deskripsi eksternal perangkat lunak, termasuk spesifikasi,

persyaratan, dan desain untuk menurunkan uji kasus. Tes ini dapat menjadi

fungsional atau non-fungsional, meskipun biasanya fungsional. Perancang uji

memilih input yang valid dan tidak valid dan menentukan output yang benar.

Tidak ada pengetahuan tentang struktur internal benda uji itu. Metode uji dapat

diterapkan pada semua tingkat pengujian perangkat lunak: unit, integrasi,

30

fungsional, sistem dan penerimaan. Ini biasanya terdiri dari kebanyakan jika tidak

semua pengujian pada tingkat yang lebih tinggi, tetapi juga bisa mendominasi unit

testing juga. Metode uji coba blackbox memfokuskan pada keperluan fungsional

dari software. Karena itu uji coba blackbox memungkinkan pengembang software

untuk membuat himpunan kondisi input yang akan melatih seluruh syarat-syarat

fungsional suatu program.Uji coba blackbox berusaha untuk menemukan

kesalahan dalam beberapa kategori, diantaranya :

1. Fungsi-fungsi yang salah atau hilang

2. Kesalahan interface

3. Kesalahan dalam struktur data atau akses database eksternal

4. Kesalahan performa

5. kesalahan inisialisasi dan terminasi

Berbeda dengan pengujian white box, pengujian black box cenderung

diaplikasikan selama tahap akhir pengujian. Pengujian black box harus dapat

menjawab pertanyaan sebagai berikut :

a. Bagaimana validitas fungsional diuji

b. Kelas input apa yang akan membuat kasus pengujian menjadi lebih baik

c. Apakah system akan sangat sensitive terhadap harga input tertentu

d. Bagaimana batasan dari suatu data diisolasi

e. Kecepatan data apa dan volume data apa yang akan ditoleransi oleh

System

f. Apa pengaruh kombinasi tertentu dari data terhadap system operasi