Upload
vuongtuyen
View
219
Download
0
Embed Size (px)
Citation preview
6
BAB 2
LANDASAN TEORI
2.1. Teori-Teori Dasar/Umum
Teori-teori dasar/umum berikut ini akan menjadi dasar dalam penelitian ini agar
aplikasi ini dapat dikembangkan dengan memperhatikan kaidah-kaidah umum yang baik
digunakan dalam pembuatan aplikasi web. Teori dasar/umum ini antara lain teori yang
meliputi tentang internet, interaksi manusia dan komputer, rekayasa web, database,
Unified Modelling System (UML), Global Positioning System (GPS ), Global System
for Mobile Communication (GSM), General Packet Radio Service (GPRS ), dan Sistem
Informasi Geografis (SIG).
2.1.1 Internet
Mengacu pada pendapat Liyang (2007: 3), World Wide Web (WWW) atau lebih
sederhana bila disebut Internet, merupakan sebuah tempat yang ajaib. Semua orang yang
memiliki sebuah Server dan Internet Protocol (IP) Public dan mengerti cara
mengoperasikannya, dapat menerbitkan dokumen yang dimilikinya untuk dilihat oleh
seluruh dunia, kemudian dapat membuat hyperlink antara dokumen-dokumen tersebut.
Tidaklah penting halaman yang dilihat berasal dari mana, di-host di server apa atau
menggunakan web browser apa pun.
Teknologi ini sudah ada sekitar 2 dekade dan masih akan terus menerus
menghibur dan sudah menjadi sumber informasi terbaik. Teknologi ini memiliki skala
yang besar dan beragam, internet merepresentasikan bukan hanya tantangan, namun
juga kesempatan yang menjanjikan, mulai dari akses informasi sampai dengan
7
pengetahuan. Cara yang lebih baik untuk mengerti internet adalah dengan
memperhatikan secara seksama mengenai bagaimana manusia menggunakannya dalam
kehidupan sehari-hari.
Mengacu pada pendapat Pressman (2009: 1), saat ini masyarakat hidup di dalam
era Internet. Banyak yang telah disebutkan mengenai era ini, sehingga tidak mungkin
mendiskusikan dampak dari internet dan WWW tanpa pembicaraan yang klise dan
panjang. Saat ini web telah berkembang menjadi sangat besar, namun bukan hanya
“besar” dalam hal jumlah halaman web dan situs, jumlah user, atau jumlah informasi
yang beredar di Internet, namun “besar” secara sosial dan budaya dari manusia sendiri.
2.1.1.1 Sejarah Internet
Mengacu pada pendapat Hanna (2003: 6), World Wide Web dan Hypertext
Transfer Protocol (HTTP) berasal dari pekerjaan yang diselesaikan di European
Laboratory for Particle Physics (CERN) pada tahun 1990. Tim Berners-Lee
mengembangkan HTTP sebagai sebuah protokol jaringan untuk mendistribusikan
dokumen dan menulis web browser pertama. Sistem ini digunakan pada CERN
(laboratorium Eropa untuk fisika partikel), laboratorium fisika energi tinggi lainnya, dan
universitas-universitas pada tahun 1991 dan 1992, dan terus bertumbuh dalam
popularitas. Pada tahun 1993, munculnya browser Mosaic menyebabkan ledakan
penggunaan web secara komersial. Dalam waktu 5 tahun, lebih dari 650.000 server web
tersebar di seluruh dunia, dengan jutaan user yang tidak terhitung banyaknya.
8
2.1.2 Interaksi Manusia dan Komputer
2.1.2.1 Delapan Aturan Emas
Mengacu kepada Shneiderman (2010: 88), delapan aturan emas dalam
perancangan antarmuka adalah:
1. Mempertahankan konsistensi
Urutan tindakan yang konsisten dibutuhkan dalam situasi yang sama.
Selain itu konsistensi juga diperlukan dalam penggunaan istilah–istilah yang
serupa, menu-menu, layar bantuan, warna, rancangan, huruf kapital, jenis huruf,
dan sebagainya.
2. Melayani universal usability
Mengenali kebutuhan dari orang yang berbeda-beda dan merancang
untuk fleksibilitas serta memfasilitasi transformasi dari konten. Perbedaan
pemula-ahli, rentang umur, ketidakmampuan, dan setiap keragaman teknologi
memperkaya spektrum kebutuhan yang akan digunakan dalam perancangan.
3. Memberikan umpan balik yang informatif
Pada setiap aksi yang dilakukan user, sistem harus memberikan umpan
balik. Respon dapat disederhanakan untuk aksi yang kecil dan sering dilakukan,
begitu juga sebaliknya untuk aksi yang besar dan jarang dilakukan, respon
sebaiknya lebih substansial. Presentasi visual dari objek menyediakan
lingkungan yang nyaman untuk menunjukkan perubahan secara eksplisit.
4. Perancangan dialog untuk menunjukkan penutupan / akhir
Urutan aksi seharusnya diatur menjadi kelompok dengan sebuah awalan,
pertengahan, dan akhir. Umpan balik informatif pada saat penyelesaian
sekelompok aksi memberikan user kepuasan atas penyelesaian, perasaan lega,
9
dan sinyal untuk berhenti memikirkan kemungkinan-kemungkinan dari pikiran
mereka, dan sebuah sinyal untuk mempersiapkan sekelompok aksi berikutnya.
5. Pencegahan kesalahan
Perancangan sistem sedapat mungkin harus memungkinkan user
terhindar dari kesalahan yang serius. Antarmuka sebaiknya mendeteksi kesalahan
dan memberikan instruksi yang sederhana, konstruktif, dan spesifik untuk
pemulihan jika user membuat kesalahan. Aksi yang menyebabkan terjadinya
kesalahan seharusnya tidak mengubah keadaan dari sistem, atau antarmuka dapat
memberikan instruksi untuk mengembalikan keadaan sistem.
6. Mengizinkan pembalikkan aksi yang mudah
Sedapat mungkin, aksi dapat dibatalkan atau dibalikkan. Fitur ini dapat
mengurangi rasa khawatir user karena segala kesalahan dapat dibalikkan (undo)
serta mendorong eksplorasi dari fitur yang belum diketahui.
7. Mendukung pusat kendali internal
User yang berpengalaman menginginkan suatu perasaan bahwa mereka
yang memiliki kendali dari antarmuka dan antarmuka menanggapi segala aksi
yang dilakukan user. Aksi antarmuka yang mengejutkan, urutan entri data yang
membosankan, ketidakmampuan untuk mendapatkan informasi tertentu, dan
ketidakmampuan untuk melakukan aksi yang diinginkan menimbulkan
kekhawatiran dan ketidakpuasan.
8. Mengurangi beban ingatan jangka pendek
Keterbatasan otak manusia dalam menangkap informasi, khususnya
dalam jangka pendek membutuhkan sistem yang menampilkan informasi secara
sederhana, konsolidasi penampilan halaman yang lebih dari satu atau banyak,
10
pengurangan frekuensi pergerakan window, dan pelatihan yang cukup
dialokasikan untuk kode, mnemonic, dan urutan aksi.
2.1.3 Rekayasa Web
Menurut Pressman (2009: 12-13), rekayasa web memberikan sebuah framework
yang agile serta ilmu untuk membangun sebuah web application yang berkualitas. Hal
ini terlihat cukup sederhana, tetapi sangatlah penting untuk mengerti kata kunci agile
dan framework.
Seorang teknisi web harus mengerti bahwa bisnis saat ini membutuhkan adaptasi,
hal ini disebabkan oleh strategi serta aturan bisnis yang terus menerus berubah dengan
cepat, dimana manajemen mengharapkan respon yang hampir instan sekalipun
permintaan yang ada sangat tidak beralasan, dan stakeholders terus menerus mengubah
pendapat mereka seolah mereka mengharapkan penyampaian yang cepat. Pelanggan
hanya akan memperdulikan sebuah aplikasi web yang disediakan pada saat mereka
membutuhkannya.
2.1.3.1 Web Framework
Menurut Pressman (2009: 13), sebuah framework atau kerangka kerja
menciptakan sebuah dasar bagi proses rekayasa web yang sempurna, dengan cara
mengidentifikasikan sejumlah kecil dari aktivitas framework yang dapat diaplikasikan
pada sebuah proyek aplikasi web, terlepas dari ukuran dan kompleksitasnya. Sebagai
tambahan, sebuah framework meliputi serangkaian umbrella activities yang ada pada
proses web.
11
Gambar 2.1 Generic Process Framework
(Sumber: Roger S. Pressman 2009, 26).
Mengacu pada pendapat Pressman (2009: 26-27), berikut adalah kerangka kerja
umum yang dapat diaplikasikan ke dalam kebanyakan proyek aplikasi web yang ada
yang sesuai dengan gambar 2.1:
1) Communication, mencakup interaksi dan kolaborasi dengan customer dan
stakeholders serta meliputi kegiatan mengumpulkan data atau requirements
gathering dan kegiatan lainnya yang sejenis.
2) Planning, menetapkan sebuah perencanaan untuk pengerjaan aplikasi web.
Dalam tahap ini digambarkan kegiatan yang akan terjadi dan yang harus
dilakukan, resiko yang mungkin terjadi, hasil yang ingin didapatkan, serta jadwal
pengerjaannya.
12
3) Modelling, meliputi pembuatan model yang membantu developers dan customer
dalam memahami kebutuhan aplikasi web dan rancangan yang digunakan untuk
memenuhi kebutuhan tersebut.
4) Construction, menggabungkan generasi-generasi dari HTML, XML (Extensible
Markup Language), Java™, dan code sejenis lainnya, beserta testing untuk
mengetahui error yang ada.
5) Deployment, memberikan aplikasi web kepada customer untuk dievaluasi, serta
meminta feedback berdasarkan evaluasi tersebut.
13
2.1.3.2 Incremental Process Flow
Gambar 2.2 Incremental Process Flow
(Sumber: Pressman 2009, p25).
Mengacu pada pendapat Pressman (2009: 28-30), incremental process flow
digunakan ketika kebutuhan akan aplikasi web bersifat immediate, dimana web tersebut
harus sudah dapat up dan running secepatnya.
Dalam incremental process flow yang dapat kita lihat pada gambar 2.2, ada
beberapa iterasi yang terjadi pada setiap increment. Proses-proses yang terjadi pada
masing-masing iterasi:
14
a) Iterasi pertama, fokus utama terletak pada menentukan seluruh kebutuhan
aplikasi, skenario-skenario di dalam aplikasi, dan kemudian diidentifikasi hal
yang perlu dihasilkan dalam iterasi tersebut.
b) Iterasi kedua, fokus pada iterasi kedua adalah mendapatkan gambaran yang
dibutuhkan untuk melakukan pengembangan selanjutnya, gambaran ini biasanya
didapatkan melalui feedback dari customer atau hasil komunikasi langsung
dengan para stakeholders.
c) Iterasi berikutnya, setelah dilakukan pengembangan terhadap website untuk
menyesuaikan hasil komunikasi pada iterasi kedua, kembali dilakukan evaluasi
dan meminta feedback dari customer dan terus menerus mengulang iterasi
sampai seluruh kebutuhan customer terpenuhi.
2.1.4 Database
Menurut Conolly & Begg (2005: 4), database merupakan suatu koleksi dari data
yang memiliki relasi atau hubungan. Database didesain untuk memenuhi informasi yang
dibutuhkan oleh suatu organisasi.
2.1.4.1 Database Management System (DBMS)
Menurut Conolly & Begg (2005: 16), DBMS adalah sistem software yang
memungkinkan user untuk mendefinisikan, membuat, memelihara, dan mengontrol
akses terhadap database.
15
DBMS menyediakan fasilitias-fasilitas berikut ini:
1) Data Definition Language (DDL)
Memungkinkan user untuk menspesifikasi tipe data, struktur, dan
constraint data yang akan disimpan ke dalam database.
2) Data Manipulation Language (DML)
Memungkinkan user untuk insert, update, delete, dan menerima data dari
database. Menggunakan suatu query languague. Query language yang paling
umum digunakan yaitu Structured Query Language (SQL).
3) Menyediakan akses kontrol terhadap database. Misalnya:
a) Sistem Keamanan
Mencegah user yang tidak diberi kuasa untuk mengakses database.
b) Integritas Sistem
Memelihara konsistensi data yang disimpan.
c) Sistem kontrol persetujuan
Memungkinkan shared access database.
Menurut Indrajani (2008: 12), komponen-komponen DBMS dibedakan menjadi
5 yaitu:
1) Perangkat keras (Hardware).
Contoh: Personal Computer (PC), notebook, jaringan komputer, dan lain – lain.
2) Perangkat lunak (Software).
Contoh:
a) Software untuk sistem operasi komputer (Windows XP™, Unix®, Linux™,
dan lain – lain).
16
b) Software untuk database (Microsoft SQL 2005®, Microsoft SqlServer®,
Oracle®, MySQL™, dan lain – lain).
c) Software untuk pemrograman (Java.Net 2005, Visual Basic, C, C++, dan
lain-lain).
d) Software untuk mengatur jaringan (CISCO).
3) Data
Merupakan komponen terpenting, karena data merupakan penghubung
antara komputer dengan manusia.
4) Prosedur
Merupakan instruksi dan aturan yang menentukan perancangan dan
penggunaan database dimana user sistem dan pengelola database memerlukan
dokumentasi ini untuk menjalankan dan menggunakan sistem.
5) Orang
a) - Data Administrator (DA).
Bertanggung jawab untuk manajemen sumber daya data yang
mencakup perencanaan database, pengembangan, standar pemeliharaan,
kebijakan, prosedur, dan desain database secara konseptual.
- Database Administrator (DBA).
Bertanggung jawab untuk realisasi fisik database yang mencakup
desain fisik database, implementasi, keamanan, integritas pengendalian,
backup, dan restore, pemeliharaan sistem operasional, dan memastikan
dapat dipakai dengan baik.
17
b) - Desainer database logika.
Mengidentifikasi data antara lain entity dan atribut, dan
memahami proses bisnisnya.
- Desainer database fisik
Merealisasikan desain database, misalnya memetakan desain
database logika ke dalam tabel, pemilihan metode akses agar kinerjanya
baik, dan merancang beberapa ukuran keamanan yang diperlukan oleh
data.
c) Application developer atau programmer.
Mengembangkan program-program aplikasi yang diperlukan
dalam manajemen database.
d) End user.
Semua orang yang terlibat langsung dalam penggunaan database.
Misalnya, pemilik sistem (enterprise), manager, supervisor, operator
pelanggan, dan sebagainya.
Gambar 2.3 Lingkungan DBMS
(Sumber: Conolly & Begg, 2005: 19).
18
2.1.4.2 Teknik Pengumpulan Data
Menurut Conolly & Begg (2005: 318-320), pengembang database biasanya
menggunakan berbagai jenis teknik pengumpulan data selama pengerjaan proyek
database. Ada 5 teknik pengumpulan data yang biasa digunakan, yaitu:
1) Mempelajari dokumentasi
Contoh dokumentasi yang dapat dipelajari yaitu memo internal, email
struktur organisasi, pernyataan misi perusahaan, rencana strategi perusahaan.
formulir manual dan laporan, berbagai flowchart dan diagram.
2) Wawancara
Keuntungan:
a) Membuat responden merasa dihargai.
b) Memudahkan pewawancara untuk menanggapi komentar yang menarik dari
responden.
c) Dapat melihat body language responden.
Kelemahan:
a) Menghabiskan waktu.
b) Tergantung dari kemampuan komunikasi si pewawancara.
c) Sukses dapat tergantung pada kemauan responden untuk berpartisipasi dalam
wawancara.
3) Observasi
Keuntungan:
a) Memungkinkan validitas fakta dan data yang akan diperiksa.
b) Pengamat dapat melihat apa yang sedang dilakukan secara langsung.
19
c) Pengamat juga dapat memperoleh data yang menggambarkan lingkungan
fisik dari tugas.
d) Relatif murah.
Kerugian:
a) Orang mungkin memiliki kinerja yang berbeda ketika sedang diamati.
b) Beberapa tugas mungkin tidak selalu dilakukan dalam cara yang sama
dimana mereka diamati.
c) Tidak praktis.
4) Penelitian
Keuntungan:
a) Dapat menghemat waktu apabila solusi telah tersedia.
b) Peneliti dapat melihat bagaimana orang lain yang telah menyelesaikan
penelitian dengan masalah yang sama.
c) Peneliti tetap up to date dengan pengembangan terkini.
Kerugian:
a) Akses yang terbatas terhadap beberapa sumber informasi tertentu.
b) Kemungkinan masalah tidak terselesaikan akibat masalah pendokumentasian
yang tidak terdapat dimanapun.
5) Kuesioner
Keuntungan:
a) Orang bisa mengisi dan mengembalikan kuesioner pada kenyamanan mereka
b) Relatif murah untuk mengumpulkan data dalam jumlah banyak.
c) Responden dapat memberikan fakta nyata karena respon dapat dirahasiakan.
d) Tanggapan dapat ditabulasikan dan dianalisis dengan cepat.
20
Kerugian:
a) Kuesioner dapat dikembalikan tidak lengkap.
b) Memungkinkan salah interpretasi pada suatu kalimat.
c) Tidak dapat mengamati dan menganalisis body language responden.
2.1.4.3 Entity Relationship (ER) Modelling
Menurut Conolly & Begg (2005: 342), ER Modelling adalah pendekatan top-
down terhadap desain database yang dimulai dengan mengidentifikasi data-data penting
yang disebut entity dan relationship antara data yang harus digambarkan dalam model,
lalu ditambahkan detail lainnya seperti informasi tentang entity, yang disebut atribut dan
constraints terhadap entity, relationship, dan atribut-atribut. ER Modelling merupakan
teknik penting yang digunakan oleh desainer database untuk menguasai dan membentuk
berdasarkan metodologi yang digunakan.
Komponen-komponen ER Modelling (Conolly & Begg, 2005: 343-360):
1) Tipe Entity
Kelompok objek dengan property yang sama.
2) Tipe Relationship
Suatu set hubungan bermakna diantara berbagai tipe entity
3) Atribut
Suatu property dari sebuah entity atau tipe relationship.
21
Gambar 2.4 Diagram Staff and Branch entities and attributes
(Sumber: Conolly & Begg, 2005: 354).
4) Struktural Constraints
Tipe utama dari constraint relationship disebut multiplicity.
Multiplicity adalah jumlah (atau kisaran) dari kejadian yang mungkin dari suatu
tipe entity yang mungkin berhubungan dengan sebuah kejadian tunggal.
Contoh:
a) One – to – One (1:1) Relationship
Gambar 2.5 One to One Relationship
(Sumber: Conolly & Begg, 2005: 357).
22
Semantic net pada gambar 2.5 menampilkan dua tipe relationship staff yang
mengelola cabang. Staff SG5 mengatur cabang B003 dan staff SL21 mengatur cabang
B005. Tetapi staff SG37 tidak mengatur cabang manapun. Disimpulkan bahwa seorang
member staff hanya dapat mengatur nol atau satu cabang dan setiap cabang hanya dapat
diatur oleh satu orang member staff. Tipe relationship seperti ini disebut one – to – one,
atau biasa dipersingkat menjadi (1:1).
b) One – to – Many (1:*) Relationship
Gambar 2.6 One to Many Relationship
(Sumber: Conolly & Begg, 2005: 358).
Semantic net pada gambar 2.6, menunjukkan 3 tipe relationship staff yang
mengawasi suatu property yang akan disewakan. Staff SG37 mengawasi property PG21
dan PG36, staff SA9 mengawasi property PA14, namun staff SG5 tidak mengawasi
property manapun. Property PG4 tidak diawasi oleh member staff manapun.
Disimpulkan bahwa seorang staff dapat mengawasi nol atau lebih property, dan tiap
property dapat diawasi oleh nol atau satu orang staff. Tipe relationship seperti ini
disebut one – to – many relationship, atau biasa dipersingkat menjadi (1:*).
23
c) Many – to – Many (*:*) Relationship
Gambar 2.7 Many to Many Relationship
(Sumber: Conolly & Begg, 2005: 360).
Semantic net pada gambar 2.7 menunjukkan 4 tipe relationship suatu koran yang
mengiklankan property. Glasgow Daily mengiklankan property PG21 dan PG36. The
West News juga mengiklankan property PG36. Aberdeen Express mengiklankan
property PA14. Property PG4 tidak diiklankan oleh koran manapun. Disimpulkan
bahwa satu koran dapat mengiklankan satu atau lebih property dan satu property dapat
diiklankan oleh nol atau lebih koran. Tipe relationship seperti ini disebut many – to –
many relationship, atau biasa dipersingkat dengan (*:*).
24
2.1.4.3 Normalisasi
Menurut Conolly & Begg (2005, p389-412), normalisasi adalah teknik formal
untuk menganalisa hubungan yang didasarkan pada primary key (atau candidate key)
dan functional dependencies. Teknik ini melibatkan serangkaian aturan yang dapat
digunakan untuk menguji hubungan individu sehingga database dapat dinormalisasi
untuk tingkat apapun.
Relationship yang melanggar persyaratan harus didekomposisi ke dalam
relationship yang secara individual memenuhi persyaratan normalisasi, apabila ada
persyaratan yang tidak terpenuhi.
Normalisasi bertujuan untuk memproduksi satu set hubungan dengan sifat yang
diinginkan dan diberikan persyaratan data dari suatu perusahaan.
Tiga bentuk normal pada awalnya diusulkan disebut First Normal Form (1NF),
Second Normal Form (2NF), dan Third Normal Form (3NF).
2.1.4.3.1 First Normal Form (1NF)
Unnormalized Formulir (UNF) adalah sebuah tabel yang berisi satu atau lebih
repeating group.
First Normal Form (1NF) adalah suatu hubungan dimana intersection dari
setiap baris dan kolom berisi satu dan hanya satu.
Proses normalisasi dimulai dengan men-transfer data dari sumber ke dalam
bentuk tabel dengan baris dan kolom. Dalam bentuk ini, tabel dalam UNF dan disebut
sebagai tabel unnormalized. Untuk mengubah tabel unnormalized ke 1NF, dilakukan
identifikasi dan penghapusan repeating group dalam tabel. Repeating group adalah
25
sebuah atribut, atau kelompok atribut, dalam tabel yang terdapat multiple values untuk
kejadian tunggal dari nominated key attribute(s) untuk tabel tersebut.
Atribut multi-valued adalah sebuah atribut yang memegang beberapa nilai untuk
setiap terjadinya suatu jenis entity.
2.1.4.3.2 Second Normal Form (2NF)
Second Normal Form (2NF) adalah suatu hubungan yang ada dalam 1NF
dan setiap non-primary-key atribut, functional dependency sepenuhnya pada primary
key.
Normalisasi 1NF ke 2NF melibatkan penghapusan partial dependencies. Hapus
atribut partial dependencies dari hubungan dengan menempatkannya dalam hubungan
baru bersama dengan copy of determinant mereka, apabila terdapat partial
dependencies.
Functional dependency menjelaskan hubungan antara atribut dalam suatu
hubungan. Misalnya, jika A dan B adalah atribut dari hubungan R, B secara fungsional
tergantung pada A (dilambangkan A → B), jika setiap nilai A terkait dengan tepat satu
nilai B. (A dan B mungkin masing-masing terdiri dari satu atau atribut lebih).
Full functional dependency menunjukkan bahwa jika A dan B adalah atribut dari
suatu hubungan, B adalah fully functionally dependent pada A jika B adalah fungsional
tergantung pada A, tetapi tidak pada setiap subset yang tepat dari A.
26
2.1.4.3.3 Third Normal Form (3NF)
Third Normal Form (3NF) adalah suatu hubungan yang ada dalam 1NF dan 2NF
dan dimana tidak ada non-primary-key atribut yang transitively dependent pada primary
key.
Normalisasi 2NF ke 3NF melibatkan penghapusan transitive dependency. Hapus
hubungan dengan cara menempatkan atribut dalam suatu hubungan baru bersama
dengan copy of determinant, apabila terdapat transitive dependency.
Transitive dependency adalah sebuah kondisi dimana A, B, dan C adalah atribut
dari sebuah hubungan seperti jika A → B dan B → C, maka C adalah dependent secara
transitif pada A B melalui (disediakan bahwa A tidak functionally dependent pada B
atau C).
2.1.4.4 Metodologi Desain Database
Menurut Conolly & Begg (2005: 437), dalam menyajikan metodologi desain
database, proses desain dibagi menjadi 3 fase utama: desain database konseptual, logis,
dan fisik.
2.1.4.4.1 Database Konseptual
Konseptual desain database adalah proses membangun suatu model data yang
digunakan dalam suatu perusahaan, independen dari semua pertimbangan fisik. Tujuan
dari desain database konseptual yaitu untuk membangun representasi database
konseptual, yang meliputi identifikasi entity-entity yang penting, relationship, dan
atribut (Conolly & Begg, 2005: 439).
27
Fasenya dimulai dengan penciptaan model data konseptual perusahaan, yang
seluruhnya independen dari rincian implementasi seperti target DBMS , program
aplikasi, bahasa pemrograman, hardware platform, masalah kinerja, atau pertimbangan
fisik lainnya.
2.1.4.4.2 Database Logis
Desain database logis adalah proses membangun suatu model data yang
digunakan dalam suatu perusahaan didasarkan pada model data tertentu, tetapi
independen dari DBMS tertentu dan pertimbangan fisik lainnya.
Fasenya yaitu memetakan model konseptual ke model logis, yang dipengaruhi
oleh model data untuk database target (misalnya, relational model). Model data logis
merupakan sumber informasi untuk fase desain fisik, menyediakan desainer database
fisik dengan kendaraan untuk membuat tradeoffs yang sangat penting untuk desain
database yang efisien.
2.1.4.4.3 Database Fisik
Desain database fisik adalah proses memproduksi deskripsi implementasi
database pada penyimpanan sekunder, menggambarkan hubungan dasar, organisasi file,
dan indeks yang digunakan untuk mencapai akses yang efisien terhadap data, dan setiap
integrity constraints yang terkait dan langkah-langkah keamanan.
Tahap desain database fisik memungkinkan desainer untuk membuat keputusan
tentang bagaimana database diimplementasikan. Desain fisik disesuaikan dengan
DBMS tertentu. Ada umpan balik antara desain fisik dan logis, karena keputusan-
28
keputusan yang diambil selama desain fisik untuk meningkatkan kinerja, dapat
mempengaruhi model data logis.
2.1.4.4.4 Langkah-Langkah Metodologi Desain Database
Menurut Conolly & Begg (2005: 440-441), langkah-langkah dalam metodologi
desain:
1) Desain database konseptual
Langkah 1 Membangun model konseptual data
Langkah 1.1 Identifikasi tipe entity
Langkah 1.2 Identifikasi tipe hubungan
Langkah 1.3 Identifikasi dan asosiasikan atribut-atribut dengan entity atau tipe
hubungan
Langkah 1.4 Tentukan domain atribut
Langkah 1.5 Tentukan atribut candidate. primary. dan alternate key
Langkah 1.6 Pertimbangkan penggunaan peningkatan konsep-konsep
pemodelan (langkah opsional)
Langkah 1.7 Periksa redundansi
Langkah 1.8 Validasi model konseptual terhadap transaksi user
Langkah 1.9 Tinjauan konseptual data model dengan user
2) Desain database logis untuk relational database
Langkah 2 Membangun dan memvalidasi model data logis
Langkah 2.1 Turunkan hubungan untuk model data logis
Langkah 2.2 Validasi menggunakan normalisasi
29
Langkah 2.3 Validasi hubungan terhadap transaksi user
Langkah 2.4 Cek integrity constraints
Langkah 2.5 Tinjauan model data logis dengan user
Langkah 2.6 Merge model data logis ke dalam model global (langkah opsional)
Langkah 2.7 Periksa untuk perkembangan masa depan
3) Desain database fisik untuk relational database
Langkah 3 Terjemahkan model data logis untuk DBMS target
Langkah 3.1 Desain hubungan basis
Langkah 3.2 Desain representasi derived data
Langkah 3.3 Desain general constraints
Langkah 4 Desain organisasi file dan indeks
Langkah 4.1 Analisis transaksi
Langkah 4.2 Pilih organisasi file
Langkah 4.3 Pilih indeks
Langkah 4.4 Estimasi kebutuhan disk yang dibutuhkan
Langkah 5 Desain user view
Langkah 6 Desain mekanisme keamanan
2.1.5 Unified Modelling Language (UML)
Menurut Hamilton & Miles (2006: 1), Unified Modelling Language (UML)
adalah standar modelling language untuk software dan systems development. Pernyataan
ini sendiri merupakan komentar yang memiliki peranan besar dalam menjadikan UML
sebagai bagian dari pengembangan software.
30
Sebuah modelling language dapat dibuat menggunakan pseudo-code, actual-
code, gambar, diagram, sebuah deskripsi, atau hampir semua hal yang dapat membantu
untuk mendeskripsikan sebuah sistem.
Diagram UML yang akan digunakan dalam pengembangan aplikasi ini adalah
Diagram Use case, Diagram Sequence, dan Entity Relationship Diagram (ERD).
2.1.5.1 Diagram Use Case
Menurut Rosenberg & Stephens (2007: 56), diagram ini menunjukkan interaksi
antara user dengan sistem atau antara external parties dengan sistem. Diagram use case
memperlihatkan user dari sebuah sistem dan proses-proses yang dapat mereka lakukan
untuk berinteraksi dengan sistem tersebut.
31
Gambar 2.8 Contoh Diagram Use Case
(Sumber: Rosenberg & Stephens 2007: 66).
Ada 6 komponen dalam diagram use case:
1) Actors, menunjukkan role dari seorang individu yang berinteraksi dengan
system.
2) Use case, sebagai simbolisasi dari fungsi yang dimiliki oleh sistem.
3) System boundary, merepresentasikan boks yang melingkupi use case yang ada.
32
4) Connection, berupa garis lurus atau garis panah yang menunjukkan interaksi dan
hubungan antara actors dengan use case.
5) Extend Relationship, direpresentasikan menggunakan panah dengan garis putus-
putus yang memiliki tulisan “<<extend>>”. Ini adalah hubungan yang
menunjukkan asosiasi antara 2 buah use cases dimana salah satu use case
memiliki fungsi yang diperluas oleh use case lainnya.
6) Include relationship, direpresentasikan menggunakan panah dengan garis putus-
putus yang memiliki tulisan “<<include>>” atau “<<uses>>” di atasnya.
Komponen ini digunakan ketika salah satu use case menggunakan fungsi yang
dimiliki oleh use case lainnya.
2.1.5.2 Diagram Sequence
Mengacu pada pendapat Rosenberg & Stephens (2007: 186), diagram sequence
digunakan untuk meng-explore desain dari sistem secara detail dengan menggunakan
basis scenario-by-scenario.
Pada tahapan ini, dilakukan detailing pada desain sistem. Use case harus sudah
selesai dibuat dengan benar, detail, dan jelas, untuk digunakan sebagai acuan untuk
membuat desain yang lebih detail.
33
Gambar 2.9 Contoh Diagram Sequence
(Sumber: Rosenberg & Stephens 2007: 186).
Menurut Rosenberg & Stephens (2007: 195), proses membuat diagram sequence
dapat dirangkum menjadi 4 langkah yang penting. Tiga langkah pertama diselesaikan
secara mekanis atau dapat diotomatisasi, dimana hal ini akan sangat berguna dalam
mendapatkan momentum dalam melakukan desain. Langkah ke-4, menentukan metode
yang ingin digunakan, adalah inti dari diagram sequence. Langkah-langkah tersebut
dapat dilihat melalui gambar 2.10.
35
2.1.6 Global Positioning System (GPS)
Mengacu pada El-Rabbany (2002), GPS adalah sebuah sistem navigasi berbasis
satelit yang dikembangkan oleh Departmenen Pertahanan Amerika Serikat pada tahun
1970an. Pada awalnya GPS dirancang untuk memenuhi kebutuhan militer dari Amerika
Serikat. Namun, kemudian GPS juga dikembangkan untuk kepentingan masyarakat.
Saat ini GPS dapat diakses baik oleh militer maupun oleh masyarakat.
GPS menyediakan informasi mengenai waktu dan lokasi secara berkala di bumi
di setiap kondisi cuaca. Karena layanan GPS dapat digunakan oleh semua orang, maka
untuk kepentingan keamanan, GPS adalah sistem satu arah dimana user hanya dapat
menerima sinyal dari satelit.
2.1.6.1 Cara Kerja GPS
Mengacu pada El-Rabbany (2002), cara kerja GPS dibagi menjadi 3 segmen:
1) Segmen ruangan
Segmen ruangan terdiri dari 24 satelit. Setiap satelit GPS mengirimkan sebuah
sinyal informasi yang terdiri dari beberapa komponen, yaitu dua pembawa frekuensi,
dua kode digital, dan pesan navigasi. Kode digital dan pesan navigasi ditambahkan pada
pembawa frekuensi dalam bentuk biner. Pembawa frekuensi dan kode digunakan untuk
menentukan jarak dari user ke satelit GPS . Pesan navigasi mengandung koordinat yang
didapat dari satelit. Sinyal yang dikirimkan dikontrol oleh jam atom dengan tingkat
akurasi tinggi yang terdapat di dalam satelit.
36
2) Segmen kontrol
Segmen kontrol dari sistem GPS terdiri dari stasiun jaringan pelacak, dengan
pusat kontrol yang berlokasi di Colorado Springs, Amerika Serikat. Tugas utama dari
stasiun kontrol adalah melakukan prediksi terhadap lokasi satelit. Informasi ini
kemudian dikirimkan ke satelit GPS menggunakan jaringan S-band.
3) Segmen user.
Segmen user dari sistem GPS terdiri dari user yang menggunakan alat GPS .
User dapat menerima sinyal GPS melalui sebuah penerima sinyal yang terhubung
dengan antena GPS sehingga dapat digunakan untuk memastikan posisi user di bumi.
2.1.7 Global System for Mobile Communication (GSM)
Mengacu pada Harte (2004), GSM adalah sebuah sistem jaringan komunikasi
nirkabel yang menggunakan transmisi radio digital untuk menghasilkan suara, data, dan
layanan multimedia. Sistem GSM mengkoordinasikan komunikasi antara ponsel, stasiun
utama, dan sistem penghubung.
Sistem GSM terdiri dari ponsel, menara radio, dan sistem penghubung. sistem GSM
memungkinkan 8-16 user untuk saling terhubung sekaligus melalui beberapa jalur
transmisi radio. Seperti terlihat pada gambar 2.11 di bawah ini
37
Gambar 2.11 Cara Kerja GSM
(Sumber: Lawrence Harte 2004).
2.1.8 General Packet Radio Service (GPRS)
Mengacu pada (Rai, 2002), GPRS adalah suatu peningkatan terhadap GSM dan
menambahkan beberapa node dalam jaringan untuk menyediakan layanan packet
switched. Jaringan node ini disebut GPRS Support Nodes (GSN) dan bertanggung jawab
untuk routing dan pengiriman paket data dan membentuk Mobile Station (MS ) dan
Packet Data Networks (PDN) eksternal
2.1.9 Geografi
Mengacu pada Kamus Besar Bahasa Indonesia terbitan Gramedia Pustaka Utama
(2008), geografi adalah ilmu tentang permukaan bumi, iklim, penduduk, flora, fauna,
serta hasil yang diperoleh dari bumi. Geografi dalam kaitannya dengan matematika
adalah ilmu yang berkenaan dengan perkiraan bentuk, ukiran, serta gerakan bumi, yaitu
lintang dan bujur geografi, paralel, dan luas permukaan bumi.
38
2.1.10 Sistem Informasi Geografis (SIG)
Menurut El-Gafy (2004: 1), SIG adalah sebuah teknologi yang digunakan untuk
memahami geografi dan membuat keputusan yang cerdas. SIG mengatur data-data
geografi sehingga user yang melihat peta dapat memilih data yang dibutuhkan untuk
keperluan khusus. Sebuah peta tematik memungkinkan user untuk menambah lapisan
pada peta dan memberikan informasi tertentu.
Sebuah program SIG yang baik mampu memproses data geografi dari berbagai
sumber dan diintegrasikan menjadi sebuah peta khusus. Peta pada SIG bersifat
interaktif. User dapat melihat peta SIG melalui layar komputer dari berbagai sudut
pandang, ukuran, dan mampu mengubah informasi dari peta tersebut. User dapat
memilih jika ingin menampilkan jalan, fasilitas yang ada, serta jalur distribusi. Aplikasi
SIG bisa diintegrasikan untuk mencari lokasi dan alamat.
39
2.2. Teori-Teori Khusus
2.2.1 HyperText Markup Language (HTML)
Mengakses informasi melalui Internet merupakan suatu masalah teknis hingga
tahun 1990. Seorang fisikawan bergelar Ph.D pun bahkan akan frustrasi jika ingin
bertukar data. Hingga akhirnya seorang fisikawan, yang sekarang terkenal dengan nama
Sir Tim Berners-Lee, menemukan cara untuk mempermudah menunjukan teks dengan
Internet melalui hypertext links. Hal itu bukanlah ide baru, namun HTML yang
sederhana telah berhasil berkembang sementara proyek ambisius hypertext lainnya
berguguran.
Hypertext aslinya berarti teks yang disimpan ke dalam bentuk elektronik dengan
penunjukan link diantara halaman. Sekarang istilah tersebut sudah diperluas dengan
menunjuk kepada objek-objek lainnya (teks, gambar, file, dan lain-lain) yang dapat
dihubungkan ke objek lain. HTML adalah bahasa yang mendeskripsikan bagaimana
suatu teks, grafik, dan file berisi informasi lain yang diatur dan dihubungkan bersama.
Pada tahun 1993, hanya sekitar 100 komputer di dunia yang dapat melayani
halaman HTML. Halaman-halaman tersebut disebut World Wide Web (WWW), dan
beberapa program web browser telah dibuat untuk memungkinkan orang untuk melihat
halaman web. Pertumbuhan popularitas dari web menyebabkan beberapa programmer
segera membangun web browser yang dapat memperlihatkan gambar grafik bersama
dengan teks. Sejak saat itu, terus dilakukan pengembangan software web browser dan
standarisasi HTML. Lebih dari 110 juta web server menjawab permintaan untuk lebih
dari 25 miliar teks dan file multimedia setiap harinya. (Meloni & Morrison, 2010: 1-2).
40
2.2.2 Java Servlet
Menurut Brunner (2003: 4) Metode dasar untuk membangun suatu web aplikasi
menggunakan Java™ disediakan oleh Java Servlet. Servlet merupakan class Java™
yang menambah fungsi dari suatu server, seperti web server Apache, untuk memproses
secara dinamis request yang diterima dan menghasilkan response yang sesuai. Servlet
menyediakan fungsionalitas yang handal, membuat website meningkatkan kekuatan
bahasa pemrograman Java™.
Kekuatan tersebut, bagaimanapun juga, membutuhkan seseorang yang ingin
menggunakan Servlet dan memiliki pengetahuan lengkap tentang bahasa pemrograman
Java™. Java Server Page (JSP) dikembangkan untuk mengatasi kesulitan tersebut.
JSP menyediakan kekuatan penuh untuk bahasa pemrograman Java™, tetapi dalam
paket yang lebih mudah. Teknologi JSP dilapisi oleh teknologi Servlet karena suatu
halaman JSP harus diterjemahkan kedalam suatu Servlet, sebelum dapat diproses oleh
web server. Pengetahuan tentang Servlet sangat berguna dalam memahami bagaimana
cara mengembangkan aplikasi web JSP.
Komponen suatu server aplikasi web yang menyediakan akses untuk sumber JSP
disebut container. Container ini awalnya menerjemahkan halaman JSP ke dalam file
source code Java™ yang secara default mengimplementasi class
Javax.Servlet.HTTP.HTTPServlet. Class Servlet ini lalu di compiled ke dalam sebuah
file class Java™, yang dapat digunakan untuk memproses original client request.
Halaman JSP ditangani sebagai suatu Servlet, maka halaman JSP mengikuti Servlet
lifecycle. Halaman JSP dapat menggunakan fungsionalitas yang disediakan oleh
container sesuai dengan spesifikasi Servlet, seperti Filters dan Servlet Listeners. Servlet
Application Programming Interface (API) juga terdiri dari class – class yang
41
mengenkapsulasi konsep HTTP, seperti sebuah request dan response, begitu juga
dengan informasi session, cookies, HTTP headers, dan attribute. Objek yang
mengimplementasi class – class ini disediakan untuk developer JSP
Servlet lifecycle dikelola oleh Servlet Container. Servlet container menempatkan
class implementasi dan memuatnya ke dalam Java Virtual Machine (JVM) ketika
sebuah request untuk Servlet-backed resource dibuat. Langkah – langkah ekstra
menerjemahkan dan kompilasi halaman implementasi JSP terjadi pada tahap ini, untuk
JSP. Setelah class Servlet dimuat ke JVM, sebuah objek dari class Servlet
direpresentasikan.
Gambar 2.12 Servlet Lifecycle.
(Sumber: Brunner, 2003: 5).
Obyek baru siap dipakai untuk tahap pertama dari Servlet lifecycle, yang disebut
initialization. Setiap proses yang harus terjadi selama tahap ini ditempatkan di dalam
metode init Servlet. Tahap ini sering digunakan untuk mendapatkan parameter runtime
saat itu, membaca file tambahan, atau membentuk sebuah koneksi database. Tahap
kedua Servlet disebut tahap service. Pemrosesan yang terjadi selama tahap ini
ditempatkan dalam metode service untuk GenericServlet atau sesuai metode service
42
HTTP, seperti doGet atau doPost, untuk sebuah HTTPServlet. Setelah Servlet tidak lagi
diperlukan, yang dapat terjadi ketika server sedang di-shutdown atau sumber daya
sedang diambil kembali, fase destruction dimulai. Semua proses yang harus terjadi
untuk membersihkan Servlet pada tahap ini ditempatkan dalam metode destroy. Metode
ini dapat digunakan untuk menutup sumber daya eksternal seperti koneksi database atau
file.
2.2.3 Java Server Page (JSP)
JSP adalah teknologi Java™ yang memungkinkan developer untuk membuat
aplikasi web dinamis secara cepat. JSP menyediakan framework yang powerful,
portable, dan mudah dikembangkan untuk mendukung pengembangan aplikasi web
dinamis.
Terdapat beberapa konsep sederhana yang harus dikuasai sebelum terjun
langsung ke JSP. Pertama, aplikasi web JSP bergantung pada Hypertext Transfer
Protocol (HTTP) untuk menyediakan komunikasi client-server melalui internet. Kedua,
spesifikasi JSP tergantung pada spesifikasi Java Servlet. Akibatnya, pemahaman dasar
Java Servlet, termasuk Servlet lifecycle, diperlukan sebelum membangun halaman JSP.
Ketiga, aplikasi JSP mengikuti tata letak direktori yang sederhana yang menggabungkan
informasi konfigurasi dan sumber daya, untuk memudahkan identifikasi dan
pemrosesan. (Brunner, 2003: 1). Gambar 2.13 di bawah ini merepresentasikan JSP
lifecycle.
43
Gambar 2.13 JSP Lifecycle.
(Sumber: Brunner, 2003: 9).
Dasar – dasar JSP mengacu pada pendapat Brunner (2003: 13-25):
1) Petunjuk
Petunjuk JSP adalah instruksi kepada JSP container yang diproses
selama penerjemahan halaman berlangsung. Walaupun ada 6 petunjuk yang
didefinisikan di spesifikasi JSP 2.0, hanya 3 yang berlaku di halaman JSP.
Petunjuk tersebut yaitu page, include, dan taglib.
2) Deklarasi JSP
Elemen deklarasi JSP tidak menghasilkan output apapun di halaman
JSP, melainkan digunakan untuk mendeklarasikan variabel global dan metode.
Tag awal yaitu <%! dan %> sebagai tag akhir. Deklarasi ini memiliki ruang
lingkup global, oleh karena itu mereka harus digunakan dengan hati-hati.
44
3) Ekspresi
Ekspresi JSP standar hanya ekspresi Java™ yang dievaluasi pada saat
run-time oleh JSP container. Elemen ekspresi JSP diapit oleh tag awal <%=
dan tag akhir %> dan tidak diakhiri dengan titik koma karena mereka hanya
ekspresi, bukan pernyataan.
Ekspresi bisa terdiri dari nama variabel (dalam kasus tertentu hasilnya
adalah nilai dari variabel), panggilan metode (dalam kasus tertentu hasilnya
adalah nilai kembali dari metode), atau hukum kombinasi variabel, metode, dan
operator.
4) Scriptlets
Salah satu alasan terbesar penggunaan JSP yaitu kemampuan untuk
menempatkan potongan code Java™ secara langsung dalam halaman JSP.
Potongan tersebut dikenal sebagai scriptlets. Diawali tag <% dan diakhiri oleh
tag %>.
5) Comment
Ada 3 jenis comment dalam JSP, yaitu:
a. Diapit oleh tag <!-- dan -->, dapat dilihat di halaman HTML.
b. Diapit oleh tag <%-- dan --%>, dikenal dengan istilah hidden comment,
karena tidak terlihat di halaman HTML.
c. Scripting comment , harus digunakan untuk komentar code yang
terkandung dalam deklarasi JSP atau elemen script.
6) Ruang Lingkup
Visibilitas obyek dalam JSP disebut ruang lingkup. Terdapat 4 tingkat
ruang lingkup yang berbeda yaitu page, request, session, dan application.
45
7) Objek Implisit
Objek implisit dapat diakses dalam scriptlet JSP atau ekspresi JSP. Sembilan
objek implisit tercantum dalam tabel 2.1 berikut:
Tabel 2.1 Implicit Objects
(Sumber: Brunner, 2003: 25).
2.2.4 MySQL™
Database MySQL™ telah menjadi open source database yang paling populer di
dunia, karena performa tinggi, sangat handal, dan mudah digunakan.
MySQL™ juga telah menjadi database pilihan untuk generasi baru dalam
membangun aplikasi-aplikasi baru dalam LAMP stack (Linux, Apache, MySQL™, PHP
/ Perl / Python.). Banyak organisasi yang terbesar dan dengan pertumbuhan tercepat di
dunia, termasuk Facebook®, Google™, Adobe®, dan lain-lain, mempercayakan
MySQL™ untuk menghemat waktu dan uang untuk memberdayakan website mereka
46
yang bervolume besar, sistem business-critical dan paket software (Anonim,
http://www.mysql.com/why-mysql/).
Java™ merupakan MySQL™ development language nomor 1 yang paling
populer. 57% dari user MySQL™ yang disurvei dalam survei tahunan MySQL™,
menggunakan Java™ untuk mengembangkan aplikasi MySQL™ (Anonim,
http://www.mysql.com/why-mysql/java/).
MySQL™ menyediakan konektivitas untuk aplikasi-aplikasi client yang
dikembangkan dalam bahasa pemrograman Java™ melalui JDBC driver, yang disebut
MySQL™ Connector / J. Connectors tersebut dapat di-download secara gratis di
http://dev.mysql.com/downloads/connector/j/.
Menurut Kofler (2005: 4), MySQL™ merupakan relational database systems,
yaitu sistem yang melibatkan program untuk mengatur relational database. Tugas-tugas
dari relational database system tidak hanya mengamankan penyimpanan data saja, tetapi
juga bertugas sebagai pemroses perintah-perintah untuk querying, analisa, dan
mengelompokan data yang ada, dan menyimpan data baru.
Menurut Kofler (2005: 137-152), desain database MySQL™ perlu
memperhatikan hal-hal berikut:
1) Tipe Tabel
Suatu keunikan MySQL™ yaitu ketika membuat tabel baru, Anda dapat
menentukan jenisnya. MySQL™ mendukung sejumlah tipe tabel, dibedakan
dengan berbagai sifat. Tiga yang paling penting yaitu tipe MyISAM, InnoDB,
dan HEAP.
47
2) Tipe Data
Setiap tabel terdiri dari sejumlah kolom. Untuk setiap kolom, tipe data yang
diinginkan dapat ditentukan. Contohnya yaitu tipe data Integers (INT), Floating-
Point Numbers (FLOAT dan DOUBLE), Fixed-Point Numbers (DECIMAL),
Date and Time (DATE, TIME, DATETIME, TIMESTAMP), Character Strings
(CHAR,VARCHAR, TEXT).
2.2.5 Google Maps
Google Maps diperkenalkan dalam sebuah posting blog di Google™ pada
Februari 2005. Google Maps merevolusi cara peta dalam halaman web bekerja dengan
membiarkan user melakukan drag peta untuk navigasi. Cara ini merupakan hal yang
baru pada saat itu dimana peta yang digunakan dalam halaman web sebelumnya sangat
mahal dan dibutuhkan peta server khusus, namun mereka tidak memberikan tingkat
interaktif yang sama.
Google Maps pada awalnya dikembangkan oleh 2 orang bersaudara asal
Denmark, Lars dan Jens Rasmussen. Mereka bekerja di Where 2 Technologies, sebuah
perusahaan yang berdedikasi untuk membuat solusi pemetaan. Perusahaan ini diakuisisi
oleh Google™ pada Oktober 2004, dan dua bersaudara ini kemudian menciptakan
Google Maps. (Mereka berdua juga merupakan pencipta Google Wave).
Sebelum ada public Application Programming Interface (API) umum, beberapa
pengembang mencari cara untuk melakukan hack terhadap Google Maps untuk
menggabungkan peta di website mereka sendiri. Hal ini menyebabkan Google™
membuat kesimpulan bahwa ada kebutuhan untuk API, dan pada Juni 2005 mereka
merilis public API (Svennerberg, 2010: 2).