BAB 2 TINJAUAN PUSTAKA
2.1.
Teori Umum Teori-teori umum yang digunakan dalam penelitian ini yaitu:
2.1.1. Restoran Restoran berasal dari kata restaurer (Perancis) yang berarti restore atau restorasi yang dalam Bahasa Indonesia berarti memperbaiki atau memulihkan. Restoran adalah suatu tempat yang menyediakan makanan dan atau minuman dan memungut bayaran (for-profit food service), yang juga mencakup rumah makan, bar, kafetaria, catering dan yang termasuk jasa boga lainnya (Ninemeir & Hayes, 2006: 2). Dilihat dari pengelolaan dan system penyajian, Narim (2011:1) menjelaskan restoran dapat dibedakan menjadi beberapa tipe: 1.
A’la Carte restaurant Adalah restoran yang telah mendapat izin penuh untuk menjual makanan lengkap dengan banyak variasi, tamu bebas memilih sendiri makanan yang mereka inginkan. Tiap makanan dalam restoran ini memiliki tarif sendiri-sendiri.
2.
Table D’hote restaurant Adalah restoran yang khusus menjual satu susunan menu yang lengkap (hidangan pembuka sampai hidangan penutup) dan tertentu, dengan harga yang telah ditentukan pula.
3.
Coffee shop atau Brasseire Adalah restoran yang pada umumnya berhubungan dengan hotel, tamu bisa mendapatkan makan pagi, makan siang, dan makan malam secara cepat dengan harga yang pantas. Pada umumnya sistem pelayanannya adalah
American
service
dimana
yang
diutamakan
adalah
kecepatannya, ready on plate service, artinya makanan sudah diatur dan disiapkan diatas piring. Kadang-kadang penyajiannya juga dilakukan dengan buffet prasmanan.
7
8 4.
Café Adalah suatu restoran kecil yang mengutamakan penjualan kue, sandwich (roti isi), kopi dan teh. Pilihan makanan terbatas dan tidak menjual minuman beralkohol.
5.
Canteen Adalah restoran yang berhubungan dengan kantor, pabrik atau sekolah, tempat para pekerja dan pelajar bisa mendapatkan makan siang dan coffee break, yaitu minum kopi disertai makanan kecil untuk selingan jam kerja, jam belajar ataupun dalam acara rapat dan seminar.
6.
Continental Restaurant Adalah suatu restoran yang menitik beratkan hidangan continental pilihan dengan pelayanan megah, bersuasana santai, susunannya agak rumit, dan disediakan bagi tamu yang ingin makan secara santai dan rileks.
7.
Carvery Adalah restoran yang sering berhubungan dengan hotel dimana para tamu dapat mengiris sendiri hidangan panggang sebanyak yang mereka inginkan dengan harga yang telah ditetapkan.
8.
Dining room Dining room yang terdapat di hotel kecil seperti motel atau inn, merupakan tempat yang lebih ekonomis daripada tempat makan biasa. Dining room pada dasarnya disediakan untuk para tamu yang tinggal di hotel yang bersangkutan, namun juga menerima tamu dari luar.
9.
Discotheque Adalah restoran yang pada prinsipnya berarti juga tempat dansa sambil mendengarkan alunan musik, juga menampilkan live band. Bar adalah salah satu fasilitas utama dalam seduah diskotik, hidangan yang tersedia umumnya berupa snack.
10.
Fish and Chip Shop Adalah restoran yang banyak terdapat di Inggris. Pengunjung dapat membeli bermacam-macam keripik dan ikan goring, biasanya berupa ikan cod, dibungkus dalam kertas dan dibawa pergi. Makanannya tidak dinikmati ditempat tersebut.
9 11.
Grill Room Adalah restoran yang menyediakan bermacam-macam daging panggang. Pada umumnya antara restoran dengan dapur dibatasi oleh sekat dinding kaca sehingga para tamu dapat memilih sendiri potongan daging yang dikehendaki dan melihat sendiri proses memasaknya. Grill room kadang-kadang disebut juga dengan steak house.
12.
Inn Tavern Adalah restoran dengan harga cukup yang dikelola oleh perorangan di tepi kota. Suasananya dibuat sangat dekat dan ramah dengan tamutamu, sedangkan hidangannya pun lezat-lezat.
13.
Night Club atau Super Club Adalah restoran yang pada umumnya mulai dibuka menjelang larut malam, menyediakan makan malam bagi tamu-tamu yang ingin santai. Dekorasinya megah dan pelayanannya mewah. Band merupakan kelengkapan yang diperlukan. Para tamu dituntut berpakaian resmi dan rapi sehingga menaikkan gengsi tempat itu.
14.
Pizzeria Adalah restoran yang khusus menjual pizza. Makanan lain berupa spaghetti dan makanan khas Italia yang lain.
15.
Pan Cake House Suatu restoran yang khusus menjual pan cake dan crepe yang diisi berbagai macam manisan didalamnya.
16.
Pub Pada umumnya merupakan tempat hiburan umum yang mendapat izin untuk menjual minuman beralkohol dan bir. Para tamu mendapatkan minumannya dari counter dan dapat dinikmati dengan berdiri atau duduk. Hidangan yang disediakan berupa snack dan sandwich.
10 17.
Snack Bar atau Café /atau Milk bar Adalah semacam restoran yang sifatnya tidak resmi dengan pelayanan cepat, dimana para tamu mengumpulkan makanannya diatas baki yang diambil dari meja counter makanan dan kemudian membawanya ke meja makan. Para tamu bebas memilih makanan yang disukainya seperti hamburger, sausages, dan sandwich.
18.
Specially restaurant Adalah restoran yang suasana dan dekorasinya disesuaikan dengan tipe makanan khas yang disediakan. Restoran ini menyediakan masakan Cina, Jepang, India, Italia dan sebagainya. Pelayanannya sedikit banyak berdasarkan tata cara negara tempat asal makanan spesial itu.
19.
Terrace restaurant Adalah restoran yang terletak diluar bangunan, namun masih berhubungan dengan ruangan induknya. Di negara-negara barat pada umumnya restoran tersebut hanya buka pada musim panas saja.
20.
Gourmet restaurant Adalah restoran yang menyelenggarakan pelayanan makan dan minum bagi orang- orang yang berpengalaman luas dalam bidang rasa makanan
dan
minuman.
Keistimewaan
restoran
ini
adalah
makanannya yang lezat, pelayanan yang mewah dan harganya cukup mahal. 21.
Family tipe restaurant Adalah restoran sederhana yang menghidangkan makanan dan minuman bagi tamu- tamu keluarga atau rombongan dengan harga yang terjangkau.
22.
Main Dining room Adalah ruang makan utama restoran yang pada umumnya terdapat di hotel-hotel besar, dimana penyajian makanannya secara resmi, pelan namun terikat oleh peraturan yang ketat. Servisnya bisa menggunakan pelayanan ala Perancis atau Rusia. Tamu- tamu yang hadir pada umumnya berpakaian resmi dan formal.
11 2.1.2. Layanan Menurut Gronroos (dalam Ratminto dan Septiwinarsi, 2005:2), pelayanan adalah suatu aktivitas atau serangkaian aktivitas yang bersifat tidak kasat mata atau tidak dapat diraba dan terjadi sebagai akibat adanya interaksi antar konsumen dengan karyawan atau hal-hal lain yang disediakan oleh organisasi pemberi pelayanan untuk memecahkan permasalahan konsumen atau pelanggan. Menurut Sinambela (2006:5), pelayanan adalah setiap kegiatan yang menguntungkan dalam suatu kumpulan atau kesatuan, dan menawarkan kepuasan meskipun hasilnya tidak terkait pada suatu produk secara fisik. Menurut Napitupulu (2007:164), pelayanan adalah serangkaian kegiatan suatu proses pemenuhan kebutuhan orang lain secara lebih memuaskan berupa produk jasa dengan sejumlah ciri seperti tidak terwujud , cepat hilang, lebih dapat dirasakan daripada memilki, dan pelanggan lebih dapat berpartisispasi aktif dalam proses mengkonsumsi jasa tersebut. Prosedur pelayanan pada restoran merupakan kegiatan operasional sebelum restoran dibuka sampai restoran ditutup. Kegiatan ini meliputi semua usaha petugas restoran dalam memberikan pelayanan kepada tamu, baik persiapan tamu datang sampai tamu meninggalkan restoran. Untuk menunjang keberhasilan dalam melaksanakan tugas seorang pegawai restoran harus mengetahui dan memahami prosedur kerja pada saat pelayanan makanan dan minuman berlangsung (Almarogi, 2013). Keberhasilan selama restoran beroperasi tergantung bagaimana petugas restoran dapat melaksanakan pekerjaan dengan baik. Pekerjaan ini menyangkut bagaimana petugas melayani tamu sehingga tamu merasa puas dan senang atas pelayanan yang didapatkan. Untuk mempertemukan kedua keinginan yang berbeda antara pelanggan dengan pemilik restoran, maka diperlukan kunci keberhasilan antara lain: ketepatan, kecekatan, kejelian, kepekaan dari sumber tenaga yang profesional dengan sistem, dan tahapan pelayanan sehingga dapat memenuhi keinginan pelanggan.
12 2.1.3. Interaksi Manusia dan Komputer (IMK) Berikut beberapa teori mengenai pengertian interaksi manusia dan computer, delapan aturan emas dan lima faktor manusia terukur:
2.1.3.1. Pengertian IMK Menurut Shneiderman dan Plaisant (2010:22), Interaksi Manusia dan Komputer (IMK) atau yang biasa disebut HCI (Human Computer Interaction) merupakan penerapan dari metode eksperimen psikologi ke dalam peralatan yang dikembangkan dari computer science. Menurut Karray et al. (2008), IMK adalah sebuah desain yang harus menghasilkan rancangan yang sesuai antara pengguna, mesin, dan layanan yang dibutuhkan dalam mendapatkan kinerja tertentu di bagian kualitas dan optimalitas dari layanan tersebut.
2.1.3.2. Delapan Aturan Emas Menurut Shneiderman dan Plaisant (2010: 88-89), terdapat delapan aturan emas yang digunakan sebagai panduan dalam merancang antarmuka pengguna. Kedelapan aturan emas tersebut adalah: 1.
Berusaha untuk konsisten Konsistensi yang dimaksud mencakup dari segi layout, tata letak menu navigasi, pemilihan background, pemilihan ukuran dan warna teks, serta urutan aksi yang sejenis.
2.
Menyediakan fungsi yang bersifat universal atau umum Suatu user interface harus memiliki kemampuan mentransformasi konten untuk beradaptasi dengan berbagai jenis pengguna, baik berdasarkan pengalaman kerja, daerah usia, serta kondisi fisik dan mental (normal maupun cacat).
3.
Memberikan umpan balik yang informatif Sistem memberi respons terhadap tindakan pengguna. Contoh saat mengklik sebuah link pada suatu halaman web, maka sistem me-respon dengan merubah halaman web tersebut.
4.
Merancang dialog sebagai penutupan Urutan sebuah tindakan yang diatur dalam grup dengan bagian permulaan, pertengahan, dan akhir sehingga memberikan kepuasan bagi
13 pengguna dan sebagai identifikasi untuk melanjutkan ke tindakan selanjutnya. 5.
Memberikan pencegahan kesalahan Sebisa mungkin, desain system tidak menyebabkan pengguna membuat kesalahan yang serius. Apabila pengguna membuat kesalahan, maka sistem harus bisa mendeteksi kesalahan dan memberikan solusi yang efektif untuk memperbaiki kesalahan.
6.
Dapat melakukan pembalikan aksi Sebisa mungkin, aplikasi memungkinkan pembatalan sebuah tindakan. Hal ini dapat mengurangi kecemasan karena pengguna mengetahui bahwa kesalahan dapat dibatalkan dan dapat mendorong pengguna untuk mempelajari pilihan-pilihan yang asing bagi mereka.
7.
Mendukung internal locus control Pengguna yang berpengalaman sangat menginginkan bahwa mereka bertanggung jawab atas sistem dan sistem merespon tindakan mereka. Ketidakpuasan pengguna biasanya muncul karena adanya tindakan sistem yang mengejutkan, entry data yang membosankan, kesulitan dalam memperoleh informasi dan tidak menghasilkan sesuatu yang diharapkan.
8.
Mengurangi beban ingatan jangka pendek Keterbatasan pengolahan informasi manusia dalam ingatan jangka pendek memerlukan tampilan yang simple. Hindari tampilan yang mengharuskan pengguna untuk mengingat informasi dari satu tampilan yang akan ditampilan lainnya. Contoh hal yang bisa dilakukan adalah mengurangi banyaknya window-motion dan menggabungkan multiple page.
14 2.1.3.3. Lima Faktor Manusia Terukur Menurut Shneiderman & Plaisant (2010:32), ada lima faktor manusia terukur yang harus diperhatikan dan dijadikan evaluasi dalam merancang user interface: 1. Waktu belajar Perhatikan seberapa lama waktu yang dibutuhkan pengguna untuk mempelajari cara relevan untuk melakukan task. 2. Kecepatan kinerja Perhatikan seberapa lama suatu task dilakukan. 3. Tingkat kesalahan user Perancang aplikasi memperhatikan seberapa banyak kesalahan dan kesalahan apa saja yang dibuat pengguna. 4. Daya ingat Perhatikan seberapa baik kemampuan pengguna mempertahankan pengetahuan mereka setelah jangka waktu tertentu. 5. Tingkat kepuasan subyektif Ukur tingkat kepuasan pengguna dalam berbagai aspek sistem dengan melakukan interview ataupun survey tertulis yang meliputi skala kepuasan dan area komentar bagi pengguna.
2.1.4. Rekayasa Perangkat Lunak Berikut merupakan teori mengenai rekayasa perangkat lunak, agile development, dan extreme programming:
2.1.4.1. Pengertian Rekayasa Perangkat Lunak Menurut Pressman (2010:13), rekayasa perangkat lunak adalah pembentukan perangkat lunak dengan menerapkan prinsip-prinsip rekayasa untuk menghasilkan suatu perangkat lunak yang ekonomis dan bekerja secara efisien pada mesin yang nyata.
15 2.1.4.2. Agile Development Menurut Pressman (2010:66), agile development disusun oleh Kent Beck dan 16 orang lainnya, yang menyatakan bahwa agile development berisi sekumpulan metodologi dalam merancang perangkat lunak yang mementingkan kepuasan customer dan penyampaian perangkat lunak secara berkala; tim proyek yang tidak terlalu besar dan memiliki motivasi tinggi; dan mementingkan simplicity. Proses pengembangan agile menekankan delivery (proses) dibanding dengan analisis dan desain serta komunikasi yang aktif antara customer dengan developer. Dalam manifesto tersebut juga menyatakan bahwa untuk merancang perangkat lunak yang baik, dibutuhkan 4 hal utama yaitu: 1. Mementingkan interaksi antar individu dibandingkan dengan proses dan tools 2. Mementingkan perangkat yang bekerja dengan baik dibandingkan dengan kelengkapan dokumentasi 3. Mementingkan kolaborasi dengan sesama users dibandingkan dengan kontrak yang sudah dibuat sebelumnya 4. Merespon perubahan yang terjadi, tidak terikat pada rencana yang dibuat sebelum nya
Selain membuat manifesto, Agile Development juga mendefisinikan 12 prinsip agiliy yaitu: 1. Prioritas utama adalah untuk memuaskan customer dengan memberikan pelayanan perangkat lunak yang baik dari awal dan berkelanjutan. 2. Menerima
perbuahan
kebutuhan,
meskipun
terjadi
di
akhir
pengembangan. 3.
Memberikan hasil perangkat lunak secara berkala, dalam hitungan minggu atau bulan.
4.
Pengembang perangkat lunak dan orang-orang yang memiliki kepentingan bekerja sama selama proyek berlangsung.
5.
Membangun proyek diantara orang-orang yang memiliki motivasi. Menyediakan lingkungan dan dukungan yang mereka butuhkan, dan percaya mereka dapat menyelesaikan pekerjaan yang ada.
16 6.
Metode paling efektif dalam menyampaikan informasi kepada para pengembang adalah dengan komunikasi langsung.
7.
Perangkat lunak yang bekerja dengan baik adalah alat ukur utama dari kemajuan proyek.
8.
Agile process mendukung pengembangan berkelanjutan. Para sponsor, pengembang dan users bisa bebas menjaga kestabilan proyek.
9.
Memberikan perhatian secara terus-menerus kepada keunggulan teknis yang dimiliki dan desain yang baik dapat meningkatkan ketangkasan
10. Kesederhanaan itu penting. 11. Arsitektur, kebutuhan, dan desain yang baik didapat dari tim yang dapat mengatur dirinya sendiri. 12. Secara berkala, tim merefleksikan apakah yang dikerjakan sudah efektif dan mencari cara agar lebih efektif serta melakukannya dengan segera.
Beberapa hal penting yang harus dimiliki seseorang agar dapat menerapkan konsep Agile Development adalah harus memiliki kompetensi, fokus pada tujuan, bisa berkolaborasi dengan anggota tim, bisa membuat keputusan, dapat memecahkan fuzzy problem, percaya dan saling menghormati anggota tim, serta memiliki kemampuan untuk mengatur diri dan organisasi.
2.1.4.3. Extreme Programming Menurut Pressman (2010:72) Extreme Programming (XP) merupakan salah satu metode pengembangan perangkat lunak yang termasuk dalam agile development. Ada 5 hal penting yang menjadi dasar dari metode ini: 1. Communication Komunikasi yang efektif antara pengembang dengan pihak-pihak yang memiliki kepentingan sangat penting untuk menentukan fitur dan fungsi dari perangkat lunak yang akan dibuat, serta memberikan pandangan kepada pengembang sesuai dengan pandangan pengguna perangkat lunak.
17 2. Simplicity Metode XP membatasi pengembang untuk merancang hanya untuk kebutuhan saat ini, daripada kebutuhan yang akan datang. Hal ini bertujuan agar dapat menghasilkan rancangan yang sederhana, yang mudah
diimplementasikan
pada
code.
Jika
rancangan
harus
dikemabangkan, dapat dilakukan dilain waktu (refactored). 3.
Feedback Umpan balik didapat dari 3 sumber, yang pertama adalah implementasi perangkat lunak itu sendiri, customer, dan team pengembang lainnya. Hal ini bertujuan untuk mengetahui kemajuan dari proses dan kualitas dari perangkat lunak yang dibangun agar hal-hal yang menjadi masalah dalam proses pembangunan dapat diketahui dari awal. Setiap feedback yang diterima, ditanggapi dengan melakukan tes dan dilakukan secepatnya.
4.
Courage Courage adalah komitmen untuk selalu melakukan design dan coding untuk hari ini dan bukan untuk esok, dan menyadari bahwa kebutuhan esok akan bisa berubah secara dramatis, sehingga menuntut pengembang untuk melakukan refactor.
5.
Respect Dengan mengikuti langkah-langkah diatas, tim harus menghormati anggota tim lainnya, tidak boleh melalukan perubahan yang dapat merusak kompikasi dan memperlambat kerja tim.
2.1.4.4. XP Process Menurut
Pressman
(2010:73),
Extreme
Programming
(XP)
menggunakan pendekatan object-oriented dan mencakup seperangkat aturan yang terjadi dalam 4 kerangka kegiatan: planning, design, coding, and testing. 1. Planning Planning
dimulai
dengan
mengumpulkan
kebutuhan
yang
memungkinkan para anggota dari tim XP dapat memahami konteks bisnis dari perangkat lunak yang akan dibuat dan mendapat wawasan yang luas untuk output apa yang diperlukan serta fitur-fitur utama dari
18 perangkat lunak. Tahap ini akan mengarah pada pembuatan “stories” yang menggambarkan output yang dibutuhkan, fitur, dan fungsi dari perangkat lunak yang akan dibuat.
Gambar 2.1 Metode Pendekatan Extreme Programming (Sumber: www.jptutorials.co.in, 2013)
2.
Design Metode XP mengikuti aturan KIS (Keep It Simple). Desain yang sederhana selalu diutamakan dibandingkan dengan representasi yang kompleks. Jika terdapat design yang sulit, XP akan menerapkan Spike Solution, dimana pembuatan design dilakukan segera, dan dibuat langsung ke tujuannya. XP juga mendukung adanya refactoring dimana kita
dapat
melakukan
perubahan
pada
kode
program
untuk
disederhanakan tanpa merubah cara kode tersebut bekerja. 3.
Coding Setelah “stories” sudah dirancang dan desain awal sudah selesai, tim tidak langsung memulai code, tetapi terlebih dahulu merancang beberapa unit test yang digunakan untuk menjalankan “stories” dan disertakan pada software release saat itu. Setelah itu, pengembang focus untuk mengimplementasikannya. XP juga menerapkan Pair Programming dimana proses pengembangan program, dilakukan secara berpasangan. Dua orang bekerja sama dalam satu komputer untuk
19 menulis kode. Hal ini memberikan real-time problem solving dan realtime quality assurance. 4.
Testing Pada tahap ini dilakukan pengujian kode pada unit test yang telah dibuat sebelumnya. Pada metode XP dilakukan acceptance test atau biasa disebut customer test. Tes ini diberikan kepada customer akan menggunakan fitur dan fungsi sistem yang akan dibuat.
2.1.5. Unified Modelling Language (UML) Menurut Whitten dan Bently (2007:371) Unified Modelling Language (UML) adalah blueprint dari sistem informasi yang akan dibuat dalam pengembangan perangkat lunak. Setiap UML memiliki fungsi dan tujuan yang berbeda dalam pengembangan perangkat lunak sesuai dengan jenisnya. Terdapat 13 diagram yang dapat digunakan untuk mengembangkan perangkat lunak dalam UML 2.0 yaitu: 1. Use Case
8. Communication
2. Activity
9. Interaction Overview
3. Class
10. Timing
4. Object
11. Component
5. State Machine
12. Deployment
6. Composite Structure
13. Package
7. Sequence
Dalam pengembagan perangkat lunak, dari ketiga belas diagram tersebut tidak perlu digunakan semuanya. UML yang akan dibuat dipilih sesuai dengan kebutuhan, dengan syarat UML yang dibuat dapat menggambarkan proses pengembangan sistem secara jelas.
2.1.5.1. Use Case Diagram Menurut Whitten and Bentley (2007:246), use case diagram merupakan salah satu bagian dari use case modeling. Use case diagram digunakan untuk menggambarkan secara jelas proses yang akan dijalankan oleh sistem. Dalam use case diagram, terdapat 3 komponen utama yaitu :
20 1.
Use Case Use case adalah aktivitas yang akan dilakukan dalam sistem yang berupa interaksi antara sistem dengan user untuk mencapai suatu tujuan tertentu. Use case digambarkan dalam bentuk elips yang memiliki keterangan pada bagian atas, bawah, atau didalam elips tersebut.
Gambar 2.2 Contoh Use Case Diagram
2.
Actor Actor adalah user (pengguna sistem) yang akan berinteraksi dalam sistem dengan cara melaksanakan use case untuk bertukar informasi. Actor digambarkan dalam bentuk stick figure dengan label peran actor tersebut dalam sistem. Peran actor dalam use case dibagi menjadi 4, yaitu primary bussines actor, primary system actor, external server actor dan external receiver actor.
Gambar 2.3 Contoh Actor
21 3.
Relationship Relationship adalah hubungan dari dua simbol dalam use case diagram yang digambarkan dalam bentuk garis. Ada 5 jenis relationship yang memiliki arti yang berbeda-beda yaitu: a.
Associations Komunikasi antara use case dan actor digambarkan sebagai hubungan associatons. Garis associations dapat memiliki anak panah yang berarti actor berperan sebagai pelaku dari use case tersebut, sedangkan garis tanpa anak panah berarti actor hanya berperan sebagai external server atau penerima dari use case tersebut.
Gambar 2.4 Contoh Hubungan Assosciations
b. Extends Use case dapat berisi fungsi kompleks yang terdiri dari langkahlangkah yang dapat membuat use case sulit untuk dimengerti. Use case tersebut dapat dipisahkan menjadi extention use case dengan membuat hubungan extends dengan use case lainnya. Hubungan extends dapat digambarkan dengan garis solid atau putus-putus dengan anak panah dan label <<extends>> didekat garis tersebut.
Gambar 2.5 Contoh Hubungan extends
22 c. Uses atau Includes Dalam use case sering dilihat 2 atau lebih use case yang fungsi yang sama. Hal ini menyebabkan redudansi. Hal tersebut dapat diatasi dengan menggunakan hubungan uses atau includes kepada sebuah use case dengan use case yang memiliki fungsi umum (abstract use case). Hubungan uses atau inlicudes dapat digambarkan dengan garis solid atau putus-putus dengan anak panah dan label <<uses>> didekat garis tersebut.
Gambar 2.6 Contoh Hubungan Uses
d. Depends on Depends on adalah hubungan ketergantungan dalam use case. Jika suatu use case belum dijalankan, maka use case yang bergantung kepada use case tersebut tidak dapat dijalankan. Hubungan depends on dapat digambarkan dengan garis solid atau putus-putus dengan anak panah dan label <<depends on>> didekat garis tersebut. e.
Inheritance Inheritance adalah hubungan antara 2 actor atau lebih yang memiliki perilaku umum yang sama. Hubungan tersebut dapat digambarkan dengan garis solid dengan anak panah.
23 2.1.5.2. Use Case Narrative Menurut Whitten and Bentley (2007:256), use case narrative merupakan salah satu bagian dari use case modelling yang berisikan rincian dari setiap event dan menerangkan bagaimana user berinteraksi dengan sistem selama event terjadi.
Gambar 2.7 Contoh Use Case Narrative (Whitten & Bentley p:256)
24 2.1.5.3. Class Diagram Menurut Whitten dan Bentley (2007:400), class diagram adalah kumpulan dari objek-objek bernama class beserta hubungannya yang menyusun suatu sistem. Setiap class digambarkan dengan sebuah tabel atau kotak yang terbagi menjadi 3 (tiga) bagian, yaitu nama kelas, atribut, dan operasi kelas.
Gambar 2.8 Struktur Class Diagram
Berikut beberapa jenis hubungan yang terdapat pada class diagram menurut Whitten dan Bentley (2007:400) : 1. Multiplicity Multiplicity adalah suatu istilah yang digunakan untuk menunjukan jumlah minimal dan maksimal suatu objek kelas yang berhubungan dengan objek kelas lainnya.
Tabel 2.1 Tabel Multiplicity Multiplicity
Deskripsi
1
Hanya satu.
0..1
0 atau 1
*
0 atau lebih
1..*
1 atau lebih
m..n
Terdiri dari antara m sampai dengan n
25
2. Visibility Visibility adalah level akses suatu objek terhadap atribut dan operasi kelas. Terdapat tiga level akses dalam class diagram, yaitu pada tabel berikut :
Tabel 2.2 Tabel Visibility Visibility +
Nama Public
Deskripsi Dapat digunakan oleh semua kelas yang berhubungan Hanya dapat digunakan oleh
#
Protected
kelas turunannya dan kelasnya sendiri
-
3.
Private
Hanya dapat digunakan oleh kelas itu sendiri
Association Association menunjukan adanya hubungan antar dua class atau lebih dalam sebuah class diagram. Dalam association terdapat dua jenis hubungan menurut Whitten dan Bentley (2007: 650) , yaitu: a. Uni-directional Hubungan ini digambarkan menggunakan garis lurus dengan tanda panah. Kedua class yang saling berhubungan, hanya salah satu saja yang memiliki peran (mengirimkan pesan ke kelas lainnya yang ditunjuk) dalam hubungan tersebut.
Gambar 2.9 Contoh Asosiasi Uni-Directional
b. Bi-directional Hubungan ini digambarkan dengan garis lurus tanpa tanda panah. Semua kelas berperan dan dapat saling mengirim pesan ke kelas lainnya yang terhubung.
26
Gambar 2.10 Contoh Association Bi-Directional
4. Generalization Generalization adalah hubungan inheritance (pewarisan) yang berarti bahwa class induk (Super Class) adalah bentuk umum dari class turunan (Sub Class). Semua class turunan memiliki semua elemen dari class induk.
Gambar 2.11 Contoh Generalisasi/Spesialisasi
5. Agregation dan Composition Agregasi menunjukan hubungan antar satu class yang merupakan bagian dari class lainnya.
Gambar 2.12 Contoh Agregation Class Diagram
27 Ada kemiripan antara composition dan agregation, tetapi composition memiliki keterkaitan yang lebih erat, jika class A adalah bagian dari class B, maka class A tidak akan ada jika class B tidak terbentuk.
Gambar 2.13 Contoh composition pada class diagram
2.1.5.4. Sequence Diagram Menurut Whitten dan Bentley (2007:382), sequence diagram menggambarkan bagaimana suatu objek berinteraksi dengan objek lainnya melalui pesan dalam mengeksekusi use case atau operation. Sequence diagram mengilustrasikan bagaimana pesan dikirim dan diterima antar objek dan urutannya.
Tabel 2.3 Tabel Notasi Sequence Diagam Notasi
Keterangan Notasi ini menggambarkan user yang berinteraksi dengan sistem. User ini merupakan user yang menjalankan use case atau user yang menerima message
Actor/Receiver Actor
:System
dari sistem.
Notasi ini menggambarkan kelas-kelas pada class diagram
System Notasi ini menggambarkan mulainya sebuah rangkaian proses Lifelines
28
Notasi ini yang menandakan periode waktu sistem aktif berinteraksi Activation Bars Notasi ini menggambarkan pesan yang Input Messages
masuk dari aktor menuju ke sistem, biasanya berupa method dari sistem. Notasi ini menggambarkan pesan keluar
Output Messages
atau balasan atas input message yang dikirim, biasanya berupa attribute.
Gambar 2.14 Contoh Sequence Diagram (Whitten & Bentley, p:395)
29 2.1.6. Smartphone Istilah smartphone mendeskripsikan tentang sebuah mobile phone yang dibangun dengan sistem informasi khusus pada mobile dengan kapabilitas komputasi yang melebihi mobile phone pada umumnya. Menurut Schmidt et. al. (2008:2) istilah smartphone sendiri digunakan untuk mendeskripsikan mobile devices yang menggabungkan fungsi-fungsi dari mobile phone, audio player, Personal Digital Assistant (PDA), digital camera, ataupun Personal Computer (PC). Contoh fungsi Personal Digital Assistant (PDA) adalah kalkulator, penunjuk jam dan waktu, game, mengakses internet, penerima dan pengirim surat elektronik (e-mail), membuat dokumen, penerima radio, perekam video, dan memo. Setiap smartphone memiliki sistem operasinya sendiri. Contoh sistem operasi pada smartphone yaitu : iOS, Android, Palm OS, Linux, Symbian dan Windows Mobile.
2.1.7. Prinsip Perancangan Interface Aplikasi Mobile Menurut Stark (2012), ada perbedaan antara computing devices, smartphone dan PC seperti layar perangkat, bandwidth, sumber daya dan lain-lain. Oleh karena itu, perancangan interface-nya juga akan berbeda. Berikut 10 (Sepuluh) prinsip dalam merancang interface aplikasi mobile menurut Stark (2012) : 1. Mobile Mindset Terdapat pola pikir atau mindset dalam merancang aplikasi mobile seperti: a. Fokus Banyak belum tentu baik, ada hal yang perlu dipertimbangkan dengan baik seperti fitur-fitur yang tidak berguna sebaiknya tidak perlu dibuat. b. Unik Aplikasi yang dibuat memiliki perbedaan dengan aplikasi yang sudah pernah ada. c. Menawan Aplikasi yang mudah digunakan, diakses, dapat diandalkan dan menyenangkan menarik bagi user untuk menggunakannya.
30 d. Perhatian Aplikasi harus disesuaikan dengan kebutuhan user.
2. Mobile Contexts Dalam menggunakan sebuah aplikasi mobile, ada beberapa kondisi atau alasan user dalam menggunakan aplikasi tersebut yang dapat digunakan sebagai sasaran user seperti : a. Bored Aplikasi digunakan untuk mengisi waktu luang seperti ketika santai dirumah. Aplikasi ini tidak membosankan dan biasanya berupa permainan atau social-networking. b. Busy Aplikasi mendukung produktivitas user. Kecepatan aplikasi dalam melaksanakan tugas, dapat diandalkan dan dapat diselesaikan dilakukan dengan satu tangan sangat dibutuhkan oleh user yang sedang dalam keadaan sibuk. c. Lost User berada pada kondisi kehilangan arah, berada pada lingkungan yang tidak diketahuinya atau user sedang di daerah yang familiar tetapi tertarik dengan hal yang tidak ia ketahui sebelumnya. Aplikasi ini sebaiknya hemat baterai yang mendukung offline support.
3. Global Guidelines Setiap aplikasi memiliki pendekatan, rancangan dan tekniknya masingmasing. Berikut pedoman global yang digunakan untuk merancang aplikasi mobile : a. Responsiveness Aplikasi memberikan respon terhadap tindakan user. Pastikan user mengetahui bahwa aplikasi sedang bekerja jika operasi memerlukan waktu yang lama. b. Polish Hal ini menekankan pada desain antarmuka. Detil rancangan atau fitur akan diperhatikan dan dihargai user.
31 c. Thumbs Ibu jari (jempol) user berperan penting dalam interaksi user dengan layar
mobile.
Oleh
karena
itu,
rancangan
aplikasi
harus
mengutamakan kenyamanan ibu jari dalam berinteraksi. d. Targets Aplikasi yang dirancang harus meminimalkan kesalahan user dalam miss-target seperti : penempatan backspace di samping enter harus diberi jarak. Tombol-tombol juga sebaiknya didesain agar mudah ditekan oleh ujung jari. e. Content Penggunaan elemen interface seperti tombol, tab, bars dan sebagainya sebaiknya dikurangi dan letakkan content di tengah layar sehingga aplikasi lebih terpusat pada konten aplikasi. f. Controls Pengaturan atau kontrol pada aplikasi sebaiknya ditaruh dibawah agar tidak menutupi perubahan yang terjadi setelah user melakukan aksi (menekan atau memilih menu). g. Scrolling Aplikasi yang tidak menggunakan scrolling terlihat solid karena terlihat jelas dan tidak membingungkan user. Oleh karena itu, penggunaan scrolling sebaiknya dihindari.
4. Navigation Models Terdapat beberapa model navigasi untuk merancang interface aplikasi mobile, yaitu : a. None Aplikasi single-screen yang memerlukan halaman lain seperti aplikasi stopwatch sederhana. b. Tab Bar Aplikasi yang memiliki lebih dari satu bidang area dan biasanya memiliki rancangan tab bar pada bagian atas aplikasi. Twitter yang memiliki lebih dari 3 sampai 6 konten area.
Contoh :
32 c. Drill Down Model ini berupa daftar (list) dan detil dalam hierarki konten. Contoh: settings pada smartphone.
5. User Input Aplikasi yang memerlukan input teks harus memperhatikan kenyamanan user dalam mengetik dalam keyboard melalui perangkat yang digunakan. Hal ini dapat dilakukan dengan mempertimbangkan input field yang digunakan agar tepat guna dan proses input lebih cepat, mendukung landscape
keyboard
untuk
input
teks
yang
banyak
dan
mempertimbangkan penggunaan auto-correct. 6. Gestures Keberadaan gestures mobile tidaklah terlihat. Oleh karena itu, penggunaan gestures harus diinformasikan kepada user. Penggunaan gestures juga harus disesuaikan dengan kondisi user misalnya pada multitouch gestures membutuhkan dua tangan untuk beroperasi seperti zoom pada peta akan sulit dilakukan jika user sedang memegang cangkir pada satu tangan. Hal itu akan lebih mudah dilakukan jika aplikasi mendukung zoom menggunakan 1 tangan. 7. Orientation Aplikasi berorientasi portrait merupakan orientasi yang paling baik, optimal dan populer untuk sebuah rancangan aplikasi saat ini, tetapi apabila aplikasi membutuhkan banyak sekali pengetikkan, lebih baik aplikasi tersebut dibuat dalam kombinasi orientasi landscape dan portrait. Penguncian
orientasi
yang
terbaik
untuk
aplikasi
yang
akan
dikembangkan perlu dipertimbangkan.
8. Communication Aplikasi memerlukan komunikasi antara user dan aplikasi. Berikut beberapa jenis komunikasi yang dapat dilakukan : a. Provide feedback Umpan balik diperlukan dalam aksi user agar user merasa aplikasi berjalan dengan baik ataupun user sudah benar menekan tombol.
33 Umpan balik yang diberikan dapat berupa teks, getaran, visual maupun suara. Jika aksi yang dilakukan oleh user membutuhkan waktu lama untuk loading, berikan sebuah petunjuk bahwa aplikasi tersebut sedang memproses. b. Model Alerts Modal alerts bersifat mendesak dan mengganggu sehingga alerts sebaiknya hanya digunakan dalam situasi yang penting seperti adanya crash pada aplikasi. Frekuensi intensitasnya dipertimbangkan dan pemakaian bahasa meyakinkan serta ramah. Alerts sebaiknya tidak digunakan hanya untuk memberikan informasi. c. Confirmation Konfirmasi dalam aksi yang dilakukan oleh user perlu ada contohnya jika user ingin melakukan penghapusan file, maka aplikasi memuncul sebuah confirmation dialog box yang menanyakan keyakinan user untuk menghapus file tersebut.
9. Launching Ketika user membuka kembali aplikasi yang pernah digunakan sebelumnya, sebaiknya aplikasi terbuka pada tampilan operasi terakhir. Hal ini akan memberi ilusi bahwa aplikasi tersebut cepat dan responsif.
10. First Impression Kesan pertama saat sebuah aplikasi dijalankan berperan penting dalam penilaian user. Apabila user kesulitan dalam menginstal aplikasi asing maka user mungkin segera menghapus aplikasi tersebut. Jika suatu aplikasi mempunyai fungsi yang kompleks maka aplikasi memerlukan tambahan bantuan (help) pada menu info agar user lebih mudah menggunakan dan memahami aplikasi. Icon
juga
mempengaruhi
kesan
pertama
pada
aplikasi
yang
dikembangkan. Oleh karena itu, icon harus menarik dan kontras dibandingkan dengan icon lainnya yang terdapat pada smartphone user dan harus dapat menggambarkan fungsi dari aplikasi.
34 2.2.
Teori Khusus Teori-teori yang bersifat khusus yang digunakan dalam merancang aplikasi. Teori-teori yang digunakan yaitu teori Android, Eclipse, Android Development Tools (ADT), Android Software Development Kit (SDK), dan Wireless Fidelity (Wi-Fi).
2.2.1. Android Berikut merupakan teori mengenai Android yang meliputi pengertian, versi, keunggulan, jenis aplikasi serta arsitektur Android:
2.2.1.1. Pengertian Android Menurut Lee (2012:2), Android adalah sistem operasi mobile yang dibuat berdasarkan kernel Linux yang sudah dimodifikasi. Pada awalnya Android dikembangkan oleh Android, Inc. Google kemudian membeli Android dan mengambil alih semua pekerjaan pengembangan Android. Android adalah sistem operasi open source, dan Google merilis kodenya di bawah Lisensi Apache. Menurut Burnette (2010: xiiv), Android merupakan sebuah platform perangkat lunak yang open source untuk ponsel yang dibuat oleh Google dan the Open Handset Alliance. Menurut Meier (2011:4), Android merupakan gabungan dari 3 (tiga) komponen, yaitu: 1. Sistem operasi yang open-source untuk perangkat mobile. 2. Platform pengembangan yang open-source untuk membuat aplikasi mobile. 3. Perangkat, terutama mobile phone, yang menjalankan sistem operasi Android dan aplikasi yang dibuat pada sistem operasi itu.
35 2.2.1.2. Versi Android Android telah melakukan banyak updates sejak pertama kali realease. Berikut versi Android beserta dengan nama kodenya:
Tabel 2.4 Tabel Versi dan Distribusi Android (Sumber: www.developer.android.com, 2013)
Data tabel diatas didapatkan dari perangkat Android yang telah mengakses Google Play dalam periode 14 hari dan berakhir pada tanggal 3 Januari 2013. Berdasarkan data diatas, terdapat beberapa versi Android dari 1.6 hingga 4.2. Semakin tinggi versinya, kesempurnaan OS dan performanya semakin baik. Penambahan versi tersebut dilakukan setiap waktu ketika API berubah dan ketika melakukan perbaikan kesalahan-kesalahan kecil atau menambah fitur-fitur baru.
36 2.2.1.3. Keunggulan Android Menurut Meier (2011: 11), ada beberapa keunggulan dan fitur-fitur unik yang terdapat pada Android, yaitu: 1. Aplikasi Google Maps Aplikasi Google Maps yang digunakan pada mobile sangat populer dan Android menawarkan aplikasi Google Maps yang bisa digunakan kembali pada aplikasi lain. 2. Background services and applications Background services memungkinkan pembuatan sebuah aplikasi yang menggunakan model event-driven, berjalan tanpa terlihat bahwa aplikasi tersebut sedang berjalan ketika aplikasi lain sedang dijalankan. 3. Sharing data dan interprocess communication (IPC) Android memungkinkan pertukaran pesan, melakukan pengolahan, dan berbagi data dengan menggunakan Content Provider. 4. Semua aplikasi yang dibuat sama Android tidak membedakan antara aplikasi yang asli dengan yang dikembangkan oleh pihak ketiga.
2.2.1.4. Jenis Aplikasi Android Menurut Meier (2011:29) , sebagian besar aplikasi Android yang dibuat akan tergolong dalam salah satu kategori berikut : 1. Foreground Aplikasi foreground berguna hanya ketika berada di foreground dan tidak efektif jika tidak terlihat. Contohnya : games dan map mashups. 2. Background Aplikasi ini berjalan secara tersembunyi pada latar belakang dengan input pengguna yang sedikit. Contoh : aplikasi call screening dan Short Message Service (SMS) auto-responder. 3. Interminttend Aplikasi ini berjalan di foreground maupun background. Aplikasi ini tetap akan aktif walaupun sedang tidak berjalan pada background dan biasanya memberikan notification atau perubahan User Interface untuk memberikan update kepada user. Contoh : aplikasi chatting dan email.
37 4. Widget Aplikasi ini hanya ditampilkan sebagai widget pada home screen. Contoh : battery levels dan weather forecasts.
2.2.1.5. Arsitektur Android Sistem operasi Android memiliki 4 lapisan (layer) komponen sistem. Gambar berikut merupakan lapisan arsitektur sistem operasi Android:
Gambar 2.15 Arsitektur Android (Sumber : Professional Android 2 Application Development, Meier, 2011)
Berikut komponen sistem dari Android: 1. Linux Kernel Linux Kernel adalah komponen paling bawah dari arsiktektur Android yang juga menjadi penghubung layer antara perangkat keras dengan sisa tumpukan. Linux Kernel (Linux 2.6 Kernel) menangani layanan-
38 layanan
inti
termasuk
perangkat
keras,
proses
dan
memory
management, sekuritas, jaringan, dan power management.
2. Libraries Libraries berjalan di atas komponen Kernel. Android memasukkan berbagai library inti dari C / C++ termasuk libc dan SSL, serta: 1. Media library yang berfungsi untuk memutar kembali media audio dan video. 2. Surface manager untuk menyediakan pengaturan tampilan. 3.
Graphics libraries yang mencakup SGL dan OpenGL untuk 2D dan 3D graphics.
4.
SQLite untuk dukungan pada database aslinya.
5.
SSL dan WebKit untuk integrasi web browser dan sekuritas internet.
3. Android Runtime Android runtime berada pada layar yang sama dengan libraries. Android runtime menyediakan seperangkat libraries inti yang membuat developers dapat membuat aplikasi Android menggunakan bahasa pemograman Java. Android runtime juga memiliki Dalvik virtual machine, yang berfungsi agar semua aplikasi Android dapat berjalan di berbagai instance secara efisien. a. Application Framework Komponen ini menyediakan class-class dan abstraksi umum untuk mengakses perangkat keras dan mengelola user interface dan sumber aplikasi. b. Application Applications berada pada layar atas. Layer ini merupakan layer yang berhubungan dengan aplikasi-aplikasi inti yang berjalan pada Android OS.
39 2.2.2. Android Development Tools Android Development Tools (ADT) adalah suatu plugin yang digunakan IDE Eclipse untuk memudahkan user dalam pengembangan aplikasi Android. User dapat membuat aplikasi project Android, membuat Graphic User Interface (GUI) aplikasi, membuat penambahan package Android (.apk) yang digunakan untuk mendistribusikan aplikasi Android menggunakan ADT (Developers, 2013).
2.2.3. Android Software Development Kit (SDK) Android SDK merupakan tools Application Programming Interface (API) yang diperlukan ketika memulai mengembangkan aplikasi Android menggunakan bahasa pemrograman Java. Terdapat beberapa jenis paket berbeda yang telah tersedia pada Android SDK (Developers, 2013), yaitu: a. SDK Tools Merupakan tools untuk debugging dan testing, ditambah dengan proses lain yang diperlukan untuk mengembangkan sebuah aplikasi. b. SDK Platform-tools Tools ini mendukung fitur terbaru dari Android platform. c. Documentation Dokumentasi offline yang terbaru untuk Android platform API. d. SDK Platform Pada setiap versi Android terdapat satu SDK platform yang tersedia yaitu Android.jar yang sepenuhnya kompatibel dengan Android library. Developer harus menentukan SDK platform yang digunakan untuk membuat sebuah aplikasi. e. System Images Emulator android memerlukan gambar sistem untuk beroperasi. Developer harus selalu menguji aplikasi pada versi terbaru dari android serta menggunakan emulator dengan gambar sistem terbaru untuk mendapatkan hasil yang terbaik. f. Source for Android SDK Sebuah salinan (copy) source code dari Android platform yang berguna untuk membantu developer saat membuat aplikasi.
40 g. Samples for SDK Merupakan kumpulan contoh aplikasi yang menunjukkan berbagai macam API platform. Hal ini merupakan sumber daya yang luar biasa untuk menelurusi application code. h. Google APIs SDK add-on yang menyediakan sebuah platform yang dapat digunakan untuk mengembangkan sebuah aplikasi khusus menggunakan Google API dan gambar sistem untuk emulator sehingga dapat menguji aplikasi yang dibuat. i. Android Support Menyediakan static libraries yang termasuk dalam sumber-sumber aplikasi developer untuk menggunakan API yang tidak tersedia dalam standard platform. j. Google Play Billing Menyediakan static libraries dan contoh yang mengizinkan user untuk mengintegrasikan layanan penagihan (billing) pada aplikasi yang dibuat ketika dilakukan distribusi melalui Google Play. k. Google Play Licensing Menyediakan static libraries dan contoh yang mengizinkan user untuk menampilkan license verification pada aplikasi yang dibuat ketika dilakukan distribusi melalui Google Play.
2.2.4. Java Menurut Schildt (2011:2), Java merupakan bahasa pemrograman yang dikembangkan oleh James Gosling, Patrick Naughton, Chris Warth, Ed Frank dan Mike Sheridan di Sun Microsystems pada tahun 1991. Pada awalnya, bahasa pemrograman ini disebut “Oak”, namun berubah nama menjadi Java pada tahun 1995. Berikut merupakan beberapa kelebihan bahasa pemrograman Java: 1. Simple Java dirancang dengan seperangkat fitur yang membuatnya lebih mudah dipelajari dan digunakan.
41 2. Secure Java memiliki beberapa mekanisme keamanan untuk menjaga aplikasi tidak digunakan untuk merusak sistem computer yang menjalankan aplikasi tersebut. 3. Portable dan Cross Platform Program Java dapat dijalankan di environment manapun yang memiliki Java run-time system. Program Java juga dapat dengan mudah dibawa ke platform yang berbeda-beda tanpa harus dikompilasi ulang. Java menyediakan cross-platform code. 4. Object-Oriented Java menggunakan pemograman berorientasi objek yang membuat program dapat dibuat secara modular dan dapat dipergunakan kembali. Ada tiga konsep dalam OOP yakni: encapsulation, polymorphism, dan inheritance. 5. Multithreaded Java berkemampuan untuk membuat suatu program yang dapat melakukan beberapa pekerjaan secara sekaligus dan simultan.
2.2.5. Eclipse Eclipse adalah suatu software yang bersifat open source dan multi language. Eclipse terdiri dari Integrated Development Environment (IDE) dan
sistem
extensible
plug-in.
Eclipse
dapat
digunakan
untuk
mengembangkan berbagai jenis aplikasi, menggunakan bahasa-bahasa seperti Java, Ada, C, C++, COBOL, Python dan lain-lain (Lee, 2011: 7). Eclipse mendukung ekstensi tambahan dari pihak third-party dan merupakan sebuah IDE karena menyediakan tools untuk mengatur workspace; dapat membangun, menjalankan dan debug aplikasi; dan melakukan penyesuaian terhadap pemrograman.
42 2.2.6. Wireless Fidelity Menurut Varma (2012:1), Wireless Fidelity (Wi-Fi) merupakan semua tipe dari Institute Electrical and Electronics Engineers (IEEE) 802.11 Wireless Local Area Network (WLAN). WLAN memperluas jangkauan jaringan Local Area Network (LAN) dengan menyediakan koneksi wireless. Pengguna perangkat dapat mengakses informasi dan sumber daya jaringan melalui WLAN ketika menghadiri pertemuan, berkolaborasi dengan pengguna lainnya atau berpindah-pindah
tempat.
Sekarang,
sudah
banyak
tempat
yang
menyediakan koneksi LAN dengan teknologi Wi-fi yang biasa disebut dengan hotspot. Terdapat 2 (dua) standar dominan dari WLAN, yaitu IEEE 802.11 dan High Performance Radio LAN (HiperLAN). IEEE 802.11 merupakan bagian dari standar IEEE 802 yang termasuk standar dari LAN dan standar Metropolitan Area Network (MAN). Standar IEEE 802.11 menentukan protokol yang dibutuhkan secara over the air untuk mendukung jaringan dalam sebuah local area. Standar IEEE 802.11 mendukung 2 (dua) konfigurasi, yaitu ad hoc dan mode infrastruktur.
2.2.7. PHP Hypertext Preprocessor (PHP) Menurut Doyle (Doyle, 2010: 3), PHP merupakan bahasa pemrograman pembangun website yang dinamis dan interaktif. Secara umum, program PHP banyak digunakan pada web server dan menampilkan halaman web sesuai permintaan user. Kode PHP dapat dimasukkan ke halaman HTML dan PHP akan dieksekusi setiap kali halaman web tersebut diaskses. Kode PHP ini akan diterjemahkan oleh web server dan akan dijalankan bersamaan dengan HTML atau output lainnya, yang akan dilihat oleh pengunjung situs web. PHP banyak digunakan pada Internet Service Providers (ISPs) serta perusahaan web hosting sehingga banyak developer menggunakannya saat ini. Beberapa kelebihan PHP (Welling & Thomson, 2008: 4): 1. Performa PHP sangat tinggi. Jutaan hits dapat dilayani setiap hari hanya menggunakan single server yang murah. 2. Kemampuan yang terhubung dengan banyak sistem basis data seperti
43 MySQL, PostgretSQL, mSGL, Oracle, DBM, FilePro, Hyperware Informix, dan Interbase. 3. Built-in libraries. 4. Biaya yang rendah karena PHP gratis. 5. Mudah dipelajari dan digunakan, karena PHP dibuat berdasarkan bahasa pemrograman dasar yaitu bahasa C dan Perl. 6. Object-oriented support. 7. PHP dapat dijalankan pada beberapa sistem operasi seperti Linux, Solaris, IRIX dan beberapa versi Microsoft Windows. 8. Source code PHP dapat diakses dan diubah tidak seperti produk komersial atau close-source. 9. PHP menyediakan support dan dokumentasi.
2.2.8. MySQL MySQL adalah open source sistem manajemen database yang dapat terelasi.
Database
memperbolehkan
user
untuk
mengefisiensikan
penyimpanan, pencarian, pengurutan dan memperoleh data. Server dari MySQL mengontrol akses ke dalam data yang ada dan memastikan banyak user bisa mengakses data tersebut (Welling & Thomson 2010:3). MySQL bersifat open source database dan sering digunakan di dunia karena memiliki kinerja dan
kehandalan yang tinggi serta mudah
digunakan. Kelebihan-kelebihan dari MySQL (Welling & Thomson, 2010: 7) adalah: 1. High performance 2. Low cost 3. Easy of configuration 4. Portability MySQL dapat berjalan stabil di berbagai sistem operasi seperti Windows, Linux, FreeBSD, Mac Os X Server, Solaris, Amiga, IBM, dan AIX. 5. Availability of source code Source MySQL dapat diperoleh dengan mudah dan gratis.
44 6. Availability of support Tidak semua
produk open source memiliki induk perusahaan
pendukung, training, consulting, dan sertifikasi. MySQL memberikan semua itu melalui MySQL AB (www.mysql.com).
2.2.9. Web Service Menurut W3C (2004), web service adalah sistem software yang dirancang untuk mendukung interaksi antara mesin dengan mesin melalui jaringan. Salah satu web service yang digunakan adalah web service dalam format
JavaScript
Object
Notation
(JSON).
Keunggulan
JSON
dibandingkan dengan format lainnya seperti XML adalah dalam hal efisiensi dalam pembacaan dan decode.
2.2.9.1. JSON JSON (JavaScript Object Notation) adalah format pertukaran data yang ringan, berbasis teks, mudah dibaca, dan ditulis oleh manusia, serta mudah diterjemahkan dan dibuat (generate) oleh komputer. Format ini dibuat berdasarkan bagian dari Bahasa Pemograman JavaScript, Standar ECMA-262 Edisi ke-3 - Desember 1999. JSON merupakan format teks yang tidak bergantung pada bahasa pemoograman 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 (Crockford, 2006).
45 2.3.
Hasil Penelitian atau Produk Sebelumnya Berikut merupakan hasil penilitian atau produk sebelumnya dari jurnal-jurnal yang telah dikumpulkan:
2.3.1. QR Code Law, C. & So, S. (2010) QR Code merupakan bentuk dua dimensi dari barcode. QR Code dikembangkan oleh Denso Wave yang digunakan untuk mendata sparepart kendaraan pada tahun 1994. QR merupakan singkatan dari Quick Response. QR Code dapat dibaca melalui smartphone yang sudah dilengkapi kamera dan pemindai QR. Informasi seperti URL, SMS, informasi kontak, dan teks dapat disimpan matriks 2 dimensi.
Gambar 2.16 Contoh QR Code
QR Code mampu menyimpan 7,089 angka, 4,296 alfanumerik, 2,965 bytes, 1,817 Kanji. Kapasitas data yang disimpan lebih banyak dari pada barcode karena dapat menyimpan informasi secara vertikal dan horizontal. QR Code dapat dibaca dari berbagai arah (360o) melalui pola deteksi yang terletak di tiga sudut seperti yang ditunjukan pada gambar 2.10.
46 2.3.2. Teknologi Dalam Industri Restoran Sampai saat ini, teknologi menjadi asset strategis yang penting bagi industri restoran untuk meningkatkan layanan dan produk untuk mempertahankan daya saing. Hal ini telah ditekankan pada industri restoran harus mengatasi kekurangan teknologi proaktif dan komprehensif jika berharap untuk mendapatkan keuntungan dari revolusi pasar yang dipengaruhi oleh kemajuan teknologi. Hanya mereka yang bisa mengikuti perkembangan teknologi yang mampu mempertahankan customer yang sudah ada, membuka bisnis baru, dan mendapatkan pangsa pasar.
2.3.2.1. Inovasi Dalam Menampilkan Menu Pengaruh teknologi terhadap industri restoran tidak hanya pada bagaimana produk yang dihasilkan, tetapi juga bagaimana produk disajikan pada menu, sehingga inovasi pada penyajian menu adalah masalah yang menarik bagi para pengelola restoran. Menu dianggap sebagai alat pemasaran dan iklan cetak karena menyampaikan pesan kepada customer dan mempengaruhi penjualan langsung. Sebagai sumber utama informasi tentang restoran, idealnya, menu desain yang tepat akan memperkuat citra, memberikan ekpektasi kepada customer tentang makanan yang dipesan serta kualitasnya. Studi yang dilakukan oleh Reynolds et al. (2005) meneliti apakah font, warna, tata letak, dan desain menjadi factor penting yang mempengaruhi perilaku customer, dan hasil menunjukan bahwa teknik desain menu saat ini tidak dapat secara efektif menarik perhatian customer dan pada akhirnya akan mempengaruhi kinerja restoran. Maka dari itu ditarik kesimpulan bahwa perubahan yang lebih luas dalam desain menu dan pemasaran produk mungkin diperlukan untuk meningkatkan cek ratarata. Hal ini dapat secara efektif dicapai melalui penerapan teknologi.
47 2.3.3. Sistem Pemesanan Makanan Menggunakan PDA Kemajuan peningkatan
Teknologi
jumlah
industri
Informasi untuk
dan
Komunikasi
menggunakan
membuat
teknologi
untuk
menunjang aktifitas. Dalam bidang restoran, PDA (Personal Digital Assistant) digunakan untuk mengganti sistem pemesanan makan tradisional yang masih menggunakan kertas dan pena. Pada sistem order ini, customer restoran yang datang akan diantarkan ketempat duduk, lalu memberikan buku menu. Pelayan restoran akan pergi ke meja lain sambil menunggu customer untuk memilih menu. Ketika customer sudah siap untuk melakukan order, pelayan akan mencatat order menggunakan PDA. Order lalu akan dikirim ke dapur untuk segera diproses. Ketika customer sudah selesai makan dan ingin meminta bill, pelayan akan mengecek order customer melalui PDA, lalu membuat bill tersebut.
Gambar 2.17 Proses Order Makanan Menggunakan PDA
48 Tetapi, banyak kelemahan yang dengan sistem ini. Contohnya penyajian daftar menu masih menggunakan cara konvensional (menu cetak). Jika ada perubahan terhadap menu seperti harga, ketersediaan, promosi dan lainnya harus dilakukan secara manual. Lalu biasanya, daftar menu tersebut hanya memiliki sedikit informasi tentang menu, sehingga pelayan harus bisa menyediakan informasi tentang menu-menu tersebut.