BAB 2 LANDASAN TEORI
2.1 Teori Umum 2.1.1 Internet Internet adalah sistem global dari seluruh jaringan komputer yang saling terhubung menggunakan standar Internet Protocol Suite (TCP/IP). Menurut William/Sawyer (2007, p60), internet adalah ratusan ribu jaringan kecil yang menghubungkan organisasi pendidikan, komersial, nirlaba, militer, dan bahkan perorangan. Jaringan-jaringan interkoneksi itu saling bertukar informasi dengan menggunakan standar pertukaran informasi yang berlaku.
2.1.2 World Wide Web World wide web yang biasa disingkat menjadi www atau biasa dikenal dengan web adalah sistem dokumen berbasis hypermedia yang diakses melalui internet. Dengan web browser, kita dapat melihat halaman web yang mungkin berisi tentang teks, gambar, video, dan multimedia lainnya, serta melakukan navigasi pengiriman dari satu web ke web yang lainnya (hyperlink). Menurut Connolly (2005, p998), web terdiri dari jaringan komputer yang dapat bertindak dalam dua peran, yaitu sebagai server yang bertindak memberikan informasi, dan client yang bertindak sebagai pencari informasi. Contoh web server adalah Apache HTTP Server, Microsoft Internet 9
10 Information Server (IIS), dan Server Netscape Enterprise, sedangkan contoh web browser adalah Microsoft Internet Explorer, Netscape Navigator, dan Mozilla. Banyak informasi di web disimpan dalam dokumen menggunakan bahasa yang disebut HTML (HyperText Markup Language) yang merupakan bahasa pemrograman yang digunakan untuk kode hypermedia, dan browser harus memahami dan menginterpretasikan HTML untuk menampilkan dokumen-dokumen. Protokol yang mengatur pertukaran informasi antara web server dan browser disebut HTTP (HyperText Transfer Protocol). Alamat yang digunakan untuk mengakses web resources seperti dokumen dan program dari hypermedia didefinisikan sebagai URL (Uniform Resource Locator). Hypermedia itu sendiri merupakan bentuk dasar dari web yang berfungsi untuk menyimpan informasi di dalam web.
2.1.3 Interaksi Manusia dan Komputer (IMK) Menurut Shneiderman (2010, p88-p89), ada delapan aturan emas yang digunakan dalam merancang antarmuka, yaitu : 1. Mencoba untuk konsisten Konsistensi merupakan aturan yang sering dilanggar karena memiliki banyak bentuk konsistensi, antara lain urutan aksi, istilah yang digunakan, warna, layout, kapitalisasi, huruf dan lain-lain. Dengan tampilan yang konsisten akan membantu user untuk merasa tetap berada dalam aplikasi yang sama walaupun telah berpindah halaman.
11 2. Memenuhi kebutuhan universal Memenuhi kebutuhan universal maksudnya adalah memahami kebutuhan user yang bermacam-macam dan membuat desain yang fleksibel yang mendukung perubahan dalam konten. Perbedaan Novice – Expert, jarak umur, kecacatan fisik, serta beragam teknologi masing-masing merupakan syarat yang harus menjadi pertimbangan dalam desain. 3. Memberikan umpan balik yang informatif Umpan balik dari sistem harus ada pada setiap aksi user. Untuk aksi kecil yang sering dilakukan, tanggapan dapat dibuat dengan sederhana, sedangkan untuk aksi besar dan jarang dilakukan, respon hendaknya dibuat lebih tegas dan jelas agar user dapat mengerti dengan jelas. 4. Dialog untuk keadaan akhir Urutan aksi hendaknya disusun menjadi kategori awal, tengah, dan akhir. Untuk memberikan kepuasan pencapaian, kelegaan, dan sebagai tanda untuk mempersiapkan diri memasuki kategori aksi selanjutnya, dibuatlah umpan balik yang informatif pada penyelesaian salah satu kategori aksi. 5. Pencegahan kesalahan Sedapat mungkin sistem didesain agar user tidak dapat membuat kesalahan yang serius. Contohnya tidak memperbolehkan karakter alfabet pada kotak entry nomor. Interface harus mendeteksi kesalahan dan memberikan instruksi yang mudah dimengerti,
membangun, dan jelas untuk
memperbaikinya, jika user membuat kesalahan.
12 6. Pembalikan aksi yang sederhana Dalam suatu aplikasi, pada setiap aksi harus terdapat pembalikan aksi. Fitur ini dapat memperkecil kesalahan, karena user tahu bahwa aksi bisa dibatalkan. Pembalikan bisa saja atas satu aksi seperti saat memasukkan data, atau serangkaian aksi seperti memasukkan nama dan alamat di kotak pengisian. 7. Mendukung pusat kendali internal User yang sudah terbiasa dengan suatu aplikasi, biasanya ingin memiliki kendali atas antarmuka dan tanggapan pada aksinya. Aksi antarmuka yang tidak seperti biasanya, rangkaian pemasukan data yang membosankan, tidak bisa atau sulit mendapatkan informasi yang diperlukan, dan tidak bisa menghasilkan aksi yang diinginkan dapat menimbulkan keresahan dan ketidakpuasan pada user. 8. Mengurangi beban ingatan jangka pendek Dikarenakan oleh keterbatasan manusia dalam memproses informasi dalam jangka pendek, dibutuhkan tampilan yang ringan, penggabungan halamanhalaman, pengurangan frekuensi window-motion, pemberian waktu latihan yang cukup untuk kode-kode, hafalan, dan rangkaian aksi. Oleh karena itu, dalam setiap perancangan aplikasi dibutuhkan alur aplikasi yang mudah diingat oleh user.
13 2.1.4 Basis Data Basis data adalah kumpulan data yang saling berelasi. Data sendiri merupakan fakta mengenai objek, orang, tempat, benda, dan lain-lain. Data dinyatakan dengan nilai (angka, deretan karakter, atau simbol). Menurut Connolly (2005, p15), basis data adalah sekumpulan data yang saling berhubungan satu dengan yang lain secara logikal dan suatu deskripsi data yang dirancang untuk memenuhi kebutuhan informasi suatu organisasi. Menurut Connolly (2005, p16), Database Management System (DBMS) adalah suatu sistem piranti lunak yang memungkinkan user untuk mendefinisikan, membuat, merawat, dan mengontrol akses ke dalam basis data. Fasilitas yang disediakan oleh DBMS, yaitu : 1. Data Definition Language (DDL) Menurut Connolly (2005, p40), DDL adalah bahasa pemrograman yang mengijinkan
Database
Administrator
(DBA)
atau
user
untuk
menggambarkan nama dari entitas, atribut, serta hubungan-hubungan yang diperlukan pada aplikasi, bersamaan dengan asosiasi integritas dan keamanan data. 2. Data Manipulation Language (DML) Menurut Connolly (2005, p40), DML adalah bahasa pemrograman yang menyediakan fasilitas untuk menyokong operasi manipulasi basis data yang disimpan dalam basis data. Operasi manipulasi data biasanya meliputi hal-hal berikut : a. Penginputan data baru kedalam basis data b. Modifikasi data baru yang disimpan dalam basis data
14 c. Pengambilan data simpanan dari basis data d. Penghapusan data yang ada di dalam basis data DML
memungkinkan
pemakai
memasukkan,
memperbaharui,
menghapus, mengirim dan mengambil data dari basis data. Contohnya insert, update, delete, dan select. Komponen DBMS dibagi menjadi lima jenis menurut Connolly (2005, p18-p21), yaitu : 1. Hardware Dalam menjalankan DBMS dan aplikasi, hardware merupakan komponen yang paling penting yang berupa komputer, notebook, mainframe, atau komputer jaringan yang berupa server. 2. Software Dalam menjalankan DBMS, software merupakan program penggerak atau aplikasi yang akan dijalankan. 3. Data Merupakan komponen terpenting dalam DBMS karena data merupakan penghubung komputer dengan manusia. 4. Procedures Merupakan instruksi dan aturan yang menentukan perancangan dan penggunaan basis data dimana pengguna sistem dan pengelolaan basis data memerlukan dokumentasi untuk menjalankan dan menggunakan sistem. 5. People Merupakan komponen terakhir yang juga berperan penting dalam merancang sampai dengan menggunakan DBMS tersebut.
15 2.1.5 Perancangan Sistem Basis Data Menurut Connolly (2005, p439), perancangan suatu basis data terdiri dari tiga fase utama, yaitu perancangan basis data konseptual (Conceptual Database Design), perancangan basis data logikal (Logical Database Design), dan perancangan basis data fisikal (Physical Database Design). 2.1.5.1
Perancangan Basis Data Konseptual Menurut Connolly (2005, p439), perancangan basis data konseptual adalah proses membangun sebuah model informasi yang digunakan di perusahaan, yang terlepas dari semua pertimbanganpertimbangan fisik. Tujuan dari perancangan basis data konseptual adalah mengidentifikasi entitas penting beserta atribut-atributnya dan hubungan antara entitas yang satu dengan entitas yang lain menurut Connolly (2005, p442). Langkah 1 : Perancangan Sistem Basis Data Konseptual Perancangan basis data konseptual secara keseluruhan terbebas dari penerapannya, secara Database Management System (DBMS) software, aplikasi program, programming language, hardware platform atau pertimbangan fisik lainnya. Tahapan-tahapan yang dilakukan pada perancangan konseptual : 1.1 Identifikasi tipe entitas Mendefinisikan objek-objek utama user yang merupakan tipetipe entitas untuk model tersebut. Salah satu metode untuk menentukan identitas adalah dengan memeriksa spesifikasi
16 kebutuhan user dengan mengidentifikasikan kata benda. Contoh tipe entitas adalah user, news, dan reservation. 1.2 Identifikasi tipe relationship Mengidentifikasikan relasi-relasi penting yang ada diantara tipe entitas
yang
sudah
mengidentifikasikan
relasi,
diidentifikasikan. langkah
menentukan multiplicity setiap
relasi.
Setelah
selanjutnya
adalah
Batasan multiply
digunakan untuk memeriksa dan memelihara kualitas data. 1.3 Menentukan dan menghubungkan atribut dengan entitas atau tipe relationship Menentukan atribut-atribut yang terdapat dalam suatu entitas. Biasanya berupa kata benda atau frasa kata benda dari spesifikasi kebutuhan user. Ada 3 jenis atribut, yaitu : simple atau composite attribute, single atau multivalue attribute, dan derived attribute. 1.4 Menentukan domain atribut Domain adalah kumpulan nilai-nilai yang diizinkan untuk satu atau
lebih
atribut.
Sebuah
model
data
yang
baik
menspesifikasikan domain untuk setiap atribut, yaitu kumpulan nilai-nilai yang diizinkan untuk atribut serta ukuran dan format atribut. Tahap ini bertujuan untuk menentukan batasan atribut di model data konseptual lokal.
17 1.5 Menentukan atribut candidate key dan primary key Candidate key adalah kunci yang unik atau tidak mungkin kembar atau berbeda dengan yang lain, dapat dipakai untuk mengidentifikasi satu baris dalam tipe entitas, sedangkan primary key adalah candidate key yang dipilih sebagai kunci primer untuk mengidentifikasikan setiap entitas. 1.6 Mempertimbangkan penggunaan enchanced modeling concepts Mempertimbangkan perlu tidaknya menggunakan konsep model specialization atau generalization, aggregation, dan composition. Jika memilih pendekatan specialization, usahakan untuk
memperhatikan
perbedaan
antara
entitas
dengan
mendefinisikan satu atau lebih subclass dari sebuah entitas superclass.
Jika
memilih
menggunakan
pendekatan
generalization, usahakan untuk mengidentifikasikan fitur-fitur umum antar entitas untuk mendefinisikan sebuah entitas superclass generalisasi. Pendekatan aggregation digunakan untuk mempresentasikan hubungan “mempunyai sesuatu” atau “bagian dari” antara tipe-tipe entitas, dimana yang satu mempresentasikan “keseluruhan” dan yang lain sebagai “bagiannya”.
Pendekatan
composition
digunakan
untuk
mempresentasikan sebuah asosiasi antara tipe-tipe entitas dimana terdapat kepemilikan yang kuat dan keterhubungan antara “keseluruhan” dan “bagiannya”.
18 1.7 Memeriksa model yang redudansi Tahap ini bertujuan untuk memeriksa, apakah masih ada redudansi pada model. Ada dua aktivitas yang harus dilakukan, yaitu : a.
Memeriksa relasi one to one (1:1) Sering
kali
kita
menemukan
dua
entitas
yang
merepresentasikan objek yang sama pada perusahaan. Untuk
kejadian
ini
kedua
entitas
tersebut
harus
digabungkan. Jika primary key berbeda, pilih salah satu primary key dan biarkan yang lain menjadi alternate key. b.
Menghilangkan relasi yang redudansi Data model yang baik sangat diharapkan untuk tidak memiliki relasi yang redudan. Suatu relasi dikatakan redudansi jika terdapat informasi yang sama yang diperbolehkan oleh relasi lain.
1.8 Validasi model konseptual dengan transaksi user Tahap
ini
bertujuan untuk
memastikan
bahwa
model
konseptual mendukung kebutuhan transaksi yang diperlukan bagi view. Ada dua pendekatan yang dapat dilakukan pada tahap ini : a.
Mendeskripsikan transaksi Memeriksa apakah semua informasi (entitas, relasi, dan atributnya) yang dibutuhkan oleh setiap transaksi telah
19 disediakan oleh model,
dengan mendokumentasikan
sebuah deskripsi dari kebutuhan transaksi. b.
Menggunakan jalur transaksi Melakukan validasi model data terhadap transaksi yang dibutuhkan
yang
melibatkan
diagram
yang
merepresentasikan jalur setiap transaksi dalam diagram ER. 1.9 Melihat kembali model data konseptual dengan user Pada langkah ini, user akan meninjau ulang data konseptual lokal. Jika terjadi anomali pada model data, maka harus dilakukan perubahan yang mungkin memerlukan pengulangan langkah-langkah sebelumnya. Proses ini akan terus diulang sampai model data benar-benar menjadi representasi aktual dari perusahaan.
2.1.5.2
Perancangan Basis Data Logikal Menurut Connolly (2005, p462), tujuan perancangan basis data logikal adalah untuk menerjemahkan konseptual data model ke logikal data model dari basis data yang meliputi perancangan relasirelasi untuk kemudian melakukan validasi apakah sudah terstruktur dengan benar dan mampu mendukung keperluan transaksi. Menurut Connolly (2005, p490), perancangan basis data logikal adalah suatu proses membangun sebuah model informasi
20 yang digunakan di perusahaan berdasarkan sebuah model data spesifik, tetapi terlepas dari DBMS dan pertimbangan fisik lain. Tahapan yang dilakukan dalam perancangan basis data logikal adalah sebagai berikut : Langkah 2 : Membangun dan Memvalidasi Model Data Logikal untuk Setiap View Tahap ini bertujuan untuk membangun model data logikal dari model data konseptual, yang telah didapatkan pada tahap sebelumnya, yang merepresentasikan view tertentu untuk menjamin agar strukturnya benar dan mendukung transaksi perusahaan. 2.1 Menurunkan relasi untuk model data logikal Tahapan ini bertujuan untuk membentuk relasi dari model data logikal untuk merepresentasikan relasi antar entitas dengan atribut yang telah diidentifikasikan. Cara-cara yang dapat dilakukan untuk mendapatkan relasi dari data model yang ada adalah sebagai berikut : tipe entitas kuat, tipe entitas lemah, relasi binary one to one (1:1), relasi binary one to many (1:*), relasi rekursif, tipe relasi superclass/subclass, relasi binary many-to-many (*:*), tipe relasi kompleks, atribut multi-valued. 2.2 Validasi relasi-relasi menggunakan normalisasi Normalisasi digunakan untuk meningkatkan model yang telah terbentuk agar duplikasi data yang tidak diperlukan dapat dihindari. Proses normalisasi terdiri dari UNF, 1NF, 2NF, 3NF.
21 2.3 Validasi relasi-relasi dengan transaksi user Memeriksa relasi yang telah mendukung transaksi bagi view, untuk sebelumnya apakah mendukung transaksi bagi view, untuk memastikan tidak ada kesalahan yang dibuat selama membuat relasi-relasi. Validasi transaksi seperti ini sudah dilakukan pada tahap 1.8, namun dilakukan kembali untuk memeriksa relasi-relasi yang diciptakan pada rancangan logikal. 2.4 Memeriksa Integrity Constraint Menurut Connolly (2005, p474), integrity constraint adalah batasan-batasan yang harus ditentukan untuk melindungi basis data agar tetap konsisten. Ada 5 tipe integrity constraint, yaitu : a.
Required data (Data atau nilai yang valid)
b.
Batasan domain atribut
c.
Multiplicity
d.
Integritas referensial, adalah jika foreign key berisi sebuah nilai yang nilainya harus menunjukan baris yang ada pada relasi induknya.
e.
General constraint
2.5 Melihat kembali model data logikal dengan user Tahapan ini memastikan bahwa model data logikal lokal yang terbentuk merupakan representasi dari user view. 2.6 Menggabungkan model data logikal ke dalam model global (optional step)
22 Tahapan ini bertujuan untuk menggabungkan model data logikal ke dalam single global logical data model yang menampilkan semua user views dari basis data. Langkah ini memiliki tiga tahapan, yaitu : a.
Menggabungkan model data logikal lokal ke dalam model global
b.
Validasi model data logikal global
c.
Memeriksa kembali model data logikal global dengan user
2.7 Memeriksa perkembangan di masa depan Tujuan dari langkah ini adalah untuk menentukan apakah ada perubahan
yang
memperkirakan
berarti apakah
di
masa
model
depan data
dan
untuk
logikal
bisa
mengakomodasi perubahan tersebut.
2.1.5.3
Perancangan Basis Data Fisikal Menurut Connolly (2005, p496), perancangan basis data fisikal
adalah
proses
untuk
menghasilkan
penjelasan
dari
pengimplementasian suatu basis data pada media penyimpanan kedua. Kemudian juga menjelaskan relasi dasar, pengaturan file, dan indeks yang digunakan untuk mencapai akses data yang efisien, integritas, constraint, serta ukuran keamanan. Langkah 3 : Menerjemahkan Model Data Logikal Global untuk Target DBMS
23 Bertujuan untuk menghasilkan skema basis data relational dari model data logikal global yang dapat diimplementasikan pada DBMS pilihan. Bagian pertama dari proses ini memerlukan perbandingan informasi yang dikumpulkan selama perancangan sistem basis data logikal, sedangkan bagian kedua dari proses ini menggunakan informasi tersebut untuk menghasilkan desain relasi dasar. Proses ini memerlukan pengetahuan yang mendalam mengenai fungsionalitas yang ditawarkan oleh DBMS pilihan. 3.1 Merancang relasi dasar Menentukan bagaimana mempresentasikan beberapa derived data dalam model data logikal global ke dalam DBMS. 3.2 Merancang representasi dari derived data Menentukan bagaimana mempresentasikan beberapa derived data dalam model data logikal global ke dalam DBMS. 3.3 Merancang general constraint Perubahan terhadap data dapat dibatasi oleh general constraint yang mengatur transaksi dalam “dunia nyata”. Perancangan batasan ini tergantung pada pemilihan DBMS yang akan digunakan. Beberapa DBMS menyediakan fasilitas ini, namun ada juga yang tidak menyediakannya, sehingga untuk menentukan batasan harus dilakukan pada program aplikasi. Langkah 4 : Merancang Representasi Fisikal Bertujuan untuk menentukan optimal organisasi file untuk menyimpan relasi dasar dan indeks yang dibutuhkan untuk
24 mencapai hasil yang baik, yaitu dengan cara dimana relasi dan baris atau basis data akan dipegang di tempat penyimpanan akhir sekunder. 4.1 Menganalisis transaksi Analisis transaksi berfungsi untuk memahami fungsi dari transaksi yang akan dijalankan pada basis data dan untuk menganalisis transaksi yang penting. 4.2 Memilih organisasi file yang akan digunakan Bertujuan untuk menentukan organisasi file yang efisien untuk setiap relasi dasar. Ada lima tipe organisasi file, antara lain : heap, hash, indexed sequential access mode (ISAM), b-tree, dan cluster. 4.3 Memilih indeks yang digunakan Memutuskan apakah dengan menggunakan indeks akan meningkatkan performa dari sistem. 4.4 Memperkirakan disk space yang diperlukan Memperkirakan disk storage yang diperlukan menggunakan sistem basis data. Disk storage yang dimaksud adalah secondary storage. Langkah 5 : Mendesain User View Mendesain user view yang telah diidentifikasi. Langkah 6 : Mendesain Pengukuran Keamanan (Security) Membatasi pengaksesan basis data oleh user yang tidak berhak dan menspesifikasikan basis data yang dapat diakses oleh user.
25 Langkah
7
:
Mempertimbangkan
Petunjuk
Controlled
Redudancy Melakukan normalisasi agar dapat meningkatkan performa dari sistem dan menghilangkan redudansi. Langkah 8 : Memonitor dan Memperbaiki Sistem Operasional Memonitor dan meningkatkan performa dari sistem dengan memperbaiki desain yang tidak sesuai atau perubahan kebutuhan.
2.1.6 Unified Modeling Language (UML) Menurut Whitten et al.(2007, p371), UML adalah pemodelan yang digunakan untuk menggambarkan sebuah sistem piranti lunak yang terkait dengan objek. UML terdiri dari beberapa tipe diagram antara lain : 1. Use Case Diagram Menurut Whitten et al. (2007, p246), use case diagram adalah diagram yang menggambarkan interaksi antara sistem, eksternal sistem, dan pengguna. Diagram ini menyediakan informasi mengenai siapa saja yang akan
menggunakan
sistem
tersebut
menggunakannya.
dan
bagaimana
cara
untuk
26
Gambar 2.1 Contoh Use Case Diagram a.
Use cases Menurut
Whitten
et
al.
(2007,
p246),
use-case
modeling
mengidentifikasi serta mendeskripsikan fungsi dari sebuah sistem dengan menggunakan peralatan yang dinamakan use cases. Use cases juga mendeskripsikan fungsi sistem tersebut dilihat dari sisi perspektif pengguna luar yang dimengerti oleh mereka.
Gambar 2.2 Use Cases b.
Actors Menurut Whitten et al. (2007, p247), actors merupakan sesuatu yang berinteraksi dengan sistem untuk saling bertukar informasi. Actors tidak harus berupa manusia, tetapi dapat berupa suatu organisasi atau sistem informasi.
27
Gambar 2.3 Actors c.
Relationships Menurut Whitten et al. (2007, p248), relationship digambarkan sebagai garis antara dua simbol pada use case diagram. Arti dari setiap relationship berbeda tergantung dari bagaimana garis tersebut ditarik dan jenis simbol yang terhubung. Berikut ini adalah jenis relationship yang ditemukan pada use case diagram, yaitu : i. Associations Hubungan antara actor dan use case terjadi apabila use case tersebut mendeskripsikan interaksi antara kedua belah pihak. Hubungan ini ditujukkan sebagai sebuah association. Association ditandai dengan tebal antara actor dan use case, association yang mempunyai mata panah di ujungnya menandakan bahwa use case telah diimitasi oleh actor di tabel lainnya. Apabila association tidak memiliki mata panah di ujungnya menandakan interaksi antara use case dan external server. Association juga dapat diartikan sebagai lebih dari satu arah (bidirectional) atau satu arah (unidirectional). ii. Extends Hubungan yang terjadi antara extention use case dan use case yang berkembang dinamakan extends relationship. Sebuah use case
28 diperbolehkan untuk mempunyai banyak extends relationship, tetapi extension use case hanya dapat dilakukan apabila bersama dengan use case yang sedang berkembang. Extends relationship ditunjukkan dengan garis yang mempunyai mata panah diujungnya (garis tebal atau garis putus-putus). Bermula dari extension use case dan menunjuk kepada use case yang berkembang. iii. Uses (or Includes) Sebuah use case abstrak dapat digunakan oleh use case lain yang membutuhkan fungsionalitas dari use case abstrak tersebut. Hubungan antara use case abstrak dan use case tersebut dapat diartikan sebagai uses relationship. Uses relationship dapat ditunjukan dengan garis yang mempunyai mata panah di ujungnya (garis tebal atau garis putus-putus). Bermula dari original use case dan menunjuk ke use case yang digunakan. Setiap garis mempunyai label dibawahnya. iv. Depends on Dengan menggunakan bank sebagai contoh, use case pengambilan atau penarikan uang tidak dapat dilakukan sampai use case deposit telah selesai dilakukan terlebih dahulu, serta use case deposit juga tidak dapat dilakukan sebelum use case konfirmasi account bank dipastikan. Depends-on relationship ditunjukkan dengan garis yang mempunyai mata panah di ujungnya (garis tebal atau garis putusputus). Bermula dari satu use case dan menunjuk ke use case yang lain. Depends-on relationship mempunyai label dibawahnya.
29 v. Inheritance Ketika dua atau lebih actor mempunyai peraturan yang sama dalam kata lain dapat menginisiasi use case yang sama ada baiknya untuk memperkirakan kemungkinan dari kesamaan peraturan ini dan menunjuknya sebagai abstract actor yang baru dengan tujuan untuk mengurangi redundansi komunikasi antar sistem. 2. Class Diagram Menurut Whitten et al. (2007, p382), class diagram menggambarkan struktur objek yang terdapat pada sebuah sistem. Diagram ini menunjukkan objek-objek yang terdapat pada suatu sistem serta relasi antar objek-objek tersebut. Class diagram mempunyai 2 jenis dalam penggunaannya, yaitu : a.
Generalisasi Menurut Whitten et al. (2007, p373), generalisasi adalah sebuah teknik dimana
atribut
merupakan
beberapa
jenis
object
class
dan
dikelompokan menjadi class mereka sendiri dan biasa disebut dengan supertype. b.
Inheritance Menurut Whitten et al. (2007, p373), inheritance adalah konsep dimana metode dan atribut yang dapat dianggap sebagai object class dapat diwariskan (inherited) atau digunakan oleh object class lainnya.
30
Gambar 2.4 Contoh Class Diagram 3. Sequence Diagram Menurut Whitten et al. (2007, p394), sequence diagram merupakan sebuah gambaran yang menjelaskan mengenai interaksi antara actor dengan sistem yang digunakan dalam skenario use case yang sedang berlangsung. Diagram ini menggambarkan bagaimana pesan dikirim dan diterima antar objek dan urutannya.
Gambar 2.5 Contoh Sequence Diagram
31 4. Activity Diagram Menurut Whitten et al (2007, p382), activity diagram menggambarkan aliran berurutan dari sebuah proses use case atau business process. Selain itu, dapat juga digunakan untuk logika model dengan sistem yaitu., menggambarkan tindakan (action) yang akan dijalankan ketika suatu proses sedang berjalan dan beserta hasil dari proses yang dijalankan tersebut.
Gambar 2.6 Contoh Activity Diagram Berikut ini merupakan komponen-komponen dalam activity diagram menurut Whitten et al. (2007, p391), yaitu : a.
Initial node Bentuk lingkaran berisi penuh melambangkan awal dari suatu proses.
b.
Actions Bentuk persegi panjang yang mempunyai ujung lingkaran yang melambangkan tahap-tahap per individu. Sequence dari actions menunjukan total dari aktivitas yang dilihat dari diagram.
32 c.
Flow Panah pada diagram mengindikasikan kemajuan (progress) dari sebuah actions. Kebanyakan flow tidak membutuhkan kata untuk mengidentifikasikan mereka kecuali kata tersebut keluar dari decision.
d.
Decision Bentuk wajik dengan satu flow yang masuk beserta dua atau lebih flow yang keluar. Flow yang keluar ditandai untuk mengindikasikan beberapa kondisi.
e.
Merge Bentuk wajik dengan dua atau lebih flow yang masuk beserta satu flow yang keluar. Kombinasi flow ini sebelumnya dipisahkan oleh decision. Proses akan berlanjut dengan adanya satu flow yang menuju ke merge.
f.
Fork Satu bar hitam dengan satu flow yang masuk beserta dua atau lebih flow yang keluar. Actions dengan flow pararel di bawah fork dapat terjadi dengan adanya urutan secara bersamaan.
g.
Join Satu bar hitam dengan dua atau lebih flow yang masuk beserta satu flow yang keluar, tercatat pada akhir dari proses secara bersamaan. Semua actions yang menuju join harus lengkap sebelum proses dapat berlanjut.
h.
Activity final Bentuk lingkaran berisi penuh yang berada di dalam lingkaran kosong, melambangkan akhir dari sebuah proses.
33 i.
Subactivity indicator Simbol seperti sisir terbalik yang berada pada actions mengindikasikan bahwa actions telah keluar menuju activity diagram yang lain. Hal ini dapat membantu activity diagram agar tidak menjadi terlalu kompleks.
j.
Connector Huruf yang berada di dalam lingkaran dan memberikan alat untuk mengatur kompleksitas. Flow yang menuju connector melompati flow yang keluar dari connector dengan huruf yang sama.
2.1.7 Personal Home Page (PHP) Menurut Ullman (2005, pxi), PHP merupakan server-side dan crossplatform technology. Server-side mengacu pada fakta bahwa semua script PHP bekerja pada server. Cross-platform berarti PHP dapat bekerja pada kebanyakan operating-system, termasuk Windows, Unix, dan Machintos. Berdasarkan keunggulan dan kemampuannya (dan dimulainya dalam pemakaian
untuk
keperluan
profesional),
PHP
berubah
menjadi
PHP:Hypertext Preprocessor. Beberapa kelebihan PHP dibandingkan dengan bahasa pemrograman sejenis seperti Perl, Microsoft Active Server Pages (ASP), Java Server Pages (JSP), dan Allaire Cold Fusion adalah : 1. Kemampuan yang tinggi 2. Kemampuan untuk dapat terhubung dengan banyak sistem basis data, seperti : MySQL, PostgreSQL, mSQL, Oracle, dbm, filepro, Hyperwave Informix, dan Interbase
34 3. Tidak dibutuhkan biaya untuk mendapatkan PHP 4. Mudah dipelajari dan digunakan, karena PHP dibuat berdasarkan bahasa pemrograman dasar, yaitu bahasa C dan Perl 5. Dapat berjalan pada berbagai sistem operasi, seperti Linux, Solaris, dan beberapa versi Microsoft Windows
2.1.8 MySQL Menurut Welling dan Thomson (2008, p3-p4) MySQL berarti sistem manajemen hubungan antar basis data yang sangat cepat dan sempurna. MySQL merupakan alat bantu untuk manipulasi basis data, sehingga basis data dapat dengan mudah diisi, diambil, disusun, dan diubah datanya. Server MySQL pun dapat mengatur kontrol akses dari data, sehingga beberapa pengguna dapat sekaligus bekerja pada waktu yang bersamaan. Beberapa kelebihan MySQL, dibandingkan dengan sistem basis data sejenis seperti Microsoft SQL server, Oracle adalah : 1. Kemampuan yang tinggi 2. Tidak dibutuhkan biaya untuk mendapatkan SQL 3. Mudah untuk konfigurasi dan dipelajari 4. Dapat dijalankan pada beberapa sistem operasi seperti sistem Unix dan Microsoft Windows
35 2.2 Teori Khusus 2.2.1 Pemesanan Online Reservation dalam bahasa Indonesia adalah pemesanan yang berasal dari kata “to reserve” yaitu menyediakan atau mempersiapkan. Jadi reservation online adalah pemesanan fasilitas yang berupa penyewaan sesuatu melalui website atau mobile application yang telah disediakan untuk memudahkan pelanggan. Kata reservation atau pemesanan dapat juga disebut booking. (Jresiona, 2006)
2.2.2 BlackBerry 1.
Sejarah BlackBerry adalah perangkat selular yang memiliki kemampuan layanan push email, telepon, sms, menjelajah internet, messenger (BlackBerry Messenger/BBM), dan berbagai kemampuan nirkabel lainnya. BlackBerry pertama kali diperkenalkan pada tahun 1997 oleh perusahaan Kanada, Research In Motion (RIM). BlackBerry pertama kali diperkenalkan di Indonesia pada pertengahan Desember 2004 oleh operator Indosat dan perusahaan Starhub yang merupakan rekan utama BlackBerry. Pasar BlackBerry kemudian diramaikan oleh dua operator besar lainnya di tanah air yakni Exelcom dan Telkomsel. Akibat tuntutan pemerintah Indonesia, BlackBerry akhirnya membuka kantor perwakilan di Indonesia pada November 2010. (Anonim1, 2011)
36 2.
Keunggulan BlackBerry Produk yang menjadi andalan utama dan membuat BlackBerry digemari di pasar adalah fitur email cepat (push e-mail). Produk ini mendapat sebutan email cepat karena seluruh email baru, daftar kontak, dan informasi jadwal (calendar) ditampilkan langsung ke dalam BlackBerry secara otomatis. Seperti yang telah disebutkan di atas mengenai keunggulan dari BlackBerry, yaitu push email. Dengan push email semua email masuk dapat diteruskan langsung ke ponsel. Email juga sudah mengalami proses kompresi dan scan di server BlackBerry sehingga aman dari virus. Lampiran data berupa dokumen Microsoft Office dan PDF dapat dibuka dengan mudah. Sebuah email berukuran 1 MB, jika diterima melalui push email dapat menjadi 10 KB dengan isi yang tetap. Pengguna tidak perlu mengakses internet terlebih dulu dan membuka satu persatu email yang masuk, atau pemeriksaan email baru. Hal ini dimungkinkan karena pengguna akan terhubung secara terusmenerus dengan dunia maya melalui jaringan telepon seluler yang tersedia. Alat penyimpanan juga memungkinkan para pengguna untuk mengakses data yang sampai ketika berada di luar layanan jangkauan nirkabel. Begitu pengguna terhubung lagi, BlackBerry Enterprise Server akan menyampaikan data terbaru yang masuk. Kelebihan lainnya adalah kemampuan BlackBerry yang dapat menampung email hingga puluhan ribu tanpa ada risiko hang, asalkan masih ada memori tersisa. (Anonim1, 2011)
37 3.
Sistem Operasi RIM menyediakan multi-tasking operating system bagi BlackBerry yang memungkinkan penggunaan secara intens dari sebuah alat. Operating System (OS) menyediakan dukungan bagi Mobile Information Device Profile (MIDP) 1.0 dan Wireless Application Protocol (WAP) 1.2. Versi sebelumnya memungkinkan sinkronisasi nirkabel melalui e-mail dan kalendar Microsoft Exchange Server, dan juga email Lotus Domino. Sementara OS 4 yang terbaru merupakan pelengkap dari MIDP 2.0, dan memungkinkan aktivasi nirkabel lengkap dan sinkronisasi dengan email, kalendar, dan lain-lain. (Anonim1, 2011)
4.
Perangkat Lunak BlackBerry menyediakan berbagai perangkat lunak yang dapat disesuaikan dengan kebutuhan operasi. a.
BlackBerry Enterprise Server (BES) Perangkat genggam BlackBerry terintegrasi pada sistem email yang terorganisasi melalui paket perangkat lunak yang disebut BES. BES dapat digunakan oleh jaringan email yang berbasis Microsoft Exchange, Lotus Domino, dan Novell Group Wise. Khusus pada pengguna individu, mereka dapat menggunakan layanan email nirkabel yang disediakan oleh provider tanpa harus menginstalasi BES. Para pengguna individu dapat menggunakan BlackBerry Internet Solution tanpa harus menginstalasi BES di smartphone mereka.
38 BES memang ditujukan bagi pelanggan korporasi dengan cakupan usaha yang besar. Perangkat lunak ini mengintegrasikan seluruh smartphone BlackBerry pada suatu organisasi dengan sistem perusahaan yang telah ada. Keuntungan yang diperoleh adalah memperluas komunikasi nirkabel dan data perusahaan kepada pengguna aktif dengan cara yang aman. b.
BlackBerry Professional Software (BPS) BPS merupakan komunikasi nirkabel dan kolaborasi solusi bagi usaha kecil dan menengah. Ia menghadirkan berbagai fitur yang dibutuhkan karyawan, dalam sebuah paket yang mudah dipasang dan harga yang lebih murah.
c.
BlackBerry Internet Service (BIS) Perangkat lunak yang diperuntukkan bagi pengguna pribadi ini memungkinkan Anda untuk mengintegrasikan smartphone dengan 10 akun email yang berbasis Post Office Protocol (POP3) dan Internet Message Access Protocol (IMAP), menerima dan mengirim pesan instan, serta berselancar di internet. Dengan BIS, kita juga dapat membuka tambahan data (attachment) dalam bentuk excel, word, powerpoint, pdf, zip, jpg, gif dengan tingkat kompresi data yang tinggi.
d.
BlackBerry Mobile Data System (BlackBerry MDS) Sebuah aplikasi optimisasi pengembangan kerangka kerja untuk BlackBerry Enterprise Solution, menyediakan Anda sebuah alat pengembangan untuk membangun, menyebarluaskan, serta
39 mengatur interaksi antara BlackBerry smartphone dan aplikasi perusahaan. (Anonim1, 2011) 5.
Java pada BlackBerry Smartphone BlackBerry dibangun sebagai perangkat berbasis Java. Semua aplikasi pada smartphone ini dibangun dari Java® ME. Semua smartphone BlackBerry mendukung setidaknya MIDP 1.0 dan Connected Limited Device Configuration (CLDC) 1.0, dan smartphone yang menggunakan BlackBerry Device Software v4.0 atau lebih tinggi MIDP 2.0/CLDC1.1. a.
Pengertian J2ME Java2 Micro Edition atau yang biasa disebut J2ME, menurut Muchow (2002, p2), adalah lingkungan pengembangan yang didesain untuk meletakan perangkat lunak Java pada barang elektronik beserta perangkat pendukungnya. J2ME dikhususkan untuk pengembangan perangkat lunak selain computer desktop yang biasanya lebih kecil, seperti telepon selular, pager, dan sejenisnya. J2ME dikhususkan untuk digunakan dalam perangkat dengan besar memory dan CPU yang lebih terbatas.
b. Arsitektur J2ME Menurut Muchow (2002, p3), di dalam arsitektur J2ME ini terdapat beberapa bagian lainnya, seperti : 1.
Configuration Merupakan Java Library minimum dan kapabilitas yang dimiliki oleh para pengembang J2ME. Dengan kata lain, suatu mobile
40 device dengan kemampuan J2ME akan dioptimalkan fungsifungsinya. Configuration
hanya mengatur hal-hal yang
menyangkut kesamaan antara teknologi Java dengan fitur yang didukung device itu sendiri, sehingga configuration memastikan portabilitas antar device. Dalam prakteknya, configuration J2ME dibagi menjadi dua jenis, yaitu : a.
CLDC (Connected Limited Device Configuration) Spesifikasi CLDC pada J2ME adalah spesifikasi minimal dari package, class, dan sebagian fungsi JVM (Java Virtual Machine) yang disesuaikan agar dapat diimplementasikan dengan keterbatasan sumber daya pada alat-alat tersebut. JVM yang digunakan pada CLDC adalah KVM (Kilo Virtual Machine).
b.
CDC (Connected Device Cofiguration) Spesifikasi CDC juga terdiri dari kumpulan class dasar untuk dipergunakan pada profile industry seperti pada CLDC. JVM yang digunakan pada configuration jenis ini adalah CVM (C-Virtual Machine). Biasanya, aplikasi yang ditunjukan untuk dijalankan pada profile ini lebih kompleks dan sudah terintegrasi dengan aspek multimedia sehingga membutuhkan sumber daya yang jauh lebih besar juga.
41 2.
Profile Membahas sesuatu yang spesifik antara suatu perangkat mobile dengan perangkat mobile lainnya. Dalam J2ME terdapat dua jenis profile, yaitu : a.
MIDP (Mobile Information Device Profile) MIDP ini merupakan lapisan di atas CLDC yang terdiri dari API tambahan untuk daur hidup MIDlet, antarmuka, jaringan, dan penyimpanan persisten. MID dirancang untuk digunakan dengan configuration CLDC dan KVM. Aplikasi yang ditulis untuk dijalankan dalam profile ini disebut MIDlet.
b.
Foundation Profile Foundation Profile merupakan sebuah kumpulan API Java yang dikhususkan untuk device dengan sumber daya yang terbatas namun yang tidak mempunyai baris standar antarmuka pemakai. Biasanya profile jenis ini digabungkan penggunaannya
dengan
CDC
dan
ditunjukan
untuk
pembuatan aplikasi embedded system. Research In Motion (RIM) telah mengembangkan world-class development tools untuk membantu pengembangan aplikasi BlackBerry dengan mudah. Tools ini untuk para pengembang tanpa dikenakan biaya dan terus-menerus diperbarui untuk menyertakan fitur terbaru. Salah satu tools yang disediakan oleh RIM adalah BlackBerry JDE Plug-in untuk
42 Eclipse yang memungkinkan para pengembang untuk membangun aplikasi Java pada BlackBerry dengan menggunakan Eclipse.
2.2.3 Application Programming Interface (API) Application Programming Interface (API) adalah seperangkat aturan khusus dan spesifikasi agar program-program software dapat berkomunikasi satu sama lain. API berfungsi sebagai interface antara beberapa program software yang berbeda dan memfasilitasi interaksi mereka, mirip dengan cara antarmuka pengguna memfasilitasi interaksi antara manusia dan komputer. API dapat dibuat untuk aplikasi, perpustakaan, sistem operasi, dan lainlain, sebagai cara untuk mendefinisikan kosakata mereka dan sebuah cara untuk meminta sumber daya (misalnya memanggil fungsi-konvensi). API mungkin juga termasuk dalam spesifikasi untuk rutinitas, struktur data, kelas objek, dan protokol yang digunakan untuk berkomunikasi antara konsumen dan program pelaksana API. (Anonim2, 2011)
2.2.4 Waterfall Model Menurut Pressman (2010, p39), waterfall model sering disebut dengan “classic life cycle” karena model ini merupakan model klasik yang bersifat sistematis, berurutan dalam membangun software yang dimulai dengan communication, planning, modeling, construction, dan deployment. Berikut penjelasan dari tahapan waterfall model adalah :
43 1.
Communication Pada tahap ini akan dilakukan project initiation yaitu menganalisis permasalahan dan mencari solusi yang berpotensial untuk mengatasi permasalahan tersebut. Kemudian dilakukan requirements gathering yaitu mengumpulkan kebutuhan dari pihak-pihak yang terlibat.
2.
Planning Pada tahap ini akan dilakukan estimating mengenai kebutuhan yang diperlukan, kemudian scheduling untuk menentukan proses pengerjaan dan tracking.
3.
Modeling Pada tahap ini akan dilakukan analysis terhadap design yang akan diimplementasikan pada kebutuhan yang telah disebutkan di atas. Design dikerjakan setelah kebutuhan selesai dikumpulkan secara lengkap.
4.
Construction Pada tahap ini akan dilakukan penerjemahan pada design yang telah dibuat menjadi bentuk yang dapat dimengerti oleh mesin, yaitu ke dalam bahasa pemrograman melalui proses coding. Setelah itu agar software terbebas dari error maka dilakukan testing secara keseluruhan.
5.
Deployment Setelah proses coding dan testing selesai maka dilakukan delivery yang menyediakan pengguna perkembangan operasional software beserta fungsi dan fitur-fitur yang dapat digunakan, kemudian adanya support (pendukung), dan feedback (respon). Selain itu, dilakukan juga
44 pemeliharaan dan pengembangan agar sistem tersebut tetap berjalan dengan baik.
Gambar 2.7 Waterfall Model