BAB 2 Tinjauan Pustaka 2.1 Teori-Teori Umum 2.1.1 Internet Internet merupakan sekumpulan jaringan komputer di seluruh dunia yang menghubungkan jutaan komputer yang digunakan untuk organisasi, bisnis,
pemerintahan,
institusi
pendidikan,
dan
individu
dengan
menggunakan modem, saluran telepon, televisi, kabel, satelit, dan peralatan komunikasi lainnya (Shelly, Woods, & Dorin, 2008:2). Dengan adanya internet, banyak keuntungan yang bisa didapatkan dalam berbagai bidang. Keuntungan tersebut antara lain: 1. Informasi yang didapatkan lebih cepat dan murah dengan menggunakan berbagai aplikasi seperti email, world wide web, NewsGroup, FTP. 2. Mengurangi biaya kertas dan biaya distribusi, contoh: koran masuk, majalah, dan brosur. 3. Sebagai
media
promosi,
contoh
:
pengenalan
dan
pemesanan produk. 4. Komunikasi menjadi lebih interaktif dengan adanya email, chatting,
video
conferencing,
internet
phone,
dan
sebagainya. 5. Sebagai sarana untuk melakukan dan mendukung riset dan pengembangan. 6. Pertukaran data.
2.1.1.1 Web Server Menurut Nugroho (2004:6) adalah sebuah bentuk server yang khusus digunakan untuk menyimpan halaman website atau homepage. Komputer dapat dikatakan sebagai web server jika komputer tersebut memiliki suatu program server yang disebut Personal Web Server (PWS). PWS ini difungsikan agar halaman web yang ada di dalam sebuah komputer server dapat dipanggil oleh komputer klien.
7
8
2.1.1.2 Apache Web Server Proyek Apache
HTTP
Server
adalah
upaya
untuk
mengembangkan dan memelihara server HTTP open source untuk sistem operasi modern, termasuk UNIX dan Windows NT. Proyek ini dibuat dengan tujuan untuk menyediakan server yang aman, efisien dan extensible yang menyediakan layanan HTTP dalam sinkron dengan HTTP standart saat ini. Sejak April 1996, HTTPD Apache telah menjadi web server yang paling populer di internet. Apache HTTP Server ("httpd") adalah sebuah proyek dari Apache Software Foundation. Kelebihan Apache Web Server : 1. Freeware (software gratis). 2. Mudah di-install. 3. Mampu beroperasi pada berbagai platform sistem operasi. 4. Mudah mengkonfigurasinya. 5. Mudah dalam menambahkan periferal lainnya ke dalam platform
web
server-nya,
misalnya
:
untuk
menambahkan modul, cukup hanya men-set file konfigurasinya agar mengikutsertakan modul itu ke dalam kumpulan modul lain yang sudah dioperasikan. 6. Mampu dikompilasi sesuai dengan spesifikasi HTTP yang sekarang. 7. Menyediakan feature untuk multihomed dan virtual server. 8. Secara otomatis menjalankan file index.html, halaman utamanya, untuk ditampilkan secara otomatis pada client-nya. 9. Lebih aman karena memiliki level-level pengamanan. 10. Apache mempunyai komponen dasar terbanyak di antara web server-web server lain, yang berarti bahwa Apache web server termasuk salah satu dari web server yang lengkap.
9
11. Performansi dan konsumsi sumber daya (resource) dari Apache web server tidak terlalu banyak, hanya sebesar 20 MB untuk file-file dasarnya dan setiap daemon-nya hanya memerlukan sebesar 950 KB memory per-child. 12. Mendukung transaksi yang aman (secure transaction) menggunakan SSL (Secure Socket Layer). 13. Mempunyai dukungan teknis melalui web. 14. Mempunyai kompatibilitas platform yang tinggi. 15. Mendukung
third
party
berupa
modul-modul
tambahan.
2.1.1.3 Web service Eric Newcomer (2004:7) menyatakan, “Web services adalah aplikasi Extensible Markup Language (XML) yang dipetakan ke dalam suatu program, objek, database atau ke dalam fungsi bisnis yang kompleks.” Dengan menggunakan dokumen XML yang dibuat dalam sebuah pesan, sebuah program mengirimkan request ke dalam web services melalui sebuah jaringan, dan menerima jawabannya juga dalam bentuk dokumen XML. Standar web services mendefinisikan format pesan tersebut, menentukan tampilan antarmuka pesan yang akan dikirim, menguraikan aturan untuk memetakan isi dari pesan yang masuk dan keluar dari program, dan menentukan mekanisme untuk mempublikasikan dan mengetahui antarmuka dari web services. Web services biasa digunakan saat akan mentransformasi sebuah logika bisnis / sebuah class dan obyek yang terpisah dalam satu ruang lingkup yang menyatu, sehingga tingkat keamanan dan security dapat diatasi dengan baik. Selain itu web service juga lebih mudah dalam proses deployment-nya, karena tidak membutuhkan registrasi khusus ke dalam operating system. Web service cukup di-upload ke web server dan siap diakses oleh pihak-pihak yang telah diberikan otorisasi. Web service berjalan pada protokol standar HTTP yaitu port 80, dengan begitu dapat mengurangi resiko terblokir oleh firewall. Kendala arsitektur COM/DCOM adalah masih membutuhkan
10
konfigurasi khusus di sisi firewall, dan tentu ini tidak perlu dilakukan untuk mengakses web service. Beberapa vendor besar dari luar negeri mulai berkolaborasi satu sama lain dengan konsep web services, diantaranya: IBM, Microsoft, SUN, ORACLE di antaranya contoh web services yang sudah jadi dan dipakai adalah web services keluaran Microsoft (Microsoft Passport) – web services untuk username dan password yang sudah dipasang di website Microsoft dan HOTMAIL. Secara sederhana, web services dapat didefinisikan sebagai aplikasi yang diakses oleh aplikasi lain. Kebanyakan orang beranggapan web service itu semacam website, tetapi sebenarnya tidak juga karena ada beberapa perbedaan mendasar yaitu di antaranya : 1) WEBSITE 1. Memiliki web interface. 2. Diperuntukkan untuk berinteraksi langsung dengan user. 3. Diperuntukkan
untuk
bekerja
pada
web
browser. 2) WEB SERVICES 1. Tidak memiliki interface yang bagus. 2. Diperuntukkan untuk berinteraksi langsung dengan aplikasi yang lain baik OS / konsep yang berbeda sekalipun. 3. Diperuntukkan untuk bekerja pada semua tipe client aplikasi / perangkat device Adapun karakteristik dari web service yaitu mencakup message-based, standards-based, programming language independent dan platform-neutral. Sedangkan key standard di dalam web service adalah XML, SOAP, WSDL, dan UDDI. 1. SOAP
(Simple
Object
Access
Protocol)
merupakan XML-based mark-up language untuk pergantian pesan diantara aplikasiaplikasi. SOAP dapat diibaratkan seperti sebuah amplop yang digunakan untuk pertukaran data
11
obyek di dalam network. Terdapat empat aspek komunikasi di dalam SOAP yaitu: Message envelope, Encoding, RPC call convention, dan bagaimana menggabungkan sebuah message di dalam
protokol
transport.
Sebuah
SOAP
message terdiri dari SOAP envelop dan bisa terdiri dari attachments atau tidak memiliki attachment. SOAP envelop tersusun dari header dan
body,
sedangkan
SOAP
attachment
mengizinkan non-XML data untuk dimasukkan ke dalam SOAP message, di-encoded lalu diletakkan ke dalam SOAP message dengan menggunakan MIME-multipart. 2. WSDL (Web Services Description Language) adalah sebuah XML-based language untuk mendeskripsikan XML. WSDL menyediakan layanan yang mendeskripsikan service request dengan menggunakan protokol-protokol yang berbeda dan juga encoding. WSDL memberikan fasilitas komunikasi antar aplikasi. WSDL akan mendefinisikan apa yang akan dilakukan oleh web
service,
bagaimana
menemukan
dan
mengoperasikannya. 3. UDDI (Universal Description, Discovery and Integration) adalah sebuah service registry bagi pengalokasian web service. UDDI memadukan SOAP dan WSDL untuk pembentukan sebuah registry API bagi pendaftaran dan pengenalan service. Ia menyediakan sebuah public area dimana sebuah organisasi dapat mengiklankan keberadaan mereka dan service yang diberikan (web service).
12
2.1.2 IMK (Interaksi Manusia dan Komputer) 2.1.2.1 Pengertian IMK Interaksi manusia dan komputer adalah ilmu yang berhubungan dengan perancangan, evaluasi, dan implementasi sistem komputer interaktif untuk digunakan oleh manusia, serta studi fenomenafenomena besar yang berhubungan dengannya (Shneiderman, 2010:15). 2.1.2.2 Delapan Aturan Emas Perancangan Menurut Shneiderman (2010:88), terdapat delapan aturan emas dalam merancang sebuah User Interface yaitu: 1. Konsistensi Konsistensi
dalam
kesamaan
terminologi
dalam
membuat layout, menu, font, dan help screen sangat dibutuhkan. Selain itu, penting juga untuk konsisten dalam hal warna, kapitalitas, dan tampilan. Hal ini dibutuhkan, agar pengguna lebih cepat terbiasa dan lebih cepat memahami penggunaan aplikasi atau situs tersebut. 2. Melayani kebutuhan universal Kebutuhan user sangat beragam, oleh karena itu setiap merancang layar harus dapat memberikan perbedaan antara usia, kelemahan fisik, dan teknologi yang beragam. Jadi, memberikan petunjuk untuk user yang masih kurang berpengalaman dan shortcuts untuk user yang sudah berpengalaman dapat memperkaya desain dan mutu antarmuka. 3.
Memberikan umpan balik yang informatif. Untuk setiap tindakan operator, beberapa di antaranya harus
mempunyai
sistem
feedback
agar
pengguna
mengetahui apa yang sedang terjadi. Untuk setiap tindakan yang sering dan sederhana, maka respon yang diberikan sebaiknya juga sederhana. Tetapi jika tindakan yang dilakukan tergolong jarang dan besar/rumit, maka respon yang diberikan juga harus lebih substansial.
13
4.
Merancang dialog untuk menghasilkan kondisi akhir. Bertujuan untuk membuat seorang pengguna merasa aman
dalam
melakukan
sebuah
tindakan
dengan
memberikan gambaran hasil akhir dari suatu pilihan, serta pemberian
banyak
pilihan-pilihan
kepada
pengguna
sehingga bisa ikut mempengaruhi hasil akhir. 5.
Memberikan penanganan kesalahan yang sederhana. Suatu situs harus dirancang agar kesalahan yang dibuat seorang pengguna dapat ditekan seminimal mungkin. Selain itu, pesan kesalahan yang dimunculkan harus dapat dimengerti oleh pengguna yang awam.
6.
Mengijinkan pembalikan aksi (undo) dengan mudah. Tindakan harus dapat dibalikkan menjadi keadaan sebelumnya sehingga membuat pengguna merasa aman karena ia tahu bahwa kesalahan yang dibuat dapat diperbaiki.
7.
Mendukung pusat kendali internal. Membuat pengguna merasa memegang kendali atas situs tersebut. Kesulitan pengguna dalam menavigasi situs atau dalam mendapatkan data yang diinginkan akan menimbulkan rasa tidak puas.
8.
Mengurangi beban ingatan jangka pendek. Manusia hanya dapat mengingat tujuh info ditambah atau dikurang dua info pada suatu waktu. Batasan ini berarti suatu situs harus dibuat sesederhana mungkin sehingga tidak membuat seorang pengguna bingung karena terlalu banyak info.
2.1.3 Rekayasa Peranti Lunak (RPL) 2.1.3.1 Pengertian Rekayasa Perangkat Lunak Menurut Pressman (2010:14) Rekayasa Perangkat Lunak adalah pembuatan dan penggunaan prinsip-prinsip keahlian teknik untuk mendapatkan perangkat lunak yang ekonomis dan handal, sehingga dapat bekerja secara efisien pada mesin atau sistem yang sebenarnya.
14
Rekayasa Perangkat Lunak membuat suatu pondasi untuk suatu proses perangkat lunak yang lengkap dengan mengidentifikasi sejumlah aktifitas kerangka kerja yang berlaku untuk semua proyek perangkat lunak
2.1.3.2 Metode Waterfall Menurut Pressman (2010:39) model Waterfall kadangkadang disebut siklus hidup klasik, menunjukkan pendekatan sistematis yang berurutan untuk mengembangkan perangkat lunak yang dimulai dengan spesifikasi persyaratan dari konsumen dan prosesnya melalui tahap komunikasi, perencanaan, pemodelan, konstruksi, dan penyebaran, yang berakhir pada dukungan yang berkelanjutan hingga perangkat lunak tersebut selesai.
Gambar 2.1 Metode Waterfall Langkah waterfall : 1. Communication Tahap ini meliputi project inisiasi dan requirement gathering, Project inisiasi sendiri terdiri atas: 1. Menentukan tujuan proyek secara rinci. Jika gambaran umum sudah ada, maka akan tujuan-tujuan kecil yang harus dicapai untuk menunjang tujuan proyek secara keseluruhan. 2. Mengidentifikasikan faktor-faktor yang dapat menentukan keberhasilan proyek. Walaupun proyek baru akan dimulai, tetapi tim proyek harus sudah mampu menentukan hal apa saja yang akan mempengaruhi keberhasilan sebuah proyek. Tanpa mengidentifikasi faktor-faktor ini, tim proyek akan mengabaikan hal-hal kecil yang penting yang dapat membawa sebuah proyek menjadi berhasil atau gagal.
15
3. Menentukan ruang lingkup proyek, kebutuhan sumber daya, asumsi proyek dan batasan untuk dijadikan acuan dalam
perencanaan
manajemen
proyek
(Project
Management Plan). 4.
Menentukan kriteria keberhasilan proyek.
Untuk
tahap
mengumpulkan
requirement spesifikasi
gathering
sendiri
kebutuhan sebuah
yaitu
perangkat
lunak dari semua stakeholder yang terlibat. 2.
Planning Tahap
kedua
adalah
melakukan
perencanaan.
Perencanaan disini lebih mengarah kepada milestone yang dibuat. Perencanaan disini berfungsi agar sistem yang akan dikerjakan dapat berjalan lancar dan selesai tepat waktu. 3.
Modeling Tahap ini akan menerjemahkan syarat-syarat yang sudah dikumpulkan dari dua tahap sebelumnya ke sebuah perancangan perangkat lunak yang dapat diperkirakan sebelum memulai pembuatan coding. Proses ini mempunyai fokus pada perancangan struktur data, arsitektur untuk perangkat lunak, representasi user interface, dan detail prosedural.
4.
Construction Pada tahap konstruksi merupakan proses membuat kode. Kode adalah penerjemah desain dalam bahasa yang bisa dimengerti oleh komputer. Programmer akan menerjemahkan data-data yang telah didapatkan sebelumnya sesuai permintaan konsumen. Setelah coding selesai, perangkat lunak akan dilakukan testing. Tujuan testing ini adalah untuk menemukan kesalahan-kesalahan yang terdapat pada perangkat lunak tersebut untuk kemudian bisa diperbaiki.
5.
Deployment Setelah melakukan analisis, desain dan coding maka sistem yang sudah jadi akan digunakan oleh user. Software yang telah dibuat harus dilakukan pemeliharaan secara berkala.
16
2.1.4 UML (Unified Modeling Language) UML (Unified Modeling Language) menurut Whitten dan Bentley (2007:371) adalah suatu kumpulan konvensi pemodelan untuk menentukan atau menggambarkan suatu sistem piranti lunak yang berhubungan dengan objek. UML bisa diibaratkan seperti cetakan biru untuk membangun sebuah rumah. Satu set cetakan biru biasanya membantu pembangunnya dengan gambaran yang jelas untuk saluran air, listrik, pemanas, dan sejenisnya, setiap UML membantu tim developer program dengan gambaran yang jelas untuk sistem tersebut.
2.1.4.1 Use Case Diagram Menurut Whitten dan Bentley (2007:244), Use Case Diagram dipakai untuk menggambarkan relasi antara sistem dan sistem eksternal dan user, dengan kasus yang disesuaikan dengan langkah-langkah yang telah ditentukan. Use Case Diagram merupakan cara/metode yang cocok untuk digunakan agar dapat menggambarkan interaksi yang jelas antara sistem dengan pengguna. a) Use Cases Use case mendeskripsikan fungsi dari sebuah sistem dilihat dari sudut pandang pengguna.
b) Actors Actors merupakan sesuatu yang berinteraksi dengan sistem untuk saling bertukar informasi. Actors tidak harus berupa manusia, tetapi dapat berupa suatu organisasi atau sistem informasi.
17
Gambar 2.2 Use Case dan Actors c) Relationships Sebuah relasi antar sistem dan sistem atau user dan sistem digambarkan dengan sebuah garis di antara keduanya. Arti relasi yang digambarkan bisa beragam tergantung pada bagaimana garis itu digambarkan dan apa yang mereka hubungkan. Ada beberapa macam relasi, antara lain: associations, extends, dan uses. a. Associations Associations adalah sebuah relasi antara seorang actor dengan sebuah use case di mana terjadi interaksi antar mereka. Asosiasi dengan panah tertutup (1) di ujung yang menyentuh use case mengindikasikan bahwa actor di ujung yang satu lagi melakukan use
case
tersebut.
Sedangkan
asosiasi
tanpa
panah
(2)
mengindikasikan sebuah interaksi dari use case ke actor yang menerima hasil dari use case tersebut.
Gambar 2.3 Associations dalam Use Case Diagram b. Extends Extends bertujuan untuk menyederhanakan use case dengan fungsionalitas yang kompleks seperti beberapa langkah yang perlu dilakukan menjadi lebih mudah dipahami.
18
Gambar 2.4 Extends dalam Use Case Diagram c. Uses (or Include) Uses bertujuan untuk mengurangi redundansi di antara dua use case atau lebih dengan menggabungkan langkah-langkah yang sama tersebut.
Gambar 2.5 Uses dalam Use Case Diagram 2.1.4.2 Use Case Narrative Menurut Whitten dan Bentley (2007:256) saat menyiapkan use case narrative, ada baiknya mendokumentasikan terlebih dahulu pada high level agar cepat memperoleh pengertian dari peristiwa pada system. Setelah itu kembali pada masing-masing use case dan memperluas kebutuhan narasi dokumen bisnis secara keseluruhan.
19
Gambar 2.6 Use Case Narrative Adapun tata letak layanan system use case sebagai berikut: 1. Author
: Nama dari individu yang berkontribusi dalam
penulisan use case dan kontak yang bisa dihubungi untuk siapapun yang membutuhkan informasi tambahan mengenai use case. 2. Date
: Tanggal terakhir use case diubah
3. Version
: Versi termutakhir dari use case
4. Use case name: Nama use case harus merepresentasikan tujuan dari use case yang ingin dibuat. Nama use case harus didahului dengan kata kerja 5. Use case type : Dalam melakukan pemodelan use case, use case kebutuhan bisnis, yang fokus pada visi strategis dan tujuan dari berbagai pemangku kepentingan, yang dibangun pertama jenis use case adalah orientasi bisnis dan mencerminkan tampilan tingkat tinggi dari perilaku yang system yang diinginkan dari sistem. 6. Use case ID
: Pengenal yang secara unik mengidentifikasi use case.
7. Priority
: Mengkomunikasikan pentingnya prioritas sebuah use
case. 8. Source
: Mendefinisikan entitas yang memicu penciptaan use
case. Ini bisa menjadi persyaratan, dokumen tertentu atau pemangku kepentingan.
20
9. Primary business actor
:
Merupakan
stakeholder
yang
menerima manfaat utama dari use case dengan menerima sesuatu yang bernilai terukur atau dapat diobservasi. 10. Other participating actors
: Aktor lain yang berpartisipasi dalam
use case untuk mencapai tujuannya termasuk menginisiasi aktor, memfasilitasi aktor, aktor server / receiver, dan aktor sekunder. Selalu sertakan di mana aktor berpartisipasi. 11. Interested stakeholders kepentingan
dalam
: Merupakan siapa saja yang memiliki pengembangan
dan
pengoperasian
sistem
perangkat lunak. Sebuah pemangku kepentingan yang tertarik adalah orang (selain seorang aktor) yang memiliki ketertarikan pada tujuan use case. 12. Description
: Sebuah deskripsi ringkasan pendek
yang terdiri dari beberapa kalimat yang menguraikan tujuan use case dan aktivitasnya.
2.1.4.3 Class Diagram Menurut Whitten dan Bentley (2007:400), class diagram digunakan untuk menggambarkan struktur objek statis dalam sebuah sistem, menunjukkan sistem tersusun dari kelas-kelas apa saja dan hubungan apa saja yang terbentuk di antara kelas tersebut. Hubungan yang terbentuk bisa berupa associations, aggregation atau composition. Association adalah konsep hubungan antar kelas objek yang terkadang memiliki batasan minimal dan maksimal untuk jumlah objek yang terbentuk dari masing-masing kelas. Aggregation merupakan hubungan di mana satu kelas whole mengandung satu atau lebih banyak kelas part. Sedangkan composition merupakan hubungan aggregation di mana kelas whole bertanggung jawab untuk masa aktif kelas part miliknya.
21
Gambar 2.7 Class Diagram Class diagram di atas terbentuk dari beberapa notasi, antara lain attribute, behavior, arrow head, dan solid diamond.
22
1. Attribute dan Behavior
Gambar 2.8 Attribute and Behavior 2. Arrow Head Arrow head melambangkan generalisasi atau spesialisasi dari sebuah relasi.
Gambar 2.9 Arrow Head 3. Solid Diamond Solid diamond melambangkan komposisi agregasi dari sebuah relasi.
Gambar 2.10 Solid Diamond 2.1.4.4 Activity Diagram Menurut Whitten dan Bentley (2007:392). Activity Diagram merupakan gambaran dari alur yang berurutan dari aktivitas use case atau proses bisnis. Activity Diagram juga bisa dipakai untuk memodelkan berbagai aksi yang dilakukan saat sebuah operasi dieksekusi, dan memodelkan hasil
23
dari aksi tersebut. Dari diagram ini, kita dapat melihat bagaimana aktivitas dalam suatu sistem, dari mulai hingga saat sistem berakhir. Activity diagram dibentuk oleh beberapa notasi, antara lain initial node, actions, flow, decision, merge, fork, join, dan activity final, dan terkadang digunakan swimlane untuk mempartisi aksi yang terjadi berdasarkan pelaku. 1) Initial node Initial node berupa lingkaran penuh yang menggambarkan titik mulai suatu proses
Gambar 2.11 Initial Node 2) Actions Actions
adalah
notasi
segiempat
bersudut
tumpul
yang
diagram
yang
menggambarkan langkah-langkah yang terjadi.
Gambar 2.12 Actions 3) Flow Flow
(alur)
merupakan
panah
dalam
mengindikasikan alur antar actions.
Gambar 2.13 Flow 4) Decision Decision memiliki bentuk seperti wajik dengan satu alur masuk dan dua atau lebih alur keluar, alur keluar ditentukan dengan kondisi tertentu.
24
Gambar 2.14 Decision 5) Merge Merge adalah wajik dengan dua atau lebih alur masuk dan satu alur keluar untuk menggabungkan alur yang sebelumnya terpisah oleh decision.
Gambar 2.15 Merge 6) Fork Fork adalah bar hitam dengan satu alur masuk dan dua atau lebih alur keluar, aksi di bawah percabangan dapat terjadi dalam urutan apapun atau bahkan secara bersamaan.
Gambar 2.16 Fork 7) Join Join adalah bar hitam dengan dua atau lebih alur masuk dan satu alur keluar untuk menyatukan lagi alur aksi yang dipisahkan oleh fork.
Gambar 2.17 Join
25
8) Activity Final Activity final berbentuk lingkaran penuh dengan satu lingkaran di luarnya untuk menggambarkan titik akhir proses.
Gambar 2.18 Activity Final
Gambar 2.19 Activity Diagram
26
2.1.4.5 Sequence Diagram Menurut Whitten dan Bentley (2007:394), secara grafikal, Sequence
Diagram
merupakan
diagram
yang
menggambarkan
bagaimana objek berinteraksi satu sama lain melalui pesan dalam eksekusi use case atau operasi. Diagram ini mengilustrasikan bagaimana pesan dikirim dan diterima antara objek dan urutan yang seperti apa. Diagram ini lebih detail dalam penggambaran aliran data, termasuk data yang dikirim ataupun diterima.
Gambar 2.20 Sequence Diagram
27
Sebuah sequence diagram terbentuk dari beberapa notasi, antara lain actor, system, lifelines, activation bars, input message, dan output message. 1) Actor Actor, digambarkan dengan simbol actor pada use case. 2) System System, sebuah kotak digunakan untuk menggambarkan sistem yang bersangkutan. 3) Lifelines Lifelines, garis vertikal putus-putus yang mengindikasikan masa hidup sistem/aktor. 4) Activation bars Activation bars, balok panjang yang diletakkan di atas lifelines untuk menggambarkan masa waktu terjadinya interaksi aktif. 5) Input message Input message, garis horizontal dengan panah ke kanan yang mengindikasikan pesan masuk. 6) Output message Output message, garis horizontal dengan panah ke kiri yang mengindikasikan pesan balik.
2.1.5 Database Menurut Connolly dan Begg (2005:15), database adalah kumpulan data, yang terhubung secara logis yang dapat digunakan secara bersama, dan deskripsi dari data ini dirancang untuk memenuhi kebutuhan informasi dari suatu organisasi. Database juga dapat diartikan sebagai kumpulan data yang berfungsi sebagai penyedia informasi bagi user. Adapun objek-objek yang terdapat dalam sebuah basis data sebagai berikut: 1. Tabel, merupakan objek yang memiliki tipe-tipe data yang aktual. 2. Kolom, merupakan bagian tabel yang memiliki tipe dan nama yang unik dan berfungsi untuk menampung data.
28
3. Tipe data, terdapat beragam tipe data yang dapat dipilih misalnya character, numeric, dan sebagainya. 4. Primary key, merupakan atribut yang dipilih untuk menjamin data agar unik, sehingga berbeda dari data yang lain. 5. Foreign key, merupakan kolom-kolom yang mengacu pada primary key dari tabel yang lain. Sehingga dapat dikatakan bahwa Primary key dan Foreign key digunakan untuk menghubungkan sebuah tabel dengan tabel lainnya. Adapun pada database dikenal pula istilah database relational, yaitu merupakan suatu model basis data yang menghubungkan antara satu tabel dengan tabel lainnya. Database relational selalu menggunakan field kunci untuk mendefinisikan relasi antar tabel, maka semakin banyak tabel semakin
banyak
relasi
yang
dibutuhkan
untuk
menghubungkan
keseluruhan tabel. Sebuah tabel tidak harus langsung berhubungan dengan setiap tabel lainnya, tetapi setiap tabel dalam basis data terhubung satu sama lain (tidak ada tabel yang berdiri sendiri). Sehingga tabel dapat berhubungan dengan setiap tabel lain dengan hubungan langsung atau tidak langsung.
2.1.5.1 Database Management System (DBMS) Menurut Connolly dan Begg, (2005:16), DBMS adalah suatu sistem perangkat lunak yang memungkinkan pengguna untuk menciptakan, memelihara, menentukan dan mengontrol akses ke database. Secara khusus, DBMS menyediakan fasilitas berikut: 1. Memungkinkan penggunanya untuk memilih database, biasanya melalui Data Definition Language (DDL). DDL memungkinkan pengguna untuk memilih tipe dan struktur data mendorong data untuk disimpan ke database. 2. Memungkinkan penggunanya untuk melakukan insert, delete, update, dan retrieve dari database yang biasanya melalui Data Manipulation Language (DML). 3. Memberikan akses kontrol ke database.
29
2.1.5.2 Peran dan Ruang Lingkup Basis Data a. Data dan Database Administrator Data administrator bertanggung jawab atas pengelolaan sumber data yang meliputi perencanaan, pengembangan dan pemeliharaan standar. Prosedur dan kebijakan, serta desain konseptual/logis
pada
basis
data.
Administrator
data
berkonsultasi dan memberikan saran kepada manajer, agar arah pengembangan database dapat dipastikan mendukung tujuan perusahaan sepenuhnya. b. Perancangan Database Ada dua macam perancang yaitu perancang basis data logis dan perancang basis data fisik. Perancang basis data logis berhubungan dengan identifikasi data yaitu mencakup hubungan antara data yang satu dengan yang lainnya, dan juga macammacam kendala di dalam data yang harus disimpan pada basis data. Perancang basis data fisik menentukan bagaimana desain basis data logis direalisasikan secara fisik, ia harus mampu memilih strategi strategi penyimpanan yang sesuai dan memperhitungkan
penggunaannya.
Lain
halnya
dengan
perancang konseptual/logis yang mengurusi tentang data apa saja yang diperlukan (what), Perancang basis data fisik mengurusi bagaimana metodenya (how). c. Pengembang Aplikasi Setelah database diimplementasikan, maka program pada aplikasi yang menyediakan fungsi yang diperlukan untuk pengguna
harus
diimplementasikan.
Hal
ini
merupakan
tanggung jawab para pengembang aplikasi. Biasanya, para pengembang aplikasi bekerja dari spesifikasi yang dihasilkan oleh analis sistem. d. Pengguna Akhir (End-User) End-user adalah client untuk basis data, yang telah dirancang dan dilaksanakan, dan sedang dipertahankan untuk
30
melayani
kebutuhan
informasi
mereka.
End-user
dapat
diklasifikasikan menurut cara mereka menggunakan sistem: 1. Native
users:
mereka
mengakses
melalui
program khusus yang ditulis untuk membuat operasi sesederhana mungkin. 2. Sophisticated users: pengguna canggih yang dapat menggunakan bahasa tingkat tinggi seperti SQL untuk melakukan operasi yang dibutuhkan.
2.1.5.3 Structured Query Languange (SQL) Menurut Connolly dan Begg (2005:113), SQL merupakan bahasa yang dirancang untuk menggunakan relasi untuk mengubah masukan menjadi keluaran yang diharapkan. SQL bertujuan untuk memenuhi keputusan sebagai berikut: 1. Membuat database dan struktur relasi. 2. Melakukan tugas dasar pengelolaan data, seperti memasukkan, memodifikasi dan menghapus data dari relasi. 3. Melakukan query sederhana dan kompleks. Standar SQL memiliki dua komponen: 1. Data
Definition
Language
(DDL)
untuk
menetapkan struktur database dan mengontrol akses ke data. 2. Data Manipulation Language (DML) untuk mendapatkan
kembali
(retrieve)
dan
memperbaharui data.
2.1.6 MySql Menurut Janet Valade (2006:25), MySql adalah aplikasi database yang cepat dan mudah menggunakan sistem manajemen basis data relasional (RDBMS) yang digunakan pada situs web pada umumnya. Namun, meskipun MySQL masih kurang dibandingan fitur yang lengkap dari pesaing komersialnya, MySQL memiliki semua fitur dasar yang dibutuhkan oleh mayoritas pengembang database. Pada saat ini MySQL
31
merupakan database server yang sangat terkenal di dunia, semua itu tak lain karena menggunakan SQL sebagai bahasa dasar untuk mengakses database. MySQL umumnya digunakan bersamaan dengan PHP untuk membuat aplikasi yang dinamis dan powerfull. Adapun keuntungan menggunakan MySql sebagai berikut: 1.
Cepat.
2.
Murah.
3.
Mudah digunakan.
4.
Dapat dijalankan pada berbagai macam sistem operasi
5.
Dukungan teknis yang tersedia secara luas.
6.
Memiliki sistem sekuriti yang cukup baik dengan verifikasi host.
7.
Mendukung database besar.
8.
Dapat memodifikasi MySql sehingga cocok dengan lingkungan programmer-nya.
2.1.7 HyperText Preprocessor (PHP) Menurut Janet Valade (2006:11). PHP adalah bahasa pemrograman yang dirancang khusus untuk membuat suatu web dan ini merupakan alat untuk membuat halaman web yang dinamis. PHP merupakan software open source yang disebarkan dan dilisensikan secara gratis serta dapat di-download secara bebas dari situs resminya http://www.php.net/. Pengguna dapat mengubah source code dan mendistribusikannya secara bebas dan diedarkan secara gratis. Selain sifatnya yang open-source, PHP juga memiliki beberapa kelebihan lainnya, yaitu: 1. Tingkat keamanan yang cukup tinggi 2. Waktu eksekusi yang lebih cepat dibandingkan dengan bahasa pemograman web lainnya yang berorientasi pada server-side scripting. 3. Akses ke system database yang lebih fleksibel, seperti MySQL. 4. Konektivitasnya yang tinggi dengan system database di dalam web, dikarenakan mendukung banyak sistem database. Selain MySQL, PHP juga mendukung ORACLE, Sybase, PostgreSQL,
32
Microsoft SQL Server, UNIX DBM, ODBC, IBM DB2, dan lainlain. Konsep kerja PHP diawali dengan permintaan suatu halaman web (file.php) oleh browser atau klien. Kemudian berdasarkan alamat di Internet (URL), browser mendapatkan alamat dari web server, yang akan mengidentifikasi halaman yang diminta, dan menyampaikan segala informasi yang dibutuhkan oleh web server. Selanjutnya, ketika file PHP yang diminta didapatkan oleh web server, isinya segera dikirimkan ke mesin PHP untuk diproses dan memberikan hasilnya (berupa kode HTML) ke web server, lalu menyampaikannya ke klien.
Gambar 2.21 Proses kerja PHP 2.1.8 Extensible Markup Language (XML) XML adalah sebuah meta-language (bahasa yang digunakan untuk mendeskripsikan bahasa lain) yang memungkinkan seorang designer membuat sendiri tag yang menyediakan fungsi yang tidak tersedia dalam HTML (Connolly, 2005:1073). XML merupakan sebuah versi multilanguage yang diturunkan dari Standard Generalized Markup Languange (SGML), yang didesain khusus untuk dokumen website dan dapat mendukung perancang untuk menciptakan tag sendiri, yang memiliki kemampuan untuk mendefinisikan, mentransmisikan, menvalidasikan dan menginterpretasikan data antara aplikasi dan organisasi.
33
Keunggulan yang dimiliki XML antara lain (Connolly, 2005:1074) : • Simplicity, XML menggunakan bahasa yang sederhana, mudah dimengerti oleh manusia dan mesin. • Open
Standard
and
platform
/
vendor-indepedent.
XML
menggunakan standar terbuka sehingga dapat dikembangkan sesuai dengan kebutuhan user. • Extensibility. XML memungkinkan user untuk mendefinisikan tag sendiri sehingga dapat dikembangkan sesuai dengan kebutuhan user. • Reuse. XML memungkinkan libraries dari XML tags untuk dibangun sekali dan dapat digunakan kembali oleh banyak aplikasi. • Separation of content and presentation. XML memisahkan antara isi dan tampilan dari suatu data sesuai dengan pengaturan yang diinginkan. • Improved load balancing. Data dapat ditampilkan pada browser yang baik. • Support for the integration of data multiple source. Kemampuan mengintegrasikan data dari berbagai macam sumber yang berbeda adalah hal yang sulit dan memakan waktu. XML dapat menggabungkan data dari banyak sumber yang berbeda dengan cara yang mudah. • Ability to describe data from a wide variety of applications. XML dapat digunakan untuk mendeskripsikan data yang terdapat pada aplikasi yang berbeda. • More advance search engine. Dengan XML, mesin pencarian akan mampu untuk menyederhanakan berbagai macam tags. • New opportunities. XML memiliki banyak kelebihan yang dapat dihadirkan dalam banyak aplikasi teknologi saat ini. Struktur hirarkinya cocok untuk kebanyakan tipe dokumen. 2.1.9 Java Programming Language Java adalah bahasa pemograman yang dikembangkan oleh Sun Microsystems dibawah pengawasan James Gosling dan Bill Joy. Java di-
34
compile menjadi bytecode yang dapat berjalan di Java Virtual Machine manapun walaupun arsitektur komputernya berbeda. (Schildt, 2011:64). Java banyak digunakan karena memiliki beberapa kelebihan dibandingkan bahasa pemrograman lain. Salah satu kelebihannya adalah sifatnya yang portable dan multi-platform, sehingga aplikasi yang menggunakan Java dapat dijalankan di platform dan sistem operasi apapun tanpa perlu mengubah aplikasi tersebut. Selain itu, Java juga merupakan salah satu bahasa pemrograman yang berbasiskan objek (OOP/Obyek Oriented Programming), dimana semua data dan fungsi akan dibungkus dalam kelas-kelas atau objek-objek. Model data berorientasi objek dapat memberi fleksibilitas yang lebih, kemudahan mengubah program, dan digunakan luas dalam teknik piranti lunak skala besar. Dengan menggunakan OOP maka dalam melakukan pemecahan suatu masalah kita tidak melihat bagaimana cara menyelesaikan suatu masalah tersebut (terstruktur) tetapi objek-objek apa yang dapat melakukan pemecahan masalah tersebut.
2.1.10 HTML (Hypertext Markup Language) Menurut Turban (2009:483), HTML adalah suatu bahasa program yang digunakan pada web dimana format dokumen pengumpulan dynamic hypertext link kepada dokumen lain tersimpan pada komputer. Hypertext Markup Language (HTML) adalah sebuah bahasa markup yang digunakan untuk membuat sebuah halaman web, menampilkan berbagai informasi di dalam sebuah penjelajah web Internet dan formating hypertext sederhana yang ditulis ke dalam berkas format ASCII agar dapat menghasilkan tampilan wujud yang terintegerasi. Dengan kata lain, berkas yang dibuat dalam perangkat lunak pengolah kata dan disimpan ke dalam format ASCII normal sehingga menjadi home page dengan perintah-perintah HTML. Bermula dari sebuah bahasa yang sebelumnya banyak digunakan di dunia penerbitan dan percetakan yang disebut dengan SGML (Standard Generalized Markup Language), HTML adalah sebuah standar yang digunakan secara luas untuk menampilkan halaman web. HTML saat ini merupakan standar internet yang didefinisikan dan dikendalikan penggunaannya oleh World Wide Web Consortium (W3C). HTML
35
merupakan client side scripting, yang artinya HTML dijalankan di browser, bukan di server. 2.2 Teori-Teori Khusus 2.2.1 Mobile-Commerce (M-Commerce) 2.2.1.1 Pengertian M-Commerce Menurut Turban (2006:181) yang telah diterjemahkan, M-Commerce atau Mobile commerce terdapat berbagai aktivitas bisnis yang menuntun pada jaringan telekomunikasi tanpa kabel (wireless). Seperti aplikasi E-Commerce biasanya, M-Commerce dapat dilakukan melalui Internet, jalur komunikasi khusus, dan melalui jaringan berbasis komputer lainnya. Keuntungan penggunaan M-Commerce: 1. Mobilitas (mobility) Mobilitas berimplikasi portabilitas. Berdasarkan fakta bahwa para pengguna membawa telepon seluler/perangkat bergerak lainnya dimanapun mereka bepergian. 2. Keluasan jangkauan
(broad
reach).
Dengan
M-
Commerce, orang-orang dapat dijangkau kapan saja. Karakteristik tersebut menghilangkan batasan geografi dan waktu untuk menciptakan lima atribut bernilai tambah yang akan menggerakan pengembang MCommerce, yaitu: 1. Tersedia dimana saja (ubiquility) 2. Kenyamanan (convenience) 3. Konektivitas instan (instant connectivity) 4. Personalisasi (personalization) 5. Lokalisasi (localization)
36
2.2.1.2 Tahapan dalam M-Commerce Secara umum, tahapan proses pada M-Commerce dapat dibedakan menjadi empat tahapan sebagai berikut: 1. Setup dan konfigurasi Proses ini termasuk instalasi aplikasi khusus pada handset yang akan digunakan pada M-Commerce. Selain itu, untuk beberapa sistem M-Commerce, proses ini juga melibatkan proses pembuatan/penambahan nilai uang pada aplikasi tersebut. 2. Inisiasi pembayaran Pada tahap ini, informasi dikirim melalui jaringan seluler / merchand protocol wireless lainnya. 3. Authentikasi Tahap ini merupakan tahap yang paling penting pada transaksi. Pada tahap imi, diperiksa apakah pengguna berhak melakukan transaksi serta mernenuhi persyaratan finansial tertentu. Pada sebagian sistem pembayaran,
proses
ini
melibatkan
autentikasi
berdasarkan SIM card. 4. Penyelesaian pembayaran Proses ini dilakukan ketika pengguna berhasil diautentikasi, demikian juga transaksi itu sendiri telah berhasil
diautentikasi.
Pada
proses
transaksi
konvensional, tahap ini adalah tahap dibentuknya bukti pembayaran.
2.2.1.3 Produk dan Jasa M-Commerce Produk dan jasa yang terdapat pada M-Commerce: 1. Mobile ticketing: pembelian tiket dapat dilakukan melalui telepon genggam. 2. Mobile
vouchers
/
coupons
/
loyalty
card:
memungkinkan pelanggan mendapatkan fasilitas yang sama seperti memiliki loyalty card.
37
3. Content purchase and delivery: menjual ringtones, wallpapers, dan game untuk telepon genggam. 4. Location based services: memberikan informasi tentang lokasi sekitar, misalnya peta, cuaca setempat, dan lainlain. 5. Information services: memberikan informasi seperti melalui
internet
atau
koran
mengenai
laporan
pertandingan olah raga, informasi keuangan, berita, dan lain-lain. 6. Mobile banking: bank memberikan kemudahan bagi pelanggan
tidak
hanya
mendapatkan
informasi
keuangan tetapi juga melakukan transaksi langsung. 7. Mobile
Brokerage:
layanan
pasar
saham
yang
ditawarkan melalui telepon genggam. 8. Auction: lelang melalui telepon genggam dimana tidak seperti lelang secara tradisional, mereka menarik bayaran tiap kali mengundang. 9. Mobile purchase: memungkinkan pelanggan untuk melakukan belanja dimanapun mereka berada dan kapanpun. 10. Mobile marketing and advertising: memungkinkan melakukan pemasaran atau mengiklankan produk melalui ponsel.
2.2.1.4 Customer-to-Customer (C2C) C2C adalah salah satu model E-Commerce/MCommerce, dimana seorang konsumen menjual secara langsung ke konsumen lainnya melalui beberapa pihak ketiga. Sebuah contoh umum adalah lelang online, di mana konsumen menampilkan dan menampilkan barang yang akan dijual, dan konsumen lain menawar untuk membeli. Situs atau aplikasi hanya berperan sebagai perantara (pihak ketiga) untuk mempertemukan dan sebagai sarana interaksi antar konsumen.
38
2.2.2 Android Menurut Nazarudin (2012:3) Android adalah sebuah aplikasi platform telepon seluler yang open source. Android bersifat open source yang source code-nya diberikan secara gratis bagi para pengembang untuk menciptakan aplikasi mereka agar dapat berjalan di Android. Secara
umum,
arsitektur
perangkat
lunak
Android
dapat
digambarkan berupa susunan struktural dari individu komponen sistemnya. Komponen penyusun perangkat lunak Android terdiri dari beberapa tingkatan lapisan (layer) penyusun yang berjumlah empat lapisan. Keseluruhan dari semua lapisan disebut sebagai software stack.
Gambar 2.22 Arsitektur perangkat lunak sistem Android Lapisan-lapisan tersebut dapat dipisahkan menjadi 5 grup yang berbeda (Nazarudin, 2012:6-8). 1. Application Di lapisan ini merupakan satu set aplikasi inti dengan fungsi-fungsi dasar smartphone. Bagi rata-rata pengguna, lapisan inilah yang paling sering diakses. Fungsi-fungsi dasar tersebut dapat diakses melalui user interface. Hampir semua aplikasi dibuat menggunakan bahasa pemrograman Java.
39
2. Applications Framework Lapisan selanjutnya adalah Application Framework, yang mencakup program untuk mengatur fungsi-fungsi dasar smartphone. Application Framework merupakan serangkaian tool dasar seperti alokasi resource smartphone, aplikasi telepon, pergantian antar proses atau program, dan pelacakan lokasi fisik telepon. Para pengembang aplikasi memiliki aplikasi penuh kepada tool-tool dasar tersebut, dan memanfaatkannya untuk menciptakan aplikasi yang lebih kompleks. Di dalam se
mua aplikasi terdapat servis dan
sistem. 3. Libraries Bertempat di level yang sama dengan Android Runtime adalah Libraries. Android menyertakan satu set librarylibrary dalam bahasa C/C++ yang digunakan oleh berbagai komponen yang ada pada sistem Android. Kemampuan ini dapat
diakses
Application
oleh
programmer
Framework.
Sebagai
melewati
Android
contoh
Android
mendukung pemutaran format audio, video, dan gambar. Beberapa core library tersebut terlihat pada gambar sebelumnya. 4. Android Runtime Lapisan setelah Kernel Linux adalah Android Runtime. Android Runtime ini berisi Core Libraries dan Dalvik Virtual Machine, Core Libraries mencakup serangkaian inti library Java, artinya Android menyertakan satu set librarylibrary dasar yang menyediakan sebagian besar fungsifungsi yang ada pada library-library dasar bahasa pemrograman Java. 5. Linux Kernel Android bergantung pada Kernel Linux untuk layanan sistem
inti
seperti
keamanan,
manajemen
memori,
manajemen proses, stack jaringan, dan driver model.
40
Kernel juga bertindak sebagai lapisan abstrak antar hardware dan software stack. 2.2.2.1 Java Platform, Standard Edition (Java SE) Banyak digunakan pada platform untuk pemrograman di Bahasa Java. Java platform ini digunakan untuk menyebarkan aplikasi portable untuk penggunaan umum dalam prakteknya, Java SE terdiri dari virtual machine, yang mana harus digunakan untuk menjalankan program Java, bersama dengan satu paket library (package) diperlukan untuk memungkinkan pengguna sistem file, jaringan, antarmuka, dan sebagainya dari dalam program-program tersebut.
2.2.2.2 Android SDK (Software Development Kit) Menurut Nazarudin (2012:5) Android SDK adalah tools
API
(Application
Programming
Interface)
yang
diperlukan untuk mulai mengembangkan aplikasi pada platform Android menggunakan bahasa pemrograman Java. Android SDK mencakup contoh proyek dengan source codenya, perangkat pengembangan, sebuah emulator, dan libraries yang dibutuhkan untuk membangun aplikasi Android. Tools ini berguna untuk mensimulasikan OS Android pada komputer. Selain untuk fungsi pengembangan emulator, Android SDK juga dapat digunakan untuk mencoba aplikasi-aplikasi yang disediakan oleh para pengembang Android.
2.2.2.3 Eclipse Eclipse adalah sebuah IDE (Integrated Development Environment) untuk mengembangkan perangkat lunak dan dapat dijalankan di semua platform (platform-independent). Saat ini, Eclipse merupakan salah satu IDE favorit dikarenakan gratis dan open source, yang berarti kode pemrograman perangkat lunak ini boleh dilihat oleh setiap orang. Selain itu, kelebihan
Eclipse
adalah
kemampuannya
untuk
dapat
41
dikembangkan oleh pengguna dengan komponen-komponen tambahan yang dinamakan plug-in.
2.2.2.4 ADT (Android Development Tools) Menurut Nazarudin (2012:6) ADT adalah plug-in yang membuat Eclipse dapat membuat project berbasis Android. ADT adalah salah satu komponen yang harus ada dalam membuat aplikasi Android, karena ADT berperan sebagai penghubung antara Android SDK dengan IDE Eclipse yang akan digunakan sebagai tempat coding aplikasi Android nantinya.
2.2.3 Location Based Services (LBS) 2.2.3.1 Pengertian LBS Menurut Stefan Steiniger, Moritz Neun and Alistair Edwardes (2006:2) Location Based Service (LBS) adalah layanan
informasi
yang
dapat
diakses
menggunakan
perangkat bergerak melalui jaringan perangkat bergerak dan mengutilisasi kemampuan
untuk menggunakan lokasi
perangkat bergerak. LBS terdiri dari beberapa komponen, antara lain: 1. Mobile Devices. Alat bantu bagi pengguna untuk meminta informasi yang diinginkan, hasilnya dapat berupa suara, gambar, teks, atau lainnya. 2. Communication Network. Komponen kedua adalah jaringan
perangkat
bergerak
yang
mengirimkan
data
pengguna dan permintaan layanan dari terminal perangkat bergerak ke penyedia layanan lalu mengirimkan informasi yang diminta kepada pengguna. 3. Positioning Component. Untuk melanjutkan proses layanan, lokasi pengguna harus ditentukan. Posisi ini bisa didapat baik dengan menggunakan jaringan komunikasi peralatan bergerak atau menggunakan GPS. 4. Service and Application Provider. Pemberi layanan menawarkan
sejumlah
layanan
yang
berbeda
kepada
42
pengguna dan harus bertanggung jawab dalam proses permintaan layanan, seperti kalkulasi posisi, pencarian rute, atau pencarian informasi atau obyek yang diinginkan pengguna. 5. Data and Content Provider. Pemberi layanan biasanya tidak menyimpan dan merawat semua informasi yang dapat diminta pengguna, sehingga data mengenai informasi lokasi biasanya diminta oleh maintaining authority atau rekan bisnis dan industri.
2.2.3.2 Global Positioning System (GPS) Menurut Budi Yulianto (2010:64), Global Positioning System (GPS) adalah suatu sistem navigasi satelit yang berfungsi untuk menentukan lokasi, kecepatan, dan arah melalui signal yang diterima lebih dari 24-32 satelit yang berorbit 20000 km (11000 mil laut) di atas bumi. Prinsip dasar di balik GPS adalah pengukuran jarak (distance/range) antara satelit dan receiver dari transmisi sinyal radio. Sebuah GPS receiver memerlukan empat atau lebih satelit untuk menghasilkan jarak mereka, dan menggunakan informasi ini untuk menyimpulkan lokasi mereka. Operasi ini disebut triangulation. Satelit-satelit GPS mentransmisikan sinyal radio ke bumi yang mengandung informasi tentang satelit, contohnya lokasi dan waktu saat itu, menginformasikan pengguna secara tepat di mana satelit berada dalam orbit mereka sementara GPS receivers secara pasif menerima sinyal satelit tersebut. Semua satelit-satelit GPS mensinkronisasi operasi-operasi agar sinyal-sinyal yang berulang ini ditransmisikan pada waktu yang bersamaan.
2.2.3.3 Google Map API Menurut Svennerberg (2010:1), Google Map API merupakan salah satu solusi pemetaan yang populer di dalam
43
jaringan internet. Kegunaan dari Google Map ini sendiri untuk melihat lokasi dari suatu tempat, untuk mencari posisi dari suatu alamat, untuk navigasi arah, dan beberapa hal lainnya. Google Map dibuat berdasarkan pada prinsip, sebagian besar informasi memiliki keterangan suatu lokasi, jika memiliki lokasi, maka dapat ditampilkan pada peta. Google Map API menyediakan fasilitas penggunaan Google Map dalam kebutuhan aplikasi yang dikembangkan. Google Map dikembangkan dengan menggunakan HTML, CSS, Javascript yang bekerja bersamaan. Ubin dalam peta merupakan
gambar-gambar
yang
dimuatkan
ke
dalam
background dengan menggunakan Ajax calls dan kemudian dimasukkan ke dalam suatu halaman HTML. Ketika navigasi dalam peta, API mengirim informasi tentang koordinat baru dan tingkat pembesaran peta dengan menggunakan Ajax calls yang mengembalikan gambar yang baru.
2.3 Hasil Penelitian atau Produk Sebelumnya Penulis melakukan analisis studi pustaka terhadap tiga jurnal penelitian yang sudah ada sebelumnya, yaitu:
2.3.1 M-Commerce in Indonesia: Problems and Prospects Dalam penelitian yang dilakukan Lukas Priyambodo, Fandy Tjiptono, dan Suyoto (2012), M-Commerce di Indonesia sangatlah menjanjikan, di mana salah satu prospek yang dapat dicapai di Indonesia yaitu Economic Growth Improvement, yaitu dengan adanya M-Commerce maka akan membantu produktivitas dari negara Indonesia sendiri. Selain itu keuntungan utama dari M-Commerce mempunyai satu kelebihan utama yaitu ubiquity yang artinya bisa dilakukan di mana saja. 2.3.2 Mobile Commerce : opportunities and challenges “The other difference between e-commerce and M-Commerce is the opportunity to connect information with objects in a more direct way than has been possible until now” (GS1 Mobile Com, 2008). Pada jurnal ini mengatakan bahwa bahwa M-Commerce mempunyai keuntungan dalam
44
menghubungkan informasi dari berbagai objek dengan cara lebih langsung dari yang sekarang ada. Dalam jurnal paper (tulisan) ini juga dicantumkan fakta-fakta mengenai pertumbahan M-Commerce di dunia, serta berbagai macam peluang yang mungkin bisa terjadi jika pertumbuhan M-Commerce dapat melaju dengan pesat. Dikatakan ada 4 hal yang menjadi dasar kenapa MCommerce dapat sukses dibandingkan E-Commerce sendiri: 1. Innovative Business Model 2. Consumer Adoption 3. Technology availability 4. Interoperable system
2.3.3 Mobile Commerce Beyond Electronic Commerce: Issue and Challenges Menurut Asghar Afshar Jahanshahi, Alireza Mirzaie, dan Amin Asadollahi, kemudahan dalam komunikasi, 24 jam dan tanpa batasan tempat menyebabkan transaksi mobile kian meningkat. Selain itu menurut mereka ada 4 hal yang dapat menjadi keuntungan bagi para pelaku bisnis maupun organisasi dalam penggunaan M-Commerce, yaitu: 1. Context-specific services, M-Commerce memungkinkan untuk menggunakan location based services, yang memungkinkan untuk memberikan informasi yang detail seperti hari, jam, lokasi user dan keinginan dari user. 2. Time-critical situations – Ubiquity dan kesegeraan dari MCommerce memungkinkan user untuk melakukan hal yang mendesak secara efisien, terlepas dari lokasi geografis yang sekarang. 3. Spontaneous decisions and need – kebutuhan spontan tidak terpicu secara eksternal dan secara umum melibatkan keputusan yang tidak membutuhkan pertimbangan yang matang, sepert membeli sesuatu barang dengan jumlah uang yang sedikit. 4. Efficiency increase – M-Commerce membantu meningkatkan produktivitas kerja dengan cara meningkatkan efisiensi dari rutinitas sehari-hari. Para karyawan bisa memanfaatkan waktu kosongnya, contoh ketika seorang karyawan melakukan perjalanan
45
sehari-harinya dari dan ke tempat kerja, maka ketika itu MCommerce bisa terjadi, maka akan lebih efisisien.