Aplikasi
Digital Order
Berbasis
Client Server
Pada
Perangkat Android
(Studi Kasus Jackpot
Coffee
)
Artikel Ilmiah
Peneliti :
Catur Heru Nugroho (672007020)
Radius Tanone, S.Kom., M.Cs.
Program Studi Teknik Informatika
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
1
Aplikasi
Digital Order
Berbasis
Client Server
Pada
Perangkat Android
(Studi Kasus Jackpot
Coffee
)
Artikel Ilmiah
Diajukan kepada Fakultas Teknologi Informasi
untuk memperoleh Gelar Sarjana Komputer
Peneliti :
Catur Heru Nugroho (672007020)
Radius Tanone, S.Kom., M.Cs.
Program Studi Teknik Informatika
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
8
Aplikasi
Digital Order
Berbasis
Client Server
Pada
Perangkat Android
(Studi Kasus Jackpot Coffee)
1)
Catur Heru Nugroho, 2) Radius Tanone, S.Kom., M.Cs.
Fakultas Teknologi Informasi Universitas Kristen Satya Wacana Jl. Diponegoro 52-60, Salatiga 50711, Indonesia
Email: 1) 672007020@student.uksw.edu, 2) radius.tanone@staff.uksw.edu
Abstract
Jackpot Coffee is a restaurant that serving coffee as a main menu. There are some
problems in Jackpot Coffee’s business process, that is the abscene of reservation means for customer and difficulty in order notes for the waiter. Because of that the digital order application was designed.
Digital order application were designed to making business process easier in restaurant or cafe. This application are used to help business process such as accounting, ordering and menu records, into displaying the favorites menu.
Digital order application are using android device on the client side and computer on the server side. On the client side will ordering and send the order to the server side. On the server side will viewing and calculating the order. The server are using PHP script to view, approving, also calculating and analyze the data that has been stored in a MySQL database server. It aims to gives an alternative menu ordering easier using android device .
Keywords: Android, PHP, Client Server.
Jackpot Coffee merupakan salah satu restoran yang menjadikan kopi sebagai menu andalan. Terdapat beberapa masalah dan kendala dalam proses bisnis di Jackpot Coffee, yaitu tidak adanya sarana reservasi bagi pelanggan dan kesulitan pelayan dalam mencatat pesanan. Karena itu dirancang aplikasi pemesanan digital.
Aplikasi pemesanan makanan digital dirancang untuk mempermudah proses bisnis pada restoran atau cafe. Perancangan aplikasi menggunakan metode prototype dengan konsep client server pada perangkat android. Aplikasi ini digunakan untuk membantu proses bisnis seperti pembukuan, pemesanan, pencatatan menu, hingga menampilkan menu favorit.
Aplikasi pemesanan digital menggunakan perangkat android pada sisi client dan perangkat komputer pada sisi server. Pada sisi client akan melakukan pemesananan kemudian mengirimkan pesanan ke sisi server. Pada sisi server akan melihat dan menghitung jumlah pesanan. Server menggunakan Script PHP dalam melihat, menerima, serta melakukan perhitungan dan analisa data yang telah tersimpan di basis data MySQL server. Hal ini bertujuan untuk memberikan alternatif dan kemudahan pemesanan menu menggunakan perangkat android.
Kata Kunci : Android, PHP, Client Server.
1)
Mahasiswa Program Studi Teknik Informatika, Fakultas Teknologi Informasi, Universitas
Kristen Satya Wacana Salatiga.
2)
9
1. Pendahuluan
Jackpot Coffee merupakan salah satu restoran yang menjadikan kopi sebagai menu andalan. Karena banyaknya penikmat kopi di Salatiga, membuat restoran ini selalu ramai pengunjung. Seringkali pelayan kesulitan untuk mengingat pesanan pengunjung dikarenakan hanya ada tiga pelayan yang melayani pengunjung. Kesulitan lain berdampak pada pengunjung yang seringkali kecewa karena tidak mendapat tempat duduk karena keterbatasan tempat dan tidak adanya sarana reservasi tempat duduk.
Android dipilih karena dari hasil kuisioner didapati banyaknya pelanggan yang datang di kafe merupakan pengguna perangkat dengan sistem operasi ini. Penggunaan konsep client server pada aplikasi pemesanan menu di Jackpot Coffee akan memudahkan pelanggan dalam memesan menu serta mampu membantu pegawai dalam mencatat pesanan.
Masalah awal yang sering timbul pada sisi pelanggan adalah kesulitan mendapatkan tempat duduk serta tidak adanya informasi mengenai tampilan menu yang akan dipesan, namun pada sisi pelayan sendiri juga mengalami kendala seperti kesalahan dalam mengantar pesanan dan perhitungan penjualan.
Untuk mengatasi hal tersebut maka dibuat aplikasi digital order berbasis client server pada perangkat android. Aplikasi dibuat dengan tujuan mempermudah pelayan mencatat pesanan dan mempermudah pelanggan dalam melakukan pemesanan serta reservasi untuk tempat duduk. Sehingga pembuatan aplikasi digital order akan bermanfaat membantu pelanggan dalam melakukan pemesanan menu dan reservasi serta membantu pelayan dalam mencatat pesanan dari pelanggan.
2. Kajian Pustaka
Pada penelitian Perancangan Dan Implementasi Aplikasi Pemesanan Makanan Dan Minuman Berbasis Client Server Dengan Platform Android (Studi Kasus Waroeng Steak And Shake), didapatkan bahwa aplikasi dapat mengatasi pemesanan makanan dan minuman dengan platform android berbasis client server sehingga hal ini dapat mempermudah dan mempercepat pelayanan [1].
Penelitian yang lainnya, yaitu pada jurnal dengan judul Rancang Bangun Aplikasi Pemesanan Makanan dan Minuman Pada Ketty Berbasis Client Server dengan Platform Android. Pada pengembangan aplikasi tersebut diperoleh hasil dalam peningkatan kinerja waitress guna kenyamanan pelanggan serta Sistem dapat mencatat transaksi penjualan, pendapatan dan laporan harian penjualan yang dibutuhkan perusahaan dalam proses pemantauan. [2].
Berdasarkan hasil yang didapatkan dari kedua penelitian tersebut, maka konsep client server akan digunakan dalam aplikasi digital order untuk Jackpot Coffee. Kedua penelitian tersebut membuktikan adanya peningkatan kinerja pelayan serta mempermudah dan mempercepat pelayanan.
10
Jackpot Coffee merupakan salah satu restoran yang menyajikan olahan kopi sebagai andalan dan berbagai macam menu lainnya. Dengan menempati sebuah rumah tua di daerah Sinoman Salatiga, Jackpot Coffee mencoba menghadirkan nuansa klasik yang bersahaja. Bertempat di Jl. Imam Bonjol No.37 Salatiga, menjadikan restoran ini selalu ramai karena lokasinya yang strategis [3].
Android merupakan sistem operasi untuk perangkat telepon seluler yang biasanya digunakan pada telepon pintar ataupun pada komputer tablet. Berbasis pada kernel linux dengan sumber terbuka, hal ini mendorong para pengembang aplikasi untuk berlomba – lomba menghasilkan aplikasi kreasi mereka untuk digunakan sendiri maupun untuk dibagikan bagi orang lain baik secara berbayar maupun secara gratis.
Pada dasarnya, android merupakan sekumpulan framework dan library yang berjalan diatas kernel linux. Android menggunakan Dalvik Virtual Machine (DVM) yang berfungsi untuk menginterpretasikan dan menghubungkan seluruh kode [4].
Client server merupakan suatu bentuk arsitektur jaringan komputer, dimana client adalah perangkat penerima yang akan menampilkan dan menjalankan aplikasi dan server adalah perangkat penyedia yang bertindak sebagai pengelola aplikasi, data, dan keamanannya. [5].
PHP merupakan adalah bahasa skrip yang dapat ditanamkan atau disisipkan ke dalam HTML. Sebagian besar sintaks dipinjam dari bahasa C, Java, dan Perl dengan menyisipkan beberapa fitur PHP khusus yang unik. Tujuan dari bahasa ini adalah untuk memungkinkan pengembang web menulis halaman yang dihasilkan secara dinamis dan cepat. [6].
3. Metode Perancangan Sistem
Metode yang digunakan dalam perancangan sistem adalah Prototype. Pada metode prototype, pertama kali akan dilakukan pengumpulan kebutuhan data yang akan digunakan untuk perancangan aplikasi. Kemudian melakukan desain aplikasi. Setelah itu, mulai membangun prototype sesuai kebutuhan. Setelah prototype jadi, kemudian melakukan evaluasi. Apabila pada tahap evaluasi terdapat kekurangan, maka akan kembali lagi ke tahap awal dengan menambahkan kekurangan sebagai kebutuhan yang baru dan melanjutkan tahapan berikutnya sesuai alur seperti pada gambar 1.
11
Perancangan sistem menggunakan Unified Modelling Language (UML) yang terdiri dari use case diagram, activity diagram, dan class diagram.
Di dalam usecase diagram, terdapat dua actor yaitu admin pada sisi server dan user pada sisi client yang masing-masing dapat melakukan seperti pada Gambar 2.
Gambar 2Use Case Diagram
Activity diagram menggambarkan proses-proses yang terjadi dari suatu aktifitas dimulai sampai berhenti. Untuk kebutuhan proses dari sistem yang akan dibangun.
Gambar 3Activity Diagram User
12
langsung melakukan reservasi untuk pemesanan tempat duduk serta menu yang diinginkan terlebih dahulu sebelum user datang atau sampai di Jackpot Coffee.
Gambar 4Activity Diagram Admin
Gambar 4 menggambarkan aktifitas admin saat menjalankan aplikasi web server untuk melayani pesanan dan reservasi. Pertama kali, admin diharuskan melakukan login terlebih dahulu untuk dapat mengakses halaman web server. Setelah login berhasil, akan muncul tampilan berupa daftar pesanan dan reservasi. Setelah mengetahui daftar pesanan user, admin akan membuat dan mengantarkan pesanan.
Class diagram terdiri dari kelas dan hubungan antar kelasnya. Class diagram menggambarkan struktur dari suatu sistem. Asosiasi digunakan pada Class diagram untuk menghubungkan antar kelasnya, bisa dengan agregasi, komposisi, generalisasi, dan dependensi.
13
4. Pembahasan Alur dan Implementasi Program
Implementasi Aplikasi Pada Android Device
Dalam aplikasi pemesanan menu pada Jackpot Coffee, user (pelanggan) akan langsung memperoleh beberapa pilihan menu utama pada tampilan awal aplikasi. Beberapa pilihan menu utama pada tampilan awal yaitu Menu List, Your Order, dan Reservation seperti tampak pada gambar 5.
Gambar 5 Tampilan Awal
Menu List
14
Gambar 6 Daftar kategori makanan dan minuman.
Kode Program 2 Kode Program untuk menampilkan daftar kategori makanan dan minuman
Setelah memilih kategori menu, maka akan muncul tampilan berupa daftar menu. Daftar menu yang muncul adalah menu berdasarkan kategori yang dipilih. Daftar menu yang ditampilkan berupa gambar, nama menu, dan harga masing-masing item. Untuk tampilan daftar menu diperoleh aplikasi dengan mengakses tabel menu pada database server kemudian menampilkannya menurut kategori yang dipilih. Daftar inilah yang menjadi acuan user untuk memilih menu mana yang diinginkan.
Jika user memilih salah satu item dari daftar menu, maka akan muncul tampilan berupa gambar makanan atau minuman yang diinginkan berikut nama, harga, dan keterangan mengenai detail menu seperti pada gambar 7.
JSONObject json = new JSONObject(str);
JSONArray data = json.getJSONArray("data");
for (int i = 0; i < data.length(); i++) {
JSONObject object = data.getJSONObject(i);
15
Gambar 7 Tampilan detail makanan dan minuman Kode Program 3 Kode Program untuk menampilkan detail makanan dan minuman
Pada tampilan detail menu ini, ditampilkan informasi berupa gambar menu, nama menu, harga, dan keterangan yang berkaitan dengan penyajian menu. Informasi tersebut didapat dengan mengakses tabel menu pada database server.
Untuk memesan menu yang dipilih, user harus menekan tombol Add this to my order. Tombol tersebut berfungsi untuk menambahkan menu yang dipilih berikut jumlah pesanan ke dalam daftar pesanan. Daftar pesanan tidak akan langsung dikirim ke server, melainkan akan disimpan pada database sementara yang terdapat pada aplikasi. Penyimpanan sementara bertujuan untuk mempermudah user jika ingin menghapus pesanan dari daftar pesanan yang sudah dibuat. Daftar pesanan dapat diakses dan ditampilkan pada halaman Your Order yang terdapat pada tampilan awal aplikasi.
JSONObject json = new JSONObject(str);
JSONArray data = json.getJSONArray("data");
for (int i = 0; i < data.length(); i++) {
JSONObject object = data.getJSONObject(i);
JSONObject menu = object.getJSONObject("Menu_detail");
Menu_image = menu.getString("Menu_image"); Menu_name = menu.getString("Menu_name"); Menu_price =
Double.valueOf(formatData.format(menu.getDouble("Price"))); Menu_serve = menu.getString("Serve_for"); Menu_description =
16
Your Order
Tombol kedua dari tampilan awal aplikasi adalah tombol Your Order. Tombol Your Order akan mengarahkan user pada tampilan berupa halaman My Order yang berisi informasi mengenai pesanan user berikut total jumlah dan harga menu. Informasi yang ditampilkan merupakan daftar pesanan yang tersimpan pada database sementara aplikasi. Untuk perhitungan harga, aplikasi akan menghitung berdasarkan harga tiap item dikalikan dengan jumlah pesanan tiap item. Informasi dari daftar pesanan akan ditampilkan seperti pada gambar 8.
Gambar 8 Tampilan halaman My Order
Kode Program 4 Kode Program untuk tampilan My Order
Daftar pesanan dapat dihapus oleh user dengan memilih menu yang ingin dihapus jika ingin menghapus beberapa item. Namun jika user ingin menghapus keseluruhan daftar pesanan, cukup dengan menekan tombol Clear all order. Daftar pesanan hanya bersifat sementara dan tersimpan di database sementara yang terdapat pada aplikasi. Daftar pesanan akan dikirim ke server saat user melakukan reservasi.
ViewHolder holder;
if(convertView == null){
convertView =
inflater.inflate(R.layout.order_list_item, null);
17
Reservation
Tombol ketiga dari halaman utama yaitu tombol Reservation. Pada halaman Reservation ini berguna untuk proses reservasi dan pemesanan menu. Untuk melakukan reservasi, user diminta untuk mengisi form nama, jumlah orang, tanggal, jam, nomor telfon, dan nomor meja seperti tampak pada gambar 10.
Informasi yang diisikan oleh user akan dikirim ke server setelah form terisi semua dan menekan tombol Send reservation. Pada proses ini, sistem akan memasukkan informasi pada tabel reservation di database server. Tabel tersebut berisi kolom nama, jumlah orang, tanggal, jam, nomor telfon, nomor meja, serta daftar pesanan. Daftar pesanan sementara yang sudah dibuat oleh user akan dimasukkan ke dalam kolom daftar pesanan pada database server.
Gambar 9 Tampilan halaman Reservation
Kode Program 5 Kode Program untuk tampilan Reservation
Name = edtName.getText().toString();
NumberOfPeople = edtNumberOfPeople.getText().toString();
Date = btnDate.getText().toString(); Time = btnTime.getText().toString(); Phone = edtPhone.getText().toString(); Table = edtTable.getText().toString(); Date_n_Time = Date+" "+Time;
if(Name.equalsIgnoreCase("") ||
NumberOfPeople.equalsIgnoreCase("") ||
Date.equalsIgnoreCase(getString(R.string.date)) ||
Time.equalsIgnoreCase(getString(R.string.time)) ||
Phone.equalsIgnoreCase("")){
Toast.makeText(Reservation.this, R.string.form_alert,
Toast.LENGTH_SHORT).show();
}else if((!Later) && (data.size() == 0)){
Toast.makeText(Reservation.this, R.string.order_alert,
Toast.LENGTH_SHORT).show(); }else{
new sendData().execute();
18
Tampilan halaman web pada sisi server
Pada sisi server, seorang admin harus melakukan login terlebih dahulu untuk dapat melihat tampilan daftar reservasi dan pesanan. Admin juga dapat melakukan penambahan, merubah, dan menghapus kategori maupun daftar menu makanan dan minuman.
Halaman Reservation
Admin dapat melihat daftar reservasi di halaman Reservation seperti pada Gambar 10.
Gambar 10 Halaman Reservation
Kode Program 6 Kode Program untuk halaman Reservation
Pada halaman reservation, web server mengambil data dan menampilkan tabel reservasi yang terdapat pada database server. Tampilan halaman reservation berupa tabel yang berisi kolom ID, nama, jumlah orang, tanggal dan jam, nomor telfon, nomor meja, dan status reservasi.
Pada kolom Action, terdapat dua tombol, yaitu View Detail dan Delete. Tombol View Detail berfungsi untuk membuka halaman reservation detail. Halaman tersebut berisi informasi reservasi yang telah dilakukan oleh user. Pada halaman ini, admin dapat melihat dan mengetahui detail reservasi dan daftar pesanan menu yang dipesan oleh user (pelanggan). Ketika pesanan sudah dibuat dan diantar ke meja pelanggan, maka admin akan mengubah status reservasi dari Not Processed menjadi Processed. Hal ini berfungsi sebagai penanda bahwa user telah dilayani. Sedangkan tombol Delete berfungsi untuk menghapus reservasi ketika terjadi pembatalan reservasi.
1. if(empty($keyword)){
2. $sql_query = "SELECT ID, Name, Number_of_people, Date_n_Time, Phone_number, Comment, Status FROM tbl_reservation ORDER BY Date_n_Time DESC";
3. }else{
4. $sql_query = "SELECT ID, Name, Number_of_people, Date_n_Time,
Phone_number, Comment, Status FROM tbl_reservation WHERE Name LIKE ? 5. ORDER BY Date_n_Time DESC";
19
Halaman Menu
Halaman Menu berisi daftar menu yang tersedia di Jackpot Coffee. Halaman ini menampilkan daftar menu dari tabel menu yang terdapat pada database server. Tampilan halaman Menu tampak pada gambar 11.
Gambar 11 Halaman daftar Menu
Kode Program 7 Kode Program untuk halaman Menu
Halaman Menu menampilkan tabel menu yang berisi kolom ID menu, nama menu, jumlah porsi tiap item, harga, dan kategori. Pada halaman ini, admin dapat melihat detail menu, menambah menu baru, mengedit menu, serta menghapus menu yang kosong atau sudah tidak dibuat. Untuk menambah menu baru, admin cukup menekan tombol Add New Menu. Proses tersebut akan menambahkan menu baru ke dalam tabel menu pada database server. Sedangkan pada kolom Action, terdapat tiga tombol yaitu View Detail, Edit, dan Delete. Tombol View Detail berfungsi untuk melihat detail menu yang ada. Detail berisi gambar menu, harga, dan keterangan mengenai penyajian menu. Detail tersebut diakses oleh web server dari tabel menu pada database server. Tombol Edit berfungsi untuk mengedit detail menu. Proses ini akan merubah detail menu yang terdapat di tabel menu pada database server. Tombol Delete berfungsi untuk menghapus menu dari tabel menu pada database server.
1. if(empty($keyword)){$sql_query = "SELECT Menu_ID, Menu_name,
Category_name, Price, Serve_for FROM tbl_menu m, tbl_category c WHERE m.Category_ID = c.Category_ID ORDER BY m.Category_ID ASC";
2. }else{$sql_query = "SELECT Menu_ID, Menu_name, Category_name, Price,
Serve_for FROM tbl_menu m, tbl_category c WHERE m.Category_ID = c.Category_ID AND Menu_name LIKE ? ORDER BY m.Category_ID ASC";}
20
Pengujian Aplikasi
Pengujian aplikasi dilakukan pada sisi client dan sisi server untuk mengetahui apakah sistem sudah sesuai dengan kebutuhan. Pada sisi client pengujian dilakukan oleh 30 orang pelanggan Jackpot Coffee. Pada sisi server pengujian dilakukan oleh 4 orang, terdiri dari 3 orang pelayan dan 1 orang admin (pemilik). Proses pengujian pada sisi client menggunakan 3 buah perangkat android yang disediakan di Jackpot Coffee dan beberapa perangkat android milik pelanggan. Sedangkan pengujian pada sisi server hanya menggunakan 1 unit laptop. Keseluruhan perangkat android dan laptop telah terkoneksi jaringan internet.
Hasil pengujian berupa dua macam lembar pertanyaan, yaitu lembar pertanyaan untuk pelanggan dan lembar pertanyaan untuk admin. Masing-masing lembar pertanyaan berisi 5 buah pertanyaan yang berkaitan dengan pengujian aplikasi. Pilihan jawaban untuk tiap pertanyaan yaitu Kurang, Cukup, dan Baik.
Berdasarkan perbandingan jumlah jawaban dari lembar pertanyaan pelanggan didapatkan hasil bahwa aplikasi berjalan baik dan memenuhi kebutuhan pelanggan dalam proses pemesanan dan reservasi. Berdasarkan jawaban dari lembar pertanyaan admin menunjukkan bahwa aplikasi berjalan dengan baik dan memenuhi kebutuhan pelayan dan admin.
21
5. Simpulan dan Saran
Berdasarkan hasil penelitian dan pembahasan yang telah dilakukan tentang aplikasi pemesanan menu makanan dan minuman, maka dapat disimpulkan bahwa dengan menggunakan aplikasi ini, pelanggan menjadi lebih mudah dalam melakukan pemesanan menu makanan dan minuman serta melakukan reservasi. Sedangkan dari pelayan Jackpot Coffee sendiri menjadi terbantu dalam mencatat pesanan. Dan dari admin Jackpot Coffee akan lebih mudah dalam menambah, mengedit, ataupun menghapus menu yang ada.
22
6. Daftar Pustaka
[1] Ariefianto, Himawan, Mohamad Dani, Perancangan Dan Implementasi Aplikasi
Pemesanan Makanan Dan Minuman Berbasis Client Server Dengan Platform Android
(Studi Kasus Waroeng Steak And Shake), TELKOMNIKA, 1 : 1,
http://journal.uad.ac.id/index.php/TELKOMNIKA/article/downloadSuppFile/1384/132
diakses tanggal 25 Juli 2014.
[2] Sari, Yunita, Shella Atmajaya, Rachmansyah, Rancang Bangun Aplikasi Pemesanan
Makanan dan Minuman Pada Ketty Berbasis Client Server dengan Platform Android,
STMIK GI MDP,
http://eprints.mdp.ac.id/888/1/JURNAL%202009240082%20Yunita%20Sari%20dan%20
2009240093%20Shella%20Atmajaya.pdf diakses tanggal 11 September 2014.
[3] http://www.kabarkuliner.com/jackpot-coffee-salatiga, Diakses tanggal 9 November 2014.
[4] http://id.wikipedia.org/wiki/Android_(sistem_operasi), Diakses tanggal 9 November
2014.
[5] http://www.patartambunan.com/pengertian-server-dan-client-server-jaringan-komputer/
Diakses tanggal 11 November 2014