8 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.
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 JEK. Buka aplikasi JEK dan menemukan fitur GO-FOOD 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
- Best Dishes: Pengguna juga dapat menemukan item menu yang paling disukai dari restoran paling populer di FOOD. (FOOD by GO-JEK, 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
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
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
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.
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
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
1. .
Case Menggambarkan proses / kegiatan yang dapat dilakukan oleh aktor
2.
Action Menggambarkan entitas / subyek
yang dapat melakukan suatu proses
3. Relation
Relasi antara case dengan actor
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
1. Object
Menggambarkan pos-pos obyek yang pengirim dan penerima
message.
2.
Message
Menggambarkan aliran pesan yang 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
1.
Action State Menggambarkan keadaan dari suatu
elemen dalam suatu aliran aktifitas
2.
State Menggambarkan kondisi suatu
elemen
No Simbol Nama Deskripsi
3.
Flow Control Menggambarkan aliran aktifitas dari
suatu elemen ke elemen lain
4.
Initial State Menggambarkan titik awal siklus
hidup suatu elemen
5.
Final State Menggambarkan titik akhir yang
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
1. Entitas
Digunakan untuk menggambarkan objek yang dapat diidentifikasikan dalam lingkungan pemakai.
No Simbol Nama Deskripsi
2.
Atribut
Digunakan untuk
menggambarkan elemen-elemen dari suatu entitas, yang menggambarkan karakter entitas.
3. Hubungan/
Relasi
Antar entitas dapat berhubungan satu sama lain. Hubungan tersebut disebut dengan relasi.
4. Garis
Digunakan untuk menghubungan entitas dengan atribut dan entitas dengan relasi.
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.