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. 7
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 (AVRCP).
Audio/Video
Remote
Control
Profile
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 pointto-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 masingmasing 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 digabungkan 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 diperlukan
jumlah
kapasitas
penyimpanan
yang
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.
mempertimbangkan
Langkah denormalisasi
physical skema
database
design
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-danPemanfaatannya) 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 clientserver/)
:http://wartawarga.gunadarma.ac.id/2009/12/arsitektur-
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 IndustrialScientific-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
spesifikasi
merupakan
bluetooth.
Unit
lapisan RF
terendah
merupakan
dari
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 frequencyhopping, 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 machinereadable 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 discan 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, p7475) 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 = n
i=1 xi
nn
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.
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:
b.
•
Simple Random Sampling
•
Proportionate Stratified Random Sampling
•
Disproportionate Stratified Random Sampling
•
Area (cluster) sampling
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 bertitiktitik. • 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 State 1
kondisi aksi
State 2
Gambar 2.9 Gambar State Transition Diagram (STD)
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
memungkinkan SQLite umtuk memproses
bersamaan.
Hal
ini
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.