BAB 2 LANDASAN TEORI 2.1. -...
Transcript of BAB 2 LANDASAN TEORI 2.1. -...
9
BAB 2
LANDASAN TEORI
2.1. Titik Menurut Ryan Gladhill (2008), titik adalah posisi atau lokasi yang tepat
pada suatu bidang. Dalam istilah geometris, titik adalah sepasang koordinat x, y.
Titik merupakan posisi atau lokasi pada permukaan bidang. (sumber :
http://gdbasics.com)
2.2. Garis Garis adalah rangkaian tak terbatas dari titik yang memiliki panjang bukan
ketebalan. Garis merupakan hubungan antara dua titik, atau merupakan jalur dari
pergerakan titik. (sumber : http://gdbasics.com)
2.3. Android Android adalah sistem operasi untuk perangkat mobile berbasis linux yang
mencakup sistem operasi, middleware, dan aplikasi. Android menyediakan platform
terbuka bagi para pengembang untuk dapat menciptakan aplikasi mereka sendiri
yang digunakan untuk perangkat lunak mobile seperti handphone, smartphone, dan
tablet.
Pada mulanya Android Inc mengembangkan perangkat lunak untuk
ponsel/smartphone dan hadir sebagai pendatang baru dalam industri tersebut.
Kemudian Google membeli Android Inc membuatnya menjadi open source,
sehingga pengembang dapat menggunakan kode sumber tanpa dipungut biaya.
Android juga didukung oleh komunitas open source yaitu kumpulan orang-
orang yang dapat saling bekerja sama dan saling membantu memanfaatkan kode
10
sumber yang tersedia untuk dipelajari, diperbaiki, dan dirubah dalam menciptakan
dan serta mengembangkan aplikasi.
Menurut Nazruddin Safaat (2011, h.2), Android merupakan platform mobile
yang memiliki tiga hal sebagai berikut:
1. Lengkap (complete platform), karena Android menyediakan banyak tools
dalam membangun perangkat lunak dan memiliki peluang untuk
mengembangkan aplikasi.
2. Terbuka (open source platform), karena pengembang secara bebas dapat
mengembangkan aplikasi dan platform Android disediakan melalui
lisensi open source.
3. Free (free platform), karena Android merupakan plaform yang bebas
untuk dikembangkan dan tidak ada royalti untuk pengembangan pada
platform Android.
Android memiliki versi-versi sebagai berikut:
• Android versi 1.1
• Android versi 1.5 (Cupcake)
• Android versi 1.6 (Donut)
• Android versi 2.0/2.1 (Eclair)
• Android versi 2.2 (Froyo: Frozen Yoghurt)
• Android versi 2.3 (Gingerbread)
• Android versi 3.0/3.1 (Honeycomb)
• Android versi 4.0 (Ice Cream)
11
2.3.1. Android versi 3.0/3.1 (Honeycomb)
Android versi 3.0/3.1 merupakan versi Android yang dirancang khusus
untuk perangkat tablet yang berbeda dengan versi-versi sebelumnya yang
hanya berjalan di perangkat smartphone. Android versi 3.0 dibuat untuk
mendukung untuk ukuran layar yang lebih besar seperti tablet dalam hal user
interface dan fitur-fitur yang berbeda dengan versi sebelumnya.
2.3.2. Dalvik Virtual Machine (DVM)
Android menggunakan Dalvik Virtual Machine (DVM) yaitu virtual
sendiri yang dirancang agar fitur-fitur berjalan pada perangkat mobile. Dalvik
Virtual Machine (DVM) merupakan register bases. DVM didesain dan
ditulis oleh Don Bornsten dan beberapa engineers Google lainnya. Untuk
menangani fungsionalitas tingkat rendah termasuk keamanan, threading, dan
proses manajemen memori. Dalvik Virtual Machine menggunakan kernel
linux yang memungkinkan pengguna untuk menulis aplikasi C/C++ seperti
pada OS linux pada umumnya.
DVM merupakan mesin virtual yang mengeksekusi file dalam Dalvik
Executeable (.Dex) Format yaitu sebuah format yang dioptimalkan untuk
penyimpanan yang efisien, eksekusi, dan pemetaan memori. Semua
hardware yang berbasis Android dijalankan menggunakan virtual machine
untuk mengeksekusi aplikasi. DVM mengeksekusi executable file yang
diciptakan dengan mengubah class bahasa java dan dikompilas i
menggunakan tools yang disediakan dalam SDK Android.
12
2.3.3. Android Software Development Kit (SDK)
Android SDK adalah tools Application Programming Interface (API)
yang dibutuhkan untuk mengembangkan aplikasi ber-platform Android
dengan menggunakan bahasa pemrograman java. Pada Android SDK sudah
tersedia
2.3.4. Arsitektur Android
Dalam sistem operasi Android memiliki bagian-bagian sebagai berikut :
• Applications
Applications adalah layer yang berisi satu set aplikasi inti yang terdiri
dari klien email, program SMS, peta, browser, kontak, dan lain-lain.
Semua aplikasi ditulis menggunakan bahasa pemrograman Java.
• Application Framework
Android merupakan sebuah platform pengembangan terbuka (Open
Development Platform) sehingga pengembang dapat membangun
aplikasi yang inovatif. Pengembang secara bebas dapat mengakses
perangkat keras, mengakses informasi, menjalankan service
background, mengatur alarm, menambahkan notifikasi ke status bar,
dan lain-lain.
Application Framework merupakan layer yang memberikan akses ke
API secara penuh kepada pengembang untuk membuat dan
mengembangkan aplikasi inti di dalam Android. Seperangkat layanan
dan sistem yang disediakan oleh Applications Framework adalah
sebagai berikut:
13
‐ Views yang digunakan untuk membangun sebuah aplikasi,
termasuk list, grid, teks, tombol, dan web browser yang dapat
di-embed.
‐ Content Provider yang memungkinkan aplikasi untuk
mengakses data dari aplikasi lain (seperti kontak) atau untuk
berbagi data mereka sendiri.
‐ Resource Manager yaitu penyedia akses string lokal, grafik,
dan tata letak dokumen
‐ Notification Manager yang memungkinkan semua aplikasi
untuk menampilkan notifikasi dalam status bar
‐ Activity Manager yang mengelola siklus hidup aplikasi dan
menyediakan navigasi
‐ Libraries
Merupakan layer yang mencakup satu set libraries C/C++
yang digunakan oleh berbagai komponen dari sistem Android
untuk menjalankan aplikasi.
Beberapa libraries C/C++ tersebut antara lain sebagai berikut :
Media Libraries untuk mendukung pemutaran dan
perekaman audio, format video, dan gambar statis,
termasuk MPEG4, H.256, MP3, AAC, AAC, AMR, JPG,
dan PNG.
Surface Manager untuk mengelola akses ke subsistem
layar
14
LibWebCore merupakan web browser modern dengan
engine embeded web view.
3D libraries yang merupakan implementasi OpenGL ES
1,0 API sehingga mengoptimalkan 3D.
SQLite merupakan mesin database relasional yang
tersedia untuk mendukung database untuk semua aplikasi.
• Android Run Time
Setiap aplikasi Android berjalan dalam prosesnya sendiri. Contoh
seperti Dalvik Virtual Machine (DVM) mengeksekusi file dalam
Dalvik executable (.Dex). Virtual mesin ini berbasis register dan
menjalankan class yang dikompilasi oleh Java Compiler, sehingga
dapat menjalankan fungsi-fungsi secara optimal.
• Linux Kernel
Linux kernel merupakan layer yang melayani sistem inti dalam
Android seperti keamanan, manajemen memori, manajemen proses,
driver, dan sistem-sistem operasi Android lainnya. Android
menggunakan linux kernel versi 2.6.
15
Gambar 2.1 Arsitektur Android
(Sumber: http://developer.android.com/guide/basics/what-is-android.html)
2.4. Java Menurut Jeff Friesen (2010, p.1), Java adalah platform untuk mengeksekusi
program dan terdiri dari library untuk menjalankan program dan berinteraks i
dengan sistem operasi yang mendasarinya. Java adalah bahasa pemrograman yang
sederhana, berorientasi objek, terdistribusi, diinterpretasikan, kuat, aman, arsitektur
netral, portabel, kinerja tinggi, multithreaded, dan dinamis. Java dapat dijalankan di
berbagai jenis sistem operasi dan arsitektur komputer.
Java pertama kali dikembangkan oleh tim yang dipimpin oleh James Gosling
di Sun Microsystem. Pada mula nya disebut Oak yang dirancang pada tahun 1991
untuk digunakan dalam chip tertanam dalam peralatan elektronik konsumen.
16
Kemudian pada tahun 1995, berganti nama menjadi Java yang didesain ulang untuk
mengembangkan aplikasi internet.
2.5. PHP PHP Hypertext Preprocessor (PHP) merupakan suatu bahasa yang bersifat
server side (berjalan di sisi server). PHP sendiri dapat disisipkan dalam bahasa
HTML. Karena berjalan di sisi server, maka bahasa PHP dieksekusi di server,
kemudian dikirimkan hasilnya dalam bentuk HTML. Oleh karena itu, kode PHP
tidak terlihat. Sebagian besar sintaks PHP dipinjam dari C, Java, dan Perl. Tujuan
diciptakannya bahasa ini adalah agar pengembang web dapat menulis halaman web
secara dinamis dan cepat.
Menurut Vikram Vaswani (2009, p.5), PHP memiliki beberapa keunggulan,
antara lain:
• Kinerja
Script yang ditulis dalam PHP mengeksekusi lebih cepat dibandingkan
yang ditulis dalam bahasa script lain.
• Portabilitas
PHP tersedia untuk UNIX, Microsoft Windows, Mac OS, dan OS/2. PHP
merupakan program portable antar platform. Kemampuan untuk
melakukan cross-platform merupakan salah satu keunggulan bagi
lingkungan perusahaan yang multiplatform.
• Kemudahan dalam penggunaan
17
PHP adalah bahasa pemograman yang sangat canggih dan dilengkapi
dengan 5000 fungsi. Hal ini merupakan salah satu alasan PHP disukai
sebagai alat prototyping untuk aplikasi berbasis web.
• Open source
PHP merupakan bahasa open source dan tersedia secara bebas di web
serta dapat digunakan tanpa biaya lisensi.
2.5.1. Prinsip Kerja PHP
Prinsip kerja PHP hampir sama dengan HTML yaitu diawali dengan
mengirimkan permintaan halaman web oleh browser. Klien memanggil
berdasarkan URL (Uniform Resource Locator) melalui browser, kemudian
kode-kode PHP diterjemahkan oleh mesin PHP ke kode HTML terlebih
dahulu sebelum diterjemahkan browser untuk ditampilkan di klien.
Gambar 2.2 Konsep Kerja PHP
18
2.6. MySQL
Menurut Larry Ullman (2006, pp.ix-x), MySQL adalah Database
Management System (DBMS) untuk database relasional, oleh karena itu MySQL
adalah sebuah RDBMS (Relational Database Management System). Database
adalah sekumpulan (sering saling terkait) data, baik teks, angka, atau file biner,
yang disimpan dan diselenggarakan oleh DBMS. Secara teknis, MySQL adalah
sebuah aplikasi yang mengelola file yang disebut database.
MySQL adalah sebuah aplikasi open source, seperti PHP dan beberapa jenis
dari Unix yang berarti user dapat secara bebas untuk menjalankan atau bahkan
memodifikasi kode sumber yang dapat di-download di internet.
2.7. SQLite
SQLite adalah aplikasi embedded yang digunakan untuk mengelola
database. SQLite merupakan aplikasi open source yang dirilis pada tahun 2000 dan
dirancang untuk menyediakan cara penyimpanan yang cepat dan penggunaan
memori yang sangat sedikit untuk aplikasi yang mengelola data. Menurut Grant
Allen dan Mike Owens (2010, p.1) SQLite dapat mengelola data tanpa overhead
yang sering terjadi pada sistem manajemen database relasional. Dalam
penggunaannya SQLite sangat portable, mudah digunakan, efisien, dan mudah
digunakan.
SQLite adalah database yang tertanam di dalam sebuah program. Program
inilah yang akan melakukan pekerjaan dan mengolah data. Salah satu keuntungan
dari memiliki serverdatabase di dalam program yaitu tidak ada konfiguras i
jaringan, persyaratan administrasi yang diperlukan untuk mengakses database
19
tersebut, tidak perlu memikirkan kekhawatiran dari adanya firewall, dan tidak perlu
membuang waktu untuk mengurus authentication untuk mengakses data. Baik klien
dan server dijalankan bersama-sama dalam proses yang sama. Overhead tidak
terjadi karena mengurangi, menyederhanakan administrasi database, dan
membuatnya lebih mudah untuk menyebarkan aplikasi karena segala data yang
dibutuhkan dikompilasi langsung di program.
2.7.1. SQLite di Android
Menurut Nazruddin Safaat H (2011, p.158), Android memiliki fasilitas
untuk membuat database yang dikenal dengan SQLite. Di dalam Android,
SQLite termasuk dalam Android runtime, sehingga setiap versi dari Android
dapat membuat database dengan SQLite.
Untuk menggunakan SQLite dalam pembuatan database pada Android
tidak tersedia secara otomatis, melainkan harus meng-createdatabase sendiri,
mendefinisikan tabel, index, serta datanya. Untuk membuat dan membuka
database menggunakan libraries, yaitu:
import android.database.sqlite.SQLiteOpenHelper
Libraries tersebut menyediakan tiga metode yaitu:
• Constructor, menyediakan representasi versi dari database skema yang
kita gunakan.
• onCreate(), menyediakan SQLiteDatabase object yang kita butuhkan
dalam definisi tabel dan inisialisasi data.
• onUpgrade(), menyediakan fasilitas convertdatabase dari skema database
versi yang lama ke skema database versi yang baru.
20
2.8. WebSocket
WebSocketadalah teknologi yang dirancang untuk menyederhanakan
kompleksitas pada komunikasi bi-directional, full-duplex melalui socket
Transmission Control Protocol (TCP) tunggal dimana pesan dapat dikirimkan
antara klien dan server. WebSocket mengunakan protokol berbasiskan HTTP.
Koneksi WebSocket dibentuk dengan mengubah protokol HTTP menjadi protokol
WebSocket ketika melakukan handshake antara klien dan server. (sumber:
http://websocket.org/).
2.8.1. Protocol HTTP/1.1
HTTP adalah protokol jaringan untuk web yang digunakan untuk
berkomunikasi antara klien dan server. HTTP hampir selalu menggunakan TCP
sebagai protokol transport. TCP bekerja sangat baik dalam hal koneksi jangka
panjang, tetapi bentuk HTTP menggunakan koneksi TCP yang baru setiap
melakukan permintaan, sehingga setiap permintaan yang dikeluarkan akan
memerlukan pengaturan koneksi TCP yang baru. Karena hal tersebut bandwidth
yang tersedia tidak dipergunakan dengan maksimal. Versi HTTP terakhir yang
menggunakan koneksi tersebut adalah HTTP/1.0.
HTTP/1.1 yang merupakan protokol HTTP yang diterapkan oleh
WebSocket telah mengatasi permasalahan tersebut. Karena sebelumnya HTTP/1.0
tidak membuat ketentuan terhadap koneksi tetap. Beberapa implementasi dari
HTTP/1.0 menggunakan header yang tetap hidup untuk menahan koneksi namun
pola tersebut tidak dapat beroperasi dengan intermediate proxy. HTTP/1.1
menyediakan beberapa solusi umum dengan melakukan koneksi tetap sebagai
21
standar. HTTP/1.1 klien, server, dan proxy menganggap koneksi akan tetap
terbuka setelah transmisi response dan request. Protokol memperbolehkan
implementasi untuk menutup koneksi kapan saja.
(Sumber: http://baraknaamafinal.appspot.com/http.jsp)
Meskipun HTTP/1.1 mendukung transmisi dari berbagai permintaan pada
koneksi TCP tunggal, setiap request harus dapat terkirim dalam satu pesan yang
saling berdampingan, dan server harus mengirim respon secara urutan apa yang
telah diterimanya dari request. Namun klien tidak perlu menunggu untuk
menerima response untuk mengirimkan pesan pada koneksi yang sama. Dalam
kata lain, klien dapat mengirimkan request yang banyak pada koneksi TCP
sebelum menerima response apapun. Hal ini dapat memberikan peforma yang baik
karena tidak memerlukan waktu menunggu lagi dalam pengiriman pesan.
Gambar 2.3 Arsitektur Protocol HTTP/1.1
22
2.9. JavaScript
JavaScript adalah bahasa pemograman web. Mayoritas situs web modern
menggunakan JavaScript, semua web browser yang modern pada desktop, konsol
game, tablet, dan smartphone termasuk dalam interpreter dari JavaScript.
JavaScript merupakan bagian dari 3 serangkai teknologi yang dipelajari oleh
pengembang yang terdiri dari HTML untuk menentukan isi dari halaman web, CSS
untuk menentukan tampilan halaman web, dan JavaScript untuk menentukan
perilaku dari halaman web.
Menurut David Planagan (2011, p.1), JavaScript merupakan bahasa
pemrograman tingkat tinggi yang dinamis dan cocok untuk gaya pemrograman
berorientasi objek dan fungsional. JavaScript berasal dari sintaks Java namun
berbeda dari bahasa pemrograman Java. JavaScript telah menjadi bahasa yang
umum, tujuan yang kuat, dan efisien.
2.10. Extensible Markup Language (XML)
Menurut Kevin Howard (2009, p.xii), XML adalah spesifikasi untuk
menyimpan informasi dan juga merupakan spesifikasi untuk menggambarkan
struktur informasi tersebut. XML adalah bahasa markup (seperti HTML), XML
tidak memiliki label sendiri . Hal ini memungkinkan orang menulis XML untuk
menciptakan apapun tag yang dibutuhkan. Spesifikasi XML memungkinkan oran g
untuk mendefinisikan bahasa markup mereka sendiri.
XML adalah bahasa yang didesain khusus untuk penyimpanan data dan
transportasi. XML terlihat seperti HTML, lengkap dengan tag, atribut, dan nilai-
nilai. XML juga dapat digunakan untuk berbagi data antara sistem yang berbeda
23
dan organisasi. Hal ini disebabkan XML hanyalah sebuah sebuah file teks dan
tidak lebih. XML juga terstruktur, mudah dimengerti, mudah untuk mengurai,
mudah untuk memanipulasi, dan mudah dibaca.
XML memiliki struktur yang sangat teratur dan dapat diperkirakan. Jika
file memenuhi aturan-aturan ini maka dianggap well-formed. Aturan-aturan itu
mengandung antara lain:
• Elemen root
Setiap file XML harus berisi salah satu dan hanya satu elemen root.
Elemen root ini berisi semua elemen lain dalam dokumen.
• Tag penutup
Setiap elemen harus memiliki tag penutup.
• Elemen harus benar dan tepat
Jika memulai elemen A, kemudian mulai elemen B, maka terlebih
dahulu menutup B sebelum menutup elemen A.
• Case Sensitive
XML merupakan case sensitive.
Menurut Kevin Howard (2009, p.xii), keunggulan dari bahasa XML adalah
sebagai berikut:
• XML adalah bahasa yang mudah dipelajari dan diadaptasi.
• Menggunakan XML untuk mendesain kesesuaian bahasa markup
dan kemudian menggunakan bahasa tersebut untuk menyimpan
informasi.
24
• XML dapat digunakan untuk mengirimkan data antara sistem yang
berbeda. Karena itulah penyebab dokumen XML merupakan
dokumen teks yang sederhana, terstruktur, mudah dimengerti,
mudah di parse, mudah untuk memanipulasi data, dan mudah untuk
dibaca manusia.
XML tidak mengkhususkan jenis user untuk menggunakannya. Sehingga bebas
digunakan oleh siapa saja.
2.11. Node.js
Node.js adalah platform yang dibangun pada Chrome JavaScript runtime
yang bertujuan untuk agar mudah untuk membangun aplikasi jaringan yang
scalable. Node.js menggunakan event-driven, non blocking I/O model yang
membuatnya ringan dan efisien dan cocok untuk data intensif dari aplikasi real
time yang berjalan dalam perangkat yang terdistribusi. (sumber : http://nodejs.org)
Menurut Mick Thompson (2011, p.1), Node.js telah menjadi asynchronous
framework populer untuk JavaScript. Node.js merupakan aplikasi internet yang
sangat scalable terutama web server. Program ini dituliskan dalam JavaScript,
menggunakan event-driven, asynchronous I/O untuk meminimalkan overhead dan
memaksimalkan skalabilitas. Node.js mengimplementasikan multiple Websocket
Servers dan mendukung protocol HTTP/1.1.
2.11.1. Socket IO
Socket.IO merupakan Application Programming Interface (API)
dari WebSocket yang dibuat oleh Guillermo Rauch, CTO dari LearnBoost.
25
Socket.IO ini akan membuat sambungan yang dibentuk dengan WebSocket
untuk menciptakan aplikasi real time yang dapat bekerja di mana saja.
Socket.IO juga menyediakan API untuk NodeJS yang banyak ditemukan
pada API sisi klien. (sumber : http://socket.io).
2.12. Web Service
Menurut Doug Tidwell, James Snell, dan Pavel Kulchenko (2001, p.6),
web service adalah sebuah aplikasi yang dapat diakses melalui jaringan
menggunakan kombinasi dari protokol seperti HTTP, XML, SMTP, atau Jabber.
Web service merupakan sebuah antarmuka yang berada di posisi antara kode
sumber aplikasi dan pengguna dari kode sumber tersebut. Bertindak sebagai
lapisan abstraksi, memisahkan platform dan bahasa pemrograman spesifik rincian
tentang bagaimana kode aplikasi sebenarnya dipanggil.
Menurut Eric Newcomer (2002, p.7), web service mengangkut sejumlah
data yang besar dan efisien dari sebelumnya. Hasil yang didapat lebih cepat, lebih
baik, dan lebih produktif. Seperti pada gambar 2.3 layanan web service
menyediakan penghubung standar yang menghubungkan, menyajikan ke jaringan
dan berinteraksi dengan sistem back-end perangkat lunak, seperti sistem
manajemen database, NET, J2EE (Java2 Platform, Enterprise Edition), atau
CORBA (Common Object Request Broker Architecture) objek, adapter untuk
paket Enterprise Resources Planning (ERP). Layanan web service menerima pesan
XML standar dari jaringan, mentransformasi data XML ke dalam format yang
dimengerti oleh sistem back-end perangkat lunak tertentu dan memberikan
kembali pesan balasan. Implementasi perangkat lunak yang mendasari web
26
servicedapat dibuat dengan menggunakan bahasa pemrograman, sistem operasi,
atau sistem middleware
Gambar 2.4Web Service interface dengan back end system (Newcomer, 2002, p.8)
2.12.1. Web Service Description Language (WSDL)
Web Service Description Language (WSDL) adalah format skema
XML yang mendefinisikan extensible framework untuk menggambarkan
layanan web service. Web serviceframework ini menyediakan secara umum
menjelaskan tipe data yang lewat melalui pesan, operasi yang dilakukan
pesan, dan pemetaan dari pesan ke jaringan transportasi.
27
Gambar 2.5 Elemen-elemen WSDL (Newcomer, 2002, p.23)
2.12.2. Simple Object Access Protocol (SOAP)
Simple Object Access Protocol (SOAP) merupakan transportasi
minimum yang dibangun untuk menghubungkan layanan web service.
Menurut Eric Newcomer (2012, p.25), SOAP mendefinisikan informasi
apa yang akan dikirim dan bagaimana dirancang untuk menyediakan
komunikasi, menjembatani atau menghubungkan dua atau lebih proses
komunikasi melalui protokol.
28
Gambar 2.6SOAP message connect remote sites (Newcomer, 2002, p.26)
SOAP memiliki beberapa bagian utama, yaitu:
• Envelope : mendefinisikan awal dan akhir pesan.
• Header : Berisi sembarang atribut opsional dari pesan yang
digunakan dalam pengolahan pesan, baik di titik perantara atau
pada titik akhir.
• Body : berisi data XML yang terdiri dari pesan yang dikirim.
• Attachment : terdiri dari satu atau lebih dokumen yang dilampirkan
ke pesan utama (SOAP dengan attachment saja).
• RPC Interaction : mendefinisikan bagaimana model gaya interaksi
RPC dengan SOAP.
29
• Encoding : mendefinisikan bagaimana mewakili data sederhana dan
kompleks sedang dikirim dalam pesan.
2.13. JavaScript Object Notation (JSON)
JavaScript Object Notation (JSON) merupakan format pertukaran data
yang ringan, mudah dibaca dan ditulis oleh manusia. Format teks penulisan
bahasanya tidak bergantung pada bahasa pemrograman apapun karena
menggunakan gaya bahasa yang umum digunakan oleh programmer diantaranya
C, C++, Java, JavaScript, Perl, Python, dan lain-lain. Oleh karena sifat yang tidak
bergantung itu yang menyebabkan JSON menjadi bahasa ideal yang digunakan
dalam pertukaran data. (sumber : http://www.json.org/ )
JSON terdiri dari 2 struktur, yaitu:
• Kumpulan pasangan nama/nilai. Pada beberapa bahasa, hal ini dinyatakan
sebagai objek (object), rekaman (record), struktur (struct), kamus
(dictionary), hash tabel, keyed list, atau associative array
• Daftar nilai terurut (an ordered list of values). Pada kebanyakan bahasa
dinyatakan sebagai array, vector, list, atau sequence.
2.14. Database
Menurut Thomas Connoly and Carolyn Begg (2010, p.54), database
adalah sekumpulan data yang saling berhubungan secara logis dan menggunakan
aplikasi untuk mengatur dan mengendalikan akses ke database yang disebut
Database Management System.
30
Database adalah kumpulan informasi yang disimpan di dalam komputer,
yang diorganisasikan dan disimpan secara terintegrasi dengan menggunakan
metode tertentu untuk memenuhi kebutuhan para pengguna.
2.14.1. Database Management System (DBMS)
Menurut Thomas Connoly and Carolyn Begg (2010, p.66),
Database Management System (DBMS) adalah sebuah sistem aplikasi yang
memperbolehkan pengguna untuk mendefinisikan, membuat, menjaga, dan
mengontrol akses ke database. Sistem aplikasi ini memungkinkan pengguna
untuk mendefinisikan database, menspesifikasikan tipe data, struktur
database, dan batasan-batasan dari data yang akan disimpan di dalam
database yang dinamakan Data Definition Language (DDL).
Selain itu memungkinkan pengguna untuk menyisipkan,
memperbaharui, menghapus, dan menerima data dari database yang
dinamakan Data Manipulation Language (DML).
DBMS menyediakan kendali akses terhadap database, seperti :
Sistem keamanan, yang mencegah pengguna tidak sah untuk
mengakses database.
Sistem terintegrasi, yang memelihara konsistensi data yang
disimpan.
Sistem kontrol konkurensi, yang memperbolehkan pembagian
akses ke database.
31
Sistem kontrol perbaikan (recovery), yang mengembalikan
database ke konsistensi sebelum nya yang disebabkan oleh
kegagalan hardware atau software.
Pedoman yang dapat diakses pengguna, yang berisi penjelasan
dari informasi data yang ada di dalam database.
2.14.2. Structured Query Language (SQL)
SQL merupakan singkatan dari Structured Query Language yang
memungkinkan pengguna untuk mengakses dan memanipulasi database.
SQL memiliki beberapa fungsi sebagai berikut:
• Mengeksekusi query terhadap database.
• Mengambil data dari database.
• Menyisipkan catatan (record) dalam database.
• Memperbarui catatan (record) dalam database.
• Menghapus catatan (record) dalam database.
• Menciptakan database baru.
• Membuat database baru.
• Membuat tabel baru di database.
• Membuat Viewdalam database.
• Mengatur hak akses pada tabel, prosedur, dan
View.
32
2.14.3. Entity Relational Diagram (ERD)
Entity Relational Diagram (ERD) adalah diagram khusus yang
menggambarkan hubungan antar entitas dalam database.
Komponen utama ERD :
1. Entitas
Entitas adalah suatu tempat atau objek untuk menyimpan data.
Contoh: Entitas mahasiswa untuk menyimpan atribut mengenai
mahasiswa (Nomor Induk Mahasiswa, Nama Mahasiswa, Alamat,
Telepon, dan lain-lain).
2. Atribut
Atribut adalah elemen yang berfungsi untuk mendeskripsikan isi dari
entitas tersebut dan mengidentifikasikan
Contoh: Entitas mahasiswa memiliki atribut Nomor Induk
Mahasiswa, Nama Mahasiswa, Alamat, dan Telepon.
3. Relasional
Relational adalah hubungan yang dimiliki antar entitas.
2.15. Interaksi Manusia dan Komputer
Desainer antarmuka sangat berperan dalam transformasi yang mengubah
komputer. Pada mulanya komputer hanya digunakan dan dimengerti oleh
pengembang sendiri, kemudian diubah menjadi komputer sosial yang
memungkinkan pengguna untuk berkomunikasi, berinteraksi, dan melayani
kebutuhan profesional. Pergeseran secara dramatis ini yang membuat peneliti dan
33
desainer antarmuka memanfaatkan teknologi maju untuk melayani kebutuhan
manusia. Penelitian-penelitian yang dilakukan menciptakan ilmu desain
interdispliner interaksi manusia dengan komputer dengan menerapkan metode-
metode psikologi experimental untuk alat-alat canggih dari ilmu komputer.
Melalui ilmu interaksi manusia dan komputer dapat mempermudah dalam
pengoperasian komputer. (Ben Shneiderman, 2010, p.22)
2.15.1. Delapan Aturan Emas
Menurut Ben Shneiderman (2010, pp.88-89), dalam mendesain
user interface ada delapan aturan yang harus diimplementasikan dalam
merancang sistem yang interaktif dan berkualitas tinggi, antara lain:
1. Berusaha untuk tetap konsisten
Konsisten pada urutan tindakan yang dilakukan pada situasi yang
mirip dan penggunaan terminologi identik pada prompt, menu, dan
layar bantuan. Konsisten pada warna, tata letak, kapitalisasi, jenis
huruf, dan sebagainya yang digunakan secara keseluruhan.
2. Memungkinkan frequent user untuk melakukan jalan pintas
(shortcut)
Mengenali kebutuhan pengguna yang beragam dan desain untuk
transformasi konten. Perbedaan pengguna dari pemula, pengguna
ahli, rentang usia, cacat, dan keragaman setiap teknologi yang
memperkaya persyaratan yang bisa dijadikan panduan desain.
Menambahkan fitur untuk pemula seperti penjelasan dan fitur untuk
pengguna ahli berupa jalan pintas (shortcut) untuk meningkatkan
34
kecepatan tindakan, memperkaya desain antarmuka, dan
meningkatkan kualitas sistem yang dirasakan.
3. Memberikan umpan balik yang informatif
Untuk setiap tindakan pengguna harus memiliki sistem umpan balik.
Untuk tindakan yang sering dilakukan dan kurang penting, respon
dapat diberikan secara sederhana, sedangkan untuk tindakan yang
jarang dilakukan dan sangat penting respon balik harus lebih
substansial.
4. Merancang dialog untuk mencapai suatu penutupan
Urutan tindakan harus di organisir ke dalam kelompok awal, tengah,
dan akhir. Umpan balik yang informatif pada penyelesaian
sekelompok tindakan akan memberikan petunjuk dalam
mempersiapkan sekelompok tindakan berikutnya.
5. Mencegah kesalahan
Sebisa mungkin mendesain sistem yang tidak membuat pengguna
melakukan kesalahan fatal. Jika pengguna membuat kesalahan,
interface harus mendeteksi kesalahan dan memberikan instruksi
sederhana, konstruktif, dan spesifik untuk perbaikan. Misalnya,
pengguna tidak mengetik ulang dan seluruh nama serta alamat jika
mereka hanya memasukkan kode pos yang tidak valid, tetapi
diarahkan untuk memperbaiki hanya dibagian yang salah.
6. Kemudahan kembali ke tindakan sebelumnya
35
Sebisa mungkin tindakan yang dilakukan dapat dibatalkan atau
dikembalikan pada saat sebelum dilakukannya tindakan tersebut. Hal
ini akan mengurangi kecemasan pengguna untuk melakukan
tindakan karena telah mengetahui tindakan dapat dibatalkan,
sehingga pengguna dapat berani mengekplorasi berbagai tindakan
asing yang belum pernah dilakukan.
7. Mendukung pusat kendali internal
Pengguna yang berpengalaman menginginkan mereka bertanggung
jawab atas antarmuka dan antarmuka merespon tindakan mereka.
8. Mengurangi beban ingatan jangka pendek
Kapasitas terbatas manusia untuk memproses informasi dalam
memori jangka pendek yang menyebabkan dibutuhkanya desain
antarmuka yang mudah sederhana dan mudah mengingat informasi
dari satu layar dan menggunakan informasi di layar lain.
2.15.2. Lima Faktor Manusia Terukur
Menurut Ben Shneiderman (2010, pp.88-89), ada lima faktor
manusia terukur, yaitu:
1. Waktu untuk belajar
Ukuran waktu yang diperlukan user untuk belajar memahami
aplikasi yang baru. Semakin cepat waktu yang diperlukan user untuk
belajar maka semakin baik.
2. Kecepatan kinerja
36
Ukuran waktu seberapa cepat user dapat menyelesaikan
pekerjaannya.
3. Tingkat kesalahan oleh pengguna
Seberapa banyak kesalahan yang dilakukan user dalam melakukan
kegiatan.
4. Daya ingat
Kemampuan user untuk mempertahankan ingatan selama jangka
waktu tertentu.
5. Kepuasan subjektif
Seberapa puas user dalam menggunakan aplikasi. Dalam hal ini user
memberikan umpan balik terhadap penggunaan.
2.16. Rekayasa Piranti Lunak
Menurut Roger S.Presman (2010, p13), rekayasa piranti lunak merupakan
penerapan sistematis, displin, pendekatan kuantitatif yang dilakukan untuk
pengembangan, pengoperasian, dan pemeliharaan perangkat lunak.
Dalam proses pembuatan perangkat lunak terdapat kumpulan aktivitas
kerja, tindakan, dan tugas-tugas yang dilakukan ketika sebuah perangkat lunak
yang akan dibuat. Semua kegiatan ini disebut model proses.
2.16.1. Rapid Prototyping Model
Menurut artikel “Selecting a Development Approach”, rapid
prototyping model merupakan model proses yang mendefinisikan satu set
tujuan umum untuk perangkat lunak, akan tetapi tidak mengidentifikasikan
37
persyaratan rinci untuk fungsi dan fitur. Rapid prototyping berupaya untuk
mengurangi risiko proyek yang melekat dengan memecah proyek ke dalam
segmen yang lebih kecil dan menyediakan kemudahan perubahan selama
proses pembangunan. Dalam sistem yang dikembangkan terdapat proses
yang berulang-ulang dalam beberapa langkah sampai modifikasi prototipe
memenuhi kebutuhan pengguna. Berbeda dengan model proses
prototyping, hasil prototipe yang dibuat akan dibuang dan membangun
prototipe yang baru.
Berikut merupakan gambar dari model proses rapid prototyping
Gambar 2.7 Model Proses Rapid Prototyping
Pada model proses rapid prototyping memiliki langkah-langkah sebagai
berikut:
1. Initial Investigation
Pengumpulan kebutuhan dari user untuk mengetahui apa saja
kebutuhan saat ini yang nantinya akan dikembangkan.
2. Requirement Definition
38
Tahap ini merupakan identifikasi dari hasil pengumpulan data
yang telah dilakukan.
3. System Design
Perancangan dari sistem yang akan dibuat dalam tahap ini
secara logika, struktural dan user interface.
4. Coding and Testing
Pengkodean dan penyusunan logika yang telah dibuat
sebelumnya pada system design. Pada tahap ini setelah pengkodean
selesai maka dilakukan testing. Bila masih diperlukan perbaikan
pengkodean, maka bisa dilakukan langsung pengkodean.
5. Implementation
Untuk mengetahui sejauh mana sistem aplikasi yang telah
dibuat, maka langkah selanjutnya dilakukan implementasi untuk diuji
oleh user. Kemudian user memberikan feedback mengenai sistem yang
telah digunakan.
6. Maintenance
Hasil dari feedback yang diberikan user yang nantinya
digunakan untuk pengembangan selanjutnya untuk membuat aplikasi
yang lebih baik dari sebelumnya.
2.17. Unified Modeling Language (UML)
Menurut Whitten (2007, p.371), Unified Modeling Language (UML)
merupakan satu set permodelan konvensi yang digunakan untuk menentukan atau
39
menggambarkan sebuah sistem perangkat lunak dalam hal objek. Pendekatan yang
seluruh tekniknya berorientasi objek disebut permodelan objek.
Pada akhir 80-an dan awal 90-an banyak metode berorientasi objek yang
digunakan pada industri. Karena begitu banyak metode dan teknik permodelan
yang terkait menjadi masalah bagi industri pengembangan sistem berorientasi
objek. Sehingga menyebabkan menghambat komunikasi antara anggota tim dan
pengguna sistem karena begitu banyak metode yang digunakan. Masalah tersebut
yang menyebabkan upaya untuk merancang sebuah bahasa permodelan standar.
Pada tahun 1994 Grady Booch dan James Rumbaugh menggabungkan
masing-masing metode berorientasi objek untuk menciptakan sebuah proses dan
standar tunggal untuk mengembangkan sistem berorientasi objek. Ivar Jacobson
bergabung pada 1995 untuk membuat bahasa permodelan objek standar. Unified
Modeling Language (UML) versi 1.0 dirilis pada tahun 1997 dan versi saat ini
adalah 2.0. UML tidak menentukan metode namun diterima secara luas sebagai
standar permodelan. Object Management Group (OMG) mengadopsi UML dan
mengembangkan sesuai kebutuhan industri.
2.17.1. Use Case Diagram
Menurut Whitten (2007, p.246), Use case diagram merupakan
grafis yang menggambarkan interaksi antar sistem, sistem eksternal dan
user. Dengan kata lain, grafis menggambarkan siapa yang akan
menggunakan sistem dan dalam cara apa pengguna mengharapkan untuk
berinteraksi dengan sistem. Narasi use case digunakan secara tekstual
untuk menggambarkan urutan langkah setiap interaksi.
40
Gambar 2.8 Contoh Use Case Diagram
Komponen dari use case diagram, antara lain:
• Actors
Seorang actor melakukan aktivitas dalam use case menyelesaikan
beberapa tugas atau kegiatan yang menghasilkan sesuatu yang
dapat diukur.
Gambar 2.9 Contoh Actor di Use Case Diagram
41
• Relationship
Relationship adalah sebuah hubungan yang digambarkan sebagai
garis antara dua simbol pada diagram use case. Setiap hubungan
yang terjadi bisa memiliki arti yang berbeda tergantung dari
bagaimana garis ditarik dan apa jenis simbol yang dihubungkan.
Dalam use case memiliki beberapa jenis hubungan, antara lain:
‐ Associations
Sebuah hubungan antara actor dan use case setiap kali terjadi
interaksi satu sama lain. Association digambarkan sebagai garis
lurus yang solid yang menghubungkan actor dan use case searah
maupun dua arah seperti yang ditunjukkan pada gambar di bawah
ini.
Gambar 2.10 Contoh Associations di Use Case Diagram
‐ Extends
Sebuah use case yang berisi fungsi yang kompleks dan terdiri dari
beberapa langkah, maka untuk menyederhanakan use case
membagi sebuah use case menjadi beberapa use case yang
fungsionalitas dari use case aslinya agar lebih mudah dipahami.
42
Pembagian use case tersebut direpresentasikan dengan garis solid
atau putus-putus dan diberi label<<extends>>.
Gambar 2.11 Contoh Extends di Use Case Diagram
‐ Uses (or Includes)
Dalam membuat use case mungkin bisa menggunakan dua atau
lebih use case yang sama. Oleh karena itu untuk mengurangi
redundansi use case yang digunakan, use case tersebut dibuat
menjadi satu yang disebut abstract use case. Hubungan use case
dengan abstract use case menggunakan garis solid atau putus-
putus dan diberi label <<uses>>.
Gambar 2.12 Contoh Uses di Use Case Diagram
43
‐ Depends On
Sebuah use case yang memiliki ketergantungan dengan use case
lainnya dalam melakukan urutan untuk menyelesaikan sebuah
fungsi atau untuk melangkah ke fungsi selanjutnya. Hubungan
depen on digambarkan dengan garis solid atau putus-putus yang
diberi label <<depends on>>.
Gambar 2.13 Contoh Depends On di Use Case Diagram
Dalam analisis berorientasi objek menggunakan use case ke dalam
model menggunakan analisa kasus dengan melakukan langkah-langkah
berikut:
1. Mengidentifikasikan, mendefinisikan, dan mendokumentasikan pelaku-
pelaku baru.
44
Pada saat kebutuhan bisnis menggunakan use casemodel dan pada saat
itulah disetujui oleh pemilik sistem, penganalisa sistem, seluruh tim
pengembang, melalui pembicaraan dengan para stakeholder, dilanjutkan
dengan mempelajari lebih banyak tentang apa yang diperlukan agar
sistem dapat berjalan sukses. Selama upaya ini dilakukan mungkin ada
pelaku tambahan yang ditemukan dan dengan demikian perlu
didefinisikan dan didokumentasikan.
2. Mengidentifikasi, mendefinisikan, dan mendokumentasikan use case
baru
Pada langkah satu ditemukan pelaku baru, kemudian pada langkah dua
mengarah ke interaksi baru dengan sistem sehingga membuat use case
baru. Sebagai aturan umum, setiap jenis antarmuka pengguna yang
digunakan untuk memproses kegiatan bisnis akan memerlukan use case
sendiri. Sebagai contoh pada industri perbankan, use case melakukan
deposit di sebuah mesin ATM akan berbeda dari use case melakukan
deposit menggunakan teller bank. Tujuan dari proses sama dan banyak
langkah yang sama, tetapi penggunaan sistem yang sebenarnya mungkin
berbeda atau bagaimana pengguna berinteraksi dengan sistem
menggunakan teknologi spesifik. Use case baru diidentifikasi akan perlu
didefinisikan dalam use case pelaku sebelumnya.
3. Mengidentifikasikan kemungkinan penggunaan kembali
Bila memiliki dua use case yang memiliki tujuan bisnis yang sama
namum memiliki teknologi antarmuka atau penggunaan sistem yang
45
sebenarnya berbeda, kedua use case dapat dapat menggunakan langkah
yang umum, untuk menghilangkan langkah-langkah berlebihan. Untuk
menghilangkan langkah-langka berlebihan, kita dapat mengekstrak
langkah-langkah umum ke use case terpisah yang disebut use case
abstract. Di samping itu, ketika kita menganalisa use case dan
menemukan use case yang berisi fungsi kompleks yang terdiri dari
beberapa langkah-langkah yang lebih kompleks dalam use case itu
sendiri yang disebut extension use case. Use case baru ini juga akan
didefinisikan dalam kumpulan use case yang disiapkan sebelumnya.
4. Menyempurnakan Diagram Use Case Model (jika diperlukan)
Dengan menemukan pelaku-pelaku baru dan use case, kita dapat
memperbarui use case penggunaan diagram model yang dibangun
sebelumnya.
5. Mendokumentasikan sistem analisis menggunakan naratif case.
Setiap kebutuhan bisnis semua use case telah ditinjau dan disetujui oleh
pengguna. Setiap use case akan disempurnakan untuk menyertakan
informasi lebih banyak untuk menentukan fungsi sistem secara rinci.
2.17.2. Activity Diagram
Menurut Whitten (2007, p.390), Activitydiagram merupakan grafis
yang menggambarkan aliran berurutan dari kegiatan use case atau proses
bisnis. Activity diagram juga digunakan untuk logika model dengan sistem.
Activity diagram berbeda dengan diagram alur (flowchart) karena
46
menyediakan mekanisme untuk menggambarkan aktivitas yang terjadi
secara pararel.
47
Gambar 2.14 Contoh Activity Diagram Keterangan:
1
2
3
4
5
6
7
8
48
1. Initial node : lingkaran padat mewakili awal proses
2. Actions : persegi panjang bulat yang mewakili langkah-langkah
individu. Urutan tindakan membentuk aktivitas total yang
ditunjukkan oleh diagram.
3. Flow : panah pada diagram menunjukkan perkembangan melalui
tindakan. Kebanyakan mengalir tanpa perlu kata-kata untuk
mengidentifikasikan, kecuali keluar dari keputusan.
4. Decision : bentuk berlian dengan satu aliran masuk dan dua atau
lebih mengarah keluar. Mengalir keluar ditandai untuk
menunjukkan kondisi.
5. Merge : bentuk berlian dengan dua atau lebih arus masuk dan satu
arus keluar. Ini menggabungkan aliran yang sebelumnya
dipisahkan oleh keputusan.
6. Fork : Bar hitam dengan satu arus dan dua atau lebih mengalir
keluar.
7. Join : Bar hitam dengan dua atau lebih arus masuk dan satu arus
keluar, tidak ada akhir pemrosesan konkuren. Semua tindakan
yang masuk ke bergabung harus diselesaikan sebelum proses
berlanjut.
8. Activity final : Lingkaran padat di dalam lingkaran berongga
mewakili akhir proses
49
2.17.3. Sequence Diagram
Menurut Whitten (2007, p.394) Sequences merupakan grafis yang
menggambarkan bagaimana objek berinteraksi satu sama lain melalui
pesan dalam pelaksanaan use case atau operasi. Sequence diagram
manggambarkan pesan dikirim dan diterima antara objek dan urutan.
Sequence diagram biasanya untuk menggambarkan rangkaian langkah-
langkah yang dilakukan sebagai respon dari sebuah event untuk
menghasilkan output tertentu.
Gambar 2.15 Contoh Sequence Diagram
3 1
2 4
5
6
7
8
9
50
Keterangan:
1. Actor : aktor berinteraksi dengan user interface yang ditampilkan
dengan use case actor. Kadang aktor diwakilkan dengan frame seperti
class dengan notasi <<actor>>. Garis putus-putus vertikal yang
memanjang ke bawah dari aktor menunjukkan urutan lifeline.
2. Interface class : kotak yang menunjukkan interface class code agar
tidak membingungkan user terhadap class ini maka diberi label
<<interface>>. Titik dua (:) menunjukkan contoh class yang dijalankan
dan garis putus-putus vertikal yang memanjang ke bawah dari class
menunjukkan urutan lifeline.
3. Controller class : setiap use case akan memiliki satu atau lebih class
controller yang digambarkan sama dengan interface class yaitu
<<controller>>
4. Entity class : kotak yang dimasukkan setiap memiliki entry yang
berkolaborasi dalam urutan langkah proses. Titik dua (:) menunjukkan
sebuah contoh objek, dengan kata lain, perintah yang spesifik, produk
spesifik, dan sebagainya.
5. Messages : panah horizontal yang menunjukkan pesan yang dikirimkan
ke class.
6. Activation bars : bar yang menunjukkan periode waktu masing-masing
object instance yang ada.
51
7. Return messages : panah horizontal putus-putus merupakan return
message. Setiap tindakan harus mengirimkan kembali pesan baik itu
benar/salah untuk menunjukkan sebuah tindakan telah dilakukan.
8. Self-call : sebuah objek dapat mengsambil method sendiri
9. Frame : kotak bingkai dalam sequence diagram yang menunjukkan
bahwa satu atau lebih pesan merupakan sebuah langkah-langkah
opsional dan menunjukkan bahwa controller perlu loop melalui semua
item.
2.17.4. Class Diagram
Menurut Whitten (2007, p.648), class diagram merupakan grafis
yang menggambarkan struktur objek dari sebuah sistem dan hubungan
antara kelas-kelas objeknya. Sistem berorientasi objek yang terstruktur
setidaknya memiliki tiga jenis kelas objek, antara lain:
• Entity Classes
Entiy Class merupakan model class yang berisi informasi dan
dikenal sebagai atribut.
• Interface Classes
Seorang user yang berkomunikasi dengan sistem melalui user
interface dan diimplementasikan sebagai sebuah class. Peranan dari
interface ini adalah:
1. Menterjemahkan input dari user ke dalam sistem informasi
yang dapat memahami dan digunakan untuk memproses
kegiatan bisnis.
52
2. Kebutuhan data yang berkaitan kegiatan bisnis dan
menterjemahkan data untuk ditampilkan untuk user.
• Control Classes
Control classes mengimplementasikan logika bisnis atau aturan
bisnis dari sistem. Pada umumnya user mengimplementasikan satu
atau lebih control classes. Control classes mengirimkan messages
dari interface classes dan menerima messages dari entity classes.
Atribut dan metoda dapat diakses oleh class lain yang disebut visibility.
UML memberikan tiga tingkatan dari visibility sebagai berikut:
a. Public, dinotasikan dengan simbol “+” dan dapat dipanggil oleh siapa
saja dalam class diagram.
b. Protected, dinotasikan dengan simbol “#” dan hanya dapat dipanggil
oleh class yang bersangkutan dengan anak-anak yang mewarisinya.
c. Private, dinotasikan dengan “-“ dan tidak dapat dipanggil dari luar
class yang bersangkutan.
53
Gambar 2.16 Contoh Class Diagram
Keterangan:
1. Visibility untuk setiap atribut telah ditentukan dan pada gambar di atas
semua atribut adalah private yang dinotasikan dengan simbol “-“.
2. Metoda dan visibility telah ditentukan.
3. Alur dari hubungan yang menunjukkan pesan yang masuk.
4. Inteface classes untuk menunjukkan interface utama kepada user.
5. Sebuah control class utnuk mengkoordinasi interaksi antara interface
object dan entity object.
6. Interface object tergantung pada control object.
1
2
3
6
4 5