10 BAB 2 LANDASAN TEORI
2.1
Teori Umum 2.1.1
Pengertian Teknologi Menurut Kamus Besar Bahasa Indonesia, teknologi memiliki dua pengertian, yaitu : 1) Metode ilmiah untuk mencapai tujuan praktis; ilmu pengetahuan terapan. 2) Keseluruhan sarana untuk menyediakan barang-barang yang diperlukan bagi kelangsungan dan kenyamanan hidup manusia. Menurut Besari (2008:148), teknologi adalah ilmu pengetahuan dan seni yang ditransformasikan ke dalam produk, proses, jasa, dan struktur terorganisasi. Teknologi meliputi kapasitas manusia untuk berkreasi, berinovasi, dan mempergunakan berbagai teknik secara optimal dalam konteks lingkungan yang sudah ada. Pada dasarnya teknologi bertujuan untuk memberikan keuntungan kepada manusia.
2.1.2
Data Data merupakan fakta atau bukti yang dapat diproses menjadi sesuatu yang berarti berupa informasi. Menurut Heywood, Cornelius, dan Carver (2011), terdapat dua kategori sumber data, yaitu : a. Data primer
11 Data primer merupakan data yang dikumpulkan melalui penelitian tangan pertama. b. Data sekunder Data sekunder merupakan data yang telah dikumpulkan oleh orang atau organisasi lain. Contoh data sekunder dapat berupa peta, data hasil survei, atau data meteorologis.
Menurut Heywood, Cornelius, dan Carver (2011), data memiliki tiga dimensi, yaitu : a. Temporal Dimensi temporal merupakan dimensi yang berhubungan dengan waktu. Dimensi ini menyediakan rekaman mengenai kapan data tersebut dikumpulkan. b. Tematik Dimensi tematik merupakan dimensi yang berhubungan dengan tema. Dimensi ini menjelaskan karakter dari fitur dunia nyata yang ditunjuk oleh data tersebut. Dimensi tematik sering dianggap sebagai data non-spatial atau atribut. c. Spasial Dimensi spasial merupakan dimensi yang berhubungan dengan ruang. Dimensi ini menjelaskan mengenai nilai yang memberikan informasi mengenai lokasi dari fitur yang sedang diamati.
12 2.1.3
Basis Data Menurut Connolly dan Begg (2010), basis data dapat diartikan sebagai sekumpulan data yang saling berhubungan secara logika dan deskripsi dari data tersebut, yang dirancang untuk memenuhi kebutuhan informasi suatu organisasi. Basis data merupakan sebuah penyimpanan data yang tunggal dan besar, yang dapat digunakan secara simultan oleh banyak departemen dan pengguna.
2.1.4
Unified Modeling Language (UML) 2.1.4.1 Pengertian UML Menurut Bentley dan Whitten (2007), UML bukanlah sebuah metode untuk mengembangkan sistem melainkan sebuah notasi yang secara luas telah diterima sebagai standar pemodelan obyek. UML biasanya didefinisikan sebagai bahasa standar untuk menentukan,
membangun,
memvisualisasikan,
dan
mendokumentasikan sistem perangkat lunak (Connolly, 2005).
2.1.4.2 Diagram UML 2.1.4.2.1 Use Case Diagram Menurut Bentley dan Whitten (2007), diagram use case digunakan untuk menggambarkan interaksi yang terjadi antara sistem, sistem eksternal, dan pengguna
dalam
bentuk
grafis.
Dalam
13 penggambarannya, diagram use case terdiri dari use case, actor, dan relationship.
2.1.4.2.2 Activity Diagram Diagram activity adalah aliran kontrol dari satu aktivitas ke aktivitas lainnya. Sebuah diagram activity biasanya merupakan deskripsi jalannya operasi, langkah dalam suatu proses atau seluruh proses (Connolly, 2005). Menurut Bentley dan Whitten (2007), diagram activity
digunakan
untuk
menggambarkan
aliran
aktivitas dari sebuah use case atau proses bisnis secara sekuensial. Dalam penggambarannya, diagram activity dapat dibagi ke dalam partisi-partisi yang disebut swimlane. Penggunaan partisi ini bertujuan untuk memperlihatkankan secara spesifik siapa class atau actor yang menjalankan suatu aksi tertentu.
2.1.4.2.3 Sequence Diagram Menurut Bentley dan Whitten (2007), diagram sequence digunakan untuk menggambarkan bagaimana interaksi antar obyek berlangsung dengan menggunakan message dalam pengeksekusian use case atau operasi. Message dalam diagram sequence tersebut digambarkan secara berurutan dari atas ke bawah.
14
Gambar 2.1 Diagram Sequence
2.1.4.2.4 Class Diagram Menurut Lethbridge dan Laganiere (2002), diagram class adalah diagram yang mendeskripsikan class
dan
hubungannya.
Diagram
class
mendeskripsikan data yang ditemukan dalam sebuah sistem perangkat lunak. Menurut Bentley dan Whitten (2007),
diagram
class
digunakan
untuk
menggambarkan struktur dari obyek sistem, yang terdiri dari class beserta relationship antar class tersebut. Diagram
class
memiliki
beberapa
jenis
relationship, di antaranya adalah sebagai berikut (Bentley dan Whitten, 2007). a. Association dengan multiplicity.
15 Asosiasi digambarkan dengan sebuah garis yang menghubungkan antara satu obyek class
dengan
satu
obyek
class
lainnya.
Terdapat dua tipe asosiasi, yaitu bi-directional dan uni-directional. Bi-directional merupakan tipe asosiasi yang memperlihatkan bahwa kedua class yang berhubungan saling mengetahui satu sama lain. Asosiasi bi-directional digambarkan dengan sebuah garis yang menghubungkan dua buah class. Uni-directional merupakan tipe asosiasi yang memperlihatkan bahwa hanya ada satu class yang mengetahui mengenai class lain yang
terhubung.
Asosiasi
uni-directional
digambarkan dengan sebuah garis dengan anak panah terbuka di salah satu ujung garisnya. Dalam penggunaanya, asosiasi sering diikuti dengan penggunaan konsep multiplicity. Multiplicity digunakan untuk memperlihatkan jumlah jangkauan minimal dan maksimal kejadian pada suatu obyek class.
16 b. Aggregation. Agregasi merupakan sebuah hubungan antar
class
yang
menggambarkan
hubungan ”keseluruhan-bagian” (”whole-part”) dan ”bagian dari” (”is part of”).
c. Composition. Komposisi agregasi class
yang
merupakan lebih
”keseluruhan”
terhadap
pembentukan
kuat
hubungan di
mana
bertanggung
jawab
dan
penghancuran
class ”bagian”. Dalam hubungan ini, setiap class ”bagian” hanya dapat terhubung dengan satu class ”keseluruhan”.
2.1.5
Aplikasi Mobile 2.1.5.1 Pengertian Aplikasi Mobile Aplikasi mobile berisi perangkat lunak yang berjalan pada perangkat mobile dan dapat menjalankan beberapa pekerjaan bagi penggunanya. Seiring dengan penggunaan perangkat mobile yang semakin meningkat, maka aplikasi mobile juga mengalami perkembangan yang pesat.
17 2.1.5.2 Tipe Aplikasi Mobile Menurut Fling (2009), terdapat beberapa tipe aplikasi mobile, di antaranya adalah sebagai berikut. a. SMS Aplikasi SMS merupakan aplikasi mobile yang paling dasar. Meskipun sederhana, namun aplikasi SMS dapat
menjadi
alat
yang
sangat
berguna
jika
diintegrasikan dengan tipe aplikasi mobile lainnya.
b. Mobile Website Mobile website merupakan sebuah situs web yang dirancang khusus untuk perangkat mobile. Mobile website biasanya dirancang untuk memiliki desain yang sederhana dan menawarkan informasi yang terbatas.
c. Mobile Web Widget Mobile web widget merupakan aplikasi web sederhana yang dijalankan oleh pengguna akhir dalam suatu cara tertentu. Meskipun mudah untuk dibuat, namun mobile web widget memiliki keterbatasan yang mengharuskan pengguna untuk menginstal widget yang sesuai pada perangkat akses yang digunakan.
18 d. Mobile Web Application Mobile web application merupakan aplikasi mobile yang tidak perlu diinstal pada perangkat target. Aplikasi
web
memungkinkan
pengguna
untuk
berinteraksi dengan konten secara real time. Jurnal Database
Representation
for
The
of
Development
Object-Oriented of
Web
Based
Application Using Db4o menuliskan bahwa aplikasi web dinamis
merupakan
aplikasi
web
yang memiliki
kemampuan untuk mengubah perilaku aplikasi. Pada aplikasi web dinamis, pengguna akhir dapat memberikan inputan yang dapat diolah baik pada sisi klien ataupun server. Menurut Leon Shklar dan Rich Rosen (2009) aplikasi web merupakan aplikasi klien/server yang menggunakan web browser sebagai program klien, dalam bentuk layanan interaktif dengan menghubungkan antara server dengan Internet. Aplikasi web sendiri menyajikan
konten
parameter-parameter
secara yang
dinamis biasa
berdasarkan
digunakan
dan
mengikuti perilaku pengguna. Aplikasi web memiliki beberapa kelebihan (Fling, 2009), yaitu :
19 •
Aplikasi web mudah untuk dibuat dengan menggunakan pengetahuan HTML, CSS, dan JavaScript sederhana.
•
Aplikasi web mudah untuk didistribusikan lintas perangkat.
•
Aplikasi web menawarkan user experience dan rich design yang lebih baik, fitur tap into device, dan penggunaan offline.
•
Isi dari aplikasi web dapat diakses melalui mobile web browser apapun.
Di sisi lain, aplikasi web juga memiliki beberapa kekurangan sebagai berikut : •
Tidak dapat menyediakan pengalaman optimal bagi seluruh perangkat.
•
Meskipun tidak mustahil, namun sulit untuk mendukung lintas perangkat.
•
Aplikasi web tidak selalu dapat mendukung fitur-fitur native application, seperti offline mode, pencarian lokasi, akses filesystem, kamera, dan lain sebagainya.
20 e. Native Application Native application merupakan aplikasi mobile yang dikembangkan khusus untuk setiap perangkat mobile yang menjalankan platform tertentu. Dalam pendistribusiannya,
aplikasi
native
membutuhkan
sertifikasi untuk memastikan bahwa tidak ada aplikasi yang didistribusikan dengan tujuan untuk mencuri data pribadi pengguna ataupun menyebarkan virus melalui aplikasi tersebut.
f. Games Games secara teknis tergolong ke dalam aplikasi native. Akan tetapi Fling (2009) memisahkan games dari kelompok aplikasi native dengan dua alasan berikut. •
Games
tidak
mudah
diduplikasi
dengan
teknologi web. •
Games cenderung lebih mudah untuk di-port ke berbagai platform mobile dibandingkan aplikasi native.
21 2.1.5.3 Perbandingan Aplikasi Web dengan Aplikasi Native Menurut Fling (2009), aplikasi web lebih menonjol dibandingkan aplikasi native dalam empat hal berikut ini. a. Fragmentasi Bila
dibandingkan
dengan
aplikasi
native,
aplikasi web memiliki level kompleksitas terhadap fragmentasi perangkat yang jauh lebih rendah. Bahkan Fling memprediksi bahwa tantangan fragmentasi pada aplikasi web akan hilang dalam beberapa tahun ke depan. b. Web Dengan menggunakan web sebagai media utama dalam mendistribusikan informasi dan layanannya, aplikasi web dapat memanfaatkan semua keuntungan dan teknologi yang tersedia dalam pengembangan web dan mobile browser. c. Kontrol Web merupakan satu-satunya saluran distribusi mobile
yang
tersedia
dan
dapat
dikontrol
oleh
pengembang. Dengan demikian pengembang aplikasi web
mampu
memiliki
kontrol
penuh
terhadap
aplikasinya. Berbeda dengan aplikasi native, di mana aplikasi dapat dipengaruhi oleh pembuat perangkat atau platform yang menjadi target pendistribusian aplikasi.
22 d. Ekspektasi Konsumen Aplikasi
web
memiliki
kemampuan
untuk
memenuhi ekspektasi konsumen dengan lebih baik. Hal ini dikarenakan aplikasi web dapat memenuhi kebutuhan pengguna lintas perangkat dan platform. Berbeda dengan aplikasi native, di mana penggunaan aplikasi hanya dimungkinkan apabila pengguna memiliki perangkat yang kompatibel.
Melihat keunggulan aplikasi web di atas, Fling (2009) menuliskan bahwa aplikasi native perlu dibuat hanya jika aplikasi yang dirancang mempertimbangkan poin-poin sebagai berikut : a. Ada
keinginan
untuk
mengenakan
biaya
atas
penggunaan aplikasi. b. Bertujuan untuk membuat game. c. Aplikasi dirancang untuk memiliki fitur pendeteksian lokasi pengguna. d. Aplikasi
dirancang
untuk
memiliki
fitur
yang
membutuhkan akses terhadap kamera pengguna. e. Aplikasi dirancang untuk menggunakan accelerometer. f. Ada kebutuhan untuk mengakses data yang tersimpan dalam perangkat pengguna.
23 g. Aplikasi ditujukan bagi pengguna yang memiliki kecenderungan untuk offline ataupun berada di luar jangkauan jaringan mobile.
Menurut Fling (2009), apabila aplikasi yang dirancang tidak memenuhi kriteria aplikasi native di atas maka pengembang sebaiknya berfokus untuk membangun aplikasi web. Hal ini dikarenakan bahwa pengembangan aplikasi native hanya akan menambah
biaya
menghilangkan
proyek,
kontrol
mengurangi atas
aplikasi,
saluran
distribusi,
dan
menambah
permasalahan fragementasi perangkat. Oleh sebab itu, maka perancangan aplikasi native tidaklah disarankan, kecuali jika aplikasi yang ingin dibangun memang memenuhi minimal satu kriteria dari pertimbangan aplikasi native di atas.
2.1.6
Struktur Navigasi Menurut Savage dan Vogel (2009), penentuan struktur navigasi dilakukan untuk menentukan urutan di mana konten akan disajikan kepada pengguna, yang dikenal sebagai playback. Playback ditentukan oleh struktur navigasi. Ada empat struktur navigasi dasar, yaitu linear, hirarkis, jaringan, dan bersyarat. 2.1.6.1 Navigasi Linear Navigasi
linear
atau
berurutan
merupakan
bentuk
sederhana dari struktur navigasi. Dalam navigasi linear, tampilan
24 layar ditampilkan satu setelah yang lain, menyerupai halaman buku. Navigasi linear digunakan untuk menyajikan informasi dalam urutan aliran segaris dan sebangun.
2.1.6.2 Navigasi Hierarkis Navigasi hierarkis sering kali disebut sebagai struktur yang menyerupai pohon. Navigasi ini dimulai dari atas dengan topik yang paling umum dengan penyaringan ke pilihan yang lebih spesifik.
2.1.6.3 Navigasi Jaringan atau Non-Linear Navigasi jaringan memiliki struktur jaringan yang memungkinkan pengguna untuk berjelajah lebih bebas dengan mengganti urutan atau hierarki sesuai dengan pilihan pengguna. Secara umum bentuk struktur jaringan adalah hyperlink. Hyperlink merupakan hubungan antara dua data item, misalnya antara judul sebuah lukisan dan foto lukisan. Satu situs web dapat diatur dalam struktur hierarkis, tapi hyperlink dalam setiap halaman membuat pengguna web dapat bereksplorasi dengan rute yang tidak ditentukan.
2.1.6.4 Navigasi Campuran Navigasi campuran merupakan struktur navigasi bersyarat di mana akses ke informasi bergantung pada pengguna. Sistem
25 navigasi ini mengharuskan bahwa kondisi-kondisi tertentu harus dipenuhi sebelum pengguna melanjutkan ke langkah berikutnya.
2.1.7
Delapan Aturan Emas Perancangan Antarmuka Menurut Shneiderman (2010), delapan aturan emas merupakan prinsip-prinsip panduan yang berguna dalam perancangan antarmuka. Berikut delapan aturan emas tersebut : a. Berusaha untuk konsistensi. Konsistensi perancangan antarmuka dapat dilihat dari serangkaian aksi yang konsisten dalam situasi yang mirip, penggunaan istilah yang identik, serta konsitensi warna, layout, tipe huruf, dan lain sebagainya. b. Memungkinkan penggunaan universal. Dalam proses perancangan antarmuka perlu disadari adanya kebutuhan dari pengguna yang berbeda. Perbedaan tersebut dapat berupa perbedaan kemampuan, umur, dan kondisi kesehatan. Bagi pengguna pemula, perlu disediakan fitur untuk memberikan penjelasan. Sementara itu, bagi pengguna yang telah mahir, dapat disediakan berbagai shortcut untuk mempercepat aksi atau perpindahan halaman. c. Memberikan umpan balik yang informatif. Sistem harus dapat memberikan umpan balik yang informatif untuk aksi yang dilakukan pengguna. Untuk aksi yang sering dan tidak terlalu penting, maka pengguna dapat diberikan
26 umpan balik yang sederhana. Namun, untuk aksi yang tidak sering dan penting, maka pengguna dapat diberikan umpan balik yang kuat. d. Merancang dialog yang memberikan penutupan. Pada saat pengguna telah menyelesaian sebuah aksi, maka sistem
harus
menampilkan
sebuah
umpan
balik
yang
memberitahukan bahwa aksi tersebut telah selesai dilakukan. Hal ini bertujuan untuk membuat pengguna merasa yakin bahwa aksi yang dilakukan telah selesai dilakukan dengan sukses. e. Memberikan pencegahan kesalahan dan penanganan kesalahan yang sederhana. Sebuah antarmuka harus dirancang sedemikian rupa untuk mencegah pengguna melakukan kesalahan yang serius. Selain itu, antarmuka juga harus mampu mendeteksi kesalahan yang telah dilakukan
dan
memberitahukan
cara
untuk
memperbaiki
kesalahan tersebut dalam instruksi yang jelas dan sederhana. f. Memungkinkan pengembalian aksi yang mudah. Aksi yang dilakukan pengguna harus dapat dikembalikan ke dalam keadaan semula agar dapat mengurangi kekhawatiran pengguna dalam menjelajahi fitur-fitur lainnya. g. Mendukung pusat kendali internal. Pengguna harus diberi kebebasan untuk memegang kendali atas antarmuka yang ada, baik dalam melakukan navigasi, ataupun dalam cara memperoleh data yang diinginkan.
27 h. Mengurangi beban ingatan jangka pendek. Dengan adanya keterbatasan manusia dalam mengingat, maka antarmuka perlu memiliki rancangan yang sederhana dan mudah diingat.
2.1.8
Codeigniter Berdasarkan Codeigniter User Guide, Codeigniter adalah sebuah framework PHP yang memiliki tujuan utama untuk membantu pengembang dalam mengembangkan sebuah aplikasi dengan lebih cepat, aman, dan terstruktur. Codeigniter menggunakan pendekatan MVC (Model, View, Controller) yang memisahkan pemrograman logika dan tampilan dengan sempurna. Codeigniter memiliki sekumpulan library untuk kegiatan kegiatan yang sering digunakan, misalnya library untuk pengaturan waktu, pengaturan URL, konfigurasi form, dan validasi form.
2.1.9
Media Query Media Query merupakan pengembangan dari sebuah modul CSS yang berfungsi untuk memberikan label yang tepat untuk sebuah Stylesheet, berdasarkan media type dari sebuah output device. Media Query terdiri dari media type dan media features. Media Query mengembalikan dua jenis nilai, yakni True atau False. Jika hasil dari Media Query adalah True, maka aturan stylesheet yang tersambung akan diaplikasikan ke halaman situs web.
28 2.1.9.1 Media Type Media Type adalah tipe dari output device yang digunakan seorang pengunjung situs web untuk mengakses situs web tersebut. Media Type terdiri dari : •
braille
•
embossed
•
handheld
•
print
•
projection
•
screen
•
speech
•
tty
•
tv
2.1.9.2 Media Features Media Features mewakili properti dari sebuah CSS. Media Features memiliki nama dan nilai tertentu, yang digunakan untuk menentukan secara spesifik Media Type yang digunakan.
2.1.10 MySQL Menurut Schwartz, Zaitsev, dan Tkachenko (2012), MySQL merupakan database server yang fleksibel dan dapat digunakan untuk jangkauan penggunaan yang luas. MySQL dapat digunakan dalam
29 lingkungan yang sangat menuntut, seperti pada aplikasi web, ataupun untuk memperkuat embedded application, data warehouse, content indexing and delivery software, online transaction processing (OLTP), dan lebih banyak lagi. MySQL memiliki fitur paling penting yaitu arsitektur mesin penyimpan
(storage-engine),
yang
perancangannya
memisahkan
pemrosesan query dan pekerjaan server lain dari penyimpanan dan pengembalian data. Pemisahan ini memungkinkan pengguna untuk memilih bagaimana data disimpan serta performa, fitur, dan karakteristik lain yang diinginkan. Secara logikal, arsitektur MySQL terdiri dari tiga layer. Layer pertama berisi layanan-layanan yang dibutuhkan oleh alat klien/server berbasis jaringan atau server, seperti penanganan koneksi, otentikasi, keamanan, dan lain sebagainya. Layer kedua berisi kode untuk menguraikan query, analisa, optimasi, dan berbagai fungsi built-in. Sementara itu, layer ketiga berisi mesin penyimpanan, yang bertanggung jawab dalam menyimpan dan menampilkan semua data yang tersimpan “dalam” MySQL. Mesin-mesin penyimpanan tersebut tidak menguraikan SQL atau berkomunikasi antara satu dengan yang lain melainkan hanya sekedar merespon permintaan dari server. Menurut Valade (2007), MySQL memiliki beberapa keuntungan sebagai berikut. a. Cepat. b. Tidak mahal.
30 c. Mudah untuk digunakan. d. Dapat berjalan pada banyak sistem operasi. e. Banyak tersedia dukungan teknis. f. Aman. g. Mendukung basis data yang besar. h. Dapat disesuaikan (customizable).
2.1.11 Bahasa Pemrograman 2.1.11.1 Hypertext Markup Language (HTML) Menurut Wooldridge (2008), HTML digunakan untuk membangun halaman web. Dokumen HTML diidentifikasi dengan ekstensi file .html atau .htm. Dokumen-dokumen pada HTML dibuat dari isi teks dan kode spesial yang dikenal sebagai tag. Tag berfungsi
untuk
memberitahu
web
browser
bagaimana
menampilkan isi yang ada. Tag HTML ditulis dalam tanda kurung < >. Penulisan dalam tag HTML bisa menggunakan huruf besar ataupun huruf kecil. Akan tetapi, untuk membuat coding mudah untuk dibedakan dengan teks lain dalam halaman, biasanya nama tag ditulis dalam huruf besar. Untuk membuat kode HTML, dapat digunakan program pengaturan teks sederhana, seperti Notepad dan TextEdit, ataupun menggunakan HTML editor, seperti Adobe Dreamweaver dan Microsoft Expression.
31
2.1.11.2 Cascading Style Sheet (CSS) CSS memungkinkan pengguna untuk merencanakan skema warna, mengatur margin, membuat layout, memilih dan memodifikasi huruf, dan lebih banyak lagi. Menurut Wooldridge (2008), CSS dapat digunakan untuk mempertahankan
konsistensi
tampilan
dan
perasaan
pada
keseluruhan situs web. Style sheet memiliki kode format yang mengatur tampilan halaman web. Style sheet dapat digunakan untuk mengubah tampilan elemen halaman web, seperti paragraf, daftar (list), latar belakang, dan lebih banyak lagi. Style sheet biasanya berupa file teks yang terpisah dari dokumen HTML. Namun, style sheet juga dapat berupa style sheet internal
yang
diletakkan
dalam
kode
HTML.
Untuk
mengaplikasikan format dari style sheet eksternal ke dokumen HTML, maka lekatkan (attach) style sheet ke halaman dengan menggunakan tag LINK. File style sheet memiliki ekstensi file .css
2.1.11.3 PHP PHP merupakan bahasa scripting yang dirancang khusus untuk digunakan pada web (Valade, 2007). PHP memiliki kemampuan yang baik dalam berinteraksi dengan basis data. PHP
32 mendukung sejumlah besar basis data secara native dan banyak lainnya yang dapat diakses melalui fungsi ODBC dari PHP. Kode PHP diletakkan di dalam kode HTML untuk menciptakan isi dinamis. Kode-kode tersebut dibaca dan diuraikan oleh web server. Web server menggantikan kode PHP tadi dengan isi yang ingin dihasilkan oleh kode yang ditulis sebelumnya. Sebagai bahasa yang memiliki begitu banyak peminat, PHP memiliki beberapa kelebihan sebagai berikut. a. Cepat. b. Tidak mahal. c. Mudah digunakan. d. Dapat bekerja pada banyak sistem operasi. e. Tersedia banyak dukungan teknis. f. Aman. g. Dirancang untuk mendukung basis data. h. Dapat disesuaikan (customizable).
2.1.11.4 JavaScript Menurut David (2010), JavaScript merupakan bahasa pengembangan paling terkenal di dunia, dengan jutaan jumlah pengguna. Sebagai bahasa pemrograman, JavScript tidaklah terlalu sulit untuk dipelajari.
33 Untuk menyisipkan JavaScript dalam halaman web, pengguna dapat menggunakan dua cara berikut ini. a. Menyisipkan JavaScript secara langsung dalam halaman web di antara dua elemen SCRIPT. b. Menambahkan JavaScript ke sebuah file teks dan menghubungkan halaman web tersebut ke file teks.
JavaScript juga dapat ditempatkan di dalam elemen HEAD dari sebuah halaman dan dieksekusi oleh sebuah aksi kejadian (event action). Aksi kejadian dijalankan ketika sesuatu terjadi. Sebagai contoh, ketika halaman web dibuka, pengguna dapat menambahkan sebuah aksi kejadian yang disebut onLoad.
2.1.12 YSlow YSlow merupakan sebuah alat yang digunakan untuk menganalisa performa halaman web berdasarkan komponen-komponen pada halaman tersebut. Analisa ini dilakukan dengan didasarkan pada beberapa aturan yang dianggap oleh tim Yahoo!’s Exceptional Performance dapat mempengaruhi performa suatu halaman web. Dalam proses analisa tersebut, Yslow akan memberikan (grade) untuk setiap aturan yang ada. Nilai-nilai tersebut kemudian akan dikumulasikan sehingga menghasilkan nilai keseluruhan (overall grade) dan nilai dari halaman web tersebut (score).
34
Gambar 2.2 Tampilan Hasil Analisa YSlow
2.1.13 Responsive Web Design Testing Tool Untuk melakukan pengujian terhadap responsive website, kini telah tersedia sebuah alat Responsive Web Design Testing Tool pada mattkersley.com/responsive. Alat ini dapat digunakan cukup dengan mengetikan URL dari situs yang ingin diuji pada baris alamat yang tersedia pada halaman tersebut. Pengujian yang dilakukan oleh alat ini terdiri dari dua jenis, yaitu width only dan device sizes. Pada width only, halaman akan memperlihatkan tampilan halaman situs yang telah kita ketikan sebelumnya dalam berbagai ukuran lebar halaman yang berbeda-beda. Sementara pada devices sizes, halaman akan memperlihatkan tampilan halaman situs jika ditampilkan dalam layar perangkat yang berbeda-beda, seperti small phone (240x320), iPhone (320x480), dan lain sebagainya.
35
Gambar 2.3 Tampilan Responsive Web Design Testing Tool untuk Width Only
Gambar 2.4 Tampilan Responsive Web Design Testing Tool untuk Device Sizes
36 2.2
Teori Khusus 2.2.1
Data Spasial Data spasial merupakan data yang terpaut dengan dimensi ruang. Dalam proses pengumpulannya, data spasial dapat dihasilkan dari beberapa macam sumber sebagai berikut. a. Data sensus dan survei. b. Foto udara. c. Citra satelit. d. Survei dan GPS.
2.2.1.1 Tipe Entitas Spasial Menurut Heywood, Cornelius, dan Carver (2011), terdapat tiga entitas spasial dasar yang digunakan untuk mrepresentasikan fitur-fitur dunia nyata. Ketiga entitas spasial dasar tersebut antara lain : a. Titik Titik digunakan untuk merepresentasikan fiturfitur yang terlalu kecil untuk direpresentasikan sebagai area untuk skala pemetaan yang digunakan. Contoh obyek geografis yang biasa direpresentasikan sebagai titik antara lain pohon, rumah, atau kota. b. Garis Garis digunakan untuk merepresentasikan fiturfitur yang terhubung secara linear. Garis dibentuk
37 melalui
serangkaian
titik
yang
terhubung
dan
membentuk garis. Contoh obyek geografis yang biasa direpresentasikan sebagai garis antara lain jalan dan sungai. c. Area Area direpresentasikan dengan serangkaian garis yang saling terhubung dan membentuk area tertutup atau poligon.
Contoh
obyek
geografis
yang
biasa
direpresentasikan sebagai area antara lain danau dan perkebunan.
2.2.1.2 Pengertian Manajemen Data Spasial Management spatial data merupakan manajerial data yang bekerja dengan storage (penyimpanan), index, dan query data dengan acuan fitur spasial, seperti lokasi dan perpanjangan geometris. Manajemen data spasial sendiri mendukung efisiensi dari data spasial berskala besar namun dapat diakses oleh pengguna biasa melalui komputer atau perangkat mobile. (Mamoulis, 2012).
2.2.1.3 Model Data Spasial Menurut Arham (2011), model data spasial terbagi ke dalam dua kelompok, yaitu: a. Model data raster
38 Model data raster merupakan jenis model spasial yang menampilkan, menempatkan, dan menyimpan data dengan menggunakan struktur matriks atau pixel yang membentuk grid. Akurasi dari model data ini tergantung pada resolusi yang digunakan. b. Model data vektor Model data vektor merupakan jenis model data spasial
yang
menampilkan,
menempatkan,
dan
menyimpan data spasial dengan menggunakan titik, garis, atau poligon beserta atribut-atributnya. Pada model data ini, data spasial direpresentasikan ke dalam sistem koordinat kartesian dua dimensi (x, y).
2.2.1.4 Model Struktur Data Dalam Sistem Informasi Geografis, struktur data terbagi berdasarkan data yang digunakan ke dalam dua kelompok sebagai berikut. a. Struktur data raster Dalam struktur data raster sederhana, setiap fiturfitur spasial akan disimpan ke dalam layer yang berbeda. Di mana setiap layer akan menyimpan nilai untuk setiap cell yang terdapat pada gambar tersebut. Nilai pada setiap cell tersebut berguna untuk memperlihatkan cell
39 mana yang mengandung data spasial dan mana yang tidak. Akibat metode penyimpanan ini, maka data raster menggunakan ruang penyimpanan yang besar. Namun, permasalahan tersebut kini telah dapat diatasi melalui beberapa teknik kompaksi, seperti run length encoding, block encoding, chain encoding, dan quadtree.
b. Struktur data vektor Dalam struktur data vektor, terdapat satu model struktur data yang paling banyak digunakan, yaitu struktur data berdasarkan topologi. Model struktur data berdasarkan topologi memiliki pedoman sebagai berikut. •
Tidak ada duplikasi segmen titik atau garis.
•
Segmen titik dan garis dapat menjadi referensi bagi lebih dari satu poligon.
•
Semua poligon memiliki kode penamaan unik.
•
Island
dan
hole
polygon
dapat
direpresentasikan secara tepat.
2.2.2
Responsive Web Design Berdasarkan artikel UIE yang berjudul ”Device Experience & Responsive Design”, responsive design merupakan salah satu teknik yang
40 dapat membuat proses perancangan aplikasi dan situs web untuk berbagai jenis perangkat menjadi lebih mudah. Hal ini dikarenakan bahwa dengan menggunakan responsive design, perancang dimungkinkan untuk dapat menerapkan solusi bagi berbagai resolusi layar, density, dan rasio aspek pada banyak jenis perangkat.
Gambar 2.5 Responsive Web Design pada Berbagai Ukuran Layar
Responsive design memiliki kemampuan untuk mengelola aset media dengan efektif. Hal ini memberikannya keunggulan untuk dapat diterapkan ke dalam perancangan situs web sehingga situs dapat diakses melalui smartphone, tablet, desktop, ataupun smart TV tanpa memperlihatkan perbedaan yang terlalu besar dalam hal penggunaan. Dengan menggunakan konfigurasi responsive design, sebuah situs web mampu memberikan respon secara otomatis terhadap ukuran layar, sehingga situs dapat beradaptasi dengan optimal dalam perangkat apapun
41 yang digunakan pengguna untuk mengaksesnya (Jurnal Service Innovation Through Touch-Points: Development of an innovation toolkit for the first stages of new service development, Clatworthy, 2011). Kemampuan adaptasi tersebut jelas merupakan poin penting dalam proses perancangan situs. Sebab, untuk dapat menciptakan sebuah desain situs yang baik, maka proses perancangan perlu berfokus pada penyediaan layanan dan mobilisasi yang baik bagi pengguna (Jurnal Designing for Services (Mager dan Sung, 2011).
2.2.3
Internet Internet, atau singkatan dari Interconnected Networking adalah jaringan komputer dalam skala dunia. Internet terdiri dari banyak jaringan komputer lokal yang saling terhubung, sehingga membentuk jaringan global dengan segala macam aturan (protocol) dan aplikasinya. Jaringan komputer lokal terdiri dari komputer-komputer yang saling terhubung dan membentuk jaringan komputer. Protokol utama yang digunakan saat ini adalah TCP/IP (Transmission Control Protocol/Internet Protocol), yaitu sekumpulan aturan untuk komunikasi data antar komputer dalam suatu jaringan.
2.2.4
Browser Menurut Limantra (2009), web browser adalah aplikasi perangkat lunak yang memungkinkan penggunanya untuk berinteraksi dengan teks, image, video, games dan informasi lainnya yang berlokasi pada halaman
42 web pada World Wide Web (WWW) atau Local Area Network (LAN). Teks dan gambar pada halaman web dapat berisi hyperlink ke halaman web lain pada situs web yang sama maupun berbeda. Dengan web browser, seorang pengguna bisa mengakses informasi yang disediakan pada banyak situs secara cepat dan mudah. Meskipun browser pada umumnya digunakan untuk mengakses World Wide Web, browser juga bisa digunakan untuk mengakses informasi yang disediakan web server pada jaringan privat atau ini pada sistem file.
2.2.5
Apache Webserver Berdasarkan Official Website “Apache HTTP Server Project”, Apache Webserver adalah sebuah Webserver open-source yang dikembangkan dengan tujuan untuk membuat sebuah Webserver yang kuat, berkualitas, dan gratis. Apache Webserver diatur oleh sekelompok relawan dari seluruh dunia. Sementara itu, Web Server sendiri adalah sebuah program yang menggunakan model client/server dan Hypertext Transfer Protocol (HTTP), untuk menyediakan file yang membentuk halaman situs web.
2.2.6
Protocol Menurut Peterson (2007), Protocol adalah sebuah sistem digital yang menyediakan layanan komunikasi sehingga dapat digunakan oleh objek-objek digital untuk melakukan pertukaran pesan antara satu objek dengan objek lainnya, ataupun dengan protocol lainnya.
43 Sistem digital protocol ini biasanya berupa sekelompok aturan yang mengatur pesan yang dapat melewati exchange protocol sesuai dengan objek digital yang bersangkutan.
2.2.7
KRL 2.2.7.1 Pengenalan KRL Jabodetabek KRL Jabodetabek adalah jalur kereta rel listrik yang melayani rute komuter di wilayah Jakarta, Bogor, Depok, Tangerang, Bekasi, Serpong, dan Parung Panjang. KRL memiliki dua kelas berbeda, yaitu kelas ekonomi dan kelas commuter line yang dilengkapi dengan pendingin udara. Pengelolaan layanan KRL Jabodetabek dilakukan oleh PT KAI Commuter Jabodetabek (KCJ), yang merupakan salah satu anak perusahaan dari PT Kereta Api (Persero). Tugas pokok perusahaan ini ialah menyelenggarakan pengusahaan pelayanan jasa angkutan kereta api komuter dengan menggunakan sarana KRL di wilayah Jabodetabek serta pengusahaan di bidang usaha non angkutan penumpang. Dengan semakin bertambahnya jumlah penduduk di wilayah Jabodetabek, maka jumlah penumpang KRL juga semakin meningkat. Berdasarkan data dari krl.co.id, rata-rata jumlah pengguna KRL sampai dengan September 2012 meningkat hingga mencapai 370.432 penumpang per hari. Akan tetapi, jumlah ini masih terbilang sedikit bila dibandingkan dengan target
44 pemerintah untuk mengangkut 1,2 juta penumpang per hari pada tahun 2019. Sebagai upaya pencapaian target tersebut, maka hingga kini PT KCJ terus meningkatkan pelayanan kepada penumpang dalam bentuk penambahan jumlah kereta, pemberlakuan program e-ticketing, pengoperasian satu Rangkaian Khusus Wanita (RKW), dan lain sebagainya.
2.2.7.2 Rute Sejak 1 Desember 2011, KRL Jabodetabek mengalami penyederhanaan rute yang bertujuan untuk menghapuskan jalurjalur
tumpang
tindih.
Penyederhanaan
tersebut
kemudian
menghasilkan enam jalur yang hingga kini masih resmi beroperasi. Keenam jalur tersebut antara lain :
Tabel 2.1 Rute KRL Jabodetabek
Kode Warna
Jalur
Merah
Jakarta – Bogor
Biru
Jakarta – Bekasi
Kuning
Jatinegara – Bogor
Hijau
Tanah Abang – Serpong
Coklat
Duri – Tangerang
Merah Muda
Jakarta Kota – Tanjung Priok
Stasiun Jakarta Kota – Gambir – Manggarai – Depok – Bogor Jakarta Kota – Gambir – Manggarai – Bekasi Jatinegara – Pasar Senen – Kampung Bandan – Tanah Abang – Sudirman – Manggarai – Depok – Bogor Tanah Abang – Serpong – Parung Panjang – Maja (sementara hanya beroperasi sampai Parung Panjang) Duri – Tangerang Jakarta Kota – Kampung Bandan Atas – Ancol – Tanjung Priok (sementara beroperasi hanya dari Jakarta Kota ke Kampung Bandan Bawah)
45 Secara rinci, keseluruhan rute beserta setiap stasiun yang dilewati tercantum dalam peta rute perjalanan KRL Jabodetabek sebagai berikut.
Gambar 2.6 Peta Rute Perjalanan KRL Jabodetabek
46 2.2.7.3 Profil Penumpang KRL Berdasarkan
Riset
Kepuasan
Pengguna
Jasa
KRL
Commuter Jabodetabek pada Maret 2011, berikut profil penumpang layanan KRL Jabodetabek.
Gambar 2.7 Profil Penumpang KRL (1)
Gambar 2.8 Profil Penumpang KRL (2)