View
231
Download
4
Category
Preview:
Citation preview
7
BAB 2
LANDASAN TEORI
2.1 Teori Umum
Android® adalah sebuah kumpulan perangkat lunak untuk perangkat
mobile yang mencakup sistem operasi, middleware dan aplikasi utama mobile.
Android memiliki empat karakteristik sebagai berikut:
1. Terbuka
Android dibangun untuk benar-benar terbuka sehingga sebuah aplikasi
dapat memanggil salah satu fungsi inti ponsel seperti membuat
panggilan, mengirim pesan teks, menggunakan kamera, dan lain-lain.
Android menggunakan sebuah mesin virtual yang dirancang khusus
untuk mengoptimalkan sumber daya memori dan perangkat keras yang
terdapat di dalam perangkat. Android merupakan open source, dapat
secara bebas diperluas untuk memasukkan teknologi baru yang lebih
maju pada saat teknologi tersebut muncul. Platform ini akan terus
berkembang untuk membangun aplikasi mobile yang inovatif.
2. Semua aplikasi dibuat sama
Android tidak memberikan perbedaan terhadap aplikasi utama dari
telepon dan aplikasi pihak ketiga (third-party application). Semua
aplikasi dapat dibangun untuk memiliki akses yang sama terhadap
kemampuan sebuah telepon dalam menyediakan layanan dan aplikasi
yang luas terhadap para pengguna.
8
3. Memecahkan hambatan pada aplikasi
Android memecah hambatan untuk membangun aplikasi yang baru dan
inovatif. Misalnya, pengembang dapat menggabungkan informasi yang
diperoleh dari web dengan data pada ponsel seseorang seperti kontak
pengguna, kalender, atau lokasi geografis.
4. Pengembangan aplikasi yang cepat dan mudah
Android menyediakan akses yang sangat luas kepada pengguna untuk
menggunakan library yang diperlukan dan tools yang dapat digunakan
untuk membangun aplikasi yang semakin baik. Android memiliki
sekumpulan tools yang dapat digunakan sehingga membantu para
pengembang dalam meningkatkan produktivitas pada saat membangun
aplikasi yang dibuat.
(Sumber : http://www.android.com/about/ )
Google Inc. sepenuhnya membangun Android dan menjadikannya bersifat
terbuka (open source) sehingga para pengembang dapat menggunakan Android
tanpa mengeluarkan biaya untuk lisensi dari Google dan dapat membangun
Android tanpa adanya batasan-batasan. Android Software Development Kit
(SDK) menyediakan alat dan Application Programming Interface (API) yang
diperlukan untuk mulai mengembangkan aplikasi pada platform Android
menggunakan bahasa pemrograman Java.
9
2.1.1 Sejarah Sistem Operasi Android
Telepon seluler menggunakan berbagai macam sistem operasi
seperti Symbian OS®, Microsoft’s Windows Mobile®, Mobile Linux®,
iPhone OS® (berdasarkan Mac OS X), Moblin® (dari Intel), dan
berbagai macam sistem operasi lainnya. API yang tersedia untuk
mengembangkan aplikasi mobile terbatas dan oleh karena itulah Google
mulai mengembangkan dirinya. Platform Android menjanjikan
keterbukaan, kemudahan untuk menjangkau, source code yang terbuka,
dan pengembangan framework yang high end.
Google membeli perusahaan Android Inc., yang merupakan
sebuah perusahaan kecil berbasis pengembangan perangkat lunak untuk
ponsel, pada tahun 2005 untuk memulai pengembangan pada platform
Android. Tokoh utama pada Android Inc. meliputi Andy Rubin, Rich
Miner, Nick Sears, dan Chris White.
Pada tanggal 5 November 2007, kelompok pemimpin industri
bersama-sama membentuk Open Handset Alliance (OHA) yang
diciptakan untuk mengembangkan standar terbuka bagi perangkat mobile.
OHA terdiri dari 34 anggota besar dan beberapa anggota yang terkemuka
diantaranya sebagai berikut: Sprint Nextel®, T-Mobile®, Motorola®,
Samsung®, Sony Ericsson®, Toshiba®, Vodafone®, Google, Intel® dan
Texas Instruments.
Android SDK dirilis pertama kali pada 12 November 2007 dan
para pengembang memiliki kesempatan untuk memberikan umpan balik
10
dari pengembangan SDK tersebut. Pada bulan September 2008, T-Mobile
memperkenalkan ketersediaan T-Mobile G1 yang merupakan smart
phone pertama berbasiskan platform Android. Beberapa hari kemudian,
Google merilis Android SDK 1.0. Google membuat source code dari
platform Android menjadi tersedia di bawah lisensi Apache’s open
source.
Google merilis perangkat genggam (disebut Android Dev Phone
1) yang dapat menjalankan aplikasi Android tanpa terikat oleh berbagai
jaringan provider telepon seluler pada akhir 2008. Tujuan dari perangkat
ini adalah memungkinkan pengembang untuk melakukan percobaan
dengan perangkat sebenarnya yang dapat menjalankan Android OS tanpa
berbagai kontrak. Google juga merilis versi 1.1 dari sistem operasi
Android pada waktu yang tidak lama. Versi 1.1 dari Android tidak
mendukung adanya soft keyboards dan membutuhkan perangkat yang
memiliki keyboard secara fisik. Android menyelesaikan masalah ini
dengan merilis versi 1.5 pada bulan April 2009 dengan sejumlah
tambahan fitur seperti kemampuan perekaman media, widgets, dan live
folders.
Versi 1.6 dari Android OS dirilis pada bulan September 2009 dan
hanya dalam waktu satu bulan versi Android 2.0 dirilis dan membanjiri
seluruh perangkat Android. Versi ini memiliki kemampuan advanced
search, text to speech, gestures, dan multi touch. Android 2.0
memperkenalkan kemampuan untuk menggunakan HTML karena
11
didukung oleh HTML 5. Semakin banyak aplikasi berbasiskan Android
setiap harinya yang terdapat pada application store secara online atau
dikenal sebagai Android Market.
Gambar 2.1 Gambar Sejarah Sistem Operasi Android
2.1.2 Fitur Sistem Operasi Android
Sistem operasi Android memiliki fitur-fitur sebagai berikut :
a. Kerangka kerja aplikasi (application framework)
Digunakan untuk menulis aplikasi di Android sehingga
memungkinkan penggunaan kembali dan penggantian komponen.
Kerangka kerja ini didukung oleh berbagai open source libraries
seperti openssl, sqlite,dan libc serta didukung oleh libraries utama
Android. Kerangka kerja sistem operasi Android didasarkan pada
UNIX file system permission yang menjamin bahwa aplikasi-aplikasi
tersebut hanya memiliki kemampuan yang diberikan oleh pemilik
ponsel pada waktu penginstalan.
12
b. Dalvik Virtual Machine (DVM)
Dalvik Virtual Machine (DVM) adalah sebuah mesin virtual yang
menggunakan memori yang sangat rendah dan secara khusus
dirancang untuk Android untuk dijalankan pada embedded system.
DVM bekerja dengan baik pada situasi dengan tenaga yang rendah
dan mengoptimalkan perangkat mobile. DVM juga mengatur atribut
dari Central Processing Unit (CPU) serta membuat sebuah format
file yang spesial (.DEX) yang dibuat selama build time post
processing. DVM mengambil file yang dihasilkan oleh class Java
dan menggabungkannya ke dalam satu atau lebih Dalvik Executable
(.dex). DVM dapat menggunakan kembali salinan informasi dari
beberapa class file dan secara efektif mengurangi kebutuhan
penyimpanan oleh setengah dari Java Archive (.jar) file tradisional.
Konversi antara kelas Java dan format (.dex) dilakukan dengan
memasukkan “dx tool”.
DVM menggunakan assembly-code yang berbeda dimana DVM
menggunakan register sebagai unit utama dari penyimpanan data
daripada menggunakan stack. Hasil akhir dari executable-code pada
Android, merupakan hasil dari DVM yang didasarkan bukan pada
Java byte-code melainkan pada file (.dex). Hal ini berarti bahwa Java
byte-code tidak dieksekusi secara langsung melainkan dimulai dari
Java class file terlebih dahulu dan kemudian mengkonversikannya ke
dalam file (.dex) yang berhubungan.
13
c. Browser yang terintegrasi
Didasarkan pada open source WebKit engine yang memiliki dua
layout dan pengelompok frame. Layout menampilkan halaman tanpa
menunggu untuk melakukan pemblokan elemen seperti eksternal
Cascade Style Sheet (CSS) atau eksternal JavaScript. Beberapa saat
kemudian dilakukan penghalusan dengan semua sumber sudah
diunduh ke dalam sebuah perangkat. Frame yang ada digabungkan
menjadi suatu frame tunggal dan memasukkannya ke dalam browser.
Fitur-fitur inilah yang meningkatkan kecepatan dan penggunaan
browsing internet melalui ponsel.
d. Grafik yang teroptimasi
Didukung oleh library grafis 2D dan grafis 3D yang berdasarkan
spesifikasi OpenGl ES 1.0 (akselerasi perangkat keras bersifat
opsional).
e. SQLite
SQLite merupakan relational database management system yang
kecil (sekitar 500 Kb) yang diintegrasikan pada sistem operasi
Android. SQLite didasarkan pada function calls dan single file,
dimana semua definisi, tabel, dan data disimpan.
f. Dukungan media untuk suara, video dan format gambar seperti
Moving Picture Experts Group 4 (MPEG4), MPEG-1 or MPEG-2
Audio Layer 3 (MP3), Advanced Audio Coding (AAC), Adaptive
Multi-Rate (AMR) audio codec, Joint Photographic experts Group
14
(JPG), Portable Network Graphics (PNG), Graphics Interchange
Format (GIF).
g. GSM Telephony (bergantung dari perangkat keras yang digunakan)
h. Bluetooth, Enhanced Data rates for GSM Evolution (EDGE), 3rd
Generation (3G), dan WiFi™ (bergantung dari perangkat keras
yang digunakan)
i. Kamera, Global Postioning System (GPS), kompas dan
accelerometer (bergantung dari perangkat keras yang digunakan)
j. Lingkungan pengembangan yang lengkap, seperti emulator,
peralatan untuk debugging, memori dan performance profiling, serta
plug-in untuk Eclipse IDE.
(Sumber : http://www.scribd.com/doc/7577184/Android)
2.1.3 Sistem Arsitektur Sistem Operasi Android
Sistem Operasi Android memiliki komponen utama sebagai berikut :
a. Aplikasi
Android berisi sekumpulan aplikasi utama seperti : email client,
program Short Message Service (SMS), kalender, peta, browser, daftar
kontak, dan lain-lain. Semua aplikasi ditulis dengan menggunakan
bahasa pemgrograman Java.
b. Kerangka kerja aplikasi
Kerangka kerja aplikasi yang ditulis dengan menggunakan bahasa
pemrograman Java merupakan peralatan yang digunakan oleh semua
15
aplikasi, baik aplikasi bawaan dari ponsel seperti daftar kontak, dan
kotak SMS, maupun aplikasi yang ditulis oleh Google ataupun
pengembang Android.
Android menawarkan para pengembang kemampuan untuk
membangun aplikasi yang inovatif. Pengembang bebas untuk
mengambil keuntungan dari perangkat keras, akses lokasi informasi,
menjalankan background services, mengatur alarm, menambahkan
peringatan ke status bar, dan masih banyak lagi. Pengembang memiliki
akses yang penuh ke dalam kerangka kerja API yang sama yang
digunakan oleh aplikasi utama. Pada dasarnya, kerangka kerja aplikasi
memiliki beberapa komponen sebagai berikut:
• Activity Manager
Mengatur siklus dari aplikasi dan menyediakan navigasi backstack
untuk aplikasi yang berjalan pada proses yang berbeda.
• Package Manager
Untuk melacak aplikasi yang di-instal pada perangkat.
• Windows Manager
Merupakan abstraksi dari bahasa pemrograman Java pada bagian
atas dari level services (pada level yang lebih rendah) yang
disediakan oleh Surface Manager.
16
• Telephony Manager
Berisi sekumpulan API yang diperlukan untuk memanggil aplikasi.
• Content Providers
Digunakan untuk memungkinkan aplikasi mengakses data dari
aplikasi lain (seperti contacts) atau untuk membagikan data mereka
sendiri.
• Resource Manager
Digunakan untuk menagkses sumber daya yang bersifat bukan
code seperti string lokal, bitmap, deskripsi dari layout file dan
bagian eksternal lain dari aplikasi.
• View System
Digunakan untuk mengambil sekumpulan button, list, grid, dan
text box yang digunakan di dalam antarmuka pengguna.
• Notification Manager
Digunakan untuk mengatur tampilan peringatan dan fungsi-fungsi
lain.
c. Libraries
Android memiliki sekumpulan library C/C++ yang digunakan oleh
berbagai komponen dalam sistem Android. Kemampuan-kemampuan
ini dilihat oleh para pengembang melalui kerangka kerja aplikasi.
17
Beberapa dari library utama dijelaskan sebagai berikut:
• System C Library
Merupakan implementasi turunan dari standar system library C
(libc) yang diatur untuk peralatan berbasis embedded Linux.
• Media Libraries
Disediakan oleh PacketVideo (salah satu anggota dari OHA) yang
memberikan library untuk memutar ulang dan menyimpan format
suara dan video, serta static image file seperti MPEG4, MP3,
AAC, AMR, JPG, and PNG.
• Surface Manager
Mengatur akses ke dalam subsistem tampilan dan susunan grafis
layer 2D dan 3D secara mulus dari beberapa aplikasi dan
menyusun permukaan gambar yang berbeda pada layar ponsel.
• LibWebCore
Merupakan web browser modern yang menjadi kekuatan bagi
browser Android dan sebuah embeddable web view.
• Scalable Graphics Library (SGL)
SGL mendasari mesin grafis 2D dan bekerja bersama-sama dengan
lapisan pada level yang lebih tinggi dari kerangka kerja (seperti
Windows Manager dan Surface Manager) untuk
mengimplementasikan keseluruhan graphics pipeline dari Android.
18
• 3D Libraries
Implementasi yang didasarkan pada OpenGL ES 1.0 APIs dimana
library menggunakan baik akselerasi perangkat keras 3D (jika
tersedia) ataupun yang disertakan, dengan rasterisasi perangkat
lunak 3D yang sangat optimal.
• FreeType Library
Digunakan untuk menghaluskan semua tulisan bitmap dan vektor.
• SQLite
Merupakan relational database yang kuat dan ringan serta tersedia
untuk semua aplikasi.
d. Android Runtime
Merupakan lokasi dimana komponen utama dari DVM ditempatkan.
DVM dirancang secara khusus untuk Android pada saat dijalankan
pada lingkungan yang terbatas, dimana baterai yang terbatas, CPU,
memori, dan penyimpanan data menjadi fokus utama. Android
memiliki sebuah tool yang terintegrasi yaitu “dx” yang mengkonversi
generated byte code dari (.JAR) ke dalam file (.DEX) sehingga byte
code menjadi lebih efisien untuk dijalankan pada prosesor yang kecil.
Hal ini memungkinkan untuk memiliki beberapa jenis dari DVM
berjalan pada suatu peralatan tunggal pada waktu yang sama. Core
libraries ditulis dalam bahasa Java dan berisi kumpulan class, I/O dan
peralatan lain.
19
e. Linux Kernel
Arsitektur Android berdasarkan pada Linux 2.6 kernel yang dapat
digunakan untuk mengatur keamanan, manajemen memori, manajemen
proses, network stack, dan driver model.
Kernel juga bertindak sebagai lapisan abstrak antara perangkat keras
dan seluruh software stack.
Diagram di bawah ini menunjukkan komponen utama dari sistem
operasi Android:
Gambar 2.2 Gambar Komponen Utama Sistem Operasi Android
(Sumber : http://developer.android.com/guide/basics/what-is-android.html)
20
2.1.4 Versi Android
Android memiliki sejumlah pembaharuan semenjak rilis aslinya.
Pembaharuan ini dilakukan untuk memperbaiki bug dan
menambah fitur-fitur yang baru. Berikut merupakan versi-versi
yang dimiliki Android sampai saat ini:
• Android versi 1.1
Pada tanggal 9 Febuari 2009, Google merilis Android versi 1.1
yang dilengkapi dengan pembaruan estetis pada aplikasi, jam
alarm, pencarian suara, pengiriman pesan dengan Gmail®, dan
pemberitahuan email.
• Android versi 1.5 (Cupcake)
Pada tanggal 30 April 2009 Android versi 1.5 sudah dirilis.
Android versi ini didasarkan pada Linux Kernel 2.6.27 dan
terdapat beberapa pembaharuan antar muka pengguna serta
penambahan beberapa fitur dalam Android versi 1.5.
Pembaharuan yang dilakukan antara lain sebagai berikut :
a. Kemampuan untuk merekam dan menonton video dengan
modus kamera.
b. Mengunggah video ke Youtube® dan gambar ke Picasa®
langsung dari telepon.
c. Dukungan Bluetooth Advanced Audio Distribution Profile
(A2DP) dan Audio/Video Remote Control Profile
(AVRCP).
21
d. Kemampuan terhubung secara otomatis ke headset
bluetooth dalam jarak tertentu.
e. Widgets dan folder yang baru yang dapat ditambahkan ke
dalam layar utama.
f. Transisi animasi layar dan keyboard pada layar yang dapat
disesuaikan dengan sistem.
• Android versi 1.6 (Donut)
Pada tanggal 15 September 2009 Android versi 1.6 sudah
dirilis. Android versi ini didasarkan pada Linux Kernel 2.6.29.
Pembaharuan yang dilakukan adalah sebagai berikut :
a. Android market yang sudah diimprovisasi.
b. Kamera, camcorder, dan antarmuka galeri yang
terintegrasi.
c. Galeri memungkinkan pengguna untuk memilih banyak
gambar yang akan dihapus.
d. Voice search yang sudah diperbaharui.
e. Fasilitas pencarian yang sudah diperbaharui, yang
memungkinkan pencarian bookmark, history, dan web dari
layar utama.
f. Teknologi yang mendukung Code Division Multiple
Access/Evolution Data Only (CDMA/EVDO), 802.1x,
Virtual Private Network (VPN), text-to-speech engine
serta kemampuan dial contact.
22
g. Dukungan resolusi layar Wide Video Graphics Array
(WVGA).
h. Kecepatan pencarian yang meningkat.
i. Peralatan pengembangan untuk gesture framework dan
gesture builder.
• Android versi 2.0/2.1 (Éclair)
Pada tanggal 26 Oktober 2009 Android versi 2.0 sudah dirilis.
Android versi ini didasarkan pada Linux Kernel 2.6.29.
Pembaharuan yang dilakukan adalah sebagai berikut :
a. Pengoptimalan kecepatan perangkat keras.
b. Dukungan untuk resolusi dan ukuran layar.
c. Perubahan antar muka pengguna dengan browser baru dan
dukungan HTML5.
d. Tampilan daftar kontak yang telah diperbaharui.
e. Rasio latar belakang (hitam dan putih) yang lebih baik.
f. Peningkatan Google Maps 3.1.2.
g. Microsoft exchange support.
h. Dukungan flash untuk kamera.
i. Digital zoom.
j. Bluetooth 2.1.
k. Live wallpaper.
l. Kelas motionevent ditambahkan untuk mendeteksi event
yang digunakan di dalam multi touch.
23
• Android versi 2.2(Froyo)
Pada tanggal 20 Mei 2010 Android versi 2.2 sudah dirilis.
Android versi ini didasarkan pada Linux Kernel 2.6.32.
Pembaharuan yang dilakukan adalah sebagai berikut :
a. Optimasi kecepatan sistem operasi Android, memori dan
performa.
b. Perbaikan kecepatan aplikasi tambahan dalam
implementasi Just In Time (JIT).
c. Integrasi dari JavaScript V8 Chrome ke dalam aplikasi
browser.
d. Peningkatan dukungan Microsoft Exchange seperti
kebijakan kemanan, auto discovery dan sinkronisasi
kalender.
e. Peningkatan penginstalan aplikasi yang memungkinkan
adanya shortcut pada ponsel.
f. Fungsionalitas USB tethering dan portable hotspot.
g. Penambahan pilihan untuk menonaktifkan akses data
sepanjang jaringan ponsel.
h. Pembaharuan aplikasi “Market” dengan fitur pembaharuan
secara otomatis.
i. Waktu peralihan yang singkat antara autotext dan kamus
yang dimilikinya.
j. Pengiriman kontak melalui bluetooth.
24
k. Dukungan password numerik dan alpha numeric.
l. Dukungan untuk melakukan pengunggahan file pada
aplikasi browser.
m. Dukungan Adobe Flash® 10.1.
2.1.5 Teori Perancangan Aplikasi
2.1.5.1 Menu
Sebuah menu menampung sekumpulan perintah-perintah (aksi
dari user) yang biasanya disembunyikan, dan dapat diakses
melalui sebuah button, keypad atau gesture. Perintah menu
menyediakan sarana untuk melakukan operasi dan melakukan
navigasi ke bagian lain dari aplikasi.
Android menyediakan dua jenis menu yang dapat digunakan
untuk menyediakan fungsionalitas atau navigasi. Dua jenis menu
dijelaskan sebagai berikut:
• Options menu berisi fungsi utama yang berlaku secara global
dengan activity saat ini atau memulai kegiatan yang berhubungan
dengan activity. Menu ini biasanya dipanggil oleh user yang
menekan button dengan keras, dan sering disebut MENU.
• Context menu berisi fungsi sekunder untuk item yang dipilih saat
ini. Menu ini biasanya dipanggil melalui sentuhan user dan
menahan sentuhan tersebut pada sebuah item. Seperti pada options
25
menu, operasi context menu juga dapat berjalan baik pada activity
saat ini ataupun activity lainnya.
Seluruh aplikasi pada Android mempunyai menu. Android secara
otomatis akan meletakkan menu exit dan menyediakan cara standar
bagi user untuk mengaksesnya. Semua menu adalah panel yang
“mengambang” di atas layar activity dan lebih kecil dari full
screen, sehingga aplikasi tersebut masih dapat diihat pada
sekeliling tepi layar. Menu adalah pengingat visual bahwa menu
adalah operasi perantara yang menghilang setelah digunakan.
2.1.5.2 Pengaktifan Bluetooth
Platform Android meliputi dukungan untuk adanya jaringan
Bluetooth, yang memungkinkan perangkat untuk dapat bertukar
data secara nirkabel dengan perangkat Bluetooth lain. Kerangka
aplikasi memberikan akses ke fungsi Bluetooth melalui Android
Bluetooth API. API ini memungkinkan aplikasi secara nirkabel
terhubung ke perangkat Bluetooth lainnya, memungkinkan point-
to-point dan multipoint nirkabel.
26
Developer harus memiliki dua hak akses Bluetooth untuk
menggunakan fitur Bluetooth dala aplikasi Android, yaitu:
• BLUETOOTH untuk melakukan komunikasi Bluetooth,
seperti meminta koneksi, menerima koneksi, dan mentransfer
data.
• BLUETOOTH_ADMIN untuk memulai pencarian perangkat
atau memanipulasi pengaturan Bluetooth. Kebanyakan dari
aplikasi membutuhkan hak akses ini untuk kemampuan
menemukan perangkat Bluetooth lain.
Sebelum aplikasi dapat berkomunikasi melalui Bluetooth,
developer perlu melakukan verifikasi bahwa perangkat tersebut
mendukung teknologi Bluetooth. Jika perangkat tidak mendukung
Bluetooth, maka developer harus menonaktifkan seluruh fitur
Bluetooth yang ada pada aplikas. Jika perangkat mendukung
Bluetooth, tetapi sedang dalam kondisi nonaktif, maka developer
dapat meminta user untuk mengaktifkan Bluetooth tanpa
meninggalkan aplikasi dengan cara memanggil sebuah activity
dengan request enable Bluetooth. Activity ini akan mengaktifkan
Bluetooth melalui pengaturan sistem tanpa menghentikan aplikasi
yang sedang berjalan.
27
2.1.5.3 Touch Mode
Ketika user sedang melakukan navigasi dalam sebuah antarmuka
dengan trackball, maka perlu untuk memberikan fokus pada item
yang dapat diberi aksi (seperti Button) sehingga user dapat
melihat komponen yang akan menerima input. Jika perangkat
memiliki kemampuan menerima input sentuhan, memungkinkan
user untuk berinteraksi degan menyentuh layar, maka tidak lagi
diperlukan untuk menyorot komponen atau memberi fokus pada
item tersebut.
Untuk perangkat yang mendukung sentuhan, ketika user
menyentuh layar, perangkat akan memasuki touch mode. Dari
titik ini dan seterusnya, fokus akan terarah secara otomatis kepada
komponen yang disentuh oleh user.
2.1.5.4 Load Gambar
Android menawarkan library grafik 2D yang dapat dikustomisasi
untuk menggambar dan menganimasikan bentuk dan gambar.
android.graphics.drawable dan android.view.animation
merupakan paket dimana developer dapat menemukan class yang
digunakan untuk menggambar dan menganimasikan dalam bentuk
2D. Drawable adalah abstraksi umum untuk “sesuatu yang dapat
digambar”.
28
Ada tiga cara untuk mendefinisikan sebuah Drawable, yaitu:
• Menggunakan gambar yang disimpan dalam sumber daya
proyek
Cara sederhana untuk menambahkan grafik pada aplikasi
adalah dengan mereferensi sebuah file gambar dari sumber
daya proyek. Jenis file yang didukung adalah .PNG, .JPG, dan
.GIF. Teknik ini biasanya digunakan untuk icon pada aplikasi,
logo, atau grafik lainnya seperti yang digunakan dalam
permainan.
Untuk menggunakan sumber gambar, tempatkan file ke
direktori res/drawable/ proyek. Dari direktori ini, file gambar
tersebut dapat direferensikan dari kode atau layout XML. File
gambar ini direferensikan menggunakan resource ID, yang
merupakan nama file tanpa ekstensi jenis file (Misalnya,
“my_image.png” direferensikan sebagai “my_image”).
• Menggunakan file XML yang mendefinisikan property
Drawable
• Menggunakan class konstruktor normal
29
2.1.6 Sistem dan Data
2.1.6.1 Pengertian Sistem
Terdapat berbagai macam pengertian mengenai sistem. Berikut
merupakan pengertian mengenai sistem dari berbagai ahli:
1. Menurut Mulyadi (2001, p2) sistem adalah sekelompok unsur
yang berhubungan satu dengan yang lainnya dan berfungsi
bersama-sama untuk mencapai tujuan tertentu.
2. Menurut McLeod (2001, p11), sistem adalah sekelompok elemen
yang terintegrasi dengan maksud yang sama untuk mencapai satu
tujuan.
3. Menurut O’Brien (2003, p8), sistem adalah ”a group of
interrelated or interacting elements forming a unified whole”,
yang berarti sistem adalah sekumpulan elemen–elemen yang
saling berinteraksi membentuk satu kesatuan yang utuh.
Berdasarkan definisi – definisi di atas dapat disimpulkan bahwa
sistem merupakan sekumpulan elemen yang saling berinteraksi dan
terintegrasi serta melakukan suatu fungsi untuk mencapai satu tujuan
tertentu.
30
2.1.6.2. Pengertian Data
Terdapat berbagai macam pengertian mengenai data. Berikut
merupakan pengertian mengenai data dari berbagai ahli:
1. Menurut Hoffer, Prescott dan Mcfadden (2005, p5), data adalah
fakta–fakta yang telah diketahui dan dapat dikumpulkan serta
dapat disimpan dalam media komputer yang secara relatif
mempunyai arti bagi pengguna.
2. Menurut James A. O’Brien (2002, p13), data adalah observasi
atau fakta–fakta yang mentah, biasanya mengenai kejadian atau
transaksi.
3. Menurut Whitten, Bentley, Dittman (2002, P475), data adalah
sumber yang harus dikontrol dan ditangani.
Jadi, data adalah fakta – fakta mengenai kejadian atau transaksi
yang berguna bagi pengguna dan harus dikontrol serta ditangani.
2.1.7 Database Management System (DBMS)
Menurut Connolly dan Begg (2002, p16), Database Management
System merupakan sebuah sistem perangkat lunak yang memungkinkan
pengguna untuk mendefinisikan, membuat, mengatur, dan mengontrol
pengaksesan ke dalam basis data.
31
Sebuah DBMS menyediakan fasilitas– fasilitas sebagai berikut :
1. DBMS memungkinkan pengguna untuk mendefinisikan basis data,
dengan menggunakan Data Definition Language (DDL). DDL
memungkinkan pemakai untuk menspesifikasikan tipe – tipe dan
struktur data serta constraint pada data untuk disimpan di dalam basis
data.
2. DBMS memungkinkan pengguna untuk memasukkan, mengubah,
menghapus, dan mengambil data dari basis data dengan menggunakan
Data Manipulation Language (DML).
3. DBMS menyediakan pengontrolan akses ke dalam basis data.
Contohnya, DBMS menyediakan :
a. Security System, mencegah pengguna yang tidak memiliki hak
dalam mengakses basis data
b. Integrity system, mengatur konsistensi dari data yang disimpan.
c. Concurrency control system, memungkinkan pengaksesan basis
data secara bersama – sama.
d. Recovery control system, memperbaiki basis data kembali ke
bentuk semula sebelum terjadinya kerusakan perangkat keras atau
kerusakan perangkat lunak.
e. User-accessible catalog, berisi gambaran dari data yang terdapat
di dalam basis data.
32
2.1.8 Teori Perancangan Basis Data
A. Perancangan Basis Data Konseptual
Perancangan basis data konseptual adalah proses membangun suatu
model informasi yang digunakan oleh perusahaan atau organisasi dan
tidak tergantung dari pertimbangan fisik (Connolly,2002,p.421).
Langkah pertama
Langkah pertama yang dilakukan adalah membuat local
conceptual data model untuk setiap view. Bertujuan untuk memecah
rancangan menjadi tugas – tugas yang dapat diatur dengan memeriksa
sudut pandang yang berbeda dari pengguna suatu organisasi.
Conceptual data model secara keseluruhan terpisah dari detail
implementasi seperti target DBMS, program aplikasi, bahasa
pemrograman, platform perangkat keras, masalah performa, atau
berbagai pertimbangan fisik lain (Connolly, 2002, p.421).
Pada tahap pembuatan local conceptual data model, langkah-
langkah yang dilakukan adalah sebagai berikut :
a. Mengidentifikasi tipe entitas
Bertujuan untuk menentukan tipe entitas utama yang dibutuhkan.
Penentuan entitas dapat dilakukan dengan memeriksa spesifikasi
persyaratan pengguna dan setelah terdefinisi, entitas diberikan
nama yang tepat dan jelas (contoh : entitas mahasiswa, dosen,
matakuliah).
33
b. Mengidentifikasi tipe hubungan
Bertujuan untuk mengidentifikasi hubungan yang penting antar
entitas yang telah didefinisikan. Suatu hubungan ditunjukkan
dengan menggunakan kata kerja (verb) seperti mempelajari,
memiliki, mempunyai, dan lain-lain.
c. Mengidentifikasi dan mengasosiasikan atribut dengan tipe
entitas atau tipe hubungan
Bertujuan untuk mengasosiasikan atribut dengan tipe entitas atau
tipe hubungan yang tepat. Atribut yang dimiliki setiap entitas atau
hubungan memiliki identitas atau karakteristik yang sesuai dengan
memperhatikan atribut-atribut sebagai berikut: simple/composite
attribute, single-value attribute, dan derived attribute.
d. Menentukan domain atribut
Bertujuan untuk menentukan domain atribut pada conceptual data
model. Contoh: menentukan nilai atribut jenis kelamin pada
entitas mahasiswa dengan ‘M’ atau ‘F’ atau nilai atribut SKS pada
entitas “MataKuliah” dengan ‘1’,’2’,’3’, dan ‘4’.
e. Menentukan atribut candidate key dan primary key
Bertujuan unuk mengidentifikasi candidate key pada setiap entitas
dan memilih primary key jika ada lebih dari satu candidate key.
Pemilihan primary key didasari pada keunikan atribut.
34
f. Mempertimbangkan penggunaan enhance modeling concepts
(pilihan)
Langkah ini bertujuan untuk menentukan specialization,
generalization, aggregation, dan composition dimana masing-
masing pendekatan dapat dilakukan sesuai dengan kebutuhan
yang ada. Specialization dan generalization adalah proses
pengelompokkan beberapa entitas dan menghasilkan suatu entitas
yang baru. Perbedaan dari keduanya terletak pada cara prosesnya,
dimana spesialisasi menggunakan proses top-down dan
generalisasi menggunakan proses bottom-up. Perbedaan antara
entitas yang menjadi superclass dan subclass perlu diperhatikan
apabila spesialisasi atau generalisasi yang akan di dilakukan,
sementara untuk menampilkan hubungan ‘has a’ atau ‘is-part-of’
antar entitas, maka penggunaan agregasi yang akan diterapkan.\
g. Mengecek Redundansi
Bertujuan untuk memeriksa adanya informasi yang berulang.
Langkah-langkah yang dilakukan pada tahap ini adalah:
1. Memeriksa kembali one-to-one relationship (1:1)
Kemungkinan adanya dua entitas yang mewakili satu objek
perlu diperhatikan. Untuk itu, dua entitas tersebut harus di-
gabungkan bersama dan jika primary key-nya berbeda maka
harus dipilih salah satu dan yang lainnya ditampilkan sebagai
alternate key.
35
2. Menghilangkan relasi yang berulang
Suatu relasi dikatakan berulang apabila informasi yang sama
dapat diperoleh melalui hubungan (relationship) yang lain.
Penghilangan relasi yang berulang dilakukan dalam rangka
membangun model data yang minimal.
h. Melakukan pengecekan ulang local conceptual model
terhadap transaksi user
Bertujuan untuk menjamin bahwa local conceptual data model
mendukung kebutuhan transaksi. Ada dua pendekatan yang
mungkin untuk menjamin bahwa local conceptual data model
mendukung kebutuhan transaksi yaitu :
1. Mendeskripsikan transaksi
Memeriksa seluruh informasi (entitas, hubungan, dan atribut)
yang diperlukan pada setiap transaksi yang disediakan oleh
model dengan mendokumentasikan penggambaran dari tiap
kebutuhan transaksi.
2. Menggunakan transaksi pathways
Melibatkan diagram yang mewakili pathways yang diambil
dari setiap transaksi secara langsung yang terdapat pada E-R
diagram.
i. Meninjau ulang local conceptual data model dengan user
Langkah ini bertujuan untuk meninjau local conceptual data
model dengan user untuk memastikan bahwa model yang
36
dibangun merupakan representasi yang benar dari view yang
dimiliki.
B. Perancangan Basis Data Logikal
Perancangan basis data logikal adalah proses membangun suatu
model informasi yang digunakan pada perusahaan berdasarkan pada
model data yang spesifik, tetapi tidak tergantung dari Database
Management System (DBMS) yang khusus dan pertimbangan fisik lain
(Connoly, 2002, p.441)
Langkah kedua
Langkah kedua yang dilakukan adalah membuat dan memvalidasi
local logical data model untuk setiap view. Bertujuan untuk membuat
local logical data model dari local conceptual data model yang
merepresentasikan view tertentu dari perusahaan dan memvalidasi
model tersebut untuk menjamin kebenaran strukturnya (dengan
menggunakan teknik normalisasi) dan menjamin bahwa model
tersebut mendukung kebutuhan transaksi.
37
Perancangan logical data model langkah kedua memiliki sejumlah
tahapan – tahapan sebagai berikut:
a. Menghilangkan fitur yang tidak kompatibel dengan model
relasional (pilihan)
Bertujuan untuk menghasilkan local conceptual data model yang
kompatibel dengan model relasional, yaitu dengan :
1. Menghilangkan tipe hubungan biner many-to-many (*:*)
Pemecahan relationship yang mengandung many-to-many
(*:*) dilakukan dengan mengidentifikasikan sebuah entitas
tengah (intermediate entity) sehingga hubungan (*:*)
digantikan dengan dua buah hubungan one-to-many (1:*),
dengan entitas tengah berada di antara dua buah entitas yang
lama.
2. Menghilangkan tipe hubungan rekursif many-to-many (*:*)
Jika hubungan rekursif terdapat pada conceptual data model,
hubungan tersebut harus dipecah untuk mengidentifikasikan
sebuah entitas tengah dengan cara menganggap entitas lain
yang terlibat pada hubungan ini merupakan dua buah entitas
dengan jenis hubungan biner many-to-many (*:*) sehingga
penyelesaiannya sama dengan penyelesaian pada hubungan
biner many-to-many (*:*).
38
3. Menghilangkan tipe hubungan kompleks
Hubungan kompleks merupakan hubungan di antara tiga atau
lebih tipe entitas. Hubungan ini harus dipecahkan untuk
mengidentifikasi sebuah entitas tengah. Hubungan kompleks
digantikan dengan hubungan (1:*) pada entitas baru yang
telah diidentifikasi.
4. Menghilangkan multi-valued attributes
Hal ini dilakukan dengan cara memecah atribut ini untuk
mengidentifikasikan sebuah entitas.
b. Menurunkan relasi untuk local logical data model
Bertujuan untuk membuat hubungan untuk local logical model
yang mewakili hubungan entitas dan atribut yang telah
didefinisikan. Deskripsi isi dari setiap relasi menggunakan
Database Definition Language (DDL) untuk relasi basis data.
Hubungan dimana sebuah entitas menjadi bagian dari entitas yang
lain ditampilkan dalam mekanisme primary key atau foreign key.
c. Memvalidasi relasi dengan menggunakan normalisasi
Tujuan dari langkah ini adalah untuk memvalidasi hubungan pada
local logical data model menggunakan teknik normalisasi.
Tujuan dari normalisasi adalah terjaminnya struktur yang
konsisten, kerangkapan yang minimal, dan stabilitas struktur data
yang maksimal.
39
Manfaat normalisasi adalah sebagai berikut :
1. Meminimalkan jumlah kapasitas penyimpanan yang
diperlukan untuk menyimpan data.
2. Meminimalkan resiko data yang tidak konsisten dalam suatu
basis data.
3. Memaksimalkan stabilitas struktur data.
Struktur normalisasi tabel secara detail dibagi menjadi lima tahap
sehingga dikenal bentuk-bentuk tabel normal sesuai dengan
tahapan normalisasi yang telah dilakukan yaitu bentuk normalisasi
pertama (menghilangkan data yang berulang), normalisasi kedua
(menghilangkan partial dependencies pada primary key),
normalisasi ketiga (menghilangkan transitive dependencies pada
primary key), normalisasi Boyce-Codd, normalisasi keempat, dan
normalisasi kelima.
d. Memvalidasi Relasi Terhadap Transaksi Pengguna
Bertujuan untuk menjamin bahwa relasi dalam local logical data
model mendukung transaksi yang diperlukan oleh spesifikasi
persyaratan pengguna secara detail.
e. Menentukan Integrity Constraints
Bertujuan untuk mendefinisikan integrity constraints yang
disampaikan dalam view.
40
Terdapat lima tipe integrity constraints yang harus diperhatikan,
yaitu :
• Required data
• Attribute domain constraints
• Entity integrity
• Referential integrity
• Enterprise constraints
f. Meninjau local logical data model dengan user
Bertujuan untuk memastikan bahwa local logical data model dan
dokumentasi yang mendukung serta menjelaskan model
merupakan representasi yang benar dari view yang dimiliki.
Langkah ketiga
Langkah ketiga yang dilakukan adalah membangun dan memvalidasi
global logical data model. Bertujuan untuk membuat local logical
data model dari local conceptual data model yang merepresentasikan
view tertentu dari perusahaan dan memvalidasi model tersebut untuk
menjamin kebenaran strukturnya (dengan menggunakan teknik
normalisasi) dan menjamin bahwa model tersebut mendukung
kebutuhan transaksi.
41
Pada perancangan logical model langkah ketiga, tahapan-tahapannya
adalah :
a. Menggabungkan local logical data model ke dalam global model
Bertujuan untuk menggabungkan local logical data model ke dalam
single global logical data model dari perusahaan. Beberapa tugas
yang harus dikerjakan adalah sebagai berikut :
1. Memeriksa kembali nama dan isi dari entitas dari relationships
dan candidate key.
2. Memeriksa kembali nama dan isi dari hubungan (foreign
keys).
3. Menggabungkan entitas atau hubungan dari local data model.
4. Mengikutsertakan (tanpa menggabungkan) entitas atau
hubungan yang unik pada tiap local data model.
5. Menggabungkan hubungan atau foreign key dari local data
model.
6. Mengikutsertakan (tanpa menggabungkan) hubungan atau
foreign key yang unik pada tiap local data model.
7. Memeriksa relasi atau entitas yang hilang.
8. Memeriksa foreign key.
9. Memeriksa integrity constraints.
10. Menggambarkan E-R diagram.
11. Melakukan update dokumen.
42
b. Memvalidasi Global Logical Data Model
Bertujuan untuk memvalidasi relasi yang dibuat dari global logical
data model dengan teknik normalisasi dan menjamin bahwa model
tersebut mendukung kebutuhan transaksi.
c. Mengecek pertumbuhan yang akan datang
Bertujuan untuk menentukan apakah ada perubahan yang signifikan
seperti keadaan yang tidak terduga dimasa mendatang dan menilai
apakah model logikal tersebut dapat menampung atau
menyesuaikan perubahan yang terjadi.
d. Melihat Kembali Global Logical Data Model dengan Pengguna
Bertujuan untuk menjamin model data logikal yang bersifat global
telah tepat untuk perusahaan.
C. Perancangan Basis Data Fisikal
Perancangan basis data fisikal adalah suatu proses untuk menghasilkan
gambaran dari implementasi basis data pada tempat penyimpanan,
menjelaskan dasar dari relasi, organisasi file dan indeks yang
digunakan untuk memperoleh efesiensi akses ke data dan beberapa
integrity constraints dan tindakan keamanan lain yang berhubungan
(Connolly, 2002, p.478).
43
Langkah keempat
Menerjemahkan global logical data model untuk target DBMS.
Bertujuan untuk menghasilkan skema basis data relasional dari global
logical data model yang dapat diimplementasikan ke DBMS.
Pada perancangan physical model, langkah-langkahnya adalah sebagai
berikut :
a. Merancang basis data relasional
Dalam memulai merancang physical design, diperlukan
pengumpulan dan pemahaman informasi mengenai relasi yang
dihasilkan dari logical database design. Informasi yang penting bisa
didapatkan dari kamus data dan DDL.
b. Merancang representasi dari derived data
Bertujuan untuk menentukan bagaimana setiap data yang diperoleh
mewakili global logical data model ke dalam DBMS.
c. Merancang enterprise constraints
Langkah ini bertujuan untuk merancang batasan-batasan yang ada
pada perusahaan.
Langkah Kelima
Langkah kelima dilakukan dengan merancang representasi fisik.
Bertujuan untuk menentukan organisasi file yang optimal untuk
44
menyimpan relasi dasar dan indeks yang dibutuhkan untuk
meningkatkan performa.
Terdapat tiga faktor yang memungkinkan digunakan representasi fisik:
1. Transaction throughput (banyaknya transaksi yang dapat diproses
dalam interval waktu yang diberikan)
2. Response time (elapsed time untuk menyelesaikan suatu transaksi
tunggal)
3. Disk storage (kapasitas disk space yang diperlukan untuk
menyimpan file basis data)
Langkah-langkah dalam langkah kelima ini adalah :
a. Menganalisa transaksi
Bertujuan untuk memahami fungsionalitas dari transaksi yang akan
dijalankan pada basis data dan menganalisa transaksi yang penting.
b. Memilih organisasi file
Bertujuan untuk memilih organisasi file yang efisien dari setiap
relasi dasar seperti heap, hash, ISAM, B+ tree, dan clusters.
c. Memilih indeks
Bertujuan untuk meningkatkan performa dalam suatu sistem basis
data. Salah satu pendekatan untuk memilih organisasi file yang
cocok untuk suatu relasi adalah menjaga tuples yang tidak terurut
dan membuat secondary indexes sebagaimana diperlukan.
45
d. Memperkirakan kebutuhan ruang penyimpanan
Bertujuan untuk memperkirakan besar ruang penyimpanan yang
diperlukan dalam basis data. Perkiraannya didasari pada ukuran
setiap tabel dalam suatu relasi. Contohnya dalam lima tahun
mendatang berapa kapasitas harddisk yang dibutuhkan untuk
menampung data.
Langkah keenam
Langkah keenam dilakukan dengan merancang user view yang
bertujuan untuk merancang user view yang telah diidentifikasi selama
pengumpulan kebutuhan dan tahap analisis dari relasional database
lifecycle.
Langkah ketujuh
Langkah ketujuh dilakukan dengan merancang pengukuran keamanan.
Dalam sebuah sistem basis data, keamanan adalah elemen yang sangat
penting mengingat isi dari basis data berupa informasi yang sangat
penting.
Langkah kedelapan
Langkah kedelapan dilakukan dengan mempertimbangkan pengenalan
kontrol redundansi. Langkah physical database design
mempertimbangkan denormalisasi skema relasional untuk
46
meningkatkan performa. Hasil dari normalisasi adalah perancangan
basis data logikal yang secara struktural konsisten dan menekan
jumlah redundansi. Faktor yang perlu dipertimbangkan adalah :
1. Denormalisasi membuat implementasi lebih kompleks.
2. Denormalisasi selalu mengorbankan fleksibilitas.
3. Denormalisasi akan membuat cepat dalam retrieve data tetapi
lambat dalam updates.
Ukuran performa dari suatu perancangan basis data dapat dilihat dari
sudut pandang tertentu yaitu melalui pendekatan efisiensi data
(Normalisasi) atau pendekatan efisiensi proses (Denormalisasi).
Efesiensi data dimaksudkan untuk meminimalkan kapasitas disk, dan
efesiensi proses dimaksudkan untuk mempercepat proses saat retrieve
data dari basis data.
Langkah kesembilan
Langkah kesembilan dilakukan dengan memonitor dan memasang
sistem operasi. Langkah ini bertujuan untuk memonitor sistem operasi,
meningkatkan performa dan menentukan perancangan sistem yang
tepat atau menggambarkan perubahan kebutuhan.
47
2.1.9 Jaringan Komputer
Jaringan komputer adalah sebuah kumpulan komputer, printer dan
peralatan lainnya yang terhubung dalam satu kesatuan. Informasi dan
data bergerak melalui kabel atau tanpa kabel sehingga memungkinkan
pengguna jaringan komputer dapat saling bertukar data, mencetak data
pada printer yang sama dan bersama-sama menggunakan perangkat keras
dan perangkat lunak yang terhubung dalam jaringan. Setiap komputer,
printer atau periferal yang terhubung dengan jaringan disebut node.
(Sumber: http://www.scribd.com/doc/3582875/Jaringan-Komputer-dan-
Pemanfaatannya)
Manfaat penggunaan jaringan komputer berdasarkan sumber
http://www.docstoc.com/docs/37107938/makalah-jaringan-komputer
adalah sebagai berikut:
1. Berbagi perangkat keras
Perangkat keras seperti hard disk, printer, CD-ROM, dan bahkan
modem dapat digunakan oleh sejumlah komputer tanpa perlu
melepas dan memasang kembali. Perangkat cukup dipasang pada
sebuah komputer atau dihubungkan ke suatu peralatan khusus dan
semua komputer dapat mengaksesnya.
2. Berbagi program atau data
Program ataupun data dapat disimpan pada sebuah komputer yang
bertindak sebagai server (melayani komputer-komputer yang akan
membutuhkan data atau program).
48
3. Mendukung kecepatan berkomunikasi
Dengan adanya dukungan jaringan komputer, komunikasi dapat
dilakukan lebih cepat. Pemakai komputer dapat mengirimkan surat
elektronik dengan mudah dan bahkan bercakap-cakap secara
langsung melalui tulisan (chatting) ataupun telekonferensi.
4. Memudahkan pengaksesan informasi
Jaringan komputer memungkinkan segala informasi yang ada di
dunia ini dapat dengan mudah diperoleh dan siapapun dapat
membaca berita tentang hari ini dimanapun pembaca berada.
Berdasarkan skalanya, jaringan komputer dapat diklasifikan menjadi:
a. Local Area Network (LAN)
LAN merupakan jaringan yang menghubungkan komputer dan
perangkat dalam area geografis yang terbatas, seperti jaringan
komputer di rumah, sekolah, gedung, kantor, dan laboratorium
komputer.
b. Metropolitan Area Network (MAN)
Merupakan jaringan yang mencakup satu kota besar beserta daerah
setempat. Contohnya jaringan telepon lokal, sistem telepon seluler,
serta jaringan relay beberapa Internet Service Provider (ISP).
49
c. Wide Area Network (WAN)
Merupakan jaringan dengan cakupan seluruh dunia. Contohnya
jaringan PT. Telkom, PT. Indosat, serta jaringan GSM Seluler seperti
Satelindo, Telkomsel, dan masih banyak lagi.
Berdasarkan fungsinya, maka jaringan komputer diklasifikasikan
menjadi:
a. Client-server
Merupakan suatu model jaringan yang memiliki client dan server.
Client adalah komputer yang meminta layanan (berupa data atau
perangkat seperti printer) sedangkan server adalah komputer yang
bertindak untuk melayani permintaan client. Fungsi server sendiri
sebenarnya berupa perangkat lunak yang dijalankan pada perangkat
keras yang umumnya berupa komputer. Beberapa contoh fungsi
server yaitu file server, print server, web server dan mail server. File
server menangani berkas yang dapat diakses oleh client. Print server
bertindak sebagai pengontrol printer yang dapat digunakan oleh
client. Web server menangani halaman-halaman web yang diakses
oleh browser dan mail server menangani surat-surat elektronik.
b. Peer-to-peer
Peer to peer menyatakan model jaringan yang memberikan
kedudukan yang sama terhadap semua komputer. Tak ada yang
bertindak sebagai server ataupun client secara eksplisit. Oleh karena
50
itu, tidak ada media penyimpanan yang bersifat global (dipakai oleh
sejumlah komputer). Pada model ini, dua komputer dapat
berhubungan secara langsung tanpa bergantung pada server. Model
ini lebih murah daripada client/server, tetapi hanya dapat berjalan
efektif kalau jumlah komputer tidak lebih dari 25 buah (Wiliam dan
Sawyer, 3002, p.297).
Berdasarkan topologi fisiknya, maka jaringan komputer diklasifikasikan
menjadi:
• Star
Pada topologi ini terdapat komponen yang bertindak sebagai pusat
pengontrol. Semua simpul yang hendak berkomunikasi selalu
melalui pusat pengontrol tersebut. Dalam hal ini, pusat pengontrol
berupa hub atau switch.
Kelebihan topologi star adalah:
1. Mudah dikelola dan dihubungkan dan penyebab kegagalan mudah
untuk diketahui
2. Kegagalan pada sebuah komputer tidak berpengaruh pada seluruh
jaringan.
51
Kelemahan topologi star adalah:
1. Kegagalan pada pusat pengontrol akan menyebabkan kegagalan
jaringan secara keseluruhan.
2. Jika pusat pengontrol berupa hub dan bukan berupa switch, maka
kecepatan transmisi menjadi lambat.
Gambar 2.3 Gambar Topologi Star
• Bus
Pada topologi bus semua simpul (misalkan komputer) dihubungkan
melalui kabel yang disebut bus. Kabel yang digunakan adalah kabel
koaksial. Apabila seorang pemakai mengirimkan pesan ke pemakai
lain, maka pesan tersebut akan melalui bus. Setiap komputer perlu
membaca alamat dan pesan. Apabila alamat pada pesan sesuai
dengan alamat komputer pembaca, maka komputer akan segera
mengambil pesan tersebut. Topologi bus biasanya digunakan untuk
52
LAN dengan jumlah komputer yang sedikit, misalnya digunakan
pada warnet.
Kelebihan topologi bus adalah:
1. Instalasi mudah
2. Biaya murah
Kelemahan topologi bus adalah:
1. Apabila kabel utama (bus) putus, maka semua komputer tidak
dapat saling berhubungan.
2. Apabila kabel utama sangat panjang dan terdapat gangguan,
pencarian terhadap penyebab masalah akan cenderung sulit.
3. Jika banyak komputer yang aktif (mengirimkan pesan) akan
sering terjadi tabrakan sehingga kecepatan pengiriman data
menjadi berkurang.
Gambar 2.4 Gambar Topologi Bus
53
• Ring
Topologi ring mirip dengan topologi bus. Informasi yang dikirim
oleh sebuah komputer akan dilewatkan ke media transmisi, melewati
satu komputer ke komputer berikutnya.
Kelemahan topologi ring terletak pada kegagalan salah satu simpul.
Apabila ada satu saja simpul yang mengalami kegagalan, maka
semua hubungan akan terputus.
Gambar 2.5 Gambar Topologi Ring
(Sumber : http://www.docstoc.com/docs/37107938/makalah-jaringan-komputer )
2.1.10 Arsitektur Client Server
Arsitektur client server merupakan arsitektur yang mempunyai
satu atau lebih server yang memiliki kemampuan pemrosesan lebih dari
komputer lain yang terhubung dalam jaringan. Meskipun pemrosesan
dilakukan terpusat, tetapi terdapat pembagian kerja antara server dan
client. Komputer client akan melakukan pemrosesan awal terhadap data
yang masuk dan melakukan pemrosesan akhir pada data yang akan
54
dikeluarkan lewat komputer client, server hanya akan melakukan
pemrosesan pada data yang diperlukan untuk dipakai bersama. (Sumber :
http://journal.amikom.ac.id/index.php/informatika/article/view/263)
Arsitektur client server memiliki tampilan yang berbeda dari
komponen aplikasi logic antara client dan server. Terdapat tiga komponen
dari komponen aplikasi logic, yaitu:
1. Presentation Logic
Komponen ini bertanggung jawab dalam memformat dan
menampilkan data pada pengguna melalui alat keluaran dan
mengendalikan masukan dari pengguna melalui keyboard.
2. Processing Logic
Komponen ini berguna untuk menangani logika pemrosesan data,
logika aturan bisnis, dan logika manajemen data. Logika pemrosesan
data merupakan suatu aktivitas untuk memvalidasi data dan
mengidentifikasi kesalahan pada data. Aturan bisnis tidak mempunyai
kode pada DBMS, tetapi mempunyai kode pada komponen
pemrosesan. Manajemen data mengidentifikasikan data yang
diperlukan untuk memproses transaksi atau query.
3. Storage Logic
Komponen ini bertanggung jawab pada penyimpanan data dan
perbaikan data dari alat penyimpanan yang bekerja dengan aplikasi.
(Sumber :http://wartawarga.gunadarma.ac.id/2009/12/arsitektur-
clientserver/)
55
2.1.11 Jaringan Ad Hoc
Jaringan Ad Hoc dilihat dari sisi topologi jaringan merupakan
kumpulan dari beberapa node jaringan wireless multihop yang dinamis.
Setiap nodenya mempunyai interface wireless untuk berkomunikasi
dengan node lainnya. Jaringan Ad Hoc mempunyai infrastruktur node
jaringan yang tidak permanen. Jaringan ini terdiri atas beberapa node yang
bersifat mobile dengan satu atau lebih antarmuka pada setiap nodenya.
Setiap node pada jaringan Ad Hoc harus mampu menjaga performa trafik
paket data dalam jaringan akibat sifat mobilitas node dengan cara
rekonfigurasi jaringan. Sebagai contoh, jika ada node yang bergeser yang
mengakibatkan gangguan berupa putus jaringan, maka node yang
mengalami gangguan tersebut dapat meminta pembentukan rute link baru
untuk meneruskan pengiriman paket data. Beberapa contoh penerapan
jaringan Ad Hoc antara lain pembangunan jaringan komunikasi di medan
perang untuk beberapa lokasi, pusat-pusat komunikasi di daerah bencana
alam, sarana koneksi internet pada stand-stand suatu pameran dimana
tidak dimungkinkan untuk membangun jaringan kabel atau
ketidaktersediaan jaringan kabel.
2.1.11.1 Karakteristik Jaringan AdHoc
Node-node pada jaringan Ad Hoc tidak hanya berperan sebagai
pengirim dan penerima data, namun dapat berperan sebagai penunjang
node yang lain, misalnya mempunyai kemampuan layaknya router.
56
Routing protocol diperlukan dalam jaringan Ad Hoc untuk menunjang
proses pengiriman dan penerimaan antar node-nodenya. Berikut
beberapa karakteristik jaringan Ad Hoc :
a. Multiple wireless link
Setiap node yang mempunyai sifat mobilitas dapat memiliki
beberapa antarmuka yang terhubung ke beberapa node lainnya.
b. Topologi yang dinamis
Topologi jaringan dapat berubah secara acak karena sifat node
yang mobile. Hal ini menyebabkan routing protocol mempunyai
masalah yang lebih kompleks dibandingkan dengan jaringan yang
menggunakan kabel dengan node yang tetap.
c. Sumber daya yang terbatas
Seperti jaringan yang tidak memerlukan kabel (wireless) lainnya,
jaringan Ad Hoc dibatasi oleh masalah daya dan kapasitas memori.
(Sumber:http://www.ittelkom.ac.id/library/index.php?option=com
content&view=article&id=395:jaringanadhoc&catid=10:jaringa
n&Itemid=15)
2.1.11.2 Bluetooth
Pada bulan Mei 1998, lima perusahaan promotor yaitu Ericsson,
IBM, Intel, Nokia dan Toshiba membentuk sebuah Special Interest
Group (SIG) dan mulai untuk membuat spesifikasi yang mereka namai
bluetooth. Dokumen spesifikasi bluetooth versi 1.0 mulai diluncurkan
57
pada bulan Juli 1999. Pada bulan Desember 1999, dimulai lagi
pembuatan dokumen spesifikasi bluetooth versi 2.0 dengan tambahan
empat promotor baru yaitu 3Com, Lucent Technologies Inc.,
Microsoft Inc. dan Motorola. Pada saat ini lebih dari 1800 perusahaan
di berbagai bidang antara lain di bidang semi konductor manufaktur,
PC manufaktur, mobile network carrier, perusahaan-perusahaan
automobile dan airlines bergabung dalam sebuah konsorsium sebagai
pemakai teknologi bluetooth. Perusahaan-perusahaan terkemuka
tersebut antara lain seperti Compaq, Xircom, Phillips, Texas
Instruments, Sony, BMW, Puma, NEC, Casio, Boeing, dan
sebagainya.
2.1.11.3 Teknologi Bluetooth
Bluetooth terdiri dari microchip radio penerima atau pemancar
yang sangat pipih dan beroperasi pada pita frekuensi standar global 2,4
GHz. Teknologi ini menyesuaikan daya pancar radio sesuai dengan
kebutuhan. Ketika radio pemancar mentransmisikan informasi pada
jarak tertentu, radio penerima akan melakukan modifikasi sinyal-sinyal
sesuai dengan jarak yang selaras sehingga terjadi fine tuning. Data
yang ditransmisikan oleh chipset pemancar akan diacak, diproteksi
melalui enskripsi serta otentifikasi dan diterima oleh chipset yang
berada di peralatan yang dituju.
58
Gambar 2.6 Gambar Alokasi Frekuensi Radio
Teknologi bluetooth dirancang dan dioptimalkan untuk
perangkat yang bersifat mobile. Komputer yang bersifat mobile
(seperti laptop, tablet PC atau notebook, cellular, network access
point, printer, PDA, desktop, keyboard, joystick dan perangkat yang
jangkauannya seperti Bluetooth) bekerja pada jaringan bebas 2.4GHz
dengan jalur yang terintegrasi di dalam sebuah chip, yaitu Industrial-
Scientific-Medical (ISM). Konsumsi tenaga listrik juga harus
diperhatikan untuk peralatan mobile.
Bluetooth juga didesain untuk mendukung komunikasi bersama
suara dan data dengan kemampuan transfer data sampai 721 Kbps.
Bluetooth memerlukan daya yang rendah yaitu kurang dari 0.1 W dan
mendukung layanan synchronous dan asynchronous serta mudah di
integrasikan dengan jaringan Transmission Control Protocol/Internet
Protocol (TCP/IP). Setiap teknologi yang menggunakan spektrum ini
mempunyai batasan sesuai dengan aplikasinya. Komunikasi bluetooth
didesain untuk memberikan keuntungan yang optimal dari tersedianya
spektrum dan mengurangi interferensi RadioFrequency (RF).
59
Semuanya itu akan terjadi karena bluetooth beroperasi menggunakan
level energi yang rendah.
2.1.11.4 Arsitektur Bluetooth
Teknologi bluetooth dibagi menjadi dua spesifikasi yaitu
spesifikasi inti (core) dan profil. Spesifikasi core menjelaskan
bagaimana teknologi ini bekerja, sementara spesifikasi profil
menjelaskan bagaimana membangun operasi yang bersamaan antar
perangkat bluetooth dengan menggunakan teknologi core.
Berikut gambaran protokol bluetooth :
Gambar 2.7 Gambar Arsitektur Bluetooth
Keterangan :
• Radio Frequency (RF)
Radio Frequency merupakan lapisan terendah dari
spesifikasi bluetooth. Unit RF merupakan sebuah
60
transceiver yang memfasilitasi hubungan wireless antar
perangkat bluetooth yang beroperasi pada jalur
International Scientific and Medical (ISM) band dengan
frekuensi 2,4GHz. ISM band bekerja dengan frequency-
hopping, dan pembagiannya dibuat dalam 79 hop dengan
space 1 MHz.
Tabel 2.1
Tabel Klasisfikasi Daya Pancar Radio Bluetooth
• Baseband
Merupakan lapisan yang memungkinkan hubungan RF
terjadi di antara beberapa unit bluetooth yang membentuk
piconet. Sistem RF dari bluetooth menggunakan frekuensi
hopping-spread spectrum yang mengirimkan data dalam
bentuk paket pada time slot dan frekuensi yang telah
ditentukan. Lapisan ini melakukan prosedur pemeriksaan
dan paging untuk sinkronisasi dari transmisi frekuensi
hopping dan clock dari perangkat bluetooth yang berbeda.
• Link Manager Protocol (LMP)
Link manager protocol mengatur dan menghubungkan
kanal antar perangkat keras. Protokol ini dapat
61
meningkatkan performa keamanan seperti membentuk
autentifikasi, pertukaran, verifikasi, kunci enkripsi dan
negosiasi ukuran paket baseband.
• Logical Link Control and Adaption Protocol (L2CAP)
L2CAP mendukung multiplexing level protokol yang lebih
tinggi, packet segmentation and reassembly, dan
penyampaian kualitas dari layanan informasi. L2CP
memungkinkan level protokol yang lebih tinggi dan
aplikasi untuk mengirim dan menerima data paket dari
lapisan yang lebih tinggi (L2CAP Service Data Units/
SDU) sampai sebesar 64 Kb.
(Sumber:http://www.bluetooth.com/English/Technology/Wo
rks/Pages/Architecture__Logical_Link_Control_and_Adap
tation_Protocol_L2CAP.aspx)
• Service Discovery Protocol (SDP)
Protokol ini digunakan untuk memberikan informasi
mengenai perangkat dan layanan yang diperbolehkan untuk
mengakses perangkat.
• Cable Replacement Protocol (RFCOMM)
RFCOMM menyediakan koneksi secara bersamaan dengan
bergantung pada L2CAP untuk menangani multiplexing
melalui koneksi tunggal, dan menyediakan koneksi-koneksi
62
ke beberapa media atau alat seperti printer, modem,
Personal Computer (PC), dan laptop.
• Telephony Control Protocol
Telephony Control - Binary (TCS Binary) and Telephony
Control - AT Commands digunakan untuk menyusun
percakapan dan data antara perangkat dan mengontrol
telepon seluler dan modem.
• Adopted Protocols
Bluetooth juga mendukung Point to Point Protocol (PPP),
TCP/UDP/IP, OBEX dan Wireless Application Protocol
(WAP) untuk memaksimalkan interoperabilitasnya.
(Sumber : http://p3m.amikom.ac.id/p3m/dasi/maret05/02%20-
%20STMIK%20AMIKOM%20Yogyakarta%20Makalah%20ANDI
%20_teknologi%20arsitektur_.pdf)
2.1.12 Multimedia
Terdapat beberapa pengertian multimedia dari berbagai sumber.
Menurut Vaughan (2004,p3), multimedia merupakan kombinasi teks,
seni grafis, suara, animasi, dan video yang dimanipulasi secara digital.
Multimedia disebut multimedia interaktif ketika pengembang aplikasi
mengizinkan pengguna akhir mengontrol apa dan kapan elemen-elemen
tersebut akan dikirimkan. Menurut Hofstetter (2001, p.2) multimedia
adalah penggunaan komputer untuk menampilkan dan menggabungkan
63
teks, grafik, audio, dan video dengan links dan tools yang
memungkinkan pengguna melakukan pengendalian, berinteraksi dan
berkomunikasi.
2.1.12.1 Elemen Multimedia
Menurut Hofstetter (2001, p.16) dalam bukunya Multimedia
Literacy, elemen-elemen multimedia adalah sebagai berikut:
1. Teks
Teks merupakan elemen dasar dari berbagai sistem
multimedia. Teks dapat ditemukan dalam bentuk kata-kata,
kalimat, atau paragraf yang berguna untuk menuangkan ide atau
mengkomunikasikan maksud ataupun menceritakan fakta
kehidupan sehari-hari. Menurut Hofstetter, teks dibagi ke dalam
4 jenis, yaitu:
a. Printed Text
Printed Text merupakan teks yang tercetak pada kertas. Perlu
dibuat perubahan pada teks menjadi bentuk machine-
readable agar teks dapat dibaca oleh komputer multimedia.
Cara yang paling praktis untuk melakukannya adalah dengan
mengetik teks ke dalam word processor (atau text editor),
atau dengan melakukan scan terhadap teks tersebut.
64
b. Scanned Text
Scanned Text merupakan hasil dari printed text yang telah di-
scan oleh scanner.
c. Electronic Text
Electronic Text merupakan jenis teks yang dapat dibaca oleh
komputer dan dapat dikirimkan secara elektronik melalui
jaringan.
d. Hypertext
Hypertext merupakan jenis teks yang berbeda dengan teks
biasa karena hypertext merupakan jenis teks yang digunakan
untuk keperluan navigasi.
2. Grafik
Grafik adalah elemen multimedia yang dipresentasikan dalam
dua dimensi maupun tiga dimensi sebagai media ilustrasi yang
memperjelas penyampaian informasi. Macam-macam bentuk
grafik adalah:
a. Bitmaps
Bitmaps adalah gambar yang disimpan sebagai kumpulan
pixel yang berhubungan dengan titik pada layar komputer.
Komputer mengatur setiap titik pada layar untuk diwarnai
ketika gambar akan dimunculkan. Bitmap dapat dibuat
dengan menggunakan editor grafik manapun, seperti program
Paint yang telah disediakan oleh Windows, atau program
65
gambar komersil seperti Adobe Photoshop® atau
CorelDRAW®.
b. Vector Images
Vector Images disimpan sebagai kumpulan persamaan
matematika yang disebut sebagai algoritma yang
menggambarkan kurva, garis, dan bentuk dari sebuah gambar.
Vector Image dapat diskala, artinya gambar dapat diperbesar
atau diperkecil tanpa mengurangi kualitas gambar. Ukuran file
vector images lebih kecil dibandingkan gambar bitmap.
c. Clip Art
Clip Art merupakan gambar dalam bentuk jadi yang
digunakan untuk mendukung proses pembuatan suatu kerja,
baik itu pembuatan desain objek, pembuatan dokumen
maupun pembuatan gambar lainnya.
d. Digitized Pictures
Digitized Pictures adalah gambar yang dihasilkan dari media
elektronik digital seperti kamera digital dan kamera video.
e. Hyperpictures
Hyperpicture adalah gambar yang mempunyai link pada suatu
objek. Objek tersebut dapat berupa teks, gambar, ataupun
suatu aplikasi.
66
3. Suara
Terdapat empat tipe dari objek suara yang digunakan dalam
pembuatan multimedia, yaitu:
a. Waveform Audio
Waveform Audio digunakan untuk mendeskripsikan frekuensi,
amplitudo dan harmonisasi dari suatu suara.
b. MIDI
MIDI (Musical Intrument Digital Interface) merupakan cara
yang sangat efisien dalam merekam musik. MIDI tidak
merekam waveform dari suara yang membutuhkan ruang
harddisk yang besar, tetapi merekam informasi performa yang
dibutuhkan oleh komputer untuk memainkan musik. File
MIDI disimpan pada harddisk dengan extension mid (.mid)
c. Audio CD
Audio CD dapat menampung sampai 75 menit suara berkualitas
tinggi. Rata-rata sampling-nya mencapai 44.100 sampel per
detik yang cukup cepat untuk merekam semua suara yang
terdengar oleh manusia. Suara yang direkam dapat berupa
bisikan lembut sampai teriakan keras.
d. MP3
MP3 singkatan dari MPEG audio layer 3 merupakan format
file audio yang menggunakan codec audio MPEG untuk
melakukan kompres dan dekompres terhadap suara yang
67
direkam. MP3 dapat melakukan kompres sebuah track CD
menjadi file yang lebih kecil dan membutuhkan bandwidth
yang lebih kecil jika ditransfer melalui internet.
4. Video
Video merupakan suatu bentuk animasi yang diambil dari kamera
video dan disimpan dalam bentuk file (Andleigh dan Thakrar,
1996, p.259). Format file untuk video berbentuk Microsoft
Window Audio-Video Interleave (AVI), Motion Pictures Experts
Group (MPEG) dan Apple Macintosh Movie (MOV).
5. Animasi
Animasi adalah penggunaan komputer untuk menciptakan
pergerakan pada layar. Dengan arti lain, animasi ialah serangkaian
gambar yang diletakkan pada posisi yang berbeda dan ketika
dijalankan dengan cepat akan menciptakan suatu efek gerak.
Terdapat empat jenis animasi, yaitu:
a. Frame Animation
Frame Animation membuat objek bergerak dengan
menampilkan rangkaian gambar yang disebut frame, dimana
objek muncul dalam lokasi yang berbeda pada layar.
b. Vector Animation
Vector animation menggerakkan objek dengan memvariasikan
tiga parameter, yaitu titik awal, arah, dan panjang. Salah satu
contoh animasi vektor adalah animasi menggunakan Flash.
68
c. Computational Animation
Computational Animation menggerakkan objek dengan
mengubah koordinat x dan y dari objek tersebut.
d. Morphing
Morphing berarti transisi dari suatu bentuk ke bentuk lain
dengan menampilkan rangkaian frame yang menciptakan
pergerakan halus dari transformasi bentuk awal ke bentuk lain.
2.1.12.2 Delapan Aturan Emas (Eight Golden Rules)
Delapan aturan emas (eight golden rules) mengenai
perancangan antarmuka yang baik menurut Shneiderman (1998, p74-
75) adalah:
1. Berusaha untuk konsisten
Urutan tahap-tahap yang dilakukan harus konsisten, istilah-istilah
yang identik harus digunakan pada prompt, menu, layar bantu,
pewarnaan, layout, kapitalisasi, huruf dan lainnya yang konsisten.
2. Memungkinkan frequent user menggunakan shortcuts
Menyediakan tombol-tombol shortcut untuk aksi yang sering
digunakan. Pengguna mengharapkan disediakannya special keys,
perintah-perintah tersembunyi, dan fasilitas makro serta waktu
respon yang singkat dan tampilan yang cepat.
69
3. Memberikan umpan balik (feedback) yang informatif
Untuk setiap aksi yang dilakukan pengguna, harus disediakan
feedback. Untuk aksi yang sering digunakan dan kecil, respon yang
diberikan sederhana, sedangkan aksi yang jarang digunakan dan
besar, respon yang diberikan harus lebih banyak dan rinci.
4. Merancang dialog yang memberikan keadaan akhir
Urutan aksi harus diatur dalam grup dimana ada awal, tengah, dan
akhir. Dengan adanya umpan balik dapat memberikan pilihan
untuk menyiapkan grup aksi berikutnya.
5. Memberikan pencegahan kesalahan dan penanganan kesalahan
sederhana
Desain sistem sedemikian rupa sehingga pengguna tidak
melakukan kesalahan yang fatal. Misalnya adanya pilihan pada
menu lebih baik dari mengisi textbox yang kosong.
6. Memungkinkan pembalikan aksi yang mudah
Apabila memungkinkan, aksi harus bisa dibalik. Ciri ini
mengurangi kegelisahan, karena pengguna tahu bahwa kesalahan
dapat diperbaiki sehingga mendorong penjelajahan pilihan yang
tidak biasa dipakai.
7. Mendukung pusat kendali internal (internal focus of control)
Operator yang berpengalaman menginginkan bahwa mereka
bertanggung jawab terhadap sistem dan sistem merespon aksi yang
diberikan, karena manusia yang memegang kontrol.
70
8. Mengurangi beban ingatan jangka pendek
Batasan jangka pendek pemrosesan informasi pada manusia
memerlukan tampilan yang sederhana, tampilan banyak halaman
digabungkan, frekuensi pergerakan window dikurangi, dan waktu
pelatihan yang cukup diberikan untuk kode-kode, hafalan, dan
urutan aksi-aksi.
Dalam merancang suatu sistem, ada beberapa hal yang perlu
diperhatikan yang mempengaruhi pengguna secara langsung, antara
lain:
1. Tampilan Data
Tampilan memegang peranan penting karena dengan tampilan data
yang baik dapat memudahkan dan menarik pengguna untuk
mempelajari sistem. Beberapa pedoman dalam membuat tampilan
yang dikemukakan oleh Smith dan Mosier (Shneiderman, 1998,
p.386) antara lain:
a. Pertahankan format yang konsisten dari satu tampilan ke
tampilan lainnya untuk setiap jenis tampilan data
b. Gunakan kalimat yang singkat dan sederhana
c. Gunakan pernyataan yang positif, dan hindari pernyataan
negatif
71
d. Berikan label pada setiap halaman untuk menunjukkan
hubungan dengan halaman berikutnya pada tampilan yang
memiliki banyak halaman
e. Awali setiap tampilan dengan judul atau header yang
menggambarkan isi atau tujuan tampilan. Beri jarak paling
sedikit satu baris kosong antara judul dengan isi tampilan.
2. Warna
Shneiderman (1998, p398) menyatakan bahwa tampilan yang
berwarna dapat menarik pengguna dan dapat meningkatkan
kinerja, tetapi penggunaannya harus sesuai. Berikut ini adalah
beberapa aturan penggunaan warna menurut Shneiderman (1998,
p398-403):
a. Gunakan warna secara hati-hati
b. Batasi jumlah warna yang digunakan
c. Konsisten dalam penggunaan warna
d. Perhatikan kecocokan antar warna jika ditampilkan bersama
3. Tombol
Tombol biasanya digunakan untuk menampilkan pilihan yang
tersedia serta untuk menunjukkan pilihan yang berstatus aktif atau
non-aktif. Beberapa macam tombol yang sering digunakan adalah
check button, radio button, dan push button. Perlu diperhatikan
agar tombol yang digunakan harus diatur sedemikian rupa agar
tidak menyulitkan pengguna.
72
4. Waktu respon
Waktu respon adalah waktu (dalam satuan detik) yang diperlukan
oleh pengguna untuk melakukan aktivitas, seperti menekan tombol
sampai komputer menampilkan hasilnya pada layar atau printer.
Semakin cepat waktu respon maka semakin baik sistem tersebut.
2.1.13 Statistik dan Statistika
Statistik dipakai untuk menyatakan kumpulan data, bilangan maupun
non-bilangan yang disusun dalam tabel dan atau diagram, yang
melukiskan atau menggambarkan suatu persoalan (Sudjana, 1992).
Statistika adalah prosedur-prosedur atau cara-cara penyajian dan
penafsiran data. Penyajian data meliputi data collection, organization,
summarization, dan presentation. Penafsiran data meliputi analisis data,
pendugaan, pengujian dan penarikan kesimpulan.
Terdapat dua macam statistika, yaitu:
a. Statistika deskriptif
Statistika deskripstif berkenaan dengan bagaimana data dapat
digambarkan atau disimpulkan, baik secara numerik (misalnya
menghitung rata-rata dan deviasi standar) atau secara grafis (dalam
bentuk tabel atau grafik), untuk mendapatkan gambaran sekilas
mengenai data tersebut, sehingga lebih mudah dibaca dan bermakna.
Terdapat empat perhitungan statistik deskriptif yang sering
73
digunakan, yang pemilihannya tergantung dari sifat data dan tujuan
perhitungannya, yaitu Arithmetic mean, Median, Modus, dan
Geometric mean.
b. Statistika inferensial
Statistika inferensial berkenaan dengan pemodelan data dan
melakukan pengambilan keputusan berdasarkan analisis data,
misalnya melakukan pengujian hipotesis, melakukan estimasi
pengamatan masa mendatang (estimasi atau prediksi), membuat
pemodelan hubungan (korelasi, regresi, ANOVA, deret waktu), dan
sebagainya.
Arithmetic Mean
Arithmetic Mean adalah metode perhitungan yang paling sering
digunakan dan merupakan nilai rata-rata dari kumpulan data. Secara
umum, jika terdapat sebuah kumpulan data, x1, x2, …, xn, dimana n
merupakan jumlah data maka (Michael C. Fleming, 1994):
x = x1 + x2+ … + xn = �i=1 xi n n
2.1.14 Teori Pengumpulan Data
Pengumpulan data merupakan tahapan dalam proses penelitian
yang cukup penting untuk dilakukan. Data yang dicari harus sesuai
dengan tujuan penelitian dan jawaban dari perumusan masalah yang telah
dipaparkan sebelum penelitian dapat ditemukan.
n
74
Berdasarkan sumbernya, data dapat dibagi menjadi 2 jenis, yaitu:
1. Data Primer
Data primer merupakan data yang hanya dapat diperoleh dari sumber
asli atau pertama. Data primer harus diambil langsung dari sumber
aslinya, melalui nara sumber yang tepat dan dijadikan responden di
dalam penelitian. Pengumpulan data primer membutuhkan
perancangan alat dan metode pengumpulan data.
Data primer ialah data yang berasal dari sumber asli atau pertama.
Data ini tidak tersedia dalam bentuk terkompilasi ataupun dalam
bentuk file. Data ini harus dicari melalui nara sumber atau responden
(orang yang dijadikan objek penelitian).
Pengumpulan data primer memerlukan metode dan instrumen tertentu.
Terdapat dua metode pengumpulan data primer, yaitu:
a. Pengumpulan data secara pasif
- Bermanfaat untuk mendapatkan data dari manusia ataupun
tipe elemen studi lainnya dan kegiatannya meliputi observasi
terhadap karakteristik individual, objek, organisasi, dan entitas
lain yang menarik untuk diteliti.
b. Pengumpulan data secara aktif
- Memerlukan responden dalam mendapatkan data.
75
2. Data Sekunder
Data sekunder merupakan data yang sudah tersedia sehingga data
tersebut cukup dicari dan dikumpulkan. Data sekunder dapat diperoleh
dengan mudah, seperti pada perpustakaan, perusahaan, organisasi,
Biro Pusat Statitik, Badan Meterologi dan Geofisika dan lain-lain.
Pengumpulan data dapat dilakukan dengan berbagai metode,
diantaranya sebagai berikut:
a. Wawancara
b. Kuesioner
c. Observasi
2.1.15 Kuesioner
Menurut Sugiyono (2007, p.199), kuesioner merupakan teknik
pengumpulan data yang dilakukan dengan cara memberi seperangkat
pertanyaan atau pernyataan tertulis kepada responden untuk dijawab.
Kuesioner merupakan teknik pengumpulan data yang efisien apabila
peneliti mengetahui dengan pasti variabel yang akan diukur dan apa yang
dapat diharapkan dari responden. Kuesioner yang berupa pernyataan atau
pertanyaan tertutup dan terbuka dapat diberikan kepada responden secara
langsung maupun melalui internet (tidak langsung).
Apabila penelitian dilakukan pada lingkup yang tidak terlalu luas,
sehingga kuesioner dapat diantarkan langsung dalam waktu tidak terlalu
lama, maka penyebaran angket dapat dilakukan secara langsung. Melalui
76
kontak langsung peneliti dengan responden, suatu kondisi yang cukup
baik akan tercipta sehingga responden dengan sukarela akan memberikan
data objektif dengan cepat.
Berdasarkan jenis pertanyaannya, kuesioner dibedakan menjadi
empat macam, yaitu:
a. Pertanyaan Tertutup
Pertanyaan tertutup adalah pertanyaan yang telah disertai pilihan
jawaban. Responden cukup memilih pada salah satu jawaban yang
telah tersedia. Pertanyaan tertutup dapat berupa pilihan berganda
ataupun berupa skala.
b. Pertanyaan Terbuka
Pertanyaan terbuka adalah pertanyaan yang membutuhkan jawaban
bebas dari responden. Responden tidak diberi pilihan jawaban
yang sudah ada, tetapi responden menjawab menurut pendapat
responden.
c. Pertanyaan Kombinasi Tertutup dan Terbuka
Pertanyaan kombinasi tertutup dan terbuka adalah pertanyaan yang
telah disediakan pilihan jawabannya, tetapi kemudian diberi
pertanyaan terbuka.
d. Pertanyaan Semi Terbuka
Pertanyaan semi terbuka yaitu pertanyaan yang diberi pilihan
jawabannya tetapi masih ada kemungkinan bagi responden untuk
memberikan tambahan jawaban.
77
Dua teknik pengukuran dengan kuesioner yang paling populer adalah:
a. Likert’s Summated Rating (LSR)
LSR adalah skala atau pengukuran sikap responden. Jawaban
pernyataan dinyatakan dalam pilihan yang mengakomodasi jawaban
antara “sangat setuju sekali” sampai “sangat tidak setuju”. Terlalu
sedikit pilihan jawaban menyebabkan pengukuran menjadi sangat
“kasar”, dan terlalu banyak pilihan jawaban menyebabkan responden
sulit membedakan pilihan. Dalam prakteknya, paling sering
digunakan 5 pilihan yang menunjukkan skala pengukuran.
b. Semantic Differential (SD)
Responden menyatakan pilihan di antara dua kutub kata sifat atau frasa
yang dapat dibentuk dalam suatu garis nilai yang kontinyu dan dapat
diukur dalam satuan jarak atau dalam bentuk pilihan seperti LSR .
2.1.16 Populasi dan Sampel
2.1.16.1 Populasi
Menurut Sugiyono (2007, p.61), populasi adalah wilayah
generalisasi yang terdiri atas objek atau subjek yang mempunyai kualitas
dan karakteristik tertentu yang ditetapkan oleh peneliti untuk dipelajari
dan kemudian ditarik kesimpulannya. Populasi bukan hanya orang, tetapi
juga objek dan benda-benda alam yang lain. Populasi juga bukan sekedar
jumlah yang ada pada objek atau subjek yang dipelajari, tetapi meliputi
seluruh karakteristik atau sifat yang dimiliki oleh subjek atau objek itu
78
sendiri. Misalkan saja akan dilakukan penelitian pada perusahaan A
dimana perusahaan A mempunyai sejumlah orang atau subjek yang lain.
Perusahaan A merupakan populasi dalam arti jumlah atau kuantitas.
Perusahaan X juga mempunyai karakteristik karyawan-karyawannya
misalnya motivasi kerja karyawan, disiplin kerja karyawan,
kepemimpinan dan mempunyai objek yang lain, misalnya prosedur kerja,
kebijakan dalam perusahaan dan lain-lain. Kasus yang terakhir berarti
populasi dalam arti karakteristik.
Penggunaan satu orang saja sebagai populasi juga dapat
dilakukan, karena satu orang itu mempunyai berbagai karakteristik,
misalnya gaya bicaranya, disiplin pribadi, hobi, cara bergaul, dan
kepemimpinannya. Misalnya akan dilakukan penelitian tentang
kepemimpinan Direktur SY, maka kepemimpinan itu merupakan sampel
dari semua karakteristik yang dimiliki Direktur SY.
2.1.16.2 Sampel
Menurut Sugiyono (2007, p.73), sampel adalah bagian dari
jumlah dan karakteristik yang dimiliki populasi tersebut. Penelitian dapat
menggunakan sampel yang diambil dari populasi apabila populasi besar
dan peneliti tidak mungkin mempelajari semua yang ada pada populasi
(misalnya karena keterbatasan dana, tenaga dan waktu). Apa yang
dipelajari dari sampel tersebut, kesimpulannya akan diberlakukan pada
populasi. Dengan demikian, sampel yang diambil dari populasi harus
79
betul-betul mewakili populasi itu sendiri dan apabila sampel tidak
mewakili populasi itu sendiri, maka orang awam akan sulit
menyimpulkan karakteristik populasi.
Teknik Pengambilan Sampel
Menurut Sugiyono (2007, p.105) teknik sampling dibagi menjadi
dua, yaitu:
a. Probability Sampling
Probability Sampling merupakan teknik sampling yang
memberikan peluang yang sama bagi setiap unsur populasi yang
dipilih menjadi anggota sampel. Teknik ini meliputi:
• Simple Random Sampling
• Proportionate Stratified Random Sampling
• Disproportionate Stratified Random Sampling
• Area (cluster) sampling
b. Non Probability Sampling
Non Probability Sampling merupakan teknik pengambilan sampel
yang tidak memberi peluang atau kesempatan yang sama bagi
setiap unsur atau anggota populasi untuk dipilih menjadi sampel.
Teknik ini meliputi:
• Sampling Sistematis
• Sampling Kuota
• Sampling Aksidental
80
• Purposive Sampling
Purposive Sampling adalah teknik penentuan sampel
dengan maksud atau tujuan tertentu. Seseorang atau
sesuatu diambil sebagai sampel karena peneliti
menganggap bahwa seseorang atau sesuatu tersebut
memiliki informasi yang diperlukan bagi penelitiannya.
Terdapat dua jenis pengambilan sampel ini, yaitu:
a. Judgement Sampling
Sampel dipilih berdasarkan penilaian peneliti bahwa dia
adalah pihak yang paling baik untuk dijadikan sampel
penelitiannya. Misalkan saja untuk memperoleh data
mengenai bagaimana satu proses produksi direncanakan
oleh suatu perusahaan, maka manajer produksi
merupakan orang yang terbaik untuk bisa memberikan
informasi. Judgement sampling umumnya memilih
sesuatu atau seseorang menjadi sampel karena mereka
dianggap kaya informasi.
b. Quota Sampling
Teknik sampel ini merupakan bentuk dari sampel
distratifikasikan secara proporsional, namun tidak
dipilih secara acak melainkan secara kebetulan saja.
Misalnya, di sebuah kantor terdapat pegawai laki-laki
60% dan perempuan 40%. Apabila seorang peneliti
81
ingin mewawancarai 30 orang pegawai dari kedua jenis
kelamin tersebut, maka peneliti harus mengambil
sampel pegawai laki-laki sebanyak 18 orang sedangkan
pegawai perempuan 12 orang. Teknik pengambilan
sampel tersebut dilakukan secara kebetulan dan tidak
secara acak.
• Sampling Jenuh
• Snowball Sampling
Ukuran Sampel
Dikaitkan dengan besarnya sampel, terdapat beberapa faktor yang perlu
dipertimbangkan (Singarimbun dan Effendy, 1989), yaitu:
a. Derajat keseragaman
Semakin tidak seragam sifat atau karakter setiap elemen populasi,
semakin banyak sampel yang harus diambil.
b. Rencana analisis
Apabila rencana analisisnya mendetail atau rinci, maka jumlah
sampel harus banyak. Misalnya di samping ingin mengetahui sikap
konsumen terhadap kebijakan perusahaan, peneliti juga bermaksud
mengetahui hubungan antara sikap dengan tingkat pendidikan.
Agar tujuan ini dapat tercapai maka sampel harus terdiri atas
berbagai jenjang pendidikan SD, SLTP. SMU, dan seterusnya..
82
c. Biaya, waktu, dan tenaga yang tersedia
Semakin sedikit waktu, biaya, dan tenaga yang dimiliki peneliti,
semakin sedikit pula sampel yang bisa diperoleh.
Sumber lain mengatakan bahwa untuk penelitian deskriptif jumlah
sampelnya adalah 10% dari populasi, untuk penelitian korelasional
jumlah sampelnya paling sedikit 30 elemen populasi, untuk penelitian
perbandingan kausal, jumlah sampelnya 30 elemen per kelompok, dan
untuk penelitian eksperimen 15 elemen per kelompok (Gay dan Diehl,
1992).
Roscoe (1975) dalam Uma Sekaran (1992) memberikan pedoman
penentuan jumlah sampel sebagai berikut :
1. Sebaiknya ukuran sampel di antara 30 sampai 500 elemen.
2. Jika sampel dipecah lagi ke dalam subsampel (laki-laki atau
perempuan, SD, SLTP, SMU), jumlah minimum subsampel harus
30
3. Pada penelitian multivariate (termasuk analisis regresi
multivariate) ukuran sampel harus beberapa kali lebih besar (10
kali) dari jumlah variabel yang akan dianalisis.
4. Untuk penelitian eksperimen yang sederhana, dengan pengendalian
yang ketat, ukuran sampel antara 10 sampai 20 elemen.
83
Champion (1981) mengatakan bahwa sebagian besar uji statistik
selalu menyertakan rekomendasi ukuran sampel. Dengan kata lain,
uji-uji statistik yang ada akan sangat efektif apabila diterapkan
pada sampel yang jumlahnya 30 sampai 60 atau dari 120 sampai
250, bahkan apabila sampelnya di atas 500, tidak
direkomendasikan untuk menerapkan uji statistik.
2.1.17 Unified Modelling Language (UML)
Unified Modelling Language (UML) adalah bahasa spesifikasi
standar untuk mendokumentasikan, menspesifikasikan dan membangun
sistem perangkat lunak. UML tidak didasarkan pada bahasa
pemrograman tertentu. Standar spesifikasi UML dijadikan standar de
facto oleh OMG (Object Management Group) pada tahun 2007. UML
yang berorientasikan object mempunyai beberapa notasi standar.
Spesifikasi ini menjadi populer dan standar karena sebelum
adanya UML, telah ada berbagai macam spesifikasi yang berbeda. Hal ini
menyulitkan komunikasi antar pengembang pernagkat lunak. Untuk itu,
beberapa pengembang spesifikasi yang sangat berpengaruh berkumpul
untuk membuat standar baru. UML dirintis oleh Grady Booch, James
Rumbaugh pada tahun 1994 dan kemudian Ivar Jacobson. (Sumber :
http://www.uml.org)
84
UML mendeskripsikan OOP (Object Oriented Programming)
dengan beberapa diagram, diantaranya:
a. Use Case Diagram
b. Class Diagram
c. Behaviour Diagram
- Statechart Diagram
- Activity Diagram
d. Interaction Diagram
- Sequence Diagram
- Collaboration Diagram
e. Component Diagram
f. Deployment Diagram
Class Diagram
Class adalah sebuah spesifikasi yang jika diinstansiasi akan
menghasilkan sebuah objek dan merupakan inti dari pengembangan dan
desain berorientasi objek. Class menggambarkan keadaan (atribut atau
properti) suatu sistem, dan menawarkan layanan untuk memanipulasi
keadaan tersebut (metoda atau fungsi).
Class diagram menggambarkan struktur dan deskripsi class,
package, dan objek beserta hubungan satu sama lain seperti pewarisan,
asosiasi, dan lain-lain.
85
Class memiliki tiga area pokok yaitu:
1. Nama (stereotype), merupakan nama dari sebuah class.
2. Atribut, merupakan properti dari sebuah class. Atribut melambangkan
batas nilai yang mungkin ada pada objek dari class.
3. Metoda, merupakan sesuatu yang dapat dilakukan oleh sebuah class,
atau yang dapat dilakukan oleh class lain terhadap sebuah class.
Atribut dan metoda dapat memiliki salah satu sifat berikut:
a. Private, tidak dapat dipanggil dari luar class yang bersangkutan dan
ditampilkan dalam bentuk (-) dalam Class Diagram.
b. Protected, hanya dapat dipanggil oleh class yang bersangkutan dan
anak-anak yang mewarisinya. Sifat protected ditampilkan dalam
bentuk (#) dalam Class Diagram.
c. Public, dapat dipanggil oleh siapa saja dan ditampilkan dalam bentuk
(+) dalam Class Diagram.
d. Package, hanya dapat dipanggil oleh instance sebuah class pada
paket yang sama dan ditampilkan dalam bentuk (~) dalam Class
Diagram.
86
Gambar 2.8 Gambar Contoh Class Diagram
Berikut merupakan notasi dari class diagram :
• Class
Class adalah blok-blok pembangun pada pemrograman berorientasi
objek. Sebuah class digambarkan pada sebuah kotak yang terbagi atas
tiga bagian, yaitu: nama class, definisi atribut dan definisi fungsi.
• Association
Sebuah asosiasi merupakan sebuah hubungan paling umum antara dua
class. Garis ini dapat melambangkan tipe-tipe hubungan dan juga
hukum-hukum multiplicity pada sebuah hubungan seperti one to one,
one to many, many to many.
87
• Composition
Jika sebuah class tidak dapat berdiri sendiri dan merupakan bagian
dari class yang lain, maka class tersebut memiliki relasi “composition”
terhadap class tempat class tersebut bergantung. Sebuah hubungan
“composition” digambarkan sebagai garis dengan ujung berbentuk
jajaran genjang berisi atau solid.
• Dependency
Hubungan dependency dilakukan apabila sebuah class menggunakan
class yang lain. Penggunaan dependency dilakukan untuk
menunjukkan operasi pada suatu class yang menggunakan class yang
lain. Sebuah dependency dilambangkan sebagai sebuah panah bertitik-
titik.
• Aggregation
Agregasi mengindikasikan keseluruhan bagian relationship dan
biasanya disebut sebagai relasi “mempunyai sebuah” atau “bagian
dari”. Sebuah agregasi dilambangkan sebagai sebuah garis dengan
sebuah jajaran genjang yang tidak berisi atau tidak solid.
• Generalization
Sebuah relasi generalisasi sepadan dengan sebuah relasi inheritance
pada konsep berorientasi objek. Generalisasi dilambangkan dengan
sebuah panah dengan kepala panah yang tidak solid yang mengarah ke
kelas induk.
88
2.1.18 State Transition Diagram
Menurut Pressman (2001, p302) State Transition Diagram (STD)
mengindikasikan bagaimana suatu sistem bereaksi terhadap suatu kejadian
(event). STD menyampaikan berbagai cara bereaksi (disebut state) dari
sebuah sistem dan kebiasaan dimana transisi dibuat dari suatu state ke state
lainnya. STD berfungsi sebagai dasar dari behavioral modeling. Penyajian
STD diwakili dengan simbol-simbol sebagai berikut:
a. Persegi Empat (State), melambangkan state sistem yang dapat
diobervasi
Simbol dari state :
b. Anak panah (Transition State), merupakan penanda transisi atau
perubahan dari suatu state ke state lainnya.
Simbol transisiton state :
c. Event, merupakan kejadian yang menyebabkan transisi atau perubahan
yang terjadi pada satu sistem.
d. Action, merupakan aksi yang terjadi sebagai akibat dari suatu event.
State, transisiton state, event dan action digambarkan pada STD
seperti gambar berikut
kondisi aksi
Gambar 2.9
Gambar State Transition Diagram (STD)
State 1 State 2
89
2.1.19 Model Proses Waterfall
Menurut Pressman (2001, p.28), sekuensial linier atau lebih yang
dikenal dengan sebutan waterfall model menawarkan sebuah pendekatan
yang sistematis dan sekuensial dalam pengembangan piranti lunak yang
dimulai dari label sistem dan perkembangannya dengan melalui tahap
analisis, desain, coding dan testing.
Model waterfall adalah versi paling popular dari system
development lifecycle model untuk software engineering. Model ini sering
dianggap sebagai pendekatan klasik dalam daur hidup pengembangan
sistem. Ada empat tahapan utama dalam model ini, yaitu:
1. Analisis
Analisis adalah sebuah proses pengumpulan kebutuhan yang
dikhususkan dan difokuskan dalam pembuatan piranti lunak.
2. Desain
Desain adalah sebuah proses yang menerjemahkan hasil dari
analisis dalam bentuk representasi piranti lunak sehingga dapat
dinilai kualitasnya sebelum proses coding dimulai.
3. Coding
Coding adalah proses dimana hasil dari desain diterjemahkan
kembali dalam bentuk bahasa pemrograman yang dapat dimengerti
oleh mesin.
90
4. Testing
Testing dilakukan setelah coding selesai dilakukan. Testing
digunakan untuk mengetahui kesalahan yang tidak terdeteksi
sebelumnya atau hasil dari proses yang tidak diinginkan.
Adapun gambaran dari metodologi waterfall adalah sebagai berikut:
Gambar 2.10 Gambar Model Metodologi Waterfall
(Sumber : Pressman, Software Engineering, 2001, p.29)
2.2 Teori Khusus
2.2.1 Socket Bluetooth
Socket adalah antarmuka yang saling terhubung melalui sebuah
jaringan. Program-program menjadi terhubung dan dapat berkomunikasi
ketika antarmuka tersebut sudah saling terhubung. Socket juga dapat
diibaratkan sebagai sebuah antarmuka diantara sebuah proses aplikasi dan
layer transport. Proses aplikasi tersebut dapat mengirim dan menerima
pesan ke (atau dari) proses aplikasi yang lain (lokal atau remote) melalui
sebuah socket.
91
Socket sebagai salah satu teknologi fundamental dalam jaringan
komputer memungkinkan aplikasi untuk dapat berkomunikasi
menggunakan mekanisme standar yang dibangun pada perangkat keras
jaringan dan sistem operasi. Aplikasi perangkat lunak yang bergantung
pada internet dan jaringan komputer yang lain terus berkembang dengan
pesat. Banyak paket-paket perangkat lunak yang populer saat ini
(termasuk web browser, aplikasi instant messaging dan sistem transmisi
file secara peer to peer) bergantung pada socket.
Sebuah socket merepresentasikan sebuah koneksi tunggal tepat
diantara dua buah perangkat lunak. Lebih dari dua buah perangkat lunak
dapat berkomunikasi dalam client/server atau sistem terdistribusi
(misalkan saja banyak web browser dapat melakukan komunikasi yang
bersamaan dengan sebuah web server tunggal) tetapi beberapa socket
diperlukan untuk melakukan hal ini. Perangkat lunak yang berbasiskan
socket berjalan pada dua komputer yang berbeda dalam jaringan, tetapi
socket tersebut juga dapat digunakan untuk berkomunikasi secara lokal
(interprocess) dalam sebuah komputer tunggal.
Socket adalah sistem dengan koneksi bidirectional, yang berarti
bahwa setiap sisi dari koneksi tersebut mampu mengirim dan menerima
data. Aplikasi yang menginisialisasikan komunikasi disebut sebagai
client dan aplikasi yang lain adalah sebagai server. Programmer dapat
mengakses socket menggunakan code dalam library yang sudah dipaket
92
bersama dengan sistem operasi.Beberapa library sudah terintegrasi dalam
Application Programming Interfaces (APIs).
Antarmuka socket dibagi menjadi tiga kategori :
• Stream Socket "connection oriented"
Pada intinya, sebuah stream memerlukan kedua pihak yang
terlibat membangun sebuah koneksi socket, yang kemudian
setelah data melewati koneksi tersebut dapat dijamin untuk
sampai dengan urutan yang sama ketika data itu dikirim.
• Datagram Socket "connection-less"
Dengan datagram, koneksi berbanding terbalik dengan stream.
Pihak mengirim datagram yang diperlukan dan menunggu pihak
lain untuk merespon. Data yang dikirim dapat saja hilang dalam
transmisi atau diterima tidak sesuai dengan yang dikirim. Hal ini
merupakan tanggung jawab dari aplikasi dan bukan tanggung
jawab dari socket. Penerapan datagram socket dapat
memungkinkan beberapa aplikasi meningkatkan performanya dan
fleksibilitas tambahan dibandingkan menggunakan stream socket.
• Raw Socket
Raw Socket tidak menggunakan library yang telah terintegrasi
untuk mendukung standar protokol seperti Transmission Control
Protocol (TCP) dan User Datagram Protocol (UDP). Raw Socket
digunakan dalam pengembangan protokol level rendah.
93
Tipe dari socket bluetooth yang paling umum adalah RFCOMM
dimana RFCOMM ini adalah tipe yang didukung oleh API Android.
RFCOMM adalah sebuah connection oriented dan transportation
streaming melalui Bluetooth yang dikenal juga dengan nama Serial Port
Profile (SPP). RFCOMM menyediakan emulasi port serial, yang dapat
digunakan untuk menghubungkannya ke dalam legacy application
dan juga untuk transfer data pada beberapa profil bluetooth. Secara
teoritis, RFCOMM mendukung 30 layanan yang berbeda pada satu
waktu. Dalam prakteknya, kebanyakan perangkat bluetooth tidak
memiliki sumber daya yang cukup untuk mendukung 30 layanan yang
berbeda tersebut.
(Sumber :
http://compnetworking.about.com/od/itinformationtechnology/l/aa083100
a.htm
http://home.iitk.ac.in/~chebrolu/scourse/slides/sockets-tutorial.pdf)
2.2.2 XML (Extensible Markup Language)
Extensible Markup Language (XML) adalah cara yang fleksibel
untuk membuat format informasi yang umum dan dapat dibagikan baik
format maupun data pada World Wide Web, intranet, atau di tempat lain.
XML dapat digunakan oleh satu orang individu atau sekelompok orang
atau perusahaan yang ingin berbagi informasi dengan cara yang
konsisten. XML adalah "extensible" karena tidak seperti HTML, simbol
94
markup yang dimiliki XML tidak terbatas dan bersifat self defining. XML
bersifat sederhana dan mudah dalam menggunakan sekumpulan Standard
Generalized Markup Language (SGML) yang merupakan standar untuk
membuat struktur dokumen.
Keuntungan dari XML adalah sebagai berikut :
1. Sederhana
Informasi atau code yang ditulis di dalam XML mudah dibaca dan
dimengerti serta dapat diolah dengan mudah oleh komputer.
2. Terbuka
XML adalah standar World Wide Web Consortium (W3C), didukung
oleh pemimpin pasar industri perangkat lunak.
3. Dapat diperluas
Sekumpulan tags tidak ada yang tetap dan tags yang baru dapat
dibuat ketika diperlukan.
4. Self Description
Dokumen XML dapat disimpan tanpa memerlukan definisi tertentu
karena mengandung meta data dalam bentuk tag dan atribut. Setiap
tag XML dapat memiliki atribut dalam jumlah yang tidak terbatas.
5. Berisi informasi konteks yang dapat dibaca oleh tag machine, atribut
dan struktur elemen memberikan informasi konteks yang dapat
digunakan untuk menafsirkan arti dari isi.
6. Memisahkan bagian isi dengan tampilan
7. Mendukung dokumen multi bahasa dan Unicode
95
8. Memfasilitasi perbandingan dan kesatuan data
Struktur pohon dokumen XML memungkinkan dokumen untuk
dibandingkan dan di-agregasi secara lebih efisien elemen demi
elemen.
9. Dapat menambahkan beberapa tipe data
Dokumen XML dapat berisi tipe data yang mungkin dari data
multimedia (gambar, suara, video) ke komponen aktif (Java applet,
ActiveX).
10. Dapat menambahkan data yang ada
Pemetaan struktur data yang ada seperti sistem file atau database
relasional ke dalam XML sangat sederhana. XML mendukung
berbagai format data dan dapat mencakup semua struktur data yang
ada.
(Sumber:
http://communities.softwareag.com/ecosystem/communities/public/De
veloper/webmethods/products/tamino/faq/XMLStarter/XMLBenefits.h
tml)
2.2.3 Database SQLite
Menurut Jay A. Kreibich (2010,12) SQLite merupakan paket
perangkat lunak yang bersifat public domain yang menyediakan sistem
manajemen basis data relasional atau RDBMS. Sistem basis data relasional
digunakan untuk menyimpan record yang didefinisikan oleh pengguna
96
pada ukuran tabel yang besar dan memproses perintah query yang
kompleks dan menggabungkan data dari berbagai tabel untuk menghasilkan
laporan dan rangkuman data.
Kata ‘Lite’ pada SQLite tidak menunjuk pada kemampuannya,
melainkan menunjuk pada sifat dari SQLite, yaitu ringan ketika
dihubungkan dengan kompleksitas pengaturan, administrative overhead,
dan pemakaian sumber.
SQLite memiliki fitur-fitur sebagai berikut :
• Tidak memerlukan server
Arsitektur SQLite tidak memiliki arsitektur client server. Kebanyakan
sistem database skala besar memiliki paket server yang besar yang
membentuk mesin database.
• Single File Database
SQLite mengemas seluruh database ke dalam suatu single file. Single
file tersebut berisi layout database dan data aktual yang berada pada
tabel dan indeks yang berbeda. Format file dapat digunakan pada
banyak platform dan dapat diakses pada mesin manapun tanpa
memperhatikan native byte order ataupun ukuran kata.
Pengemasan database kedalam suatu file tunggal memudahkan
pengguna untuk membuat, menyalin, ataupun mem-backup image
database yang berada di dalam media penyimpanan
97
Keseluruhan database dapat dipindahkan, dimodifikasi dan dibagikan
dengan begitu mudahnya seperti kemudahan dalam dokumen
pemrosesan kata ataupin file spread sheet.
• Zero Configuration
SQLite tidak membutuhkan apapun untuk melakukan instalasi dan
konfigurasi. Dengan mengeliminasi server dan menggabungkan
database secara langsung ke dalam aplikasi, maka pengguna tidak
perlu mengetahui bahwa mereka sedang menggunakan database.
• Embedded Device Support
Ukuran code dari SQLite bersifat kecil dan penggunaan sumber daya
yang konservatif membuatnya cocok digunakan untuk embedded
system yang berjalan terbatas pada sistem operasi.
• Fitur-fitur yang unik
SQLite menawarkan beberapa fitur yang tidak ditemukan pada
kebanyakan sistem basis data. Hal yang paling berbeda adalah SQLite
menggunakan sistem dengan tipe dinamis untuk tabel-tabel. SQLite
memungkinkan pengguna untuk memasukkan nilai ke dalam kolom
tanpa memperhatikan tipe data. Pada beberapa cara pemakaiannya,
sistem yang bertipe dinamis pada SQLite mirip dengan sistem yang
ditemukan pada bahasa scripting yang populer, yang sering memiliki
sebuah tipe skalar yang dapat menerima semua tipe data dari integer
sampai string. Fitur lainnya adalah kemampuan untuk memanipulasi
lebih dari satu basis data pada satu waktu. SQLite mempunyai
98
kemampuan dalam menghubungkan sebuah koneksi database tunggal
dengan banyak file basis data secara bersamaan. Hal ini
memungkinkan SQLite umtuk memproses SQL statement yang
menjembatani beberapa basis data sekaligus.
• Compatible License
SQLite dan SQLite code tidak memiliki lisensi pengguna dan tidak
dilindungi oleh GNU's Not Unix (GNU) General Public License (GPL)
atau lisensi open source sejenisnya. Tim pengembang SQLite
menempatkan SQLite source code ke dalam domain publik dan
dengan tegas serta sengaja melepaskan semua claim yang dimiliki,
termasuk hak cipta dan hak kepemilikan dari code ataupun produk
yang memiliki SQLite code. Hal ini berarti pengguna dapat melakukan
apapun dengan source code SQLite, sehingga library code dapat
digunakan dengan berbagai cara, dimodifikasi dengan berbagai cara
dan didistribusikan dengan berbagai cara.
• Highly reliable
Sejumlah tes telah dilakukan sebelum library SQLite masing-masing
dirilis. Hal ini dilakukan untuk mempertahankan tingkat kehandalan
yang tinggi.
99
Penggunaan Database SQLite
SQLite memiliki beberapa peran dimana beberapa peran sama dengan
peran yang dimiliki oleh sistem database relasional manajemen sistem
client server tradisional dan peran lainnya memanfaatkan ukuran SQL
serta kemudahan penggunaan. Berikut merupakan peran dari database
SQLite :
• Database Junior
SQLite memiliki tool untuk menyimpan, mengatur, dan memanipulasi
data yang lebih kecil serta dalam sumber daya lingkungan yang lebih
terbatas. SQLite dirancang untuk melengkapi dan bukan menggantikan
platform RDBMS yang lebih besar dimana kesederhanaan dan
kemudahan penggunaan menjadi lebih penting dibandingkan dengan
kapasitas dan concurrency.
• Application File
Penggunaan library SQLite sebagai tempat penyimpanan yang abstrak
memiliki banyak keuntungan. Sejumlah aplikasi metadata seperti
cache, state data, dan konfigurasi data sesuai untuk model data
relasional. Hal ini menyebabkan pembuatan database dipetakan
dengan mudah ke dalam struktur data internal aplikasi.
• Application Cache
SQLite mampu membuat basis data yang berada seluruhnya di dalam
memori. SQLite digunakan untuk membuat basis data yang kecil dan
sementara yang tidak memerlukan tempat penyimpanan permanen.
100
BSasis data digunakan untuk menyimpan hasil yang diambil dari
banyak RDBMS tradisional ke dalam tempat penyimpanan sementara
(terjadi di dalam memori). Sebuah aplikasi mengambil sekumpulan
data dari remote database, menempatkannya ke dalam database
sementara dan kemudian memproses beberapa pencarian rinci serta
perbaikan terhadap salinan lokal. Hal ini berguna ketika memproses
elemen interaktif yang memerlukan response time yang sangat cepat.
• Penyimpanan data dan arsip
SQLite mengemas sekumpulan data kompleks ke dalam suatu file
tunggal yang mudah diakses dan dapat digunakan pada banyak
platform. Data yang dikemas ke dalam suatu file tunggal membuat
distribusi menjadi lebih mudah dan dapat menyimpan data yang
memiliki banyak tabel seperti kamus besar atau referensi lokasi
geografis.
Library SQLite mampu mengakses file dari basis data yang hanya
dapat dibaca (read only). Hal ini memungkinkan data yang disimpan
dapat dibaca secara langsung dari optical disk atau sistem file lain
yang hanya dapat dibaca (read only) dan hal ini berguna untuk sistem
yang memiliki kapasitas hard drive yang terbatas.
• Client server stand in
SQLite bekerja dengan baik sebagai database “stand-in” ketika
sebuah RDBMS yang lebih kuat menjadi pilihan yang tepat bagi
101
pengguna. SQLite secara khusus berguna untuk demonstrasi serta
evaluasi aplikasi dan tool yang bergantung pada basis data.
• Alat Pembelajaran
SQLite menyediakan lingkungan yang dapat diakses, mudah diatur,
mudah digunakan, dan mudah untuk dibagikan bagi pengguna yang
masih belajar SQL dan dasar-dasar model relasional. SQLite
menawarkan sistem relasional yang sepenuhnya mendukung hampir
semua bahasa inti SQL. SQLite tidak memerlukan pengaturan server,
tidak memerlukan administrasi, dan tidak ada overhead. Hal ini
membuat pengguna yang masih belajar dapat sepenuhnya fokus pada
pembelajaran mengenai SQL dan manipulasi data tanpa terhalang oleh
konfigurasi server dan database maintenance.
• Generic SQL Engine
SQLite tabel virtual memungkinkan pengembang untuk menentukan
isi tabel melalui code. Dengan mendefinisikan sekumpulan fungsi
callback yang mengambil dan mengembalikan baris dan kolom,
pengembang dapat membuat hubungan antara mesin pemrosesan data
SQLite dengan setiap sumber data. Hal ini memungkinkan SQLite
untuk menjalankan query terhadap sumber data tanpa mengimpor data
ke tabel standar.
102
Bahasa SQL (Structured Query Language)
Bahasa SQL merupakan sarana utama berinteraksi dengan hampir
semua sistem basis data relasional modern. SQL menyediakan perintah
untuk mengkonfigurasi tabel, indeks, dan struktur data dalam basis data.
Perintah SQL juga digunakan untuk memasukkan, mengedit, dan
menghapus data, serta query untuk mencari nilai suatu data yang spesifik.
Semua interaksi dengan basis data relasional dilakukan melalui bahasa
SQL. Hal ini berlaku ketika mengetik perintah secara interaktif atau saat
menggunakan pemrograman API.
Perintah SQL dibagi menjadi empat kategori utama. Setiap
kategori mendefinisikan sekumpulan perintah yang memiliki tujuan
masing-masing. Kategori-kateogri tersebut adalah sebagai berikut:
1. Data Definition Language (DDL)
Mengacu pada perintah yang menentukan struktur tabel, view dan
indeks atau perintah yang digunakan untuk menjelaskan objek dari
basis data.
Contoh dari perintah DDL adalah :
• CREATE TABLE (digunakan untuk mendefinisikan sebuah tabel
baru)
• CREATE DATABASE (digunakan untuk mendefinisikan sebuah
basis data yang baru)
• CREATE INDEX (digunakan untuk membuat index)
• CREATE VIEW (digunakan untuk membuat view)
103
• DROP DATABASE (digunakan untuk menghapus basis data)
• DROP TABLE (digunakan untuk menghapus tabel)
• DROP INDEX (digunakan untuk menghapus index)
• DROP VIEW (digunakan untuk menghapus view)
• ALTER TABLE (digunakan untuk mengubah suatu tabel)
2. Data Manipulation Language (DML)
Mengacu pada semua perintah untuk menambahkan, mengedit,
menghapus dan mengambil nilai dari data aktual yang didefinisikan
oleh DDL.
Contoh dari perintah DML adalah:
• INSERT (digunakan untuk memasukkan nilai baru ke dalam
tabel)
• UPDATE (digunakan untuk mengubah suatu nilai pada satu atau
lebih kolom)
• DELETE (digunakan untuk menghapus suatu nilai pada tabel)
• SELECT (digunakan untuk mengambil data dari tabel)
3. Transaction Control Language (TCL)
Perintah TCL dapat digunakan untuk mengontrol perintah dari
transaksi DML dan DDL.
Contoh dari perintah TCL adalah sebagai berikut:
• BEGIN (digunakan untuk memulai transaksi multistatement)
• COMMIT (digunakan untuk mengakhiri dan menerima transaksi)
104
• ROLLBACK (digunakan untuk membatalkan perubahan yang
dilakukan dalam transaction atau menghapus semua data yang
dimodifikasi pada awal transaction)
4. Data Control Language (DCL)
Tujuan utama dari DCL adalah untuk memberikan atau mencabut
kontrol akses. Sama seperti hak akses file, perintah DCL digunakan
untuk memungkinkan (atau menolak) izin pengguna basis data
tertentu (atau kelompok pengguna) untuk menggunakan atau
mengakses sumber daya tertentu di dalam basis data. Izin ini dapat
diterapkan baik pada DDL (seperti membuat tabel) maupun DML
(seperti membaca, mengedit, dan menghapus record pada tabel yang
spesifik)
Contoh dari perintah TCL adalah:
• GRANT (digunakan untuk memberikan izin)
• REVOKE (digunakan untuk menghapus izin yang sudah ada)
SQLite mendukung perintah standar DDL, DML, dan TCL tetapi
tidak memiliki perintah DCL. SQLite tidak memiliki konsep untuk
meminta izin atas hak akses karena SQLite tidak memiliki username
atau login. SQLite bergantung pada hak akses dari tipe data untuk
mendefinisikan siapa saja yang dapat membuka dan mengakses basis
data.
105
2.2.5 Instalasi Android SDK
Langkah-langkah instalasi Android System Development Kit untuk
pengembangan aplikasi pada Android adalah sebagai berikut:
1. Menyiapkan komputer untuk pengembangan
Sebelum mulai dengan Android SDK, pastikan bahwa komputer
yang digunakan untuk pengembangan aplikasi memenuhi syarat :
Sistem Operasi:
• Windows XP (32-bit), Vista (32- atau 64-bit), atau
Windows 7 (32- atau 64-bit)
• Mac OS X 10.5.8 atau lebih tinggi (x86 saja)
• Linux (Ubuntu Linux versi 8.04 atau lebih tinggi, Lucid
Lynx)
• GNU C Library (glibc) 2.7 atau lebih tinggi
Lingkungan pengembangan (Eclipse Integrated Development
Environment):
• Eclipse 3.4 (Ganymede) atau lebih tinggi
• Eclipse Java Development Tools (JDT) plugin (termasuk
dalam paket Eclipse IDE)
• Instalasi atau update Eclipse
106
Paket yang harus diinstal dalam mengembangkan aplikasi pada
Android :
• Eclipse IDE untuk pengembang Java
• Eclipse Classic (versi 3.5.1 atau lebih tinggi)
• Eclipse IDE untuk pengembang Java Enterprise Edition
• Java Development Kit 5 atau 6 (Java Runtime
Environment sendiri belum lengkap)
• Android Development Tools (ADT) plugin
• Tidak sesuai dengan GNU Compiler untuk Java (gjc)
Persyaratan Perangkat Keras:
Android SDK memerlukan ruang penyimpanan untuk seluruh
komponen yang telah dipilih untuk diinstal. Tabel berikut
memberikan gambaran atas persyaratan ruang penyimpanan yang
diperlukan, berdasarkan komponen yang digunakan.
Tabel 2.2 Tabel Persyaratan Ruang Penyimpanan
Tipe Komponen Ukuran Perkiraan Catatan
SDK Tools 35 MB Dibutuhkan
SDK Platform-Tools 6 MB Dibutuhkan
Android platform 150 MB Minimal 1 platform dibutuhkan
107
SDK Add-on 100 MB Optional
USB Driver untuk Windows 10 MB Optional (hanya untuk Windows)
Contoh aplikasi 10 MB Optional
Dokumentasi offline 250 MB Optional
2. Mengunduh SDK Starter Package
SDK stater package bukan sebuah environment pengembangan
yang lengkap dan hanya meliputi SDK Tools inti saja, yang mana
dapat digunakan untuk mengunduh komponen SDK lainnya
(seperti platform Android terbaru).
3. Menginstal Plugin ADT untuk Eclipse
Android menawarkan plugin tersendiri untuk Eclipse IDE, yaitu
Android Development Tools (ADT), yang didesain untuk
memberikan sebuah environment tempat pengembangan aplikasi
Android yang kuat dan terintegrasi kepada pengembang. ADT
memperluas kemampuan Eclipse untuk dapat membuat projek
baru Android secara cepat, membuat aplikasi antarmuka,
melakukan debug pada aplikasi menggunakan Android SDK
tools, dan bahkan mengekspor Android Package (APK) ke dalam
perangkat yang tersedia. Secara umum, mengembangkan aplikasi
108
di dalam Eclipse dengan ADT sangat disarankan dan merupakan
cara tercepat untuk memulai pengembangan pada Android.
4. Menambahkan Platform dan Komponen Lainnya
Menggunakan Android SDK dan Android Virtual Device
Manager (sebuah alat yang termasuk didalam SDK starter
package) untuk mengunduh komponen SDK penting lainnya ke
dalam environment pengembangan.
SDK menggunakan struktur modular yang memisahkan bagian
utama dari SDK (versi Android platform, add-ons, tools, contoh
aplikasi, dan dokumentasi) ke dalam seperangkat komponen
terpisah yang dapat diinstal. SDK starter package meliputi hanya
satu komponen yaitu versi terbaru dari SDK Tools. Untuk
mengembangkan sebuah aplikasi pada Android, pengembang juga
perlu untuk mengunduh setidaknya satu platform Android dan
SDK Platform-tools (tools yang digunakan pada platform
terbaru). Bagaimanapun juga, mengunduh komponen lain
sangatlah disarankan.
Pengembang dapat membuka Android SDK dan AVD Manager
melalui cara berikut :
• Melalui Eclipse, pilih Window > Android SDK and
AVD Manager
• Pada Windows, double-click file SDK Manager.exe pada
root dari direktori Android SDK
109
• Pada Mac atau Linux, buka sebuah terminal dan arahkan
ke direktori tools/ dalam Android SDK, kemudian
jalankan “android” tanpa tanda kutip.
Ada dua jenis tempat unduh dari komponen SDK yaitu:
• Android Repository
• SDK Tools (tersedia dalam Android Starter Package):
berisi tools yang digunakan untuk melakukan debug dan
testing aplikasi. Dapat diakses pada direktori <sdk>/tools/
dari SDK.
• SDK Platform tools: berisi tools yang diperlukan untuk
mengembangkan dan melakukan debug pada aplikasi.
Tools ini dapat diupdate ketika ada platform baru yang
dapat digunakan. Dapat diakses pada direktori
<sdk>/platform-tools/.
• Android platform: komponen platform yang meliputi
Android library, contoh kode aplikasi, dan emulator.
• USB Driver untuk Windows (hanya Windows): berisi file
driver yang dapat diinstal dalam komputer Windows
pengembang, sehingga pengembang dapat menjalankan
aplikasi dan melakukan debug seperti pada perangkat
aslinya.
• Contoh aplikasi : berisi contoh kode aplikasi dan aplikasi
yang tersedia untuk platform pengembangan Android.
110
• Dokumentasi : berisi salinan local dari dokumentasi untuk
Android.
• Third party Add-ons
Menyediakan komponen yang memungkinkan pengembang
untuk menciptakan environment pengembangan
menggunakan library eksternal Android (seperti library
Google Maps). Pengembang dapat menambahkan Add-on
dengan meng-click Add Add-on Site.
Recommended