Contoh dan Pengertian Makalah Sistem Operasi Komputer

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.
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.

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

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

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.

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.

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

(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

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.

•   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.

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.

•   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.

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)

2.1.4 Versi Android

Android memiliki sejumlah pembaharuan semenjak rilis aslinya. Pembaharuan  ini  dilakukan  untuk  memperbaiki  bug  dan menambah fitur-fitur yang baru. Berikut merupakan versi-versi yang dimiliki Android sampai saat ini:
•  Android versi 1.1

Pada tanggal 9 Febuari 2009, Google merilis Android versi 1.1 yang dilengkapi dengan pembaruan estetis pada aplikasi, jam alarm, pencarian suara, pengiriman pesan dengan Gmail®, dan pemberitahuan email.
•  Android versi 1.5 (Cupcake)

Pada tanggal 30 April 2009 Android versi 1.5 sudah dirilis. Android versi ini didasarkan pada Linux Kernel 2.6.27 dan terdapat beberapa pembaharuan antar muka pengguna serta penambahan beberapa fitur dalam Android versi 1.5. Pembaharuan yang dilakukan antara lain sebagai berikut :
a. Kemampuan untuk merekam dan menonton video dengan modus kamera.
b.    Mengunggah video ke Youtube®  dan gambar ke Picasa®

langsung dari telepon.

c. Dukungan Bluetooth Advanced Audio Distribution Profile (A2DP) dan Audio/Video Remote Control Profile (AVRCP).

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.

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.

•  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.

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 menu, operasi context menu juga dapat berjalan baik pada activity saat ini ataupun activity lainnya.
Seluruh aplikasi pada Android mempunyai menu. Android secara otomatis akan meletakkan menu exit dan menyediakan cara standar bagi user untuk mengaksesnya. Semua menu adalah panel yang “mengambang”  di  atas  layar  activity  dan  lebih  kecil  dari  full screen,   sehingga   aplikasi   tersebut   masih   dapat   diihat   pada sekeliling tepi layar. Menu adalah pengingat visual bahwa menu adalah operasi perantara yang menghilang setelah digunakan.

2.1.5.2 Pengaktifan Bluetooth

Platform Android meliputi dukungan untuk adanya jaringan Bluetooth, yang memungkinkan perangkat untuk dapat bertukar data secara nirkabel dengan perangkat Bluetooth lain. Kerangka aplikasi memberikan akses ke fungsi Bluetooth melalui Android Bluetooth API. API ini memungkinkan aplikasi secara nirkabel terhubung ke perangkat Bluetooth lainnya, memungkinkan point- to-point dan multipoint nirkabel.

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.

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”.

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

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.

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.

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.

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).

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.

f. Mempertimbangkan penggunaan enhance modeling concepts

(pilihan)

Langkah ini bertujuan untuk menentukan specialization, generalization, aggregation, dan composition dimana masing- masing  pendekatan  dapat  dilakukan  sesuai  dengan  kebutuhan yang ada. Specialization dan generalization adalah proses pengelompokkan beberapa entitas dan menghasilkan suatu entitas yang baru. Perbedaan dari keduanya terletak pada cara prosesnya, dimana  spesialisasi  menggunakan  proses  top-down  dan generalisasi menggunakan proses bottom-up. Perbedaan antara entitas yang menjadi superclass dan subclass perlu diperhatikan apabila spesialisasi atau generalisasi yang akan di dilakukan, sementara untuk menampilkan hubungan ‘has a’ atau ‘is-part-of’ antar entitas, maka penggunaan agregasi yang akan diterapkan.\
g. Mengecek Redundansi

Bertujuan untuk memeriksa adanya informasi yang berulang. Langkah-langkah yang dilakukan pada tahap ini adalah:
1.   Memeriksa kembali one-to-one relationship (1:1) Kemungkinan adanya dua entitas yang mewakili satu objek perlu diperhatikan. Untuk itu, dua entitas tersebut harus di- gabungkan bersama dan jika primary key-nya berbeda maka harus dipilih salah satu dan yang lainnya ditampilkan sebagai alternate key.

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

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.

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 (*:*).

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.

Manfaat normalisasi adalah sebagai berikut :

1.   Meminimalkan jumlah kapasitas penyimpanan yang diperlukan untuk menyimpan data.
2.   Meminimalkan resiko data yang tidak konsisten dalam suatu basis data.
3.   Memaksimalkan stabilitas struktur data.

Struktur normalisasi tabel secara detail dibagi menjadi lima tahap sehingga dikenal bentuk-bentuk tabel normal sesuai dengan tahapan normalisasi yang telah dilakukan yaitu bentuk normalisasi pertama (menghilangkan data yang berulang), normalisasi kedua (menghilangkan partial dependencies pada primary key), normalisasi ketiga (menghilangkan transitive dependencies pada primary key), normalisasi Boyce-Codd, normalisasi keempat, dan normalisasi kelima.
d. Memvalidasi Relasi Terhadap Transaksi Pengguna

Bertujuan untuk menjamin bahwa relasi dalam local logical data model mendukung transaksi yang diperlukan oleh spesifikasi persyaratan pengguna secara detail.
e. Menentukan Integrity Constraints

Bertujuan untuk mendefinisikan integrity constraints yang disampaikan dalam view.

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.

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.

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).

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

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.

d. Memperkirakan kebutuhan ruang penyimpanan

Bertujuan untuk memperkirakan besar ruang penyimpanan yang diperlukan dalam basis data. Perkiraannya didasari pada ukuran setiap tabel dalam suatu relasi. Contohnya dalam lima tahun mendatang berapa kapasitas harddisk yang dibutuhkan untuk menampung data.

Langkah keenam

Langkah keenam dilakukan dengan merancang user view yang bertujuan untuk merancang user view yang telah diidentifikasi selama pengumpulan kebutuhan dan tahap analisis dari relasional database lifecycle.

Langkah ketujuh

Langkah ketujuh dilakukan dengan merancang pengukuran keamanan. Dalam sebuah sistem basis data, keamanan adalah elemen yang sangat penting mengingat isi dari basis data berupa informasi yang sangat penting.

Langkah kedelapan

Langkah kedelapan dilakukan dengan mempertimbangkan pengenalan kontrol redundansi. Langkah physical database design mempertimbangkan      denormalisasi      skema      relasional      untuk

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.

2.1.9  Jaringan Komputer

Jaringan  komputer  adalah sebuah  kumpulan  komputer, printer  dan peralatan lainnya yang terhubung dalam satu kesatuan. Informasi dan data bergerak melalui kabel atau tanpa kabel sehingga memungkinkan pengguna jaringan komputer dapat saling bertukar data, mencetak data pada printer yang sama dan bersama-sama menggunakan perangkat keras dan perangkat lunak yang terhubung dalam jaringan. Setiap komputer, printer atau periferal yang terhubung dengan jaringan disebut node. (Sumber: http://www.scribd.com/doc/3582875/Jaringan-Komputer-dan- Pemanfaatannya)
Manfaat penggunaan jaringan komputer berdasarkan sumber

http://www.docstoc.com/docs/37107938/makalah-jaringan-komputer

adalah sebagai berikut:

1. Berbagi perangkat keras

Perangkat keras seperti hard disk, printer, CD-ROM, dan bahkan modem  dapat  digunakan  oleh  sejumlah  komputer  tanpa  perlu melepas dan memasang kembali. Perangkat cukup dipasang pada sebuah komputer atau dihubungkan ke suatu peralatan khusus dan semua komputer dapat mengaksesnya.
2. Berbagi program atau data

Program ataupun data dapat disimpan pada sebuah komputer yang bertindak sebagai server (melayani komputer-komputer yang akan membutuhkan data atau program).

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).

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

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.

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

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

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.5Gambar 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

pemrosesan pada data yang diperlukan untuk dipakai bersama. (Sumber :

http://journal.amikom.ac.id/index.php/informatika/article/view/263) Arsitektur  client  server  memiliki  tampilan  yang  berbeda  dari
komponen aplikasi logic antara client dan server. Terdapat tiga komponen dari komponen aplikasi logic, yaitu:
1.   Presentation Logic

Komponen  ini  bertanggung  jawab  dalam  memformat  dan menampilkan data pada pengguna melalui alat keluaran dan mengendalikan masukan dari pengguna melalui keyboard.
2.   Processing Logic

Komponen ini berguna untuk menangani logika pemrosesan data, logika aturan bisnis, dan logika manajemen data. Logika pemrosesan data merupakan suatu aktivitas untuk memvalidasi data dan mengidentifikasi kesalahan pada data. Aturan bisnis tidak mempunyai kode  pada  DBMS,  tetapi  mempunyai  kode  pada  komponen pemrosesan.  Manajemen  data  mengidentifikasikan  data  yang diperlukan untuk memproses transaksi atau query.
3.   Storage Logic

Komponen ini bertanggung jawab pada penyimpanan data dan perbaikan data dari alat penyimpanan yang bekerja dengan aplikasi. (Sumber :http://wartawarga.gunadarma.ac.id/2009/12/arsitektur- clientserver/)

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.

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

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.
Gambar 2.6
Gambar Alokasi Frekuensi Radio

Teknologi bluetooth dirancang dan dioptimalkan untuk perangkat  yang  bersifat  mobile.  Komputer  yang  bersifat  mobile (seperti  laptop,  tablet  PC  atau  notebook,  cellular,  network  access point, printer, PDA, desktop, keyboard, joystick dan perangkat yang jangkauannya seperti Bluetooth) bekerja pada jaringan bebas 2.4GHz dengan jalur yang terintegrasi di dalam sebuah chip, yaitu Industrial- Scientific-Medical (ISM). Konsumsi tenaga listrik juga harus diperhatikan untuk peralatan mobile.
Bluetooth juga didesain untuk mendukung komunikasi bersama suara dan data dengan kemampuan transfer data sampai 721 Kbps. Bluetooth memerlukan daya yang rendah yaitu kurang dari 0.1 W dan mendukung layanan synchronous dan asynchronous serta mudah di integrasikan dengan jaringan Transmission Control Protocol/Internet Protocol (TCP/IP). Setiap teknologi yang menggunakan spektrum ini mempunyai batasan sesuai dengan aplikasinya. Komunikasi bluetooth didesain untuk memberikan keuntungan yang optimal dari tersedianya spektrum    dan    mengurangi    interferensi    RadioFrequency    (RF).

Semuanya itu akan terjadi karena bluetooth beroperasi menggunakan level energi yang rendah.

2.1.11.4 Arsitektur Bluetooth

Teknologi bluetooth dibagi menjadi dua spesifikasi yaitu spesifikasi   inti (core) dan profil. Spesifikasi core menjelaskan bagaimana teknologi ini bekerja, sementara spesifikasi profil menjelaskan bagaimana membangun operasi yang bersamaan antar perangkat bluetooth dengan menggunakan teknologi core.
Berikut gambaran protokol bluetooth :

Gambar 2.7
Gambar Arsitektur Bluetooth

Keterangan :

Radio Frequency (RF)

Radio Frequency merupakan lapisan terendah dari spesifikasi bluetooth. Unit RF merupakan sebuah

transceiver yang memfasilitasi hubungan wireless antar perangkat  bluetooth  yang  beroperasi  pada  jalur International Scientific and Medical (ISM) band dengan frekuensi 2,4GHz. ISM band bekerja dengan frequency- hopping, dan pembagiannya dibuat dalam 79 hop dengan space 1 MHz.

Tabel 2.1
Tabel Klasisfikasi Daya Pancar Radio Bluetooth


Baseband

Merupakan lapisan yang memungkinkan hubungan RF terjadi di antara beberapa unit bluetooth yang membentuk piconet. Sistem RF dari bluetooth menggunakan frekuensi hopping-spread spectrum yang mengirimkan data dalam bentuk paket pada time slot dan frekuensi yang telah ditentukan.  Lapisan ini melakukan prosedur pemeriksaan dan paging untuk sinkronisasi dari transmisi frekuensi hopping dan clock dari perangkat bluetooth yang berbeda.
Link Manager Protocol (LMP)

Link  manager  protocol  mengatur  dan  menghubungkan kanal    antar    perangkat    keras.    Protokol    ini    dapat

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

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

teks,  grafik,  audio,  dan  video  dengan  links  dan  tools  yang memungkinkan pengguna melakukan pengendalian, berinteraksi dan berkomunikasi.

2.1.12.1 Elemen Multimedia

Menurut  Hofstetter  (2001,  p.16)  dalam  bukunya  Multimedia

Literacy, elemen-elemen multimedia adalah sebagai berikut:

1. Teks

Teks merupakan elemen dasar dari berbagai sistem multimedia. Teks dapat ditemukan dalam bentuk kata-kata, kalimat, atau paragraf yang berguna untuk menuangkan ide atau mengkomunikasikan maksud ataupun menceritakan fakta kehidupan sehari-hari. Menurut Hofstetter, teks dibagi ke dalam
4 jenis, yaitu:

a.   Printed Text

Printed Text merupakan teks yang tercetak pada kertas. Perlu dibuat   perubahan   pada   teks   menjadi   bentuk   machine- readable agar teks dapat dibaca oleh komputer multimedia. Cara yang paling praktis untuk melakukannya adalah dengan mengetik teks ke dalam word processor (atau text editor), atau dengan melakukan scan terhadap teks tersebut.

b.   Scanned Text

Scanned Text merupakan hasil dari printed text yang telah di-

scan oleh scanner. c.   Electronic Text
Electronic Text merupakan jenis teks yang dapat dibaca oleh komputer dan dapat dikirimkan secara elektronik melalui jaringan.
d.   Hypertext

Hypertext merupakan jenis teks yang berbeda dengan teks biasa karena hypertext merupakan jenis teks yang digunakan untuk keperluan navigasi.
2. Grafik

Grafik  adalah  elemen  multimedia  yang  dipresentasikan  dalam dua dimensi maupun tiga dimensi sebagai media ilustrasi yang memperjelas penyampaian informasi. Macam-macam bentuk grafik adalah:
a.   Bitmaps

Bitmaps  adalah  gambar  yang  disimpan  sebagai  kumpulan pixel yang berhubungan dengan titik pada layar komputer. Komputer mengatur setiap titik pada layar untuk diwarnai ketika  gambar  akan  dimunculkan.  Bitmap  dapat  dibuat dengan menggunakan editor grafik manapun, seperti program Paint  yang  telah  disediakan  oleh  Windows,  atau  program

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.

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

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.

c.   Computational Animation

Computational Animation   menggerakkan   objek   dengan mengubah koordinat x dan y dari objek tersebut.
d.   Morphing

Morphing berarti transisi dari suatu bentuk ke bentuk lain dengan menampilkan rangkaian frame yang menciptakan pergerakan halus dari transformasi bentuk awal ke bentuk lain.

2.1.12.2 Delapan Aturan Emas (Eight Golden Rules)

Delapan aturan emas (eight golden rules) mengenai perancangan antarmuka yang baik menurut Shneiderman (1998, p74-
75) adalah:

1. Berusaha untuk konsisten

Urutan tahap-tahap yang dilakukan harus konsisten, istilah-istilah yang identik harus digunakan pada prompt, menu, layar bantu, pewarnaan, layout, kapitalisasi, huruf dan lainnya yang konsisten.
2.   Memungkinkan frequent user menggunakan shortcuts

Menyediakan tombol-tombol shortcut untuk aksi yang sering digunakan. Pengguna mengharapkan disediakannya special keys, perintah-perintah tersembunyi, dan fasilitas makro serta waktu respon yang singkat dan tampilan yang cepat.

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.

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

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.

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

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  =  Di=1 xi
n 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.

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.

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

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.

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

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

betul-betul mewakili populasi itu sendiri dan apabila sampel tidak mewakili  populasi  itu  sendiri,  maka  orang  awam  akan  sulit menyimpulkan karakteristik populasi.

Teknik Pengambilan Sampel

Menurut Sugiyono (2007, p.105) teknik sampling dibagi menjadi dua, yaitu:
a.         Probability Sampling

Probability Sampling merupakan teknik sampling yang memberikan peluang yang sama bagi setiap unsur populasi yang dipilih menjadi anggota sampel. Teknik ini meliputi:
•       Simple Random Sampling

•       Proportionate Stratified Random Sampling

•       Disproportionate Stratified Random Sampling

•       Area (cluster) sampling

b.         Non Probability Sampling

Non Probability Sampling merupakan teknik pengambilan sampel yang tidak memberi peluang atau kesempatan yang sama bagi setiap unsur atau anggota populasi untuk dipilih menjadi sampel. Teknik ini meliputi:
•       Sampling Sistematis

•       Sampling Kuota

•       Sampling Aksidental

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

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..

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.

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)

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.
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.
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.
•  Composition
Jika sebuah class tidak dapat berdiri sendiri dan merupakan bagian dari class yang lain, maka class tersebut memiliki relasi “composition” terhadap class tempat class tersebut bergantung. Sebuah hubungan “composition” digambarkan sebagai garis dengan ujung berbentuk jajaran genjang berisi atau solid.
•  Dependency

Hubungan dependency dilakukan apabila sebuah class menggunakan class  yang  lain.  Penggunaan  dependency  dilakukan  untuk menunjukkan operasi pada suatu class yang menggunakan class yang lain.  Sebuah dependency dilambangkan sebagai sebuah panah bertitik- titik.
•  Aggregation

Agregasi mengindikasikan   keseluruhan   bagian   relationship   dan biasanya disebut sebagai relasi “mempunyai sebuah” atau “bagian dari”. Sebuah agregasi dilambangkan sebagai sebuah garis dengan sebuah jajaran genjang yang tidak berisi atau tidak solid.
•  Generalization

Sebuah relasi generalisasi sepadan dengan sebuah relasi inheritance pada konsep berorientasi objek. Generalisasi dilambangkan dengan sebuah panah dengan kepala panah yang tidak solid yang mengarah ke kelas induk.

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)

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.

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.

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

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.

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

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

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.html)
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

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

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

kemampuan dalam menghubungkan sebuah koneksi database tunggal dengan banyak    file    basis    data    secara    bersamaan.    Hal    ini memungkinkan SQLite umtuk memproses   SQL statement yang menjembatani beberapa basis data sekaligus.
Compatible License

SQLite dan SQLite code tidak memiliki lisensi pengguna dan tidak dilindungi oleh GNU's Not Unix (GNU) General Public License (GPL) atau lisensi open source sejenisnya. Tim pengembang SQLite menempatkan  SQLite  source  code  ke  dalam  domain  publik  dan dengan tegas serta sengaja melepaskan semua claim yang dimiliki, termasuk hak cipta dan hak kepemilikan dari code ataupun produk yang memiliki SQLite code. Hal ini berarti pengguna dapat melakukan apapun dengan source code SQLite, sehingga library code dapat digunakan dengan berbagai cara, dimodifikasi dengan berbagai cara dan didistribusikan dengan berbagai cara.
Highly reliable

Sejumlah tes telah dilakukan sebelum library SQLite masing-masing dirilis. Hal ini dilakukan untuk mempertahankan tingkat kehandalan yang tinggi.

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.

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

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.

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)

•   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)

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.

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

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  
  
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

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

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.
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.
Tag : Komputer
Back To Top