Membangun aplikasi pemesanan menu makanan restoran berbasis android platform di Cafe La Ponyo

(1)

(2)

(3)

(4)

(5)

1. DATA PRIBADI

Nama : Ramdhani Nugroho

Jenis Kelamin : Laki-laki

Tempat, Tanggal Lahir : Bandung, 5 Mei 1987

Agama : Islam

Kewarganegaraan : Indonesia

Status : Belum kawin

anak ke : Dua dari tiga bersaudara

alamat : Abdinegara II R no.17 Cileunyi Wetan Cileunyi – Bandung 40393

telepon : +6281321356991

e-mail : dhan.animator@yahoo.co.id

2. RIWAYAT PENDIDIKAN

a) Sekolah Dasar

SDN Buah Dua II Rancaekek – Bandung, T.A. 1993 - 1999 b) Sekolah Menengah Pertama

SMP Negeri 1 Rancaekek – Bandung, T.A. 1999 - 2002 c) Sekolah Menengah Atas

SMA Al Ma’soem Bandung, T.A. 2002 - 2005

d) Perguruan Tinggi

Teknik Informatika D3 FMIPA Universitas Padjadjaran, T.A. 2005 - 2008 FTIK Unikom Bandung, T.A 2010-2013

Demikian riwayat hidup ini saya buat dengan sebenar-benarnya dalam keadaan sadar dan tanpa paksaan.

Bandung, 23 Agustus 2013


(6)

DI CAFÉ LA PONYO

SKRIPSI

Diajukan untuk Menempuh Ujian Akhir Sarjana Program Studi Teknik Informatika Fakultas Teknik dan Ilmu Komputer

RAMDHANI NUGROHO

10110794

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS TEKNIK DAN ILMU KOMPUTER

UNIVERSITAS KOMPUTER INDONESIA

2013


(7)

iii

Alhamdulillahi rabbil ‘alamin, segala puji hanya milik Allah SWT Rabb

semesta alam, yang mengatur segala urusan makhluk-Nya, kepada-Nya bergantung segala sesuatu, karena tidak akan pernah terjadi hal kecil maupun besar melainkan semua atas kehendak-Nya. Dengan Irodat serta kasih sayang yang diberikan oleh-Nya pula penulis dapat menyelesaikan Tugas Akhir yang berjudul Membangun Aplikasi Pemesanan Menu Makanan Restoran

Berbasis Android Platform Di Cafe La Ponyo, yang ditujukan untuk memenuhi salah satu syarat Ujian Akhir Sarjana pada Fakultas Teknik dan Ilmu Komputer Program Studi Teknik Informatika Universitas Komputer Indonesia. Sholawat serta salam semoga selalu terlimpahkan kepada penghulu seluruh alam Sayyidina Rasulullah Muhammad SAW dan seluruh sahabatnya serta seluruh ahlul baitnya hingga akhir jaman.

Dalam penulisan tugas akhir ini penulis menyadari bahwa banyak bantuan yang didapat dari lingkungan sekitar sehingga tugas akhir ini dapat selesai dengan tepat waktu. Dengan penuh rasa syukur, ucapan terima kasih yang mendalam, serta penghargaan yang tidak terhingga penulis sampaikan kepada :

1. Allah SWT yang telah memberikan kelancaran serta banyak hikmah dalam menyelesaikan skripsi ini.

2. Orang tua tercinta Ayah dan Ibu yang telah memberikan seluruh curahan kehidupannya dan selalu memberikan dukungan baik moral, spiritual, maupun material kepada penulis hingga detik ini.

3. Bapak Dr. Ir. Eddy Soeryanto Soegoto, selaku Rektor Universitas Komputer Indonesia.

4. Bapak Prof. Dr. Denny Kurniadie, Ir., M.Sc selaku Dekan Fakultas Teknik dan Ilmu Komputer Universitas Komputer Indonesia.


(8)

Fakultas Teknik dan Ilmu Komputer Universitas Komputer Indonesia, sekaligus dosen wali.

6. Bapak Iskandar Ikbal, S.T., M.Kom selaku pembimbing, dengan sabar dan bijaksana membimbing penulis dalam mengerjakan Tugas Akhir ini, dan banyak memberikan masukan yang sangat berguna untuk penulis, sehingga banyak membantu penulis menyelesaikan tugas akhir ini. Semoga Allah SWT membalas semua kebaikan beliau. Aamiin.

7. Bapak Adam Mukharil Bachtiar, S.Kom., M.T. selaku Dosen penguji I yang telah banyak memberikan masukan.

8. Bapak Hendri Karisma, S.Kom. selaku Dosen penguji III yang telah banyak memberikan masukan dan ilmu baru.

9. Kepada teman-teman seperjuangan satu dosen pembimbing dan penguji terima kasih atas motivasi dan dukungannya, sehingga penulis dapat menyelesaikan Tugas Akhir ini.

10. Kepada pimpinan PT Buana Eksper Solusindo Bapak Kusnadi Hambali selaku Direktur dan bapak Syamsul Aliyah selaku Komisaris. Atas banyak kesempatan, bantuan, dan motivasi yang diberikan selama menyelesaikan tugas akhir skripsi ini.

11. Kepada semua kawan-kawan staff PT Buana Eksper Solusindo terima kasih atas segala bantuan dan dukungannnya.

12. Kepada pihak Cafe La Ponyo bapak Agus Arif selaku pembimbing di tempat penelitian yang telah memberikan kesempatan dan bantuan kepada penulis untuk melakukan penelitian tugas akhir ini.

13. Untuk semua pihak yang tidak bisa disebutkan satu persatu yang telah membantu dalam menyelesaikan skripsi ini baik secara langsung maupun secara tidak langsung.

Semoga kebaikan yang telah diberikan kepada penulis dibalas dengan berkah yang melimpah dari Allah SWT. Jazakumullahu khairan katsira. Penulis


(9)

v

Dengan kerendahan hati penulis memohon maaf dan sangat mengharapkan segala saran dan kritikan yang dapat membangun penulisan tugas akhir ini menjadi lebih baik. Semoga tulisan ini bermanfaat bagi pembaca.

Bandung, 23 Agustus 2013


(10)

ABSTRAK ... i

ABSTRACT ... ii

KATA PENGANTAR... iii

DAFTAR ISI ... vi

DAFTAR GAMBAR ...xiii

DAFTAR TABEL ...xvii

DAFTAR SIMBOL... xxi

DAFTAR LAMPIRAN ...xxiv

BAB 1 PENDAHULUAN ...1

1.1 Latar Belakang ...1

1.2 Rumusan Masalah ...2

1.3 Maksud dan Tujuan ...2

1.4 Batasan Masalah/Ruang Lingkup Masalah ...2

1.5 Metodologi Penelitian ...2

1.5.1 Tahap Pengumpulan Data ... ...3

1.5.2 Tahap Pembuatan Perangkat Lunak ...3

1.6 Sistematika Penulisan...4

BAB 2 TINJAUAN PUSTAKA ...7

2.1 Profil Institusi ...7

2.1.1 Sejarah Cafe La Ponyo ... ...7

2.1.2 Visi dan Misi ...7

2.1.3 Logo Cafe La Ponyo ... ...8

2.1.4 Struktur Organisasi ... ...8

2.2 Landasan Teori ...8

2.2.1 Sistem Informasi ... ...9

2.2.1.1 Pengertian Sistem ... 9

2.2.1.2 Pengertian Informasi ... 9

2.2.1.3 Pengertian Sistem Informasi... 10


(11)

vii

2.2.3 Sistem Jaringan Komputer ...13

2.2.3.1 Pengertian Jaringan Komputer ... 14

2.2.3.2 Pengertian Sistem Jaringan Komputer ... 14

2.2.4 Object Oriented Programming (OOP) ...15

2.2.5 UML ...16

2.2.5.1 Sejarah UML ... 16

2.2.5.2 Diagram UML ... 18

2.2.6 Software Pendukung... ...20

2.2.6.1 PHP (Personal Home Page) ... 20

2.2.6.1.1 Framework Codeigniter ... 20

2.2.6.2 Android ... 22

2.2.6.2.1 Arsitektur Android... 23

2.2.6.2.2 Application ... 23

2.2.6.2.3 ApplicationFramework ... 24

2.2.6.2.4 Libraries ... 24

2.2.6.2.5 AndroidRuntime... 25

2.2.6.2.6 Linux Kernel... 25

2.2.6.2.7 Anatomi Aplikasi Android ... 25

2.2.6.2.8 Activity ... 26

2.2.6.2.9 Intent dan Intent Filter... 26

2.2.6.2.10IntentRecivier ... 27

2.2.6.2.11Service ... 27

2.2.6.2.12ContentProvider ... 28

2.2.6.2.13Siklus Hidup Aplikasi Android ... 28

2.2.6.2.14Tools Implementasi ... 30

2.2.6.2.15Java Development Kit ... 30

2.2.6.3 Eclipse IDE... 31

2.2.6.4 XAMPP ... 31


(12)

2.2.6.6.2 Keistimewaan MySQL ... 34

2.2.6.7 PHPMyAdmin ... 35

2.2.6.8 CascadingStyleSheet (CSS) ... 36

2.2.6.9 Javascript (.js) ... 37

BAB 3 ANALISIS DAN PERANCANGAN SISTEM ...39

3.1 Analisis Sistem ...39

3.1.1 Analisis Masalah...39

3.1.2 Analisis prosedur yang sedang berjalan ...40

3.1.3 Analisis WebService... ...41

3.1.4 Analisis Framework Codeigniter...43

3.1.5 Analisis Jaringan Arsitektur Sistem...44

3.2 Spesifikasi Kebutuhan Perangkat Lunak ...45

3.2.1 Kebutuhan Non Fungsional... ...45

3.2.2 Kebutuhan Fungsional... ...46

3.3 Analisis Kebutuhan Non Fungsional...46

3.3.1 Analisis Pengguna... ...47

3.3.2 Analisis Kebutuhan Perangkat Keras ...50

3.3.3 Analisis Kebutuhan Perangkat Lunak ...51

3.4 Analisis Kebutuhan Fungsional ...52

3.4.1 Use Case Diagram... ...52

3.4.1.1 Definisi Aktor ... 52

3.4.1.2 Definisi Use Case ... 53

3.4.1.3 Skenario Use Case pada aplikasi mobiledevice(Pelayan) ... 55

3.4.1.4 Skenario Use Case pada bagian Admin ... 58

3.4.1.5 Skenario Use Case pada bagian Dapur ... 70

3.4.1.6 Skenario Use Case pada bagian Kasir ... 73

3.4.2 Activity Diagram pada aplikasi mobiledevice (Pelayan) ...77

3.4.2.1 Otentikasi dan otorisasi aplikasi mobiledevice (Pelayan) ... 77


(13)

ix

3.4.3.1 Otentikasi dan otorisasi Admin ... 81

3.4.3.2 Tambah Data Menu ... 81

3.4.3.3 Edit Data Menu... 82

3.4.3.4 Hapus Data Menu ... 83

3.4.3.5 Tambah Data Meja ... 84

3.4.3.6 Edit Data Meja... 85

3.4.3.7 Hapus Data Meja ... 86

3.4.3.8 Tambah Data Kategori ... 87

3.4.3.9 Edit Data Kategori ... 89

3.4.3.10 Hapus Data Kategori ... 90

3.4.3.11 Tambah Data User ... 90

3.4.3.12 Edit Data User ... 92

3.4.3.13 Hapus Data User ... 92

3.4.3.14 Cetak Laporan Transaksi Bulanan... 93

3.4.3.15 Cetak Laporan Transaksi Harian ... 94

3.4.4 Activity Diagram pada Aplikasi Dapur ...95

3.4.4.1 Otentikasi dan otorisasi Dapur ... 95

3.4.4.2 Update status pesanan ... 96

3.4.4.3 Update data stok menu ... 98

3.4.5 Activity Diagram pada Aplikasi Kasir ...99

3.4.5.1 Otentikasi dan otorisasi Kasir... 99

3.4.5.2 Input Pembayaran ... 99

3.4.5.3 Cetak Nota ... 100

3.4.5.4 Cetak Laporan Transaksi Bulanan... 101

3.4.5.5 Cetak Laporan Transaksi Harian ... 102

3.4.6 Sequence diagram pada aplikasi mobiledevice (Pelayan) ...104

3.4.6.1 Otentikasi dan otorisasi aplikasi mobiledevice (Pelayan) ... 105

3.4.6.2 Input Pesanan pada aplikasi mobiledevice (Pelayan) ... 106


(14)

3.4.7.2 Tambah Data Menu ... 109

3.4.7.3 Edit Data Menu... 110

3.4.7.4 Hapus Data Menu ... 111

3.4.7.5 Tambah Data Meja ... 112

3.4.7.6 Edit Data Meja... 113

3.4.7.7 Hapus Data Meja ... 114

3.4.7.8 Tambah Kategori ... 115

3.4.7.9 Edit Kategori ... 116

3.4.7.10 Hapus Kategori ... 117

3.4.7.11 Tambah Data User ... 118

3.4.7.12 Edit Data User ... 119

3.4.7.13 Hapus Data User ... 120

3.4.7.14 Cetak Laporan Transaksi Bulanan... 121

3.4.7.15 Cetak Laporan Transaksi Harian ... 122

3.4.8 Sequence diagram pada Aplikasi Dapur...122

3.4.8.1 Otentikasi dan otorisasi Dapur ... 122

3.4.8.2 Update Status Pesanan ... 123

3.4.8.3 Update Data Stok Menu ... 124

3.4.9 Sequence diagram pada Aplikasi Kasir ...125

3.4.9.1 Otentikasi dan otorisasi kasir... 125

3.4.9.2 Input Pembayaran ... 126

3.4.9.3 Cetak Nota ... 127

3.4.9.4 Cetak Laporan Transaksi Bulanan... 127

3.4.9.5 Cetak Laporan Transaksi Harian ... 128

3.4.10 ClassDiagram Aplikasi Mobiledevice (Pelayan)...129

3.4.11 ClassDiagram Aplikasi bagian Admin, Dapur, dan Kasir. ...130

3.4.12 DiagramDeployment...131

3.4.13 Perancangan Antar Muka... ...131


(15)

xi

3.4.13.4 Perancangan antarmuka bagian dapur ... 148

3.4.13.5 Perancangan antarmuka pada bagian kasir ... 149

3.4.14 Perancangan Basis Data...150

3.4.14.1 Skema Relasi ... 150

3.4.14.2 Struktur Tabel ... 150

3.4.14.2.1Tabel User Otentikasi dan otorisasi... 150

3.4.14.2.2Tabel Menu... 151

3.4.14.2.3Tabel Data Pesan ... 151

3.4.14.2.4Tabel Kategori ... 152

3.4.14.2.5Tabel Detail Pesan ... 152

3.4.14.2.6Tabel Meja ... 152

3.4.15 Perancangan Status... ...153

3.4.15.1 Status Meja ... 153

3.4.15.2 Status Pemesanan ... 153

3.4.15.3 Status Transaksi ... 153

BAB 4 IMPLEMENTASI DAN PENGUJIAN ...155

4.1 Implementasi ...155

4.1.1 Perangkat Lunak Pembangun... ...155

4.1.2 Perangkat Keras Pembangun... ...155

4.1.3 Batasan implementasi... ...156

4.1.4 Implementasi Kelas... ...156

4.1.4.1 Kelas pada Aplikasi Android... 156

4.1.4.2 Kelas pada Aplikasi Web Based ... 157

4.1.5 Implementasi Basis Data... ...157

4.1.6 Implementasi Antar Muka... ...161

4.2 Pengujian Perangkat Lunak...164

4.2.1 Pengujian Black Box... ...164

4.2.1.1 Skenario Pengujian ... 164


(16)

4.2.1.2.2.1 Pengujian aplikasi web base bagian Admin ... 173

4.2.1.2.2.2 Pengujian aplikasi web base bagian Dapur ... 189

4.2.1.2.2.3 Pengujian aplikasi web base bagian Kasir... 193

4.2.1.3 Kesimpulan Pengujian BlackBox ... 199

4.2.2 Pengujian Beta... ...199

4.2.2.1 Hasil Kuisioner Pengujian Beta... 199

4.2.2.1.1 Kuisioner Aplikasi Android ... 200

4.2.2.1.2 Kuisioner Aplikasi Web Base bagian Dapur ... 204

4.2.2.2 Hasil Wawancara Pengujian Beta ... 209

4.2.2.3 Kesimpulan Pengujian Beta ... 213

KESIMPULAN DAN SARAN ...215

5.1 Kesimpulan...215

5.2 Saran ...215


(17)

217

[1] Hartono, Jogiyanto.1999.Analisis Dan Disain Sistem Informasi: pendekatan terstruktur teori dan praktek aplikasi bisnis.ANDI Yogyakarta.Yogyakarta. [2] Hariyanto, Bambang.(2005).Esensi-esensi Bahasa Pemrograman JAVA. Informatika.

Bandung.

[3] http://www.tabloidpulsa.co.id/news/6451-peringkat-os-smartphone-berdasarkan- prediksi-idc, di akses pada februari 2013.

[4] http://www.tutorialspoint.com/json/json_quick_guide.html,di akses pada Maret 2013. [5] Fathansyah. (2002), Basis Data, Informatika Bandung

[6] Basuki,Pribadi A.(2010).Membangun Web Berbasis PHP dengan Framework Codeiginter.Loko Media.Yogyakarta.2010.

[7] Pressman, Roger S.(2010).Software Engineering:A Practitioner’s Approach,Seventh Edition.

[8] Flowler M.(2004).UML DISTIELD Edisi 3 Panduan Singkat Bahasa Pemodelan Objek Standar.ANDI.Yogyakarta.

[9] Connectify,URL:HYPERLINK http://www.connectify.me/

[10] Huda, Miftahul & Bunafit Komputer.(2010).Membuat Aplikasi Database dengan Java.MySQL dan Netbeans. PT. Elex Media Komput1indo.Jakarta.

[11] Munawar.(2005).Pemodelan visual dengan UML. Graha Ilmu.Jakarta.

[12] Nazruddin,Safaat H.(2011).Pemograman Aplikasi Mobile Smartphone dan Tablet PC Berbasis Android.Informatika.Bandung.


(18)

BAB 1

PENDAHULUAN

1.1Latar Belakang

Cafe La Ponyo adalah usaha yang bergerak dalam bidang resto yang beralamat di Jalan Raya Cinunuk No. 186. Dengan mengusung konsep modern elegan minimalis, Cafe La Ponyo menghadirkan suasana eksklusif dalam penyajian berbagai macam menu jenis sundanese, western, dan seafood.

Selama ini, menurut pengelola Cafe La Ponyo, prosedur pelayanan pelanggan restoran mulai dirasa kurang efektif dan efisien seiring dengan semakin banyaknya pelanggan. Terdapat permasalahan dalam beberapa tahapan proses pelayanan, seperti pelanggan harus melakukan antrian pemesanan (order) menu, menunggu laporan ketersediaan menu dari pelayan dimana pelayan masih harus konfirmasi ulang ke dapur untuk melaporkan pemesanan menu dan mengecek ketersediaan menu. Kemudian pada bagian dapur masih belum tertata rapi terkait hal pengelolaan antrian pemesanan makanan, sehingga menyulitkan dalam memproses pesanan yang akan dibuat.

Di sisi lain, perkembangan teknologi informasi yang pesat dapat memberikan solusi atas masalah ini. Hal ini dapat dicapai dengan menerapkan suatu sistem yang dapat mengubah metode kerja pelayan restoran dalam pemesanan menu makanan dengan menggunakan perangkat berbasis mobile.

Di antara sekian banyak platform yang tersedia untuk perangkat mobile-based, platform Android yang terpilih untuk diterapkan pada aplikasi pemesanan menu makanan menu restoran di Cafe La Ponyo ini. Hal ini didukung dari data bahwa Android (68,3%) menjadi platform yang paling cepat berkembang dan banyak dipergunakan berdasar pada prediksi IDC(International Data Corporation) market share di tahun 2012, di antara platform OS lainya seperti iOS (18,8%), Blackberry OS (4,7%), Windows Phone (2,6%)[3]. Diperkenalkan pada 5 November 2007, kini OS Android sudah masuk generasi keempat yang diberi nama Ice Cream Sandwich.


(19)

Berdasarkan hal tersebut yang telah dikemukakan di atas, maka penulis membangunan aplikasi pemesanan menu makanan pada restoran Cafe La Ponyo dengan memanfaatkan tekonologi mobile-based sebagai perangkat yang dipergunakan oleh user dalam hal ini pelayan dalam melakukan proses pemesnan menu makanan, serta sistem informasi pemesanan menu restoran berbasis web yang saling terintegrasi dengan bagian admin, kasir, dan dapur untuk mempermudah dalam pengelolaan data pesanan, data stok berbasis menu/porsi, dan laporan harian/bulanan pada proses bisnis di Cafe La Ponyo.

1.2Rumusan Masalah

Rumusan masalah yang akan dibahas dalam hal ini adalah bagaimana membangun aplikasi pemesanan menu makanan di Cafe La Ponyo.

1.3Maksud dan Tujuan

Adapun maksud dari penelitian ini adalah untuk membangun sebuah aplikasi pemesanan menu makanan di Cafe La Ponyo.

Adapun tujuan yang akan dicapai dari pembangunan aplikasi ini adalah: 1. Mempercepat proses pemesanan menu pelanggan, dari awal pesan

sampai tersajinya pesanan.

2. Membantu proses pengelolaan antrian pesanan menu di dapur. 3. Mempermudah pelayan dalam mengetahui ketersediaan menu.

1.4Batasan Masalah/Ruang Lingkup Masalah

Ruang lingkup program aplikasi ini adalah:

1. Aplikasi untuk bagian admin menggunakan aplikasi web based. 2. Aplikasi untuk bagian dapur menggunakan aplikasi web based. 3. Aplikasi untuk bagian kasir menggunakan aplikasi web based.

4. Aplikasi untuk pelayan berbasis mobile menggunakan Android platform.

Aplikasi ini akan diimplementasikan pada lingkungan cafe secara Local Area Network.

1.5Metodologi Penelitian

Metodologi yang digunakan dalam penulisan skripsi ini adalah sebagai berikut:


(20)

1.5.1 Tahap Pengumpulan Data

Metode pengumpulan data yang digunakan dalam penelitian ini adalah sebagai berikut :

1. Studi Literatur.

Pengumpulan data dengan cara mengumpulkan literatur, jurnal, paper dan bacaan-bacaan yang mendukung dan dapat digunakan sebagai referensi pada penelitian.

2. Observasi.

Teknik pengumpulan data dengan mengadakan penelitian dan peninjauan langsung terhadap permasalahan yang diambil.

3. Interview.

Teknik pengumpulan data dengan mengadakan tanya jawab secara langsung yang ada kaitannya dengan topik yang diambil

1.5.2 Tahap Pembuatan Perangkat Lunak

Teknik analisis data dalam pembuatan perangkat lunak menggunakan paradigma perangkat lunak secara waterfall menurut Roger S. Pressman(2010, p39), model ini memberikan pendekatan-pendekatan sistematis dan berurutan bagi pengembangan perangkat lunak.

Berikut adalah Fase-fase dalam model waterfall menurut referensi

Roger S. Pressman:

Gambar 1.1 Waterfall menurut Roger S. Pressman(2010, p39)

Penjelasan dari tahap-tahap waterfall model adalah sebagai berikut: 1. Communication

Langkah ini merupakan analisis terhadap kebutuhan software, dan tahap untuk mengadakan pengumpulan data dengan melakukan pertemuan dengan customer, maupun mengumpulkan data-data tambahan baik yang ada di jurnal, artikel, maupun dari internet.


(21)

2. Planning

Proses plainning merupakan lanjutan dari proses communication (analysis requirement). Tahapan ini akan menghasilkan dokumen user requirement atau bisa dikatakan sebagai data yang berhubungan dengan keinginan user dalam pembuatan software, termasuk rencana yang akan dilakukan.

3. Modeling

Proses modeling ini akan menerjemahkan syarat kebutuhan ke sebuah perancangan software yang dapat diperkirakan sebelum dibuat coding. Proses ini berfokus pada rancangan struktur data, arsitektur software, representasi interface, dan detail (algoritma). Tahapan ini akan menghasilkan dokumen yang disebut softwarerequirement.

4. Construction

Construction merupakan proses membuat kode. Coding atau pengkodean merupakan penerjemahan desain dalam bahasa yang bisa dikenali oleh komputer. Programmer akan menerjemahkan transaksi yang diminta oleh user. Tahapan inilah yang merupakan tahapan secara nyata dalam mengerjakan suatu software, artinya penggunaan komputer akan dimaksimalkan dalam tahapan ini. Setelah pengkodean selesai maka akan dilakukan pengujian terhadap sistem yang telah dibuat tadi. Tujuan pengujian adalah menemukan kesalahan-kesalahan terhadap sistem tersebut untuk kemudian bisa diperbaiki.

5. Deployment

Tahapan ini bisa dikatakan final dalam pembuatan sebuah software atau sistem. Setelah melakukan analisis, desain dan pengkodean maka sistem yang sudah jadi akan digunakan oleh user. Kemudian software yang telah dibuat harus dilakukan pemeliharaan secara berkala.

1.6 Sistematika Penulisan

Sistematika penulisan proposal penelitian ini disusun untuk memberikan gambaran umum tentang penelitian yang dijalankan. Adapun sistematika penulisan skripsi ini adalah sebagai berikut :


(22)

BAB I PENDAHULUAN

Menguraikan tentang latar belakang permasalahan, mencoba merumuskan inti permasalahan yang dihadapi, menentukan tujuan dan kegunaan penelitian, yang kemudian diikuti dengan pembatasan masalah, asumsi, serta sistematika penulisan.

BAB II. TINJAUAN PUSTAKA

Membahas berbagai konsep dasar dan teori-teori yang berkaitan dengan topik penelitian yang dilakukan dan hal-hal yang berguna dalam proses analisis permasalahan serta tinjauan terhadap penelitian-penelitian serupa yang telah pernah dilakukan sebelumnya termasuk sintesisnya.

BAB III. ANALISIS DAN PERANCANGAN SISTEM

Menganalisis masalah yang dihadapi dalam membuat aplikasi pemesanan menu makanan pada restoran dan perancangan dalam pembuatan sistem. BAB IV. IMPLEMENTASI DAN PENGUJIAN

Berisi tentang tahapan-tahapan yang dilakukan untuk menerapkan sistem yang telah dirancang, dan pengujian aplikasi.

BAB V. KESIMPULAN DAN SARAN

Berisi kesimpulan dan saran yang sudah diperoleh dari hasil penulisan skripsi dan saran yang diperlukan untuk pengembangan aplikasi.


(23)

(24)

TINJAUAN PUSTAKA

2.1 Profil Institusi

Profil Institusi adalah untuk mengetahui keadaan institusi diantaranya adalah sejarah berdirinya, struktur organisasi serta visi dan misi.

2.1.1 Sejarah Cafe La Ponyo

Cafe La Ponyo berdiri pada awal tahun 2009, Cafe La Ponyo merupakan bagian dari Rumah makan Ponyo dan usaha yang bergerak dalam bidang makanan ini beralamat di Jalan Raya Cinunuk No. 186. Cafe La Ponyo menghadirkan konsep modern gaya elegan minimalis, menyediakan berbagai macam menu sundanese, western, dan seafood, Cafe La Ponyo memberikan fasilitas Hot Spot guna memberikan rasa kepuasan dan kenyamanan bagi pelanggan setianya. Fasilitas internet gratis tanpa batas dengan kecepatan tinggi telah menjadikan Cafe La Ponyo sebagai salah satu tempat paling favorit bagi anak muda dan kaum profesional lainnya. Keanekaragaman menu dan jenis makanan juga terdiri dari keseimbangan dan kesadaran akan asupan nutrisi, yang tentunya dibalut dengan sentuhan citarasa tinggi dan segudang pengalaman memasak para koki kafe ini.

2.1.2 Visi dan Misi

Visi dari Cafe La Ponyo adalah untuk mengembangkan usaha atau bisnis dalam bidang makanan dan menjadi cafe pilihan pertama dan utama di Bandung.

Adapun misi dari Cafe La Ponyo adalah sebagai berikut :

1. Menjadikan Cafe La Ponyo sebagai tempat yang nyaman bagi pelanggan. 2. Menyajikan makanan dan minuman yang berpotensi menjadi wisata kuliner

Nasional.

3. Memberi pelayanan yang dapat memuaskan pelanggan baik dari segi keramahan, maupun kebersihan tempat dan makanan.


(25)

2.1.3 Logo Cafe La Ponyo

Berikut merupakan logo dari Cafe La Ponyo seperti yang terdapat pada gambar 2.1.

Gambar 2.1 Logo Cafe La Ponyo

2.1.4 Struktur Organisasi

Berikut merupakan Struktur Organisasi dari Cafe La Ponyo seperti yang terdapat pada gambar 2.2.

Gambar 2.2 Struktur Organisasi Cafe La Ponyo

2.2 Landasan Teori

Landasan teori merupakan penjelasan berbagai konsep dasar dan teori-teori yang berkaitan dalam pembangunan aplikasi pemesanan menu makanan.


(26)

2.2.1 Sistem Informasi

Dalam pengertian sistem informasi ada baiknya terlebih dahulu mengerti dari sistem dan informasi. Dengan memahami defenisi sistem dan informasi akan dapat diperoleh penjelasan yang baik tentang sistem informasi.

2.2.1.1Pengertian Sistem

Istilah sistem merupakan suatu istilah yang tidak asing lagi dan banyak digunakan secara luas pada lembaga-lembaga atau bidang-bidang ilmu pengetahuan dan teknologi. Istilah sistem berasal dari bahasa Yunani yaitu Sistema. Ditinjau dari asal katanya, sistem berarati sekumpulan objek yang bekerja bersama-sama untuk menghasilkan suatu kesatuan metode yang digabungkan dan diatur sedemikian rupa yang berfungsi mencapai tujuan. Suatu sistem dapat terdiri dari beberapa subsistem yang saling berhubungan membentuk suatu kesatuan sehingga sasaran atau tujuan sistem tersebut dapat tercapai. Pada umumnya ciri-ciri sistem bertujuan, punya batas, terbuka, tersusun dari subsistem, dan saling berkaitan dan saling ketergantungan, merupakan suatu kebulatan yang utuh, melakukan kegiatan transformasi, ada mekanisme kontrol, dan memiliki kemampuan mengatur dan menyesuaikan diri sendiri[1].

2.2.1.2Pengertian Informasi

Informasi merupakan data yang telah diproses, transformasi data, sehingga berubah bentuk menjadi informasi. Informasi adalah data yang telah diambil kembali, diolah, atau sebaliknya digunakan untuk tujuan informative, argumentasi, ataupun sebagai dasar untuk pengambilan keputusan. Informasi ini adalah hasil proses data yang bentuknya kurang berguna menjadi data yang berguna. Menurut Jogiyanto Hartono (1999, hal :696)[1] kualitas suatu informasi tergantung dari tiga hal, yaitu informasi harus akurat, tepat pada waktunya dan relevan.

1. Akurat berarti informasi harus bebas dari kesalahan-kesalahan dan tidak menyesatkan.

2. Tepat pada waktunya berarti informasi yang datang pada penerima tidak boleh terlambat.


(27)

Kegunaan informasi itu sendiri adalah untuk memberitahukan ke pengguna informasi mengenai suatu masalah agar pengguna informasi lebih dapat menguasai masalah yang dihadapinya. Informasi juga ketidakpastian tentang suatu masalah yang dapat digunakan untuk memilih resiko yang paling kecil dan keuntungan yang besar dalam pemilihan alternatif bagi suatu proses pengambilan keputusan[1].

2.2.1.3Pengertian Sistem Informasi

Dari definisi sistem dan informasi dapat disimpulkan bahwa sistem informasi adalah suatu sistem di dalam suatu sistem organisasi yang merupakan kombinasi dari orang-orang, fasilitas, teknologi, media, prosedur-prosedur, dan pengendalian, yang ditujukan untuk mendapatkan jalur komunikasi penting, memproses tipe transaksi rutin tertentu, memberi sinyal kepada manajemen dan yang lainnya terhadap kejadian-kejadian internal dan eksternal yang penting dan menyediakan sutau dasar informasi untuk pengambilan keputusan yang cerdik (Jogiyanto Hartono, 1999)[1].

2.2.1.4Peranan Komputer dalam Sistem Informasi

Komputer mempunyai peranan penting untuk membantu manusia dalam menyelesaikan dan memecahkan masalah yang dihadapinya. Setiap pemecahan persoalan yang dilakukan mansia, hendaknya mempunyai dua unsur, yaitu : 1. Adanya fakta dan data.

2. Bagaimana proses pemecahannya.

Jika pengelohan data dilakukan secara manual tidak akan menjamin ketelitian serta kebenaran hasil atau informasi yang diinginkan. Masalah pendataan dan pengelohan data dapat dipecahkan dengan mudah dalam waktu singkat dengan menggunakan alat bantu komputer.

Dalam hal inilah perlu diperhatikan suatu sistem pengolahan data yang cepat dan tepat untuk memberikan informasi yang sangat menjamin benarnya keputusan yang telah ditetapkan. Dilihat dari aspek praktisnya, maka tidak jarang seseorang terlambat atau belum selesai didalam mengambil keputusan dan mendapat informasi yang cepat dalam pengolahan komputer. Peranan komputer dalam suatu sistem informasi sangatlah penting. Hal ini diakibatkan besar dan banyaknya data


(28)

yang akan diolah dengan beraneka ragam jenis data. Disinilah komputer memegang peranan penting untuk melakukan pengolahan data yang banyak dan beraneka ragam informasi dapat diperoleh dengan cepat dan tepat.

2.2.2 Basis Data

Basis data (bahasa Inggris: database), atau sering pula dieja basis data, adalah kumpulan informasi yang disimpan di dalam komputer secara sistematik sehingga dapat diperiksa menggunakan suatu program komputer untuk memperoleh informasi dari basis data tersebut. Perangkat lunak yang digunakan untuk mengelola dan memanggil kueri (query) basis data disebut sistem manajemen basis data (database management system, DBMS). Sistem basis data dipelajari dalam ilmu informasi.Istilah "basis data" berawal dari ilmu komputer. Meskipun kemudian artinya semakin luas, memasukkan hal-hal di luar bidang elektronika, artikel ini mengenai basis data komputer. Catatan yang mirip dengan basis data sebenarnya sudah ada sebelum revolusi industri yaitu dalam bentuk buku besar, kuitansi dan kumpulan data yang berhubungan dengan bisnis[2].

Istilah basis data mengacu pada koleksi dari data-data yang saling berhubungan, dan perangkat lunaknya seharusnya mengacu sebagai sistem manajemen basis data (database management system/DBMS). Jika konteksnya sudah jelas, banyak administrator dan programmer menggunakan istilah basis data untuk kedua arti tersebut[2].

Konsep dasar dari basis data adalah kumpulan dari catatan-catatan, atau potongan dari pengetahuan. Sebuah basis data memiliki penjelasan terstruktur dari jenis fakta yang tersimpan di dalamnya: penjelasan ini disebut skema. Skema menggambarkan obyek yang diwakili suatu basis data, dan hubungan di antara obyek tersebut. Ada banyak cara untuk mengorganisasi skema, atau memodelkan struktur basis data: ini dikenal sebagai model basis data atau model data. Model yang umum digunakan sekarang adalah model relasional, yang menurut istilah layman mewakili semua informasi dalam bentuk tabel-tabel yang saling berhubungan dimana setiap tabel terdiri dari baris dan kolom (definisi yang sebenarnya menggunakan terminologi matematika). Dalam model ini, hubungan antar tabel diwakili denga menggunakan nilai yang sama antar tabel. Model yang


(29)

lain seperti model hierarkis dan model jaringan menggunakan cara yang lebih eksplisit untuk mewakili hubungan antar table[2].

2.2.2.1Perancangan Basis Data

Perancangan basis data dibutuhkan agar diperoleh suatu sistem yang sesuai dengan apa yang diinginkan, dimana dapat melalui tahapan berikut :

a. Entity Relationship Diagram

ERD atau biasa disebut dengan diagram E-R secara grafis menggambarkan isi sebuah database. Diagram ini memiliki dua komponen utama yaitu entity dan relasi. Untuk melambangkan fungsi diatas maka digunakan simbol-simbol yang bisa dilihat pada daftar simbol-simbol[10].

b. Normalisasi

Normalisasi merupakan tahapan perancangan dalam membangun basis data relasional yangtidak secara langsung berkaitan dengan model data tetapi menerapkan sejumlah aturan dan kriteria standar untuk menghasilkan struktur tabel yang normal. Adapun langkah-langkah untuk menghasilkan struktur tabel yang normal diantaranya[10] yaitu :

1. Bentuk Unnormallized

Bentuk unnormal adalah bentuk tabel dengan mencantumkan semua field data yang ada.

2. Bentuk Normal Pertama / 1 NF (FirstNormalForm)

Bentuk normal pertama terpenuhi jika sebuah tabel tidak memiliki atribut bernilai banyak (Multivalued Atribute) atau lebih dari satu atribut dengan domain nilai yang sama.

3. Bentuk Normal Kedua / 2 NF (SecondNormalForm)

Bentuk normal kedua terpenuhi jika pada sebuah tabel semua atribut yang tidak termasuk dalam key primer memiliki ketergantungan fungsional pada keyprimer secara utuh.

4. Bentuk Normal Ketiga / 3 NF (Third NormalForm)

Bentuk normal ketiga terpenuhi jika dan hanya jika semua atribut bukan kunci memiliki dependensi transitif terhadap kunci primer.


(30)

5. Boyce-CoddNormalForm (BCNF)

Suatu tabel dikatakan berada pada BCNF jika dan hanya jika semua ketergantungan fungsional dengan notasi X→Y, maka X harus merupakan superkey pada tabel tersebut.

6. Bentuk Normal Keempat / 4 NF (Fourth Normal Form)

Suatu tabel dikatakan berada pada normal keempat jika tidak mengandung dua atribut atau lebih yang bernilai banyak.

7. Bentuk Normal Kelima / 5 NF (Fifth Normal Form)

Bentuk normal kelima berkaitan dengan ketergantungan relasi antar table (joindependency).

8. Relasi Tabel

Relasi tabel menunjukkan adanya hubungan diantara sejumlah entitas yang berasal dari himpunan entitas yang berbeda. Dari adanya relasi tabel tersebut terdapat kardinalitas relasi yang menunjukkan jumlah maksimum entitas yang dapat berelasi dengan entitas pada himpunan entitas yang lain. Terdapat empat kemungkinan kombinasi kardinalitas yaitu satu ke satu (one to one), satu ke banyak (one to many), banyak ke satu (many to one) dan banyak ke banyak (many to many) [10].

2.2.3 Sistem Jaringan Komputer

Dalam pengertian sistem jaringan komputer ada baiknya terlebih dahulu mengerti dari jaringan komputer. Dengan memahami defenisi jaringan komputer akan dapat diperoleh penjelasan yang baik tentang sistem jaringan komputer.

2.2.3.1Pengertian Jaringan Komputer

Pengertian jaringan komputer secara sederhana adalah sekumpulan komputer berkomunikasi satu sama lain melalui media jaringan secara bersama-sama. Seperti yang terlihat pada gambar 2.3 berikut.


(31)

Gambar 2.3 Jaringan komputer

Techi Wire House mendefinisikan pengertian jaringan komputer yang telah dialih bahasakan bahwa Pengertian Jaringan komputer secara ekspilisit adalah kumpulan dua atau lebih komputer yang terhubung. Ketika komputer ini bergabung dalam jaringan, maka orang dapat berbagi file dan peripheral seperti modem, printer, tape drive cadangan, atau CD-ROM drive. Secara luas jaringan komputer bisa terhubung kebeberapa lokasi yang terhubung dengan menggunakan layanan yang tersedia dari Perusahaan penyedia Layanan Internet, sehingga jaringan komputer dapat mengirim e-mail, berbagi link ke Internet global, atau melakukan konferensi video secara real time dengan pengguna jarak jauh lainnya.[4]

Kesimpulannya pengertian jaringan Komputer adalah Sebuah jaringan komputer adalah sekelompok komputer atau lebih terhubung satu sama lain secara elektronik. Ini berarti bahwa Sebuah jaringan komputer, juga disebut hanya sebagai jaringan, terdiri dari dua atau lebih komputer, dan perangkat lainnya biasanya juga (seperti printer, hard drive eksternal, modem dan router), yang terhubung bersama sehingga mereka dapat berkomunikasi satu sama lain dan dengan demikian perintah pertukaran dan berbagi data, perangkat keras dan sumber daya lainnya. komputer dapat “berkomunikasi” satu sama lain artinya setiap komputer di jaringan dapat mengirimkan informasi ke yang lain[4].

2.2.3.2Pengertian Sistem Jaringan Komputer

Sistem jaringan komputer adalah sekumpulan aturan dan peralatan sebagai satu kesatuan yang terdiri terdiri atas komputer-komputer yang didesain untuk dapat berbagi sumber daya (printer, CPU), berkomunikasi dan dapat mengakses informasi secara bersama[4].


(32)

Sebuah sistem jaringan komputer melibatkan dua buah komputer yang dihubungkan dengan menggunakan media online atau online telepon. Sedangkan sistem jaringan yang rumit atau kompleks tergantung pada imajinasi masing-masing. Khususnya, jaringan komputer berarti semua node seperti server (server), stasiun kerja (workstation), printer (printer) dan sebagainya dihubungkan satu sama lain dengan tujuan untuk berbagi informasi dan bahan. Dengan kata lain, informasi yang ada pada pengguna A dapat disebarkan kepada penguna lain dan begitu juga sebaliknya[4].

2.2.4 Object Oriented Programming (OOP)

OOP merupakan terobosan baru dalam pemrograman setelah pemrograman prosedural, pemrograman modular dan pemrograman abstraksi data. Ada beberapa konsep utama OOP antara lain :

Pemrograman berorientasi-objek menekankan konsep berikut:

1. Class : kumpulan atas definisi data dan fungsi-fungsi dalam suatu unit untuk suatu tujuan tertentu. Sebagai contoh 'class of dog' adalah suatu unit yang terdiri atas definisi-definisi data dan fungsi-fungsi yang menunjuk pada berbagai macam perilaku/turunan dari anjing.

2. Objek : membungkus data dan fungsi bersama menjadi suatu unit dalam sebuah program komputer; objek merupakan dasar dari modularitas dan struktur dalam sebuah program komputer berorientasi objek.

3. Abstraksi : kemampuan sebuah program untuk melewati aspek informasi yang diproses olehnya, yaitu kemampuan untuk memfokus pada inti. Setiap objek dalam sistem melayani sebagai model dari "pelaku" abstrak yang dapat melakukan kerja, laporan dan perubahan keadaannya, dan berkomunikasi dengan objek lainnya dalam sistem, tanpa mengungkapkan bagaimana kelebihan ini diterapkan. Proses, fungsi atau metode dapat juga dibuat abstrak, dan beberapa teknik digunakan untuk mengembangkan sebuah pengabstrakan.

4. Enkapsulasi : memastikan pengguna sebuah objek tidak dapat mengganti keadaan dalam dari sebuah objek dengan cara yang tidak layak; hanya metode dalam objek tersebut yang diberi ijin untuk mengakses


(33)

keadaannya. Setiap objek mengakses interface yang menyebutkan bagaimana objek lainnya dapat berinteraksi dengannya. Objek lainnya tidak akan mengetahui dan tergantung kepada representasi dalam objek tersebut.

5. Polimorfisme : melalui pengiriman pesan. tidak bergantung kepada pemanggilan subrutin, bahasa orientasi objek dapat mengirim pesan; metode tertentu yang berhubungan dengan sebuah pengiriman pesan tergantung kepada objek tertentu di mana pesa tersebut dikirim. Contohnya, bila sebuah burung menerima pesan "gerak cepat", dia akan menggerakan sayapnya dan terbang. Bila seekor singa menerima pesan yang sama, dia akan menggerakkan kakinya dan berlari. Keduanya menjawab sebuah pesan yang sama, namun yang sesuai dengan kemampuan hewan tersebut. Ini disebut polimorfisme karena sebuah variabel tungal dalam program dapat memegang berbagai jenis objek yang berbeda selagi program berjalan, dan teks program yang sama dapat memanggil beberapa metode yang berbeda di saat yang berbeda dalam pemanggilan yang sama. Hal ini berlawanan dengan bahasa fungsional yang mencapai polimorfisme melalui penggunaan fungsi kelaspertama. 6. Inheritance - Mengatur polimorfisme dan enskapsulasi dengan

mengijinkan objek didefinisikan dan diciptakan dengan jenis khusus dari objek yang sudah ada, objek-objek ini dapat membagi (dan memperluas) perilaku mereka tanpa harus mengimplementasi ulang perilaku tersebut. Dengan menggunakan OOP maka dalam melakukan pemecahan suatu masalah kita tidak melihat bagaimana cara menyelesaikan suatu masalah tersebut(terstruktur) tetapi objek-objek apa yang dapat melakukan pemecahan masalah tersebut. Sebagai contoh anggap kita memiliki sebuah departemen yang memiliki manajer, sekretaris, petugas administrasi data dan lainnya. Misal manajer tersebut ingin memperoleh data dari bagian administrasi maka manajer tersebut tidak harus mengambilnya langsung tetapi dapat menyuruh petugas bagian administrasi untuk mengambilnya. Pada kasus tersebut seorang manager


(34)

tidak harus mengetahui bagaimana cara mengambil data tersebut tetapi manager bisa mendapatkan data tersebut melalui objek petugas administrasi. Jadi untuk menyelesaikan suatu masalah dengan kolaborasi antar objek -objek yang ada karena setiap objek memiliki job description-nya sendiri[2].

2.2.5 UML

Unified Modeling Language (UML) adalah bahasa spesifikasi standar untuk mendokumentasikan, menspesifikasikan, dan membangun sistem perangkat lunak. UML adalah himpunan struktur dan teknik untuk pemodelan desain program berorientasi objek (OOP) serta aplikasinya. UML adalah metodologi untuk mengembangkan sistem OOP dan sekelompok perangkat tool untuk mendukung pengembangan sistem tersebut. UML mulai diperkenalkan oleh Object Management Group, sebuah organisasi yang telah mengembangkan model, teknologi, dan standar OOP sejak tahun 1980-an. Sekarang UML sudah mulai banyak digunakan oleh para praktisi OOP. UML merupakan dasar bagi perangkat (tool) desain berorientasi objek dari IBM.UML adalah suatu bahasa yang digunakan untuk menentukan, memvisualisasikan, membangun, dan mendokumentasikan suatu sistem informasi. UML dikembangkan sebagai suatu alat untuk analisis dan desain berorientasi objek oleh Grady Booch, Jim Rumbaugh, dan Ivar Jacobson. Namun demikian UML dapat digunakan untuk memahami dan mendokumentasikan setiap sistem informasi. Penggunaan UML dalam industri terus meningkat. Ini merupakan standar terbuka yang menjadikannya sebagai bahasa pemodelan yang umum dalam industri peranti lunak dan pengembangan sistem[8].

2.2.5.1Sejarah UML

Sampai era tahun 1990 puluhan metodologi pemodelan berorientasi objek telah bermunculan di dunia. Diantaranya adalah: metodologi booch, metodologi coad, metodologi OOSE, metodologi OMT, metodologi shlaer-mellor, metodologi wirfs-brock, dan sebagainya. Masa itu terkenal dengan masa perang metodologi (method war) dalam pendesainan berorientasi objek. Masing-masing metodologi membawa notasi sendiri-sendiri, yang mengakibatkan timbul masalah baru


(35)

apabila kita bekerjasama dengan kelompok/perusahaan lain yang menggunakan metodologi yang berlainan.

Dimulai pada bulan Oktober 1994 Booch, Rumbaugh dan Jacobson, yang merupakan tiga tokoh yang boleh dikata metodologinya banyak digunakan mempelopori usaha untuk penyatuan metodologi pendesainan berorientasi objek. Pada tahun 1995 direlease draft pertama dari UML (versi 0.8). Sejak tahun 1996 pengembangan tersebut dikoordinasikan oleh Object Management Group[4].

2.2.5.2Diagram UML

UML menyediakan 10 macam diagram untuk memodelkan aplikasi berorientasi objek, yaitu:

1. Use Case Diagram untuk memodelkan proses bisnis.

2. Conceptual Diagram untuk memodelkan konsep-konsep yang ada di dalam aplikasi.

3. Sequence Diagram untuk memodelkan pengiriman pesan (message) antar objects

4. Collaboration Diagram untuk memodelkan interaksi antar objects. 5. State Diagram untuk memodelkan perilaku objects di dalam sistem.

6. Activity Diagram untuk memodelkan perilaku Use Cases dan objects di dalam system.

7. Class Diagram untuk memodelkan struktur kelas. 8. Object Diagram untuk memodelkan struktur object. 9. Component Diagram untuk memodelkan komponen object 10. Deployment Diagram untuk memodelkan distribusi aplikasi.

Berikut akan dijelaskan empat macam diagram yang paling sering digunakan dalam pembangunan aplikasi berorientasi object, yaitu use case diagram, sequence diagram, collaboration diagram, dan class diagram[4].


(36)

1. Use Case Diagram

Use case diagram digunakan untuk memodelkan bisnis proses berdasarkan perspektif pengguna sistem. Use case diagram terdiri atas diagram untuk use case dan actor. Actor merepresentasikan orang yang akan mengoperasikan atau orang yang berinteraksi dengan sistem aplikasi. Use case merepresentasikan operasi-operasi yang dilakukan oleh actor. Use case digambarkan berbentuk elips dengan nama operasi dituliskan di dalamnnya. Actor yang melakukan operasi dihubungkan dengan garis lurus ke usecase[4].

2. ActivityDiagram

Activity diagram menggambarkan workflow (aliran kerja) atau aktivitas dari sebuah sistem atau proses bisnis. Yang perlu diperhatikan di sini adalah bahwa diagram aktivitas menggambarkan aktivitas sistem bukan apa yang dilakukan aktor, jadi aktivitas yang dapatdilakukan sistem[4].

3. SequenceDiagram

Sequence diagram menjelaskan secara detil urutan proses yang dilakukan dalam sistem untuk mencapai tujuan dari use case: interaksi yang terjadi antar class, operasi apa saja yang terlibat, urutan antar operasi, dan informasi yang diperlukan oleh masing- masing operasi[4].

4. Collaboration Diagram

Collaboration diagram dipakai untuk memodelkan interaksi antar objek di dalam sistem. Berbeda dengan sequence diagram yang lebih menonjolkan kronologis dari operasi-operasi yang dilakukan, collaboration diagram lebih fokus pada pemahaman atas keseluruhan operasi yang dilakukan oleh objek[4].

5. ClassDiagram

Class diagram merupakan diagram yang selalu ada di permodelan sistem berorientasi objek. Class diagram menunjukkan hubungan antar class dalam sistem yang sedang dibangun dan bagaimana mereka saling berkolaborasi untuk mencapai suatu tujuan[4].


(37)

2.2.6 Software Pendukung

2.2.6.1 PHP (Personal Home Page)

PHP adalah bahasa pemorgraman yang memungkinkan para web developer untuk membuat aplikasi web yang dinamis dengan cepat. PHP merupakan singkatan dari “PHP: Hypertext Preprocessor”. PHP ditulis dan diperkenalkan pertama kali sekitar tahun 1994 oleh Rasmus Lerdorf melalui situsnya untuk mengetahui siapa saja yang telah mengakses ringkasan online-nya[6].

PHP merupakan salah satu bahasa script yang terbilang baru dan tersedia secara bebas dan masih memungkinkan untuk dikembangkan lebih lanjut. PHP dapat diintegrasikan (embedde) ke dalam web server, atau dapat berperan sebagai program CGI yang terpisah. Karakteristik yang paling unggul dan paling kuat dalam PHP adalah lapisan integrasi database (database integration layer). Database yang didukung PHP adalah: Oracle, Adabas-D, Sybase, FilePro, mSQL, Velocis, MySQL, Informix, Solid, dBase, ODBC, Unix dbm, dan PostgreSQL[6].

Tujuan utama penggunaan bahasa ini adalah untuk memungkinkan perancang web menulis halaman web dinamik dengan cepat[6].

2.2.6.1.1 Framework Codeigniter

Framework adalah kumpulan perintah atau fungsi dasar yang membentuk aturan-aturan tertentu dan saling berinteraksi satu sama lain sehingga dalam pembuatan aplikasi website kita harus mengikuti aturan dari framework tersebut[6].

Dengan framework (dalam hal ini framework php ), kita tidak perlu memikirkan kode perintah/fungsi dasar dari aplikasi website kita. Seperti bagaimana mengambil data dari database untuk ditampilkan. Kita hanya memikirkan apa kode sql-nya dan ditampilkan kemana? Hal-hal penunjang lainnya seperti koneksi database validasi form, GUI, dan keamanan; telah disediakan oleh framework sehingga jumlah baris kode yang kita buat jauh lebih sedikit dibandingkan jika semua kode dari kita[6].

Jadi, keuntungan yang dapat diperoleh dari pengguna framework adalah: 1. Waktu pembuatan aplikasi website kita jauh lebih singkat.


(38)

2. Kode aplikasi website menjadi lebih mudah dibaca, karena sedikit dan sifatnya pokok.Detailnya adalah kode dari framework dan ini mungkin tidak perlu dipikirkan,terjamin.

3. Website kita menjadi lebih mudah diperbaiki,karena kita tidak perlu fokus ke semua komponen kode website, terutama kode system framework.

4. Kita tidak perlu lagi membuat kode penunjang aplikasi website seperti koneksi database,validasi form,GUI,dan keamanan.

5. Pikiran kita menjadi lebih terfokus ke kode alur permasalahan website, apa yang ditampilkan dan layanan apa saja yang diberikan dari aplikasi website tersebut.

6. Jika dikerjakan team work, maka akan lebih terarah karena system framework, mengharuskan adanya keteraturan peletakan kode. seperti bagian pengambilan database terpisah dengan bagian pengaturan tampilan untuk pengunjung[6].

Jadi intinya banyak keuntungan yang dapat diperoleh, terutama bagi developer web yang selalu dihantui waktu deadline proyek website-nya. Tidak selesai waktunya sesuai target, klien akan kecewa dan mungkin akan lari ke developer lain. Jika anda bersikeras membuat website dari nol kode maka akan butuh banyak waktu dan pasti akan ketinggalan dengan teman anda yang menggunakan framework[6].

Framework CI paling mudah dikuasai untuk seorang pemula, karena help-nya cukup tersedia diwebsitehelp-nya. bahkan saat kita men-download framework ini dari internet, sudah disertai help-nya yang mudah dimengerti, mulai dari langkah instalasi sampai fungsi-fungsinya tersedia. Adanya help/dokumentasi sangat mudah bagi pemula dalam mempelajari lingkungan pengembangan website dengan CI. Framework Codeigniter dapat dioperasikan dalam PHP 4.3.2 + maupun 5 sehingga kita membuat aplikasi website pada sebuah server yang masih belum support PHP5, ini tidak akan menjadi masalah,karena masih tetap dapat berkerja[6].


(39)

MVC (Model View Controller) adalah sebuah pola program yang bertujuan memisahkan logika bisnis,logika data, dan logika tampilan (interface), atau secara sederhana memisahkan antara proses, data dan tampilan mvc mengatur arsitektur sebuah aplikasi. umumnya apliksai yang dibangun dengan konsep MVC adalah aplikasi yang dibangun dengan konsep MVC adalah aplikasi yang cukup besar, karena salah satu keuntungan dari MVC itu adalah kemudahan maintenance, dan pengembangan aplikasi tersebut. CI menggunakan konsep ini anda harus memisahkan kode database ke folder model,kode proses ke folder controller dan kode tampilan ke folderview[6].

2.2.6.2Android

Android merupakan suatu software stack untuk mobile device. Di dalamnya terdapat sistem operasi, middleware, dan key application. Aplikasi pada platform ini dikembangkan dalam bahasa pemrograman java[12].

Android sendiri memiliki banyak fitur diantaranya adalah:

1. Merupakan sebuah Application Framework sehingga programmer dapat menggunakan beberapa fungsi yang telah disediakan.

2. Dalvik virtual machine. Tiap aplikasi dalam Android memiliki instance virtual machine yang dapat bekerja secara efisien dalam lingkungan memoriyang terbatas.

3. Integrated browser. Web browser berbasis WebKit engine terdapat pada browser default Android atau pun dapat diintegrasikan dengan aplikasi lain.

4. Optimized graphics. Library grafis 2D yang kaya dan 3D berbasis OpenGL ES 1.0 yang mendukung akselerasi hardware.

5. SQLite. Basis data relasional yang ringan namun sangat powerful. 6. Media Support. Mendukung berbagai format audio, video, dan gambar

(MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF) 7. GSM Telephony. Mendukung fungsi komunikasi GSM.

8. Bluetooth,EDGE,3G dan WiFi. Mendukung komunikasi pada jaringan (tergantung hardware).


(40)

9. Kamera, GPS, kompas dan accelerometer. Mendukung berbagai fitur yang disediakan oleh hardware.

10.Kakas pengembangan yang lengkap. Termasuk device emulator, tools untuk debugging, profiling memori dan performa, plugin untuk Eclipse IDE[12].

2.2.6.2.1 Arsitektur Android

Android terdiri dari beberapa stack software yang terdiri dari: Applications, Application Framework, Libraries, Android Runtime dan Kernel Linux. Arsitektur lengkap platform ini dapat dilihat pada Gambar 2.3.

Gambar 2.4 Arsitektur platform android

2.2.6.2.2 Application

Application merupakan program yang langsung berhubungan dengan user. Baik program yang merupakan bawaan dari Android sendiri maupun program


(41)

yang dibuat oleh developer menggunakan bahasa pemrograman java. Contoh program bawaan dari platform Android sendiri adalah email client, program SMS, calendar, maps, webbrowser, contact dan sebagainya[12].

2.2.6.2.3 ApplicationFramework

Lapisan ini berisi sekumpulan API yang dapat digunakan oleh programmer maupun core application dari Android. Lapisan ini dirancang untuk memudahkan penggunaan komponen dari Android sendiri. Aplikasi manapun dalam Android dapat berbagi fungsi sehingga aplikasi lain dapat memanfaatkannya [12].

Aplikasi pada Android disusun atas beberapa komponen:

1. Sekumpulan Views. Digunakan untuk mengatur tampilan pada aplikasi. Contohnya adalah lists, grids, text box, button, bahkan embeddable web browser.

2. Content providers. Komponen yang mengatur agar aplikasi dapat mengakses resources dari aplikasi lain (seperti Contacts), atau berbagi data dengan aplikasi lain.

3. Resource Manager. Menyediakan akses ke pada resource non-code seperti localized string, grafik dan filelayout.

4. Notification Manager. Memungkinkan agar suatu aplikasi dapat menampilkan peringatan yang dapat di kostumasi pada status bar.

5. Activity Manager. Mengatur siklus aplikasi dan navigasi antar aplikasi yang sedang berjalan.

2.2.6.2.4 Libraries

Android mendukung beberapa library C/C++ yang digunakan pada berbagai komponen Android. Kemampuan ini dapat diakses oleh developer melalui Android application framework. Beberapa library diantaranya adalah[[12]]: 1. System C library. Implementasi library C standar (libc).

2. MediaLibraries. Mendukung berbagai format multimedia (termasuk 3. MPEG4,H.264, MP3, AAC, AMR, JPG, PNG).

4. SurfaceManager. Mengatur akses ke subsistemdisplay. 5. LibWebCore. Enginewebbrowsermodern.


(42)

7. 3D Library. Implementasi OpenGL ES 1.0 yang mendukung akselerasi hardware.

8. FreeType. Rendering untuk bitmap dan vector font.

9. SQLite. Basis data relasional yang kecil namun sangat ampuh.

2.2.6.2.5 AndroidRuntime

Tiap aplikasi pada Android memiliki proses-nya masing-masing. Tiap aplikasi tersebut memiliki instans dari Dalvik virtual machine (VM). Dalvik virtual machine dirancang agar suatu device dapat menjalankan beberapa VM secara efisien. Dalvik VM mengeksekusi file dengan format Dalvik Executable format (.dex) yang dirancang untuk meminimalkan memory footprint . Dalvik VM berbasis register, dan dapat menjalankan kelas-kelas yang dikompilasi dengan bahasa pemrograman java dan ditransformasikan menjadi format .dex. Dalvik VM sendiri bergantung pada Kernel Linux untuk fungsi dasarnya, seperti threading manajemen memori secara low-level[12].

2.2.6.2.6 Linux Kernel

Android menggunakan Kernel Linux versi 2.6 sebagai sistem utama. Fungsi kernel yang digunakan antara lain untuk keamanan, manajemen memori, manajemen proses, manajemen jaringan dan driver model. Kernel juga berfungsi sebagai layer abstrak antara hardware dan lapisan lainnya pada software stack[12].

2.2.6.2.7 Anatomi Aplikasi Android

Terdapat empat building blocks pada aplikasi Android yaitu: 1. Activity

2. IntentReceiver 3. Service

4. ContentProvider

Tidak semua aplikasi membutuhkan keempat blok ini, tetapi suatu aplikasi dibuat menggunakan kombinasi beberapa blok ini. Setelah memutuskan blok komponen yang akan digunakan, blok tersebut didaftarkan pada suatu file yang disebut dengan AndroidManifest.xml. File XML ini digunakan untuk menyatakan komponen apa saja yang dibutuhkan oleh sebuah aplikasi dan kemampuan serta kebutuhan aplikasi tersebut[12].


(43)

2.2.6.2.8 Activity

Activity paling umum diantara keempat building block. Activity biasanya suatu tampilan (screen) dalam suatu aplikasi. Tiap activity diimplementasikan sebagai satu kelas yang meng-extend base class Activity. Kelas yang dibuat akan menampilkan user interface yang terdiri dari beberapa views dan akan merespon suatu event. Kebanyakan, aplikasi terdiri dari beberapa screen. Contohnya aplikasi pengiriman pesan akan memiliki screen untuk mendaftarkan pesan yang masuk, menulis pesan dan screen lainnya untuk melakukan pengaturan. Tiap screen pada contoh ini akan diimplementasi sebagai suatu activity. Aplikasi dapat berpindah ke screen lain dengan cara memulai suatu activity baru. Pada suatu kasus tertentu, activity akan mengembalikan nilai kepada activity sebelumnya. Contohnya activity untuk memilih foto akan mengembalikan foto yang dipilih pada activity yang memanggilnya. Pada saat screen baru terbuka, screen sebelumnya akan dihentikan dan state nya akan disimpan pada history stack. User dapat melakukan navigasi ke activity sebelumnya melalui history tersebut. Screen akan di hapus dari history stack apabila sistem memutuskan bahwa screen tersebut tidak layak untuk berada pada memori. Android menyimpan history stack untuk setiap aplikasi yang dijalankan dari tampilan awal (homescreen) [12].

2.2.6.2.9 Intent dan Intent Filter

Android menggunakan kelas khusus bernama intent untuk berpindah dari screen ke screen lainnya. Sebuah intent mendeskripsikan apa yang ingin aplikasi penuhi. Bagian struktur data dari intent yang paling penting adalah action dan data dari aksi yang dilakukan. Nilai action yang biasanya adalah MAIN, VIEW, PICK, EDIT dan sebagainya. Data diekspresikan sebagai URI. Sebagai contoh, untuk melihat informasi suatu contact seseorang, kita membuat intent dengan action VIEW dan data sebagai URI yang merepresentasikan orang tersebut. Terdapat suatu kelas yang dinamakan IntentFilter. Apabila intent adalah suatu permintaan untuk melakukan sesuatu, IntentFilter adalah deskripsi yang dapat dilakukan oleh intent activity. Activity yang dapat menampilkan informasi contact dari seseorang akan mempublikasikan IntentFilter yang menyatakan bahwa ia dapat menangani action VIEW apabila dipakai pada data yang merepresentasikan seseorang. Suatu


(44)

aplikasi mempublikasikan IntentFilter pada file AndroidManifest.xml. Navigasi dari suatu screen ke screen lainnya dipenuhi dengan cara me-resolve intent. Untuk melakukan navigasi ke depan, activity memanggil startActivity(myIntent). Sistem akan mencari IntentFilter untuk semua aplikasi dan memilih activity yang IntentFilter-nya yang paling mendekati dengan myIntent. activity baru akan mendapat informasi tentang intent yang menyebabkan activity tersebut dijalankan. Proses pencarian intent terjadi sewaktu runtime pada saat startActivity dipanggil. Hal tersebut membawa keuntungan sebagai berikut[12]:

1. Activity dapat melakukan reuse functionality dari komponen lain dengan cara melakukan permintaan dalam bentuk intent.

2. Activity dapat di replace kapan pun dengan activity yang ekuivalen.

2.2.6.2.10Intent Recivier

Intent Receiver dapat digunakan pada saat kita menginginkan kode kita dijalankan akibat reaksi dari external event tertentu. Contohnya, pada saat telepon berbunyi, atau pada saat ada data pada jaringan, atau pada suatu waktu tertentu. Intent Receiver tidak menampilkan user interface, meskipun ia dapat menggunakan Notification Manager untuk memperingatkan user apabila sesuatu terjadi. Intent Receiver didaftarkan pada file AndroidManifest.xml, tetapi secara manual juga bisa ditambahkan dengan fungsi Context.registerReceiver(). Suatu aplikasi tidak harus berjalan pada IntentReceivernya agar bisa dipanggil, tetapi sistem yang akan menjalankan aplikasi tersebut. Apabila diperlukan, pada saat Intent Receiver mendapat trigger, aplikasi juga dapat mengirimkan intent broadcast kepada aplikasi lainnya dengan fungsi Context.broadcastIntent()[12].

2.2.6.2.11Service

Service adalah sebuah kode yang hidup terus-menerus dan berjalan tanpa memiliki tampilan. Contoh yang sederhana adalah suatu aplikasi media player yang sedang memainkan lagu dari play list. Pada aplikasi media player, kemungkinan terdapat satu atau lebih activity yang memperbolehkan user memilih lagu dan memainkannya. Tetapi musik yang sedang diputar tidak boleh ditangani oleh activity karena user akan menginginkan musik tetap diputar meskipun ia berpindah ke screen baru. Pada kasus ini activity media player dapat menjalankan


(45)

service menggunakan fungsi Context.startService() untuk menjalankan service di background yang memutar musik. Sistem akan tetap memutar musik sampai selesai. Selain itu activity dapat terhubung dengan service menggunakan fungsi Context.bindService(). Pada saat terhubung, aplikasi dapat berkomunikasi melalui interface yang diberikan oleh service yang bersangkutan. Pada contoh media player, interface service akan memberikan fungsi pause, rewind dan sebagainya[12].

2.2.6.2.12ContentProvider

Content provider digunakan untuk pertukaran data antara aplikasi. Data yang dipertukarkan bersifat shared. Content provider adalah sebuah kelas yang berisi method standar yang memungkinkan aplikasi lain dapat menyimpan dan mengambil suatu data yang ditangani oleh content provider[12].

2.2.6.2.13Siklus Hidup Aplikasi Android

Pada banyak kasus, tiap aplikasi pada Android masing-masing memiliki Linux proses. Proses ini diciptakan untuk aplikasi tersebut pada saat kode program tersebut akan dieksekusi, akan terus berjalan sampai tidak dibutuhkan lagi dan sistem memerlukan memori untuk aplikasi lain. Konsep dasar program Android adalah suatu proses pada aplikasi tidak langsung di atur oleh aplikasi tersebut. Proses tersebut ditentukan oleh sistem melalui kombinasi : informasi aplikasi bagi sistem, seberapa pentingnya aplikasi tersebut bagi user dan ketersediaan memori[12].

Contoh kasus life-cycle bug adalah IntentReceiver yang menciptakan thread pada saat menerima intent pada method onReceiveIntent() dan selesai dari fungsi tersebut. Setelah fungsi tersebut selesai, sistem menganggap bahwa Intent Receiver tersebut menjadi tidak aktif sehingga ia memiliki proses yang tidak dibutuhkan (kecuali terdapat komponen aplikasi lain di dalamnya). Oleh karena itu, sistem dapat menghapus proses tersebut kapanpun apabila dibutuhkan. Hal tersebut akan menghapus semua thread yang berjalan pada proses tersebut. Solusi masalah ini adalah memakai Service dari Intent Receiver, sehingga sistem mengetahui bahwa ada suatu yang aktif dalam proses tersebut. Sebagai


(46)

programmer, kita harus mengetahui bagaimana cara yang tepat untuk merancang aplikasi.

Kesalahan pada perancangan akan membuat suatu aplikasi akan dihentikan oleh sistem pada saat yang tidak diinginkan. Untuk menentukan proses mana yang

akan dihapus pada situasi low memory, Android memiliki “importancehierarchy”

berdasarkan komponen dan state yang sedang berjalan. Urutan berdasarkan kepentingan tersebut adalah[12]:

1. Foreground process. Adalah suatu proses yang dibutuhkan untuk berinteraksi dengan user saat ini. Berbagai komponen suatu aplikasi dapat mengakibatkan proses di dalamnya menjadi foreground proses. Suatu proses dikatakan foreground apabila memenuhi kondisi sebagai berikut:

1.1 Menjalankan Activity pada top screen yang sedang berinteraksi dengan user (setelah method onResume() dipanggil).

1.2 Mempunyai IntentReceiver yang sedang berjalan (method 1.3 IntentReceiver.onReceiveIntent() sedang dieksekusi).

1.4 Memilik service yang fungsi callback-nya (Service.onCreate(), Service.onStart() atau Service.onDestroy()) sedang dieksekusi.

1.5 Hanya akan terdapat beberapa proses seperti itu dalam sistem, proses ini hanya akan dihapus apabila sistem tidak memiliki pilihan lain. Contohnya apabila memori tinggal sedikit sehingga proses foreground tidak bisa lagi berjalan. Hal ini diperlukan untuk menjaga user interface tetap interaktif dengan user.

2. Visible process. Adalah proses yang memegang Activity yang dapat dilihat user pada layar tetapi tidak foreground (pada saat method onPause() dipanggil). Hal ini dapat terjadi, sebagai contoh activity foreground muncul dengan dialog sehingga activity sebelumnya terlihat di belakangnya. Proses ini sangat penting dan tidak akan di hapus kecuali untuk menjaga aplikasi foreground tetap berjalan.

3. Service process. Adalah proses yang memegang Service yang dimulai dengan method StartService().Meskipun proses ini secara langsung tidak dapat dilihat oleh user, biasanya proses ini menjalankan perintah dari user (seperti


(47)

memutar lagu, men-download data dari jaringan dan lain-lain). Sistem akan tetap membiarkan proses ini berjalan selama proses foreground dan visible masih bisa berjalan.

4. Background process. Adalah proses yang memegang Activity yang saat ini tidak dapat dilihat oleh user (method onStop() sedang dipanggil). Proses ini tidak secara langsung mempengaruhi user. Apabila activity life cycle telah dipenuhi dengan benar, sistem dapat menghapus proses ini sewaktu-waktu untuk memberikan memori tambahan. Biasanya banyak ditemukan proses semacam ini, sehingga proses tersebut disimpan dalam LRU (Least RecentlyUsed) untuk menjaga agar proses yang baru saja dilihat oleh user akan dihapus paling akhir pada kondisi lowmemory.

5. Empty Process. Adalah proses yang tidak memegang suatu komponen yang sedang aktif. Alasan mengapa membiarkan proses semacam ini adalah untuk melakukan cache sehingga proses startup menjadi lebih cepat apabila aplikasi tersebut akan dijalankan kembali. Sistem seringkali menghapus proses semacam ini untuk mencapai keseimbangan dari system resource antara cachedprocesses dan kernel caches.

2.2.6.2.14Tools Implementasi

Tools implementasi merupakan peralatan-peralatan yang dibutuhkan dalam membangun perangkat lunak. Adapun tools implementasi yang digunakan untuk membuat aplikasi pemesanan makanan pada restoran adalah JDK sebagai perangkat pembangun Java, Eclipse IDE sebagai lingkungan pengembangan perangkat lunak, dan SQL sebagai sistem manajemen basis data[12].

2.2.6.2.15Java Development Kit

Java Development Kit (JDK) adalah sebuah perangkat peralatan yang digunakan untuk membangun perangkat lunak dengan menggunakan bahasa pemrograman Java. JDK berjalan diatas sebuah virtual machine yang dinamakan JVM (Java Virtual Machine). Dokumentasi JDK berisi spesifikasi API, deskripsi fitur, panduan pengembang, referensi halaman untuk perkakas JDK dan utilitas, demo, dan link ke informasi terkait. Dokumentasi ini juga tersedia dalam bundel yand dapat diunduh dan diinstal pada computer[12].


(48)

2.2.6.3Eclipse IDE

Eclipse adalah sebuat komunitas proyek open source yang difokuskan pada membangun sebuah platform pengembangan yang dapat diperluas, runtime dan kerangka aplikasi untuk membangun, menyebarkan dan mengelola perangkat lunak di seluruh daur hidup perangkat lunak. Komunitas Eclipse memiliki lebih dari 60 proyek open source. Proyekproyek ini secara konsep terbagi menjadi 7 kategori [12]:

1. Enterprise Development

2. Embedded and Device Development 3. Rich Client Platform

4. Rich Internet Applications 5. Application Frameworks

6. Application Lifecycle Management (ALM) 7. Service Oriented Architecture (SOA)

Komunitas Eclipse juga didukung oleh ekosistem besar dan dinamis dari penyedia solusi teknologi informasi utama, start-up inovatif, universitas dan lembaga penelitian, dan individu yang memperluas, mendukung, dan melengkapi platform Eclipse[12].

2.2.6.4 XAMPP

XAMPP Kepanjangan dari XAMPP yaiu APACHE, PHP, MySQL dan PHPMyAdmin. XAMPP merupakan tool yang menyediakan paket perangkat lunak ke dalam satu buah paket. Dengan menginstall XAMPP maka tidak perlu lagi melakukan instalasi dan konfigurasi web server APACHE, PHP dan MySQL secara manual. XAMPP akan menginstalasi dan mengkonfigurasikannya secara otomatis untuk anda atau auto konfigurasi.

2.2.6.5APACHE

APACHE merupakan salah satu jenis program yang bertujuan untuk mengirimkan kembali sintaks yang telah diberikan oleh user dan menampilkan kembali dalam bentuk dalam format hasilnya saja. Program APACHE ini hanya terdapat pada sebuah server yang terdapat pada ISP (Internet Service Provider) atau di Indonesia disebut Jasa Penyelenggara Internet. Saat ini program yang


(49)

paling banyak terdapat pada server-server di dunia adalah APACHE. Hal ini disebabkan karena beberapa keunggulan yang diberikan.

Keunggulan-keunggulan tersebut antara lain :

1. Memiliki kemapuan pembacaan yang tinggi dan mudah disesuaikan

2. Memiliki tingkat keamanan yang tinggi. Hal ini dibutuhkan bagi para penyimpan data yang memiliki tingkat kerahasian tertentu.

3. Dapat dijalankan untuk berbagai macam operasi sistem.

APACHE merupakan suatu nama yang diambil dari istilah “A PAtCHyserver yang dapat diartikan dengan mengambil suatu patch atau bagian dari program yang diberikan.

APACHE sudah berkembang sejak versi pertamanya. Sampai saat ditulisnya artikel ini versi terakhirnya yang ada yaitu APACHE ver 2.0.54. APACHE bersifat open source, artinya setiap orang boleh menggunakannya, mengambil dan bahkan mengubah kode programnya.

Tugas utama APACHE adalah menghasilkan halaman web yang benar kepada peminta, berdasarkan kode PHP yang dituliskan oleh pembuat halaman web. Jika diperlukan juga berdasarkan kode PHP yang dituliskan, maka dapat saja suatu database diakses terlebih dahulu (misalnya dalam MySQL) untuk mendukung halaman web yang dihasilkan.

2.2.6.6MySQL

Perkembangannya disebut SQL yang merupakan kepanjangan dari Structured Query Language. SQL merupakan bahasa terstruktur yang khusus digunakan untuk mengolah database. SQL pertama kali didefinisikan oleh American National Standards Institute (ANSI) pada tahun 1986. MySQL adalah sebuah sistem manajemen database yang bersifat open source. MySQL adalah pasangan serasi dari PHP. MySQL dibuat dan dikembangkan oleh MySQL AB yang berada di Swedia[10].

MySQL dapat digunakan untuk mengelola database mulai dari yang kecil sampai dengan yang sangat besar. MySQL juga dapat menjalankan perintah-perintah Structured Query Language (SQL) untuk mengelola database-database yang ada di dalamnya. Hingga kini, MySQL sudah berkembang hingga versi 5.


(50)

MySQL 5 sudah mendukung trigger untuk memudahkan pengelolaan tabel dalam database[10].

Sebuah Website yang interaktif dan dinamis, tentunya akan membutuhkan penyimpanan data yang fleksibel dan cepat untuk diakses. Salah satu database untuk server adalah MySQL. MySQL adalah merupakan aplikasi RDBMS (Relational Data Base Management System) yang sangat cepat dan dapat diandalkan dalam menangani basis data. Jenis database ini sangat popular dan digunakan pada banyak website . MySQL menggunakan bahasa SQL (Struktur Query Language) dan bersifat free (gratis atau tidak perlu membayar untuk menggunakannya). Selain itu, MySQL dapat berjalan di berbagai platform, antara lain Linux, Windows, dan lain sebagainya[10].

Melakukan koneksi kepada database MYSQL dengan menggunakan PHP menggunakan dua tahap :

1. Koneksi kepada serverMySQL

Dilakukan untuk melakukan otentikasi, digunakan untuk login ke dalam server, menggunakan MySQL_connect( ).

2. Koneksi kepada database

Dilakukan untuk memilih database mana yang ada dalam server yang akan dimanipulasi, karena bisa saja database yang dimaksud sudah tidak ada. Fungsi yang digunakan adalah MySQL_select_db( ).

2.2.6.6.1 Pengertian MySQL

MySQL adalah perangkat lunak database server atau sebut saja Database Smart. Database ini semakin lama semakin populer. Dengan menggunakan database ini, data semakin aman dan berdaya guna. Database ini juga banyak dipakai pada web database sehingga data semakin terintegrasi antara database dekstop dengan database web. Untuk menggunakan database MySQL harus menginstalasinya dahulu ke komputer[10].

2.2.6.6.2 Keistimewaan MySQL

Sebagai server database dengan konsep database modern, MySQL memiliki keistimewaan. Beberapa keistimewaan dimiliki MySQL sebagai berikut [10]:


(51)

1. Portability

Database MySQL berfungsi dengan stabil tanpa kendala, berarti berlaku pada berbagai sistem operasi seperti Windows, Linux, FreeBSD, Mac OS X Server, Solaris, Amiga, HP-Unix, dan lain-lain

2. Open Source

MySQL merupakan database open source (gratis), di bawah lisensi GPL sehingga dapat memperoleh dan menggunakannya secara cuma-cuma tanpa membayar sepersen pun.

3. Multiuser

MySQL merupakan database yang dapat digunakan untuk menangani beberapa user dalam waktu bersamaan tanpa mengalami masalah. Dan memungkinkan sebuah database server MySQL dapat diakses client secara bersamaan pula.

4. Performance Tuning

MySQL mempunyai kecepatan yang cukup baik dalam menangani query-query sederhana, serta mampu memproses lebih banyak SQL per satuan waktu.

5. Column Type

Database MySQL didukung dengan tipe data yang sangat kompleks, seperti signed/unsigned integer, float, double, char, varchar, text, blob, data, time, datetime, timestamp, year, set serta enum

6. Command And Functions

MySQL server memiliki operator dan fungsi secara penuh yang mendukung perintah SELECT dan WHERE dalam query.

7. Security

Sistem Security pada MySQL mempunyai beberapa lapisan sekuritas seperti tingkatan subnetmask, hostname, dan izin akses user dengan sistem perizinan yang mendetil serta password terenkripsi.

8. Scalability dan Limits

MySQL mempunyai kemampuan menangani database dalam skala cukup besar, dengan jumlah record lebih dari 50 juta dan 60 ribu tabel serta 5 miliar


(1)

Tabel 4.72 Hasil Wawancara bagian admin pertanyaan ke-3

Setelah Anda mencoba, apakah aplikasi ini mudah digunakan dalam memantau pengelolaan data pesanan?

Narasumber

Aplikasi pemesanan menu makanan ini tidak sulit untuk digunakan, terlebih membantu dalam memantau pengelolaan data pesanan.

Tabel 4.73 Hasil Wawancara bagian admin pertanyaan ke-4

Setelah Anda menggunakan aplikasi ini, apakah Anda terbantu dalam mengetahui laporan transaksi?

Narasumber

Sesuai dengan kebutuhan, aplikasi ini membantu dalam mengetahui laporan transaksi. Baik laporan transaksi harian ataupun bulanan.

Tabel 4.74 Hasil Wawancara bagian admin pertanyaan ke-5

Menurut pantauan Anda, apakah aplikasi pemesanan menu makanan restoran berbasis android platform di Cafe La Ponyo ini menunjang/mewakili dalam melakukan pelayanan pemesanan menu makanan untuk pelayan Anda. Narasumber

Aplikasi pemesanan menu ini secara keseluruhan menunjang dalam melakukan pemesanan menu makanan yang dilakukan oleh pelayan di sini.

Berikut daftar pertanyaan yang diajukan kepada narasumber aplikasi bagian kasir:

1. Setelah Anda menggunakan aplikasi ini, bagaimana tanggapan Anda mengenai pembangunan aplikasi pemesanan menu makanan restoran berbasis android platform di Cafe La Ponyo ini?

2. Dari aplikasi yang telah Anda gunakan ini, bagaimana tampilan dari aplikasi ini dilihat secara menyeluruh?

3. Setelah Anda mencoba, apakah aplikasi ini mudah digunakan dalam melakukan input pembayaran?

4. Setelah Anda menggunakan aplikasi ini, apakah Anda terbantu dalam mengetahui laporan transaksi?

5. Menurut Pantauan Anda, Apakah aplikasi pemesanan menu makanan restoran berbasis android platform di Cafe La Ponyo ini menunjang/mewakili dalam mengelola pembayaran dan transaksi yang terjadi.


(2)

212

Adapun rincian hasil dari wawancara terhadap narasumber bagian kasir untuk pertanyaan pertama terdapat pada tabel 4.75 hingga tabel 4.79.

Tabel 4.75 Hasil Wawancara bagian kasir Pertanyaan ke-1

Setelah Anda menggunakan aplikasi ini, bagaimana tanggapan Anda mengenai pembangunan aplikasi pemesanan menu makanan restoran berbasis android platform di Cafe La Ponyo ini?

Narasumber 1 Aplikasi ini sangat bermanfaat, terlebih dalam mengelola pembayaran.

Narasumber 2 Sangat sesuai dengan kebutuhan kami sebagai kasir. Tabel 4.76 Hasil Wawancara bagian kasir pertanyaan ke-2

Dari aplikasi yang telah Anda gunakan ini, bagaimana tampilan dari aplikasi ini dilihat secara menyeluruh telebih bagian kasir ini?

Narasumber 1 Tampilannya cukup baik dan mudah dimengerti. Narasumber 2 Tidak terlalu banyak link-link nya sehingga

memudahkan dalam mengingat bagian-bagiannya.

Tabel 4.77 Hasil Wawancara bagian kasir pertanyaan ke-3

Setelah Anda mencoba, apakah aplikasi ini mudah digunakan dalam melakukan input pembayaran?

Narasumber 1 Tidak terlalu sulit dalam menggunakan aplikasi ini dan cukup mudah digunakan.

Narasumber 2 Mudah digunakan dan langsung terbiasa menggunakannya.

Tabel 4.78 Hasil Wawancara bagian kasir pertanyaan ke-4

Setelah Anda menggunakan aplikasi ini, apakah Anda terbantu dalam mengetahui laporan transaksi?

Narasumber 1 Sesuai dengan kebutuhan, aplikasi ini membatu dalam mengetahui laporan-laporan transaksi yang terjadi. Narasumber 2

Dengan adanya aplikasi ini pekerjaan saya jadi terbantu sekali dalam mengetahui secara otomatis laporan transaksi yang terjadi.


(3)

Tabel 4.79 Hasil Wawancara bagian kasir pertanyaan ke-5

Menurut pantauan Anda, Apakah aplikasi pemesanan menu makanan restoran berbasis android platform di Cafe La Ponyo ini menunjang/mewakili dalam mengelola pembayaran dan transaksi yang terjadi.

Narasumber 1

Dalam pengelolaan pembayaran mewakili sekali dan tidak repot mencatat transaksi yang terjadi secara manual.

Narasumber 2 Menunjang dalam melakukan pengelolaan pembayaran dan transaksi.

4.2.2.3Kesimpulan Pengujian Beta

Berdasarkan hasil persentasi hasil perhitungan pengujian beta pengguna aplikasi pemesanan menu makanan ini, baik pada android platform maupun web base(admin, dapur, dan kasir). Maka dapat disimpulkan bahwa pembangunan aplikasi pemesanan menu makanan pada restoran ini sudah sesuai dengan tujuan, yaitu mempercepat proses pesanan menu pelanggan dari awal pesan sampai tersajinya pesanan, membantu proses pengelolaan antrian pesanan menu di dapur, mempermudah pelayan dalam mengetahui ketersediaan menu.


(4)

(5)

215

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Setelah melalui tahap perancangan, implementasi dan pengujian aplikasi pemesanan menu makanan pada restoran, maka dapat ditarik kesimpulan bahwa:

1. Aplikasi pelayan berbasis android platform ini memenuhi kebutuhan untuk pemesanan makanan yaitu mempercepat proses pemesanan menu pelanggan, dari awal pesan sampai tersajinya pesanan.

2. Pada Aplikasi web base terutama bagian dapur membantu proses pengelolaan pemesanan menu di dapur. Serta aplikasi web base bagian admin dan kasir membantu proses pekerjaan menjadi lebih efisien.

3. Dalam fungsinya aplikasi pelayan berbasis android platform ini juga mempermudah user(pelayan) dalam mengetahui ketersediaan menu sehingga memudahkan pelayan dalam proses pemesanan menu makanan dengan tidak perlu konfirmasi ulang ke dapur untuk mengetahui ketersediaan menu.

5.2 Saran

Aplikasi pemesanan menu makanan pada restoran ini dapat dikembangkan untuk lebih baik, adapun saran-saran terhadap pengembangan aplikasi ini untuk ke depan adalah sebagai berikut:

1. Aplikasi ini dapat berjalan pada platform selain android misalnya blackberry atau iPhone dan aplikasi untuk admin, dapur, kasir dapat juga menggunakan aplikasi Desktop.

2. Kemampuan untuk dapat melihat informasi jumlah biaya yang dikeluarkan, pemasukan serta keuntungan masing-masing produk dalam jangka waktu tertentu.

3. Sistem ini dapat dikembangkan lagi dengan menambahkan aplikasi untuk pelanggan, dan pemesanan Delivery Service.


(6)