9
BAB 2 
LANDASAN TEORI
2.1. Rekayasa Piranti Lunak 
Menurut Pressman (2010: 14), Rekayasa Perangkat Lunak adalah pembuatan
dan penggunaan prinsip-prinsip keahlian teknik untuk mendapatkan perangkat
lunak yang ekonomis yang handal dan bekerja secara efisien pada mesin yang
sesungguhnya. Rekayasa Perangkat Lunak mendirikan suatu pondasi untuk
proses perangkat lunak yang lengkap dengan mengidentifikasi sejumlah aktifitas
kerangka kerja yang berlaku untuk semua proyek perangkat lunak, terlepas dari
hal ukuran dan kompleksitas.
1.
Fokus pada kualitas (A Quality Focus)
Pendekatan teknik apapun (termasuk rekayasa perangkat lunak) harus
bersandar pada komitmen organisasi terhadap suatu mutu. Total kualitas
manajemen dan filosofi yang sama mendorong budaya perbaikan proses
yang berkesinambungan dan budaya inilah yang pada akhirnya mengarah
pada pengembangan pendekatan yang semakin dewasa untuk rekayasa
perangkat lunak. Fondasi yang mendukung rekayasa perangkat lunak adalah
fokus pada kualitas.
2.
Proses (Process)
Dasar untuk rekayasa perangkat lunak adalah lapisan proses. Proses
pada rekayasa perangkat lunak adalah perekat yang memegang teknologi
lapisan (layer) bersama –
sama dan memungkinkan pengembangan
perangkat lunak yang rasional dan tepat waktu. Proses mendefinisikan
sebuah kerangka kerja untuk suatu set key process areas (KPAs) yang harus
ditetapkan untuk penyampaian (delivery) yang efektif dari teknologi
rekayasa perangkat lunak. Key process areas membentuk dasar control
manajemen proyek perangkat lunak dan menetapkan konteks metode –
metode teknis mana yang diterapkan, produk kerja (model, dokumen, data,
laporan, form, dll) yang diproduksi, milestone yang ditetapkan, kualitas yang
terjamin dan perubahan yang dikelola dengan baik.
  
10
3.
Metode (Method)
Metode rekayasa perangkat lunak menyediakan teknis “bagaimana”
untuk membangun perangkat lunak. Metode mencakup tugas yang mencakup
analisis kebutuhan (requirment analysis), perancangan (design), program
konstruksi (program construction), pengujian (testing), dan pemeliharaan
(maintenance).
4.
Alat Bantu (Tools)
Alat bantu otomatis atau semi –
otomatis menyediakan dukungan
untuk proses dan metode. Ketika alat –
alat diintegrasikan sehingga
informasi yang dibuat oleh salah satu alat dapat digunakan oleh alat lainnya,
sebuah sistem untuk mendukung perangkat lunak, yang disebut computer
aided software engineering (CASE), didirikan CASE menggabungkan
software, hardware, dan database (sebuah repository berisi informasi
penting tentang analisis, rancangan, program konstruksi, dan pengujian)
untuk menciptakan lingkungan rekayasa perangkat lunak yang analog
dengan computer aided engineering (CAE) untuk hardware.
Gambar 2.1. Software Engineering Layers
(Sumber: Pressman, 2010: 14)
2.1.1.
Kategori Software
Pressman (2010: 7-8) membagi 7 kategori software, yaitu :
1. System software
Sebuah koleksi program dibuat untuk menyediakan sumber daya ke
program lain. Program ini berinteraksi langsung dengan hardware
  
11
2. Application software
Stand-alone program untuk kebutuhan bisnis yang spesifik. Aplikasi
ini
memproses data bisnis dan teknikal sebagai landasan dalam
pengambilan keputusan manajerial atau operasi bisnis. Software ini
juga digunakan untuk mengendalikan fungsi bisnis secara real-time.
3. Engineering and Scientific software
Software
yang berurusan dengan algoritma perhitungan yang
kompleks. Aplikasi akan digunakan dalam beragam bidang pada
sains. Sekarang, aplikasi dari software tersebut sudah bisa
menyediakan fasilitas dengan interface
dan interaksi tinggi dengan
computer-aided design, system simulation dan lainnya.
4. Embedded software
Software
yang berada dalam sebuah produk atau sistem dan
digunakan untuk mengimplementasi, mengendalikan fitur dan fungsi
bagi end-user dan sistem itu sendiri.
5. Product-line software
Didesain untuk menyediakan kapabilitas spesifik agar dapat
digunakan oleh beragam pelanggan.
6. Web applications
Software yang berfokus pada sebuah jaringan, dimana software jenis
ini digunakan dalam beragam dan banyak aplikasi. Saat ini software
web application
atau WebApps
sudah dapat terintegrasi dengan
database perusahaan dan aplikasi bisnis.
7. Artificial intelligent software
Pembuatan sebuah algoritma untuk menyelesaikan sebuah
permasalahan yang kompleks yang tidak dapat diselesaikan dengan
perhitungan atau analisa langsung. Contoh aplikasi seperti robotik,
sistem pakar, artifisial neural network, dan game playing.
2.2. Agile Development
Agile development merupakan suatu pengembangan yang digunakan untuk
membuat software
dimana developer software
diberikan kebebasan untuk
memilih metode yang tepat sehingga menghasilkan software yang berkualitas
(Pressman, 2010: 65).
  
12
2.2.1.
Scrum
Menurut Pressman (2010:
82) Scrum
adalah metode cepat dalam
pengembangan software yang diciptakan oleh Jeff Sutherland dan
timnya di awal tahun 1990. Dalam beberapa tahun terakhir,
pengembangan lebih lanjut dari metode Scrum
telah dilakukan oleh
Scwaber dan Beedle. 
Prinsip-prinsip Scrum
konsisten dengan petunjuk cepat dan
digunakan sebagai petunjuk aktivitas pengembangan dengan
menggabungkan aktivitas framework: Requirement, Analysis, Design,
Evolution dan Delivery .
Dalam setiap aktivitas framework, tugas-tugas terjadi di dalam
sebuah proses yang disebut sprint. Pekerjaan yang dilakukan dalam
sebuah sprint
(banyaknya sprint
yang diperlukan tiap aktivitas
kerangka kerja akan bervariasi tergantung dari kompleksitas produk
dan ukuran) diadaptasikan ke permasalahan yang terjadi dan
didefinisikan bahkan sering dimodifikasi secara real-time oleh tim
Scrum. Berikut adalah ilustrasi keseluruhan aliran proses Scrum.
Gambar 2.2. Ilustrasi Proses Scrum 
(Sumber: Pressman, 2010 : 83)
Scrum menekankan penggunaan satu set pola proses software yang
telah terbukti efektif untuk proyek dengan timeline yang ketat,
perubahan kebutuhan dan kritikal bisnis. Tiap proses mendefinisikan
  
13
kegiatan pengembangan. Proses-proses tersebut dijabarkan sebagai
berikut:
1.
Backlog
Sebuah list kebutuhan proyek atau fitur menyediakan nilai
bisnis untuk pelanggan. Hal-hal dapat ditambahkan ke backlog
kapanpun (ini adalah bagaimana perubahan terjadi). Manajer
produk menilai backlog dan meng-update prioritas seperti yang
dibutuhkan.
2.
Sprint
Terdiri dari unit kerja yang dibutuhkan untuk mencapai
kebutuhan yang didefinisikan di dalam backlog
yang harus
diselesaikan dengan waktu yang telah difinisikan (biasanya 30
hari).
Selama sprint
terjadi tidak ada perubahan pada rencana
karena itu sprint
memperbolehkan tim untuk bekerja dalam
waktu yang singkat tetapi dalam kondisi lingkungan yang stabil.
3.
Scrum-meetings
Pertemuan singkat yang diadakan setiap hari oleh tim
Scrum. Pada setiap pertemuan terdapat 3 pertanyaan kunci yang
akan ditanyakan dan dijawab oleh semua tim :
1.
Apa yang telah dilakukan sejak pertemuan tim terakhir ?
2.
Hambatan apa yang dihadapi ?
3.
Hal apa yang direncanakan untuk diraih pada pertemuan
berikutnya?
Seorang pemimpin tim atau Scrum
master memimpin rapat dan
menilai respon dari setiap orang. Pertemuan Scrum
membantu tim
mengenali potensial masalah secepat mungkin. Pertemuan Scrum juga
mengarah ke “Knowledge Socialization” dan menghasilkan struktur
tim yang mandiri.
Demos
-
memberi perkembangan software
untuk pengguna
sehingga fungsi yang telah diimplementasi, diadaptasi, didemonstrasi
dan dievaluasi oleh pengguna. Penting untuk dicatat bahwa demo tidak
mungkin berisi semua fungsi yang direncanakan, melainkan fungsi-
fungsi yang dapat diselesaikan dalam time-box yang direncanakan.
  
14
2.3. Sepuluh Prinsip Pengembangan User Interface pada Mobile
Menurut Jonathan Stark (2012), terdapat 10 (sepuluh) prinsip pengembangan
user interface pada mobile
yang didasarkan oleh perbedaan yang terletak antara
desktop dan smartphone. 
Berikut adalah 10 (sepuluh) prinsip-prinsip tersebut :
1.
Berpikir secara mobile
Adanya perbedaan pola pikir dalam merancang aplikasi mobile dan desktop,
sehingga ada baiknya jika mengetahui pola pikir untuk aplikasi mobile yang
akan dirancang yaitu sebagai berikut:
a.
Be focused
Banyak bukan berarti lebih baik, fitur-fitur yang tidak berguna dalam
aplikasi yang akan dibuat sebaiknya dihapus dari rencana.
b.
Be unique
Banyak aplikasi terdahulu atau yang akan muncul yang sejenis dengan
aplikasi yang akan dibuat, sehingga faktor keunikan menjadi
pertimbangan bagi user dalam memilih aplikasi yang akan digunakan.
c.
Be charming
Penting pada sebuah aplikasi untuk mudah digunakan, diakses dan dapat
dihandalkan oleh user
d.
Be considerate
Penting untuk menempatkan diri pada posisi
user
apabila ingin
menciptakan pengalaman menarik bagi user.
2.
Mobile Context
Dalam mobile terdapat 3 (tiga) konteks user utama yaitu:
a.
Bored
Banyak user yang menggunakan aplikasi mobile untuk mengisi
kekosongan waktu luangnya. Dalam konteks ini, aplikasi yang
dibutuhkan adalah aplikasi yang dapat memberikan
pengalaman yang
menyenangkan bagi user dalam penggunaan dengan jangka waktu yang
panjang. Contoh: aplikasi Facebook dan Twitter.
b.
Busy
User dalam konteks
ini adalah user profesional yang sibuk dan
mengharapkan
bahwa suatu aplikasi mobile
dapat menyelesaikan suatu
  
15
tugas dengan cepat. Tampilan desain yang besar dan kuat sangat penting
untuk menunjang keperluan tersebut. Contoh: aplikasi Calendar, Mail.
c.
Lost
User dalam konteks ini adalah user yang berada dalam lingkungan asing,
tetapi memiliki ketertarikan dengan keadaan sekitarnya. Pemberian fitur
penggunaan secara offline dan penggunaan baterai secara hemat sangat
penting untuk menunjang keadaan tersebut. Contoh: aplikasi Maps dan
Foursquare.
3.
Global Guideline
Setiap aplikasi memiliki pendekatan, desain, dan teknik yang berbeda–beda,
namun terdapat kesamaan pedoman secara global sebagai berikut:
a.
Responsive
Jika user melakukan suatu aksi, maka aplikasi harus segera memberikan
respon
terhadap aksi yang dilakukan tersebut.
Bila operasi memakan
waktu yang cukup lama, hal tersebut tidak menjadi masalah selama user
mengetahui apa yang sedang terjadi.
b.
Polish
Polesan
dalam aplikasi mobile
seperti detail
rancangan maupun fitur
merupakan hal yang berarti karena
memiliki pengaruh dan sangat
dihargai oleh user.
c.
Thumbs
Karena jempol merupakan jari yang paling interaktif dalam penggunaan
touchscreen, maka rancangan aplikasi harus mengutamakan kenyamanan
jempol dalam berinteraksi.
d.
Targets
Penting untuk memperhatikan peletakan fungsi-fungsi pada aplikasi.
Sebagai contoh, peletakkan tombol backspace
yang bersebelahan dengan
tombol send
dalam aplikasi SMS merupakan ide yang buruk karena
memungkinkan user melakukan miss-target dalam menekan tombol yang
ada. Kerapatan suatu tombol juga perlu diperhatikan agar dapat ditekan
oleh ujung jari dengan mudah. Umumnya ukuran minimal elemen dari UI
(User Interface) adalah 44x44 pixels.
  
16
e.
Content
Tampilan dengan layar sentuh telah membawa revolusi yang
memungkinkan user untuk berinteraksi secara langsung dengan isi dari
aplikasi. Dengan kemampuan ini maka sebaiknya isi dari aplikasi
ditempatkan di depan dan di tengah. Penggunaan elemen interface seperti
tombol, tab, bars dan sebagainya juga sebaiknya dikurangi sehingga
aplikasi lebih terpusat pada konten aplikasi.
f.
Control
Bila aplikasi memerlukan kontrol,
letakkan control
tersebut
di bagian
bawah layar. Jika tidak diletakkan di bagian bawah, maka user akan
mengalami kesulitan karena bagian isi yang sedang digunakan menjadi
tidak terlihat.
g.
Scrolling
Scrolling harus dihindari sebisa mungkin karena memberikan kesan yang
tidak dapat diprediksi dari isi yang berada di bawah. Tanpa scrolling,
aplikasi terlihat solid karena aplikasi tersebut jelas dan tidak
membingungkan user.
4.
Navigation Models
Banyak model navigasi yang digunakan dalam aplikasi mobile. berikut
contoh model yang umum:
a.
None
Aplikasi sederhana yang hanya menggunakan satu tampilan seperti pada
aplikasi cuaca.
b.
Tab bar
Aplikasi yang menggunakan tab untuk menu seperti pada aplikasi Line.
Biasanya memiliki 3 sampai 6 menu bar.
c.
Drill Down
Aplikasi yang terbentuk seperti sebuah daftar dan hirarki konten detil
seperti pada pengaturan aplikasi.
5.
User Input
Aplikasi yang memiliki keyboard harus memperhatikan kenyamanan user
ketika menggunakannya. Sebagai contoh, pertama tombol-tombol yang akan
ditampilkan pada keyboard harus dipertimbangkan. Usahakan untuk
menampilkan tombol keyboard
yang akan paling sering digunakan. Kedua,
  
17
auto-correct bisa mempersulit user ketika melakukan inputan. Apabila tidak
diperlukan, sebaiknya fitur ini dihilangkan dari aplikasi. Ketiga, berikan
pendukung orientasi landscape
pada keyboard
karena ini akan sangat
membantu bagi orang memiliki jari besar.
6.
Gestures
Salah satu bagian yang baik dari layar sentuh adalah mendukung adanya
penggunaan gestur, ada beberapa hal yang perlu diperhatikan yaitu 
a.
Two hands
Multi-touch gestures membutuhkan 2 sentuhan jari. Biasanya sering
digunakan untuk melakukan zoom
in atau zoom out pada aplikasi yang
memiliki fitur ini. Contohnya seperti digunakan pada aplikasi peta. Fitur
ini digunakan untuk memperbesar atau memperkecil peta.
b.
Invisible
Banyak gesture
yang bisa dilakukan pada sebuah aplikasi, seperti flick
dan swipe. Untuk penggunaan gesture
ini perlu adanya informasi agar
user tidak mengalami kebingungan dalam menjalankan aplikasi.
c.
Nice to have
Dalam beberapa kondisi, gestures merupakan hal yang baik untuk
dimiliki.
d.
No replacement
Belum ada kosakata umum untuk gestures.Sehingga terlalu cepat
untuk
beberapa aplikasi dalam meniadakan visible controls.
7.
Orientation
Orientasi pada aplikasi yang popular
adalah portrait, tetapi jika aplikasi
tersebut akan digunakan untuk banyak pengetikan dan digunakan dalam
jangka waktu yang lama, sebaiknya aplikasi tersebut dibuat dalam orientasi
dengan kombinasi portrait dan landscape.
8.
Communication
Komunikasi yang baik membantu user memahami bahwa setiap aksi yang
telah dilakukan memiliki suatu dampak. Pemberian respon setiap kali user
melakukan aksi dapat dilakukan seperti berikut ini:
a.
Provide feedback
Dalam aplikasi sebaiknya disediakan feedback
instan untuk setiap
interaksi yang dilakukan oleh user. Jika tidak ada feedback, user dapat
  
18
mengira bahwa aplikasi tersebut tidak berjalan dengan baik. Feedback
yang disediakan dapat berupa teks, visual maupun suara. Jika aksi yang
dilakukan oleh user membutuhkan waktu untuk loading, berikan sebuah
spinner atau progress bar
yang menandakan bahwa aplikasi tersebut
sedang memuat aksi yang dilakukannya. 
b.
Modal alerts
Modal alerts
sangat mengganggu user
ketika
berinteraksi dengan
aplikasi. Sebaiknya
modal alerts
dibuat untuk sebuah situasi yang
penting seperti adanya crash
pada aplikasi atau error
yang dapat
membuat aplikasi mengeksekusi force close.
c.
Confirmation
Apabila user akan melakukan aksi yang critical terhadap suatu aplikasi
seperti penghapusan file, sebaiknya aplikasi perlu menampilkan
konfirmasi dialog yang akan meyakinkan bahwa user telah melakukan
aksi yang tepat.
9.
Launching
User yang kembali ke dalam aplikasi dapat
langsung melanjutkan aksi yang
ditinggalkan apabila sebelumnya pernah menggunakan aplikasi tersebut.
Hal ini akan memberi ilusi bahwa aplikasi tersebut cepat dan responsif.
10. First Impression
Terakhir, hal
yang penting dalam perancangan aplikasi untuk mobile adalah
kesan pertama, dan yang paling utama secara kasat mata adalah icon dari
aplikasi. Rancangan Icon tidak perlu rumit melainkan yang dapat
menggambarkan aplikasi apakah yang telah dibuat. Selain itu, pada
peluncuran pertama dari sebuah aplikasi, user
harus merasa nyaman dan
tidak bingung dalam penggunaan. Bila aplikasi memiliki fungsi yang
kompleks maka dapat diberikan ‘tips dan trik’ saat pertama kali digunakan.
2.4. Interaksi Manusia dan Komputer (IMK) 
Berdasarkan Shneiderman dan Plaisant (2010:
22), Interaksi Manusia dan
Komputer (IMK) adalah ilmu yang mempelajari cara merancang interface
yang
baik agar efisien pada saat digunakan oleh user
  
19
2.4.1.
Lima Faktor Manusia Terukur
Menurut Shneiderman dan Plaisant (2010: 32-33), untuk merancang
sebuah sistem yang membuat pengguna lebih nyaman sebelumnya
harus memperhatikan 5 (lima) faktor berikut: 
1.
Time to learn
Berapa lama
waktu yang dibutuhkan seorang user
untuk mengerti
cara menggunakan fitur-fitur yang terdapat di dalam sebuah
aplikasi dengan baik.
2.
Speed of perfomance
Berapa lama suatu fungsi atau serangkaian tugas di dalam aplikasi
tersebut melaksanakan atau menyelesaikan suatu target tugas.
3.
Rate of errors by users
Berapa banyak dan apa saja jenis-jenis kesalahan yang dilakukan
oleh user dalam menyelesaikan suatu tugas.
4.
Retention over time
Berapa lama
user
dapat mengingat dan mengetahui cara
menggunakan fitur-fitur atau fungsi-fungsi pada aplikasi setelah
beberapa jam
kemudian, beberapa hari
kemudian, atau bahkan
beberapa minggu kemudian. 
5.
Subjective satisfaction
Berapa banyak tingkat kepuasan pengguna terhadap
aspek
dari
suatu sistem berdasarkan fungsi dan kegunaan aplikasi tersebut.
2.5. Delapan Aturan Emas (Eight Golden Rules) 
Menurut Shneiderman (2010: 88-89), disebutkan bahwa ada delapan aturan
emas utama yang digunakan sebagai pedoman dalam merancang interface, yaitu:
1.
Berusaha untuk konsisten
Konsistensi terhadap urutan tindakan diperlukan dalam situasi yang sama.
Contohnya pemakaian warna, tata letak, kapitalisasi, font
yang digunakan
pada setiap menu tampilan.
2.
Memenuhi kebutuhan universal
Memahami bahwa setiap user
memiliki kebutuhan yang berbeda-beda.
Perbedaan seperti novice-expert, jarak umur, kecacatan fisik, serta
  
20
keberagaman penguasaan teknologi merupakan syarat yang harus menjadi
pertimbangan dalam
desain. 
Misalnya orang baru (novice) membutuhkan
fitur berupa penjelasan mengenai suatu aplikasi, sedangkan orang yang ahli
(expert) membutuhkan shortcut untuk dapat mempermudah pekerjaannya. 
3.
Memberikan umpan balik yang informatif
Umpan balik dari sistem harus ada untuk setiap tindakan yang dilakukan oleh
user
agar user dapat
mengetahui dampak dari setiap tindakan yang
dilakukannya. Respon sederhana dapat diberikan pada aksi kecil dan sering
dilakukan. Sedangkan untuk aksi besar dan jarang dilakukan, respon dibuat
lebih tegas dan lebih jelas.
4.
Desain dialog untuk bagian penutupan
Urutan tindakan harus disusun dalam kelompok dengan bagian awal, tengah,
dan akhir.
Dengan adanya umpan balik yang informatif pada bagian akhir,
dapat meyakinkan user atas dampak dari tindakan yang dilakukannya.
Misalnya ketika melakukan suatu transaksi online.
5.
Mencegah kesalahan
Sedapat mungkin sistem didesain agar user
tidak dapat membuat kesalahan
yang fatal. Contohnya dengan tidak memperbolehkan karakter alfabet pada
kolom
nomor. Jika user
membuat kesalahan,
interface harus dapat
memberikan instruksi yang mudah dimengerti dan jelas tentang cara
memperbaikinya.
6.
Pembalikan aksi yang sederhana
Dalam suatu aplikasi, pada setiap aksi
sebisa mungkin memiliki fitur
pembalikan aksi. Fitur ini dapat mengurangi kecemasan user karena user tahu
bahwa kesalahan dapat dibatalkan.  
7.
Mendukung pusat kendali internal
Interface akan merespon sesuai dengan tindakan user karena user yang
berperan dalam pengendalian interface.
8.
Mengurangi beban memori jangka pendek
Dikarenakan keterbatasan
manusia dalam memproses informasi jangka
pendek,
perancang harus menghindari interface
yang mengharuskan user
untuk mengingat informasi dari satu bagian yang kemudian
akan digunakan
untuk bagian lain.
  
21
2.6. Database
Menurut Connolly (2010: 65), database
adalah sebuah kumpulan data yang
saling berhubungan satu dengan yang lain secara logikal, dan suatu deskprisi data
yang dirancang untuk memenuhi kebutuhan informasi dalam suatu organisasi.
Keuntungan database yaitu:
a.
Data yang sama dapat digunakan oleh banyak aplikasi dan sistem.
b.
Data disimpan dalam format yang fleksibel, karena database
didefinisikan
secara terpisah dari sistem informasi dan program-program aplikasi yang
akan menggunakan data.
c.
Teknologi database
menyediakan skalabilitas superior, dalam arti database
dan sistem yang menggunakannya dapat ditingkatkan atau dikembangkan
untuk memenuhi kebutuhan-kebutuhan perubahan pada sebuah organisasi.
d.
Kemajuan independensi data yang sangat mengurangi redudansi data telah
meningkatkan fleksibilitas.
2.7. Unified Modeling Language (UML) 
Menurut Whitten et al.(2007:
408) ada suatu konvensi pemodelan yang
digunakan untuk menentukan atau menggambarkan sebuah sistem piranti lunak
yang terkait dengan objek.
UML terdiri dari beberapa tipe diagram antara lain :
2.7.1.
Use Case Diagram 
Menurut Whitten et al. (2007:
271), use case diagram
adalah
diagram yang menggambarkan
sistem
sebagai kumpulan
dari use
cases, actors
(user) dan relationships (hubungan) keduanya. Dengan
kata lain secara grafis menggambarkan siapa yang akan menggunakan
sistem dan dengan cara apa pengguna mengharapkan untuk
berinteraksi dengan sistem.
a.
Use Case
Pemodelan use case
mengidentifikasi dan menggambarkan
fungsi-fungsi sistem dengan menggunakan alat yang disebut use
case.
Use case
menggambarkan fungsi-fungsi sistem dari sudut
pandang pengguna eksternal dan dalam sebuah cara dan
  
22
terminologi yang mereka pahami. Adapun use case
disajikan
dalam bentuk elips horizontal dengan nama use case
terdapat
di
atas, bawah, atau di dalam
elips tersebut. Sebuah use case
merepresentasikan satu tujuan tunggal dari sistem dan
menggambarkan satu rangkaian kegiatan dan interaksi pengguna
untuk mencapai tujuan. Dalam konstruksi, menggunakan use case
membantu para developer (pengembang) dalam pemrograman dan
pengujian. Use case
ini juga berfungsi sebagai dasar untuk
mempersiapkan user
(pengguna)
dan sistem dokumentasi,
ditambah mereka melayani sebagai alat untuk pelatihan user
(pengguna). Dan, karena use cases
mengandung sejumlah besar
fungsi sistem detail, use cases akan menjadi sumber konstan untuk
melakukan validasi sistem.
Gambar 2.3. Use Case
(Sumber: Whitten et.al, 2007: 246)
b.
Aktor
Sebuah use case dipicu oleh user
(pengguna) eksternal yang
disebut Aktor. Aktor
berinteraksi dengan sistem yang disebut
sebagai use case, dengan maksud menyelesaikan beberapa proses
bisnis untuk
menghasilkan sesuatu yang dapat diukur. Seorang
aktor
digambarkan
secara grafis menyerupai manusia dengan
nama peran yang dimainkan dicantumkan pada bagian bawah.
Ada empat macam tipe aktor
yang digunakan dalam
perancangan sistem ini:
1.
Primary system actor (Pelaku sistem utama)
Stakeholder
yang secara langsung berhadapan dengan sistem
untuk menginisialisasi atau memicu kegiatan atau sistem.
Pelaku sistem utama dapat berinteraksi dengan para pelaku
bisnis utama untuk menggunakan sistem aktual.
Use case symbol
  
23
2.
Primary business actor (Pelaku bisnis utama)
Stakeholder
yang menerima manfaat dari use case
yang
dijalankan dengan menerima suatu hasil yang dapat dihitung
atau diobservasi.
3.
External server actor (Pelaku penyedia eksternal)
Stakeholder yang melayani kebutuhan pengguna use case.
4.
External receiver actor (Pelaku penerima eksternal)
Stakeholder
yang menerima suatu hasil yang dapat dihitung
atau observasi dari use case
tapi bukan merupakan primary
actor.
Gambar 2.4. Aktor
(Sumber: Whitten et.al, 2007: 247)
c.
Hubungan (Relationship
Pada diagram use case, hubungan digambarkan sebagai
sebuah garis antara dua simbol. Pemaknaan hubungan
berbeda-
beda tergantung bagaimana garis tersebut digambar dan tipe
simbol apa yang digunakan untuk menghubungkan garis tersebut.
Menurut Whitten dan Bentley (2007:
248-250), ada 5 jenis
hubungan yang ditemukan dalam use case diagram, yaitu :
1.
Associations
Association adalah hubungan antara pelaku/aktor dengan use
case dimana terjadi interaksi di
antara mereka. Association
digambarkan sebagai satu garis lurus yang menghubungkan
  
24
pelaku dan use case. Association
dapat berbentuk dua arah
atau satu arah.
Gambar 2.5. Relasi Associations pada Use Case Diagram
(Sumber: Whitten et.al, 2007: 248)
2.
Extends
Use case yang terdiri dari langkah yang ditarik dari sebuah use
case yang lebih kompleks untuk menyederhanakan kasus yang
orisinil dan untuk memperluas fungsionalitasnya. Use case
yang diperluas memperluas fungsionalitas dari use case
yang
orisinil.
Gambar 2.6. Relasi Extends pada Use Case Diagram
(Sumber: Whitten et.al, 2007: 249)
3.
Uses(or includes)
Use case
yang mempunyai fungsionalitas yang dapat
digunakan oleh use case lain dengan menggabungkan langkah-
langkah yang biasa ditemukan (identik) pada use cases
tersebut, sehingga mengurangi redundansi.
  
25
Gambar 2.7. Relasi Uses pada Use Case Diagram
(Sumber Whitten et.al, 2007: 249)
4.
Depends on
Sebuah hubungan antara use cases yang mengindikasikan
adanya ketergantungan satu use case dengan use case lainnya.
Dengan demikian suatu use case
tidak dapat ditampilkan
sampai use case yang lain telah tampil.
Gambar 2.8. Relasi Depends on pada Use Case Diagram
(Sumber: Whitten et.al, 2007: 250)
5.
Inheritance
Pada saat dua atau lebih aktor berbagi kelakuan umum  -
dengan kata lain mereka dapat menginisiasi use case
yang
sama-  maka yang paling baik adalah mengekstrapolasi
kelakukan umum tersebut dan menetapkannya ke aktor abstrak
baru untuk mengurangi komunikasi redundan dengan sistem.
  
26
Gambar 2.9. Relasi Inheritance pada Use Case Diagram
(Sumber: Whitten et.al, 2007: 250)
d.
Boundary
Menggambarkan batasan dari sistem yang akan dibuat yang
mengelilingi sejumlah use case.
Gambar 2.10. Boundary pada Use Case Diagram
(Sumber Whitten et.al, 2007: 246)
í
î
ï
í
î
ï
Gambar 2.11. Contoh Use Case Diagram
(Sumber: Whitten et al, 2007: 246)
Boundary
  
27
2.7.2.
Use Case Narrative
Setiap use case
didokumentasikan
dengan
narasi
yang
menjelaskan
secara rinci
interaksi
yang diinginkan
antara user
dan
sistem. Menurut (Whitten dan Bentley, 2007: 246), use case narrative
itu sendiri adalah deskripsi
textual mengenai business event dan juga
tentang bagaimana user
berinteraksi dengan sistem untuk
menyelesaikan pekerjaannya. 
2.7.3.
Class Diagram
Class diagram menggambarkan kelas-kelas objek di dalam suatu
sistem beserta hubungan antar kelas-kelas objek tersebut (Whitten dan
Bentley, 2007: 382). 
Class diagram
menggambarkan struktur dan deskripsi class,
package, dan objek beserta hubungan satu dengan lainnya
seperti
pewarisan, asosiasi, dan lain-lain.
Class
pada diagram
class
digambarkan dengan gambar kotak yang terbagi atas tiga bagian,
yaitu: nama kelas, definisi atribut, dan definisi fungsi / operasi.
Class memiliki tiga area pokok yaitu:
1.
Nama kelas (stereotype)
Nama kelas terdapat dibagian atas class yang
menunjukkan
identitas dari sebuah class.
2.
Atribut kelas
Atribut kelas merupakan properti dari sebuah class. Atribut
melambangkan batas nilai yang mungkin ada pada objek dari
class.
3.
Fungsi kelas (Method)
Operasi kelas adalah
sesuatu yang dapat dilakukan oleh suatu
class, atau yang dapat dilakukan oleh class
lain terhadap sebuah
class.
Nama kelas
(-) atribut
(+) method
Gambar 2.12.  Nama, atribut, dan method Pada Class Diagram
(Sumber: Whitten et al, 2007: 666)
  
28
2.7.3.1.
Visibility 
Atribut dan method memiliki salah satu visibility sebagai berikut:
a.
Private
Private atrribute
hanya dapat diakses dan private method
hanya dapat dipanggil oleh method
dalam kelas
yang
mendefinisikan dan ditampilkan dengan simbol (-) dalam Class
Diagram.
b.
Protected
Protected attribute dapat diakses dan protected method
dapat
dipanggil oleh method di kelas yang attribute atau method-nya
mendefinisikan atau merupakan subclass dari kelas itu sendiri.
Protected attribute ditampilkan dengan simbol (#) dalam Class
Diagram.
c.
Public
Public attribute
dapat diakses dan public method
dapat
dipanggil oleh method
di kelas lain
dan ditampilkan dengan
simbol (+) dalam Class Diagram.
2.7.3.2.
Multiplicity
Tabel 2.1 Objek Asosiasi Kelas dan Multiplicity
(Sumber: Whitten et.al, 2007: 377)
Multiplicity
UML
Mulitipicity
Notation
Association with Multiplicity
Association
Meaning
Exactly 1
1
or
leave blank
                                 
Seorang
pekerja
bekerja untuk
1 dan hanya 1
departemen
Zero or one
0..1
Seorang
pekerja
memiliki 1
atau tidak ada
pasangan
Employee
Department
Employee
Department
Has      0..1
Works for
Employee
Spouse
Works for     1
  
29
Multiplicity
UML
Mulitipicity
Notation
Association with Multiplicity
Association
Meaning
Zero or
more
0..*
Or
*
Seorang
pelanggan
dapat tidak
membuat
pembayaran
sampai
membuat
pembayaran
yang banyak
One or more
1..*
Satu
universitas
dapat
menawarkan
setidaknya 1
mata kuliah
hingga banyak
mata kuliah
Specific
range
7..9
Sebuah
kelompok
memiliki 7, 8,
atau 9 jadwal
permainan
2.7.3.3.
Relationship
Berikut merupakan hubungan antar class dalam class diagram:
1.
Association
Sebuah asosiasi merupakan sebuah hubungan paling umum antara
dua class. Garis ini melambangkan tipe-tipe hubungan dan juga
hukum-hukum multiplicity
pada sebuah hubungan seperti one to
one, one to many, many to many.
University
Course
Offers      
1..*
Team
Game
Has 
Scheduled   1..*
   Makes   0..*
Customer
Payment
Customer
Payment
   Makes       *
  
30
Gambar 2.13.  Relasi Association pada Class Diagram
(Sumber: Whitten et al, 2007: 661)
2.
Composition
Relasi yang dimiliki pada sebuah class yang tidak dapat berdiri
sendiri dan harus merupakan bagian dari class yang lain.
Gambar 2.14. Relasi Composition pada Class Diagram
(Sumber: Whitten et al, 2007: 379)
3.
Aggregation 
Aggregation
mengindikasikan keseluruhan bagian relationship
dan biasanya disebut sebagai relasi “mempunyai sebuah” atau
“bagian dari”.
  
31
G
ambar 2.15. Relasi Aggregation pada Class Diagram
(Sumber: Whitten et al, 2007: 379)
4.
Generalization
Sebuah relasi generalisasi sepadan dengan sebuah relasi
inheritance pada konsep pemrograman berorientasi objek.
Generalisasi dilambangkan dengan sebuah panah dengan kepala
panah yang tidak solid yang mengarah ke kelas induk.
Gambar 2.16. Relasi Generalization pada Class Diagram
(Sumber: Whitten et al, 2007: 661)
  
32
Gambar 2.17. Class Diagram
(Sumber: Whitten et.al, 2007: 442)
  
33
2.7.4.
Sequence Diagram
Menurut Whitten et. al (2007: 442), sequence diagram
adalah
diagram UML yang mecontohkan logika dari sebuah use case dengan
menggambarkan interaksi dari pesan
-
pesan antar objek
-
objek
dalam urutan waktu. 
Gambar 2.18. Contoh Sequence Diagram
(Sumber Whitten et.al, 2007: 659)
Gambar 2.22
mengilustrasikan contoh sequence diagram beserta
beberapa catatan, yaitu:
1.
Actor : actor berinteraksi dengan user interface. Actor
ditampilkan  dengan simbol actor pada use case
Gambar 2.19. Actor pada sequence diagram
(Sumber: Whitten et al, 2007: 659)
  
34
2.
Object class : kotak yang menunjukan kode class.
Gambar 2.20. Object pada sequence diagram
(Sumber: Whitten et al, 2007: 659)
3.
Messages : menunjukan pesan yang dikirim ke class. Setiap pesan
memanggil behavior dari class yang ditunjuk. Kata
pertama
dimulai dengan menggunakan lowercase dan kata selanjutnya
dimulai dengan uppercase tanpa menggunakan spasi.
Gambar 2.21. Message pada sequence diagram
(Sumber: Whitten et al, 2007: 659)
4.
Activation bars Representasi dari lamanya waktu suatu objek
digunakan.
Gambar 2.22. Activation bars pada sequence diagram
(Sumber: Whitten et al, 2007: 659)
5.
Return message : tanda panah mendatar dan putus-putus,
merupakan pengembalian
nilai dari behavior
seperti nilai
true/false yang menandakan suatu keberhasilan.
  
35
 
Gambar 2.23. Return Message pada sequence diagram
(Sumber: Whitten et al, 2007: 659)
6.
Self-call : ketika objek memanggil method-nya sendiri.
î
Gambar 2.24. Self-call pada sequence diagram
(Sumber: Whitten et al, 2007: 659)
7.
Frame : berupa kotak yang dapat digunakan sebagai penanda area
pada diagram yang mengalami perulangan (looping), seleksi
(alternative), atau memiliki aturan tertentu (optional).
Gambar 2.25. Frame pada sequence diagram
(Sumber: Whitten et al, 2007: 659)
2.8. Entity Relationship Diagram (ERD)
Menurut Whitten et al.
(2007: 270-271), entity relationship diagram adalah
sebuah model data
yang menggunakan
beberapa
notasi
untuk menggambarkan
data dalam hal entitas dan hubungan yang digambarkan oleh data tersebut.
Penggambaran ERD menggunakan beberapa simbol, yakni:
a.
Entity ( Entitas )
Entitas
merupakan sesuatu yang diperlukan yang ada didalam sistem untuk
mengambil dan menyimpan data. Entitas diberi nama dengan kata benda dan
  
36
dapat dikelompokkan dalam empat jenis nama yaitu; orang, benda, lokasi,
kejadian, dan konsep. Entitas digambarkan dengan bentuk persegi panjang.
b.
Attribute
Attribute merupakan properti deskriptif atau karakteristik yang dimiliki oleh
tiap-tiap entity. Attribute berfungsi untuk menjelaskan karakteristik
-
karakteristik yang dimiliki entity tersebut. 
c.
Relationship
Relationship
merupakan hubungan bisnis yang alami antara entity atau
banyak entity.
Cardinality mendefinisikan jumlah minimum dan maksimum
dari kejadian satu entitas yang mungkin berhubungan dengan suatu kejadian
dari entity lain.
2.9. PHP 
Menurut Welling dan Laura Thomson (2008:  2-3), PHP adalah bahasa server-
side scripting yang didesain secara spesifik untuk web. Di dalam halaman
HTML, kode PHP dapat di-embed yang nantinya akan dieksekusi setiap waktu
halaman web
tersebut dikunjungi. Kode PHP diterjemahkan di web server
dan mengolah HTML atau output lain yang
telah pengunjung masukkan
sebagai
input. PHP adalah bahasa
Open Source, yang berarti source code-nya
dapat diakses, digunakan, diubah, dan didistribusi kembali tanpa perlu
membayar. PHP awalnya singkatan dari Personal Home Page
tetapi diubah
menjadi PHP Hypertext Preprocessor.
2.10.
PHP Laravel
2.10.1. Framework Laravel 4 
Laravel 4 adalah sebuah open source web application framework
yang dibuat oleh Taylor Otwell dan dikelola oleh dirinya dan
komunitasnya. Selama dua setengah tahun, web developer
sudah
banyak yang mengintegrasikan framework tersebut kepada proyek
web karena mayoritas pekerjaan sederhana yang harus dilakukan oleh
web
developer
mana saja sudah dilakukan secara otomatis dengan
framework
ini. Hasilnya dapat membuat aplikasi dengan lebih cepat.
(Surguy, 2014: 1).
  
37
2.10.2. Laravel Dan Pola Model-View-Controller 
Secara otomatis, pada folder app sudah terdapat folder models,
views, dan controllers. Ini membuktikan implementasi framework
tersebut dengan pola MVC. Model View Controller merupakan
sebuah pola rancangan pemrograman yang memisahkan business
logic (alur logika), data logic (penyimpanan data), dan presentation
logic (antarmuka dari aplikasi) atau secara sederhana dapat dikatakan
bahwa MVC memisahkan antara desain, data, dan proses.
Manfaat
utama dari pola tersebut adalah membantu dalam merubah dan
menambahkan fitur-fitur yang sudah terdapat di aplikasi web
yang
sudah jadi. (Surguy, 2014: 3).
2.11.
MySQL
Menurut Welling dan Laura Thomson (2008: 4), MySQL (dilafalkan My-
Ess-Que-Ell) adalah relational database management system (RDBMS) yang
sangat cepat dan bagus. Database memungkinkan data disimpan, dicari,
disortir, dan diambil secara efisien. MySQL server
mengatur akses ke data
untuk memastikan banyak pengguna dapat bekerja dengan data tersebut
secara bersamaan, untuk menyediakan akses data yang cepat, dan
memastikan hanya orang yang memiliki ijin yang bisa mengaksesnya. Karena
itu, MySQL adalah RDBMS yang dapat dijalankan bersama dengan server
yang bisa digunakan banyak pengguna dan banyak proses secara bersamaan.
2.12.
Java
Menurut Sharan (2014: 11), Java adalah bahasa pemrograman umum yang
memiliki
fitur untuk mendukung
pemrograman berbasis
pada
paradigma
object-oriented, prosedural, dan fungsional.
Versi
awal dari
platform Java
dirilis oleh Sun Microsystems
(bagian dari Oracle Corporation sejak Januari
2010) pada tahun 1995.
Perkembangan
bahasa
pemrograman
Java
dimulai
pada tahun 1991.
Awalnya, bahasa
itu disebut
Oak
dan
itu dimaksudkan
untuk digunakan dalam set-top box untuk televisi.
Java, seperti bahasa pemrograman lainnya, juga sangat dipengaruhi oleh
peningkatan fitur pada bahasa yang sudah lebih dulu ada dan perubahan
lingkungan komputasi. Java didesain dengan menggunakan warisan fitur dan
  
38
karakteristik C dan C++ yang sudah diperbaiki. Dari segi sintaks, Java
mengadaptasinya dari bahasa pemrograman C++, sehingga banyak kalangan
programmer
yang menyebut Java adalah C++ versi internet. Namun hal ini
tidak semata-mata membuat Java dibuat sebagai pengganti C++ karena pada
dasarnya ada beberapa fitur C++ yang tidak ada pada Java.
Tujuan awal dikembangkannya Java adalah untuk menciptakan suatu
bahasa pemrograman yang dapat berjalan pada berbagai macam platform.
Pada waktu itu, kebanyakan CPU yang ada di pasaran memiliki keterbatasan
dalam menjalankan compiler untuk mengkompilasi suatu bahasa
pemrograman tertentu. Memang, ada beberapa vendor independen yang
sudah mampu untuk membuat compiler sendiri untuk mengkompilasi bahasa
pemrograman pada platform yang berbeda, tapi hal ini sangatlah tidak efisien
dalam hal waktu dan biaya. Sehingga muncul keterbatasan yang sangat
menghambat dalam mengintegrasikan satu sistem dengan sistem lainnya yang
berbeda platform. Inilah yang menjadi tantangan sekaligus menjadi tujuan
bagi pengembangan Java.
Selain itu, Java dikembangkan untuk mendukung pemrograman pada
perangkat
kecil, Java memiliki karakteristik berukuran kecil, efisien, dan
portable untuk berbagai hardware. Perkembangannya pernah terhenti karena
tidak ada yang tertarik dan tidak memiliki pasar seperti yang diramalkan.
Ketika teknologi internet berkembang, Java diarahkan untuk menjadi bahasa
pemograman internet karena fitur – fitur Java seperti architecture neural, real
time, reliable dan secure sangat sesuai untuk pengembangan internet.
2.13.
Android
2.13.1. Pengertian Android
Android merupakan sistem operasi perangkat mobile berbasis linux
yang mencakup sistem operasi, middleware, dan aplikasi. Android
juga merupakan platform terbuka (Open Source) bagi para developer.
(Supardi, 2014: 2).
  
39
2.13.2. Android Architecture
Gambar 2.26. Arsitektur Android
(Sumber: Android Developers - http://developer.android.com)
2.14.
Eclipse 
Eclipse merupakan sebuah aplikasi open source dan bersifat multi bahasa
pemrograman yang memiliki Integrated Development Environment (IDE) dan
fitur extensible
plug-in. Tidak hanya bahasa pemrograman Java saja yang
dapat digunakan pada Eclipse. Dengan penambahan beberapa plugins,
Eclipse dapat menerjemahkan bahasa pemrograman lainnya, seperti Ada,
C/C++, Android, dan sebagainya. Sifatnya yang bersifat open source
membuat Eclipse banyak digunakan oleh developer software
(Anonim2,
2012).
2.15.
Android Development Tools (ADT)
Safaat (2012:6) juga memaparkan bahwa Android Development Tools
(ADT)
adalah plug-in yang didesain untuk IDE Eclipse yang memberi
kemudahan dalam mengembangkan aplikasi Android karena berisikan
Application Programming Interface (API) Android dan auto generate method
untuk Android programming. ADT juga dapat melakukan running aplikasi
  
40
menggunakan Android SDK dan melakukan pembuatan Android
Package
(.apk) yang digunakan untuk distribusi aplikasi Android yang dirancang.
Mengembangkan aplikasi Android dengan menggunakan ADT di Eclipse
sangat mudah dan baik untuk memulai mengembangkan aplikasi Android.
Semakin tinggi platform Android yang digunakan, maka penggunaan ADT
dianjurkan untuk memakai versi yang lebih baru, karena munculnya platform
baru diikuti oleh munculnya versi ADT yang terbaru.
2.16.
Software Development Kit (SDK)
Menurut Safaat (2012 : 5), Software Development Kit (SDK) adalah tools
API  yang diperlukan untuk mengembangkan aplikasi pada platform Android
yang menggunakan bahasa pemrograman Java. Android merupakan subset
perangkat lunak untuk ponsel yang meliputi sistem operasi, middleware dan
aplikasi kunci yang di-release oleh Google. Saat ini disediakan Android SDK
sebagai alat bantu dan API untuk mengembangkan aplikasi pada platform
Android menggunakan bahasa pemrograman Java
2.17.
Google Cloud Messagine for Android
Google Cloud Messaging (GCM) untuk Android adalah sebuah layanan
yang memungkinkan Anda untuk mengirim data dari server ke pengguna
perangkat Android, dan juga untuk menerima pesan dari perangkat pada
koneksi yang sama. Layanan GCM menangani semua aspek antrian pesan
dan pengiriman ke target aplikasi Android yang berjalan pada perangkat
target, dan itu benar-benar gratis (Anonim3, 2012).
Gambar 2.27. Google Cloud Messaging
(Sumber:  http://www.androidhive.info)
  
41
Berikut penjelasan dari Gambar 2.27 sebagai berikut:
1.
Pertama, perangkat Android mengirim sender id
dan application id
ke
sever GCM untuk diregistrasi.
2.
Setelah registrasi GCM
id sukses, server mengirimkan registration id ke
perangkat Android.
3.
Setelah menerima registration id, device akan mengirim registration id
ke server.
4.
Server
akan
menyimpan
registration id
dalam database
untuk
penggunaan selanjutnya :
4.1. Setiap kali push notification, server mengirim pesan ke GCM Server
bersama dengan
registration id
perangkat
(yang disimpan
sebelumnya dalam database).
4.2. Server
GCM
akan
mengirim
pesan
ke perangkat mobile
dengan
menggunakan registration id sebagai pengenal.
2.18.
JSON (JavaScript Object Notation
JSON
(JavaScript Object Notation) adalah format pertukaran data yang
ringan, mudah dibaca dan ditulis oleh manusia, serta mudah diterjemahkan
dan dibuat (generate) oleh komputer. Format ini dibuat berdasarkan bagian
Desember 1999. JSON merupakan format teks yang tidak bergantung pada
bahasa pemprograman apapun karena menggunakan gaya bahasa yang umum
digunakan oleh programmer keluarga C termasuk C, C++, C#, Java,
JavaScript, Perl, Python dll. Oleh karena sifat-sifat tersebut, menjadikan
JSON ideal sebagai bahasa pertukaran
-
data. Sebuah objek JSON dimulai
dengan { dan diakhiri dengan } (Anonim4, 2012).
JSON terbuat dari dua struktur:
a.
Kumpulan pasangan nama/nilai. Pada beberapa bahasa, hal ini
dinyatakan sebagai objek (object), rekaman (record), struktur (struct),
kamus (dictionary), tabel hash (hash table), daftar berkunci (keyed list),
b.
Daftar nilai terurutkan (an ordered list of values). Pada kebanyakan
bahasa, hal ini dinyatakan sebagai larik (array), vektor (vector), daftar
(list), atau urutan (sequence). 
  
42
Struktur-struktur data ini disebut sebagai struktur data universal. Pada
dasarnya, semua bahasa pemprograman moderen mendukung struktur data
ini dalam bentuk yang
sama maupun berlainan. Hal ini pantas disebut
demikian karena format data mudah dipertukarkan dengan bahasa-bahasa
pemprograman yang juga berdasarkan pada struktur data ini.
JSON menggunakan bentuk sebagai berikut:
Objek
adalah kumpulan pasangan kata keys
value
yang tidak terurutkan,
yang ditutup dengan tanda baca ‘{‘ (kurung kurawal buka) dan ‘}’ (kurung
kurawal tutup), dan dipisahkan dengan tanda baca ‘,’ (koma). Keys dan value
dipisahkan menggunakan titik dua (:). Objek dinilai sebagai array asosiatif
atau hash table. Keys
merupakan string
sederhana dan values dapat berupa
array, string, angka, Boolean, atau null.
Larik
(array) adalah kumpulan nilai yang terurutkan yang dapat diakses
dengan index. Larik dimulai dengan [ (kurung kotak buka) dan diakhiri
dengan ] (kurung kotak tutup). Setiap nilai dipisahkan oleh , (koma).
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.
  
43
String
adalah kumpulan dari nol atau lebih karakter Unicode, yang
dibungkus dengan tanda kutip ganda. Di dalam string
dapat digunakan
backslash escapes
"\" untuk membentuk karakter khusus. Sebuah karakter
mewakili karakter tunggal pada string. String sangat mirip dengan string C
atau Java.
Angka
adalah sangat mirip dengan angka di C atau Java, kecuali format
oktal dan heksadesimal tidak digunakan.
Spasi kosong (whitespace) dapat disisipkan di antara pasangan tanda-tanda
tersebut, kecuali beberapa detil encoding
yang secara lengkap dipaparkan
oleh bahasa pemprograman yang bersangkutan.