BAB II TINJAUAN PUSTAKA DAN DASAR TEORI 2.1 Tinjauan Pustaka Aplikasi ini disusun dengan tinjauan beberapa aplikasi serupa yang lebih dulu ada, diantaranya: 1. Klik-Eat.com
Gambar 2.1 Logo Klik-Eat.com
Aplikasi Klik-Eat.com yang dibangun bersama antara Michael Saputra dan Andrew Pangestan diluncurkan sekitar awal tahun 2012. Klik-eat.com menargetkan konsumen utama di kawasan business district Jakarta dan Tangerang. Di Klik-Eat.com pengguna dapat memilih dari restoran dari sekitar pengguna yang bisa delivery. Lihat menu, harga, foto dan langsung pesan online. Seperti online shopping tapi untuk delivery makanan. Klik-Eat.com mempunyai banyak pilihan restoran di sekitar Jakarta yang bisa di pesan untuk delivery. Silahkan masukkan area di homepage Klik-Eat.com untuk melihat semua restoran yang bisa mengantar ke daerah pengguna. (Klik-Eat.com, 2016) Sedangkan untuk Aplikasi Layanan Pesan Antar Makanan di Kota Solo berbasis Android ini, digunakan khusu untuk masyarakat yang berada di Kota Solo. Untuk tahap-tahap pemesanan makanan, pengguna harus mempunyai akun untuk login terlebih dahulu. Kemudian memilih kategori makanan yang diinginkan, lalu memilih menu makanan dan tahap terakhir adalah memilih restoran atau rumah makan. 8
9
2. Makan Diantar
Gambar 2.2 Logo Makan Diantar
Aplikasi Makan Diantar diluncurkan pada bulan Maret tahun 2014. Makan diantar beroperasi di wilayah Yogyakarta dengan menawarkan beragam menu makanan. Makan Diantar (oleh PT. Makan Diantar Indonesia ) adalah sebuah sistem yang mempertemukan antara dapur/restoran dengan para konsumen via website dan aplikasi (Android) dalam memberikan layanan jasa delivery makanan dan minuman yang didirikan oleh Fajar Montana Internasional yang berasal dari Yogyakarta. Konsep Makan Diantar adalah mengintegrasikan layanan online delivery atas gerai-gerai /dapur partner yang bekerjasama dengan PT. Makan Diantar Indonesia dan mengantarkan pesanan makanan dan minuman yang telah dipesan oleh konsumen menggunakan delivery team dari partner. (makandiantar.com, 2015)
3. Go-Food by Gojek
Gambar 2.3 Logo Go-Food by Gojek
GO-FOOD adalah layanan pengiriman makanan secara online di Indonesia yang diprakarsai olek GO-JEK. Buka aplikasi GO-JEK dan menemukan fitur GOFOOD di dalamnya. Pilih menu yang diinginkan dari restoran favorit. Ada dua fitur utama pada GO-FOOD: -
Best Seller: Melalui fitur ini pengguna dapat dengan mudah menemukan daftar restoran favorit di dekatnya.
10 -
Best Dishes: Pengguna juga dapat menemukan item menu yang paling disukai dari restoran paling populer di GO-FOOD. (GO-FOOD by GOJEK, 2016)
Sedangkan untuk Aplikasi Layanan Pesan Antar Makanan di Kota Solo berbasis Android ini, memiliki 3 fitur utama yakni Best Seller Menu, Recommended Menu dan New Menu.
4. Pesan-Aja
Gambar 2.4 Logo Pesan-Aja
PESAN-AJA merupakan layanan pemesanan makanan secara online yang menyajikan berbagai macam pilihan menu hidangan, sekaligus kemudahan untuk memesannya. Untuk melakukan pemesanan, pengguna tidak perlu menjadi member terlebih dahulu. Tetapi Pesan-Aja menyarankan untuk menjadi member terlebih dahulu untuk membantu sistem Pesan-Aja memberikan kenyamanan bagi para pelanggan. (Pesan-aja.com, 2013) Pada Aplikasi Layanan Pesan Antar Makanan di Kota Solo berbasis Android pengguna diharuskan memiliki sebuah akun untuk login dan harus login terlebih dahulu sebelum melakukan pemesanan makanan. Terdapat fitur registrasi yang disediakan untuk pengguna yang belum memiliki akun.
5. Food Panda
Gambar 2.5 Logo Food Panda
11 Food Panda merupakan salah satu aplikasi pemesanan makanan di Indonesia. Untuk melakukan pemesanan, hanya cukup dengan 4 step yaitu: 1. Cari Cari restoran yang akan menjadi sasaran pemesanan, dengan cara memasukkan alamat. 2. Pilih Pilih menu makanan yang disukai. 3. Bayar Pembayaran dilakukan secara tunai. 4. Nikmati Makanan telah disiapkan dan siap untuk dinikmati. (Foodpanda Indonesia, 2013)
2.2 Dasar Teori 2.2.1
Android Android adalah sebuah sistem operasi mobile yang berbasis pada versi modifikasi dari Linux. Pertama kali sistem operasi ini dikembangkan oleh perusahaan Android.Inc. Nama perusahaan inilah yang pada akhirnya digunakan sebagai nama proyek sistem operasi mobile tersebut, yaitu sistem operasi Android. (Hermawan, 2011)
2.2.2
Android SDK Android SDK adalah tools API (Application Programming Interface) yang diperlukan untuk mengembangkan aplikasi pada platform Android menggunakan bahasa Pemrograman Java. Saat ini disediakan Android SDK sebagai alat bantu dan API untuk mengembangkan aplikasi pada platform Android. (Nazruddin Safaat, 2011)
2.2.3
Bahasa Pemrograman Java Java adalah suatu teknologi di dunia software computer, selain merupakan suatu bahasa pemrograman, java juga merupakan suatu platform. Java merupakan teknologi dimana teknologi tersebut mencakup java sebagai bahasa pemrograman sendiri, juga mencakup java sebagai platform dimana teknologi mempunyai
12 virtual machine dan library yang diperlukan untuk menulis dan menjalankan program yang ditulis dengan bahasa pemrograman java. (Isak Rickyanto, 2003) 2.2.4
XML (Extensible Markup Language) Extensible Markup Language (XML) adalah bahasa markup serba guna yang direkomendasikan
oleh
W3C
(World
Wide
Web
Consortium)
untuk
mendeskripsikan berbagai macam data. XML menggunakan markup tags seperti halnya HTML (Hypertext Markup Language), namun penggunaannya tidak terbatas pada tampilan halaman situs saja. 2.2.5
CI (CodeIgniter) CodeIgniter adalah aplikasi open source yang berupa framework dengan model MVC (Model, View, Controller) untuk membangun website dinamis dengan menggunakan PHP. CodeIgniter memudahkan developer untuk membuat aplikasi web dengan cepat dan mudah dibandingkan dengan membuatnya dari awal. (Riyanto, 2011)
2.2.6
PHP (Hypertext Preprocessor) PHP (PHP Hypertext Preprocessor) yang merupakan bahasa pemrogramman berbasis web yang memiliki kemampuan untuk memproses data dinamis. PHP dikatakan sebagai sebuah server-side embedded script language artinya sintaks-sintaks dan perintah yang kita berikan akan sepenuhnya dijalankan oleh server tetapi disertakan pada halaman HTML biasa. (Riyanto, 2011)
2.2.7
MySQL Menurut Abdul Kadir (2009) MySQL adalah salah satu database server yang sangat terkenal. Kepopulerannya disebabkan MySQL menggunakan SQL sebagai bahasa dasar untuk mengakses databasenya. Selain itu, ia bersifat free pada berbagai platform windows, yang bersifat shareware yang artinya kita tidak perlu membayar setelah melakukan evaluasi dan memutuskan untuk digunakan keperluan produksi.
2.2.8
JSON (JavaScript Object Notation) JSON singkatan dari JavaScript Object Notation (notasi objek JavaScript) adalah suatu format ringkas pertukaran data komputer. Formatnya berbasis teks dan terbaca-manusia serta digunakan untuk merepresentasikan struktur data
13 sederhana dan larik asosiatif (disebut objek). Format JSON sering digunakan untuk mentransmisikan data terstruktur melalui suatu koneksi jaringan pada suatu proses yang disebut serialisasi. Walaupun JSON didasarkan pada subset bahasa pemrograman JavaScript (secara spesifik, edisi ketiga standar ECMA-262, Desember 1999) dan umumnya digunakan dengan bahasa tersebut, JSON dianggap sebagai format data yang tak tergantung pada suatu bahasa. Kode untuk pengolahan dan pembuatan data JSON telah tersedia untuk banyak jenis bahasa pemrograman. Situs www.json.org menyediakan daftar komprehensif pengikatan JSON yang tersedia, disusun menurut bahasa. Format JSON dispesifikasikan di RFC 4627 oleh Douglas Crockford. Tipe media Internet resmi JSON adalah application/json sedangkan ekstensi berkasnya adalah .json. (Badrus Said, 2008) 2.2.9
Eclipse Menurut Wina Noviani Fatimah (2011), Eclipse adalah sebuah IDE (Integrated Development Environment) untuk mengembangkan perangkat lunak agar dapat dijalankan di semua platform (platform-independent). Berikut ini adalah sifat dari Eclipse: •
Multi-platform: Target sistem operasi Eclipse adalah Microsoft Windows, Linux, Solaris, AIX, HP-UX dan Mac OS X.
•
Mulit-language: Eclipse dikembangkan dengan bahasa pemrograman Java, akan tetapi Eclipse mendukung pengembangan aplikasi berbasis bahasa pemrograman lainnya, seperti C/C++, Java, Cobol, Python, Perl, PHP, dan lain sebagainya.
•
Multi-role: Selain sebagai IDE untuk pengembangan aplikasi, Eclipse pun dapat digunakan untuk aktivitas dalam siklus pengembangan perangkat lunak, seperti dokumentasi, test perangkat lunak, pengembangan web, dan lain sebagainya. Eclipse pada saat ini merupakan salah satu IDE favorit dikarenakan gratis dan
bersifat open source, yang berarti setiap orang boleh melihat kode pemrograman perangkat lunak ini. Selain itu, kelebihan dari Eclipse adalah kemampuannya untuk dapat dikembangkan oleh user dengan komponen yang dinamakan plug-in. Eclipse yang kami gunakan untuk mengembangkan aplikasi ini adalah Eclipse Classic 4.2.1.
14 2.2.10 Genymotion Genymotion salah satu emulator Android yang dapat mengemulasi berbagai tipe Gadget Android dengan tipe Handphone maupun Tablet. Genymotion adalahmemulator yang dapat bekerja pada virtualisasi arsitektur x86, sehingga proses kerjanya jauh lebih efisien. (Genymotion, 2014) 2.2.11 XAMPP Menurut Bunafit Nugroho (2008) XAMPP adalah suatu bundel web server yang populer digunakan untuk di Windows karena kemudahan instalasinya. Bundel program open source tersebut berisi antara lain server web Apache, interpreter PHP, dan basis data MySQL. Setelah menginstall XAMPP, kita bisa memulai pemrograman PHP di komputer sendiri maupun mencoba menginstall aplikasi-aplikasi web. 2.2.12 Postman Postman adalah sebuah aplikasi HTTP client yang merupakan plugin dari browser Chrome. Fungsi Postman adalah untuk pengecekan web service. Postman dapat menampilkan hasil dari HTTP request yang kompleks sekalipun dengan cepat. (Alifa dan Alief, 2015) 2.2.13 Google Play Store Menurut Ipang Nurmuhamad (2015) Google Play Store adalah salah satu platform distribusi berbagai media dan aplikasi oleh Google yang paling banyak digunakan oleh pengguna Android. Oleh karena itu, kebanyakan dari kita menganggap bahwa semua aplikasi yang ada di Google Play pastilah aman karena seharusnya sudah melalui filter Google. 2.2.14 Unified Modeling Language (UML) Menurut M. Shalahuddin (2011) UML (Unified Modeling Language) adalah salah satu standar bahasa yang banyak digunakan di dunia industry untuk mendefinisikan requirement, membuat analisis dan desain, serta menggambarkan arsitektur dalam pemrograman berorientasi objek. 2.2.15 Use case Diagram Use case adalah deskripsi fungsi dari sebuah system dari prespektif pengguna. use case bekerja dengan cara mendeskripsikan tipikal interaksi antara user (pengguna) sebuah systemnya sendiri melalui sebuah cerita dimana system
15 dipakai. Urutan langkah langkah yang menerangkan antara pengguna dan system disebut scenario. Setiap scenario mendeskripsikan urutan kejadian. Setiap urutan diinialisasi oleh orang, system yang lain, perangkat keras atau urutan waktu. Dalam pembicaraan tentang use case, pengguna biasanya disebut dengan actor. Actor adalah sebuah peran yang bisa dimainkan oleh pengguna dalam interaksinya dengan system. Pada notasi use case diagram dapat menunjukan 3 aspek dari system yaitu : actor, use case dan system atau sub system boundary. Actor mewakili peran orang, system yang lain atau alat ketika berkomunikasi dengan use case. (Munawar, 2005) Tabel 2.1 Simbol Use Case Diagram No
Simbol
Nama
Deskripsi
Case
Menggambarkan proses / kegiatan yang dapat dilakukan oleh aktor
Action
Menggambarkan entitas / subyek yang dapat melakukan suatu proses
1. .
2.
Relasi antara case dengan actor 3.
Relation
ataupun case dengan case lain.
2.2.16 Sequence Diagram Sequence diagram digunakan untuk menggambarkan perilaku pada sebuah scenario. Diagram ini menunjukan sejumlah contoh obyek dan pesan (message) yang diletakkan diantara obyek-obyek ini didalam use case. Komponen utama sequence diagram terdiri atas obyek yang dituliskan dengan kotak segi empat bernama. Message
diwakili oleh garis dengan tanda panah dan waktu yang
ditunjukan dengan progres vertical. (Munawar, 2005) Tabel 2.2 Simbol Sequnce Diagram No
Simbol
Nama
Deskripsi
16
Object
1.
Menggambarkan
pos-pos
yang
dan
pengirim
obyek penerima
message.
Menggambarkan aliran pesan yang
2.
Message
dikirim oleh pos-pos objek
2.2.17 Activity Diagram Activity diagram adalah teknik untuk mendeskripsikan logika prosedural, proses bisnis dan aliran kerja dalam banyak kasus.
Activity diagram
mempunyai peranan seperti halnya flowchart, akan tetapi perbedaannya dengan flowchart adalah activity diagram bisa mendukung perilaku pararel sedangkan flowchart tidak bisa. (Munawar, 2005) Tabel 2.3 Simbol Activity Diagram No
Simbol
Nama
Deskripsi
Action State
Menggambarkan keadaan dari suatu
1.
elemen dalam suatu aliran aktifitas State
2. No
elemen Simbol
Nama
Deskripsi
Flow Control
Menggambarkan aliran aktifitas dari
3.
suatu elemen ke elemen lain
Initial State 4.
Menggambarkan titik awal siklus hidup suatu elemen
Final State 5.
Menggambarkan kondisi suatu
Menggambarkan titik akhir yang menjadi kondisi akhir suatu elemen
17
2.2.18 Entity Relationship Diagram (ERD) Entity Relationship Diagram (ERD) untuk mendokumentasikan data perusahaan dengan mengidentifikasi jenis entitas (entity) dan hubungannya. ERD merupakan suatu model jaringan yang menggunakan susunan data yang disimpan pada sistem secara abstrak. ERD juga menggambarkan hubungan antara suatu entitas yang memiliki sejumlah atribut dengan entitas yang lain dalam suatu sistem yang terintegrasi (database). (Yakub, 2008) Tabel 2.4 Simbol Entity Relationship Diagram (ERD) No
Simbol
Nama
Deskripsi
Digunakan untuk menggambarkan Entitas
1.
objek yang dapat diidentifikasikan dalam lingkungan pemakai.
No
Simbol
Nama
Deskripsi Digunakan untuk menggambarkan elemen-
Atribut 2.
elemen dari suatu entitas, yang menggambarkan karakter entitas. Antar entitas dapat berhubungan
3.
Hubungan/ Relasi
satu sama lain. Hubungan tersebut disebut dengan relasi.
Digunakan untuk menghubungan 4.
Garis
entitas dengan atribut dan entitas dengan relasi.
18
2.2.19 Metode Black Box Testing Hartono Jogiyanto (2004) menyatakan Metode black box testing dilakukan tanpa melihat source code program dan dijalankan oleh tester maupun user untuk mengecek apakah program tersebut telah menerima input, memproses dan menghasilkan output dengan benar.