BAB 2
LANDASAN TEORI
2.1
Teori Umum
Berikut ini merupakan teori-teori umum yang digunakan sebagai landasan
teori dalam penulisan skripsi ini.
2.1.1
Pengertian Data
Menurut Whitten dan
Bentley (2007, p21), data adalah
fakta
mentah mengenai orang, tempat, peristiwa, dan hal-hal yang penting dalam
suatu organisasi. Setiap fakta ini, secara relatif tidak mempunyai arti.
Menurut Connolly dan Begg (2005, p20), data merupakan
komponen paling penting dalam Database
Management
System, yang
berasal dari sudut pandang pengguna. Data bertindak sebagai jembatan
yang menghubungkan antara mesin dengan pengguna
Menurut Pressman (2010, p841), data merupakan informasi mentah,
kumpulan fakta yang harus diproses agar memiliki arti.
2.1.2
Pengertian Sistem
Menurut
OBrien
(2005,
p29),
sistem merupakan
sekumpulan
elemen yang saling berhubungan atau berinteraksi hingga membentuk satu
kesatuan.
9
|
10
2.1.3
Pengertian Informasif
Menurut OBrien (2005, p703), informasi adalah data yang
ditempatkan dalam konteks yang berarti dan berguna untuk pengguna.
Menurut Pressman (2010, p841), informasi
diperoleh dengan
mengasosiasikan
fakta
ke dalam
konteks
yang diberikan.
Informasi
yang
dikumpulkan pada berbagai topik yang terkait dan yang tidak terkait
terhubung untuk membentuk tubuh fakta yang di sebut pengetahuan.
2.1.4
Pengertian Sistem Informasi
Menurut OBrien (2005, p5), sistem informasi merupakan suatu
kombinasi
teratur
dari
orang-orang, hardware,
software,
jaringan
komunikasi, dan sumber daya data yang mengumpulkan, mengubah, dan
menyebarkan informasi dalam sebuah organisasi.
2.1.5
Pengertian Sistem Operasi
Menurut
Stallings
(2011,
p718),
Sistem operasi
adalah
software
yang mengontrol eksekusi dari program dan
menyediakan
layanan seperti
alokasi sumber daya, penjadwalan, kontrol input / output, dan pengaturan
data.
2.1.6
Model Proses Waterfall
Menurut Pressman (2010, p39), model proses Waterfall, yang
sering disebut classic life cycle, menawarkan pendekatan yang sistematik
|
![]() 11
dan
sekuensial
dalam pengembangan
software.
Model
proses
Waterfall
diawali
dengan pengumpulan kebutuhan pengguna, proses perencanaan,
pemodelan, konstruksi, dan penyebaran, berpuncak pada dukungan
yang
berkelanjutan pada software yang telah jadi.
Gambar 2.1 Model Proses Waterfall
2.1.7
Model Proses Incremental
Menurut
Pressman
(2010,
p41),
model
proses Incremental
mengkombinasikan elemen-elemen aliran proses linier dan paralel. Proses
model Incremental
menerapkan urutan linier
seperti
waktu
yang
berlangsung pada kalender. Setiap urutan linier menghasilkan
penyampaian "penambahan" dari software dengan cara yang mirip dengan
peningkatan yang dihasilkan oleh aliran proses evolusi.
Communication Planning
Modelling (analysis, design)
Construction (code, test)
Deployment (delivery, feedback)
increment #2
increment
#1
increment #n
delivery of
1st increment
delivery of
2nd increment
delivery of n th
increment
Gambar 2.2 Model Proses Incremental
|
12
2.1.8
Pengertian Database
Menurut Connolly dan Begg (2005, p15),
database merupakan
sekumpulan data logikal yang berelasi, dan didesain untuk mendapatkan
informasi yang dibutuhkan sebuah organisasi. Hal ini berarti bahwa
database
merupakan
tempat
penyimpanan data
yang
besar
dan
dapat
digunakan secara bersamaan oleh banyak pengguna.
Menurut
Whitten
dan
Bentley
(2007,
p518),
di
dalam sebuah
database
terdapat
beberapa
tabel
yang
berisi fields
dan
records.
Fields
adalah
implementasi
fisik
dari
sebuah
atribut
data. Fields
adalah
unit
terkecil dari data yang disimpan dalam database. Sedangkan records
adalah
sebuah
koleksi
(kumpulan) fields
yang diatur
dalam format
yang
telah
ditentukan
sebelumnya.
Terdapat
empat
macam field
yang
dapat
disimpan dalam database :
a.
Primary Key
Primary key adalah field
yang
memberikan tanda unik dalam setiap
record.
b.
Secondary Key
Secondary key adalah
sebuah field yang
mengidentifikasikan sebuah
record tunggal atau bagian dari beberapa record.
c.
Foreign Key
Foreign key adalah field yang menunjuk ke sekumpulan record yang
terdapat dalam tabel yang lain di database.
|
13
d.
Descriptive Field
Descriptive Field adalah field
selain key field
yang menyimpan data
bisnis.
Relational
database
adalah database
yang
mengimplementasikan
data sebagai sederetan tabel dua dimensi yang dihubungkan satu sama lain
dengan foreign key. (Whitten dan Bentley, 2007, p526)
2.1.9
Database Management System (DBMS)
Menurut
Hoffer,
Prescott,
dan
Topi
(2009,
p49), database
management system (DBMS) adalah sistem software yang digunakan
untuk
membuat,
memelihara, dan
menyediakan akses kontrol ke database
pengguna. Sebuah DBMS menyediakan metode sistematik untuk membuat,
meng-update, menyimpan, dan
mendapatkan data dalam database.
DBMS
memungkinkan
pengguna
akhir
dan
programmer
aplikasi
untuk
berbagi
data,
dan
memungkinkan
data
yang
dibagi
di
antara
beberapa
aplikasi,
bukan disebarkan dan disimpan dalam file baru untuk setiap aplikasi baru.
Sebuah DBMS juga menyediakan fasilitas untuk mengendalikan akses data,
menerapkan integritas data, mengelola kontrol konkurensi, dan
memperbaiki database.
a.
Relational Database Management System (RDBMS)
Relational DBMS adalah sebuah sistem manajemen data yang
mengimplementasikan relasi antara model data, salah satu tempat di
|
14
mana data disimpan dalam kumpulan tabel, dan hubungan data yang
direpresentasikan dengan
nilai
umum,
bukan link.
(Hoffer,
Prescott,
dan Topi, 2009, p352)
b.
Object-Relational Database (ORDB)
Object-Relational
database merupakan relational
database
dengan
penambahan
konsep object-oriented.
Meskipun
tidak
sepenuhnya berorientasi objek,
sistem
object-relational
database
masih
berhasil
bersaing
dengan
sistem object-oriented
database.
(
Teorey, Lightstone, Nadeau, dan Jagadish, 2011, p298)
Sebuah fitur utama sistem object-relational yang ditambahkan
ke relational database adalah pemikiran dari sebuah tipe data abstrak.
Database tradisional
memiliki satu set kecil tipe data standar (seperti
integer,
date,
presisi, double
precision,
dsb).
Tipe
data
abstrak
(Abstract Data Type / ADT) mengizinkan objek class yang kompleks
didefinisikan
sebagai
tipe
database.
Instansi
tipe data ini
dapat
kemudian disimpan sebagai nilai atribut dalam kolom tabel yang telah
didefinisikan sebagai ADT ini.
(
Teorey et al, 2011, p153)
2.1.10 Arsitektur Three-Tier
Arsitektur Three-Tier Client-Server mengajukan 3 lapisan, dimana
masing-masing berpotensi dijalankan pada platform yang berbeda-beda :
1.
Lapisan antarmuka pengguna, yang berjalan pada komputer pengguna
(klien).
|
![]() 15
2.
Lapisan
bussiness
logic
dan
proses.
Tingkatan
menengah
ini
dapat
berjalan pada server dan sering disebut application server.
3.
Sebuah DBMS yang
menyimpan data yang dibutuhkan oleh tingkatan
menengah. Tingkatan ini dapat berjalan pada
server yang
terpisah
yang disebut database server.
(Connolly dan Begg, 2005, p61)
Gambar 2.3 Arsitektur Three-Tier Client-Server
2.1.11 Pengertian Internet (Interconnected Networking)
Menurut Williams dan Sawyer (2011, p18), internet adalah sebuah
jaringan komputer di seluruh dunia yang menghubungkan ratusan ribu
jaringan yang lebih kecil. Jaringan ini menghubungkan beberapa komputer
|
16
pada bidang edukasi, komersial,
non-profit, dan kebutuhan
militer,
serta
masing-masing individu.
2.1.12 Pengertian Web
Berikut ini beberapa teori yang menyangkut pengembangan
aplikasi yang berbasis web.
a.
eXtensible Markup Language (XML)
XML atau eXtensible Markup Language adalah sebuah bahasa
markup
baru
yang
dikembangkan
oleh
W3C
(World Wide
Web
Consortium). XML
digunakan untuk mengirim,
menukar,
dan
memanipulasi dalam dalam aplikasi
internet.
XML
berisi
data
yang
didefinisikan
sendiri
dalam format
dokumen;
dan
tidak
bergantung
pada platform. XML juga memudahkan pengiriman dokumen dari
satu situs ke situs lainnya melalui HTTP. Namun, penerapan XML
tidak hanya terbatas untuk aplikasi internet konvensional saja; XML
juga dapat digunakan untuk berkomunikasi
dan
bertukar
informasi
dalam konteks lain. (Sills, Ahmed, Boumphrey, Dotthatcom.com, dan
Ortiz, 2002, p84) .
Menurut Hoffer, Prescott, dan Topi (2009, p720), XML
merupakan
bahasa scripting berbasis teks yang digunakan untuk
menggambarkan struktur data hirarki, menggunakan tag seperti
HTML.
|
17
b.
HyperText Transfer Protocol (HTTP)
Menurut Williams dan Sawyer (2011, p66), HTTP adalah
aturan komunikasi yang memungkinkan browser tersambung ke web
server.
c.
Transmission Control Protocol/Internet Protocol (TCP/IP)
TCP/IP adalah protokol yang memungkinkan semua komputer
menggunakan data yang ditransimisikan melalui internet. TCP/IP
digunakan
pada
semua
transaksi
internet,
mulai dari
mengirim email
sampai
mengunduh
gambar dari situs web. Prinsip utamanya, TCP/IP
menentukan bagaimana piranti pengirim memberi tanda jika telah
selesai mengirim pesan dan bagaimana piranti penerima memberi
tanda jika telah menerima pesan tersebut. (Williams dan Sawyer, 2011,
p62)
d.
Domain Name System (DNS)
Domain merupakan suatu lokasi di internet, yaitu di web server
tertentu. Nama domain menunjukkan lokasi dan jenis alamat.
Komponen nama domain dipisahkan dengan tanda titik (dot).
Komponen terakhir dari
nama domain disebut top level domain, yaitu
ekstensi tiga
(3)
huruf
yang
mengekspresikan tipe
domain: .gov, .com, .net, .edu, .org, .mil, .int, pemerintahan, komersial,
jaringan, pendidikan, oraganisasi nonprofit, militer, atau organisasi
internasional. (Williams dan Sawyer, 2011, p66)
|
18
e.
Universal Resource Locator (URL)
URL adalah kumpulan karakter yang menunjuk pada potongan
informasi khusus
di
bagian
mana saja
pada
web.
Dengan kata
lain,
URL adalah alamat situs web yang unik (tidak ada dua situs berbeda
yang memiliki alamat yang sama). (Williams dan Sawyer, 2011, p65)
f.
Web Server
Web
server
merupakan
sebuah
proses
yang berjalan
pada
komputer host, yang menunggu request dari HTTP masuk. Web server
menyediakan akses terhadap informasi dan layanan yang disimpan
dalam web. (Eaglestone dan Ridley, 2001, p209)
Menurut Hoffer, Prescott, dan Topi (2009, p469), web server
digunakan untuk memproses permintaan dari klien dan kemudian
mengembalikan halaman HTML kepada klien.
g.
Web Service
Web service
merupakan aplikasi enterprise berbasis web
yang
menggunakan terbuka, standar berbasis
XML
dan
protokol
transportasi
untuk
bertukar
data dengan
klien
yang
memanggil.
(Jendrock, Evans, Gollapudi, Haase, dan Srivathsa , 2010, p15)
Web service adalah sebuah sistem software yang didesain
untuk dapat dioperasikan pada interaksi mesin ke mesin melalui
jaringan. Web service memiliki antarmuka yang dideskripsikan dalam
format
machine-processable
(WSDL).
Sistem lain
yang
berinteraksi
dengan
web
service dengan
cara
yang
ditentukan oleh
deskripsinya
|
19
menggunakan pesan SOAP, biasanya disampaikan menggunakan
HTTP dengan serialisasi XML bersama dengan standar web terkait
yang lain. (Graham et al, 2001, p)
Menurut Hoffer, Prescott, dan Topi (2009, p720), web service
adalah seperangkat standar yang muncul, yang mendefinisikan
protokol untuk komunikasi secara otomatis antara program software
melalui
Web.
Web service berbasis
XML
dan
biasanya
bekerja
di
belakang layar untuk membangun suatu komunikasi yang transparan
antara komputer.
2.1.13 Object-Oriented Programming (OOP)
Menurut Deitel dan Deitel (2012, p11),
Object-Oriented
Programming meningkatkan produktivitas sehingga mengurangi biaya
pengembangan software. Pengembang software
menemukan bahwa
menggunakan sebuah
desain berorientasi objek
modular
dan pendekatan
implementasi dapat membuat kelompok pengembangan software jauh
lebih produktif daripada dengan teknik sebelumnya seperti structured
programming object-oriented programming sering lebih mudah untuk
dipahami, diperbaiki dan dimodifikasi. Berikut ini adalah beberapa kunci
mengenai konsep object-oriented programming.
a.
Method dan Class
Pada sebuah program, menjalankan suatu tugas membutuhkan sebuah
method.
Method
ini
merupakan
tempat
statemen program
yang
|
20
melakukan
tugasnya. Method
ini
menyembunyikan
statemen
dari
pengguna. Pada Java, dibuat sebuah unit program yang disebut dengan
class untuk menjadi tempat sekumpulan method yang melakukan
tugas dari class tersebut. (Deitel dan Deitel, 2012, p11)
b.
Instantiation
Object dari
class
harus dibangun sebelum program dapat
melakukan
tugas yang didefinisikan oleh method pada class. Proses pembangunan
ini disebut dengan instantiation.
Sebuah
object
kemudian
disebut
sebagai instansi dari class-nya. (Deitel dan Deitel, 2012, p12)
c.
Reuse
Class
dapat
dipakai
berkali-kali
untuk
membangun object-object.
Menggunakan kembali class
yang
sudah
ada ketika
membuat class-
class dan program-program menghemat
waktu dan tenaga.
Penggunaan kembali juga membantu pembangunan sistem yang lebih
handal dan efektif, karena class dan komponen yang ada telah melalui
pengujian, debug dan kinerja tuning. (Deitel dan Deitel, 2012, p12)
d.
Messages dan Methods Calls
Message
dikirimkan ke object. Setiap message
diimplementasikan
sebagai
sebuah
panggilan method yang
memberitahukan
sebuah
method pada object untuk melakukan tugas. (Deitel dan Deitel, 2012,
p13)
|
21
e.
Attributes dan Instance Variables
Sebuah object memiliki atribut yang dibawanya bersama sepanjang
penggunaan
object
tersebut
dalam sebuah
program.
Atribut
ini
ditetapkan
sebagai
bagian
dari class
object.
Atribut ditentukan
oleh
instance variables class. (Deitel dan Deitel, 2012, p12)
f.
Encapsulation
Class
mengenkapsulasi atribut dan method ke dalam object sebuah
atribut object dan method yang berhubungan erat. Object dapat
berkomunikasi
satu
sama
lain,
tetapi
biasanya
suatu object tidak
mengetahui
bagaimana object lainnya diimplementasikan
rincian
implementasi tersembunyi dalam object itu sendiri. (Deitel dan Deitel,
2012, p13)
g.
Inheritance
Sebuah class object baru dapat dibuat dengan cepat dan mudah
dengan
inheritance
class
baru
akan
menyerap
karakteristik
class
yang sudah ada, memungkinkan pengubahan dan penambahan
karakteristik unik sendiri. (Deitel dan Deitel, 2012, p13)
Class yang sudah ada disebut dengan superclass, dan class yang baru
disebut
dengan subclass.
Setiap
subclass
dapat
menjadi superclass
untuk subclass berikutnya. (Deitel dan Deitel, 2012, p360)
Sebuah anggota public pada class dapat diakses di
manapun program
ini memiliki referensi ke sebuah object dari class itu atau salah satu
subclass-nya. Sebuah anggota private pada class dapat diakses hanya
|
22
oleh
anggota class
itu sendiri.
Sebuah anggota protected pada
superclass
dapat
diakses
oleh
anggota
dari superclass-nya,
anggota
subclass-nya dan anggota dari class
lain yang berada pada package
yang sama anggota protected mempunyai akses ke package.
(Deitel dan Deitel, 2012, p360)
h.
Polymorphism
Polymorphism
memungkinkan
untuk
membuat
"program di
umum"
daripada
"program dalam spesifik".
Secara
khusus,
polymorphism
memungkinkan untuk menulis program yang proses object-nya
berbagi superclass
yang sama
(baik
secara
langsung
atau
tidak
langsung) seolah-olah mereka semua object
dari
superclass.
Hal
ini
dapat menyederhanakan pemrograman. (Deitel dan Deitel, 2012,
p397)
2.1.14 Java
Java merupakan bahasa pemrograman level tinggi yang
dikembangkan
oleh Sun Microsystem pada tahun
1995,
juga
merupakan
sebuah bahasa berorientasi objek. Digunakan untuk menuliskan program-
program yang padat dan bisa diunduh
melalui
internet dan dengan segera
dieksekusi pada banyak komputer. File kode sumber Java (file dengan
ekstensi
.java)
dikompilasi ke
dalam format
yang
disebut
bytecode (file
dengan ekstensi .class), yang nantinya bisa dieksekusi oleh sebuah
penerjemah (interpreter) Java. Kode Java yang telah dikompilasi bisa
|
![]() 23
berjalan pada sebagian besar komputer
karena
penerjemah
Java
dan
lingkungan untuk menjalankannya, Java Virtual Machines (JVMs), telah
tersedia di sebagian besar sistem operasi. (Deitel dan Deitel, 2003, p539)
2.1.15 JavaScript
JavaScript
adalah scripting language (bahasa pemrograman yang
ringan) terpopuler pada internet, dan berjalan pada berbagai browser,
seperti Internet Explorer, Firefox, Chrome, Opera, dan Safari. JavaScript
didesain untuk menambah interaktivitas halaman HTML. JavaScript
biasanya ditanamkan pada
halaman HTML. JavaScript adalah interpreted
language (berarti JavaScript mengeksekusi tanpa kompilasi pendahuluan)
dan setiap orang dapat menggunakan JavaScript tanpa harus membeli
lisensi. ( http://www.w3schools.com/js/js_intro.asp )
2.1.16 Structured Query Language (SQL)
Berikut ini beberapa teori yang
menyangkut
SQL,
meliputi
pengertian dan kelompok statement dalam SQL.
a. Pengertian SQL
Standard Query Language (SQL, dibaca S-Q-L
atau juga
Sequel) adalah bahasa query paling umum yang sekarang baik secara
formal
dan
de
facto
merupakan
bahasa
standar
untuk database
management system. (Connolly dan Begg , 2005, p16)
|
24
Sebuah
statement
dalam
SQL
terdiri
dari
reserved
words
dan
user-defined words.
Reserved
words
merupakan
bagian
tetap
dari
bahasa
SQL dan
memiliki
makna
yang
tetap. Reserved
words
harus
dieja dengan tepat seperti yang diharuskan dan tidak dapat dipisahkan.
User-defined words dibuat oleh pengguna dan merepresentasikan
nama dari variasi objek database seperti, tabel, kolom, dan sebagainya.
(Connolly dan Begg , 2005, p116)
b.
Kelompok Statement dalam SQL
Statement dalam SQL dikelompokkan menjadi lima, yaitu
Data Defintion Language, Data Manipulation Language, Data
Control Language, Transaction Control Language, dan Pengendali
Programatik.
1)
Data Definition Language (DDL)
Data Definition Language adalah bahasa yang memperbolehkan
seorang database administrator (DBA) atau pengguna untuk
mendeskripsikan dan menamai suatu entitas, atribut, dan
hubungan yang dibutuhkan oleh aplikasi, bersamaan dengan
integritas data dan keamanan datanya. (Connolly dan Begg , 2005,
p40)
2)
Data Manipulation Language (DML)
Data
Manipulation Language merupakan bahasa yang
menyediakan seperangkat operasi untuk mendukung operasi
manipulasi data yang berada dalam database. Pengoperasian
|
25
manipulasi data diantaranya memasukkan data baru,
memodifikasi data, mengambil data, maupun menghapus data
dari basis-data. (Connolly dan Begg, 2005, p41)
3)
Data Control Language (DCL)
Data Control Language merupakan bahasa yang digunakan untuk
mengendalikan pengaksesan data. Pengendalian dapat dilakukan
pada setiap pengguna, tabel, kolom, ataupun operasi yang dapat
dilakukan. Perintah-perintah ini
berkaitan
dengan
pengaturan
keamanan basis-data. Contoh dari bahasa DCL adalah
GRANT,
REVOKE, dan LOCK.
4)
Transaction Control Language (TCL)
Transaction Control Language
merupakan bahasa yang
digunakan untuk mengontrol pengeksekusian
dari
sebuah
transaksi.
Contoh
dari
perintah TCL
adalah
COMMIT,
dan
ROLLBACK.
5)
Pengendali Programatik
Dalam kelompok
statement ini, perintah-perintah
yang termasuk
pengendali programatik merupakan pernyataan-pernyataan yang
berhubungan dengan pemanfaatan SQL dalam bahasa lain.
Pernyataan-pernyataan terdapat pada bahasa konvensional
generasi ketiga (3-GL), seperti
COBOL. Perintah-perintah yang
termasuk
dalam kategori
ini
diantaranya CLOSE,
DECLARE,
FETCH, dan OPEN.
|
26
2.1.17 Delapan Aturan Emas Perancangan User Interface
Menurut
Shneiderman
(2010,
pp88-89), terdapat delapan aturan
yang digunakan sebagai petunjuk dasar yang baik untuk merancang suatu
tampilan antarmuka pengguna. Delapan aturan yang disebut juga dengan
Eight Golden Rules of Interface Design, yaitu :
a.
Berusaha untuk konsisten
Bentuk-bentuk dari konsistensi adalah konsisten untuk aksi yang
sejenis
atau
mirip,
konsistensi
warna, jenis tulisan, ukuran, dan tata
letak dan harus diterapkan pada seluruh aplikasi.
b.
Menyediakan usability universal
Penerapan usability universal adalah dengan menggunakan singkatan
dan
tombol-tombol
shortcut yang
sudah
umum
digunakan,
sehingga
familiar dengan pengguna.
c.
Memberikan umpan balik yang informatif
Adanya umpan balik dari sistem untuk setiap aksi yang dilakukan oleh
pengguna. Untuk aksi yang sering dilakukan dan tindakan kecil, dapat
menggunakan respon yang sederhana. Sedangkan untuk
aksi yang
jarang dilakukan dan tindakan besar, maka harus menggunakan respon
yang lebih substansial.
d.
Merancang dialog untuk menghasilkan suatu penutupan
Urutan
tindakan
sebaiknya
diatur
dalam pengelompokkan
menjadi
bagian
awal,
tengah,
dan akhir.
Umpan
balik
yang
informatif
pada
|
27
akhir tindakan harus dapat memberikan indikasi bahwa proses yang
dilalui sudah benar.
e.
Memberikan penanganan kesalahan yang sederhana
Rancangan sistem yang dibuat harus bisa meminimalisir kemungkinan
pengguna melakukan kesalahan fatal. Walaupun pengguna melakukan
kesalahan, maka sistem harus dapat mendeteksi dan memberikan
instruksi sederhana namun jelas agar pengguna dapat memperbaiki
kesalahan.
f.
Mudah kembali ke tindakan sebelumnya
Dengan
mengetahui
bahwa
aksi yang
sudah
dilakukan
dapat
dibatalkan, maka
kecemasan
pengguna
dapat
dihilangkan. Sehingga
pengguna
tidak
takut
untuk
mengekplorasi
pilihan-pilihan lain yang
belum digunakan.
g.
Mendukung internal locus of control
Sistem
yang
baik
adalah
sistem yang
memberikan
kendali
kontrol
kepada pengguna, sehingga pengguna tidak merasa sistem yang
mengontrol pengguna.
h.
Mengurangi beban ingatan jangka pendek
Ingatan manusia memiliki keterbatasan untuk mengolah informasi,
oleh karena itu sistem tidak boleh membebani ingatan pengguna
dalam
jangka panjang
|
![]() 28
2.2
Teori Khusus
Berikut ini merupakan teori-teori khusus yang digunakan sebagai landasan
teori dalam penulisan skripsi ini.
2.2.1
Android
Android adalah sebuah sistem operasi untuk perangkat mobile yang
mencakup aplikasi sistem operasi, middleware dan aplikasi. Android SDK
menyediakan fitur dan API yang diperlukan untuk mulai mengembangkan
aplikasi
pada
platform Android
dengan
menggunakan
bahasa
pemrograman Java.
android.html )
Menurut
DiMarzio
(2008,
p6),
Android, sebagai suatu sistem,
adalah sistem operasi berbasis Java yang berjalan pada kernel Linux 2.6.
Sistem ini sangat ringan dan berfitur lengkap.
Android dikembangkan oleh Open Handset Alliance, Android
membawa
inovasi
dengan
internet dan
keterbukaan
terhadap
perangkat
mobile. Android memberikan sebuah software yang lengkap untuk aplikasi
pada telepon seluler : sistem operasi, middleware dan aplikasi kunci dalam
mobile. Android memiliki empat karakteristik sebagai berikut:
1)
Terbuka
Android dibangun untuk memungkinkan developers membuat aplikasi
mobile
yang
menarik
yang
bisa mengambil
keuntungan
penuh
dari
semua
handset
yang
ditawarkan dengan
maksud
untuk
menjadi
|
29
aplikasi
yang
benar-benar
terbuka. Sebagai contoh, sebuah aplikasi
dapat
memanggil
salah
satu
dari fungsi
inti
telepon seluler
seperti
membuat panggilan, mengirim pesan teks, atau menggunakan kamera,
memungkinkan developer untuk menciptakan pengalaman
yang lebih
kaya dan lebih kohesif bagi pengguna. Android dibuat di atas Linux
Kernel terbuka dan memanfaatkan mesin virtual khusus yang
dirancang untuk mengoptimalkan memori dan sumber daya hardware
dalam lingkungan
mobile.
Android
merupakan
open
source,
bebas
dikembangkan untuk menyertakan teknologi baru yang mutakhir yang
baru muncul. Platform ini akan terus berkembang seiringnya
komunitas developer yang bekerja sama untuk membangun aplikasi
mobile yang inovatif.
2)
Semua aplikasi diciptakan sama
Android
tidak
membedakan
antara
aplikasi
inti
dari
telepon
seluler
dan aplikasi pihak ketiga (third-party application). Semua aplikasi
dapat dibangun dan untuk memiliki akses yang sama terhadap
kemampuan telepon seluler dalam menyediakan berbagai aplikasi dan
layanan kepada pengguna Dengan perangkat yang dibuat berbasis
platform Android, pengguna dapat sepenuhnya menyesuaikan telepon
seluler sesuai keinginan mereka.
3)
Memecahkan hambatan pada aplikasi
Android
memecah
hambatan
untuk membangun
aplikasi
baru
dan
inovatif. Sebagai contoh, seorang developer dapat menggabungkan
|
![]() 30
informasi dari web dengan data pada telepon seluler individu seperti
kontak pengguna, kalender, atau lokasi geografis untuk memberikan
pengalaman pengguna yang lebih relevan.
4)
Pengembangan aplikasi yang cepat dan mudah
Android menyediakan akses yang
luas kepada developer untuk
menggunakan berbagai libraries yang diperlukan dan tools yang dapat
dipakai
dalam pembuatan
aplikasi. Sebagai
contoh,
Android
memungkinkan developer untuk mendapatkan lokasi dari perangkat,
dan memungkinkan perangkat tersebut untuk berkomunikasi satu
sama
lain
sehingga
memungkinkan
aplikasi
sosial
peer-to-peer.
a.
Fitur-fitur Android
Fitur-fitur yang tersedia di Android adalah sebagai berikut :
1) Kerangka Aplikasi
Android
merupakan
Open
Development Platform, yaitu Android
memberi kemampuan kepada developer untuk dapat membangun
aplikasi
yang
inovatif.
Kerangka aplikasi
ini
dirancang
agar
developer dapat dengan mudah menggunakan kembali komponen
yang sudah digunakan. Kerangka kerja ini didukung oleh
sejumlah
open
source
library
seperti
openssl,
sqlite,
dan
libc,
serta
library
inti
Android.
Dari
sudut keamanan,
kerangka kerja
ini didasarkan pada UNIX file system permission yang menjamin
|
31
aplikasi
tersebut
hanya memiliki
kemampuan
yang
diberikan
pemilik telepon seluler pada waktu instalasi.
2)
Dalvik Virtual Machine (DVM)
DVM adalah sebuah mesin virtual dengan memori yang rendah,
yang didesain khusus untuk Android yang dijalankan di
embedded
system dan
bekerja
dengan
baik
pada
daya
rendah.
DVM
menciptakan
format
file
khusus,
yaitu
.dex
yang
dibuat
pada
saat
build
time
post
processing.
Konversi
class
Java dan
format .dex dilakukan dengan memasukkan dx tool.
DVM menggunakan kernel linux untuk menangani fungsionalitas
tingkat
rendah
termasuk
keamanan, threading,
dan
proses
serta
manajemen
memori.
Semua hardware yang berbasis Android
dijalankan dengan menggunakan Virtual Machine untuk eksekusi
aplikasi, sehingga dapat diimplementasikan ke hardware tertentu.
DVM
mengeksekusi
Dalvik executable file, sebuah
format
yang
dioptimalkan untuk memastikan memori yang digunakan sangat
kecil.
File
.dex
diciptakan
dengan
mengubah
kelas
bahasa
java
dan dikompilasi menggunakan tools yang disediakan dalam SDK
Android.
3)
Browser yang terintegrasi
Browser yang berintegrasi (Integrated browser) berdasarkan
mesin WebKit open source.
|
32
4)
Grafis yang telah dioptimasi
Grafis yang telah dioptimasi didukung oleh library grafis 2D
yang kustom; grafis 3D yang berdasarkan OpenGL ES 1.0.
5)
SQLite
SQLite adalah sebuah relational database management system
berukuran kecil (500 Kb) yang berintegrasi
Android. SQLite
berbasis pada pemanggilan
fungsi dan single file, dimana
semua
definisi, tabel, dan data disimpan.
6)
Media Pendukung
Media pendukung yang umum untuk audio, video, dan gambar
dalam beberapa format (MPEG4, H.264, MP3, AAC, AMR, JPG,
PNG, GIF).
7)
GSM Telephony
(bergantung pada hardware yang digunakan).
8)
Bluetooth, EDGE, 3G, dan WiFi
(bergantung pada hardware yang digunakan).
9)
Camera, GPS, Compass, dan Accelerometer
(bergantung pada hardware yang digunakan).
10) Lingkungan pengembangan yang lengkap
perangkat emulator, peralatan untuk debugging, memori, dan
performance profiling, dan plugin untuk Eclipse IDE.
|
![]() 33
b.
Arsitektur Android
Diagram di bawah
ini
menunjukkan komponen
utama sistem
operasi Android :
1) Aplikasi
Android akan disertakan dengan sebuah set aplikasi inti termasuk
email
klien,
program SMS,
kalender,
peta,
browser,
kontak,
dan
lainnya.
Semua
aplikasi
ditulis menggunakan
bahasa
pemrograman
Java.
Gambar 2.4 Diagram Arsitektur Android
2) Kerangka Kerja Aplikasi
Dengan menyediakan sebuah platform pengembangan
terbuka
(open
development
platform), Android menawarkan para
developer
kemampuan
untuk
membangun
aplikasi
yang
sangat
|
34
kaya dan inovatif. Developer bebas
mengambil keuntungan dari
perangkat hardware, mengakses informasi lokasi, menjalankan
layanan background, menetapkan alarm, menambahkan notifikasi
ke status bar, dan lainnya.
Para
developer
memiliki
akses penuh
ke
kerangka
kerja
API
(Application Programming Interface) yang dipakai oleh aplikasi
inti. Arsitektur
aplikasi
dirancang
untuk
menyederhanakan
penggunaan kembali komponen-komponen (reusable): aplikasi
apapun dapat mempublikasikan kemampuannya dan aplikasi
lainnya dapat juga memakai kemampuan itu (tergantung pada
keterbatasan keamaan yang diberlakukan oleh kerangka kerja).
Mekanisme
yang
sama
memungkinkan komponen dapat diganti
oleh pengguna.
Dasar dari semua aplikasi adalah seperangkat layanan dan sistem,
termasuk didalamnya:
a)
Seperangkat Views yang dapat digunakan untuk
membangun
sebuah aplikasi, termasuk lists, grids, text boxes, buttons, dan
bahkan memasukkan sebuah web browser.
b) Content
Providers
yang
memungkinkan
aplikasi
untuk
mengakses data dari aplikasi-aplikasi lain (seperti kontak),
atau untuk memberikan data mereka sendiri.
|
35
c)
Sebuah
Resource Manager
yang
menyediakan
akses ke
sumber
daya
non-kode
seperti string
lokal,
grafik,
dan
file
layout.
d)
Sebuah
Notification Manager
yang
memungkinkan
semua
aplikasi untuk menampilkan custom alerts dalam status bar.
e)
Sebuah
Activity
Manager
yang
mengelola
siklus
hidup
dari
aplikasi dan menyediakan sebuah navigasi backstack umum.
3)
Libraries
Android mencakup satu set C/C++ libraries yang digunakan oleh
berbagai komponen sistem Android. Kemampuan ini diketahui
oleh
para
developer
melalui
kerangka
kerja aplikasi
Android.
Beberapa libraries inti adalah sebagai berikut:
a)
System
C
library
sebuah
implementasi
turunan
BSD
dari
standar
library
sistem C
(libc),
digunakan
untuk
perangkat
yang berbasis Linux .
b)
Media
Libraries
berdasarkan
PacketVideos
OpenCORE;
libraries mendukung pemutaran kembali dan perekaman
banyak format audio dan
video yang populer, serta
file
bergambar statis, termasuk MPEG4, H.264, MP3, AAC,
AMR, JPG, dan PNG.
c)
Surface
Manager
mengelola akses
ke
tampilan
subsistem
dan
juga menggabungkan layer grafis 2D dan 3D dari
beberapa aplikasi.
|
36
d)
LibWebCore sebuah mesin web browser yang modern yang
mengatur browser dalam Android.
e)
SGL mesin grafis yang mendasari 2D.
f)
3D libraries sebuah implementasi berdasarkan OpenGL ES
1.0 APIs; libraries
yang
menggunakan
akselerasi hardware
3D
(jika
tersedia)
atau
software
rasterizer
3D
yang
dioptimalkan.
g)
FreeType untuk merender gambar bitmap dan font vektor .
h)
SQLite
sebuah database
relasional
yang
kuat
dan
ringan
yang tersedia untuk semua aplikasi.
4)
Android Runtime
Android
mencakup seperangkat libraries
inti yang
menyediakan
sebagian
besar
fungsi
yang
tersedia
dalam libraries
inti
dari
bahasa pemrograman Java.
Setiap
aplikasi
Android
berjalan
dalam prosesnya
sendiri,
yang
masing-masing
memiliki
mesin
virtual Dalvik. Dalvik telah dibuat supaya dapat menjalankan
beberapa mesin virtual dengan efisien. Mesin virtual Dalvik
mengeksekusi file dalam format Dalvik Executable (.dex) yang
dioptimalkan
untuk
pemakaian
memori
minimal.
Mesin
virtual
ini
berbasis register, dan menjalankan class-class yang
dikompilasi oleh compiler bahasa
Java
yang telah
berubah
menjadi
format .dex
oleh
alat
yang
telah
ada
didalamnya
yaitu
alat
dx.
Mesin
Virtual
Dalvik
bergantung
pada
kernel
Linux
|
![]() 37
untuk
fungsionalitas
dasar
seperti
threading dan
manajemen
memori tingkat rendah.
5)
Linux Kernel
Android
bergantung
pada
Linux
versi
2.6
untuk
layanan
sistem
inti seperti keamanan, manajemen memori, manajemen proses,
jaringan
stack,
dan
model
driver. Kernel juga berfungsi sebagai
lapisan abstraksi antara hardware dan sisa dari software stack.
c.
Versi Android
Menurut
Harahap
(2011,
h11-12),
berikut
ini
merupakan
informasi beberapa versi Android yang sudah ada:
1)
Android Versi 1.1
Pada
9
Maret
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.
2)
Android Versi 1.5 (Cupcake)
Pada 30 April 2009, Google kembali merilis telepon seluler
dengan menggunakan Android dan SDK
(Software Development
Kit) dengan
versi
1.5
(Cupcake). Terdapat
beberapa
pembaruan
termasuk juga penambahan beberapa fitur dalam seluler versi ini
yakni kemampuan
merekam dan menonton video dengan
modus
|
38
kamera,
meng-upload video
ke
Youtube dan
gambar
ke Picasa
langsung dari telepon, dukungan Bluetooth
A2DP,
kemampuan
terhubung
secara
otomatis
ke
headset
Bluetooth,
animasi
layar,
dan keyboard pada layar yang dapat disesuaikan dengan sistem.
3)
Android Versi 1.6 (Donut)
Android versi 1.6 ini dirilis pada 15 September 2009 dengan
menampilkan proses pencarian yang lebih baik dibanding
sebelumnya,
penggunaan
baterai
indikator
dan
kontrol applet
VPN. Fitur lainnya adalah galeri yang memungkinkan pengguna
untuk memilih foto yang akan dihapus, kamera, camcorder, dan
galeri yang diintegrasikan, CDMA/EVDO,
802.1x, VPN,
Gestures, Text-to-speech engine, kemampuan dial kontak.
4)
Android Versi 2.0/2.1 (Eclair)
Pada 26 Oktober 2009, Android versi 2.0/2.1 (Eclair). Perubahan
yang dilakukan adalah pengoptimalan kecepatan hardware,
peningkatan Google Maps 3.1.2, perubahan UI dengan browser
baru, dan dukungan
HTML5, tampilan daftar kontak yang baru,
flash untuk kamera 3,2MP, digital zoom, dan Bluetooth 2.1.
5)
Android Versi 2.2 (Froyo: Frozen Yoghurt)
Pada 20 Mei 2010 Android versi 2.2 diluncurkan. Android versi
ini yang sekarang banyak beredar di pasaran. Fitur yang tersedia
di Android versi ini sudah kompleks, diantaranya adalah :
|
39
Kerangka
aplikasi
yang
memungkinkan
penggunaan
dan
penghapusan komponen yang tersedia.
Dalvik Virtual Machine dioptimalkan untuk perangkat mobile.
SQLite untuk penyimpanan data
Mendukung media: audio, video, dan berbagai format gambar
(MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, dan GIF)
GSM,
Bluetooth,
EDGE,
3G,
dan
WiFi
(hardware
independent)
Kamera, Global Positioning System (GPS), kompas, dan
accelerometer (tergantung hardware)
6)
Android Versi 2.3 (Gingerbread)
Android
versi
2.3 diluncurkan
pada
bulan
Desember 2010,
dengan beberapa reivisi sebagai berikut :
SIP-based VoIP
Near Field Communications (NFC)
Gyroscope dan sensor
Multiple cameras support
Mixable audio effects
Download Manager
2.2.2
Unified Modeling Language (UML)
Menurur Pressman (2010, p841), Unified Modeling Language
(UML)
merupakan
bahasa
standar
untuk
menuliskan
cetak
biru
|
40
(blueprints) dari
software. UML dapat digunakan untuk
mengvisualisasikan,
merincikan, menyusun,
dan
mendokumentasikan
artefak dari
sebuah sistem intensif software. Dengan kata
lain, arsitektur
software
membuat
diagram UML
untuk
membantu
developers
membangun sebuah software.
UML
2.0
menyediakan
beberapa
jenis
diagram untuk
digunakan
dalam memodelkan software. Contohnya ialah class, deployment, use case,
sequence, communication, activity, dan state diagram. Dengan banyaknya
jenis
diagram
yang
tersedia,
semua
aspek
penting
dalam sistem dapat
terekspresikan.
a. Class Diagram
Class
diagram
menyediakan sebuah pandangan statis atau
struktural dari sebuah sistem. Class
diagram tidak
menampilkan
property
dinamis
dari
komunikasi
antara
objek
dalam class
pada
diagram.
Elemen utama pada class diagram adalah sebuah kotak, yang
merupakan ikon untuk mewakili class dan antar muka. Bagian paling
atas
dari
kotak
tersebut
berisi
nama dari class tersebut. Pada bagian
tengah
berisikan
atribut-atribut
yang
dimiliki
oleh
class tersebut.
Bagian terakhir dari kotak tersebut berisikan
operasi-operasi atau
perilaku (behaviour). (Pressman, 2010, p842)
|
![]() 41
Gambar 2.5 Class Diagram
b.
Use Case Diagram
Use case mendeskripsikan cara pengguna berinteraksi dengan
sistem, dengan
mendefinisikan
langkah-langkah
yang dibutuhkan
untuk
mencapai
tujuannya.
Variasi
dalam urutan
langkah-langkah
menjelaskan
berbagai
skenario. Use
case
diagram merupakan
gambaran
luas
dari
semua
use
case dan
relasinya
Use
case diagram
menyediakan gambaran luas mengenai fungsi dari sistem.
|
![]() 42
Gambar 2.6 Use Case Diagram
Pada
diagram
ini,
gambar
stick
figure
merepresentasikan
sebuah aktor yang terkait dengan satu kategori pengguna (atau elemen
interaksi lainnya). Biasanya sistem yang kompleks memiliki lebih dari
satu aktor.
Pada
use case diagram,
use
case
dilambangkan
dengan
lingkaran oval. Aktor terhubung ke use case dengan sebuah garis. Use
case dan aktor dipisahkan oleh sebuah kotak persegi panjang, dimana
use case diletakkan kedalam kotak, sedangkan aktor diletakkan di luar
kotak. Kotak
ini
memvisualisasikan
batasan
dari
sistem.
(Pressman,
2010, p847)
|
![]() 43
c.
Deployment Diagram
UML deployment diagram berfokus pada struktur dari sebuah
sistem software dan berguna untuk
menunjukkan distribusi
fisik dari
sebuah
sistem
software antara
platform hardware
dan
lingkungan
eksekusi.
Gambar 2.7 Deployment Diagram
Pada diagram ini, komponen hardware
digambarkan pada
kotak
berlabel
<<device>>. Jalur komunikasi antara komponen
hardware
digambarkan dengan garis dengan label opsional. Setiap
node
pada
deployment
diagram dapat
dijelaskan
dengan
detail
mengenai perangkatnya. Sebuah artifact biasanya merupakan file yang
berisi
software
yang
berjalan
pada
perangkat. Deployment
diagram
juga dapat menampilkan node lingkungan eksekusi, yang
digambarkan
sebagai
kotak
berisi
label. Node ini
mewakili
sistem,
seperti
sistem operasi
yang
dapat
menjadi
host
dari
software
lain.
(Pressman, 2010, p896)
|
44
d.
Sequence Diagram
Sequence
diagram digunakan untuk menunjukkan komunikasi
yang dinamis
antara
objek
selama
eksekusi tugas.
Sequence diagram
menunjukkan urutan sementara dalam pesan yang dikirim antara objek
untuk menyelesaikan tugas.
Seseorang mungkin menggunakan
sequence
diagram
untuk
menunjukkan
interaksi dalam
satu use
case
atau di salah satu skenario dari suatu sistem software. (Pressman, 2010,
p848).
Pada
sequence
diagram,
setiap
kotak pada
baris
di atas
biasanya berhubungan dengan objek, meskipun ada kemungkinan
untuk
memiliki kotak dengan
model
lainnya seperti
class.
Di bawah
setiap
kotak,
terdapat garis putus-putus
yang
disebut lifeline dari
sebuah
objek.
Sumbu
x
pada
sequence
diagram berkaitan
dengan
waktu, dengan waktu meningkat seiring dengan pergerakan ke bawah.
Sequence
diagram menampilkan
metode
panggilan
dengan
menggunakan
panah
horizontal
dari caller
ke caller, diberi
label
dengan
nama
metode
dan
dapat
juga
termasuk
parameter,
tipe,
dan
tipe pengembaliannya. Ketika sebuah objek mengeksekusi sebuah
metode, white bar, disebut juga activation bar, dapat ditampilkan di
bawah
lifeline
dari
objek
tersebut.
Pada
diagram ini
juga
dapat
menunjukkan pengembalian dari pemanggilan metode dengan panah
putus-putus dan label opsional. (Pressman, 2010, p849).
|
![]() 45
Gambar 2.8 Sequence Diagram
e.
Activity Diagram
Activity diagram adalah diagram untuk menggambarkan aksi-
aksi
dan
keputusan-keputusan
yang
terjadi
sesuai
fungsi-fungsi
yang
telah dilakukan (Pressman, 2010, p161).
Gambar 2.9 Activity Diagram
|
![]() 46
Activity diagram menggambarkan perilaku dinamis dari sistem
atau bagian dari sistem melalui aliran kontrol antara tindakan yang
dilakukan sistem. (Pressman,
2010,
p853).
Komponen-komponen
utama pada activity diagram ialah:
1.
Rounded rectangles, menggambarkan tugas spesifik yang
dilakukan oleh sistem software,
2.
Arrows, menggambarkan aliran kontrol dalam sistem,
3.
Decision diamond, menggambarkan suatu pilihan keputusan atau
tindakan,
4.
Solid black dot, menggambarkan simpul awal
yang
menandakan
titik mulai sebuah aktifitas,
5.
Black dot surrounded by a black circle, menggambarkan simpul
ahir yang menandakan titik akhir sebuah aktifitas,
6.
Fork,
menggambarkan
adanya pemisahan dari
satu
aktivitas
menjadi dua atau lebih aktivitas,
2.2.3
Entity Relationship Diagram (ERD)
Menurut
Deitel
dan
Deitel
(2012,
p1177), Entity
Relationship
Diagram
(ERD)
menggambarkan
tabel-tabel
di
dalam
database dan
hubungan
diantara
tabel-tabel
tersebut.
Primary
key
dalam sebuah
tabel
mengidentifikasi
setiap
baris
dalam suatu
tabel
secara
unik.
Garis
yang
menghubungkan tabel-tabel menggambarkan relasi antar tabel.
|
47
2.2.4
SQLite
SQLite
adalah
suatu paket
software
public-domain yang
menyediakan
sistem manajemen database
relasional (RDBMS).
Lite
pada
SQLite
tidak
merujuk
pada kemampuannya, tetapi merujuk pada
keringanan
dalam pengaturan
kompleksitas,
biaya
administrasi,
dan
penggunaan sumber daya. SQLite didefinisikan oleh fitur berikut:
a.
Serverless
SQLite
tidak
memerlukan
proses server
yang
terpisah
atau
sistem
untuk beroperasi. Library SQLite mengakses penyimpanan file secara
langsung.
b.
Zero Configuration
Tidak
ada server
berarti
tidak
memerlukan
pengaturan.
Membuat
sebuah database SQLite semudah membuka sebuah file.
c.
Cross-Platform
Keseluruhan database berada di dalam sebuah file cross-platform
yang tidak memerlukan administrasi.
d.
Self-Contained
Sebuah library berisi seluruh sistem database yang tergabung
langsung ke aplikasi host.
e.
Small Runtime Footprint
Pembuatan
standar
memerlukan
beberapa
megabyte
memori
dan
kurang dari 1 megabyte kode. Dengna beberapa penyesuaian, ukuran
dan memori yang digunakan library dapat berkurang secara signifikan.
|
![]() 48
f.
Transaksional
Transaksi
dalam SQLite
sepenuhnya
ACID
(atomicity,
consistency,
isolation, durability), yang memungkinkan akses yang aman dari
beberapa proses atau thread.
g.
Memiliki fitur yang lengkap
SQLite
mendukung sebagian besar fitur bahasa query
yang ada pada
standar SQL92 (SQL2).
h.
Sangat handal
Tim pengembang
SQLite
melakukan
pengujian
kode
dan
verifikasi
yang sangat serius pada setiap pengembangannya.
2.2.5
MySQL
Database MySQL telah menjadi database terbuka terpopuler di
dunia karena performa yang tinggi, kehandalan yang tinggi dan
kemudahan
penggunaan. Database
MySQL
juga
merupakan
database
pilihan untuk generasi baru dari aplikasi yang dibangun pada stack LAMP
(Linux, Apache, MySQL, PHP / Perl / Python).
MySQL berjalan pada lebih dari 20 platform termasuk
Linux,
Windows, Mac OS, Solaris, HP-UX, IBM AIX, memberikan fleksibilitas
yang
memberikan
kendali
bagi pengguna.
MySQL
menawarkan
tool
database yang lengkap, dukungan, pelatihan dan layanan konsultasi untuk
|
![]() 49
2.2.6
Hibernate
Hibernate adalah Object Relational Mapping (ORM) yang kuat dan
memiliki
kinerja tinggi
dalam
persistensi
dan layanan query.
Hibernate
memungkinkan pengembangan class
persistence
berikut ungkapan objek
orientasi,
termasuk
asosiasi, inheritance,
polymorphism,
komposisi,
dan
koleksi.
Hibernate
menangani pemetaan dari class Java ke tabel di
database
dan
dari
tipe
data
Java
ke
tipe
data
SQL.
Hibernate memperbolehkan penggunaan ekspresi
query
dalam
ekstensi SQL portable hibernate sendiri (Hibernate Query Language atau
HQL), SQL asli,
atau dengan orientasi objek Criteria dan Example API.
Tidak
seperti
banyak
solusi
persistence lainnya,
Hibernate
tidak
menyembunyikan kekuatan dari SQL. Hal ini menjamin bahwa investasi
dalam teknologi relasional dan pengetahuan berlaku seperti biasa.
Hibernate merupakan suatu proyek yang
menargetkan suatu solusi
lengkap untuk permasalahan dalam mengatasi masalah data persistence
dalam Java. Hibernate merupakan perantara
interaksi antara aplikasi Java
dengan database relasional. Umumnya, hibernate digunakan dalam
aplikasi two-tier dan three-tier client-server, dengan hibernate digunakan
hanya pada server. (Bauer dan King, 2005, p41)
Hibernate
bekerja dengan baik dengan pendaftaran model yang
diimplementasikan dengan POJOs. (Bauer dan King, 2005, p67)
|
![]() 50
a.
Plain Old Java Objects (POJOs)
Plain Old Java Objects, merupakan komponen model untuk
pengembangan antar muka, dan diterapkan kembali ke layer bisnis.
Sebuah POJO menyatakan metode bisnis, yang menentukan perilaku,
dan properti yang mewakili keadaan. Beberapa properti merupakan
asosiasi untuk POJO lainnya.
Gambar 2.10 Contoh Implementasi POJO
Hibernate
tidak mengharuskan kelas persisten menerapkan
serializable.
Namun,
ketika
objek
disimpan
dalam HttpSession
atau
melewati
nilai
menggunakan
RMI,
serialisasi diperlukan. (Hal ini
sangat
mungkin
terjadi
dalam aplikasi
hibernate.)
Berbeda
dengan
spesifikasi
JavaBeans,
yang
tidak memerlukan
konstruktor
tertentu,
hibernate memerlukan konstruktor tanpa argumen untuk setiap class
persistence. Hibernate
menginisiasikan
kelas
terus-menerus
menggunakan Constructor.newInstance(), sebuah fitur refleksi Java
API.
|
![]() 51
Properti-properti POJO mengimplementasikan atribut entitas
bisnis, misalnya, username pengguna. Properti-properti biasanya
diimplementasikan sebagai variabel, bersama dengan metode accessor
property: sebuah metode untuk mengambil nilai dari variabel dan
metode
untuk
mengubah
nilainya. Metode
ini
dikenal sebagai
getter
dan setter. (Bauer dan King, 2005, p67)
b.
Data Access Object (DAO)
Pola
desain Data
Access
Object
berasal
dari
cetak
biru
Sun
Java.
DAO
bahkan
digunakan
dalam aplikasi
demo
Java
Petstore
terkenal.
Sebuah
DAO
mendefinisikan
sebuah
antarmuka
untuk
operasi
persistence
(Create,
Read,
Update,
Delete atau
CRUD
dan
metode
finder)
yang
berkaitan
dengan
entitas persistence tertentu;
DAO menganjurkan pengelompokan kode yang berhubungan dengan
entitas itu.
Gambar 2.11 Contoh Sederhana DAO
|
52
2.2.7
Apache eXtensible Interaction System (AXIS)
Menurut Hoffer, Prescott, dan Topi (2009, p182), AXIS dirancang
untuk dapat digunakan dalam berbagai
lingkungan oleh pengguna dengan
berbagai level kemampuan dan kepentingan. Axis adalah semua komponen
pengolahan pesan yang
bekerja bersama untuk menangani (menerima,
memproses, dan memghasilkan) pesan SOAP.
2.2.8
Komponen Web Services
Berikut
ini
merupakan
komponen-komponen
dalam sebuah
web
service :
a.
Simple Object Access Protocol (SOAP)
Menurut
Hoffer, Prescott, dan
Topi (2009, p488), SOAP
adalah protokol komunikasi berbasis XML yang digunakan untuk
mengirim pesan antar aplikasi melalui
internet. SOAP adalah sebuah
bahasa yang platform independen, sehingga memungkinkan
komunikasi antar aplikasi yang berbeda.
Menurut Jendrock et al (2010, p16), request klien dan response
dari
web
service ditransmisikan sebagai
pesan Simple
Object Access
Protocol
(SOAP) melalui HTTP untuk memungkinkan pertukaran
sepenuhnya antar operasi antara klien dan web service, semua berjalan
pada platform yang berbeda dan pada berbagai lokasi di internet.
HTTP
dikenal
sebagai
standar request-response
untuk
mengirimkan
pesan
pada
internet,
dan
SOAP
merupakan protocol
berbasis
XML
|
53
yang mengikuti model request dan response HTTP. Bagian dari pesan
SOAP yang diangkut melakukan hal berikut:
1)
Mendefinisikan
sebuah
envelope
berbasis
XML
untuk
menggambarkan apa yang ada di pesan tersebut dan menjelaskan
bagaimana untuk memproses pesan tersebut.
2)
Meliputi aturan pengkodean berbasis XML untuk
mengungkapkan instansi aplikasi -
mendefinisikan tipe data di
dalam pesan.
3)
Mendefinisikan
sebuah
konvensi
berbasis
XML
untuk
merepresentasikan
request
untuk layanan remote dan response
yang dihasilkan.
b.
Web Services Description Language (WSDL)
Web Services Description Language (WSDL) merupakan
format XML standar untuk menggambarkan layanan jaringan.
Deskripsi
mencakup
nama
layanan,
lokasi layanan, dan cara untuk
berkomunikasi dengan layanan. WSDL dapat dipublikasikan di
web.
(Jendrock et al, 2010, p16)
Menurut Hoffer, Prescott, dan Topi (2009, p488), Web
Services Description Language
adalah sebuah bahasa berbasis XML
yang digunakan untuk mendeskripsikan web service dan
menspesifikasikan sebuah antarmuka umum
untuk layanan tersebut
|
54
c.
Universal Description, Discovery, and Integration (UDDI)
Universal Description, Discovery, and Integration memiliki
peran sebagai layanan registri privat, termasuk konvensi penyimpanan
deskripsi layanan WSDL dalam suatu registri UDDI. Kegunaan
UDDI
adalah
untuk
memfasilitasi
service
discovery
dalam waktu
mendesain
dan
secara
dinamis
pada
saat runtime.
Proyek
UDDI
berjalan pada registri bisnis online publik. (Graham et al, 2001, p388)
UDDI sebenarnya lebih dari sekedar registri bisnis dan layanan,
UDDI
juga
menjelaskan
suatu
set struktur
data dan spesifikasi
API.
Web service provider yang akan mempublikasikan bisnis dan
deskripsi layanannya ke suatu registri, dan requestor
layanan, saat
desain ataupun runtime, akan melakukan query registri untuk
deskripsi layanan.
UDDI menyediakan kemampuan publikasi dan pencarian yang
sangat canggih. UDDI mencakup informasi lebih dari sekedar
deskripsi layanan, termasuk metadata bisnis dan taksonomi bisnis dan
layanan.
(Graham et al, 2001, p390)
2.2.9
JavaServer Pages (JSP)
Teknologi JavaServer Pages
(JSP)
memungkinkan
penempatkan
potongan kode servlet langsung ke dokumen berbasis teks. Halaman JSP
adalah dokumen berbasis teks yang terdiri dari dua jenis teks:
|
55
1.
data statis,
yang dapat dinyatakan dalam
format berbasis teks seperti
HTML atau XML.
2.
elemen JSP, yang menentukan bagaimana halaman mengkontruksi
konten dinamis.
(Jendrock et al, 2010, p27)
2.2.10 JavaServer Pages Standard Tag Library (JSTL)
JavaServer Pages Standard Tag Library (JSTL) mengenkapsulasi
fungsi
utama
yang
umum
untuk
berbagai aplikasi JSP. Daripada
menggunakan campuran tag-tag
dari
beberapa vendor pada aplikasi
JSP,
digunakan sebuah set tag yang standar. Standarisasi ini memungkinkan
untuk menyebarkan aplikasi pada setiap kontainer JSP yang mendukung
JSTL dan membuat aplikasi tersebut seakan mengimplementasikan tag-tag
yang dioptimalkan.
JSTL memiliki tag iterator dan kondisional untuk penanganan
kontrol aliran, tag untuk memanipulasi
dokumen
XML,
tag
internasionalisasi, tag untuk mengakses database
menggunakan SQL, dan
fungsi-fungsi lain yang biasa digunakan.
(Jendrock et al, 2010, p27)
2.2.11 Servlet
Servlet merupakan class bahasa pemrograman Java yang digunakan
untuk
memperluas kemampuan dari server yang meng-host aplikasi
yang
|
56
diakses dengan menggunakan model pemrograman request-response.
Meskipun servlet dapat merespon semua jenis permintaan, servlet biasanya
digunakan
untuk
memperpanjang
aplikasi
yang
di-host oleh web server.
Teknologi
Java
Servlet
HTTP
mendefinisikan class
khusus servlet
untuk
aplikasi tersebut. (Jendrock et al, 2010, p180)
2.2.12 E-Commerce
Menurut
Williams
dan Sawyer
(2007,
pp422-pp425), e-commerce
(electronic commerce) adalah pembelian
dan
penjualan
produk
dan
jasa
melalui
jaringan
komputer. E-commerce
membentuk
kembali
seluruh
industri dan membenahi gagasan tentang
apa pengertian dari perusahaan.
Ada tiga macam sistem e-commerce yang utama, yaitu:
a. Business-to-Business (B2B)
Dalam sistem B2B, sebuah bisnis menjual ke bisnis lain
dengna menggunakan internet atau jaringan khusus, tujuannya utnuk
memotong biaya transaksi dan meningkatkan efisiensi. Selain menjual
produk, bisa juga menjual iklan, pelatihan pegawai, riset pasar,
dukungan teknis, layanan perbankan, dan layanan dukungan
bisnis
lainnya.
b. Business-to-Consumer (B2C)
Dalam sistem
B2C, perusahaan
menjual barang atau jasa
kepada
konsumen.
Sistem e-commerce
ini
menggeser
perantara dan
bahkan toko fisik.
|
57
c.
Consumer-to-Consumer (C2C)
Dalam sistem C2C, konsumen menjual barang atau jasa secara
langsung ke konsumen lain, kerap kali dengan bantuan pihak ketiga,
misalya eBay, sebuah perusahaan lelang online.
|