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 aspekaspek kemudahan dalam penggunaan program dan juga
9
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
ditambahkan ke dalam behaviour pada base use-case
Gambar 2.5 Notasi Include Relationship
use-case
24
6. Extend Relationship Extend relationship merupakan hubungan antara extending usecase 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
[PIN sesuai]
Memulai transaksi
[PIN salah]
Muncul pesan kesalahan
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
[belum ada nilai] Memasukkan nilai siswa
[sudah ada nilai]
Membarui nilai siswa
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
Mesin penjawab
Pelanggan
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 fiturfiturnya. 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
dapat
sebuah
whole
digambarkan sebagai berikut :
class.
Aggregation
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 Tabel +Kolom ‐Hak akses +Baris
1
1
1
+Kolom
1
1 Baris
TipeData
‐Tabel
1
‐Hak akses
Pengguna
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
‐BarangyangDibeli 1
Produk
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®, TMobile®, 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,
terintegrasi.
dan
antarmuka
galeri
yang
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.