BAB 2 LANDASAN TEORI 2.1 Teori Umum 2.1.1

advertisement
BAB 2
LANDASAN TEORI
2.1 Teori Umum
2.1.1 Pengertian Sistem
Menurut Jogiyanto HM (2005:2), sistem adalah elemen-elemen yang
berinteraksi untuk mencapai suatu tujuan tertentu.
Sistem adalah sekelompok komponen yang saling berhubungan,
bekerjasama untuk mencapai tujuan bersama dengan menerima masukan dan
menghasilkan keluaran dalam suatu proses transformasi yang teratur
(OBrien, 2006, p29).
Sistem terdiri dari tiga komponen dasar yaitu :
1. Input atau masukan, yaitu elemen yang masuk ke dalam sistem untuk
diproses.
2. Process atau proses, yaitu proses yang terjadi di dalam sistem yang
mengubah input atau masukan menjadi output atau keluaran.
3. Output atau keluaran, yaitu elemen yang keluar dari sistem sebagai hasil
transformasi dari input atau masukan. 2.1.2 Analisis dan Perancangan Sistem
2.1.2.1 Analisis Sistem
Menurut Jogiyanto HM (2001:129), analisis sistem adalah
penguraian dari suatu sistem informasi yang utuh ke dalam bagianbagian komponennya dengan maksud untuk mengidentifikasikan
dan mengevaluasi permasalahan, kesempatan, hambatan yang
8 9 terjadi dari kebutuhan yang diharapkan sehingga dapat diusulkan
perbaikannya. Menurut McLeod (2001, p190), analisis sistem adalah
penelitian atas sistem yang telah ada dengan tujuan untuk
merancang sistem baru atau diperbarui. Tahapan dalam analisis
sistem meliputi :
1. Mengumumkan penelitian sistem.
2. Mengorganisasikan tim proyek.
3. Mendefinisikan kebutuhan informasi.
4. Mendefinisikan kriteria kinerja sistem.
5. Menyiapkan usulan rancangan.
6. Menyetujui atau menolak rancangan proyek.
2.1.2.2 Perancangan Sistem
Menurut McLeod (2001, p192), perancangan sistem adalah
penentuan proses dan data yang diperlukan sistem yang baru.
Menurut Jogiyanto HM (2005), perancangan sistem adalah
bagian dari analisa sistem, dimana perancangan sistem merupakan
langkah keempat. Sasaran dari perancangan sistem adalah
menentukan langkah-langkah operasi dalam proses pengolahan
data, menentukan prosedur untuk mendukung operasi sistem.
Perancangan sistem dapat dibagi dalam dua bagian, yaitu:
10 1. Perancangan
sistem
secara
umum
atau
perancangan
konseptual, perancangan logical atau perancangan secara
makro.
2. Perancangan sistem terinci atau perancangan sistem secara
fisik.
Tujuan dari perancangan sistem adalah untuk memenuhi kebutuhan
pengguna sistem serta memberikan gambaran yang jelas dan
rancang bangun yang lengkap kepada programmer dan ahli-ahli
teknik yang terlibat dalam perancangan sistem. Perancangan sistem
mengandung dua pengertian yaitu merancang sistem yang baru dan
mengadakan perbaikan atas sistem sebelumnya.
2.1.2.3 Model Spiral
Model Spiral adalah model yang diusulkan oleh Boehm
(1988), yaitu model proses perangkat lunak yang evolusioner yang
merangkai sifat iteratif dari model prototype dengan cara kontrol
dan aspek sistematis dari model sekuensial linier. Model itu
berpotensi untuk pengembangan versi pertambahan perangkat lunak
secara cepat. Di dalam model spiral, perangkat lunak dikembangkan
di dalam suatu deretan pertambahan. Selama awal iterasi, rilis
inkremental bisa merupakan sebuah model atau prototipe kertas.
Selama iterasi berikutnya, sedikit demi sedikit dihasilkan versi
sistem rekayasa yang lebih lengkap.(Roger S.Pressman, p47)
11 Model spiral dibagi menjadi sejumlah aktivitas kerangka
kerja, disebut juga wilayah tugas, di antara tiga sampai enam
wilayah tugas. Berikut ini merupakan enam wilayah tugas dari
model spiral:
1. Customer Communication, Komunikasi Pelanggan yaitu tugastugas yang dibutuhkan untuk membangun komunikasi yang
efektif diantara pengembang dan pelanggan.
2. Planning, Perencanaan yaitu tugas-tugas yang dibutuhkan untuk
mendefinisikan sumber-sumber daya, ketepatan waktu, dan
proyek informasi lain yang berhubungan.
3. Risk Analysis, Analisis Resiko yaitu tugas-tugas yang dibutuhkan
untuk menaksir resiko-resiko yang mungkin akan dihadapi, baik
manajemen maupun teknis.
4. Engineering, Perekayasaan yaitu tugas-tugas yang dibutuhkan
untuk membangun satu atau lebih representasi dari aplikasi
tersebut.
5. Construction and Release, Konstruksi dan Peluncuran yaitu
tugas-tugas yang dibutuhkan untuk mengkonstruksi, menguji,
memasang (install) dan memberikan pelayanan kepada pemakai,
contohnya pelatihan dan dokumentasi.
6. Customer Evaluation, Evaluasi Pelanggan yaitu tugas-tugas yang
dibutuhkan untuk memperoleh umpan balik dari pelanggan
dengan didasarkan pada evaluasi representasi perangkat lunak,
12 yang dibuat selama masa perekayasaan, dan diimplementasikan
selama masa pemasangan.
Gambar 2.1 Model Spiral Tipikal
2.1.3 Database Management System (DBMS)
Menurut Connolly (2005, p16), Database Management System adalah
sebuah sistem perangkat lunak yang memungkinkan pengguna untuk
mendefinisikan, membuat, memelihara, dan mengontrol pengaksesan ke
basis data.
Fasilitas-fasilitas yang disediakan pada sebuah DBMS antara lain :
1. Data Definition Language, pengguna dapat mendefinisikan basis data,
termasuk menspesifikasikan tipe-tipe dan struktur data serta constraint
pada data untuk disimpan dalam basis data.
2. Data Manipulation Language, DBMS dapat menangani permintaan dari
pengguna untuk mengakses, memasukkan, mengubah, mengambil, dan
menghapus data dari basis data.
13 3. Kontrol akses ke basis data, antara lain :
a. Security, melindungi basis data dari perusakan dan mencegah
pengaksesan basis data oleh pengguna yang tidak berwenang.
b. Integrity, mengatur konsistensi dari basis data yang disimpan.
c. Concurency control, memungkinkan pengaksesan basis data dengan
multipengguna secara bersama-sama, tanpa menggangu operasi
masing-masing.
d. Recovery control system, memperbaiki basis data ke bentuk yang
dianggap benar setelah terjadinya suatu kegagalan perangkat keras
ataupun perangkat lunak.
e. Pengguna accessible catalog, catalog yang memberikan gambaran dari
data yang terdapat pada basis data.
2.1.4 Delapan Aturan Emas (Eight Golden Rules)
Menurut Shneiderman (1998, p72-73), terdapat delapan aturan emas
dalam merancang sebuah pengguna interface, yaitu:
1. Berusaha keras untuk konsisten.
Konsisten dalam kesamaan terminologi dalam membuat menu, tampilan,
font dan help screen dan juga konsisten dalam warna, kapitalitas, dan
tampilan.
2. Memungkinkan frequent pengguna menggunakan shortcuts.
Menyediakan shortcuts untuk aksi yang sering digunakan.Pengguna
mengharapkan adanya special keys, perintah tersembunyi dan fasilitas
14 makro serta waktu respon dan tampilan yang cepat untuk mempercepat
gerak pengguna dalam pengaksesan.
3. Memberikan umpan balik yang informatif.
Untuk setiap aksi yang dilakukan oleh pengguna, beberapa di antaranya
harus mempunyai sistem feedback. Untuk aksi yang sering dan
sederhana, maka respon yang diberikan juga sederhana, tetapi jika aksi
yang jarang dan besar maka respon juga harus lebih banyak dan rinci.
4. Merancang dialog untuk menghasilkan keadaan akhir.
Urutan aksi harus dibagi menjadi awal, tengah, dan akhir. Dengan
adanya umpan balik, pengguna dapat merasa lebih merasa aman dalam
melakukan sebuah tindakan dengan memberikan gambaran hasil akhir
dari suatu pilihan, serta pemberian banyak option-option kepada
pengguna sehingga bisa ikut mempengaruhi hasil akhir.
5. Memberikan pencegahan dan penanganan kesalahan yang sederhana.
Suatu sistem harus dirancang agar kesalahan yang dibuat pengguna dapat
ditekan seminimal mungkin, dan pesan kesalahan yang dimunculkan
harus dapat dimengerti oleh pengguna awam.
6. Mengijinkan pembalikan aksi (undo) dengan mudah.
Aksi harus dapat dibalikkan menjadi keadaan sebelumnya sehingga
membuat pengguna merasa aman karena ia tahu bahwa kesalahan yang
dibuat dapat diperbaiki.
7. Mendukung pengguna menguasai sistem atau inisiator sebagai pusat
kendali.
15 Membuat pengguna merasa memegang kendali atas sistem tersebut,
bukan sebagai responden. Kesulitan pengguna dalam menavigasi site
atau dalam mendapatkan data yang diinginkan akan menimbulkan rasa
tidak puas.
8. Mengurangi beban ingatan jangka pendek.
Manusia hanya dapat mengingat tujuh info ditambah atau dikurang dua
info pada suatu waktu. Batasan ini berarti suatu sistem harus dibuat
sesederhana mungkin sehingga tidak membuat seorang pengguna
bingung karena terlalu banyak info.
Dalam merancang suatu sistem, ada beberapa hal yang perlu
diperhatikan yang mempengaruhi pengguna secara langsung, antara lain:
a. Tampilan Data
Tampilan memegang peranan penting karena dengan tampilan data yang
baik dapat memudahkan dan menarik pengguna untuk mempelajari
sistem. Shneiderman (1998, p386) menjabarkan beberapa pedoman
dalam membuat tampilan yang dikemukakan oleh Smith dan Mosier
antara lain:
1. Pertahankan format yang konsisten dari satu tampilan ke tampilan
lainnya untuk setiap jenis tampilan data.
2. Gunakan kalimat yang singkat dan sederhana.
3. Gunakan pernyataan yang positif dan hindari pernyataan negatif.
16 4. Berikan label pada setiap halaman untuk menunjukkan hubungan
dengan halaman berikutnya pada tampilan yang memiliki banyak
halaman.
5. 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.
b. 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):
1. Gunakan warna secara hati-hati.
2. Batasi jumlah warna yang digunakan.
3. Konsisten dalam penggunaan warna.
4. Perhatikan kecocokan antar warna jika ditampilkan bersama.
c. 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.
17 d. 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.5 Internet
Mac Bride (1997, p1) mendefinisikan internet sebagai berikut: Internet
adalah jaringan komunikasi global yang terbuka dan menghubungkan ribuan
jaringan komputer, melalui sambungan telepon umum maupun pribadi.
Secara individual, jaringan komponennya dikelola oleh agen-agen
pemerintah, universitas, organisasi komersial,serta sukarelawan.
Internet didefinisikan sebagai berikut: internet merupakan kumpulan
jaringan komputer yang bekerja sama secara global mendistribusikan
pertukaran informasi melalui protokol TCP/IP. (John December, 1997, p27)
2.1.6 E-commerce
2.1.6.1
Pengertian E-Commerce
Menurut O’Brien (2005, p212), e-commerce adalah proses
pembelian dan penjualan, pemasaran dan pelayanan, pengiriman
dan pembayaran dari suatu produk, jasa atau informasi, antara
suatu enterprise dan calon pelanggan, pelanggan, pemasok, atau
rekan bisnis lainnya.
18 E-commerce mengubah bentuk persaingan, kecepatan
bertindak, dan perampingan interaksi, produk, dan pembayaran
dari pelanggan ke perusahaan dan dari perusahaan ke pemasok.
2.1.6.2
Kategori E-Commerce
Ada tiga kategori dari e-comerce yaitu :
1. Business to Consumer (B2C)
Bisnis ini menjual produk atau jasa konsumsi pribadi.
2. Business to Business (B2B)
Bisnis ini merupakan kerja sama antar mitra bisnis untuk
menjual produk atau jasa yang nantinya akan dijual kembali.
3. Consumer to consumer (C2C)
Pada bisnis ini, pelanggan dapat membeli atau menjual satu
sama lain dalam proses lelang di website lelang.
2.1.7 E-Business
Menurut
James
A.
O’Brien
(2005:p314),
e-bussiness
adalah
penggunaan internet dan jaringan serta teknologi informasi lainnya yang
mendukung e-commerce, komunikasi dan kerja sama perusahaan, dan
berbagai proses yang dijalankan melalui web, baik dalam jaringan
perusahaan maupun dalam para pelanggan serta mitra bisnisnya. E-bussiness
meliputi e-commerce yang melibatkan pembelian dan penjualan, serta
pemasaran dan pelayanan produk, jasa, dan informasi melalui internet dan
jaringan lainnya.
19 E-bisnis adalah istilah yang digunakan untuk menggambarkan bisnis
yang dijalankan pada internet, atau penggunaaan teknologi internet untuk
meningkatkan
produktivitas
dan
keuntungan
dari
suatu
bisnis.
(http://www.wisegeek.com/what-is-ebusiness.htm)
2.1.8 Pengertian Promosi
Pada suatu perusahaan, banyak aktivitas yang dilakukan tidak hanya
menghasilkan produk atau jasa, menetapkan harga, dan menjual produk atau
jasa, tetapi banyak aktivitas lainnya yang saling berkaitan satu dengan
lainnya. Salah satunya adalah promosi, kegiatan promosi adalah salah satu
bagian dari bauran pemasaran perusahaan, yang isinya memberikan
informasi kepada masyarakat atau konsumen tentang produk atau jasa yang
ditawarkan perusahaan. Tidak hanya itu, kegiatan promosi merupakan
kegiatan komunikasi antara perusahaan dengan pelanggan atau konsumen.
Dewasa ini, perusahaan menganggap bahwa promosi merupakan
bagian penting dari pemasaran, karena pihak perusahaan berharap dengan
promosi yang dilaksanakan secara efektif dapat meningkatkan kualitas
produk atau jasa perusahaan sesuai dengan target penjualan yang telah
ditetapkan dan dapat bersaing dengan perusahaan lain yang menghasilkan
produk atau jasa yang sejenis. Dengan pandangan demikian perusahaan
berharap
dengan
dilaksanakannya
kegiatan
promosi
secara
berkesinambungan dan terarah akan mampu mencapai hasil penjualan dan
keuntungan yang maksimal.
20 Peneliti akan mengemukakan beberapa pendapat dari para ahli
pemasaran dan praktisi tentang penelitian promosi, yaitu sebagai berikut :
Pengertian promosi menurut Djaslim Saladin dan Yevis Marty Oesman
(2002 : 123) : “Promosi adalah suatu komunikasi informasi penjual dan
pembeli yang bertujuan untuk merubah sikap dan tingkah laku pembeli, yang
sebelumnya tidak mengenal menjadi mengenal sehingga menjadi pembeli
dan mengingat produk tersebut”.
Sedangkan pengertian promosi menurut Buchari Alma (2006 : 179)
adalah : Promosi adalah sejenis komunikasi yang memberi penjelasan dan
meyakinkan calon konsumen mengenai barang dan jasa dengan tujuan untuk
memperoleh perhatian, mendidik, mengingatkan dan meyakinkan calon
konsumen.
Promosi merupakan alat komunikasi dan penyampaian pesan yang
dilakukan baik oleh perusahaan maupun perantara dengan tujuan
memberikan informasi mengenai produk, harga dan tempat. Informasi itu
bersifat memberitahukan, membujuk, mengingatkan kembali kepada
konsumen, para perantara atau kombinasi keduanya. Dalam promosi juga,
terdapat beberapa unsur yang mendukung jalannya sebuah promosi tersebut
yang biasa disebut bauran promosi.
2.1.9 Java
Menurut definisi dari Sun Microsystem, Java adalah nama dari
sekumpulan teknologi untuk membuat dan menjalankan perangkat lunak
pada computer standalone atau lingkungan jaringan. Java2 merupakan
21 generasi kedua dari Java platform, generasi awalnya adalah Java
Development Kit. Java tersusun atas sebuah mesin interpreter yang diberi
nama JVM (Java Virtual Machine), yang dapat membaca bytecode dalam
file class pada program sebagai representasi langsung yang berisi bahasa
mesin. Java merupakan bahasa yang portable, bisa dijalankan di semua
sistem operasi yang di dalamnya terdapat JVM (Java Virtual Machine).
Salah satu dari proyek pertama yang dikembangkan menggunakan Java
sebuah remote kontrol yang diberi nama Star 7.
Platform Java terdiri atas kumpulan library, JVM (Java Virtual
Machine), kelas-kelas loader yang dipaket dalam sebuah lingkungan rutin
Java, sebuah compiler, debugger dan perkakas lain yang dijadikan satu
dalam JDK (Java Development Kit). Agar program Java dapat berjalan
dibutuhkan juga JRE (Java Runtime Enviroment). JRE (Java Runtime
Enviroment) berisi JVM (Java Virtual Machine) dan library Java yang
digunakan. Ada tiga edisi dari platform Java yaitu J2EE (Java2 Enterprise
Edition), J2ME (Java2 Micro Edition), dan J2SE (Java2 Standard Edition).
Java awalnya dibuat oleh James Gosling saat masih bergabung di Sun
Microsystems pada tahun 1991. Pada awalnya diberi nama Oak, dimana
untuk menghormati pohon yang ada di luar jendela Gosling. Kemudian
namanya diubah ke Java karena telah ada sebuah bahasa yang diberi nama
Oak.
Saat ini merupakan bagian dari Oracle dan dirilis tahun 1995. Bahasa
ini banyak mengadopsi sintaksis yang terdapat pada C dan C++ namun
dengan sintaksis model objek yang lebih sederhana serta dukungan rutin 22 rutin atas bawah yang minimal. Aplikasi-aplikasi berbasis Java umumnya
dikompilasi ke dalam p-code (bytecode) dan dapat dijalankan pada
berbagai Java Virtual Machine (JVM).
Java merupakan bahasa pemrograman yang bersifat umum atau nonspesifik (general purpose) dan secara khusus didesain untuk memanfaatkan
dependensi implementasi seminimal mungkin. Karena fungsionalitasnya
yang
memungkinkan
aplikasi
Java
mampu
berjalan
di
beberapa
platform sistem operasi yang berbeda, Java dikenal pula dengan slogannya,
Tulis sekali, jalankan dimana pu. Saat ini Java merupakan bahasa
pemrograman yang paling populer digunakan, dan secara luas dimanfaatkan
dalam pengembangan berbagai jenis perangkat lunak aplikasi ataupun
aplikasi berbasis web.
2.1.10 Unified Modelling Language (UML)
UML (Unified Modelling Language) adalah suatu bahasa standar
yang digunakan untuk menspesifikasikan, memvisualisasi, mengkonstruksi
serta mendokumentasikan artifak dari suatu software sistem yang berbasis
objek. UML (Unified Modelling Language) tidak didasarkan pada bahasa
pemrograman tertentu. Standar spesifikasi UML (Unified Modelling
Language) dijadikan standar de facto oleh OMG (Object Management
Group) pada tahun 2007.
Spesifikasi ini menjadi populer dan standar karena sebelum adanya
UML (Unified Modelling Language), telah ada berbagai macam spesifikasi
yang berbeda. Hal ini menyulitkan komunikasi antar pengembang perangkat
23 lunak. Untuk itu, beberapa pengembang spesifikasi yang sangat berpengaruh
berkumpul untuk membuat standar baru. UML (Unified Modelling
Language) dirintis oleh Grady Booch dan James Rumbaugh pada tahun 1994
dan kemudian Ivar Jacobson.
UML mendefinisikan diagram-diagram, antara lain :
a. Use Case Diagram
Use case diagram digunakan untuk menggambarkan interaksi antara
pengguna sistem (aktor) dengan kasus (use case) yang disesuaikan
dengan langkah-langkah (skenario) yang telah ditentukan. Sejak tahun
1992, penggembang UML (Unified Modelling Language), Jacob Et All,
menjadikan use case sebagai model utama yang dibutuhkan pada UML
(Unified Modelling Language).
Ada 4 jenis relasi yang bisa timbul pada use case diagram, yaitu :
1. Asosiasi antara aktor dan use case.
Menggunakan garis tanpa panah untuk mengindetifikasikan siapa atau
apa yang meminta interaksi dan bukannya mengindikasikan aliran
data. Bila aktor berinteraksi secara pasif dengan sistem maka
menggunakan
garis
dengan
panah
terbuka
untuk
mengindentifikasikannya.
2. Asosiasi antara use case.
Bila suatu use case termasuk di dalam use case lain, maka dapat
digambarkan dengan tanda panah terbuka ke arah sub use case. Aktor
tidak boleh dihubungkan pada use case<<include>><<extend>>
24 merupakan perluasan dari use case lain jika kondisi atau syarat
terpenuhi, sebaiknya penggunaan asosiasi ini dikurangi, karena akan
membuat diagram sulit dipahami. Aktor tidak boleh dihubungkan
pada use case,extend, tanda panah terbuka harus terarah ke parent
atau base use case.
3. Generalisasi atau inheritance antara use case.
Generalisasi atau inheritance dilambangkan dengan sebuah garis
berpanah yang tertutup pada salah satu ujungnya yang menunjukkan
lebih umum dan harus digambarkan secara vertikal.
Generalisasi atau inheritance antar use case dibuat ketika ada sebuah
keadaan yang lain atau perlakuan khusus. Inheriting use case di
bawah base atau parent use case.
4. Generalisasi atau inherintance antara aktor.
Generalisasi atau inheritance antar aktor dibuat ketika ada aktor baru
yang terbentuk dan mempunyai atribut dan metode yang sama dengan
aktor yang sudah ada. Inheriting use case di bawah base atau parent
aktor.
25 Gambar 2.2 Use Case Diagram
b. Class Diagram
Class diagram 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.
26 Gambar 2.3 Class Diagram
Atribut dan metoda dapat memiliki salah satu sifat sebagai 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.
Berikut merupakan notasi dari class diagram:
1. 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.
2. Association
27 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.
3. 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.
4. 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.
5. 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.
6. Generalization
Sebuah relasi generalisasi sepadan dengan sebuah relasi inheritance
pada konsep berorientasi objek. Generalisasi dilambangkan dengan
28 sebuah panah dengan kepala panah yang tidak solid yang mengarah
ke kelas induk.
c. Object Diagram
Object diagram adalah diagram yang memberikan gambaran model
instance-instance dari sebuah class. Diagram ini digunakan untuk
menggambarkan sebuah sistem pada sebuah sudut pandang waktu
tertentu. Dengan menggunakan diagram ini dapat memeriksa keabsahan
kelas-kelas diagram berkut aturan - aturan multiplisitasnya dengan real
data dan mengujinya dengan skenario - skenario tertentu.
1. Object
a. Objek-objek diidentifikasikan dengan cara meletakkan nama
instance-nya kemudian diikuti oleh tanda titik dua didepan nama
class-nya.
b. Nilai property atau atribut dituliskan berpasangan seperti
nama_atribut=nilai.
c. Sedangkan notasi sebuah objek digambarkan segi empat yang
terbagi atas 2 bagian.
2. Association
a. Object diagram juga dapat mengandung asosiasi.
b. Biasanya constraint, detil relationship, multiplisitas yang ada di
class diagram tidak disertakan dalam object diagram sebagai
upaya memfokuskan perhatian hanya terhadap objek dan
property atau atributnya.
29 c. Asosiasi antar 2 objek biasanya dinotasikan dengan sebuah garis
yang menghubungkan kedua objek.
d. Sequence Diagram
Sequence diagram menggambarkan interaksi antar objek di dalam dan di
sekitar sistem (termasuk pengguna, display, dan sebagainya) berupa
message yang digambarkan terhadap waktu. Sequence diagram terdiri
atas dimensi vertical (waktu) dan dimensi horizontal (objek-objek yang
terkait). Sequence diagram biasa digunakan untuk menggambarkan
skenario atau rangkaian langkah-langkah yang dilakukan sebagai respon
dari sebuah event untuk menghasilkan output tertentu. Diawali dari apa
yang men-trigger aktivitas tersebut, proses dan perubahan apa saja yang
terjadi secara internal dan output apa yang dihasilkan.
2.2 Teori Khusus
2.2.1 Sistem Operasi Android
2.2.1.1 Sejarah Sistem Operasi Android
Android adalah perangkat lunak open source yang dibuat
untuk perangkat mobile. (http://source.Android.com/) Android
mencakup sistem operasi, middleware, dan aplikasi. Android
menyediakan platform yang terbuka bagi para pengembang untuk
menciptakan aplikasi mereka. Awalnya, Google Inc. membeli
Android Inc. yang merupakan pendatang baru yang membuat
perangkat lunak untuk ponsel atau smartphone. Kemudian untuk
30 mengembangkan Android, dibentuklah Open Handset Alliance,
konsorsium dari 34 perusahaan perangkat keras, perangkat lunak,
dan telekomunikasi, termasuk Google, HTC, Intel, Motorola,
Qualcomm, T-Mobile, dan Nividia.
Pada saat perilisan perdana Android, 5 November 2007,
Android bersama Open Handset Alliance menyatakan mendukung
pengembangan open source pada perangkat mobile. Di lain pihak,
Google meliris kode-kode Android di bawah lisensi Apache,
sebuah lisensi perangkat lunak dan open platform perangkat
seluler.
Di dunia ini terdapat dua jenis distributor sistem operasi
Android. Pertama, yang mendapat dukungan penuh dari Google
atau Google Mail Service (GMS) dan yang kedua adalah yang
benar-benar bebas distribusinya tanpa dukungan langsung Google
atau dikenal dengan Open Handset Distribution (OHD).
Sekitar September 2007 Google mengenalkan Nexus One,
salah satu jenis smartphone yang menggunakan Android sebagai
sistem operasinya. Telepon seluler ini diproduksi oleh HTC
Corporation dan tersedia di pasaran pada 5 Januari 2008. Pada 9
Desember 2008 diumumkan anggota baru yang bergabung dalam
program
kerja
Android
ARM
Holdings,
Atheros
Communications, diproduksi oleh Asustek Computer Inc, Garmin
Ltd, Softbank, Sony Ericson, Toshiba Corp, dan Vodafone Group
Plc. Seiring pembentukan Open Handset Alliancem OHA
31 mengumumkan produk perdana mereka Android, perangkat
mobile yang merupakan modifikasi kernel Linux 2.6. Sejak
Android dirilis, telah dilakukan berbagai pembaruan berupa
pembaruan bug dan penambahan fitur baru.
Pada masa saat ini kebanyakan vendor-vendor smartphone
sudah memproduksi smartphone berbasis Android, vendor-vendor
itu antara lain HTC, Motorola, Samsung, LG, HKC, Huawei,
Archos, Wehstation Camangi, Dell, Nexus, SciPhone, WayteQ,
Sony Ericson, LG, Acer, Philips, T-Mobile, Nexian, IMO, Asus
dan masih banyak lagi vendor smartphone di dunia yang
memproduksi Android. Hal ini karena Android itu adalah sistem
operasi yang open source, sehingga bebas didistribusikan dan
dipakai oleh vendor manapun.
Tidak hanya menjadi sistem operasi di smartphone, saat
ini Android menjadi pesaing utama dari Apple pada sistem
operasi tablet di PC. Pesatnya pertumbuhan Android selain faktor
yang disebutkan di atas adalah karena Android itu sendiri adalah
platform yang sangat lengkap baik itu sistem operasinya, Aplikasi
dan Tool Pengembangan, Market aplikasi Android serta dukungan
yang sangat tinggi dari komunitas open source di dunia, sehingga
Android terus berkembang pesat baik dari segi teknologi maupun
dari segi jumlah device yang ada di dunia.
32 2.2.1.2
Sistem Arsitektur
Gambar 2.4 Sistem Arsitektur Android
Sistem Arsitektur Android terdiri dari :
a. GNU atau Linux Kernel
Sistem operasi Android dikembangkan dari GNU atau kernel
Linux, diciptakan oleh Linus Torvald ketika ia masih menjadi
mahasiswa di Universitas Helsinki pada tahun 1991. Android
dapat dimasukkan ke berbagai perangkat, hal ini karena GNU
atau Linux mendukung kernel yang memiliki lapisan abstraksi
perangkat keras. Selain itu, dengan GNU atau kernel Linux
juga mendukung manajemen memori, manajemen proses,
jaringan dan jenis servis lainnya.
b. Native Libraries
Layer di atas kernel adalah native libraries. Pustaka asli
Android semua ditulis dalam C atau C + +, dikompilasi untuk
33 arsitektur perangkat keras khusus yang digunakan oleh
smartphone, dan diinstal oleh vendor smartphone juga.
Beberapa pustaka asli yang paling penting adalah sebagai
berikut:
1.
Surface manager : Android menggunakan composite
window
manager
yang
mirip
dengan Vista (Ms
Windows) atau Compiz Fusion (GNU atau Linux), tapi
jauh lebih sederhana. Alih-alih gambar langsung ke
buffer layar, perintah gambar kita masuk ke bitmap
rahasia yang kemudian digabungkan dengan bitmap lain
untuk membentuk tampilan pengguna.
2. 2D dan 3D graphics : objek dua dan tiga dimensi dapat
dikombinasikan dalam pengguna interface tunggal di
Android. Pustaka akan menggunakan 3D hardware jika
perangkat
keras
mendukung
atau
menggunakan
perangkat lunak jika perangkat keras tidak ada.
3. Media codecs : Android dapat memutar video dan juga
memutar ulang rekaman audio dalam berbagai format
termasuk AAC, AVC (H.264), H.263, MP3, dan MPEG4.
4. SQL database : di Android terdapat mesin SQLite
database ringan, database yang sama digunakan di
Firefox dan Apple iPhone.
34 5. Browser engine : Untuk tampilan cepat dari konten
HTML, Android menggunakan pustaka WebKit. WebKit
ini adalah mesin yang sama digunakan dalam browser
Google Chrome, browser Safari Apple, iPhone Apple,
dan platform Nokia S60.
c. Android Runtime
Lapisan di atas kernel adalah Android runtime, termasuk
mesin virtual Dalvik (Dalvik VM) dan pustaka inti Java.
Dalvik
VM
adalah
implementasi
Java
dari
Google,
dioptimalkan untuk perangkat mobile. Semua kode yang Anda
tulis untuk Android akan ditulis di Java dan dijalankan dalam
Virtual Machine. Dalvik berbeda dari Java tradisional dalam
dua hal penting yaitu :
1.
Dalvik VM menjalankan .dex file, yang dijabarkan pada
waktu kompilasi dari standar file .class dan .jar. File .dex
lebih kompak dan efisien daripada file .class, suatu
pertimbangan penting untuk memori terbatas dan
perangkat bertenaga baterai yang berbasis Android.
2.
Pustaka Java core yang datang dengan Android berbeda
dari pustaka Java SE (Java Standard Edition) dan Java
ME(Java Mobile Edition).
35 d. Application Framework
Lapisan di atas native libraries dan runtime adalah lapisan
Application Framework. Lapisan ini menyediakan blok
tingkat tinggi, bagian paling penting dari framework adalah
sebagai berikut:
1. Activity Manager : ini mengontrol siklus hidup aplikasi.
2. Content Provider : objek ini mengkapsulasi data yang
harus dibagi antara aplikasi, seperti kontak.
3. Resource Manager :sumber daya apa yang terjadi dengan
program anda yang tidak diprogramkan.
4. Location Manager : Android juga mendukung perhitungan
posisi kita menggunakan informasi dari menara ponsel di
dekatnya, dan jika kita tersambung ke hotspot wifi, maka
dapat menggunakannya juga. Perlu diingat bahwa semua
penyedia lokasi yang tidak dapat diandalkan sampai batas
tertentu. Ketika kita berjalan di dalam bangunan,
misalnya, sinyal GPS tidak dapat diperoleh.
5. Notification Manager : Acara seperti pesan yang datang,
janji, peringatan proximity, invasi asing, dan banyak lagi.
e. Applications andWidgets
Lapisan teratas dalam diagram arsitektur Android adalah
Applications and Widgets. Applications adalah program yang
dapat mengambil alih seluruh layar dan berinteraksi dengan
pengguna.
Di
sisi
lain, Widget (kadang-kadang
disebut
36 gadget), hanya beroperasi di sebuah persegi panjang kecil dari
aplikasi layar Home.
2.2.1.3 Versi Android
Ponsel pertama yang menggunakan sistem operasi
Android adalah HTC Dream, yang dirilis pada 22 Oktober
2008.Andoid memiliki sejumlah pembaruan dan penambahan fitur
sejak dirilis pertama. Berikut ini beberapa versi yang dimiliki
Android sebagai berikut:
1. Android versi 1.1
Pada 9 Maret 2009, Google merilis Android versi 1.1.
Android versi ini dilengkapi dengan pembaruan estetis pada
aplikasi,
jam
alarm, voice
search
(pencarian
suara),
pengiriman pesan dengan Gmail, dan pemberitahuan email.
2. Android versi 1.5 (Cupcake)
Pada 30 April 2009, Google merilis Android versi 1.5
berdasarkanLinux Kernel
2.6.27.
Terdapat
beberapa
pembaruan termasuk juga penambahan beberapa fitur dalam
seluler versi ini yakni kemampuan merekam dan menonton
video
dengan
modus
kamera,
mengunggah
video
ke Youtube dan gambar ke Picasa langsung dari telepon,
dukungan Bluetooth A2DP, kemampuan terhubung secara
37 otomatis ke headset bluetooth, animasi layar, dan keyboard
pada layar yang dapat disesuaikan dengan sistem.
3. Android versi 1.6 (Donut)
Pada 15 September 2009, Android merilis versi 1.6 yang
didasarkan pada Linux Kernel 2.6.29. Pembaruan yang
dilakukan adalah menampilkan proses pencarian yang lebih
baik dibanding sebelumnya, galeri yang memungkinkan
pengguna untuk memilih foto yang akan dihapus, kamera,
camcorder dan galeri yang dintegrasikan, teknologi yang
mendukung Code Division Multiple Accessatau Evolution
Data Only (CDMA atau EVDO), 802.1x, Virtual Private
Network (VPN), text-to-speech engine, kemampuan dial
contact,dukungan resolusi Wide Video Graphics Array
(VWGA).
4. Android versi 2.0/2.1 (Éclair)
Pada 3 Desember 2009 Android versi 2.0/2.1 (Eclair)
dirilis.Pembaruan yang dilakukan adalah pengoptimalan
kecepatan hardware, peningkatan Google Maps 3.1.2,
perubahan antar muka pengguna dengan browser baru dan
dukungan HTML5, tampilan daftar kontak yang baru,
dukungan flash untuk kamera 3,2 MP, digital zoom, dan
Bluetooth 2.1.
5. Android versi 2.2 (Frozen Yoghurt)
38 Pada 20 Mei 2010 Android versi 2.2 yang didasarkan pada
Linux Kernel 2.6.32 dirilis. Pembaruan yang dilakukan antara
lain dukungan Adobe Flash 10.1, kecepatan kinerja dan
aplikasi
2
sampai
5
kali
lebih
cepat,
intergrasi
V8 JavaScript engine yang dipakai Google Chrome yang
mempercepat
kemampuan
rendering
pada
browser,
pemasangan aplikasi dalam SD Card, kemampuan WiFi
Hotspot portabel, dan kemampuan auto update dalam aplikasi
Android Market.
6. Android versi 2.3 (Gingerbread)
Pada 6 Desember 2010 Android versi 2.3 yang didasarkan
pada Linux 2.6.35 dirilis. Pembaruan yang dilakukan antara
lain
peningkatan
kemampuan
permainan
(gaming),
peningkatan fungsi copy paste, layar antar muka pengguna
didesain ulang, dukungan format video VP8 dan WebM, efek
audio baru (reverb, equalization, headphone virtualization,
dan
bass
boost),
dukungan
kemampuan Near
Field
Communication (NFC), dan dukungan jumlah kamera yang
lebih dari satu.
7. Android versi 3.0/3.1 (Honeycomb)
Pada tanggal 22 Febuari 2011 Android versi
Honeycomb
yang didasarkan pada Linux Kernel 2.3.36 dirilis dan
dirancang khusus untuk komputer tablet. Android versi ini
mendukung ukuran layar yang lebih besar. User Interface
39 pada Honeycomb juga berbeda karena sudah didesain untuk
tablet. Honeycomb juga mendukung multi prosesor dan juga
akselerasi perangkat keras untuk grafis. Tablet pertama yang
dibuat dengan menjalankan Honeycomb adalah Motorola
Xoom.
8. Android versi 4.x (Ice Cream Sandwich)
Pembaruan yang dilakukan adalah:
a. Home Screen
Berbeda dengan Honeycomb pada tablet, Anda dapat
mengubah ukuran widget sesuai selera Anda, sehingga
penggunanya lebih nyaman.
Ikon aplikasi dapat diseret ke dalam folder, ala IOS. Tapi
Ice Cream Sandwich lebih unggul dari iPhone dengan
membiarkan Anda menempatkan kontak seseorang (atau
setidaknya jalan pintas speed dial) ke dalam folder juga,
dan bahkan menempatkan orang dalam 'favorit'.
b. Notifikasi
Android sudah memiliki sistem notifikasi yang lebih baik
daripada yang lain. Kini, Anda juga bisa mengintip
notifikasi kendati layar ponsel dalam keadaan terkunci.
c. Keyboard
Ada keyboard baru, dengan inline periksa ejaan. Juga
untuk kepentingan cut, copy, dan paste sehingga
memudahkan input.
40 d. Screenshot
Dulu, kita tidak dapat berbagi screenshot Android
sederhana, semudah pada perangkat IOS. Nah, sekarang
Android memiliki kemampuan screenshot persis sama,
dengan animasi Polaroid kecil yang lucu untuk menyorot
tindakan.
e. Browser
Alih-alih tab horizontal, browser baru memegang 16 tab
halaman terbuka, ditumpuk vertikal, bahwa Anda dapat
membolak-balik, dengan live preview. Jika pada perangkat
tablet Anda harus menekan-tahan untuk meminta versi
desktop dari sebuah situs web, dengan versi ini Anda
dengan mudah mendapatkan link full version.
f. Gmail
Aplikasi Gmail terlihat lebih bagus. Anda dapat memilih
beberapa email sekaligus untuk mempercepat pengarsipan.
Anda juga dapat membolak-balik email Anda horizontal,
untuk membaca lebih cepat, dan bahkan mencari hingga 30
hari ke belakang, tanpa terhubung ke jaringan.
Alamat email sekarang berasosiasi dengan orang-orang,
sehingga Anda mendapatkan banyak pilihan. Anda bahkan
dapat memilih untuk menggunakan media komunikasi
mungkin bukan email-nya, tapi juga IM atau akun
Twitternya.
41 g. Kalender
Memungkinkan Anda membolak-balik tanggal lebih
mudah. Agenda bisa di-zoom in untuk melihat aktivitas
selama sebulan dalam sekejap.
h. Mobile Data
Seperti pada iPhone, kini Anda dapat menonaktifkan
mobile data Anda untuk menghindari biaya yang tidak
diinginkan dari operator nirkabel Anda. Anda dapat
melihat
grafik
penggunaan
bulanan
Anda,
dan
bahkanmengendalikan lonjakan dalam penggunaan Anda,
dan melihat aplikasi yang tepat yang menyebabkan
masalah
itu.
Kemudian
Anda
dapat
membatasi
penggunaan data aplikasi tersebut. Kontrol ini cukup
mengagumkan.
i. Foto dan video
Kamera baru pada ponsel Nexus Galaxy memiliki zero
shutter lag, dan mendukung video 1080p, time-lapse video
photography, dan pilihan lainnya. Tapi di luar itu, semua
perangkat Ice Cream Sandwich akan membiarkan Anda
berbagi foto langsung dari dalam kamera, dan melihat
semua gambar Anda tidak hanya diorganisasi oleh waktu
tetapi dengan lokasi atau bahkan orang-orang dan seperti
pada iPhone, Anda dapat melakukan beberapa pengeditan
dasar pada kamera.
42 2.2.1.4 Fitur Sistem Operasi Android
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. DVM (Dalvik Virtual Machine)
DVM (Dalvik Virtual Machine) adalah sebuah mesin virtual
yang menggunakan memori yang sangat rendah dan secara
khusus dirancang untuk Android untuk dijalankan pada
embedded system. DVM (Dalvik Virtual Machine) bekerja
dengan baik pada situasi dengan tenaga yang rendah dan
mengoptimalkan perangkat mobile. DVM juga mengatur
atribut dari CPU (Central Processing Unit) serta membuat
sebuah format file yang spesial (.DEX) yang dibuat selama
build time post processing. DVM (Dalvik Virtual Machine)
mengambil file yang dihasilkan oleh class Java dan
menggabungkannya
ke
dalam
satu
atau
lebih
Dalvik
Executable (.dex). DVM (Dalvik Virtual Machine) dapat
43 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 (Dalvik Virtual Machine)
menggunakan assembly-code yang berbeda dimana DVM
(Dalvik Virtual Machine) menggunakan register sebagai unit
utama dari penyimpanan data daripada menggunakan stack.
Hasil akhir dari executable-code pada Android, merupakan
hasil dari DVM (Dalvik Virtual Machine) 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
44 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 500Kb) yang diintegrasikan pada sistem
operasi Android. SQLite didasarkan pada function calls dan
single file, dimana semua definisi, tabel, dan data disimpan.
f. Mendukung media
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. Teknologi komunikasi
GSM, Bluetooth, Enhanced Data rates for GSM Evolution
(EDGE), 3rd Generation (3G), dan WiFi™ (bergantung dari
perangkat keras yang digunakan).
45 h. Kamera, Global Postioning System (GPS), kompas dan
accelerometer
(bergantung
dari
perangkat
keras
yang
digunakan).
i. Lingkungan deployment
Lingkungan pengembangan yang lengkap, seperti emulator,
peralatan untuk debugging, memori dan performance profiling,
serta plug-in untuk Eclipse IDE (Integrated Development
Environment).
2.2.2 XML
XML
adalah
suatu
bahasa
markup
yang
digunakan
untuk
merepresentasikan dokumen yang dipertukarkan pada jaringan internet.
Dengan
struktur
dan
definisi
yang
jelas,
XML
dapat
dipakai
merepresentasikan dan mengkomunikasikan basis data relasional yang
tersebar. Penelitian ini membahas bagaimana representasi dan sinkronisasi
antar basis data relasional dapat dilakukan dengan studi kasus pada tiga
DBMS relasional.
Keuntungan dari XML adalah sebagai berikut:
a. Sederhana
Informasi atau code yang ditulis di dalam XML mudah dibaca dan
dimengerti serta dapat diolah dengan mudah oleh komputer.
b. Terbuka
46 XML adalah standar World Wide Web Consortium (W3C), didukung oleh
pemimpin pasar industri perangkat lunak.
c. Dapat diperluas
Sekumpulan tags tidak ada yang tetap dan tags yang baru dapat dibuat
ketika diperlukan.
d. 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.
e. 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).
f. 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.
g. Berisi informasi konteks yang dapat dibaca oleh tag machine, atribut dan
struktur elemen memberikan informasi konteks yang dapat digunakan
untuk menafsirkan arti dari isi.
h. Memisahkan bagian isi dengan tampilan.
i. Mendukung dokumen multi bahasa dan unicode.
j. Memfasilitasi perbandingan dan kesatuan data struktur pohon dokumen
XML memungkinkan dokumen untuk dibandingkan dan di-agregasi secra
lebih efisien elemen demi elemen.
47 2.2.3 MySQL
MySQL merupakan salah satu DBMS open source yang paling
populer pada saat ini.(http://www.mysql.com/about/) Meskipun dahulu
MySQL pernah dikritisi karena tidak memiliki beberapa fitur yang ada
dalam DBMS pada umumnya, namun saat ini MySQL sudah banyak
dikembangkan.
2.2.3.1 Structured Query Language (SQL)
SQL digunakan untuk berkomunikasi dengan sebuah
database. SQL adalah bahasa yang meliputi perintah-perintah untuk
menyimpan, menerima, memelihara, dan mengatur akses ke basis
data serta digunakan untuk memanipulasi dan menampilkan data
dari database.(R.W. Rosari, 2008)
Penggunaan SQL pada DBMS (Database Management
System) sudah cukup luas. SQL dapat dipakai oleh berbagai
kalangan, misalnya DBA (Database Administrator), progammer
ataupun pengguna. Hal ini disebabkan karena :
a. SQL sebagai bahasa administrasi database
Dalam hal ini SQL dipakai oleh DBA untuk menciptakan
serta mengendalikan pengaksesan database.
b. SQL sebagai bahasa query interaktif
Pengguna dapat memberikan perintah-perintah mengakses
database yang sesuai dengan kebutuhannya.
c. SQL sebagai bahasa pemrograman database
48 Pemrogram dapat menggunakan perintah-perintah SQL
dalam program aplikasi yang dibuat.
d. SQL sebagai bahasa client atau server
SQL juga dipakai sebagai untuk mengimplementasikan
sistem client atau server. Sebuah client dapat menjalankan
suatu aplikasi yang mengakses database. Dalam hal ini
sistem operasi antara server dan client bisa berbeda.
Di samping hal tersebut di atas SQL juga diterapkan pada internet
atau intranet untuk mengakses database melalui halaman-halaman
web untuk mendukung konsep web dinamis.
2.2.4
JavaScript Object Notation (JSON)
JSON (JavaScript Object Notation) adalah format pertukaran data
yang ringan, mudah dibaca dan ditulis oleh manusia, serta mudah
diterjemahkan dan dibuat (generate) oleh komputer. Format ini dibuat
berdasarkan bagian dari bahasa pemrograman JavaScript, Standar ECMA262 Edisi ke-3 - Desember 1999. JSON merupakan format teks yang tidak
bergantung pada bahasa pemrograman apapun karena menggunakan gaya
bahasa yang umum digunakan oleh programmer keluarga C termasuk C,
C++, C#, Java, JavaScript, Perl, Python dll. Oleh karena sifat-sifat tersebut,
menjadikan JSON ideal sebagai bahasa pertukaran-data. JSON terbuat dari
dua struktur:
1.
Kumpulan pasangan nama atau nilai. Pada beberapa bahasa, hal ini
dinyatakan sebagai objek (object), rekaman (record), struktur (struct),
49 kamus (dictionary), tabel hash (hash table), daftar berkunci (keyed
list), atau associative array.
2.
Daftar nilai terurutkan (an ordered list of values). Pada kebanyakan
bahasa, hal ini dinyatakan sebagai larik (array), vektor (vector), daftar
(list), atau urutan (sequence).
Struktur-struktur data ini disebut sebagai struktur data universal. Pada
dasarnya, semua bahasa pemrograman modern mendukung struktur data ini
dalam bentuk yang sama maupun berlainan. Hal ini pantas disebut
demikian karena format data mudah dipertukarkan dengan bahasa-bahasa
pemrograman yang juga berdasarkan pada struktur data ini.
JSON menggunakan bentuk sebagai berikut:
• Object
Object adalah sepasang nama atau nilai yang tidak terurutkan. Object
dimulai dengan { (kurung kurawal buka) dan diakhiri dengan } (kurung
kurawal tutup). Setiap nama diikuti dengan : (titik dua) dan setiap
pasangan nama/nilai dipisahkan oleh , (koma).
Gambar 2.5 Bentuk Object JSON
50 • Array
Array adalah kumpulan nilai yang terurutkan. Larik dimulai dengan [
(kurung kotak buka) dan diakhiri dengan ] (kurung kotak tutup). Setiap
nilai dipisahkan oleh , (koma).
Gambar 2.6 Bentuk Array JSON
• Value
Nilai (value) dapat berupa sebuah string dalam tanda kutip ganda, atau
angka, atau true atau false atau null, atau sebuah objek atau sebuah larik.
Struktur-struktur tersebut dapat disusun bertingkat.
Gambar 2.7 Bentuk Value JSON
• String
String adalah kumpulan dari nol atau lebih karakter Unicode, yang
dibungkus dengan tanda kutip ganda. Di dalam string dapat digunakan
backslash escapes "\" untuk membentuk karakter khusus. Sebuah
51 karakter mewakili karakter tunggal pada string. String sangat mirip
dengan string C atau Java.
Gambar 2.8 Bentuk String JSON
• Number
Angka (Number) sangat mirip dengan angka di C atau Java, kecuali
format oktal dan heksadesimal tidak digunakan.
Gambar 2.9 Bentuk Number JSON
(Sumber: http://json.org/json-id.html)
52 2.2.5 Location Based Service
Location Based Service (LBS) atau layanan berbasis lokasi adalah
istilah umum yang digunakan untuk menggambarkan teknologi yang
digunakan untuk menemukan lokasi perangkat yang digunakan.(Nazzruddin
Safaat H, 2011, p226) Dua unsur utama LBS adalah :
1. Location Manager (API Maps)
Menyediakan
tools
atau
source
untuk
LBS,
Application
Programming Interface (API) Maps menyediakan fasilitas untuk
menampilkan, memanipulasi maps atau peta beserta fitur-fitur
lainnya seperti tampilan satelit, street (jalan), maupun gabungannya.
2. Location Provider (API Location)
Menyediakan teknologi pencarian lokasi yang digunakan oleh
perangkat. API Location berhubungan dengan data GPS (Global
Positioning System) dan data lokasi real-time.
Download