10
BAB 2 LANDASAN TEORI
2.1 Teori Umum 2.1.1
IMK (Interaksi Manusia dan Komputer) 2.1.1.1 Pengertian IMK Menurut Shneiderman & Plaisant (2005, p10) secara teorinya pengertian dari Interaksi Manusia dan Komputer ialah suatu ilmu yang mempelajari bagaimana manusia berinteraksi dengan komputer dan pengaruh dari interaksi antara manusia dan komputer. Yang menjadi fokus dari interaksi manusia dan computer ini adalah perancangan dan evaluasi antarmuka pemakai (user interface). Interaksi manusia dan komputer (IMK) merupakan suatu disiplin ilmu yang berhubungan dengan perancangan, evaluasi, dan implementasi sistem komputer interaktif untuk digunakan oleh manusia, serta studi fenomena – fenomena besar yang berhubungan dengannya. Maka dari itu interaksi manusia dengan komputer memliki tujuan (Shneiderman & Plaisant, 2005, pp.1114) sebagai berikut : 1. Fungsionalitas Sebuah sistem dengan fungsionalitas yang tidak cukup baik akan
mengecewakan
pengguna
dan
cenderung
jarang
11
digunakan. Sebaliknya sistem dengan fungsionalitas berlebihan juga berbahaya dalam implementasi, penggunaan yang sulit, pemeliharaan, dan proses belajar. 2. Kehandalan, Ketersediaan, Keamanan dan Integritas Data Kehandalan maksudnya ialah berfungsi seperti yang pengguna inginkan, tampilan yang akurat. Lalu ketersediaan berarti siap ketika hendak digunakan dan jarang mengalami gangguan keamanan. Itu berarti data terlindungi dari akses yang tidak diinginkan dan kerusakan yang disengaja. Integritas data ialah keruntuhan data yang terjamin, tidak mudah rusak atau diubah oleh orang yang tidak berhak. 3. Standarisasi, Integrasi, Konsistensi, dan Portabilitas Pengembangan
yang
ditawarkan
cukup
berguna untuk
menghilangkan kekacauan kepada pengguna, itu harus diputuskan perancang.
2.1.1.2 Lima Faktor Manusia Terukur Dalam perancangan desain antarmuka terdapat ilmu dasar yang harus dipahami dan diimplementasi perancang sebelum berbuat lebih jauh. Menurut (Shneiderman & Plaisant, 2005, p32), lima faktor manusia terukur dalam desain antarmuka pengguna yaitu :
12
1. Waktu belajar (Time to learn) Berapa lama waktu yang dibutuhkan oleh pengguna dalam mempelajari sekumpulan perintah dalam suatu tugas? Dengan kata lain kemudahan dalam mengoperasikan sistem, sehingga pengguna tidak perlu waku lama dalam memahaminya. 2. Kecepatan kinerja (Speed of performance) Berapa lama waktu yang diperlukan untuk melakukan tugas? Pada intinya seberapa efektif kinerjanya dalam mengerjakan suatu tugas. 3. Tingkat kesalahan (Rate of Error by User) Berapa banyak kesalahan dan jenis kesalahan apa saja yang dilakukan oleh pengguna dalam menyelesaikan suatu tugas? Tingkat kesalahan harus diminimalisir sekecil mungkin untuk memudahkan pengguna. 4. Daya ingat (Retention Over Time) Daya ingat berkaitan dengan waktu belajar dan frekuensi penggunaan sistem, semakin sering pengguna menggunakan sistem maka semakin mudah pengguna dalam mengingat sistem tersebut. Sistem juga harus mudah digunakan sehingga pengguna hanya memerlukan waktu belajar yang singkat. 5. Kepuasaan subjektif (Subjective satisfaction) Seberapa suka pengguna menggunakan variasi aspek dari sistem? Jawabannya dapat dicari dan dipastikan dengan carainterview atau survey.
13
2.1.1.3 Delapan Aturan Emas Menurut Shneiderman & Plaisant (2005, pp.74-75) ada Delapan Aturan Emas (Eight Golden Rules) yang menjadi pedoman dalam perancangan antarmuka yang baik, yaitu: 1. Berusaha untuk konsisten. Bentuk konsistensinya meliputi pemilihan jenis huruf, kapitalisasi, bahasa yang digunakan, penggunaan warna, layout, dan hal lainnya yang harus konsisten diterapkan secara keseluruhan. 2. Menyediakan usability universal. Sebagian pengguna ialah expert user, berarti shortcut digunakan
untuk
mengurangi
jumlah
interaksi
dan
mempercepat waktu interaksi yang dilakukan oleh pengguna. Sejalan dengan meningkatnya jumlah interaksi yang dilakukan oleh pengguna, maka pengguna mengharapkan adanya shortcut yang biasanya berupa special keys atau perintah – perintah singkat dari keyboard. 3. Memberikan umpan balik (feedback) yang informatif. Dalam setiap aksi yang dilakukan oleh pengguna, harus disediakan umpan balik.Tidak sembarang feedback, ada aturan yang harus dilakukan, yang terpenting ialah informatif dan efektif. Umpan balik tersebut harus dapat memvisualisasikan hasil dari aksi yang telah dilakukan oleh pengguna.
14
4. Merancang dialog yang memberikan keadaan akhir. Aksi-aksi dari pengguna membentuk suatu urutan yang diatur kedalam grup-grup dimana terdapat bagian awal, tengah, dan akhir. Lalu diakhirnya harus disertai feedback yang harus bersifat informatif. 5. Memberikan
pencegahan
dan
penanganan
kesalahan
sederhana. Sistem yang baik harus dapat menghindarkan pengguna dari kesalahan sebelum kesalahan itu terjadi. Contohnya yaitu dengan menggunakan pemilihan combo box dibandingkan dengan textbox, karena textbox dapat meminta jenis inputan ganda
seperti
karakter
atau
numerik.
Hal
ini
akan
menyebabkan pengguna bingung. 6. Memungkinkan pembalikan aksi (undo) yang mudah. Sistem
harus
dapat
memungkinkan
untuk
melakukan
pengembalian aksi ke aksi sebelumnya. Hal ini dapat mengurangi perasaan yang tidak pasti dari pengguna, karena pengguna mengetahui bahwa kesalahan dapat diperbaiki. Hal ini mendorong pengguna untuk melakukan penjelajahan pilihan yang tidak biasa dan pengguna tidak bingung jika mendapatkan pesan kesalahan. 7. Mendukung pusat kendali internal (internal locus of control). Expert user menginginkan bahwa mereka bertanggungjawab dan menguasai sebuah sistem, maka sistem tersebut harus
15
dapat memberikan respon terhadap setiap aksi yang dilakukan oleh pengguna, karena manusia yang memegang kontrol suatu sistem. 8. Mengurangi beban ingatan jangka pendek. Maksudnya pemrosesan informasi pada manusia memerlukan tampilan yang sederhana, dengan cara mengurangi pergerakan window, dan waktu pelatihan yang cukup diberikan kepada pengguna untuk kode-kode, hapalan, dan urutan aksi-aksi yang mudah dimengerti.
2.1.1.4 Kategori Pengguna Sebelum suatu perangkat lunak dibuat, ada baiknya dipertimbangkan
dahulu
kategori
pengguna
yang
akan
menggunakan program tersebut, karena setiap pengguna memiliki karakteristik yang berbeda. Menurut Shneiderman & Plaisant (2005, p81) ada tiga kategori dari pengguna, yaitu : 1. Novice atau first-time users Aplikasi yang dibuat untuk pengguna seperti ini sebaiknya diatur semudah mungkin dan pesan kesalahan yang dirancang sebaiknya
bersifat
membangun
serta
spesifik
sehingga
pengguna tersebut dapat dengan mudah menemukan letak kesalahannya, selain itu disarankan membuat umpan balik dari setiap proses yang dikerjakan oleh program sehingga pengguna
16
mengerti bahwa komputer sedang melakukan suatu pekerjaan tertentu. 2. Knowledgeable intermittent users Kategori ini ialah kategori pengguna yang sudah mengerti konsep kerja computer tetapi belum mengerti menggunakan beberapa fasilitas yang ada dalam suatu aplikasi.Tetap memerlukan umpan balik tetapi tidak terlalu mendalam seperti kategori novice. 3. Expert frequent users. Untuk kategori seperti ini biasanya pengguna ingin agar pekerjaannya cepat selesai sehingga diusahakan membuat umpan
balik
sesingkat
mungkin
untuk
mempercepat
dimulainya suatu aksi.Disarankan aplikasi yang dibuat juga dilengkapi dengan shortcut.
2.1.1.5 Teori Warna Menurut Shneiderman & Plaisant (2005, pp.483-486), tampilan warna membuat pengguna mudah tertarik dan juga meningkatkan performa suatu tugas. Walau begitu bahaya penyalahgunaanya juga tinggi. Warna dapat : 1. Menenangkan atau merusak mata 2. Menambah aksen pada tampilan yang tidak menarik 3. Menekankan organisasi logis dari informasi 4. Menarik perhatian menjadi peringatan
17
Tidak ada aturan yang mudah untuk menentukan kegunaan warna, tapi pedoman berikut ini adalah langkah awal bagi desainer, yaitu : 1. Gunakan warna secara konservatif Banyak programmer dan desainer baru bersemangat untuk menggunakan warna untuk mencerahkan tampilan mereka, tetapi hasilnya sering kontraproduktif. 2. Batasi penggunaan warna Banyak panduan desain yang menyarankan untuk membatasi jumlah warna pada angka dan huruf menjadi empat dengan batas tujuh warna pada keseluruhan tampilan. 3. Sadari kekuatan warna sebagai teknik coding Warna mempercepat kesadaran untuk banyak tugas dan lebih efektif daripada tekstur coding. 4. Pertimbangkan kebutuhan pengguna yang buta warna Penggunaan warna hitam pada putih atau putih pada hitam akan berhasil pada kebanyakan penggunatermasuk yang memiliki kebutaan warna. 5. Gunakan warna untuk menandakan perubahan status Dengan cara ini warna berperan sebagai metode untuk menjadi point of interest.
18
2.1.2
Sistem Basis Data 2.1.2.1 Pengertian Basis Data Basis data adalah sekumpulan data yang secara logika saling berkaitan dan gambaran dari data ini dirancang untuk mendapatkan informasi yang dibutuhkan oleh suatu organisasi (Connolly & Begg, 2010, p54).
2.1.2.2 Database Management System (DBMS) Menurut Connolly & Begg (2010, p66), pengertian DBMS adalah sebuah perangkat lunak yang memberikan kebebasan pada pengguna untuk mendefinisikan, membuat, memelihara dan mengontrol akses ke basis data. Fasilitas-fasilitas yang disediakan oleh DBMS antara lain : 1. Data Definition Language (DDL) Menurut Connolly & Begg (2010, p40), Data Definition Language adalah bahasa yang memungkinkan Database Administrator atau pengguna untuk mendeskripsikan dan menamakan entities, attributes dan relasi yang diperlukan untuk aplikasi, bersama dengan keamanan dan integritas yang berhubungan. DDL memberikan kebebasan pada pengguna untuk mendefinisikan basis data. Dalam DDL pengguna dapat membuat struktur, tipe data dan juga constraints dari data.
19
2. Data Manipulation Language (DML) Menurut Connolly & Begg (2010, pp.41-42), Data Manipulation Language adalah bahasa yang menyediakan set operasi untuk mendukung operasi-operasi manipulasi pada data yang terdapat pada database. Ada dua tipe DML, diantaranya : 1.
Procedural DML Bahasa
yang
memberitahu
memperbolehkan sistem
apakah
data
pengguna
untuk
diperlukan
dan
bagaimana data dapat diperoleh. 2.
Non-procedural DML Bahasa
yang
memperbolehkan
pengguna
untuk
memberitahukan apakah data diperlukan atau tidak namun tidak memberitahukan bagaimana cara memperolehnya. DML memberikan kebebasan pada pengguna untuk melakukan insert, update, delete dan retrieve data dari basis data. DML menyediakan fasilitas untuk melakukan pencarian data yang disebut query language. Query language yang umum digunakan adalah Structured Query Languange (SQL). 3. DBMS juga menyediakan kontrol akses ke basis data, yaitu: a. Security System, mencegah pengguna yang tidak memiliki hak akses untuk mengakses basis data. b. Integrity System, menjaga konsistensi data yang disimpan dalam basis data.
20
c. Concurency Control System, memungkinkan akses ke basis data secara bersamaan. d. Recovery Control System, me-restore basis data ke keadaan yang sebelumnya jika terjadi kesalahan hardware atau software. e. User Accesible-Catalog, terdapat deskripsi dari data yang ada dalam basis data. 4. Dalam DBMS environment terdapat 5 komponen utama. Komponen tersebut antara lain : a. Perangkat keras Perangkat keras yang digunakan bergantung pada kebutuhan organisasi dan DBMS yang digunakan. Beberapa DBMS hanya berfungsi pada beberapa perangkat keras yang digunakan atau sistem operasi tertentu, ketika yang lain berjalan pada sebuah keberagaman perangkat keras dan sistem operasi yang luas. b. Perangkat lunak Terdiri dari perangkat lunak DBMS itu sendiri dan programprogram aplikasi, bersama dengan sistem operasi mencakup perangkat lunak jaringan jika digunakan pada sebuah jaringan. Target dari DBMS ialah memiliki peralatan generasi
keempatnya
yang
cepat
melalui
ketentuan
nonprocedural query language, reports generators, forms generators, graphic generatos, application generators.
21
c. Data Komponen utama yang paling penting dari DBMS environment adalah data.Data berperan sebagai jembatan penghubung antara komponen manusia dan komponen mesin. d. Procedure Procedure merupakan suatu instruksi dan peraturan yang mengatur desain dan penggunaan basis data. Pengguna dari sistem dan staff yang mengelola basis data membutuhkan dokumentasi
procedure
untuk
mengetahui
cara
menggunakan dan menjalankan sistem. e. Masyarakat Komponen akhir dari DBMS ialah masyarakat yang terlibat dengan sistem.
Gambar 2.1 Lingkungan DBMS
2.1.2.3 Struktur Data Relational Menurut Connolly & Begg (2010, p144), struktur data relational meliputi : 1. Relasi, yaitu table yang memiliki kolom dan baris
22
2. Atribut, yaitu kolom pada table 3. Domain, yaitu batasan nilai pada atribut 4. Tuple, yaitu baris pada table 5. Degree, yaitu jumlah atribute 6. Cardinality, yaitu jumlah baris (tuple) 7. Database relational, yaitu merupakan sekumpulan table (relasi) yang sudah dinormalisasi dengan namatable yang berbeda 8. Superkey, yaitu sebuah attribute atau sekumpulan attribute yang mengidentifikasikan baris pada relasi secara unik 9. Candidate key, yaitu attribute yang bisa dijadikan primary key 10. Primary key, yaitu candidate key yang dipilih untuk mengidentifikasikan baris pada table secara unik 11. Foreign key, yaitu attribute atau satu set attribute pada sebuah table yang menghubungkan table tersebut dengan table lain.
2.1.2.4 Entity Relationship Model Menurut
Connolly &
Begg
(2010,
p371),
Entity
Relationship merupakan pemodelan dengan pendekatan top-down pada
perancangan
database
yang
dimulai
dengan
mengidentifikasi data-data penting yang disebut entities serta lengkap dengan hubungannya. Konsep dasar dari ERD adalah tipe entity, yaitu kumpulan dari objek – objek yang mempunyai properties yang sama, yang
23
diidentifikasikan oleh kumpulan entitas
yang mempunyai
keberadaan yang tunggal. Kumpulan dari banyak entitas inilah yang disebut entities. Ada berbagai jenis relationship yang mungkin terjadi antara entities, diantaranya : 1. One-to-One Relationship (1..1) Hubungan antara satu anggota entity dengan tepat satu anggota dari entity yang lain.
Gambar 2.2 Contoh One-to-One Relationship (Connolly & Begg, 2010, p386)
24
2. One-to-Many Relationship (1..*) Hubungan antara satu anggota entity dengan satu atau lebih anggota dari entity yang lain diasosiasikan dengan tepat satu anggotadari entity pasangannya.
Gambar 2.3 Contoh One-to-Many Relationship (Connolly & Begg, 2010, p388) 3. Many-to-Many relationship (*..*) Hubungan antara satu entity dengan lebih dari satu anggota dari entity yang lain, dan juga sebaliknya, satu anggota entity yang lain dapat diasosiasikan dengan lebih dari satu anggota pasangannya.
Gambar 2.4 Contoh Many-to-Many Relationship (Connolly & Begg, 2010, p389)
25
2.1.3
Unified Modelling Language (UML) UML adalah bahasa standar untuk menulis perangkat lunak cetak biru. UML dapat digunakan untuk memvisualisasikan, menentukan, membangun, dan mendokumentasikan sistem perangkat lunak yang intensif.
UML
bukanlah
bahasa
manusia
bukan
juga
bahasa
pemrograman. Bagaimanapun, seperti bahasa pada umumnya, UML mempunyai aturan yang menjelaskan bagaimana UML digunakan. (Booch, Rumbaugh, Jacobson, 2005, p13) UML terdiri dari beberapa tipe diagram antara lain:
2.1.3.1 Use Case Diagram Menurut Booch, Rumbaugh, Jacobson (2005), use case diagram adalah diagram yang menggambarkan interaksi antara sistem, eksternal sistem dan user. Dengan kata lain, diagram ini menjelaskan siapa yang akan menggunakan sistem tersebut dan bagaimana cara usertersebut berinteraksi dengan sistem. Use case diagram menunjukkan hubungan statis antara aktor dan use case dalam sistem. Mereka menyediakan pandangan awal daristruktur sistem. Use case berguna dalam membangun dan mengkomunikasikan pandangan umum sistem. Mereka menyediakan satu titik awal untuk desain, khususnya objek identifikasi dan diagram urutan. Elemen-elemen diagram use case adalah use case, aktor, kegunaan, dan tanda panah. Aktor, diwakili oleh stick figure adalah segala yang di luar sistem, seperti
26
jenis pengguna atau sistem eksternal, yang berinteraksi dengan sistem.
Gambar 2.5 Contoh Use Case Diagram (Booch, Rumbaugh, Jacobson, 2005, p277)
Notasi yang digunakan dalam use case diagram:
Tabel 2.1 Notasi Use Case Diagram (Booch, Rumbaugh, Jacobson, 2005) Notasi
Keterangan Actor Menspesifikasikan seperangkat peranan yang sistem
Actor1
dapat perankan ketika berinteraksi dengan use case. Use Case
UseCase1
Sebuah deskripsi dan seperangkat aksi-aksi yang
27
berurutan yang ditampilkan sebuah sistem. Association Sebuah relasi struktural yang menghubungkan antara actor dengan use case Extend extend
Menggambarkan bahwa target dari use case mewarisi tingkah laku dari use case sumber. Include
include
Menggambarkan bahwa sumber dari use case memasukkan tingkah laku dari use case tujuan secara eksplisit
System
System Boundary Menggambarkan batasan dari sistem yang akan dibuat yang mengelilingi sejumlah use case
2.1.3.2 Use Case Narrative Setiap use case harus diperluas untuk memasukkan aliran khas dari event-event dan aliran alternatifnya. Aliran khusus use Case dari event-event adalah deskripsi langkah demi langkah yang Dimulai dari seorang actor yang memulai proses use case dan Berlanjut sampai akhir event (Whitten & Bentley, 2007, p.258).
28
Gambar 2.6 Contoh Use Case Narrative (Whitten & Bentley, 2007, p259).
2.1.3.3 Statechart Diagram Menurut Booch, Rumbaugh, Jacobson (2005), statechart diagram adalah diagram yang memperlihatkan mesin status,
29
menekankan aliran kontrol dari suatu state (status) ke state (status) lainnya. Status adalah kondisi dalam hidup suatu objek selama objek tersebut memenuhi beberapa kondisi, melakukan aktivitas, atau menunggu beberapa state. State sendiri adalah spesifikasi dari kejadian signifikan yang memiliki waktu dan tempat. Statechart diagram digunakan untuk pemodelan aspek dinamis dari sistem. Sebagian besar, pemodelan ini meliputi pemodel tingkah laku dari objek reaktif. Objek reaktif maksudnya ialah objek yang tingkah lakunya ditentukan oleh responnya terhadap state yang datang dari luar konteks. Dapat ditambahkan pula pada class, use case, atau bahkan seluruh sistem dengan tujuan menggambarkan, menspesifikasikan, membentuk, dan mendokumentasikan dinamika dari suatu objek.
Gambar 2.7 Contoh Statechart Diagram Sederhana (Booch, Rumbaugh, Jacobson, 2005, p350)
Notasi yang digunakan dalam statechart diagram:
30
Tabel 2.2 Notasi Statechart Diagram (Booch, Rumbaugh, Jacobson, 2005) Notasi
Keterangan Initial State, keadaan atau kondisi awal dari sebuah statechart diagram
Transition, relasi yang terjadiantara state
State, spesifikasi dari sebuah kejadian yang signifikan
Final State, kondisi akhir dari sebuah statechart diagram
2.1.3.4 Sequence Diagram Menurut Booch, Rumbaugh, Jacobson (2005), sequence diagram menggambarkan bagaimana objek berinteraksi antara satu dengan yang lain melalui message dalam eksekusi dari sebuah
use
case
atau
sebuah
operasi.
Diagram
ini
menggambarkan bagaimana message dikirim dan diterima antar objek dan urutannya. Sequance diagram terikat bersama diagram use case dan class diagram.
31
Gambar 2.8 Contoh Sequence Diagram (Booch, Rumbaugh, Jacobson, 2005, p126)
Notasi yang digunakan dalam sequence diagram:
Tabel 2.3 Notasi Sequence Diagram (Booch, Rumbaugh, Jacobson, 2005) Notasi
Keterangan Object Lifeline Merupakan sebuah garis yang merepresentasikan sebuah objek dalam jangka waktu tertentu.
Activation Menggambarkan periode waktu ketika pemrosesan terjadi dalam objek tersebut.
32
Message, return, callback message Penyampaian pesan dari satu objek ke objek lain atau ke diri sendiri.
2.1.3.5 Class Diagram Menurut
Booch, Rumbaugh, Jacobson
(2005),
class
diagram menggambarkan struktur objek yang terdapat pada sebuah sistem. Diagram ini menunjukkan objek-objek yang terdapat pada suatu sistem serta relasi antar objek-objek tersebut. Kelas dan paket diagram memberikan pandangan dari desain kelas sistem. Diagram mengandung representasi dari kelas dan paket (set terkait kelas) dan bagaimana mereka terkait.
Gambar 2.9 Contoh Class Diagram (Booch, Rumbaugh, Jacobson, 2005, p137)
33
Notasi yang digunakan dalam class diagram :
Tabel 2.4 Notasi Class Diagram (Booch, Rumbaugh, Jacobson, 2005) Notasi
Keterangan Class Sebuah deskripsi dari seperangkat objek yang berbagi atribut, operasi dan relasi yang sama. Class terdiri dari 3 bagian, yaitu nama class pada bagian atas, atribut pada bagian tengah, dan operasi pada bagian bawah.
Association Merupakan hubungan structural antar class yang saling berelasi. Aggregation Merupakan hubungan special dari hubungan asosiasi yang menspesifikasikan semua hubungan antara kumpulan (the whole) dan sebuah bagian (the part). Agregasi digambarkan dengan wajik tidak terisi. Composition Komposisi digambarkan dengan wajib berisi berwarna hitam.
34
Multiplicity Menggambarkan jumlah objek yang berpartisipasi dalam hubungan antar class.
Generalization Merupakan sebuah relasi spesialisasi / generalisasi dimana suatu kelas dapatlebih spesifik dari kelas lainnya.
2.1.4
Waterfall Model Menurut
Pressman
(2010,
p14),
model
waterfall
adalah
pendekatan sistematis dan sekuensial untuk pengembangan perangkat lunak yang dimulai dengan spesifikasi terhadap kebutuhan pelanggan (Communication)
dan
berlangsung
melalui
Planning,
Modeling,
Construction, dan Deployment, sampai perangkat lunak selesai. Model waterfall ini juga terkadang disebut sebagai classic life cycle.
Gambar 2.10 Gambar urutan proses model Waterfall (Pressman, 2010, p39)
35
Berikut penjelasan lengkap dari lima tahapan model waterfall menurut Pressman (2010, p15): 1. Communication Sebaiknya pengembang terlebih dahulu berkomunikasi dengan pelanggan dan stakeholder lainnya, sebelum pekerjaan teknis untuk pembuatan sistem dimulai, hal ini penting untuk mengetahui sistem apa
yang
akan
dibuat.
Selain
itu
untuk
membantu
dalam
mengumpulkan informasi terkait pengembangan atau pembuatan sebuah sistem. 2. Planning Tahap ini berguna untuk dapat mengatur kinerja para software engineer, mengetahui soal resiko yang dihadapi nanti, serta mengetahui apa saja sumber daya yang dibutuhkan, menghasilkan apa, serta yang paling penting adalah mengatur jadwal pembuatan perangkat lunak yang efektif. 3. Modeling Tahap ini berguna untuk sebuah model yang akan dibuat agar lebih memahami perangkat lunak atau sistem yang akan dihasilkan. Serta dengan
tahap
mengetahui
pemodelan,software
desain
perangkat
lunak
engineerjuga atau
sistem
dapat
lebih
agar dapat
menyelesaikan masalah yang sedang berlangsung. 4. Construction Tahap ini berguna untuk menggabungkan antara melakukan coding dan testing yang dibutuhkan dalam pembuatan suatu sistem untuk
36
mengetahui kesalahan apa saja yang terdapat pada sistem atau perangkat lunak tersebut. 5. Deployment Pada tahap ini perangkat lunak yang telah selesai akan dipasarkan ke pelanggan. Selain itu juga mengumpulkan kritik dan saran dari pelanggan yang telah mencoba sistem atau perangkat lunak yang telah dibuat.
2.2
Teori Khusus 2.2.1
GPS (Global Positioning System) 2.2.1.1 Pengenalan GPS GPS atau Global Positioning System merupakan sistem navigasi satelit yang terdiri dari 24 satelit beroperasi dan 3 satelit cadangan. 24 satelit itu mengorbit bumi pada jarak 20.200 km dan waktu orbit 12 jam, sambil memancarkan sinyal berita gelombang radio.Departemen Pertahanan AS yang mengoperasikan sistem GPS telah mengatur konfigurasi satelit sedemikian rupa, sehingga semua tempat di bumi dapat menerima sinyal dari 4 sampai 10 satelit.Sebagai penunjuk waktu, masing-masing satelit dibekali dengan 4 buah jam atom yang dapat mengukur waktu dengan ketelitian sepermilyar detik. Teknologi GPS sanggup menentukan lokasi manapun di muka bumi dengan ketelitian kurang lebih 1 meter (Brain & Harris, 2006).
37
Gambar 2.11 Sistem Satelit GPS
2.2.1.2 Bagian-bagian Daerah Kerja GPS Menurut Brain & Harris (2006), GPS terdiri atas tiga segmen yaitu space segment, control segment, user segment, dengan penjelasan sebagai berikut: 1. Space Segment Space segment terdiri atas konstelasi 24 satelit. Masing-masing satelit mengirimkan sebuah sinyal, yang memiliki sejumlah komponen: dua buah gelombang sinus (yang juga dikenal sebagai carrier frequency / frekuensi pembawa), dua kode digital, dan sebuah pesan navigasi. Pesan kode dan navigasi ditambahkan ke dalam pembawa sebagai modulasi dua fasa biner. Pembawa dan
38
kode digunakan terutama untuk menentukan jarak dari receiver pengguna sampai ke satelit GPS. Pesan nagivasi berisi koordinat (lokasi) satelit sebagai fungsi waktu bersama dengan informasi – informasi lain. 2. Control Segment Segmen kontrol dari sistem GPS terdiri atas jaringan lima stasiun pemantau di seluruh pelosok dunia, dengan master control station (MCS) berlokasi di dekat Colorado Springs, Colorado, Amerika Serikat. Tugas utama segmen kontrol operasional adalah menjejaki satelit GPS dengan tujuan untuk menentukan dan memprediksikan lokasi satelit, integritas sistem, jam atom satelit, data atmosfer, perkiraan satelit, dan pertimbangan-pertimbangan lain. Informasi ini kemudian digabungkan dan diunggah ke satelit GPS melalui jalur Sband. 3. User Segment User segment mencakup semua pengguna baik militer maupun sipil. Dengan sebuah penerima GPS yang terhubung dengan antena GPS, seorang pengguna dapat menerima sinyal GPS, yang dapat digunakan untuk menentukan posisi pengguna tersebut di manapun di bumi. Saat ini GPS tersedia bagi siapapun di seluruh dunia tanpa biaya apapun.
39
Gambar 2.12 Daerah Kerja GPS
2.2.1.3 Cara Kerja GPS Menurut Brain & Harris (2006), GPS bekerja dengan cara mengumpulkan data dari satelit, masing-masing satelit akan memberikan informasi jarak antara lokasi satelit tersebut dengan sebuah titik di bumi (GPS receiver). Dari proses pengambilan lokasi-lokasi tersebut akan diperoleh koordinat-koordinat yang disebut waypoint (garis lintang dan bujur pada peta). Dari semua data itu, lokasi titik (GPS receiver) dapat ditentukan dengan cara menerapkan
konsep
triangulasi.
Konsep
triangulasi
dapat
dianalogikan seperti berikut.Murid A ingin datang ke Gedung G, A tidak tahu di mana letak gedung itu. Ia hanya punya informasi bahwa Gedung G terletak 2 km dari Murid D, 5 km dari Murid B dan 10 km dari Murid C. Dengan menggambar tiga lingkaran
40
yang berpusat di Murid B, Murid C, dan Murid D masing-masing dengan radius 2, 5 dan 10 km. Di titik perpotongan ketiga lingkaran itulah terletak Gedung G. Dalam hal ini, alat penerima akan berada pada titik potong tiga bidang bola; masing-masing dengan radius sebesar jarak alat penerima ke satelit, dengan satelit itu sebagai pusat bola. Dengan demikian, posisi titik itu dapat diketahui dengan titik perpotongan ketiga lingkaran tersebut.
Gambar 2.13 Teknik Triangulasi
Pada praktiknya, satelit yang digunakan minimum 3 buah dan satelit keempat dibutuhkan untuk perhitungan sinkronisasi clock dari penerima GPS. Akurasi yang diperoleh dengan metode ini terbatas pada 100 meter untuk komponen horizontal, 156
41
meter untuk vertikal, dan 340 nanodetik untuk komponen waktu, semua pada tingkat probabilitas sebesar 95%. Tingkat keakuratan yang rendah ini diakibatkan oleh teknik selective availability, yaitu teknik yang digunakan untuk menurunkan akurasi posisi waktu nyata bagi pengguna yang tak berhak. Dengan keputusan pemerintah Amerika Serikat tanggal 1 Mei 2000 untuk penghentian selective availability, akurasi horizontal dapat naik menjadi 22 meter (dengan tingkat probabilitas 95%). Untuk lebih lagi meningkatkan akurasi GPS, digunakan metode diferensial, yang menggunakan dua alat penerima bersamaan.Dalam kasus ini, tingkat keakuratan yang diperoleh mencapai beberapa meter saja.
2.2.1.4 Ketidakakuratan pada GPS Sistem GPS telah didesain untuk seakurat mungkin, tetapi menurut Brain & Harris (2006), masih ada penyimpangan yang terjadi. Ada banyak penyebab dari penyimpangan ini, yaitu : 1. Kondisi Atmosfer Kondisi atmosfer yang berubah mengakibatkan kecepatan sinyal GPS berubah karena sinyal tersebut melewati atmosfer bumi dan ionosfer sehingga kecepatan gelombang mikro dari satelit akan berubah, yang akan mempengaruhi perhitungan jarak menjadi tidak akurat.
42
2. Ephemeris Error danClock Error Sinyal pada GPS membawa informasi tentang error pada ephemeris (posisi secara orbital). 3. Selective Availabilty Selective Availability (SA) adalah teknik yang digunakan untuk menurunkan akurasi posisi waktu nyata bagi pengguna yang tak berhak, dimana merupakan suatu penyimpangan posisi yang disengaja dari sekitar 0 sampai ribuan kaki ke dalam sinyal navigasi yang ada secara umum. SA ini bisa dihilangkan dengan cara koreksi secara diferrensial. 4. Multipath Signal yang mengalami pantulan akibat memasuki atmosfer bumi ketika menuju ke antena GPS. 5. Dilution Of Precision (DOP) DOP merupakan sebuah indikator kualitas dari geometri pada konstelasi satelit.Perhitungan sebuah posisi bisa berbeda-beda tergantung
pada
satelit
mana
yang
sedang
digunakan.Perbedaaan geometri satelit bisa memperbesar atau bahkan memperkecil error pada GPS. Semakin besar sudut antara satelit yang satu dengan yang lainnya maka akan memperkecil nilai DOP, dan menghasilkan pengukuran yang lebih
baik.
Nilai
yang
tinggi
pada
DOP
mengindikasikan geometri yang buruk pada satelit.
berarti
43
Gambar 2.14 Posisi Baik pada Pemetaan
Gambar 2.15 Posisi Buruk pada Pemetaan
44
2.2.2
Android 2.2.2.1 Pengenalan Android Menurut Ed Burnette (2010, p18), Android adalah sistem operasi untuk Mobile atau telepon seluler yang berbasis Linux.Android
menyediakan
platform
terbuka
bagi
para
pengembang buat menciptakan aplikasi mereka sendiri untuk digunakan oleh bermacam perangkat Mobile. Awalnya, Google Inc. membeli Android Inc., pendatang baru yang membuat perangkat lunak untuk ponsel. Kemudian untuk mengembangkan Android, dibentuklah Open Handset Alliance, konsorsium dari 34 perusahaan perangkat keras, perangkat lunak, dan telekomunikasi, termasuk Google, HTC, Intel, Motorola, Qualcomm, T-Mobile, dan Nvidia. Pada saat perilisan perdana Android, 5 November 2007, Android bersama Open Handset Alliance menyatakan mendukung pengembangan standar terbuka pada perangkat seluler. Di lain pihak, Google merilis kode–kode Android di bawah lisensi Apache, sebuah lisensi perangkat lunak dan standar terbuka perangkat seluler. Android memiliki versi-versi sebagai berikut : • Android versi 1.1 (Maret 2009) • Android versi 1.5 Cupcake (Mei 2009) • Android versi 1.6 Donut (September 2009) • Android versi 2.0/2.1 Éclair (Desember 2009) • Android versi 2.2 Froyo (Mei 2010)
45
• Android versi 2.3 Gingerbread (Desember 2010) • Android versi 3.0 Honeycomb (Mei 2011) • Android versi 4.0 Ice Cream Sandwich (Oktober 2011) • Android versi 4.1 Jelly Bean (July 2012)
2.2.2.2 Tipe Aplikasi Android Menurut Ed Burnette (2010),terdapat tiga kategori aplikasi pada Android : 1. Foreground Activity Aplikasi yang hanya dapat dijalankan jika tampil pada layar dan tetap efektif walaupun tidak terlihat. Aplikasi dengan tipe ini pasti mempertimbangkan siklus hidup activity, sehingga perpindahan antar activity dapat berlangsung dengan lancar. 2. Background Service Aplikasi yang memiliki interaksi terbatas dengan pengguna, selain dari pengaturan konfigurasi, semua dari prosesnya tidak tampak pada layar. Contohnya aplikasi penyaringan panggilan atau sms auto response. 3. Intermittent Activity Aplikasi yang masih membutuhkan beberapa masukkan dari pengguna, Namun sebagian sangat efektif jika dijalankan di background dan jika diperlukan akan memberi tahu pengguna tentang kondisi tertentu. Contohnya pemutar music, untuk aplikasi yang kompleks akan sulit untuk menentukan kategori
46
aplikasi tersebut apalagi aplikasi memiliki ciri-ciri dari semua kategori. Oleh karenanya perlu pertimbangan bagaimana aplikasi tersebut digunakan dan menentukan kategori aplikasi yang sesuai.
2.2.3
Tempat Makan Menurut Marsum (2005, p6), tempat makan adalah suatu bangunan yang diorganisasi secara komersial untuk menyelenggarakan pelayanan dengan baik kepada semua tamunya baik berupa makanan maupun minuman. Tujuan operasi tempat makan adalah bisnis atau mencari untung dan membuat puas para konsumen. Di dalam bisnis ini terjadi semacam barter antara pembeli dengan penjual, barter ini tidak akan berjalan mulus kalau petugas petugas yang akan menangani pelayanan tidak diseleksi secara cermat, didik dan dilatih dengan baik, diajar berkomunikasi serta koordinasikan dengan teliti dan dipersiapkan dengan kesungguhan hati. Menurut Marsum (2005, pp8-11), macam-macam tipe tempat makan : 1. A’la Carte A’la Carte adalah tempat makan yang telah mendapat izin penuh untuk jual makanan lengkap dengan banyak variasi dimana tamu bebas memilih sendiri makanan yang mereka inginkan. Tiap – tiap makanan didalam tempat makan jenis ini mempunyai harga sendiri – sendiri.
47
2. Cafetaria atau Café Cafeteria atau Café adalah suatu tempat makan kecil yang mengutamakan penjualan yang spesifik. 3. Canteen Canteen adalah tempat makan yang berhubungan dengan kantor, pabrik, atau sekolah, tempat dimana para pekerja dan pelajar bisa mendapatkan makan siang dan Coffee break. 4. Specialty Specialty adalah tempat makan yang suasana dan dekorasi seluruhnya di sesuaikan dengan tipe khas makanan yang disajikan. 5. Family Type Family Type adalah suatu tempat makan sederhana yang menghidangkan makanan dan minuman dengan harga tidak mahal dan cocok untuk keluarga.
2.2.4
Makanan Menurut Gibney, Lanham, Cassidy, Vorster (2009, p8) makanan adalah suatu bahan yang berasal dari hewan atau tumbuhan. Dimakan oleh makhluk hidup untuk memberikan tenaga dan nutrisi. Tanpa makanan, makhluk hidup akan sulit dalam mengerjakan aktivitas sehariharinya. Makanan membantu kita dalam mendapatkan energi dan untuk pertumbuhan badan serta otak.
48
Setiap makanan mempunyai kandungan gizi yang berbeda, yaitu protein, karbohidrat, lemak, dan lain-lain adalah salah satu contoh gizi yang akan kita dapatkan dari makanan. Tubuh manusia membutuhkan zat makanan dalam jumlah yang berbeda. Menurut Michael J Gibney (2009, p206) ada dua macam zat makanan, yaitu : 1. Zat Makanan Makro (makronutrien) Yaitu zat makanan yang dibutuhkan dalam jumlah banyak. Terdiri dari karbohidrat, protein, dan lemak. 2. Zat Makanan Mikro (mikronutrien) Yaitu zat makanan yang dibutuhkan dalam jumlah sedikit. Contohnya ialah mineral dan vitamin.
2.2.5
HTML 2.2.5.1 Definisi HTML Menurut Shelly, Woods, dan Dorin (2008, p8), HTML (Hypertext Markup Language) merupakan standar informasi yang berbasis hypertext yang dipakai pada web. Berdasarkan standar inilah web browser dapat memahai isi atau dokumen yang berasal dari web sever. HTML adalah sebuah format dokumen dan gabungan dari hypertext yang menghubungkan dengan dokumen lain yang disimpan pada komputer yang sama maupun komputer yang berbeda. Page yang ditulis dalam HTML menjelaskan textfile (ASCII) yang berarti tidak berisi platform atau informasi program
49
khusus sehingga bisa dibaca oleh beberapa editor yang mendukung text. Menurut Shelly, Woods, dan Dorin (2008, p10) HTML berisi dua hal: 1. Text halaman sendiri. 2. Tag HTML mengidentifikasikan elemen page, structure, formatting, dan hypertext link ke halaman lain atau ke media. HTML tag sebagai berikut :
text Nama tag sendiri ditutup dengan tanda (<>). HTML secara umum mempunyai tag awal dan tag akhir. Tag awal membuka ciri – ciri (seperti heading, bold, dan sebagainya) dan tag akhir ditutup dengan didahului tanda slash (/) terlebih dahulu. Contoh sederhana dokumen HTML dapat dilihat di bawah ini: <TITLE>Contoh HTML
Ini contoh halaman HTML
2.2.6
PHP: Hypertext Preprocessor (PHP) 2.2.6.1 Definisi PHP PHP digunakan sebagai bahasa script server-side dalam pengembangan web yang disisipkan pada dokumen HTML.PHP
50
nerupakan software open source yang disebarkan dan dilisensikan secara gratis serta dapat di downloadsecara bebas dari situs resminya (Atkinson, 2004). PHP
adalah
skrip
yang
dijalankan
di
server.Jadi
konsepnya berbeda dengan JavaScript, yang dijalankan di klien.Keuntungan penggunaan PHP, kode yang menyusun program tidak perlu diedarkan ke pemakai sehingga kerahasiaan kode dapat dilindungi (Atkinson, 2004). Hal menarik yang didukung oleh PHP tetapi tidak didudkung oleh JavaScript adalah kenyataan bahwa PHP bisa digunakan untuk mengakses berbagai macam database seperti Access, Oracle, MySQL, dan lain – lain.
2.2.6.2 Sintaks Dasar PHP Menurut Atkinson (2004) ada empat macam cara penulisan kode PHP, yaitu : 1. echo (“ini adalah script PHP\n”); ?> 2. php echo(“ini adalah script PHP\n”); ?> 3. <script language=”php”> echo (“tulis pakai ini jika HTML editor yang dipakai tidak mengenali PHP”); 4. <% echo (“kalau yang ini mirip dengan ASP”);%> Anda dapat memilih salah satu dari empat cara tersebut. Tapi yang paling sering digunakan adalah cara pertama dan
51
kedua. Perhatikan bahwa tiap akhir baris harus selalu diberi tanda titik koma (;). Seperti pada bahasa pemograman lain, Anda pun bisa meletakkan baris komentar pada program. Pada PHP caranya adalah dengan meletakkan komentar tersebut disebelah kanan tanda // jika komentar satu baris /* dan /* jika komentar lebih dari satu baris. Contoh: echo (“latihan PHP”); //ini adalah contoh komentar satu baris /* kalau yang ini adalah komentar lebih dari satu baris */ echo (”memang mudah”); ?>
2.2.6.3 Tipe Data pada PHP Menurut Atkinson (2004) PHP mengenal tiga macam tipe data, yaitu : 1. Integer Yang termasuk dalam tipe data ini adalah bilangan bulat (tidak pakai koma).Contoh : 1. Desimal, $a = 1234 2. Negatif, $b = -1234 3. Octal, $c = 0123 4. Heksadesimal, $d = 0x12
52
Pernyataan $a = 1234 disebut pernyataan penugasan. Dalam contoh tersebut maksudnya adalah memberi nilai 1234 ke variable $a. 2. Floating Point Number Disebut juga bilangan pecahan.Terdapat tanda titik yang merupakan pemisah antara bagian bulat dan pecahan dari angka. Ada 2 contohnya, yaitu : 1. Bentuk biasa, $a = 1.234 2. Bentuk exsponensial, $b = 1.2e3 3. String String merupakan tipe data yang terdiri dari huruf (teks), angka dan karakterkarakter lainnya.Teks, angka dan karakter lainnya dapat digabungkan jika ingin membentuk sebuah kalimat atau pernyataan tertentu. Untuk memasukkan nilai string selalu diapait tanda kutip ganda seperti contoh : $a = “ini adalah tipe data string”
2.2.7
Eclipse IDE Menurut website resminya (www.eclipse.org/org/) eclipse adalah sebuat komunitas proyek open source yang difokuskan pada membangun sebuah platform pengembangan yang dapat diperluas, runtime dan kerangka aplikasi untuk membangun, menyebarkan dan mengelola perangkat lunak di seluruh daur hidup perangkat lunak. Komunitas
53
Eclipse memiliki lebih dari 60 proyek open source. Proyek-proyek ini secara konsep terbagi menjadi 7 kategori : 1. Enterprise Development 2. Embedded and Device Development 3. Rich Client Platform 4. Rich Internet Applications 5. Application Frameworks 6. Application Lifecycle Management (ALM) 7. Service Oriented Architecture (SOA) Komunitas Eclipse juga didukung oleh ekosistem besar dan dinamis dari penyedia solusi teknologi informasi utama, start-up inovatif, universitas lembaga penelitian, serta individu yang memperluas, mendukung, dan melengkapi platform Eclipse.
Gambar 2.16 Tampilan Utama Eclipse IDE
54
2.2.8
Adobe Dreamweaver CS3 Menurut
website
resminya
(www.adobe.com/products/dreamweaver.html) Adobe Dreamweaver CS3 adalah aplikasi pembuat dan pengolah halaman web yang sangat populer sekarang ini. Penggunaannya lebih banyak dibandingkan aplikasi sejenis lainnya.Kelebihan Dreamweaver yang banyak disukai orang adalah fiturnya yang banyak, mudah dipakai, dan tersedianya kemampuan berkolaburasi dengan software pendukung lain buatan Adobe System. Adobe Dreamweaver CS3 dirilis pada tahun 2007 dan saat ini merupakan versi terakhir dari rangkaian versi Dreamweaver yang ada di pasaran.Dreameaver merupakan salah satu tool populer yang digunakan untuk
pemrograman
Web.Dreamweaver
paling
digemari
karena
fasilitasnya lengkap dan mudah dioperasikan. Setiap rilis terbaru Dreamweaver selalu mengikuti perkembangan teknologi web terbaru, sehingga akan menjadi jawaban bagi kebutuhan pengembangan web terbaik di kalangan web developer.
55
Gambar 2.17 Tampilan Utama Adobe Dreamweaver CS3
2.2.9
MySQL 2.2.9.1 Definisi MySQL Pengertian MySQL menurut King, Reese, Yarger, Williams (2009) adalah sebuah open source software database SQL (Search Query Language) yang menangani sistem manajemen database dan sistem manajemen database relational. MySQL adalah open source software yang dibuat oleh sebuah perusahaan Swedia yaitu MySQL AB. MySQL sangat mudah digunakan, reliable dan sangat cepat. MySQL mempunyai fiturfitur yang sangat mudah dipelajari bagi para penggunanya dan
56
dikembangkan untuk menangani database yang besar dengan waktu
yang
keamanannya
lebih
singkat.
Kecepatan,
konektivitas
dan
yang lebih baik membuat MySQL sangat
dibutuhkan untuk mengakses database di internet. 2.2.9.2 Menghubungkan MySQL Menurut King, Reese, Yarger, Williams (2009) pengguna harus menyediakan nama pengguna dan password untuk terhubung dengan MySQL. Pengguna juga harus menentukan hostname yang digunakan. Kemudian masuk ke shell (contoh :shell :dosprompt ) dan ketikan perintah berikut : Shell> mysql –h host –u ser –p Enter password :******* Tanda ******** mewakili password pengguna, masukkan password. Jika berhasil akan terlihat informasi seperti ini : Shell> mysql –h nama_host –u nama_user –p Enter password : ******* Welcome to the MySQL monitor. Commands end with ; or\g. Your MySQL connection id is 459 to server version:3.22.20a-log Type ‘help’ for help. Mysql> Prompt mysql> menunjukan bahwa MySQL dapat menerima
perintah-perintah
MySQL.
Untuk
memutuskan
hubungan dengan server, perintah adalah sebagai berikut : Mysql>quit.
57
2.2.10 Google Map Menurut (Purvis, Sambells, & Turner, 2006) serta (Svannerberg, 2010), Google meluncurkan Google Maps API pada bulan Juni 2005 untuk memungkinkan developer dapat mengintegrasikan Google Maps ke dalam website atau aplikasi mereka. Ini merupakan suatu layanan gratis yang tidak mengandung iklan.Tapi untuk keperluan bisnis, seperti akses penggunaan dengan skala yang lebih besar tentu ada persyaratan khusus dengan Google dan biaya yang harus dibayar.Pengecualian disebut Google Maps API Premier dimana developer harus membayar untuk menggunakan Google Maps API. Dengan menggunakan Google Maps API, developer dapat menanamkan Google Maps kedalam situs – situs eksternal. Meskipun pada awlanya hanya sebuah API Java Script, Maps API diperluas untuk mencakup aplikasi Adobe Flash, sebuah layanan untuk mengambil gambar peta statis, dan layanan web untuk melakukan geocoding, menghasilkan arah mengemudi dengan bantuan GPS dan mendapatkan profil elevasi.
2.2.11 JSON JSON (JavaScript Object Notation) menurut Joe Fawcett (2012) adalah suatu format ringkas pertukaran data komputer.Formatnya berbasis
teks
dan
terbaca
manusia
serta
digunakan
untuk
mempresentasikan struktur data sederhana, JSON tidak bergantung pada bahasa programming apapun, dengan parser yang tersedia untuk hampir
58
semua
bahasa.Format
JSON
sendiri
sering
digunakan
untuk
mentransmisikan data terstruktur melalui koneksi jaringan.Utamanya digunakan untuk mentransmisikan data antara server dan aplikasi baik web, desktop, dan mobile. Format JSON pada awalnya ditentukan oleh Douglas Crockford. Jenis
media
internet
aplikasi/json.Formatnya
yang sering
resmi digunakan
untuk untuk
JSON serialisasi
adalah dan
mengirimkan data terstruktur melalui koneksi jaringan.Terutama untuk pengiriman data antara server dan aplikasi web, desktop, dan mobile yang melayani sebagai alternatif ke XML.