Microsoft Word - BAB 2

Werbung
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 O’Brien (2005, p29), sistem merupakan sekumpulan
elemen yang saling berhubungan atau berinteraksi hingga membentuk satu
kesatuan.
9
10
2.1.3 Pengertian Informasif
Menurut O’Brien (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 O’Brien (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)
increment #n
Deployment (delivery, feedback)
delivery of n th
increment
increment #2
increment #1
delivery of
2nd increment
delivery of
1st 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 classclass
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 programprogram 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
digunakan untuk
Language
mengontrol
merupakan
pengeksekusian
bahasa
yang
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. ( http://developer.android.com/guide /basics/ what-isandroid.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.
( http://www.android.com/about/ )
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 PacketVideo’s 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.
(http://developer.android.com/guide/basics/what-is-android.html )
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 aksiaksi 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
menyediakan sistem manajemen database relasional (RDBMS).
yang
“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
mempermudah penggunanya. (http://www.mysql.com/why-mysql/ )
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.
( http://www.hibernate.org/about )
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.
( http://www.jboss.com/products/hibernate / )
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.
Herunterladen