BAB 2 LANDASAN TEORI 2.1 Teori Umum 2.1.1 Interaksi...
Transcript of BAB 2 LANDASAN TEORI 2.1 Teori Umum 2.1.1 Interaksi...
9
BAB 2
LANDASAN TEORI
2.1 Teori Umum
2.1.1 Interaksi Manusia dan Komputer (IMK)
2.1.1.1 Pengertian IMK
Menurut Shneiderman (2010) interaksi manusia dan komputer
merupakan ilmu yang berhubungan dengan perancangan, evaluasi,
dan implementasi yang mempelajari cara komunikasi antara
komputer dan pengguna.
2.1.1.2 Kategori Pengguna
Dalam merancang tampilan antarmuka, sebaiknya
mempertimbangkan kategori pengguna yang akan menggunakan
program tersebut karena tiap pengguna mempunya karakteristik
yang berbeda. Berikut ini adalah tiga kategori pengguna menurut
Shneiderman (2010):
1. Novice atau First-time users
Novice atau First-time users adalah tipe pengguna yang bisa
dibilang pemula dalam mengoperasikan program. Sehingga
sebaiknya program dirancang dengan memperhatikan aspek-
aspek kemudahan dalam penggunaan program dan juga
10
memberikan umpan balik maupun pesan kesalahan kepada
pengguna dengan bahasa yang mudah dimengerti.
2. Knowledgable intermittent users
Knowledgeable intermittent users adalah tipe pengguna yang
memiliki pengetahuan tentang berbagai macam sistem.
Pengguna seperti ini biasanya mengerti tentang struktur menu
dari suatu program, sehingga dapat dengan cepat
mengoperasikan suatu program.
3. Expert frequent users
Expert frequent users adalah tipe pengguna yang mengerti
tentang cara kerja suatu sistem atau program. Sehingga
pengguna dapat mempelajari dan menggunakan program
dengan lebih cepat dengan memanfaatkan command-line,
shortcut dan macro.
2.1.1.3 Lima Faktor Manusia Terukur
Lima faktor manusia terukur yang dikemukakan oleh Ben
Shneiderman (2010), yaitu:
1. Waktu Belajar
Merancang tampilan yang dapat dipelajari dengan cepat oleh
pengguna. Sehingga pengguna dapat dengan cepat mengerti
cara menggunakan aplikasi.
11
2. Kecepatan Kinerja
Merancang aplikasi dengan melihat kecepatan kerja aplikasi
pada saat menjalankan proses. Untuk mendapatkan kecepatan
yang baik dapat dilakukan dengan cara mengurangi
kompleksitas proses dalam aplikasi.
3. Tingkat Kesalahan
Merancang tingkat kesalahan yang terjadi dalam proses dan
memberikan penanganan kesalahan jika terjadi kesalahan yang
serius pada saat penggunaan aplikasi.
4. Daya Ingat
Tampilan dibuat agar mudah diingat oleh pengguna, sehingga
pengguna tidak membutuhkan waktu banyak untuk
mempelajari penggunaan aplikasi.
5. Kepuasan Subjektif
Dapat memenuhi kepuasan subjektif dari pengguna dari
berbagai aspek tampilan. Hal ini dapat dicapai dengan
melakukan interview dan survey kepada beberapa pengguna
untuk mendapat tingkat kepuasan.
2.1.1.4 Eight Golden Rules
Interaksi manusia dan komputer dalam skripsi ini berdasarkan
pada prinsip Delapan Aturan Emas yang dikemukakan oleh Ben
Shneiderman (2010), yaitu:
12
1. Konsistensi
Konsistensi urutan tindakan pada program, seperti : tampilan,
jenis tulisan, istilah-istilah yang digunakan pada prompt, menu,
serta bantuan pada program.
2. Memenuhi kegunaan yang universal
Kenali kebutuhan dari macam-macam pengguna dan membuat
desain yang dapat berubah sesuai kebutuhan konten.
Memahami perbedaan dari pengguna yang baru sampai ke ahli,
perbedaan umur, kondisi pengguna, dan teknologi yang
digunakan sebagai panduan membuat desain.
3. Memberikan umpan balik yang informatif
Memberikan sistem umpan balik pada saat operator melakukan
operasi. Umpan balik sebaiknya dibagi menjadi dua bagian
tergantung pada tingkat kepetingan dari suatu operasi. Jika
operasi yang sering dilakukan dan tidak terlalu penting, dapat
diberikan umpan balik yang sederhana. Sebaliknya, ketika
operasi yang dilakukan merupakan hal yang penting, maka
umpan balik yang diberikan sebaiknya lebih substansial.
Misalnya memberikan suara ketika terjadi kesalahan.
4. Merancang dialog untuk menghasilkan suatu penutupan
Urutan tindakan sebaiknya diorganisir menjadi beberapa bagian
seperti bagian awal, bagian tengah dan bagian akhir.
Memberikan umpan balik yang sesuai dengan hasil dari suatu
13
operasi, sehingga pengguna dapat mengetahui hasil
pengoperasian dan melanjutkan ketahapan selanjutnya.
5. Memberikan penanganan kesalahan
Seharusnya sistem dibuat agar pengguna tidak melakukan
kesalahan yang fatal. Jika terjadi kesalahan sistem dapat
mendeteksi dan memberikan mekanisme yang mudah dan
sederhana, sehingga mudah dimengerti oleh pengguna.
6. Mudah kembali ke tindakan sebelumnya
Sebaiknya sistem yang dibuat dalam mengulang ke tindakan
sebelumnya. Fitur ini meringankan kekhawatiran pengguna
ketika pengguna mengetahui terdapat kesalahan. Sehingga
pengguna dapat kembali ke tindakan sebelum kesalahan itu
terjadi.
7. Mendukung tempat pengendalian internal
Menjadikan pengguna sebagai pengontrol sistem bukan
sebaliknya, sehingga pengguna dapat dengan leluasa
menggunakan sistem. Merancang sistem sedemikian rupa,
sehingga pengguna menjadi inisiator daripada responden.
8. Mengurangi beban ingatan jangka pendek
Keterbatasan ingatan manusia membutuhkan tampilan yang
sederhana atau banyak tampilan halaman yang sebaiknya
disatukan, serta diberikan cukup waktu untuk pelatihan kode,
mnemonic, dan urutan tindakan.
14
Dilihat dari Delapan Aturan Emas di atas, dapat
disimpulkan bahwa rancangan antarmuka untuk pengguna
sebaiknya dibuat sesederhana mungkin tetapi mengikuti prinsip
Delapan Aturan Emas.
2.1.4 Aplikasi dan Piranti Lunak
2.1.2.1 Aplikasi
Mengacu pada pendapat Noviansyah (2008), aplikasi adalah
konsep yang diterapkan ke dalam suatu pembahasan. Dalam istilah
komputer, aplikasi diartikan sebagai program komputer yang dapat
melaksanakan tugas tertentu. Aplikasi yang dirancang untuk
penggunaan khusus, berdasarkan klasifikasinya aplikasi dibagi
menjadi dua, yaitu:
1. Aplikasi perangkat lunak spesialis, program dengan
dokumentasi yang dirancang untuk menjalankan suatu
tugas tertentu
2. Aplikasi paket, program dengan dokumentasi yang
dirancang untuk menyelesaikan suatu masalah tertentu
2.1.2.2 Piranti Lunak
2.1.2.2.1 Definisi Piranti Lunak
Menurut Pressman (2008), definisi dari piranti lunak
sebagai berikut:
15
a. Instruksi-instruksi (program-program komputer) yang
ketika dijalankan akan menghasilkan fungsi dan
performance yang diharapkan.
b. Struktur data yang memungkinkan program untuk
memanipulasi informasi.
c. Dokumen-dokumen yang menjelaskan operasi dan
penggunaan program.
Tiga karakteristik piranti lunak (Pressman, 2001), yaitu:
a. Piranti lunak dikembangkan atau dibuat, tidak dirakit
seperti perangkat keras.
Meskipun ada ikatan antara pengembangan piranti lunak
dan perangkat keras, kedua hal ini mempunyai dasar yang
berbeda. Pada piranti lunak, kualitas yang bagus didapat
dari perangkat keras yang bagus dan mendukung kinerja
piranti lunak. Kebutuhan untuk mendapatkan kualitas
piranti lunak yang baik dapat dipecahkan dengan merakit
perangkat keras secara tepat sesuai kebutuhan piranti
lunak.
b. Piranti lunak tidak dapat “habis”.
Tidak seperti perangkat keras, piranti lunak tidak dapat
“habis” oleh waktu karena tidak memiliki bentuk fisik.
Berbeda dengan perangkat keras yang memiliki bentuk
16
fisik. Perangkat keras mempunyai batas pemakaian ketika
dipakai terlalu sering dan seiring banyaknya waktu
operasional yang digunakan yang mengakibatkan
terjadinya kerusakan pada perangkat keras tersebut.
c. Piranti lunak dirancang bukan berdasarkan perakitan
komponen-komponen yang sudah ada.
Pada perangkat keras dibutuhkan komponen dasar untuk
membangun sebuah perangkat keras yang dapat
mengoperasikan sebuah proses. Sedangkan pada piranti
lunak, langkah awal untuk mengembangkan sebuah
piranti lunak dibutuhkan perangkat keras yang dapat
mengoperasikannya.
2.1.3 Koneksi
Menurut Franz Pardede (2008), pada dasarnya pengertian interkoneksi
adalah adannya keterhubungan antara satu objek dengan objek yang lain
sehingga terjadi komunikasi. Menurut Jack Febrian (2006) yang dikutip oleh
Franz Pardede (2008), pengertian dari koneksi atau connection adalah
hubungan antara dua entiti. Koneksi dapat terjadi antara host, antara
program-program yang berjalan atas host, serta antara program yang berjalan
atas host yang sama (diantara entitas-entitas pada lapisan jaringan yang
berbeda). Pada smartphone, koneksi yang terjadi didalam operasi biasanya
membutuhkan Mobile Connection atau Global Positioning System (GPS).
17
2.1.3.1 General Packet Radio Services (GPRS)
2.1.3.1.1 Pengertian GPRS
Koneksi pada smartphone saat ini, memungkinkan
pengguna dapat mengakses internet melalu telepon genggam.
Sistem minimum yang dapat menggunakan koneksi pada
smartphone sebagai internet harus mendukung teknologi
GPRS. Menurut Yulianto (2010), GPRS merupakan suatu
teknologi dimana telepon dapat melakukan transmisi data
dengan frekuensi tinggi melalui jaringan Global System for
Communication system (GSM) dan berbasis infrastruktur
jaringan nirkabel Time Division Multiple Access Telephony
Integration (TDMA).
2.1.3.1.2 Arsitektur GPRS
Arsitektur jaringan GPRS menggunakan arsitektur GSM
transmisi data suara. Dalam pengiriman data GPRS
menggunakan node tambahan dalam jaringan. Node tambahan
ini yang bertanggung jawab dalam pengiriman dan mengatur
rute aliran paket data antara Mobile Station (MS) dan Packet
Data Networks (PDN). Terdapat dua tipe node tambahan
dalam GPRS menurut Talukder et al (2010) yaitu:
18
1. Serving GPRS Support Node (SGSN)
SGSN merupakan node tambahan dalam jaringan GPRS
yang bertugas untuk mengatur rute paket data, packet
switching, transfer data, mobility management, logical
link management, dan fungsi autentikasi. SGSN
terhubung dengan system pusat dengan Frame Relay.
Frame Relay adalah standarisasi pada jaringan Wide
Area Network yang merupakan suatu metode pertukaran
data antara phsycal layer dan logical layer.
2. Gateway GPRS Support Node (GGSN)
GGSN adalah node yang sebagai antarmuka antara GPRS
Backbone Network dan PDN. Fungsi GGSN seperti
router pada jaringan LAN. GGSN secara berkala
memonitori pertukaran informasi yang dibutuhkan dalam
Protocol Data Units (PDU) ke SGSN.
Selain dua tambahan komponen di atas yang digunakan
sebagai pendukung dalam GPRS, ada beberapa hal lagi yang
perlu ditingkatkan cara kerjanya seperti sistem stasiun dasar
termasuk Base Transceiver Station (BTS), register GPRS
dalam GSN, telepon genggam yang mendukung GPRS, node
pengiriman SMS yang mendukung transmisi melewati SGSN.
19
2.1.3.2 Global Positioning System (GPS)
2.1.3.2.1 Definisi GPS
Yulianto (2010) mendefinisikan, GPS adalah suatu
sistem navgiasi satelit yang berfungsi untuk menentukan
lokasi, kecepatan dan arah, melalui signal yang diterima lebih
dari 24-32 satelit yang berorbit 200.000 km (11.000 mil laut)
di atas bumi. Prinsip dasar dibalik GPS adalah pengukuran
jarak (distance/range) antara satelit dan receiver dari
transmisi signal radio. Sebuah GPS receiver memrlukan
empat atau lebih satelit untuk menghasilkan jarak penerima,
dan menggunakan informasi ini untuk menyimpulkan lokasi
penerima. Operasi ini disebut triangulation.
2.1.3.2.2 Cara Kerja GPS
Satelit-satelit GPS mentransmisikan signal radio ke
bumi yang mengadung informasi tentang satelit, contohnya
lokasi dan waktu saat pengambilan informasi,
menginformasikan pengguna secara tepat di mana satelit
berada dalam orbit mereka sementara GPS receiver secara
pasif menerima sinyal satelit tersebut. Semua satelit-saelit
GPS menyinkronisasikan operasi-operasi agak sinyal-sinyal
yang berulang ini di transmisikan pada waktu yang
bersamaan.
20
2.1.4 Unified Modeling Language (UML)
Mengacu pada Jason T.Roff (2003), Unified Modeling Language
(UML) adalah sebuah bahasa. UML adalah bukan cara merancang sebuah
sistem tetapi sebuah cara untuk memodelkan sebuah sistem. Pada UML
terdapat beberapa metode yang dapat digunakan untuk merancang UML
yang biasa disebut Rational Unified Process (RUP) atau Unified Process.
Dalam mengembangkan sebuah piranti lunak, terdapat beberapa fase yang
dilakukan. Dalam Unified Process fase tersebut dibagi empat, yaitu :
1. Inception
Mengidentifikasikan sistem yang akan dibuat termasuk konten
dan proses bisnis di dalamnya.
2. Elaboration
Merancang dan mengidentifikasikan dasar-dasar pada sistem.
3. Construction
Membuat piranti lunak yang sudah dirancang sebelumnya.
4. Transition
Memberikan sistem kepada pengguna dan meberikan jangka
waktu evaluasi untuk sistem.
2.1.4.1 Use Case Diagram
Menurut Jasson T. Roff (2003) use case diagram
mengandung use case dan aktor yang mengilustrasikan hubungan
antara keduanya. Use case diagram adalah titik awal dalam
menganalisis ketika merancang sebuah perangkat lunak. Diciptakan
21
oleh Ivar Jacobson, use case diagram adalah gabungan dari
hubungan antara aktor dalam system dengan keseluruhan struktur
system yang dapat digunakan untuk pengguna. Use case diagram
terbagi dalam empat komponen (Jasson T. Roff (2003)), yaitu :
1. Sistem
Sebuah sistem adalah dasar dari perangkat lunak yang
menghasilkan fungsi-fungsi perangkat lunak kepada pengguna.
Dalam use case diagram, aktor dan use case adalah bagian dari
sebuah sistem. Dalam merancang sebuah perangkat lunak, use
case diagram adalah bagian terbesar dalam sebuah sistem. Pada
use case diagram sebuah sistem dapat memiliki sebuah sub
sistem di dalam keseluruhan sistem.
2. Aktor
Dalam use case diagram aktor digunakan untuk menggambar
pengguna yang menggunakan sistem. Sebuah aktor dapat
menjadi seorang pengguna atau sistem lain. Aktor harus
diberikan nama yang mendeskripsikan fungsi dari aktor
tersebut dalam sistem.
Gambar 2.1 Aktor
22
Gambar di atas adalah sebuah aktor dalam use case diagram
yang diberi nama pengguna. Dimana fungsi dari aktor tersebut
adalah menjadi sebuah pengguna dalam sebuah sistem.
3. Use Cases
Use cases adalah beberapa aksi atau kegiatan yang dilakukan
aktor dalam sebuah sistem. Dengan memberikan aksi atau
kegiatan use cases menjadi sebuah fungsi dalam sistem yang
dibuat. Ada beberapa aturan dalam pembuatan sebuah use case
dalam use case diagram, seperti penamaan sebuah use case
yang merepresentasikan fungsi dari use case dan penamaan
dari use case harus terdiri dari huruf, angka, dan beberapa
tanda baca kecuali titik dua (:) yang digunakan untuk
mengindikasikan sebuah package dalam use case.
Gambar 2.2 Use case
Package adalah sebuah bagian dari sistem yang berhubungan
dengan use case secara fungsionalitasnya. Penamaan use case
dengan package adalah dengan memberikan nama package
diawal dan ditambah dua buah tanda titik dua lalu ditambahkan
nama use case dalam package tersebut.
23
Gambar 2.3 Package
4. Relationship
Relationship atau hubungan dalam use case digambarkan
dengan garis yang berhubungan dengan aktor.
Gambar 2.4 Hubungan
Aktor dapat dihubungkan oleh beberapa use case dan use case
dapat dihubungkan oleh beberapa aktor.
5. Include Relationship
Include relationship adalah hubungan antara base use-case
dengan included use-case yang menggambarkan bagaimana
behaviour yang didefinisikan pada included use-case
ditambahkan ke dalam behaviour pada base use-case
Gambar 2.5 Notasi Include Relationship
24
6. Extend Relationship
Extend relationship merupakan hubungan antara extending use-
case dengan included use-case yang menggambarkan
bagaimana behaviour pada extended use-case dapat dijalankan
oleh base use-case pada kondisi tertentu.
Gambar 2.6 Notasi Exclude Relationship
7. Subsystem
Pemodelan yang sangat banyak dan besar yang dapat dipecah
menjadi beberapa bagian yang dapat dipelihara dapat
menggunakan sebuah subsystems.
25
Gambar 2.7 Subsystems
Guru menggunakan subsystems Sistem Penilaian. Di dalam
Sistem Penilaian terdapat kegiatan penilaian yang dilakukan
oleh Guru, yaitu melihat, menyimpan dan memperbarui nilai.
2.1.4.2 Activity Diagram
Mengacu pada pendapat Jasson T. Roff (2003), Activity
diagram digunakan untuk menganalisa kegiatan yang ada dalam use
case dan menampilkan interaksi sistem dengan yang lainnya.
Acitivity diagram juga memberikan penjelasan tentang sebuah
sistem dan langkah kedepan dalam menganalisis sistem berdasarkan
use case diagram. Sebuah activity diagram memberikan pembaca
tentang eksekusi proses dari sebuah sistem. Dalam activity diagram
terdapat beberapa komponen yang menggambar suatu objek, yaitu :
26
1. Activites : Action States
Cara penulisan sebuah aktivitas adalah menggambarkan sebuah
persegi panjang dengan bulat dikedua sisinya.
Gambar 2.8 Action States
Activity mengindikasikan sebuah aksi sehingga perlu diberikan
nama yang menggambarkan aksi yang terjadi dalam activity
tersebut.
2. States
Sebuah state digambar seperti activity yaitu berupa persegi
panjang dengan keempat sudutnya berbentuk seperti potongan
seperempat lingkaran. Sebuah state diidentifikasikan dengan
sebuah kata atau frase yang mengindikasikan yang sedang
terjadi dalam sistem. Dalam UML terdapat dua state khusus,
yaitu start state dan end state.
Gambar 2.9 Start State dan End State
State state digambar dengan lingkaran hitam, sedangkan end
state digambarkan dengan sebuah lingkaran dengan lingkaran
27
hitam di tengahnya. Setiap activity diagram hanya boleh
memiliki satu start state tetapi boleh memiliki banyak end
state. Tetapi menurut Jason T. Roff (2003) jumlah end state
lebih baik disesuaikan dengan kebutuhan, karena tujuan dari
pembuatan activity diagram adalah untuk mempermudah
pengembang dalam analisis dan perancangan sistem. Karena
kompleksitas perancangan sistem dapat digambarkan dengan
jumlah end state didalam activity diagram.
3. Transitions
Transition digunakan untuk menunjukan kontrol aliran dari
suatu state ke state lainnya. Transition juga menunjukkan
aliran dari state ke activity, antara activity, dan antara state.
Transition digambarkan dengan tanda panah yang
menunjukkan alirannya. Notasi untuk suatu transisi adalah
panah terbuka yang menunjukkan arah aliran.
Memasukkan kartu ATM Pilih Menu
Ambil kartu ATM Selesai transaksi
Gambar 2.10 Transitions
28
4. Guards
Sebuah guards dinotasikan pada transitions antara dua aktivitas
atau states dan ditulis dalam tanda kurung tertutup.
Memasukkan PIN
Memulai transaksi Muncul pesan kesalahan
[PIN salah] [PIN sesuai]
Gambar 2.11 Guards
Dalam contoh, aliran akan berjalan dari action state pertama ke
action state kedua jika kondisi [guards1] benar, namun aliran
akan berubah dari action state pertama ke action state kedua
jika [guards1] benar.
5. Decisions Points
Dalam kegunaannya decisions points hampir sama seperti
guards secara umum, tetapi decisions points membuat alur
aliran menjadi leebih rapi, khususnya ketika menggambar
diagram yang cukup besar dengan banyak kondisi yang
berbeda.
29
Mulai menyimpan nilai
Pilih siswa
Memasukkan nilai siswa
Memasukkan nilai siswa[belum ada nilai]
Membarui nilai siswa
[sudah ada nilai]
Selesai menyimpan nilai
Gambar 2.12 Decision Point
Pada decision points masih digunakan guards, tapi merupakan
percabangan dari transitions ke decision point.
2.1.4.3 Sequence Diagram
Mengacu pada pendapat Jasson T. Roff (2003), sequence
diagram digunakan untuk memperlihatkan interaksi antara aktor
dan objek serta objek yang lainnya. Pesan yang dikirim dari aktor
ke objek, objek ke objek, dan objek ke aktor untuk memperlihatkan
kontrol jaringan melalui sistem. Sequence diagram digunakan
merealiasasikan use case berdasarkan dokumentasi bagaimana use
30
case dipecahkan dengan desain sistem yang ada. Sequence diagram
dapat digunakan untuk menunjukkan setiap kemungkinan jalur
melalui interaksi, atau menunjukkan jalur tunggal melalui interaksi.
Sequence diagram mempunyai dua komponen utama, yaitu
active objects dan sistem hubungan antara active objects. Active
objects adalah objek yang mempunyai peran dalam sistem, dapat
menjadi sebuah objek maupun seorang aktor.
1. Active Objects
Objek digambarkan dengan kotak yang didalamnya tertuliskan
nama objek tersebut.
Gambar 2.13 Active Objects
Garis panjang putus-putus pada objek disebut dengan lifeline.
Lifeline digunakan untuk menggambarkan apa yang sedang
terjadi pada objek dalam kronologis kejadian.
Dalam sequence diagram memungkinkan untuk menggunakan
beberapa objek yang saling berinteraksi dan membuat diagram
31
dari beberapa objek tersebut untuk memulai sebuah sequence
diagram.
Mesin penjawab Server
Gambar 2.14 Beberapa Active Objects
Objek digambar dari kiri ke kanan, masing-masing mempunyai
lifeline. Pemodelan sequence diagram sebaiknya digambar
secara landscape mode dibanding menggambarnya dengan
potrait mode, sehingga mempunyai cukup ruang untuk
menggambar diagram.
2. Message
Message atau Pesan digunakan untuk menggambarkan
komunikasi antara active objects yang berbeda dari sebuah
sequence diagram. Pesan digunakan jika objek perlu untuk
keluar dari objek yang berbeda atau jika objek perlu untuk
memberikan informasi ke objek yang lain.
32
Pelanggan
Mesin penjawab Customer Service
Menelepon
Menghubungkan panggilan
Gambar 2.15 Pesan
Pesan digambarkan sebagai anak panah yang menghubungkan
lifeline dari active objects yang memanggil menuju ke active
objects penerima. Aktor juga dapat berperan dalam sequence
diagram. Aktor dapat memanggil objek dan objek dapat
memberitahu aktor.
2.1.4.4 Class Diagram
Menurut Jason T.Roff (2003) class diagram adalah diagram
statis yang terdiri dari bagian-bagian yang membentuk sistem atau
subsistem. Class diagram sangat penting pada pembuatan suatu
sistem yang bersifat object-oriented. Class diagram terdiri dari
attributes dan operations yang memungkinkan untuk menghasilkan
33
suatu keadaan (state) atau menyediakan fungsi. Class diagram
digunakan untuk menunjukkan detail lebih lanjut mengenai sistem.
Notasi-notasi yang terdapat dalam class diagram adalah :
1. Class
Class adalah representasi atau gambaran dari sekumpulan
object, misalnya sebuah mobil, sebuah tiket atau sebuah sistem.
Sebuah class harus meng-enkapsulasi informasi dan fungsi
yang hanya penting untuk class tersebut dan dalam konteks
sistem dimana class tersebut berada.
Gambar 2.16 Class
Gambar di atas adalah sebuah notasi dari class. Class
digambarkan dengan sebuah kotak yang terbagi menjadi 3
bagian. Bagian pertama adalah nama dari class. Bagian kedua
adalah atribut-atribut (data) dari class tersebut dan bagian
ketiga adalah operations atau fungsi yang dimiliki oleh class
tersebut. Pada suatu class terdapat tanda plus (+) dan minus (-)
yang menggambarkan visibility dari atribut dan operation yang
34
terdapat pada sebuah class. Visibility sebuah fitur menjelaskan
apakah sebuah class dapat digunakan oleh class lain. Tanda
plus (+) menunjukkan nilai visibility Public yang berarti class
yang diluar class dengan visibility ini dapat menggunakan fitur-
fiturnya. Tanda minus (-) menunjukkan nilai visibility Private
yang berarti hanya class ini sendiri yang dapat menggunakan
fitur-fiturnya. Selain itu terdapat nilai visibility Protected yang
berarti semua turunan dari class tersebut dapat menggunakan
fitur-fiturnya. Simbol yang digunakan adalah simbol #.
2. Relationship
Sebuah class dapat memiliki relationship atau hubungan
dengan class lainnya dan digambarkan dengan sebuah garis
yang di atasnya terdapat nama dari hubungan class tersebut.
Gambar 2.17 Contoh Hubungan antar Class
Gambar 2.17 menerangkan bahwa Guru mengajar sebuah
Kelas atau Kelas diajar oleh seorang Guru.
3. Multiplicity
Multiplicity adalah sebuah spesifikasi tentang kardinalitas yang
memungkinkan untuk dimiliki oleh sebuah object. Sebuah
multiplicity dapat berisi :
35
Exactly one(1), optional/zero or one(0..1), many/zero or more
(0..*), one or more (1..*), an exact number (n) ataupun
numerically specified (m..n).
Gambar 2.18 Contoh Multiplicity
Gambar 2.18 merupakan contoh multiplicity antara Guru dan
Kelas. Seorang Guru dapat mengajar satu hingga banyak Kelas.
Sedangkan sebuah Kelas hanya dapat diajar oleh seorang Guru.
4. Role
Pada sebuah hubungan antara class, role berguna untuk
menjelaskan peran dari suatu class terhadap class yang lain.
Gambar 2.19 Contoh Role
Sebagai contoh, Teacher memiliki dua buah peran (role)
yaitu sebagai instructor dan juga sebagai assistant untuk
sebuah class.
36
5. Attribute
Attribute merupakan property dari class yang
merepresentasikan tipe data yang dimiliki oleh instance suatu
class.
6. Operation
Operation merupakan kegiatan-kegiatan yang akan dilakukan
oleh suatu class.
7. Aggregation
Aggregation digunakan untuk menggambarkan hubungan
whole-part antara dua class dimana salah satu class dianggap
sebagai keseluruhan (whole), dan terdiri dari satu atau lebih
class yang menjadi bagiannya (part). Pada aggregation, class
yang menjadi bagian (part) dapat berdiri sendiri tanpa adanya
class yang menjadi objek keseluruhan (whole). Namun jika
class bagian (part) tersebut digabungkan, maka akan
membentuk sebuah whole class. Aggregation dapat
digambarkan sebagai berikut :
37
Gambar 2.20 Contoh Aggregation
Pada gambar 2.20 diilustrasikan bahwa class Computer terdiri
dari CPU, Display, Keyboard, Mouse dan Speaker. Class CPU,
selain menjadi bagian dari class Computer, juga merupakan
sebuah class yang terdiri dari class Fan dan Memory.
8. Composition
Composition adalah strong aggregation. Pada composition,
class yang menjadi bagian (part) tidak dapat berdiri sendiri
tanpa class keseluruhan (whole). Jadi, mereka terkait kuat
antara satu dengan yang lainnya.
Gambar 2.21 Contoh Composition
38
Pada gambar 2.21 Table dan Query adalah bagian dari
Database. Query dan Table tidak akan dapat berdiri sendiri
tanpa adanya basis data.
9. Generalization
Generalization merupakan sebuah hubungan
spesialisasi/generalisasi dalam model-model UML, dimana
object-object dari elemen yang dispesialisasikan (child) dapat
digantikan dengan object dari elemen yang digeneralisasikan
(parent). Dalam penerapannya, generalization merupakan
konsep inheritance dan dapat dikembangkan menjadi konsep
polymorphism.
Gambar 2.22 Generalization
10. Navigation
Navigasi umumnya mempunyai hubungan bidirectional yang
dapat diketahui dari hubungan satu class ke class yang lain dan
kembali melalui beberapa atribut yang dapat dilihat oleh
pengguna pada hubungan kedua class. Navigasi ditandai
dengan anak panah terbuka menunjuk pada class yang sedang
diakses.
39
+Kolom‐Hak akses+Baris
Tabel
‐Tabel
Baris TipeData
Pengguna
1
1
+Kolom1
1
1
‐Hak akses1
Gambar 2.23 Bidirectional
Pada contoh diatas, class Baris mempunyai hubungan
bidirectional dengan class Tabel. Class Tabel mempunyai
atribut public, yaitu Baris, yang memungkinkan navigasi ke
masing-masing objek pada class Baris. Class Baris mempunyai
atribut private, yaitu Tabel, yang memungkinkan class Baris
untuk melakukan navigasi kembali ke class Tabel gabungan.
Class Tabel menggunakan atribut hak akses yang bersifat
private untuk berhubungan dengan Pengguna. Hal yang sama
juga beraku untuk navigasi dari class Tabel menuju class
TipeData. Navigasi juga dapat terjadi unidirectional, dimana
satu class dapat mengenali tentang hubungan class lain, namun
class lainnya tidak dapat berlaku sebaliknya. Navigasi
40
digambarkan dengan anak panah terbuka yang menunjuk class
yang dapat dikenali dan hanya class yang dikenal yang
mempunyai multiplicity.
Pelanggan Produk
1
‐BarangyangDibeli
0..*
Gambar 2.24 Unidirectional
Pada contoh, class Pelanggan mengetahui tentang jumlah
barang yang dibeli, tapi class Produk tidak mengetahui sama
sekali tentang class Pelanggan.
2.2 Teori Khusus
2.2.1 Augmented Reality (AR)
2.2.1.1 Pengertian AR
Bedasarkan Ronald T. Azuma yang dikutip oleh Jonathan
Barron (2010), “Augmented Reality” merupakan variasi dari Virtual
Environments(VE) atau lebih dikenal dengan Virtual Reality. VE
memposisikan pengguna ke dalam Synthetic Environtment. Di
dalam VE pengguna tidak dapat melihat dunia nyata disekitarnya.
Sedangkan pada Augmented Reality (AR), teknologi ini
memungkinkan pengguna untuk melihat dunia nyata dengan objek
41
yang ditambahkan kedalam dunia nyata. Pada intinya, teknologi AR
memungkinkan penggabungan antara dunia nyata dan dunia
virtual.
Sekarang ini mulai banyak perusahaan-perusahaan yang
bergerak di bidang Augmented Reality. Contohnya: Total
Immersion, perusahaan yang bergerak di bidang Augmented Reality
sekarang telah menjadi global leader dalam bidang pengembangan
Augmented Reality.
2.2.1.2 Perkembangan AR
Pada perkembangannya, Augmented Reality semakin banyak
digunakan dan menggunakan metode-metode yang berbeda dalam
implementasinya. Menurut Robert Rice, CEO Neogen Tech,
Augmented Reality dibagi menjadi empat tahapan berdasarkan
metode yang digunakan, yaitu:
1. Tahap 1 (L1) : Marker-Based Augmented Reality
Marker Based Augmented Reality adalah AR yang
menggunakan marker atau penanda objek dua dimensi yang
memiliki suatu pola yang akan dibaca komputer melalui media
webcam atau kamera yang tersambung dengan komputer. Jika
tanda ditemukan dan dikenali oleh komputer, maka komputer
akan menambahkan objek tiga dimensi maupun objek digital ke
dalam tampilan atau lingkungan pengguna. Tahap ini masih
42
berjalan hingga sekarang dan diperkirakan masih akan terus
dipakai hingga lima tahun ke depan.
2. Tahap 2 (L2) : Markerless Augmented Reality
Prinsip kerja Markerless AR seperti AR Marker Based, tetapi
dalam hal ini ‘tanda’ yang dikenali oleh AR berbentuk posisi
perangkat, arah, maupun lokasi. Ketika aplikasi AR ini
mengenali ‘tanda’ yang sudah dikenali, biasanya aplikasi akan
memvisualisasikan video maupun gambar. Pada tahap ini AR
lebih menitikberatkan pada mobile social menggunakan AR.
3. Tahap 3 (L3) : Augmented Vision
Tahapan ini masih dalam pengembangan, dan diperkirakan
akan menjadi teknologi yang dapat digunakan dalam 20 tahun
ke depan. Augmented Vision (AV) sendiri adalah
pengembangan dari AR Dengan mengadopsi AR, AV
diharapkan dapat ‘membawa’ dunia digital lebih dekat ke dunia
nyata. Menurut perkembangan yang sedang berlanjut, AV
digunakan dengan memakai Digital Contacts Lens, dimana alat
ini berfungsi sebagai komputer yang bekerja dalam bentuk
kontak lens.
4. Tahap 4 (L4) : Direct Augmented Reality
Pengembangan akhir dari Augmented Reality adalah Direct
Augmented Reality. Dimana teknologi ini memungkinkan
kendali dunia virtual melalui syaraf atau otak manusia serta
43
implan retina digital dengan bantuan chip prosesor mini yang
ditanam di kepala. Teknologi ini masih menjadi gambaran
akhir dari AR, jadi wujud nyata tentang pengembangan
teknologi ini.
Dari penjelasan di atas dapat disimpulkan bahwa teknologi
Augmented Reality baru saja dimulai dan akan terus berkembang
seiring perkembangan teknologi. Augmented Reality sendiri dalam
pengimplementasiannya juga dapat membantu pengguna dalam
berbagai aspek, seperti pemasaran, kesehatan, arsitektur, hiburan,
perancangan dan lain lain.
2.2.2 Android
2.2.2.1 Pengertian Android
Android adalah sebuah sistem operasi untuk perangkat mobile
berbasis linux yang dibuat oleh Google dan Open Handset Alliance
(OHA). Android didesain untuk mengatur kinerja perangkat mobile
dari mulai sistem operasi, middleware, hingga aplikasi (anonim1).
Android memiliki empat karakteristik sebagai berikut:
1. Terbuka
Android dibangun untuk benar-benar terbuka sehingga sebuah
aplikasi dapat memanggil salah satu fungsi inti ponsel seperti
membuat panggilan, mengirim pesan teks, menggunakan
kamera dan lain-lain. Android menggunakan sebuah mesin
44
virtual yang dirancang khusus untuk mengoptimalkan sumber
daya memori dan perangkat keras yang terdapat di dalam
perangkat.android merupakan open source, dapat secara bebas
diperluas untuk memasukkan teknologi baru yang lebih maju
pada saat teknologi tersebut muncul. Platform ini akan terus
berkembang untuk membangun aplikasi mobile yang inovatif.
2. Semua aplikasi dibuat sama
Android tidak memberikan perbedaan terhadap aplikasi utama
dari telepon dan aplikasi pihak ketiga (third-party application).
Semua aplikasi dapat dibangun untuk memiliki akses yang
sama terhadap kemampuan sebuah telepon dalam menyediakan
layanan dan aplikasi yang luas terhadap para pengguna.
3. Memecahkan hambatan pada aplikasi
Android memecah hambatan untuk membangun aplikasi yang
baru dan inovatif. Misalnya, pengembang dapat
menggabungkan informasi yang diperoleh dari web dengan
data pada ponsel seseorang seperti kontak pengguna, kalender,
atau lokasi geografis.
4. Pengembangan aplikasi yang cepat dan mudah
Android menyediakan akses yang sangat luas kepada pengguna
untuk menggunakan library yang diperlukan dan tools yang
dapat digunakan untuk membangun aplikasi yang semakin
baik. Android memiliki sekumpulan tools yang dapat
45
digunakan sehingga membantu para pengembang dalam
meningkatkan produktivitas pada saat membangun aplikasi
yang dibuat. (Sumber: http:www.android.com/about/)
2.2.2.2 Sejarah Sistem Operasi Android
Telepon seluler menggunakan berbagai macam system
operasi seperti Symbian OS®, Microsoft’s Windows Mobile®,
Mobile Linux®, iPhone OS® (berdasarkan Mac OS X), Moblin®
(dari Intel), dan berbagai macam system operasi lainnya. API yang
tersedia untuk mengembangkan aplikasi mobile terbatas dan oleh
karena itulah Google mulai mengembangkan dirinya. Menurut
Anonim, platform Android menjanjikan keterbukaan, kemudahan
untuk menjangkau, source code yang terbuka, dan pengembangan
framework yang high end.
Google membeli perusahaan Android Inc., yang merupakan
sebuah perusahaan kecil berbasis pengembangan perangkat lunak
untuk ponsel, pada tahun 2005 untuk memulai pengembangan pada
platform Android. Tokoh utama pada Android Inc., meliputi Andy
Rubin, Rich Miner, Nick Sears, dan Chris White.
Pada tanggal 5 November 2007, kelompok pemimpin industry
bersama-sama membentuk Open Handset Alliance (OHA) yang
diciptakan untuk mengembangkan standar terbuka bagi perangkat
mobile. OHA terdiri dari 34 anggota besar dan beberapa anggota
46
yang terkemuka diantaranya sebagai berikut: Sprint Nextel®, T-
Mobile®, Motorola®, Samsung®, Sony Ericsson®, Toshiba®,
Vodafone®, Google, Intel®, dan Texas Instruments.
Android SDK dirilis pertama kali pada 12 November 2007
dan para pengembang memiliki kesempatan untuk memberikan
umpan balik dari pengembangan SDK tersebut. Pada bulan
September 2008, T-Mobile memperkenalkan ketersediaan T-Mobile
GI yang merupakan smartphone pertama berbasiskan platform
Android. Beberapa hari kemudian, Google merilis Android SDK
1.0. Google membuat source code dari platform Android menjadi
tersedia di bawah lisensiApache’s open source.
Google merilis perangkat genggam (disebut Android Dev
Phone 1) yang dapat menjalankan aplikasi Android tanpa terikat
oleh berbagai jaringan provider telepon seluler pada akhir 2008.
Tujuan dari perangkat ini adalah memungkinkan pengembang untuk
melakukan percobaan dengan perangkay sebenarnya yang dapat
menjalankan Android OS tanpa berbagai kontrak. Google juga
merilis versi 1.1 dari sistem operasi Android pada waktu yang tidak
lama. Versi 1.1 dari Android tidak mendukung adanya soft
keyboards dan membutuhkan perangkat yang memiliki keyboard
secara fisik. Android menyelesaikan masalah ini dengan merilis
versi 1.5 pada bulan April 2009 dengan sejumlah tambahan fitur
seperti kemampuan perekaman media, widgets, dan live folders.
47
Versi 1.6 dari Android OS dirilis pada bulan September 2009
dan hanya dalam waktu satu bulan versi Android 2.0 dirilis dan
membanjiri seluruh perangkat Android. Versi ini memiliki
kemampuan advanced search, text to speech, gestures, dan multi
touch. Android 2.0 memperkenalkan kemampuan untuk
menggunakan HTML karena didukung oleh HTML 5. Semakin
banyak aplikasi berbasiskan Android setiap harinya yang terdapat
pada application store secara online atau dikenal sebagai Android
Market.
2.2.2.3 Versi Android
Android memiliki sejumlah pembaharuan semenjak rilis
aslinya. Pembaharuan ini dilakukan untuk memperbaiki bug dan
menambah fitur-fitur yang baru. Berikut merupakan versi-versi
yang dimiliki Android sampai saat ini:
1. Android versi 1.1
Pada tanggal 9 Februari 2009, Google merilis Android versi
1.1 yang dilengkapi dengan pembaruan estetis pada aplikasi,
jam alarm, pencarian suara, pengiriman pesan dengan Gmail®,
dan pemberitahuan email.
2. Android versi 1.5 (Cupcake)
Pada tanggal 30 April 2009 Android versi 1.5 sudah dirilis.
Android versi ini didasarkan pada Linux Kernel 2.6.27 dan
48
terdapat beberapa pembaharuan antar muka pengguna serta
penambahan beberapa fitur dalam Android versi 1.5.
pembaharuan yang dilakukan antara lain sebagai berikut:
a. Kemampuan untuk merekam dan menonton video dengan
modus kamera.
b. Menggunggah video ke Youtube® dan gambar Picasa®
langsung dari telepon.
c. Dukungan Bluetooth Advanced Audio Distribution Profile
(A2DP) dan Audio/Video Remote Control Profile
(AVRCP).
d. Kemampuan terhubung secara otomatis ke headset
Bluetooth dalam jarak tertentu.
e. Widgets dan folder yang baru yang dapat ditambahkan ke
dalam layar utama.
f. Transisi animasi layar dan keyboard pada layar yang dapat
disesuaikan dengan sistem.
3. Android versi 1.6 (Donut)
Pada tanggal 15 September 2009 Android versi 1.6 sudah
dirilis. Android versi ini didasarkan pada Linux Kernel 2.6.29.
Pembaharuan yang dilakukan adalah sebagai berikut:
a. Android market yang sudah diimprovisasi.
b. Kamera, camcorder, dan antarmuka galeri yang
terintegrasi.
49
c. Galeri memungkinkan pengguna untuk memilih banyak
gambar yang akan dihapus.
d. Voice search yang sudah diperbaharui.
e. Fasilitas pencarian yang sudah diperbaharui, yang
memungkinkan pencarian bookmark, history, dan web dari
layar utama.
f. Teknologi yang mendukung Code Division Multiple
Access/Evolution Data Only (CDMA/EVDO), 802.1x,
Virtual Private Network (VPN), text-to-speech engine serta
kemampuan dial contact.
g. Dukungan resolusi layar Wide Video Graphics Array
(WVGA)
h. Kecepatan pencarian meningkat
i. Peralatan pengembangan untuk gesture framework dan
gesture builder.
4. Android versi 2.0/2.1 (Ếclair)
Pada tanggal 26 Oktober 2009 Android versi 2.0 sudah dirilis.
Android versi ini didasarkan pada Linux kernel 2.6.29.
Pembaharuan yang dilakukan adalah sebagai berikut:
a. Pengoptimalan kecepatan perangkat keras.
b. Dukungan untuk resolusi dan ukuran layar.
c. Perubahan antarmuka pengguna dengan browser baru dan
dukungan HTML 5.
50
d. Tampilan daftar kontak yang telah diperbaharui.
e. Rasio latar belakang (hitam dan putih) yang lebih baik.
f. Peningkatan Google Maps 3.1.2.
g. Microsoft exchange support.
h. Dukungan flash untuk kamera.
i. Digital zoom.
j. Bluetooth 2.1.
k. Live wallpaper.
l. Kelas motionevent ditambahkan untuk mendeteksi event
yang digunakan di dalam multi touch.
5. Android versi 2.2 (Froyo)
Pada tanggal 20 Mei 2010 Android versi 2.2 sudah dirilis.
Android versi ini didasarkan pada Linux kernel 2.6.32.
Pembaharuan yang dilakukan adalah sebagai berikut:
a. Optimasi kecepatan system Operasi Android, memori dan
performa.
b. Perbaikan kecepatan aplikasi tambahan dalam
implementasi Just In Time (JIT).
c. Integrasi dari JavaScript V8 Chrome ke dalam aplikasi
browser.
d. Peningkatan dukungan Microsoft Exchange seperti
kebijakan keamanan, auto discovery dan sinkronisasi
kalender.
51
e. Peningkatan penginstalan aplikasi yang memungkinkan
adanya shortcut pada ponsel.
f. Fungsionalitas USB tethering dan product hotspot.
g. Penambahan pilihan untuk menonaktifkan akses data
sepanjang jaringan ponsel.
h. Pembaharuan aplikasi “Market” dengan fitur pembaharuan
secara otomatis.
i. Waktu peralihan yang singkat antara autotext dan kamus
yang dimilikinya.
j. Pengiriman kontak melalui bluetooth.
k. Dukungan password numerik dan alpha numeric.
l. Dukungan untuk melakukan pengungguhan file pada
aplikasi browser.
m. Dukungan Adobe Flash® 10.1.
6. Android versi 2.3 (Gingerbread)
Pada tanggal 6 Desember 2010 Android versi 2.3 baru saja
akan dirilis. Pembaharuan yang dilakukan adalah sebagai
berikut:
a. Adanya penambahan toko musik online di market
b. Perubahan user interface
c. Mendukung tingkat resolusi yang lebih besar
d. Peningkatan fungsi copy-paste
52
e. Tidak semua HP bisa diupgrade ke versi ini, spesifikasi
minimum agar bisa diupgrade ke versi gingerbread
adalah: Kapasitas CPU 1 GHZ, RAM 512 MB, diagonal
layar minimal 3,5 inchi.
7. Android versi 3.0 / 3.1 (Honeycomb)
Android versi ini lebih ditujukan kepada smartphone yang
memiliki prosesor dan layar yang lebih besar. Pembaharuan
yang dilakukan adalah sebagai berikut:
a. Dirancang khusus untuk tablet Perubahan
b. User interface untuk Honeycomb juga berbeda karena
sudah di desain khusus untuk tablet
c. Mendukung multi prosesor dan juga akselerasi perangkat
keras untuk grafis
8. Android versi 4.0 (Ice Cream Sandwich)
Pada tanggal 19 Oktober 2011 Android versi 4.0 baru akan
dirilis. Pembaharuan yang dilakukan adalah sebagai berikut:
a. Menambahkan fitur membuka kunci dengan pengenalan
wajah
b. Jaringan data pemantauan penggunaan dan control
c. Terpadu kontak jaringan sosial.
d. Perangkat tambahan fotografi
e. Mencari email secara offline
f. Berbagi informasi dengan menggunakan NFC.
53
2.2.2.4 Komponen Aplikasi
Dalam membangun sebuah aplikasi dalam sistem operasi
android dibutuhkan komponen aplikasi sebagai dasar aplikasi
tersebut. Terdapat empat tipe dari komponen aplikasi, yaitu:
1. Activities
Sebuah activity menggambarkan sebuah layar dengan tampilan
antarmuka aplikasi. Contohnya pada aplikasi e-mail, yang
memiliki satu activity yang menampilkan daftar dari email
pengguna, ada activity lain yang berfungsi sebagai pembaca
email, dan ada activity lain untuk menulis dan mengirim email.
Walaupun dalam satu aplikasi terdapat banyak activity, tetapi
semua activity tersebut dapat bekerja bersama-sama dan
berkaitan.
2. Services
Service adalah sebuah komponen yang bekerja sebagai
background working dalam aplikasi. Service biasanya
digunakan untuk melakukan operasi yang membutuhkan waktu
lebih lama, sehingga proses tersebut tidak mengganggu proses
yang lainnya. Dikarenakan status service adalah background
working maka service tidak mempunyai tampilan antarmuka.
Contoh penggunaan dari service adalah penerima data dalam
smartphone.
3. Content Providers
54
Content provider mengatur data pada aplikasi. Penyimpanan
data bisa dilakukan pada sistem file, SQLite database maupun
media penyimpanan lainnya. Content provider juga dapat
mengubah data jika diberikan permission dalam melakukan
modifikasi data tertentu, seperti mengakses kontak pada
perangkat pengguna, mengakses media penyimpanan
pengguna, dan lain-lain, tergantung dari hak akses yang
diberikan pada content provider.
4. Broadcast Receivers
Broadcast receiver adalah komponen yang merespon siaran
pada perangkat. Broadcast receiver berfungsi memberikan
pengumuman pada sistem, ketika menerima panggilan/siaran
pada sistem perangkat.
Dari penjelasan empat komponen aplikasi di atas, dapat
disimpulkan bahwa sebuah aplikasi dalam sistem operasi android
dapat melakukan pekerjaan yang kompleks dengan menggunakan
komponen-komponen di atas.
2.3 Rapid Application Development
Rapid application development (RAD) atau rapid prototyping adalah
model proses pembangunan perangkat lunak yang tergolong dalam teknik
incremental (bertingkat). RAD menekankan pada siklus pembangunan pendek,
singkat, dan cepat. Waktu yang singkat adalah batasan yang penting untuk
55
model ini. Rapid application development menggunakan metode iteratif
(berulang) dalam mengembangkan sistem dimana working model (model
bekerja) sistem dikonstruksikan di awal tahap pengembangan dengan tujuan
menetapkan kebutuhan pengguna dan selanjutnya disingkirkan. Working model
digunakan kadang-kadangsebagai basis desain dan implementasi sistem final.
Dalam membangun sistem menggunakan RAD terdapat empat fase
didalamnya (Gary B. Shelly, Harry J. Rosenblatt, 2011), yaitu:
1. Requirements Planning Phase : kombinasi elemen dari fase sistem
perancangan dan analisis dari System Development Life Cycle (Siklus
Hidup Pengembangan Sistem). Seluruh elemen dari fase ini
mendiskusikan sistem kebutuhan program dan mendapatkan solusi untuk
perancangan sistem.
2. User design Phase: dalam fase ini mulai dibuat analisis sistem dan model
pengembangan serta protitipe yang menggambarkan keseluruhan sistem
dalam program meliputi input, process, output. Pembuatan desain ini
mengkombinasikan teknik Joint Application Development (JAD) dan
CASE untuk mendapatkan kebutuhan pengguna dan mengubahnya
menjadi model. Dalam pembuatan desain pengguna ini juga menyertakan
pengguna untuk mengerti, mengubah, dan memastikan model sistem yang
dibuat seperti kebutuhan pengguna.
3. Construction Phase – fokus pada program dan pengembangan aplikasi
seperti pada System Development Life Cycle (Siklus Hidup
Pengembangan Sistem). Didalam RAD pengguna melanjutkan untuk
56
berpartisipasi dan masih dapat memberikan keinginan untuk merubah
atau perbaikan sistem yang sudah dibuat. Dalam fase ini pengembangan
menitikberatkan pada pemograman, integrasi unit, dan pengetesan sistem.
4. Cutover Phase – Ini merupakan fase akhir dalam RAD yang mencakup
implementasi, konversi data, pengujian akhir pada sistem, dan pelatihan
pengguna. Apabila dibandingkan dengan metode yang lama, prosesnya
lebih singkat. Sehingga pada akhirnya hasil dari sistem yang dibuat lebih
cepat.
Gambar 2.25 : Fase RAD
Dari penjelasan di atas dapat kita simpulkan bahwa metode
pengembangan aplikasi dengan menggunakan RAD membuat waktu pengerjaan
aplikasi lebih cepat, hasil lebih baik karena terdapat kontrol pengguna pada
pengembangan sistem akan tetapi biaya yang dikeluarkan lebih besar dan juga
membutuhkan manajemen yang baik.
57
2.4 Eclipse
Eclipse adalah sebuah open source community, proyek yang berfokus
pada pembangunan sebuah platform pengembangan terbuka yang terdiri
frameworks yang dapat diperpanjang, tools dan runtimes untuk membangun,
dan menyebarkan dan pengelolaan perangkat lunak (anonim2) .
Eclipse Foundation adalah sebuah perusahaan non profit independent,
dimana perusahaan ini tidak mencari keuntungan semata. Perusahaan ini
didukung oleh anggota yang menjalankan proyek Eclipse dan membantu
mengolah serta memperkuat open source community dan sebuah ekosistem
yang erat kaitannya dengan pemenuhan produk dan jasa.
Pada akhir tahun 2001 IBM mengumumkan peluncuran proyek Eclipse
sebagai sebuah proyek open source. Eclipse adalah aplikasi Integrated
Development Enviroment (IDE) yang merupakan pembangunan ulang dari IDE
Visual Age. Keunikan Eclipse didesain sebagai sebuah platform pembangun
aplikasi yang memungkinkan pihak lain menambahkan fungsionalitas dengan
mudah dalam bentuk plug in.
IBM bahkan mempercayakan pengelolaan proyek tersebut pada sebuah
organisasi non-profit bernama Eclipse Foundation yang beranggotakan
perusahaan-perusahaan lain yang menyambut baik inisiatif sehingga dalam
waktu yang relatif singkat bermunculan beragam plug in Eclipse untuk berbagai
keperluan yang dibangun oleh perusahaan yang berda-beda. Sebagian
dimanfaatkan untuk membuat IDE atau plug-in yang komersial, dan sebagian
lain menjadi plug in yang open source. Kolaborasi antar perusahaan ini
58
memungkinkan terjadinya perkembangan yang amat pesat dan mendorong
vendor-vendor IDE yang sebenarnya telah memiliki platform IDE sendiri
seperti Borland Jbuilder ikut beralih menggunakan platform Eclipse.
2.5 SQLite
SQLite merupakan sebuah library process yang mandiri dan tanpa server,
zero configuration, database SQL transaksional. Kode untuk SQLite berada
dalam public domain dan dengan demikian bebas untuk digunakan untuk tujuan
apa pun, komersial atau swasta (anonim3).
SQLite merupakan mesin database SQL embedded. Tidak seperti
kebanyakan database SQL lainnya, SQLite tidak memiliki proses server yang
terpisah. SQLite membaca dan menulis secara langsung ke disk. Database SQL
lengkap dengan multiple table, indices, triggers, dan views, semua terdapat
dalam sebuah disk file tunggal. Format file database adalah cross-platform yaitu
kita bebas untuk menduplikasi database antara 32-bit dan sistem 64-bit atau
antara arsitektur big endian dan little endian. Fitur-fitur ini menjadikan SQLite
sebagai pilihan yang cukup banyak digunakan untuk Application File Format.
SQLite adalah compact library. Dengan semua fitur yang telah
diaktifkan, ukuran library bisa kurang dari 350 KB, tergantung pada platform
yang ditargetkan untuk digunakan dan pengaturan compiler optimization
(optimasi compiler seperti aggressive function inlining dan loop unrolling dapat
59
menyebabkan kode obyek yang akan jauh lebih besar). Jika beberapa fitur
opsional dihilangkan, ukuran library SQLite dapat berkurang hingga di bawah
180 KB. SQLite bisa juga berjalan dalam ruang stack yang minimal (4 KB) dan
heap yang sangat sedikit (100 KB), membuat SQLite menjadi engine database
pilihan populer di memori gadget seperti telepon seluler, Personal Digital
Assistant (PDA), dan MP3 player. Ada tradeoff antara penggunaan memori dan
kecepatan. SQLite umumnya berjalan lebih cepat sejalan dengan semakin banyak
memori yang diberikan. Namun demikian, kinerja biasanya sudah cukup baik
bahkan di lingkungan rendah memori.
Fitur-fitur yang terdapat pada SQLite (anonim4):
1. Transaksi bersifat atomic, konsisten, terisolasi dan tahan lama (ACID),
bahkan jika terjadi kegagalan sistem atau power.
2. Zero configuration, yang berarti tidak membutuhkan setup atau
administration.
3. Penerapan SQL92.
4. Database yang lengkap disimpan di dalam single cross-platform disk file.
5. Mendukung database dengan ukuran terabyte dan gigabyte, strings dan
blobs.
6. Footprint yang berukuran kecil: kurang dari 350 KB jika terkonfigurasi
penuh atau kurang dari 200 KB jika fitur-fitur tambahan tidak digunakan.
7. Lebih cepat dari database client atau server yang sering digunakan pada
umumnya untuk operasi-operasi yang bersifat umum.
8. API yang sederhana dan mudah untuk digunakan.
60
9. Ditulis dalam ANSI-C dan TCL binding terdapat didalamnya. Binding
untuk bahasa lainnya tersedia secara terpisah.
10. Tersedia sebagai single ANSI-C source-code file yang dapat ditambahkan
dengan mudah.
11. Mandiri, tidak bergantung kepada faktor eksternal.
12. Cross platform : UNIX (Linux dan Mac OS X), OS/2, dan Windows
(Win32 dan WinCE).
13. Kode SQLite berada di public domain dan dapat digunakan untuk tujuan
apapun.
14. Memiliki command line interface (CLI) client yang mandiri dan dapat
digunakan untuk mengatur database dari SQLite.
Penggunaan yang disarankan untuk SQLite :
1. Application File Format.
Jika dibandingkan dengan menggunakan fopen() untuk menulis XML
atau format eksklusif lainnya ke dalam disk files yang digunakan oleh
aplikasi, penggunaan SQLite database lebih disarankan. Dengan
menggunakan SQLite, keharusan untuk membuat parser dapat dihindari.
Data yang dimiliki akan lebih mudah diakses dan bersifat cross-platform,
dan update akan bersifat transaksional.
2. Database untuk Perangkat Elektronik
SQLite adalah pilihan yang cukup banyak digunakan untuk mesin
database di telepon seluler, PDA, MP3 player dan perangkat elektronik
61
lainnya. SQLite memiliki kode footprint yang berukuran kecil sehingga
penggunaan memori, disk space dan disk bandwith menjadi lebih efisien,
sangat handal dan tidak membutuhkan perawatan dari Database
Administrator.
3. Database untuk Website
Karena tidak memerlukan pengaturan dan penyimpanan informasi
terdapat pada disk files yang umum, SQLite cukup banyak digunakan
sebagai database dari website berskala kecil hingga menengah.
4. Stand-in untuk RDBMS Enterprise
SQLite sering digunakan sebagai pengganti dari RDBMS enterprise
untuk demonstrasi maupun testing. SQLite bersifat cepat dan tidak
memerlukan pengaturan. Hal ini dapat menghilangkan berbagai
kerumitan dari proses tes dan membuat demonstrasi lebih mudah untuk
dilakukan.
2.6 Javascript Object Notation
Javascript Object Notation (JSON), adalah format pertukaran data yang
ringan, mudah dibaca dan ditulis oleh manusia dan mudah diterjemahkan dan di
generate oleh komputer (anonim5). JSON merupakan format teks yang tidak
bergantung pada bahasa pemrograman apapun karena menggunakan bahasa
pemrograman seperti C, C++, C#, Java, Javascript, Perl, Python,dan lain-lain.
Oleh karena itu, JSON ideal sebagai bahasa pertukaran data.
62
JSON terdiri dari 2 struktur yang disebut sebagai struktur data universal,
yaitu:
1. Kumpulan pasangan nama atau nilai, atau yang biasa disebut sebagai
object, record, structure, dictionary, hash table, keyed list, atau
associative array pada beberapa bahasa.
2. Daftar nilai terurutkan (ordered list of values) yang pada kebanyakan
bahasa dinyatakan sebagai array, vector, list atau sequence.
JSON memiliki bagian-bagian sebagai berikut :
Objek, yaitu nilai yang tidak terurutkan. Objek 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).
Gambar 2.26 Objek pada JSON
Array adalah kumpulan nilai yang terurutkan. Array dimulai dengan [ (kurung
kotak buka) dan diakhiri dengan ] (kurung kotak tutup). Setiap nilai dipisahkan
oleh , (koma).
63
Gambar 2.27 Array pada JSON
Nilai (value) adalah beberapa string dalam kutip ganda, atau angka, atau dapat
berupa nilai true atau false atau null, atau sebuah objek, atau sebuah array.
Gamba 2.28 Nilai (value) pada JSON
String adalah kumpulan dari nol atau lebih karakter Unicode, yang berada di
dalam tanda “ ” (kutip ganda). Di dalam string digunakan backslash escapes (/)
untuk membuat karakter khusus. Sebuah karakter mewakili karakter tunggal
pada string. String sangat mirip dengan string C atau Java.
64
Gambar 2.29 String pada JSON
Angka pada JSON sangat mirip dengan angka pada C atau Java. Namun, pada
JSON tidak menggunakan format octal dan heksadesimal.
Gambar 2.30 Angka pada JSON
65
Spasi kosong (whitespace) dapat disisipkan di antara pasangan tanda-tanda
tersebut, kecuali beberapa detail encoding yang secara lengkap dipaparkan oleh
bahasa pemrogaman yang bersangkutan.
2.7 Cache
Menurut Turban cache adalah sejenis memori berkecepatan tinggi
dimana komputer untuk sementara waktu dapat menyimpan berbagai blok data
yang lebih sering digunakan dan dapat diakses secara lebih cepat oleh prosesor
daripada memori utama (RAM) (anonim5). Memori cache adalah tempat yang
lebih dekat dengan CPU di mana komputer untuk sementara waktu dapat
menyimpan berbagai blok perintah yang paling sering digunakan. Blok-blok
yang kurang banyak digunakan disimpan dalam RAM sampai tiba saatnya
ditransfer ke cache. Memori cache lebih cepat dari RAM karena perintah
berjalan dalam jarak yang lebih dekat ke CPU.
Terdapat tiga jenis memori cache, yaitu :
1. Cache level 1 (L1) atau cache internal adalah bagian dari chip
mikroprosesor dan besarnya berkisar antara 8-256 KB, kapasitas cache
L1 lebih kecil daripada cache L2 meskipun cache L1 bekerja lebih cepat.
2. Cache level 2 (L2) atau cache eksternal terletak diluar chip prosesor dan
terdiri dari kumpulan chip SRAM (static RAM). Kapasitasnya berkisar
antara 64 kilobyte hingga 2 megabyte.
66
3. Cache level 3 (L3) merupakan cache yang terpisah dari chip
mikroprosesor. Cache jenis ini biasanya hanya terdapat pada komputer
yang sangat canggih, yaitu yang menggunakan L2 Advanced Transfer
Cache.
Cache pada Android
Cache yang terdapat pada Android pada dasarnya berprinsip sama dengan
cache pada umumnya, yaitu sejenis memori berkecepatan tinggi dimana
komputer untuk sementara waktu dapat menyimpan berbagai blok data yang
lebih sering digunakan dan dapat diakses secara lebih cepat oleh prosesor
daripada memori utama (RAM). Namun jika memori internal dalam perangkat
Android akan terpakai semua, Android akan menghapus semua file yang berada
di dalam cache untuk membuat space tambahan. Walaupun demikian, developer
sebaiknya tidak hanya mengandalkan sistem untuk melakukan penghapusan
cache file ini. Developer harus tetap menjaga ukuran cache files agar berada
dalam batas yang wajar, seperti 1 MB. Pada saat user melakukan uninstall
aplikasi, file yang terdapat pada cache akan dihapus (anonim6).
2.8 Application Programming Interface
Mengutip dari tulisan Sumanth Bail, Application Programming Interface
(API) adalah method khusus yang dibuat oleh sebuah sistem operasi pada
komputer atau program aplikasi dimana programmer yang sedang membuat
67
program aplikasi dapat membuat request kepada sistem operasi atau aplikasi
lainnya.
Dalam terminologi layerperson, sebuah API mempermudah dalam
pengembangan program, dengan menyediakan semua blok pembangunan yang
dibutuhkan. Seorang programmer kemudian menempatkan blok-blok tersebut
untuk dihubungkan, membuat atau mengumpulkan informasi dari aplikasi
dimana API tersebut berada.
Mayoritas solusi Electronic Document Management Systems (EDMS),
seperti CNG-SAFE, menawarkan API yang memungkinkan programmer untuk
menulis aplikasi add-on yang konsisten dengan aplikasi inti. Walaupun API
dirancang untuk programmer, API juga memberikan keuntungan bagi pengguna
karena API membantu untuk memastikan bahwa program-program yang
menggunakan API yang sama akan memiliki antarmuka yang sama. Hal ini
membuat pengguna menjadi mudah untuk mempelajari dan menggunakan
modul-modul ini.
API biasanya dapat digunakan jika harus mengintegrasikan EDMS ke
software atau aplikasi yang telah dimiliki dan memerlukan pengaturan yang
khusus untuk dapat menghemat waktu dan menghilangkan kompleksitas,
mendapatkan konsistensi dan memperkecil faktor kesalahan manusia (human
error).
68
API menyediakan hampir seluruh fungsionalitas yang terdapat pada
aplikasi init dan dikontrol untuk memberikan dan menolak akses, sesuai dengan
izin yang dimiliki pengguna.
General requirement untuk dapat menggunakan API :
1. Pengembang yang memiliki pengetahuan untuk menggunakan API.
2. Pemahaman tentang tujuan dari proyek integrasi.
3. Kemampuan untuk membuat dengan dan sekitar API agar dapat
melakukan integrasi dengan sukses.