library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2012-1... · Web viewHubungan...
Transcript of library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2012-1... · Web viewHubungan...
BAB 2
LANDASAN TEORI
2.1 Teori Umum
2.1.1 Perangkat Lunak
2.1.1.1 Definisi Perangkat Lunak
Menurut (Pressman, 2010, p. 4), perangkat lunak adalah instruksi-instruksi
program-program komputer yang di mana ketika dieksekusi akan menyediakan fitur-
fitur, fungsi, dan perfoma yang diharapkan, struktur-struktur data yang memungkinkan
program-program untuk memanipulasi informasi, dan informasi yang bersifat deskriptif
dalam bentuk hardcopy ataupun bentuk-bentuk virtual yang
menggambarkan/menjelaskan operasi dan penggunaan program-program.
2.1.1.2 Karakteristik Perangkat Lunak
Menurut (Pressman, 2010, p. 4) perangkat lunak (software) memiliki
karakteristik yang sangat jauh berbeda dengan perangkat keras (hardware), di antaranya
adalah :
Perangkat lunak dikembangkan atau direkatasa, artinya tidak diproduksi
dalam pengertian klasik.
Perangkat lunak tidak bisa “usang”
Meskipun industri bergerak kearah pembangunan berbasis komponen,
sebagian besar perangkat lunak terus dibangun secara khusus.
7
8
2.1.2 Rekayasa Perangkat Lunak (RPL)
2.1.2.1 Definisi Rekayasa Perangkat Lunak
Mengacu pada IEEE [IEEE93a], rekayasa perangkat lunak adalah sebuah studi
dan aplikasi dari sebuah pendekatan kuantifiable, disiplin, dan sistematik kepada
pengembangan (pembangunan), operasi, dan pemeliharaan perangkat lunak yang
semuanya itu merupakan aplikasi rekayasa yang berkaitan dengan perangkat lunak.
(Pressman, 2010, p. 13) mendefinisikan rekayasa perangkat lunak merupakan
teknologi bertingkat atau berlapis. Tingkatan/lapisan tersebut dibagi menjadi empat
bagian, yaitu :
1. Berpusat pada kualitas (A Quality Focus)
Berpusat pada kualitas diibaratkan batu yang menopang lapisan-lapisan lain
(tools, methods, dan process) pada rekayasa peranti lunak.
2. Proses (Process)
Proses merupakan fondasi dasar dari rekayasa perangkat lunak, yang berperan
sebagai perekat lapisan-lapisan teknologi dan memungkinkan pengembangan
perangkat lunak komputer secara rasional dan tepat waktu. Proses ini
mendefinisikan framework yang harus ditetapkan agar penyampaian (delivery)
teknologi perangkat lunak berjalan dengan efektif.
3. Metode-metode (Methods)
Lapisan ini menerangkan secara teknis mengenai bagaimana cara membangun
perangkat lunak. Metode ini meliputi tahapan yang mencakup komunikasi
(communication), analisis kebutuhan (requrements analysis), desain model (design
9
modelling), pembuatan program (program construction), pengujian (testing), dan
pendukung (support).Metode rekayasa perangkat lunak bergantung pada prinsip-
prinsip dasar yang mengatur setiap area teknologi termasuk kegiatan pemodelan dan
teknik deskriptif lainnya.
4. Alat (Tools)
Alat dalam rekayasa perangkat lunak berfungsi menyediakan dukungan baik
secara otomatis maupun semi-otomatis untuk proses dan metode-metode. Ketika
alat-alat tersebut diintegrasikan sehingga informasi yang di hasilkan oleh suatu alat
bisa digunakan oleh alat lainnya, sistem yang digunakan untuk membantu
pengembangan perangkat lunak disebut CASE (computer-aided software
engineering). Case mampu menggabungkan perangkat lunak, perangkat keras, dan
basis data untuk membangun suatu lingkungan yang sejalan CAD/CAE (computer-
aided design/engineering).
Gambar 2.1. Software Engineering Layers
2.1.3 Model ProsesAirTerjun (The Waterfall Process Model)
Menurut (Sommerville, 2011, p. 30) model pertama yang diterbitkan dari proses
pengembangan perangkat lunak berasal dari proses rekayasa sistem yang lebih umum
10
(Royce, 1970). Model proses air terjun (the waterfall process model) adalah contoh dari
proses plan-driven, yang pada prinsipnya segala kegiatan harus direncanakan dan
dijadwalkan sebelum dimulainya proses pengerjaannya.
Gambar 2.2. The Waterfall Process Model
Tahap utama dari model proses air terjun (the waterfall process model) secara
tidak langsung mencerminkan dasar pembangunan kegiatan, yaitu :
1. Analisis dan Definisi Kebutuhan (Requirements Analisys and Definition)
Konsultasi dengan para pengguna sangat diperlukan untuk menentukan
kegunaan dari sistem batasan-batasan dan tujuannya. Di mana kemudian hasilnua
didefinisikan lebih rinci dan digunakan untuk spesifikasi sistem yang akan dibuat.
2. Perancangan Sistem dan Perangkat Lunak (System and Software Design)
Proses perancangan sistem mengalokasikan kebutuhan sistem perangkat lunak
maupun keras dengan membentuk arsitektur sistem secara keseluruhan. Perancangan
11
perangkat lunak mencakup rangkuman identifikasi kebutuhan dan gambaran awal
sistem peranti lunak serta hubungan antara keduanya.
3. Implementasi dan Pengujian Unit (Implementation and Unit Testing)
Pada tahap ini, perancangan perangkat lunak akan direalisasikan ke dalam
sekumpulan program atau unit program. Pengujian unit bertujuan untuk memastikan
bahwa setiap bagian dari unit program sesuai dengan spesifikasi atau fungsinya.
4. Penggabungan dan Pengujian Sistem (Integration and System Testing)
Unit-unit program yang berdiri sendiri akan digabungkan sebagai satu kesatuan
kemudian akan diuji sebagai sebuah sistem yang utuh untuk memastikan bahwa
kebutuhan perangkat lunak telah terpenuhi. Setelah dilakukan pengujian barulan
sistem perangkat lunak akan dikirimkan kepada pengguna (user).
5. Pengoperasian dan Pemeliharaan (Operation and Maintenance)
Secara umum tahap ini memiliki fase dalam jangka waktu yang lama.Sistem
yang telah selesai diinstal dan digunakan untuk kepentingan sebenarnya. Proses
pemeliharaan mencakup perbaikan kesalahan-kesalahan yang tidak ditemukan pada
tahap-tahap awal pengembangan, peningkatan implementasi sistem pada setiap unit,
dan peningkatan kegunaan sistem seiring dengan ditemukannya kebutuhan-
kebutuhan baru.
2.1.4 Unified Modelling Language (UML)
Unified Modelling Language (UML) adalah bahasa standar untuk
menggambarkan perancangan perangkat lunak.UML dapat digunakan untuk
menvisualisasikan, menentukan, membangun, dan mendokumentasikan artefak dari
12
sebuah sistem perangkat lunak yang intensif. Dengan kata lain seperti arsitek
menciptakan rancangan pembangunan yang digunakan untuk konstruksi bangunan,
arsitek perangkat lunak membuat diagram UML untuk membantu pengembangan
perangkat lunak untuk membangun perangkat lunak. Jika anda memahami kosakata
UML (diagram elemen dan artinya), anda dapat jauh lebih mudah memahami dan
menentukan sistem dan menjelaskan desain sistem itu kepada orang lain. UML 2.0
menyediakan 13 diagram yang berbeda untuk digunakan dalam pemodelan perangkat
lunak. UML menyediakan pilihan (yang terkadang misterius) sehingga anda dapat
mengungkapkan semua aspek penting dari sistem. Pada saat yang sama, anda memiliki
fleksibilitas untuk menekan bagian-bagian dari diagram yang tidak relevan dengan
aspek yang dimodelkan dalam rangka untuk menghindari kekacauan diagram dengan
rincian yang tidak relevan.
Seperti bahasa-bahasa lainnya, UML mendefinisikan notasi dan sintak/semantic.
Notasi UML merupakan sekumpulan bentuk khusus untuk menggambarkan berbagai
diagram peranti lunak. Setiap bentuk memiliki makna tertentu, dan UML syntax
mendefinisikan bagaimana bentuk-bentuk tersebut dapat dikombinasikan. Notasi UML
terutama diturunkan dari 3 notasi yang telah ada sebelumnya: Grady Booch OOD
(Object-Oriented Design), Jim Rumbaugh OMT (Object Modelling Technique), dan Ivar
Jacobson OOSE (Object-Oriented Software Engineering).
2.1.4.1 Use Case Diagrams
Menurut (Whitten & Bentley, 2007, p. 246), diagram use case adalah satu
bantuk diagram UML yang bertujuan untuk memberikan gambaran secara umum
mengenai keseluruhan fungsional sistem dalam bentuk aktor, aktivitas,
13
danketergantungannya. Diagram ini menggambarkan siapa yang akan menggunakan
sistem dan dengan cara apa pengguna berinteraksi dengan sistem. Beberapa blok yang
digunakan antara lain :
Blok use case
Suatu bentuk yang menggambarkan suatu langkah tindakan yang memberikan
suatu nilai terukur untuk aktor dan digambar dalam bentuk elips.
Gambar 2.3. Model Use Case
Aktor (actor)
Aktor adalah orang.Organisasi, atau segala sesuatu yang melakukan interaksi
dengan sistem.
Gambar 2.4.Simbol Aktor
14
Hubungan (relationship)
Sebuah garis yang digambarkan di antara dua simbol pada diagram use case.
Makna dari hubungan tersebut berbeda-beda, tergantung bagaimana garis itu
digambarkan dan tipe simbol apa yang digunakannya. Beberapa tipe hubungan yang
terdapat pada diagram use case adalah :
1. Gabungan (association) : hubungan antara pelaku dengan use case di mana
terjadi interaksi di antara mereka.
Gambar 2.5.Hubungan Asosiasi
2. Extends :use case yang terjadi dari langkah yang diekstraksi dari use case yang
lebih kompleks untuk menyederhanakan masalah orisinil dan arena itu
memperluas fungsinya.
Gambar 2.6.Hubungan Extends
15
3. Uses (or Includes) : dua atau lebih use case yang melakukan langkah fungsional
yang identik.
Gambar 2.7.Hubungan Uses
4. DependsOn :use case yang memiliki ketergantungan dengan use case lainnya
untuk menetapkan rangkaian use case yang perlu dikembangkan.
Gambar 2.8.Hubungan Depends On
5. Inheritance : pada saat dua atau lebih aktor berbagi kelakuan yang umum.
16
Gambar 2.9.Hubungan Inheritance
2.1.4.2 Activity Diagrams
Menurut (Whitten & Bentley, 2007, p. 390), activity diagrams adalah langkah-
langkah proses model atau aktivitas dari sistem, atau bisa juga disebut sebagai sebuah
diagram yang dapat digunakan untuk menggambarkan secara grafis aliran kerja dari
sebuah proses bisnis, langkah-langkah use case atau logika dari sebuah prilaku objek
(Object Behavior(method)).
Activity diagrams berbeda dengan flowchats, activity diagrams menyediakan
mekanisme untuk menggambarkan aktivitas yang terjadi secara parallel. Oleh karena itu
activity diagrams sangat berguna.
Activity diagrams adalah representasi grafis dari aliran kerja (workflow) atas
aktivitas-aktivitas yang bertahap dan aksi-aksi di dalam sebuah sistem. Diagram ini juga
mendukung proses seleksi, pengulangan, serta konkurensi.
17
Table 2.1. Simbol pada ActivityDiagrams
No Simbol Gambar Keterangan
1 Initial node Menunjukkan awal dari suatu
proses.
2 Actions Menunjukkan langkah-langkah
aktivitas sistem yang terjadi.
3 Flow Untuk menunjuk ke aksi atau
proses yang lain. Dilengkapi
dengan kata-kata jika berasal
dari decision.
4 Decision Memiiki sebuah flow masuk
dan dua atau lebih flow keluar.
Menunjukkan aktivitas yang
dapat dipilih.
5 Merge Menyatukan flow yang
sebelumnya terpisah oleh
decision.
18
6 Fork Menotasikan permulaan aksi
atau proses paralel yang dapat
terjadi dalam suatu urutan atau
terjadi secara bersamaan.
7 Join Semua aksi yang masuk ke
join harus telah diselesaikan
sebelum proses berlanjut.
8 ActivityFinal Menunjukkan akhir dari
proses.
19
Gambar 2.10. ActivityDiagrams
20
2.1.4.3 Sequence Diagrams
Menurut (Whitten & Bentley, 2007), sequence diagrams menggambarkan
interaksi antara setiap objek melalui pesan dalam eksekusi dari sebuah use case atau
operasi. Sistem pada sequence diagrams membantu untuk mengidentifikasi pesan-pesan
tingkat tinggi yang masuk dan keluar dari sistem. Kemudian pesan-pesan tersebut akan
menjadi tanggung jawab dari setiap objek yang akan memenuhi tanggung jawab dan
berkomunikasi dengan objek lainnya. Beberapa notasi yang terdapat pada sistem
sequence diagrams adalah:
1. Actor, berupa aktor yang memulai use case, ditunjukkan dengan simbol use case
aktor.
2. System, berupa kotak yang menunjukkan bahwa sistem sedang berjalan, ditandai
dengan notasi titik dua (:) pada awal nama sistem.
3. Lifelines, berupa garis menurun yang putus-putus dari simbol aktor dan sistem.
4. Activation bars, berupa balok yang terletak pada lifelines, yang menunjukkan
periode waktu ketika terjadi interaksi secara aktif.
5. Input messages, berupa anak panah mendatar dari aktor menuju sistem yang
menunjukkan sistem pesan masuk ke sistem, di mana kata pertama di awali
dengan huruf kecil, sedangkan huruf pertama dari kata berikutnya adalah huruf
besar dan tidak terdapat spasi antara kata tersebut, serta disertakan dengan tanda
kurung yang berisi parameter yang dibutuhkan.
6. Output messages, berupa anak panah mendatar dengan garis putus-putus dari
sistem menuju aktor yang menunjukkan pesan keluar dari sistem menuju aktor.
7. Receiver actor, berupa aktor yang menerima pesan dari sistem.
21
8. Frame, berupa kotak yang menambahkan pesan terpisah untuk menunjukkan
perulangan (looping), alternative, atau pilihan.
Gambar 2.11. Sequence Diagrams
2.1.4.4 Class Diagrams
Menurut (Whitten & Bentley, 2007, p. 400), class diagrams menggambarkan
bentuk structural objek yang ada pada sistemnya, di mana diagram ini menunjukkan
objek-objek yang terdapat pada sistem serta relasi yang terjadi antara objek-objek
tersebut.
22
Gambar 2.12. Class Diagrams
Pada class diagrams terdapat element-element yang penting, yaitu :
1. Class : digambarkan dalam bentuk kotak yang terbagi atas tiga bagian. Bagian
pertama (atas) adalah bagian nama dari class. Bagian kedua (tengah)
23
mendefinisikan atribut class. Bagian akhir (bawah) mendefinisikan method dari
class.
Gambar 2.13. Class
2. Association : merupakan sebuah hubungan yang paling umum antara class dan
dilambangkan oleh sebuah garis yang menghubungkan antara class satu dengan
class lainnya. Garis ini bisa melambangkan tipe-tipe hubungan, contohnya :
a. One to One
b. One to Many
c. Many to Many
Gambar 2.14. Association
3. Composition : jika sebuah class tidak bisa berdiri sendiri dan harus merupakan
bagian dari class lain, maka class tersebut memiliki relasi composition terhadap
class tempat dia bergantung. Hubungan composition digambarkan sebagai suatu
garis dengan ujungnya berbentuk jajar genjang berisi/solid.
Gambar 2.15. Composition
24
4. Aggregation : jika sebuah class bisa berdiri sendiri walaupun merupakan dari
class lain. Hubungan aggregation digambarkan dalam bentuk garis dengan
ujungnya berbentuk jajargenjang tanpa isi/kosong.
Gambar 2.16. Aggregation
5. Cara bagaimana atribut dan metode diakses oleh kelas lain didefinisikan dengan
visibility. UML menyediakan tiga tingkat dari visibility, yaitu :
a. Public : ditandai dengan simbol “+”
b. Pretected : ditandai dengan simbol “#”
c. Private : ditandai dengan simbol “-“
2.1.5 Internet
Menurut (Levine & Young, 2011, p. 9)internet adalah suatu jaringan yang sangat
besar, terdiri dari ratusan bahkan ribuan jaringan kecil dari jutaan komputer yang saling
terhubung satu sama lain
2.1.5.1 World Wide Web
WWW (World Wide Web) menurut (Sebesta, 2011, p. 6) adalah suatu sistem
layanan internet yang dapat mengakses ke seluruh halaman website yang ada untuk
mencari/ menerima suatu data dari database yang ada, dengan terhubung dengan
internet
25
2.1.5.2 TCP/IP
TCP/IP menurut (Javvin Technologies Inc., 2004, p. 11), merupakan dasar dari
internet. Pengembangan pertama TCP/IP bernama Project DOD.Pada zaman sekarang
sebagian besar protocol dikembangkan oleh Internet Engineering Task Force (IETF)
yang berada dibawah naungan Internet Architecture Board (IAB) yaitusebuah organisasi
yang disponsori oleh pemerintah Amerika Serikat. TCP/IP berfungsi untuk melakukan
pengalamatan (addressing) dan rute (routing) dan transportasi kontrol (TCP,UDP dalam
layer transport).
2.1.6 OOP (Object Oriented Programming)
Object Oriented Programming menurut (Clark, 2011, p. 1), adalah sebuah
pendekatan pengembangan perangkat lunak dan struktur perangkat lunak ini
berdasarkan oleh benda-benda berinteraksi satu sama lain untuk menyelesaikan tugas.
Dalam menanggapi suatu pesan, objek melakukan suatu tindakan atau metode. Contoh:
seseorang ingin pergi ke suatu tempat dengan menggunakan mobil pada kasus ini orang
tersebut berinteraksi dengan mobil. Mobil tersebut terdiri atas benda-benda yang
berinteraksi satu sama lain. Pertama-tama orang yang menggunakan mobil tersebut
menyalakannya mobilnya.Dalam hal tersebut mengirimkan pesan (melalui sinyal listrik)
ke objek pemula, yang berinteraksi dengan objek mesin untuk menyalakan mobil.
Pada zaman sekarang banyak pengembang software bisnis yang berpindah halua
menjadi metode objek oriented dan bahasa pemrograman untuk menyelesaikan berbagai
masalah. Dan berikut adalah beberapa keuntungan adalah sebagai berikut:
1. Sebuah transisi yang lebih intuitif dari analisis model bisnis perangkat lunak ke
model penerapan perangkat lunak.
26
2. Kemampuan untuk memelihara dan menerapkan perubahan dalam program yang
lebih efisien dan cepat.
3. Kemampuan untuk lebih efektif menciptakan sistem perangkat lunak
menggunakan proses tim, memungkinkan para ahli (specialists) untuk bekerja
pada bagian dari sistem.
4. Kemampuan untuk menggunakan kembali komponen kode dalam program lain
dan membeli komponen yang ditulis oleh pengembang pihak ketiga untuk
meningkatkan fungsi dari program mereka dengan sedikit usaha.
5. Integrasi yang lebih baik dengan sistem komputasi terdistribusi yang
digabungkan secara longgar.
6. Peningkatan integrasi dengan sistem operasi modern.
7. Kemampuan untuk membuat tampilan antarmuka yang lebih intuitif untuk
pengguna.
2.1.6.1 Karakteristik OOP
Menurut (Clark, 2011) beberapa karakteristik yang terdapat dalam OOP adalah:
a. Objects
Objek merupakan struktur data untuk menggabungkan data dan prosedur
agar dapat bekerja dengan data. Misalnya, apabila ingin melakukan
pencetakan, makakita harus bekerja dengan objek yaitu sebuah printer yang
bertanggung jawab atas data dan metode yang digunakan dengan printer
tersebut.
27
b. Abstraction
Abstraction adalah kemampuan untuk melakukan abstraksi atau
menyaring sifat benda asing, akan terjadi kesulitan untuk memproses
sejumlah informasi dan konsentrasi pada tugas yang sedang dilakukan.
c. Encapsulation
Enkapsulasi adalah proses agar data yang ada tidakdapat diakses
langsung, melainkan tersembunyi. Untuk mendapatkan akses ke data,
diperlukan interaksi dengan objek yang bertanggung jawab untuk data.
d. Polymorphism
Polimorfisme adalah kemampuan dari dua objek yang berbeda untuk
melakukan pesan permintaan yang sama dalam cara yang berbeda.
e. Inheritance
Inheritanceberguna untuk mengklasifikasikan objek dalam program
sesuai dengan karakteristik dan fungsi yang umum.Hal itu membuat bekerja
dengan objek menjadi lebih mudah dan intuitif.Hal itu juga membuat
program menjadi lebih mudah, karena memungkinkan pembuat untuk
menggabungkan karakteristik umum kedalam objek orangtua/parent dan
mewarisi karakteristik tersebut di dalam objek anak/child.
f. Aggregation
Agregasi adalah ketika sebuah objek terdiri dari gabungan dari benda-
benda lain yang bekerja sama. Misalnya, mesin pemotong rumput adalah
gabungan dari objek roda, mesin, pisai, dan sebagainya.Bahkan, objek mesin
adalah gabungan dari berbagai objek. Kemampuan untuk menggunakan
28
agregasi di dalam OOP merupakan fitur canggih yang memungkinkan
implementasi proses bisnis dan model secara akurat di dalam suatu program.
2.1.7 Interaksi Manusia dan Komputer
Menurut (Shneiderman dan Plaisant, 2010, p22) menjelaskan bahwa Interaksi
Manusia dan Komputer (IMK) adalah suatu ilmu yang menjabarkan perancangan,
evaluasi, dan implementasi sistem komputer interaktif. Titik berat IMK adalah
perancangan dan evaluasi antarmuka pemakai (user interface).Antarmuka pemakai
adalah bagian sistem komputer yang memungkinkan manusia berinteraksi dengan
komputer.
2.1.7.1 Lima Faktor Manusia Terukur
Menurut (Shneiderman & Plaisant, 2010, p. 32), ada lima faktor manusia terukur
yang dapat dijadikan evaluasi kebutuhan dalam perancangan suatu antarmuka, yaitu
sebagai berikut:
1. Waktu Belajar
Waktu belajar merupakan tolak ukur untuk seorang user mempelajari tindakan
yang di butuhkan untuk menjalani suatu program tersebut.
2. Kecepatan Kinerja
Kecepatan kinerja menjadi suatu tolak ukur seberapa cepat suatu tugas dapat
dilakukan oleh seorang user.
3. Tingkat kesalahan user
Tingkat kesalahan user menjadi tolak ukur untuk berapa banyak kesalahan yang
dilakukan user dalam mengerjakan suatu tugas.
29
4. Daya ingat
Daya ingat menjadi tolak ukur seberapa baik seorang user dapat mengingat
pengetahuan yang didaptkan dalam beberapa waktu tertentu.
5. Kepuasan Subjektif
Kepuasan subjektif menjadi tolak ukur seberapa besar tingkat kepuasan user
pada tampilan antar muka pada suatu program / aplikasi.
2.1.7.2 Eight Golden Rules of Interface Design
Menurut (Shneiderman & Plaisant, 2010, p. 88), terdapat sautu aturan untuk
membuat suatu perancangan antarmuka dengan pemakai yaitu delapan aturan emas
(eight golden rules) dan berikut adalah perancangan 8 aturan emas tersebut:
1. Berusaha untuk konsisten
Konsisten tersebut harus dilakukan untuk setiap tindakan, perintah, dan istilah
yang digunakan pada menu, layar bantu, jenis warna tampilan, kapitalisasi,
huruf, dan sebagainya.
2. Menyediakan penggunaan yang universal
Seperti contoh dengan membuat tombol cepat (shortcuts) agar pengguna dapat
mengakses suatu program dengan mudah dan cepat.Pemakaian shortcuts
digunakan untuk mengurangi jumlah interaksi dan meningkatkan.
3. Memberikan umpan balik yang informatif
Setiap langkah yang dilakukan oleh pengguna haru diberikan umpan balik yang
informatif dan jelas, agar pengguna dapat mengerti apa yang dilakukannya dan
apa yang terjadi jika dilakukan hal tersebut.
30
4. Merancang dialog untuk memberikan penutupan
Urutan tindakan sebaiknya diorganisasi ke dalam kelompok awal, tengah, dan
akhir. Tampilan harus memberikan dialog untuk menunjukkan penutupan ketika
aplikasi selesai diproses ato dijalankan.
5. Memberikan pencegahan dan penanganan kesalahan yang sederhana sebisa
mungkin, sistem dirancang untuk dapat mencegah user dari kesalahan fatal yang
dilakukan. Jika kesalahan dibuat, sistem harus mampu mendeteksi kesalahan,
menjelaskan, dan menawarkan penanganan kesalahan untuk memperbaikinya.
6. Memungkinkan pembalikan aksi yang mudah
Diharapkan adanya fitur untuk kembali (back) ke aktivitas sebelumnya. Fitur ini
bertujuan agar pengguna dapat kembali ke aktivitas sebelumnya jika ternyata
terdapat suatu kesalahan yang disebabkan pengguna, sehingga kesalahan dapat
diperbaiki.
7. Mendukung pusat kendali internal
User memiliki kendali sebagai pemberi aksi pada sistem antarmuka.Kemudian
antarmuka tersebut harus merespon kembali, sehingga dapat mengontrol
program-program yang ada dalam sistem.
8. Mengurangi beban ingatan jangka pendek
Sebuah sistem diharapkan dapat ditampilkan sesederhana mungkin dan
sebaiknya tampilan halaman yang banyak disatukan, serta diberikan cukup
waktu dalam mempelajari kode, singkatan, dan urutan tindakan.
31
2.1.8 Pengertion Basis Data
2.1.8.1 Data
Menurut (Teorey, Lightstone, & Nadeau, 2011, p. 2), komponen dasar dari
sebuah file dalam sistem file adalah data, data adalah cacatan atas kumpulan fakta.
Dalam penggunaan sehari-hari data berarti sesuatu pernyataan yang diterima apa
adanya. Pernyataan ini adalah hasil dari pengukuran atas pengamatan suatu variable
yang bentuknya dapat berupa kata-kata, angka, atau citra.
2.1.8.2 BasisData
Menurut (Connoly & Begg, 2005, p. 15), basis data didefinisikan sebagai
sekumpulan data yang saling terhubung secara logis, dan mendeskripsiikan data, yang
dirancang untuk memenuhi kebutuhan informasi dari suatu organisasi.
Menurut (Teorey, Lightstone, & Nadeau, 2011, p. 2), basis data merupakan
objek yang lebih kompleks, yang merupakan kumpulan data yang saling terikat yang
disimpan dan digunakan untuk melayani kebutuhan beberapa pengguna dalam satu atau
lebih organisasi.Motivasi untuk menggunakan basis data dari pada file-file lebih besar
ketersediaannya, integrasi data agar lebih mudah di akses dan update untuk transaksi
yang kompleks, dan mengurangi terjadinya redudansi data.
2.1.8.3 Database Management System (DBMS)
Menurut (Teorey, Lightstone, & Nadeau, 2011, p. 2), DBMS adalah perangkat
lunak sistem yang digunakan untuk memanipulasi data.Sebuah DBMS mendukung
pandangan logis (skema, subskema) pandangan fisik (metode akses, dataclustering),
32
definisi bahasa data, memanipulasi bahasa data, dan utilitas penting seperti manajemen
transaksi dan kontrol konkurensi, integritas data, pemulihan data, serta keamanan.
2.2 Teori Khusus
2.2.1 GreetingSystem
Greeting sistem dalam informasi pada suatu event adalah pengelolahan dengan
cara mengumpulkan semua informasi yang ada dan setelah itu diorganisir dengan baik
dan mengurusi informasi tersebut dengan baik, jika event itu sangat kecil maka mungkin
dapat dilakukan pegelolahan secara sendiri, tetapi jika terdapat event yang besar, maka
diperlukan informasi manager dalam membantu pembuatan event. (Sharma, 2007)
2.2.2 Sencha Touch
(Kosmaczewski, 2012, p. 65), Sencha Touch merupakan UI Framework yang
memiliki kemiripan dengan CocoaTouch, Swing, maupun .NET. Sencha touch dibuat
dengan bahasa JavaScript. Sencha Touch dipersiapkan untuk kreasi web applications
yang bersifat sangat kompleks.Sencha Touch merupakan produk dari Sencha, yang
dibangun berdasarkan javascript dari Ext.JS, jQTouch dan Raphael. Dan sekarang
sencha touch sudah memasuki versi 2.01.
2.2.3 HTML 5
Menurut (Cruse & Jordan, 2011, p. 169), HTML 5 dapat mengakhiri
penggunaan Flash untuk banyak aplikasi media, itu yang menyebabkan JavaScript
bahkan menjadi lebih popular dari sebelumnya. Ada banyak pustaka dan plug-in yang
tersedia untuk meningkatkan dan memperluas HTML5 dan CSS3 untuk menciptakan
pengalaman interaktif yang lebih kaya.
33
HTML5, yang secara liberal menggunakan bantuan Cascading Style Sheets serta
JavaScript, bangkit untuk memenuhi tantangan - tantangan baru.Inovasi terbaru dalam
pengembangan web ini menjadikannya suatu masa keemasan bagi penerbit
online.Secara keseluruhan, HTML5 merupakan sebuah evolusi, bukan hanya revolusi
berdasarkan (Cruse & Jordan, 2011, p. 6).
Menurut (Cruse & Jordan, 2011, p. 6) pada saat HTML5 dikembangkan, maka
diambil prinsip dasar penamaan semantic (penamaan suatu benda berdasarkan kegunaan
mereka bukan bagaimana cara menampilkan mereka) ke suatu level yang baru. Ini
adalah factor kunci yang membuat HTML5 berbeda dari para pendahulunya.Menurut
buku HTML5 Multimedia Development Cookbookakan banyak ditemukan berbagai
pemikiran dan pengoptimalan penamaan kode bagi developer.
Menurut jurnal yang ditulis oleh (Yousuf Hasan, 2012, p. 455), perkembangan
smartphone memaksa sebuah instansi perusahaan untuk mengembangkan versi aplikasi
yang sudah ada di smartphone mereka.Penjualan smartphone terfragmentasi dan cepat
berkembang. Untuk membuat suatu aplikasi untuk berbagai jenis smartphone yang
mempunyai platform yang berbeda dibutuhkan banyak biaya dan waktu . Tetapi seiring
berkembangnya teknologi HTML5 muncul sebagai pilihan yang tepat dalam
membangun sebuah aplikasi di berbagai platform, tidak hanya itu HTML5 memberikan
kualitas yang baik juga dalam menampilkan suatu aplikasi.
2.2.4 Android
Android adalah sistem operasi yang digunakan pada telepon selular atau tablet
yang berbasis Linux. Android menyediakan platform terbuka bagi para pengembang
untuk menciptakan aplikasi mereka sendiri untuk digunakan oleh berbagai macam
34
peranti gerak. Awalnya Google Inc., membeli Android Inc., pendatang baru yang
membuat peranti lunak untuk ponsel. Kemudian untuk mengembangkan Android,
dibentuklah Open Headset Alliance, konsorsium dari 34 perusahaan peranti keras,
peranti lunak, dan telekomunikasi, termasuk Google, HTC, Intel, Motorola, Qualcomm,
T-Mobile, dan Nvidia. Pada saat perilisan 5 November 2007, Android bersama Open
Headset Alliance menyatakan mendukung pengembangan standar terbuka pada
perangkat seluler. Di lain pihak, Google merilis kode-kode Android di bawah lisensi
Apache,s ebuah lisensi perangkat lunak dan standar terbuka perangkat seluler. Di dunia
ini terdapat dua jenis distributor sistem operasi Android.Pertama yang mendapat
dukungan penuh dari Google atau Google Mail Service (GMS) dan kedua adalah yang
benar-benar bebas distribusinya tanpa dukungan langsung Google atau dikenal sebagai
Open Headset Alliance (OHD).
Menurut (DiMarzio, 2008, p. 6), Android sebagai sistem adalah Sistem Operasi
(OS) berbasis bahasa pemrograman Java yang beroperasi/berjalan pada kernel Linux
2.6.Sistem ini sangat ringan dan didukung oleh banyak keunggulan (fitur-fitur).
Aplikasi-aplikasi pada Android dikembangkan dengan menggunakan bahasa
pemrograman Java dan dapat diporting lebih mudah ke platform baru.
2.2.4.1 Fitur Android
Kerangka aplikasi : memungkinkan penggunaan dan penghapusan komponen
yang tersedia.
Dalvik virtual machine : mesin virtual dioptimalkan untuk perangkat
mobile/smartphone.
Grafik : grafik 2D dan 3D berdasarkan pada library OpenGL.
35
SQLite :database pada mobile yang digunakan untuk menyimpan data.
Multimedia :audio (MP3, AAC), video, dan berbagai macam format gambar
(JPG, PNG, GIF).
Koneksi : GSM, EDGE, 3G, Bluetooth, Wifi (hardware dependent).
Kamera, GPS, Kompas, accelerometer, dan masih banyak lainnya.
2.2.5 JSON (Javascript Object Notation)
Menurut (Dunlu Peng, 2011, p. 1) JSON (JavascriptObjectNotation) adalah
suatu nilai kunci untuk format petukaran data. JSON memudahkan kita untuk
membaca dan menulis, dan komputer untuk menghasilkan dan mengurai. Meskipun
JSON memiliki beberapa karakteristik yaitu mempunyai kemiripan dengan bahasa
pemrograman C, , C + +, Java, JavaScript dan Perl. Sehingga Fitur-fitur ini membuat
format JSON mudah digunakan pada pengiriman data JSON terbuat dari dua struktur
yaitu:
1. Kumpulan pasangan nama atau nilai. Pada bahasa tertentu, hal ini biasa disebut
objek (object), rekaman (record), struktur (struct), kamus (dictionary), tabel hash
(hash table), daftar berkunci (keyed list), atau associative array.
2. Daftar nilai berurutan (an ordered list of values). Seperti yang kita ketahui
kebanyakan bahasa, hal ini disebut juga array, vector, list, sequence. Pada
dasarnya, semua bahasa pemrograman modern mendukung struktur data ini
dalam bentuk yang sama maupun berlainan. Hal ini pantas disebut demikian
karena format data mudah dipertukarkan dengan bahasa-bahasa pemrograman
yang juga berdasarkan pada struktur data ini. JSON menggunakan bentuk
sebagai berikut:
36
Object
Object adalah sepasang nama atau nilai yang tidak terurutkan. Cara
penulisan Object dimulai dengan { (kurung kurawal buka) dan diakhiri
dengan } (kurung kurawal tutup). Setiap nama diikuti dengan : (titik dua) dan
setiap pasangan nama/nilai dipisahkan oleh , (koma).
Array
Array adalah kumpulan nilai yang terurutkan. Larik dimulai dengan
[ (kurung kotak buka) dan diakhiri dengan ] (kurung kotak tutup). Setiap
nilai dipisahkan oleh , (koma).
Value
Nilai (value) dapat berupa sebuah string dalam tanda kutip ganda, atau
angka, atau true atau false atau null, atau sebuah objek atau sebuah larik.
Struktur-struktur tersebut dapat disusun bertingkat.
String
String adalah kumpulan dari nol atau lebih karakter Unicode, yang
dibungkus dengan tanda kutip ganda. Di dalam string dapat digunakan
backslash escapes "\" untuk membentuk karakter khusus. Sebuahkarakter
mewakili karakter tunggal pada string.String sangat mirip dengan string C
atau Java.
Number
Angka (Number) sangat mirip dengan angka di C atau Java, kecuali
format oktal dan heksadesimal tidak digunakan.
37
2.2.6 Google Cloud Messaging
Menurut (Shang Zhao, 2012, p. 127), Google Cloud Messaging (GCM) adalah
system push notification service yang berdasarkan dari C2DM (Cloud to Device
Messaging) dengan beberapa perkembangan seperti mendukung multicastmessages,
tidak tegantung dengan kuota, mendukung JSON notificationmessages, mempunyai
daya tahan baterai handphone lebih. Namun demikian, desain fundamental dari botnet
C2DM memanfaatkan layanan push notification sebagai C & C channel, dan mungkin
botnet GCM lebih efektif dalam penyebaran notifikasi karena dapat dikirim lewat
multicast, dan tidak memakai kuota.
2.2.7 PHP (Hypertext Preprocessor)
Menurut (Powers, 2008) PHP (Hypertext Preprocessor) adalah bahasa scripting
yang bersifat open source.Dalam pengimplementasinya digunakan dalam
pengembangan web dan dapat digabungkan dengan HTML. PHP juga mirip dengan
bahasa C, Java, dan Perl , sehingga penggunaan PHP dapat secara cepat dipelajari oleh
programmer. PHP bukan merupakan bahasa berorientasi objek, tetapi bahasa yang
memiliki fitur luas yang berorientasi objek. Fitur ini mengalami beberapa perubahan
ketika PHP 5 dirilis pada bulan Juli 2004,
Dalam jurnal yang ditulis oleh (Suzumura, Trent, Tatsubori, Tozawa, &
Onodera, 2008, p. 385), menyatakan bahwa PHP bahasa PHP yang diimplementasikan
dalam web service.Web service tersebut menggunakan PHP5 yang sudah mendukung
SOAP, sehingga pengembangan web service dapat dilakukan dengan tidak
menggunakan code yang banya
38
2.2.8 Javascript
Menurut (Flanagan, 2011, p. 1), Javascript adalah bahasa pemrograman untuk
web. Pada zaman sekarang ini web yang ada menggunakan JavaScript. Javascript
adalah bahasa pemrograman berjenis untypedlanguage, tingkat tinggi, dan dinamis dan
mempunyai gaya pemrograman berorientasi objek dan fungsional.
Javascript benar-benar berbeda dengan bahasa pemrograman Java, dan akar dari
bahasa scripting javascript telah berkembang menjadi bahasa untuk keperluan umum
yang kuat dan efisien
2.2.9 PhoneGap
Menurut (Kosmaczewski, 2012, p. 91), PhoneGap dikembangkan oleh Nitobi
lalu Adobe.Lebih daripada itu, PhoneGap telah menjadi proyek resmi dari Apache
Foundation dan sekarang dinamakan Apache Cordova.Secara teknis, dapat dikatakan
bahwa PhoneGap adalah distribusi dari Apache Cordova.
PhoneGap adalah sebuah Plugin Arsitekturuntuk mobile aplikasi.Phone Gap
merupakanimplementasi opensource dan terbuka, itu berarti pengembangan perusahaan
dan dapat menggunakan phone gap untuk aplikasi mobile yang bebas, komersial, open
source, atau kombinasi dari semuanya. PhoneGap akan menggunakan standar berbasis
teknologi web untuk menjembatani aplikasi web dan perangkat mobile.
PhoneGap membungkus aplikasi yang diciptakan menggunakkan HTML, CSS
dan JavaScript ke dalam bahasa native menggunakkan komponen web browser native
yang disediakan oleh kebanyakan smartphone.