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 7
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 putusputus 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 kadangkadang) 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
menunjukkan
2.6,
sebuah
langkah-langkah
sequence
yang
diagram
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 email 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 dimaintenance. 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: · · · <script language=”php”> ...... · <% ...... %>
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 lembagalembaga 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,
relasional ringan, untuk penyimpanan data.
database
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 1.1 1.5 1.6 2.0/2.1 2.2 2.3 3.0 4.0 4.1 - 4.3
Tanggal Rilis
Codename
9 Februari 2009 30 April 2009 15 September 2009 26 Oktober 2009 20 Mei 2010 6 Desember 2010 22 Februari 2011 19 Oktober 2011 27 Juni 2012
Cupcake Donut Eclair Froyo (Frozen Yoghurt) Gingerbread Honeycomb Ice Cream Sandwich Jelly Bean
Sesuai dengan perhitungan mengenai jumlah pengguna sistem operasi Android di tiap versinya yang ditampilkan pada website
resmi
Google:
Android
Developer
(http://developer.android.com/about/dashboards/index), tercatat bahwa versi Jelly Bean kini menguasai penggunaan OS pada smartphone berbasis Android.
39
Gambar 2.10 Hasil Perhitungan Pengguna Sistem Operasi Android (Sumber : http://developer.android.com/about/dashboards/i 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 ke3 – 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
pertukaran-data. (Sallatan, 2013: 3).
2.2.5 Kode Batang 2.2.5.1 Kode Batang ( Barcode 1D )
ideal
sebagai
bahasa
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: 1. Kaywa : http://qrcode.kaywa.com/ 2. ZXing : http://zxing.appspot.com/generator/ 3. NFC Games: http://nffgames.com/system/qrcodegen.php 4. delivr : http://delivr.com/qr-code-generator
42
Gambar 2.11 QR Code Generator Mengunakan ZXing (Sumber : http://zxing.appspot.com/generator/)
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 http://binusmaya.binus.ac.id/
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)