7
BAB 2
TINJAUAN PUSTAKA
2.1
Teori Umum
2.1.1
Rekayasa Perangkat Lunak
2.1.1.1
Pengertian Rekayasa Perangkat Lunak
Menurut Pressman (2010: 13)
Rekayasa perangkat
lunak adalah teknologi berlapis. Pendekatan rekayasa
apapun (termasuk rekayasa perangkat lunak) harus
beristirahat pada komitmen organisasi terhadap kualitas.
Landasan yang mendukung rekayasa perangkat lunak adalah
fokus kualitas.
Landasan untuk rekayasa perangkat lunak adalah
lapisan proses. Proses rekayasa perangkat lunak adalah
perekat yang memegang lapisan teknologi bersama-sama
dan memungkinkan perkembangan rasional dan tepat
waktu
perangkat lunak komputer. Proses mendefinisikan kerangka
kerja yang harus ditetapkan untuk pengiriman efektif
teknologi rekayasa perangkat lunak. 
Metode rekayasa perangkat lunak menyediakan teknis
how-to
untuk membangun perangkat lunak. Metode
mencakup array yang luas dari tugas-tugas yang meliputi
komunikasi, analisis persyaratan, pemodelan desain,
konstruksi program, pengujian, dan dukungan.
2.1.1.2
Kerangka Proses
Menurut Pressman (2010: 15) Sebuah kerangka proses
menetapkan dasar bagi proses perangkat  lunak  yang 
lengkap  dengan  mengidentifikasi  sejumlah kecil aktivitas
kerangka kerja yang berlaku untuk semua proyek perangkat
lunak, tanpa memandang ukuran atau kompleksitas. Selain
  
8
itu, kerangka proses mencakup serangkaian kegiatan yang
berlaku diseluruh proses perangkat lunak. 
Berikut  kerangka  proses  (process  framework)  yang 
berlaku untuk sebagian besar proses perangkat lunak:
Komunikasi (Communication)
Aktivitas kerangka kerja ini melibatkan komunikasi
dan kolaborasi dengan pengguna (dan stakeholder
lainnya) dan meliputi  persyaratan  pengumpulan  dan 
kegiatan  terkait lainnya.
Perencanaan (Planning)
Aktivitas kerangka kerja ini menetapkan suatu
rencana
untuk rekayasa perangkat lunak yang
menggambarkan tugas-
tugas yang akan dilakukan,
resiko yang mungkin, sumber daya yang akan 
dibutuhkan,  pekerjaan  produk  yang  harus dihasilkan,
dan jadwal kerja.
Pemodelan (Modeling)
Aktivitas kerangka kerja ini meliputi pembuatan
model yang memungkinkan pengembang (developer)
dan client untuk lebih memahami kebutuhan perangkat
lunak (software requirement) dan desain untuk
pencapaian kebutuhan tersebut.
Konstruksi (Construction)
Aktivitas kerangka kerja ini menggabungkan
kegiatan coding dan pengujian (testing) yang diperlukan
untuk mengungkapkan kesalahan dalam code.
  
9
Penyebaran (Deployment)
Perangkat lunak diberikan kepada client dimana
client yang akan mengevaluasi dan memberikan umpan
balik berdasarkan hasil evaluasi.
2.1.1.3
The Waterfall Model 
Menurut Pressman (2010: 39),
Waterfall model,
disebut juga siklus hidup klasik, adalah paradigma tertua
untuk rekayasa perangkat lunak yang menyarankan
pendekatan sistematis, sekuensial untuk pengembangan
perangkat lunak yang diawali dengan persyaratan spesifikasi
pelanggan dan berkembang melalui perencanaan, pemodelan,
konstruksi, dan penyebaran, yang berpuncak pada dukungan
yang berkelanjutan dari perangkat lunak yang telah selesai.
Gambar 2.1  The Waterfall Model
(Sumber : Pressman, 2010: 39)
2.1.2
UML (Unified Modeling Language)
Menurut  Pressman  (2010: 841),  Unified  Modeling 
Language (UML) merupakan bahasa standar untuk menuliskan cetak
biru (blueprints) dari software. UML dapat digunakan untuk
mengvisualisasikan, merincikan, menyusun, dan mendokumentasikan
artefak dari sebuah sistem intensif software. Dengan kata lain,
arsitektur software  membuat  Diagram  UML  untuk  membantu 
developers membangun sebuah software.
  
10
UML 2.0 menyediakan beberapa jenis Diagram
untuk
digunakan dalam memodelkan software. Contohnya ialah class,
deployment, use case, sequence, communication, activity, dan  state
Diagram. Dengan banyaknya jenis Diagram
yang tersedia, semua
aspek penting dalam sistem dapat terekspresikan.
2.1.2.1
Class Diagram
Menurut Pressman (2010: 842-845) Untuk model kelas,
termasuk atribut, operasi, dan hubunga
dan
asosiasi dengan
kelas-kelas lain,
UML menyediakan class diagram. Sebuah
class
diagram menyediakanpandangan statis atau struktural
dari sebuah sistem. Hal ini tidak menunjukkan sifat dinamis
dari komunikasi antara objek dari kelas dalam diagram.
Unsur-unsur utama dari class
diagram adalah kotak,
yang merupakan ikon yang digunakan untuk mewakili kelas
dan interface. Setiap kotak dibagi menjadi bagian-bagian
horizontal. Bagian atas berisi nama kelas, bagian tengah
berisi daftar atribut dari kelas, dan bagian bawah berisi
fungsi operasi atau perilaku kelas. Operasi mengacu pada
apa  yang dapat dilakukan oleh objek kelas. Hal ini biasanya
diimplementasikan sebagai metode kelas.
Setiap atribut dapat memiliki nama, jenis, dan tingkat
visibilitas. Jenis dan visibilitas adalah opsional. Jenis ini
mengikuti nama dan dipisahkan dari nama dengan titik dua.
Visibilitas ditunjukkan dengan
-
(private), #
(protected),      
~
(package), atau + (public).
  
11
 
Gambar 2.2  Contoh Class
(Sumber : Pressman, 2010: 842)
Diagram kelas juga dapat menunjukkan hubungan antara
kelas. Sebuah kelas yang merupakan subclass dari kelas lain
terhubung ke dengan panah dengan garis yang solid dengan
panah segitiga berongga. Arah panah menunjukan dari
subclass
ke superclass. Dalam UML, hubungan tersebut
disebut generalisasi. Sebagai contoh,
pada Gambar 2.3,
kelas Thoroughbred
dan QuarterHorse
terbukti subclass
dari kelas abstrak Horse. Panah dengan garis putus-putus
untuk poros panah menunjukkan implementasi antarmuka.
Dalam UML, hubungan tersebut disebut realisasi. Sebagai
contoh, pada Gambar 2.3, mengimplementasikan kelas
Horse atau menyadari antarmuka OwnedObject.
  
12
Gambar 2.3  Contoh Class Diagram
(Sumber : Pressman, 2010: 843)
Asosiasi adalah hubungan antara dua kelas yang berarti
bahwa ada
keterkaitan struktural antara dua
kelas tersebut.
Asosiasi diwakili oleh garis solid. Sebuah asosiasi memiliki
banyak bagian opsional. Asosiasi dapat diberi label, seperti
pada
masing-masing ujungnya, untuk menunjukkan peran
masing-masing kelas dalam asosiasi. Sebagai contoh, pada
Gambar 2.3, ada hubungan asosiasi antara OwnedObject dan
Person. Panah pada salah satu atau kedua ujung garis
asosiasi menunjukkan navigability. Selain itu, setiap akhir
garis
asosiasi dapat memiliki nilai multiplicity. Sebuah
asosiasi mungkin juga menghubungkan kelas dengan dirinya
sendiri, menggunakan loop. Seperti asosiasi menunjukkan
koneksi dari sebuah objek dari kelas dengan benda-benda
lain dari kelas yang sama. Sebuah asosiasi dengan panah di
salah satu ujung menunjukkan navigability satu arah. Sebuah
asosiasi tanpa panah biasanya menunjukkan hubungan dua
arah, tetapi bisa juga berarti bahwa navigability
tidak
penting dan jadi tinggalkan.
  
13
Sebuah asosiasi dari satu kelas ke yang lain secara
otomatis menunjukkan dependency. Tidak ada garis putus-
putus yang dibutuhkan antara kelas jika sudah ada hubungan
antara mereka . Namun, untuk hubungan sementara (sebuah
kelas yang tidak mempertahankan koneksi jangka panjang
untuk kelas lain tetapi menggunakan kelas tersebut kadang-
kadang) kita harus menarik garis putus-putus dari kelas
pertama yang kedua.
Sebagai contoh, pada Gambar 2.3, kelas
Thoroughbred
menggunakan kelas Date
setiap kali metode
getCurrentAge()
dipanggil, sehingga hubungan dependency
diberi label "uses". Multiplicity
di salah satu ujung asosiasi
berarti jumlah objek yang kelas yang terkait dengan kelas
lain. Sebuah multiplicity ditentukan oleh bilangan bulat
positif. Sebuah multiplicity
yang ditentukan oleh "0..1"
berarti bahwa ada 0 atau 1 objek pada asosiasi kelas tersebut.
Sebuah “*” digunakan sebagai multiplicity
pada
OwnedObject
di akhir garis asosiasi dengan kelas Person
pada Gambar 2.3
karena Person
dapat memiliki nol atau
lebih objek.
Agregasi
adalah jenis khusus dari asosiasi yang
ditunjukkan oleh berlian berongga pada salah satu ujung
ikon. Agregasi menunjukkan hubungan "seluruh / bagian",
bahwa kelas yang di
titik panah dianggap sebagai "bagian"
dari kelas di ujung berlian dari asosiasi.
  
14
Gambar 2.4  Hubungan antara College, Course, dan
Building
(Sumber : Pressman, 2010: 845)
Komposisi
adalah suatu agregasi yang menunjukkan
kepemilikan yang kuat. Dalam komposisi, objek hidup dan
mati dengan pemilik karena mereka tidak memiliki peran
dalam sistem perangkat lunak independen dari pemilik. Lihat
Gambar 2.4 untuk contoh agregasi dan komposisi.
College
memiliki hubungan
agregasi dengan objek
Building, yang merupakan
bangunan yang membentuk
kampus. College ini juga memiliki koleksi program / Course.
Jika College
tidak ada, Building
masih tetap ada (dengan
asumsi College
tidak secara fisik dihancurkan) dan dapat
digunakan untuk hal lain dan juga pada kasus yang sama
Course sudah tidak berguna.
2.1.2.2
Use Case Diagram
Use case
mendeskripsikan cara pengguna berinteraksi
dengan sistem, dengan mendefinisikan langkah-langkah 
yang  dibutuhkan untuk mencapai tujuannya. Variasi dalam
urutan langkah-langkah menjelaskan berbagai skenario. Use
case Diagram merupakan gambaran luas dari semua use case
dan relasinya. Use case diagram
menyediakan gambaran
luas mengenai fungsi dari sistem.
  
15
Gambar 2.5  Contoh Use Case Diagram untuk sistem
musik
(Sumber: Pressman, 2010: 848)
Pada diagram
ini, gambar stick figure 
merepresentasikan sebuah aktor yang terkait dengan satu
kategori pengguna (atau elemen interaksi lainnya). Biasanya
sistem yang kompleks memiliki lebih dari satu aktor.
Pada use case Diagram, use case dilambangkan dengan
lingkaran oval. Aktor terhubung ke use case dengan sebuah
garis. Use case
dan aktor dipisahkan oleh sebuah kotak
persegi panjang, dimana use case diletakkan kedalam kotak,
sedangkan aktor diletakkan di luar kotak. Kotak ini
memvisualisasikan batasan dari sistem.
(Pressman, 2010:
847-848)
  
16
2.1.2.3
Sequence Diagram
Menurut Pressman
(2010: 848) sebuah sequence
diagram digunakan untuk menunjukkan komunikasi yang
dinamis antara objek selama pelaksanaan tugas,
berbeda
dengan diagram kelas, yang menunjukkan struktur statis dari
komponen software
Pada gambar 2.6, sebuah sequence diagram
menunjukkan langkah-langkah yang terlibat dalam
menyoroti sosok dalam sebuah gambar ketika telah diklik.
Setiap kotak pada baris di bagian atas diagram biasanya
berhubungan dengan suatu objek, meskipun ada
kemungkinan untuk memiliki kotak model yang lain, seperti
kelas. Di bawah setiap kotak ada garis putus-putus yang
disebut lifeline dari objek. Sumbu vertikal dalam sequence
diagram sesuai dengan waktu, dengan waktu semakin
meningkat ke bawah.
Sequence
diagram menunjukkan pemanggilan metode
menggunakan panah horizontal dari caller
(pemanggil)
ke
callee, diberi label dengan nama metode dan parameter
(opsional), type, dan return type
Pada saat objek mengeksekusi metode, kita (secara
opsional) dapat menampilkan bar putih yang disebut
activation bar secara menurun pada objek lifeline. Diagram
sequence
juga secara opsional menampilkan return
dari
method yang dipanggil dengan garis putus-putus berpanah
dan labelnya.
Contoh gambar dibawah menampilkan kasus yang
mudah dan tidak menunjukan ada kondisi lain atau pun loop.
Jika kontrol struktur logical
diperlukan, cara terbaiknya
dengan menggambarkan diagram sequence
yang berbeda
  
17
untuk setiap kasusnya. Ini berarti, jika alur pesan dapat
mengambil dua kondisi yang berbeda, kita menggambar dua
gambar diagram
sequence, masing-masing untuk setiap
kemungkinan.
Gambar 2.6  Contoh Sequence Diagram
(Sumber : Pressman, 2010: 850)
Jika ingin tetap menggunakan loop, conditionals, dan
kontrol struktur diagram sequence
lainnya, kita dapat
menggunakan frame interaksi. Frame interaksi berbentuk
kotak yang mengelilingi bagian dari diagram dan ditandai
dengan tipe kontrol struktur yang dipakai. Gambar 2.7
menggambarkan hal ini, menunjukkan proses highlight
objek dalam persegi panjang yang diberikan. MouseListener
dikirimi
pesan rectDragged. MouseListener
kemudian
memberitahu gambar untuk highlight
bentuk dengan
memanggil metode
highlightFigures(), melewati persegi
panjang sebagai argumen. Loop
mencakup objek dari
Drawing dan Figure, dan jika “Figure intersect rect” maka
metode
highlight()
dijalani. Frasa yang di dalam kurung
  
18
disebut Guards, merupakan kondisi yang valid jika interaksi
didalam frame interaksi ingin terus dijalani.
Gambar 2.7  Contoh Sequence Diagram dengan dua
frame interaksi
(Sumber : Pressman, 2010: 850)
2.1.2.4
Activity Diagram
Menurut Pressman (2010: 853) activity diagram
adalah
sebuah diagram aktivitas UML menggambarkan perilaku
dinamis dari suatu sistem atau bagian dari sistem
melalui
aliran kontrol antar tindakan yang sistem lakukan. Hal ini
mirip dengan flowchart
kecuali bahwa suatu diagram
aktivitas dapat menunjukkan arus bersamaan.
Komponen utama dari suatu diagram aktivitas adalah
action node, diwakili oleh
persegi panjang bulat, yang
mewakili tugas yang dilakukan oleh perangkat lunak sistem.
Panah dari satu tindakan node ke yang lain menunjukkan
aliran kontrol, artinya, sebuah panah antara dua action node
berarti tindakan kedua baru dimulai setelah tindakan pertama
selesai. Sebuah titik hitam yang solid membentuk initial
node
yang menunjukkan titik awal kegiatan. Sebuah titik
  
19
hitam yang dikelilingi oleh lingkaran hitam adalah final
node, menunjukkan akhir kegiatan.
Fork
mewakili pemisahan aktivitas yang bersamaan
menjadi 2 atau lebih. Fork
digambarkan dengan bar hitam
horizontal dengan satu arah panah yang mengarah ke dalam
dan dua atau lebih arah panah mengarah ke luar. Setiap
panah yang mengarah keluar mewakili arus kontrol yang
dijalankan bersamaan dengan arus kontrol lainnya yang
berhubungan pada tingkat yang sama.
Join
pada activity diagram diwakili oleh bar hitam
horizontal yang mempunyai dua atau lebih arus kontrol yang
masuk dan mempunyai satu arus kontrol keluar. Join
merupakan cara untuk menyinkronkan alur kontrol yang ada
pada tingkatan yang sama. Arus kontrol yang diwakili
dengan panah keluar dari join
tidak dapat dieksekusi jika
semua arus kontrol yang masuk belum selesai. Pada gambar
2.8,
kita mempunyai join sebelum tindakan “Mix together”,
itu mengindikasikan bawha “Mix dry Ingredients” dan “Mix
wet ingredient” harus diselesaikan terlebih dahulu.
Decisions
node
berhubungan dengan alur kontrol
bercabang yang dikarenakan adanya kondisi. Decisions node
diwakili dengan wajik dengan satu panah mengarah masuk
dan dua panah atau lebih mengarah keluar. Setiap panah
yang merngarah keluar ditandai dengan Guard
(sebuah
kondisi tertulis didalam kurung) dan alur kontrol mengikuti
panah yang kondisinya benar. 
Jika ingin menunjukkan bagaimana tindakan dibagi
antara para aktor yang terlibat, kita dapat menghias diagram
aktivitas dengan swimlanes, seperti yang ditunjukkan pada
Gambar 2.8.
Swimlanes, seperti namanya, yang dibentuk
  
20
dengan membagi diagram menjadi strip
atau "jalur," yang
masing-masing
sesuai dengan salah satu aktor. Semua
tindakan dalam satu jalur dilakukan oleh aktor yang sesuai di
dalamnya. Dalam Gambar 2.8, Evan bertanggung jawab
untuk pencampuran bahan kering dan kemudian mencampur
bahan-bahan kering dan basah bersama-sama, Helen
bertanggung jawab untuk memanaskan oven dan mengambil
kue keluar, dan Mary bertanggung jawab atas segala sesuatu
lain.
Gambar 2.8  Activity Diagram dengan Swimlanes
(Sumber : Pressman, 2010: 855)
  
21
2.1.3
Sistem Basis Data (Database)
2.1.3.1
Pengertian Basis Data
Menurut Connolly dan Begg (2010: 65), basis data
adalah suatu kumpulan data yang berhubungan secara logika
dan secara deskripsi dari data-data yang dirancang untuk
memenuhi kebutuhan informasi dalam suatu organisasi.
Basis data menawarkan keuntungan penyimpanan data
dengan format yang independen dan fleksibel. Hal ini
dikarenakan basis data didefinisikan secara terpisah dari
program aplikasi yang menggunakan basis data dan lingkup
basis data dapat dikembangkan tanpa berdampak pada
program-program yang menggunakan basis data tersebut.
Menurut Whitten dan Bentley (2007: 518), di dalam
sebuah database terdapat beberapa tabel yang berisi fields
dan records. Fields adalah implementasi fisik dari sebuah
atribut data. Fields adalah unit terkecil  dari  data  yang 
disimpan  dalam  database.  Sedangkan  records adalah
sebuah koleksi (kumpulan) fields yang diatur dalam format
yang telah ditentukan sebelumnya. 
Terdapat empat macam field yang dapat disimpan
dalam database :
a.
Primary Key
Primary key adalah field yang memberikan
tanda unik dalam setiap record.
b.
Secondary Key
Secondary key adalah sebuah field yang
mengidentifikasikan sebuah record tunggal atau
bagian dari beberapa record
  
22
c. 
Foreign Key
Foreign key adalah field yang menunjuk ke
sekumpulan record yang terdapat dalam tabel yang
lain di database.
d.
Descriptive Field
Descriptive
Field adalah field selain key field
yang menyimpan data bisnis.
Relational database adalah database yang
mengimplementasikan data sebagai sederetan tabel dua
dimensi yang dihubungkan satu sama lain dengan foreign
key.  (Whitten dan Bentley, 2007: 526)
2.1.3.2
Structured Query Language (SQL)
Menurut Connolly dan Begg (2010: 184), Structured
Query Language
(SQL) adalah sebuah bahasa yang 
dirancang dalam penggunaan relasi untuk mengubah input
menjadi output yang dikehendaki. 
Secara garis besar, perintah SQL dapat dikelompokkan
menjadi: 
Data Definition Language
(DDL) adalah perintah untuk
mendefinisikan struktur objek basis data seperti
membuat table atau mengubah struktur table. 
Ada lima jenis perintah Data Definition Language
(DDL) yaitu
CREATE, ALTER
(mengubah struktur
objek basis data), DROP (menghapus objek basis data),
TRUNCATE (menghapus data dan membebaskan ruang
pada suatu table),
dan RENAME (mengganti nama
table).
  
23
Data Manipulation Language (DML) adalah perintah
untuk melakukan manipulasi data seperti menambah
(INSERT), menghapus (DELETE), mengubah data
(UPDATE), menampilkan data dari table
atau view
(SELECT), menggabungkan data dari dua table
(MERGE). 
2.1.4
Sistem Operasi
Menurut Stallings (2011: 718), Sistem operasi adalah software
yang mengontrol eksekusi dari program dan menyediakan layanan
seperti alokasi sumber daya, penjadwalan, kontrol input / output, dan
pengaturan data.
2.1.5
MySQL  
Menurut Kustiyahningsih (2011:145), “MySQL adalah sebuah
basis data yang mengandung satu atau jumlah table. Table terdiri atas
sejumlah baris dan setiap baris menggandung satu atau sejumlah table.
Table
terdiri atas sejumlah baris dan setiap baris mengandung satu
atau sejumlah table”.
Tipe data MySQL
adalah data yang terdapat dalam sebuah
table berupa field-field
yang berisi nilai dari data tersebut. Nilai data
dalam field memiliki tipe sendiri-sendiri. MySQL mengenal beberapa
tipe data field yaitu tipe data numerik, tipe data string, tipe data char()
dan varchar(), dan tipe data tanggal. (Kustiyahningsih, 2011: 147)
Menurut Kustiyahningsih (2011: 149), MYSQL mendukung
penggunaan operator-operator dan fungsi-fungsi diantaranya operator
aritmetika, operator pembandingan, operator logika, operator karakter,
dan operator lain-lain.
  
24
2.1.6
IMK (Interaksi Manusia dan Komputer)   
Menurut Shneiderman
dan Plaisant
(2010: 22), interaksi
manusia dan komputer adalah ilmu yang berhubungan dengan
perancangan, evaluasi, dan implementasi sistem komputer interaktif
untuk digunakan oleh manusia, serta studi fenomen-
fenomena besar
yang berhubungan dengannya.
2.1.6.1
Delapan Aturan Emas
Untuk membuat suatu rancangan muka yang user
friendly, biasanya menggunakan acuan Delapan Aturan
Emas (Shneiderman dan Plaisant, 2010: 88-89), yaitu:
a)
Berusaha selalu konsisten 
Hal ini ditinjau
dari segi penggunaan font, warna, 
layout, kapitalisasi, simbol, bentuk simbol, dan tata letak
yang sama bila masih dalam satu konteks yang sama di
seluruh bagian aplikasi.
b)
Memungkinkan  untuk  penggunaan  universal  
Dapat mengenali kebutuhan-kebutuhan dari
pengguna yang berbeda, memfasilitasi transformasi
konten, dapat menjembatani kemampuan dari berbagai
pengguna dan dapat menjembatani perbedaan usia
pengguna.
c)
Memberikan   umpan   balik   yang   informatif,  
sehingga   dapat memudahkan pengguna.
d)
Merancang dialog yang memberikan penutupan
Rangkaian aksi haruslah diorganisasikan ke dalam
grup yang berisi pembuka, isi, dan penutup. Umpan balik
saat penyelesaian serangkaian aksi untuk memberitahu
user kapan awal dan akhir dari suatu aksi.
  
25
e)
Memberikan  pencegahan  kesalahan  dan  penanganan 
kesalahan yang sederhana. 
Sistem dapat mendeteksi kesalahan dan dapat
memberikan jalan keluar untuk mengatasi kesalahan
tersebut.
f)
Memungkinkan pengembalian aksi yang mudah
Sebisa mungkin, aksi yang dilakukan pengguna dapat
dibalik. Fitur ini menghilangkan kegelisahan karena
pengguna tahu bahwa kesalahan dapat dibalikkan
sehingga mendorong pengguna untuk menjelajah lebih
dalam pada pilihan-pilihan yang tidak umum.
g)
Mendukung  pusat  kendali  internal
Memberikan  kesan  bahwa
pengguna mempunyai
kuasa penuh terhadap sistem tersebut.
h)
Mengurangi beban ingatan jangka pendek 
Dengan terbatasnya kemampuan manusia untuk
mengingat, tampilan pada sistem hendaklah mudah
untuk diingat dan sederhana.
2.1.6.2
Lima Faktor Manusia Terukur
Berikut ini merupakan lima faktor terukur menurut
Shneiderman dan Plaisant (2010: 32).
1.
Waktu untuk belajar
Seberapa lama waktu yang diperlukan untuk
beberapa anggota untuk belajar cara penggunaan
perintah untuk serangkaian tugas.
  
26
2.
Kecepatan Performa
Seberapa
lama waktu yang dibutuhkan untuk
menyelesaikan tugas.
3.
Tingkat kesalahan pengguna
Seberapa lama dan jenis kesalahan yang terjadi saat
pengguna berusaha menyelesaikan tugas. Walaupun
waktu pembuatan dan mengatasi kesalahan tidak berjalan
lurus dengan kecepatan performa. Untuk pengatasan
masalah memerlukan pembelajaran secara ekstensif.
4.
Ingatan
Seberapa baik pengguna menjaga pengetahuan
mereka dalam kurun waktu tertentu. Ingatan
berhubungan dekat dengan waktu untuk belajar.
5.
Kepuasan subjektif
Kepuasan pengguna menggunakan berbagai aspek
dalam suatu sistem. Jawaban bisa didapatkan melalui
survei seperti wawancara dan kuisioner.
2.1.7
Smartphone
Menurut Williams dan Sawyer
(2010: 385-386)
smartphone
adalah telepon selular dengan mikroprosesor, memori, layar, dan
built-in
modem. sebuah smartphone
mengombinasikan fungsi dari
PDA (atau pocket PC) dengan telepon. Pengguna dapat menerima e-
mail
secara langsung ke smartphone
mereka, melihat versi desktop
dari sebuah halaman web, smartphone memiliki aplikasi-aplikasi yang
lebih kuat untuk melakukan pencarian, mengubah
dokumen Word,
  
27
Excel, dan PowerPoint dimana saja, dan membuka file
melalui
aplikasi dari pihak ketiga.
Smartphone
menawarkan sejumlah teknologi, misalnya akses
email, pesan teks, kamera, pemutar musik, video
games, alat bantu
pencarian, pengaturan informasi personal, juga telepon yang
mempunyai kemampuan sebagai kartu kredit di lokasi tertentu. 
Smartphone
berkembang dengan sangat cepat dari status
gadget
menjadi kebutuhan manusia sehari-hari, dan smartphone juga
menggabungkan fungsi-fungsi elektronik lainnya, seperti pemutar
musik, perangkat GPS, dan aplikasi-aplikasi lainnya.
2.1.8
PHP 
Menurut Saputra (2011: 1) PHP atau yang memiliki
kepanjangan PHP: Hypertext Preprocessor merupakan suatu bahasa
pemrograman yang difungsikan untuk membangun suatu website
dinamis. PHP menyatu dengan kode HTML, maksudnya adalah beda
kondisi. HTML digunakan sebagai pembangun atau pondasi dari
kerangka layout
web, sedangkan PHP difungsikan sebagai prosesnya
sehingga dengan adanya PHP tersebut, web akan sangat mudah di-
maintenance. PHP sendiri merupakan singkatan dari Personal Home
Page Tools.
PHP berjalan pada sisi server sehingga PHP disebut juga
sebagai bahasa Server Side Scripting,
artinya bahwa dalam
setiap/untuk menjalankan PHP, wajib adanya web server.
  
28
Ada beberapa alasan yang menjadi dasar pertimbangan
mengapa menggunakan PHP.
1. Mudah dipelajari. Alasan tersebut menjadi salah satu alasan utama
untuk menggunakan PHP, Pemula pun akan mampu untuk menjadi
web master PHP.
2. Mampu lintas platform, artinya PHP dapat / mudah diaplikasikan
ke berbagai
platform OS(Operating Sytem) dan hampir semua
browser juga mendukung PHP.
3.  Free alias Gratis, bersifat Open Source.
4.  PHP memiliki tingkat akses yang cepat.
5.
Didukung oleh
beberapa macam web server, PHP mendukung
beberapa web server, seperti Apache, IIS, Lighttpd, Xitami.
6.
Mendukung database.
PHP mendukung beberapa database, baik
yang gratis
maupun yang berbayar, seperti MySQL, PostgreSQL,
mSQL, Informix, SQL server, Oracle.
Skrip PHP akan membuat suatu aplikasi dapat
diintegrasikan
ke dalam HTML sehingga suatu halaman web tidak lagi bersifat statis,
namun menjadi bersifat dinamis. Sifat server side berarti pengerjaan
skrip dilakukan
di server, baru kemudian hasilnya di kirimkan ke
browser.
Sintaks dasar PHP meliputi bagaimana cara memulai suatu
struktur pemrograman PHP. Ada empat cara untuk memulai
pemrograman PHP, diantaranya:
·
<?php ...... ?>
·
<? ...... ?>
·
<script language=”php”> ...... </script>
·
<% ...... %>
  
29
Dari beberapa sintaks dasar tersebut, yang paling banyak
digunakan adalah cara yang
pertama dan yang kedua dari atas.
Cara
penulisan skrip PHP ada dua macam, yaitu Embedded Script dan Non
Embedded Script.
Skrip PHP dapat berupa embedded script yaitu meletakkan tag
PHP diantara tag-tag HTML sedangkan non embedded script yaitu
semua tag HTML diletakkan dalam tag PHP. Semua kode PHP
menyerupai dengan kode bahasa C, walaupun tidak sepenuhnya sama.
Untuk menampilkan nilai suatu variabel ke layer dapat
menggunakan perintah yaitu echo, print maupun printf. 
2.1.9
Internet
Menurut Williams dan Sawyer
(2010:
42),
internet adalah
jaringan komputer di seluruh dunia yang menghubungkan ratusan ribu
jaringan yang lebih kecil dan menghubungkan komputer di lembaga-
lembaga akademik, ilmiah, komersial, serta individu. Internet
dianggap sangat penting karena membantu jutaan orang di seluruh
dunia untuk dapat berbagi berbagai jenis informasi dan layanan. 
Terdapat tiga jenis penyedia akses internet, yaitu:
1. 
Internet Service Providers (ISPs)
ISP adalah perusahaan yang menghubungkan pengguna online
melalui jalur komunikasi ke server perusahaan, yang lalu
menghubungkan mereka ke internet melalui akses jaringan
perusahaan lain. 
2.
Commercial Online Services
Perusahaan yang menyediakan tidak hanya akses internet
tetapi juga konten khusus lainnya kepada anggota.
  
30
3.
Wireless Internet Service Providers
WISP memungkinkan pengguna dengan komputer yang
terdapat modem nirkabel, laptop / notebook, dan smartphone
serta PDA untuk mendapatkan akses ke internet.
2.1.10
Informasi
Menurut Williams dan Sawyer
(210:
25), informasi adalah
data yang telah diringkas atau dimanipulasi untuk kepentingan
pengambilan keputusan. Misalnya, total suara setiap kandidat akan
digunakan untuk memutuskan siapa pemenangnya.
2.2
Teori Khusus
2.2.1
Java
Java merupakan bahasa pemrograman yang paling banyak
digunakan di dunia. Java juga menjadi bahasa pilihan untuk membuat
aplikasi
atau perangkat lunak berbasis internet dan perangkat lunak
yang berkomunikasi melalui jaringan. Lebih dari satu miliar komputer
menggunakan bahasa pemrograman java untuk keperluan umum, dan
juga miliaran telepon genggam serta tablet berbasis java. 
Menurut sebuah studi yang dilakukan oleh eMarketer, jumlah
pengguna internet mobile
akan mencapai sekitar 134 juta pada tahun
2013. Penelitian lainnya juga telah memproyeksikan penjualan
smartphone yang akan melampaui penjualan komputer personal pada
tahun 2011. Dan penjualan tablet akan mengalami peningkatan
sebasar 20% pada tahun 2015. Pada tahun 2014, aplikasi smartphone
diperkirakan akan mengalami peningkatan sebesar 40 miliar dolar,
yang
akan meningkatkan kesempatan yang signifikan untuk para
developer untuk mengembangkan aplikasi berbasis mobile.
  
31
Pada tahun 1991, Sun Mycrosystems mendanai sebuah proyek
penelitian internal perusahaan yang dipimpin oleh James Gosling,
yang menghasilkan bahasa pemrograman berorientasi objek yang
disebut Java. Tujuan utama dari Java adalah untuk dapat menulis
program yang akan dijalankan pada berbagai macam komputer. Hal
ini disebut dengan “write once, run anywhere.” Yang artinya bahasa
pemrograman Java dapat ditulis sekali namun dapat digunakan dan
dijalankan di mana saja (pada komputer apa saja).
Pada saat popularitas web meledak pada tahun 1993, Sun
Mycrosystems
melihat potensi menggunakan Java untuk
menambahkan konten dinamis, seperti interaktivitas dan animasi, ke
halaman web. Sekarang, Java digunakan untuk mengembangkan
aplikasi berskala kecil ataupun proyek aplikasi dari perusahaan yang 
berskala besar. (Deitel dan Deitel, 2012: 2)
2.2.2
Object-Oriented Programming (OOP)
Menurut Deitel dan Deitel (2012: 11), Object-Oriented
Programming
meningkatkan produktivitas sehingga mengurangi
biaya pengembangan software. Pengembang software
menemukan
bahwa menggunakan sebuah desain berorientasi objek modular
dan
pendekatan implementasi  dapat  membuat  kelompok  pengembangan 
software
jauh lebih produktif daripada dengan teknik sebelumnya
seperti “structured programming” —
object-oriented programming
sering lebih mudah untuk dipahami, diperbaiki dan dimodifikasi.
Berikut ini adalah beberapa kunci mengenai konsep object-oriented
programming. (Deitel dan Deitel, 2012: 11)
a.
Method dan Class
Pada sebuah program, menjalankan suatu tugas membutuhkan
sebuah
method.  Method
merupakan tempat statement  program 
  
32
yang
melakukan tugasnya. Method
menyembunyikan statement
dari pengguna. Pada Java, dibuat sebuah unit program yang
disebut dengan class untuk  menjadi  tempat  sekumpulan  method 
yang  melakukan tugas dari class tersebut. 
b.
Instantiation
Object
dari class
harus dibangun sebelum program dapat
melakukan tugas yang didefinisikan oleh method
pada class.
Proses pembangunan ini disebut dengan instantiation. Sebuah
object kemudian disebut sebagai instansi dari class-nya.
c.
Reuse
Class dapat dipakai berkali-kali untuk membangun object-object.
Menggunakan kembali class
yang sudah ada ketika membuat
class-class
dan program-program menghemat waktu dan tenaga.
Penggunaan kembali juga membantu pembangunan sistem yang
lebih handal
dan efektif, karena class
dan komponen yang ada
telah melalui pengujian, debug dan tuning kinerja. 
d.
Messages dan Methods Calls
Message dikirimkan ke object. Setiap message diimplementasikan
sebagai sebuah panggilan method
yang memberitahukan sebuah
method pada object untuk melakukan tugas.
e.
Attributes dan Instance Variable
Sebuah object
memiliki atribut yang dibawanya bersama
sepanjang penggunaan object tersebut dalam sebuah program.
Atribut ini ditetapkan sebagai bagian dari class
object. Atribut
ditentukan oleh instance variables class
  
33
f.
Encapsulation
Class
mengenkapsulasi atribut dan method
ke dalam object
sebuah atribut object dan method
yang berhubungan erat. Object
dapat berkomunikasi satu sama lain, tetapi biasanya suatu object
tidak mengetahui bagaimana object
lainnya diimplementasikan –
rincian implementasi tersembunyi dalam object itu sendiri. 
g.
Inheritance
Sebuah  class  object  baru  dapat  dibuat  dengan  cepat  dan 
mudah dengan inheritance
class
baru akan menyerap
karakteristik class
yang sudah ada, memungkinkan pengubahan
dan penambahan karakteristik unik sendiri. 
Class yang sudah ada disebut dengan superclass, dan class
yang baru disebut dengan subclass. Setiap subclass dapat menjadi
superclass untuk subclass berikutnya.
Sebuah anggota public pada class dapat diakses di manapun
program ini memiliki referensi ke sebuah object dari class itu atau
salah satu subclass-nya. Sebuah anggota private pada class dapat
diakses hanya
oleh anggota class  itu  sendiri.  Sebuah  anggota 
protected
pada superclass
dapat diakses oleh anggota dari
superclass-nya, anggota subclass-nya dan anggota dari class
lain
yang berada pada package
yang  sama  —  anggota  protected 
mempunyai  akses  ke  package. (Deitel dan Deitel, 2012: 360)
h.
Polymorphism
Polymorphism
memungkinkan untuk membuat "program di
umum" daripada "program dalam spesifik". Secara khusus,
polymorphism
memungkinkan   untuk   menulis   program   yang  
proses object-nya berbagi superclass
yang sama (baik secara
langsung atau
tidak langsung) seolah-olah mereka semua object
  
34
dari superclass. Hal ini dapat menyederhanakan pemrograman. 
(Deitel  dan  Deitel,  2012: 397)
2.2.3
Android 
2.2.3.1 
Pengertian Android  
Menurut Lee (2011: 2) Android adalah mobile
operating system yang memodifikasi sistem operasi Linux
yang dibuat oleh Google dan Open Handset Alliance (OHA).
Sistem operasi ini pertama kali diperkenalkan dengan nama
yang sama yaitu Android,inc.
Pada tahun 2005, Google
berencana untuk memasuki dunia mobile, Google membeli
Android dan mengambil alih pengembangannya. Google
menginginkan agar android bersifat bebas dan gratis
sehingga  penggembang  dapat  menciptakan  aplikasi 
mereka  sendiri yang dapat digunakan untuk berbagi macam
smartphone yang berbasiskan  Android.  Awalnya  Android 
dikembangkan  oleh perusahaan bernama Android Inc., dan
pada tahun 2005 perusahaan tersebut di akusisi oleh Google
Inc. Android termasuk kernel berbasis Linux, user interface
yang kaya, aplikasi end-user, framework aplikasi, dukungan
multimedia,dan masih banyak lainnya. User application
dibangun berbasiskan bahasa pemograman Java. Bahkan
aplikasi yang dibangun juga berbasiskan Java.
Karena Android adalah open source dan tersedia secara
bebas untuk produsen untuk kustomisasi, tidak ada
konfigurasi tetap hardware
dan software. Namun, Android
sendiri mendukung fitur :
Penyimpanan –
Menggunakan SQLite, database
relasional ringan, untuk penyimpanan data. 
  
35
Konektivitas –
Mendukung GSM / EDGE, IDEN,
CDMA , EV-DO, UMTS, Bluetooth (termasuk
A2DP
dan AVRCP), WiFi, LTE, dan WiMAX.
Messaging Mendukung SMS dan MMS
Web
browser
Berdasarkan WebKit open-source ,
bersama-sama dengan mesin V8 JavaScript Chrome
Dukungan Media –
Termasuk
dukungan untuk media
berikut : H.263, H.264 (dalam 3GP atau MP4 kontainer ),
MPEG-4 SP, AMR, AMR-WB (dalam kontainer
3GP),
AAC, HE-AAC (dalam MP4 atau 3GP kontainer), MP3,
MIDI, Ogg Vorbis, WAV, JPEG, PNG, GIF, dan BMP
Dukungan Hardware
-
Accelerometer
Sensor, Kamera,
Digital Compass, Proximity Sensor, dan GPS
Multi-touch - Mendukung layar multi-touch
Multi-tasking - Mendukung aplikasi multi-tasking
Dukungan Flash - Android 2.3 mendukung Flash 10.1 .
Tethering - Mendukung berbagi koneksi internet melalui
kabel atau sebagai hotspot nirkabel. (Lee, 2011: 3)
2.2.3.2
Arsitektur Android  
Android  akan  disertakan  dengan  sebuah  set  aplikasi 
inti  termasuk email klien, program SMS, kalender, peta,
browser, kontak, dan lainnya. Semua aplikasi ditulis
menggunakan bahasa pemrograman Java.
  
36
Gambar 2.9 Diagram Arsitektur Android
(Sumber : Lee, 2011: 3)
Sistem operasi Android dibagi menjadi lima bagian
dalam empat lapisan utama:.
1. 
Linux Kernel
Tumpukan paling bawah pada arsitektur Android
ini adalah kernel. Google menggunakan kernel
Linux
versi 2.6 untuk membangun sistem Android, yang
mencakup memory management, security setting, power
management, dan beberapa driver hardware.
2.
Libraries
Bertempat  di  level  yang  sama  dengan  Android 
Runtime adalah Libraries. Android menyertakan satu set
library-library
dalam bahasa C/C++ yang digunakan
oleh berbagai komponen yang ada pada sistem Android.
Misalnya, library
SQLite menyediakan dukungan
database sehingga aplikasi dapat menggunakannya untuk
penyimpanan data dan library
WebKit menyediakan
fungsionalitas untuk web browsing. Kemampuan ini
  
37
dapat diakses oleh programmer melewati Android
application framework. Sebagai contoh Android
mendukung pemutaran format audio, video, dan picture.
3. 
Android Runtime
Pada lapisan yang sama seperti libraries, Android
runtime
menyediakan satu set inti
library
yang
memungkinkan pengembang untuk menulis aplikasi
Android menggunakan bahasa pemrograman Java.
Android Runtime juga mencakup Dalvik virtual machine,
yang memungkinkan setiap aplikasi Android
untuk
berjalan dalam prosesnya sendiri, dengan instansi
dari
Dalvik virtual machine itu sendiri (Android aplikasi yang
dikompilasi ke dalam Dalvik executable). Dalvik adalah
sebuah mesin virtual khusus
yang dirancang khusus
untuk Android dan dioptimalkan untuk perangkat mobile
bertenaga baterai dengan terbatas memori dan CPU.
4. 
Application Framework
Kerangka aplikasi menyediakan kelas-kelas yang
dapat digunakan untuk mengembangkan aplikasi android.
Selain itu, juga menyediakan abstraksi generik untuk
mengakses perangkat, serta mengatur tampilan user
interface
dan sumber daya aplikasi. Bagian terpenting
dalam kerangka aplikasi android adalah sebagai berikut :
Activity Manager
Content Provider
Resource Manager
Location Manager
Notification
  
38
5. 
Applications
Pada lapisan atas ini, Anda akan menemukan
aplikasi yang dikirimkan dengan perangkat Android
(seperti Phone, Contacts, Browser, dll), serta aplikasi
yang Anda download dan menginstal
dari Android
Market. Setiap aplikasi yang ditulis berada pada lapisan
ini.
2.2.3.3
Versi Android
Menurut
Harahap
(2011: 11-12), berikut
ini merupakan informasi beberapa versi Android yang sudah
ada:
Tabel 2.1  Sejarah Singkat Versi Android
Versi
Android
Tanggal Rilis
Codename
1.1
9 Februari 2009
1.5
30 April 2009
Cupcake
1.6
15 September 2009
Donut
2.0/2.1
26 Oktober 2009
Eclair
2.2
20 Mei 2010
Froyo (Frozen Yoghurt)
2.3
6 Desember 2010
Gingerbread
3.0
22 Februari 2011
Honeycomb
4.0
19 Oktober 2011
Ice Cream Sandwich
4.1 - 4.3
27 Juni 2012
Jelly Bean
Sesuai dengan perhitungan mengenai jumlah pengguna
sistem operasi Android di tiap versinya yang ditampilkan pada
website resmi Google: Android Developer
tercatat bahwa versi Jelly
Bean
kini menguasai penggunaan
OS pada smartphone berbasis Android. 
  
39
Gambar 2.10 Hasil Perhitungan Pengguna Sistem 
Operasi Android
(Sumber :
ndex)
2.2.4 
JSON  
JSON adalah JSON (JavaScript Object Notation) adalah
format pertukaran data (lightweight data-interchange format), mudah
dibaca dan ditulis oleh manusia, serta mudah diterjemahkan dan
dibuat (generate) oleh komputer.Format ini dibuat berdasarkan bagian
dari Bahasa Pemprograman JavaScript, Standar ECMA-262 Edisi ke-
3 –
Desember 1999. JSON merupakan format teks yang tidak
bergantung pada bahasa pemprograman apapun karena menggunakan
gaya bahasa yang umum digunakan oleh programmer keluarga C
termasuk C, C++, C#, Java, JavaScript, Perl, Python dll. Oleh karena
sifat-sifat tersebut, menjadikan JSON ideal sebagai bahasa
pertukaran-data. (Sallatan, 2013: 3).
2.2.5 
Kode Batang
2.2.5.1 
Kode Batang ( Barcode 1D )  
  
40
Menurut Malik (2010: 1)
Barcode
secara harafiah
berarti kode berbentuk garis dimana masing-masing
ketebalan setiap garis berbeda sesuai dengan isi kodenya,
kode tersebut mewakili data atau informasi tertentu biasanya
jenis harga barang seperti makanan dan buku. Kode
berbentuk batangan balok dan berwarna hitam putih ini
mengandung satu kumpulan kombinasi yang berlainan
ukuran yang disusun sedemikian rupa. Kode ini dicetak
di
atas sticker atau di kotak pembungkus batang.   
2.2.5.2    Kode QR ( QR Code 2D )  
Kode QR
(Quick Response) adalah bentuk evolusi
kode batang dari satu dimensi menjadi dua dimensi (2D).
Penggunaan kode QR sudah sangat lazim di Jepang. Hal ini
karena kemampuannya menyimpan data yang lebih besar
dari pada kode batang sehingga mampu mengkodekan
informasi dalam bahasa Jepang sebab dapat menampung
huruf kanji. Kode QR
pertama kali dikembangkan oleh
Denso Wave yang merupakan sebuah perusahaan Jepang.
Perbedaan Barcode
dengan QR
Code
adalah kemampuan
QR
Code
yang mampu menyimpan informasi secara
horizontal dan vertikal sehingga QR Code dapat menyimpan
informasi lebih banyak disbanding dengan Barcode.
QR Code dapat menampung 7089 karakter numerik,
4296 karakter alphanumeric, 2953 bit biner, dan 1817
karakter kanji ataupun kombinasi dari karakter-karakter
tersebut. QR Code menyimpan informasi secara horizontal
dan vertikal. QR Code dapat dibaca dari semua arah melalui
'position setection patterns' yang berada di pojok kanan atas,
pojok kiri atas, dan pojok kiri bawah pada kotak QR Code,
seperti yang ditunjukkan pada gambar diatas. QR Code juga
memiliki kemampuan untuk tetap dapat dibaca meskipun
  
41
media fisiknya mengalami kerusakan seperti terlipat atau
lusuh, hal ini dipengaruhi oleh adanya 'alignment patterns
dan timing patterns'. terdapat beberapa ukuran QR Code,
21x21 cells (QR Code versi 1)
sampai 177x177 (QR Code
versi 40) cells dengan interval 4 cells secara horizontal dan
vertikal setiap versinya nya, dan terdapat 40 versi QR Code.
(Law dan So,  2010: 86)
Untuk mengubah sebuah teks atau link menjadi qr code,
cara yang paling sederhana adalah melakukan generate kode
menggunakan beberapa tools yang tersedia di internet.
gambar-gambar ini akan dicocokkan ke dalam dokumen
pada tempat yang tepat. (Law dan So, 2010: 91)
Langkah 1:  beberapa link dibawah ini dapat digunakan
untuk mengubah text/URL ke dalam bentuk QR
Code,  diantaranya adalah:
3. NFC Games:
  
42
Gambar 2.11  QR Code Generator Mengunakan  
ZXing
Langkah
2
: salah satu dari website diatas akan melakukan
generate QR Code.
Langkah 3
: simpan file qr code yang telah dilakukan
generate. 
Selain itu, QR
Code juga memiliki fitur error
correction yaitu walaupun sebagian kode QR
kotor atau
rusak, ia memiliki kapasitas untuk memperbaiki dirinya
sendiri dan mengembalikan data aslinya.
Kehadiran kode ini memungkinkan audiens
berinteraksi dengan media yang digabungkan melalui ponsel
secara efektif dan efisien. Pengguna juga dapat
menghasilkan dan mencetak sendiri kode QR
untuk orang
lain dengan menggunakan QR Code Generator yang sudah
cukup banyak tersedia gratis di internet.
Kode QR dapat digunakan pada ponsel yang memiliki
aplikasi pembaca kode QR
dan memiliki akses internet
GPRS atau WiFi atau 3G untuk menghubungkan ponsel
dengan situs yang dituju via kode QR tersebut. 
  
43
Pelanggan, yang dalam hal ini adalah pengguna ponsel
hanya harus mengaktifkan program pembaca kode QR,
mengarahkan kamera ke kode QR, selanjutnya program
pembaca kode QR akan secara otomatis memindai data yang
telah tertanam pada kode QR. Jika kode QR berisikan alamat
suatu situs, maka pelanggan dapat langsung mengakses situs
tersebut tanpa harus lebih dulu mengetikkan alamat dari situs
yang dituju. 
Gambar 2.12  QR Code untuk
2.2.6
Pameran
Pameran
merupakan event masyarakat yang diselenggarakan
oleh suatu organisasi independent dan terbuka untuk umum. Pameran
sengaja dirancang agar dapat diketahui oleh masyarakat luas seperti
penyelenggaraan pameran
tahunan ideal home atau untuk kalangan
tertentu, misalnya pameran yang
diperuntukkan bagi para pengusaha
dan pengguna mesin packaging. (Evelina, 2007: 4).
Pameran dianggap sebagai bentuk ajang khusus (special
events) yang paling efektif untuk memperkenalkan suatu produk
kepada khalayak dengan harapan mereka tertarik dan kemudian
membeli produk yang dipamerkan. Pameran merupakan salah satu 
bentuk ajang khusus yang paling banyak dipilih perusahaan trade
industry yang bersifat komersial. Suatu perusahaan dapat
  
44
sajamengadakan pameran sendiri atau tergabung dalam pameran yang
diselenggarakan pihak lain. Pameran juga bersifat lokal, nasional,
ataupun internasional. (Pudjiastuti, 2010: 116)
2.2.7
Denah Lokasi (Floor Plan)
Menurut Ching (2009:
45)
denah merupakan bagian dari bangunan
yang terlihat jika kita memotong bangunan tersebut dengan bidang
horizontal dengan bagian atas dihapus. Denah adalah proyeksi
ortografi dari bagian tersebut dan Denah biasanya memperlihatkan
posisi dari bentuk dan dimensi ruang.
2.2.8
Produk
Menurut Kotler & Keller (2009:
4), produk adalah segala
sesuatu yang dapat ditawarkan kepada pasar untuk memuaskan suatu
keinginan atau kebutuhan, termasuk barang fisik, jasa, pengalaman,
acara, orang, tempat, properti, organisasi, informasi, dan ide.
2.2.9
Stan
Menurut Alwi
(2008: 1375), stan adalah tempat untuk
memamerkan atau menjual produk di ruang pameran ataupun di pasar
malam, dan sebagainya. Stan dapat juga disebut sebagai ruang pamer.
2.3
Hasil Penelitian atau Produk Sebelumnya
1. 
QR Code untuk Membantu Akses di Museum
Pada penelitian ini, peneliti menganalisa penggunaan QR Code untuk
mencari teknologi yang paling terjangkau untuk meningkatkan
aksesibilitas museum. QR Code memungkinkan pengunjung museum
  
45
untuk mempelajari objek-objek dalam museum dengan melakukan scan
QR Code dengan menggunakan smartphone
mereka. Proyek ini
dilaksanakan pada bulan Januari -
Juli 2012. Anggota tim proyek
berperan sebagai partisipan dan observan, melakukan pendekatan pada
pengunjung dan melihat bagaimana pengunjung menggunakan sistem. 
Teknologi yang digunakan berkonsentrasi pada hal-hal yang praktis
dan layak untuk digunakan di dalam museum, melakukan eksperimen
secara cepat dan iteratif, melakukan tes di lapangan dengan pengguna
yang sesungguhnya, dan melakukan link yang se dinamis mungkin pada
museum yang bersangkutan. QR Code yang akan digunakan tidak
memerlukan biaya untuk membuatnya dan hanya perlu dilakukan scan
dengan QR Code untuk memperoleh informasi. QR Code bekerja dengan
melakukan redirect ke URL website museum. 
      
Ketika smartphone
didekatkan pada label salah satu objek dari
museum, sistem akan mengetahui bahwa pengunjung sedang berada
dekat dengan objek, lalu sistem akan menunjukkan konten spesifik dari
objek yang bersangkutan. Dari segi aksesibilitas, sistem memiliki
keuntungan tambahan yaitu mengurangi tingkat kesalahan pengunjung
untuk menekan tombol yang salah atau mendapat informasi yang salah
dari setiap objek. 
   
Kesimpulan yang didapat adalah respon dari pengunjung yang cukup
antusias membuat pihak museum akan melakukan investigasi lebih lanjut
mengenai penggunaan teknologi QR Code untuk dapat memberikan
informasi yang lebih banyak tanpa membuat pengunjung mengeluarkan
uang sedikitpun. (Haworth, 2012)
2. 
QR Code dalam Pendidikan
    
Pada penelitian ini, peneliti menganalisa penggunaan QR Code dalam
pendidikan, yang dapat ditempatkan pada pembelajaran aplikasi mobile.
pembelajaran aplikasi mobile merupakan bidang utama penelitian dalam
pendidikan. Salah satu contohnya adalah penggunaan QR Code pada
  
46
University of Bath yang merupakan pencetus dalam pengaplikasian QR
Code dalam pendidikan. QR Code pada University
of Bath digunakan
untuk berbagai macam keperluan, contohnya yaitu:
1.  Pencarian katalog  pada perpustakaan
2.  Pengumpulan tugas mahasiswa fakultas teknik dan design. 
3.
Penempatan QR Code pada poster di sekitar kampus, untuk
memudahkan mahasiswa melakukan redirect ke website universitas,
atau untuk kepentingan pemasaran dari departemen-departemen yang
terlibat. 
Kesimpulan dari penelitian ini adalah mahasiswa yang terlibat
berpendapat bahwa aktivitas menggunakan QR Code cukup menarik.
Secara alami, mahasiswa merasa lebih penasaran terhadap teknologi baru
dibanding teknologi yang telah mereka kenal sehari-hari. Secara umum,
peneliti percaya bahwa QR Code memiliki potensi yang besar untuk
pendidikan. (Law, 2010)
3. 
Memecahkan Kode: Penggunaan Kreatif QR Code untuk Pasar Ekstensi
      
Peneliti melakukan penelitian dengan menempatkan QR Code pada
tempat-tempat dibawah ini, dengan fungsi-fungsi yang berbeda dari
setiap tempat:
-
Meletakkan QR Code pada rak kebutuhan sehari-hari untuk
memberikan informasi nutrisi dan tips rumah tangga,
-
Meletakkan QR Code pada produk tanaman atau pembungkus bibit 
untuk memberikan informasi mengenai cara penggunaannya,
-
Meletakkan QR Code pada artikel koran untuk memberikan detail
yang lebih dalam dari subjek yang bersangkutan kepada pembaca,
  
47
-
Meletakkan QR Code pada produk makanan selama libur musim
dingin untuk memberikan petunjuk mengenai resep, dan persiapan
hidangan.
-
Meletakkan QR Code untuk produk perkebunan untuk memberikan
petunjuk mengenai bagaimana cara berkebun,
-
Meletakkan QR Code pada kartu nama untuk informasi kontak dari
orang yang bersangkutan. 
Peneliti berpendapat bahwa harus ada alasan bagi QR Code untuk
dilakukan scan, dibawah ini adalah contoh data-data pemasaran QR Code
yang dikumpulkan oleh peneliti untuk membuktikan bahwa QR Code
menawarkan nilai yang nyata bagi client:
-
Untuk memperkaya pengalaman pengunjung, Cleveland Museum of
Art memasang QR Code di sebelah
objek untuk menyediakan
informasi yang lebih pada pengunjung.
-
Mountain Dew dan Taco Bell bekerjasama untuk memberikan musik
gratis bagi customer yang melakukan scan QR Code pada gelas
mereka. Customer akan diarahkan ke website dimana musik gratis
dapat diunduh.
-
Untuk meningkatkan penjualan, Verizon merilis kompetisi yang
mengharuskan customer melakukan scan QR Code yang lalu akan
mengirimkan kode kompetisi mereka ke Facebook, jika seorang teman
dari customer tersebut menggunakan link itu untuk membeli
smartphone, maka customer tersebut akan memenangkan sebuah
smartphone dari Verizon.
-
Perusahaan Heinz menggunakan QR Code untuk memberikan
customer kesempatan menunjukkan rasa terima kasih mereka kepada
tentara Amerika. Customer yang melakukan scan QR Code pada botol
kecap akan dapat meninggalkan pesan pribadi kepada tentara. Untuk
  
48
setiap pesan yang dikirim, Heinz berkontribusi memberikan $0.57
kepada yayasan Wounded Warrior Project.
Kesimpulan yang didapat adalah peningkatan penggunaan smartphone
memicu
kesempatan untuk menghubungkan manusia dari berbagai
belahan dunia, salah satunya dengan penggunaan kreatif dari QR Code.
(Hill, 2013)