MAKALAH TUGAS AKHIR
PRAKTIKUM DASAR KOMPUTER DAN PEMROGRAMAN
APLIKASI PENGHITUNG DAN PEMBAYARAN DI RESTORAN DENGAN BAHASA C
Yanfa'uni Ade Pradena Wibowo (21060112120008)
Andreas Bahda Muchamad (2106012130036)
Jurusan Teknik Elektro, Fakultas Teknik, Universitas Diponegoro
Jalan Prof. Sudharto, SH, Tembalang, Semarang, Indonesia
ABSTRAK - Pada saat ini sebagian besar restoran dan rumah makan masih menggunakan cara manual dalam pemesanan dan pembayaran di restoran. Restoran atau rumah makan tersebut masih menggunakan buku menu atau kertas pesanan untuk menuliskan jumlah pesanan makanan atau melakukan pembayaran. Hal ini kurang efektif karena para pelayan harus menghitung secara manual berapa jumlah pesanan dan berapa uang yang harus dibayarkan oleh pelanggan dan kemungkinan terjadinya kesalahan perhitungan lebih besar yang dapat berimbas pada pendapatan penjualan restoran atau rumah makan tersebut.
Perhitungan berapa jumlah pesanan dan jumlah uang yang dibayarkan dapat dibantu dengan bantuan teknologi informasi. Perhitungan tersebut dapat dilakukan dengan sebuah aplikasi yang dibuat untuk mempermudah pelayan dalam menghitung jumlah pesanan dan jumlah uang yang harus dibayarkan oleh pelanggan. Aplikasi ini dapat diterapkan baik untuk membantu pelayan dalam perhitungan jumlah pesanan dan jumlah uang yang dibayarkan ataupun sebagai aplikasi pemesan yang berada di meja pelanggan sehingga pelanggan dapat mengetahui secara langsung berapa uang yang harus mereka bayar untuk makanan atau minuman yang mereka pesan.
Untuk itu dibuatlah sebuah aplikasi pembayaran di restoran dengan menggunakan bahasa C. Aplikasi ini menggunakan kompiler MinGW Developer Studio. Pada aplikasi ini, pelayan atau pelanggan memasukkan jumlah makanan yang mereka pesan lalu setelah itu aplikasi akan menghitung dan menampilkan berapa jumlah uang yang harus dibayar oleh pelanggan. Pelanggan memasukkan jumlah uang yang mereka bayar. Misalnya jumlah uang yang diberikan pelanggan lebih besar dari yang harus dibayarkan maka aplikasi akan menampilkan jumlah uang yang harus dikembalikan oleh pelanggan. Jika uang yang diberikan lebih kecil dari jumlah uang yang harus dibayarkan maka aplikasi ain memberi informasi bahwa uang pelanggan tidak cukup untuk membayar pesanan makanan dan pelanggan harus memasukkan jumlah uang yang cukup untuk menyelesaikan pembayaran.
Kata Kunci : Restoran, MinGW Dveloper Studio, Bahasa C
I. PENDAHULUAN
1.1 Latar Belakang
Restoran atau rumah makan adalah bisnis yang sangat menjanjikan pada saat ini karena setiap manusia pasti membutuhkan makanan. Restoran atau rumah makan melayani permintaan pelanggan yang memesan makanan atau minuman terlebih dahulu, lalu para koki restoran memasak makanan atau minuman yang telah dipesan, kemudian makanan atau minuman yang telah siap saji diberikan kepada pelanggan dan setelah makan pelanggan akan melakukan pembayaran di kasir
Dalam proses pemesanan dan pembayaran, pada saat ini kebanyakan restoran atau rumah makan masih menggunakan cara manual dalam menghitung berapa jumlah pesanan dan berapa jumlah uang yang harus dibayarkan oleh pelanggan. Sebagian besar restoran dan rumah makan masih menggunakan buku menu atau kertas pesanan dalam melakukan pemesanan dan perhitungan jumlah pesanan serta jumlah uang yang harus dibayarkan. Hal ini kurang efektif karena para pelayan harus menghitung secara manual berapa jumlah pesanan dan berapa jumlah uang yang harus dibayarkan. Kemungkinan untuk terjadinya kesalahan perhitungan cukup besar yang dapat berimbas pada pendapatan penjualan dari restoran atau rumah makan tersebut.
Perhitungan jumlah pesanan dan jumlah uang yang harus dibayarkan dapat dibantu dengan teknologi informasi. Perhitungan tersebut dapat dilakukan oleh sebuah program yang dibuat untuk memudahkan pelayan dalam menghitung jumlah pesanan dan jumlah uang yang harus dibayarkan oleh pelanggan. Sehingga mengurangi kesalahan perhitungan jumlah pesanan dan jumlah uang yang harus dibayarkan. Aplikasi ini dapat dibuat melalui bahasa pemrograman C dan kompiler MinGW Developer Studio.
1.2 Tujuan
Tujuan dibuatnya makalah ini adalah :
Memenuhi tugas akhir praktikum Dasar Komputer dan Pemrograman.
Merancang sebuah aplikasi perhitungan dan pembayaran di restoran dengan bahasa C.
Melakukan uji coba aplikasi perhitungan dan pembayaran di restoran.
1.3 Pembatasan Masalah
Pembatasan masalah dalam makalah ini adalah
Aplikasi menggunakan bahasa C dan kompiler MinGW Developer Studio
Perhitungan dibatasi pada jumlah pesanan, uang yang harus dibayarkan, dan jumlah uang yang harus dikembalikan.
Jumlah menu yang tersedia dibatasi 10 menu.
II. DASAR TEORI
2.1 Bahasa C
Bahasa C dikembangkan oleh Dennis Ritchie pada tahun 1972 di Laboraturium Bell yang ada di Murray Hill, New Jersey, AS. Pada tahun 1982, komite ANSI (American National Standards Institute) dibentuk dengan tujuan pembuatan ANSI C yang merupakan standarisasi bahasa C. Bahasa C berisi perekat yang tidak didapatkan pada bahasa-bahasa yang dikembangkan oleh suatu tim pemrograman besar (seperti PL/I dan Algol 68).
Struktur bahasa C dimulai dengan deklarasi pengetikan library yaitu file pustaka yang akan memunculkan berbagai perintah yang akan digunakan dalam aplikasi bahasa C tersebut. Contoh library adalah stdio.h, conio.h, windows.h dan lain lain. Lalu ada pernyataan fungsi utama atau main yaitu pernyataan yang akan mengawali sebuah program dengan tipe data tertentu seperti bilangan bulat (int), huruf (char), dan lain-lain. Kemudian ada syntask yaitu pernyataan-pernyataan akan melakukan perintah kepada aplikasi.
Contoh Syntask adalah printf, scanf, if, else, for, do, while, dan return. Printf adalah syntask yang akan memberikan perintah kepada program untuk menampilkan suatu data tertentu misalnya huruf, angka dan lain-lain. Scanf adalah syntask yang digunakan untuk menerima sebuah data yang dimasukkan melalui program tersebut. If dan else adalah syntask yang berguna untuk membuat suatu kondisi dengan pilihan tertentu, for adalah syntask yang berguna untuk melakukan perintah pengulangan. Sedangkan do dan while adalah syntask yang berguna untuk melakukan perintah pengulangan dalam suatu kondisi tertentu.
2.2 MinGW Developer Studio
MinGW (Minimalist GNU for Windows), sebelumnya bernama MinGW32, adalah software port asli dari GNU Compiler Collection (GCC) dan GNU binutils untuk digunakan dalam pengembangan aplikasi asli dari Microsoft Windows. MinGW dapat berfungsi baik sebagai cross compiler yang ditargetkan ke Windows atau menjalankan toolchain asli pada Windows itu sendiri. Hal ini digunakan bersama dengan satu set library impor didistribusikan secara gratis dan file header untuk Windows API.
MinGW awalnya disebut MinGW32, nomor dijatuhkan untuk menghindari implikasi bahwa itu akan terbatas pada sistem 32-bit. Colin Peters melakukan rilis awal pada tahun 1998, hanya terdiri dari port Cygwin GCC. Jan-Jaap van der Heijden menciptakan port Windows asli GCC dan menambahkan binutils. Mumit Khan kemudian mengambil alih pengembangan, menambahkan lebih fitur Windows-Specific untuk paket, termasuk Win32 header oleh Anders Norlander. Pada tahun 2000, proyek ini dipindahkan ke SourceForge.net untuk meminta bantuan lebih banyak dari masyarakat dan memusatkan perkembangannya.
Untuk bahasa lain selain C, MinGW menggunakan perpustakaan runtime GNU (misalnya, GNU libstdc + + untuk C + +). Namun, karena GCC tidak menyediakan sendiri library C runtime , MinGW C compiler saat ini menargetkan ke library lama Visual C runtime dari Microsoft, MSYCRT (target awal adalah CRTDLL), yang dirilis pada tahun 1998 dan karena itu tidak termasuk dukungan untuk fitur C99 (atau bahkan semua C89), sedangkan menargetkan program MSYCRT hasil yang asli, kurangnya dukungan untuk C99 telah menyebabkan masalah port, terutama spesifikator konversi printf-style yang terkait. Isu-isu ini telah sebagian dapat diatasi dengan implementasi library kompatibilitas C99, libmingwex, tetapi pekerjaan yang luas yang dibutuhkan masih jauh dari lengkap dan tidak pernah dapat sepenuhnya terwujud.
2.3 Restoran
Restoran adalah istilah umum untuk menyebut usaha gastronomi yang menyajikan hidangan kepada masyarakat dan menyediakan tempat untuk menikmati hidangan itu serta menetapkan tarif tertentu untuk makanan dan pelayanannya. Walaupun umumnya restoran menyajikan makanan di tempat, tetapi ada juga restoran yang menyediakan layanan take-out dining dan delivery service untuk melayani konsumennya. Rumah makan biasanya memiliki spesialisasi dalam jenis makanan yang dihidangkannya, misalnya restoran chinese food, restoran Padang, restoran cepat saji (fast food restaurant) dan sebagainya.
III. PERANCANGAN
3.1 Algoritma
Berikut adalah algoritma dari aplikasi penghitung dan pembayaran di restoran dengan menggunakan bahasa C.
Start.
Masukkan jumlah pesanan.
Hitung total harga pesanan.
Tampilkan output total harga pesanan.
Masukkan jumlah uang yang dibayar.
Hitung jumlah uang yang dikembalikan.
Jika jumlah uang yang dikembalikan lebih dari 0 maka tampilkan jumlah uang yang dikembalikan.
Jika jumlah uang yang dikembalikan kurang dari 0 maka tampilkan kata "maaf uang anda tidak cukup" dan kembali ke langkah 6.
Tampilkan pertanyaan "apakah anda ingin memesan lagi? (Y/N) : "
Jika Y maka program akan kembali ke langkah 2.
Jika N maka tampilkan "TERIMA KASIH TELAH BERKUNJUNG".
12. End
3.2 Flowchart
Gambar 1. Flowchart program
IV. PENGUJIAN DAN ANALISA
Berikut gambar pengujian beserta analisa dari aplikasi penghitung dan pembayaran di restoran
Gambar 2. Tampilan Awal
Pada saat pertama kali membuka aplikasi, maka akan muncul jendela seperti pada gambar 1. Lalu pengguna pertama kali mengisi jumlah pesanan makanan atau minuman yang diinginkan.
Gambar 3. Memasukkan pesanan
Pada gambar 2 diberi input pesanan yaitu 2 porsi nasi goreng, 1 porsi nasi ayam bakar, 1 porsi es teh/teh hangat, dan 2 porsi jus mangga. Lalu tekan tombol Enter maka akan muncul tampilan seperti gambar 3
Gambar 4. Tampilan Total Harga
Pada gambar 3 terlihat tampilan jumlah dan apa saja makanan yang dipesan oleh pengguna. Kemudian juga ditampilkan total harga dari semua pesanan yaitu Rp 43000. Lalu pengguna memasukkan jumlah uang yang dibayarkan
Gambar 5. Input uang yang dibayarkan
Pada gambar 4, ketika jumlah uang yang dibayarkan tidak lebih besar atau sama dengan total harga pesanan makanan dan minuman maka program akan menampilkan kata "maaf uang anda tidak cukup" dan akan menampilkan kembali tempat input uang yang dibayarkan agar pengguna memasukkan jumlah uang yang cukup.
Gambar 6. Hasil uang yang dikembalikan
Pada gambar 5, terlihat bahwa input uang yang dibayarkan sebesar Rp 50000, maka akan ditampilkan hasil perhitungan uang yang dikembalikan sebesar Rp 7000 yang merupakan hasil dari jumlah uang yang dibayarkan dikurangi total harga. Pada gambar ini juga ditampilkan pertanyaan "mau pesan lagi ?" maka diisi dengan pilihan Y yang berarti iya dan N yang berarti tidak.
Gambar 7. Kembali ke tampilan awal
Ketika anda memasukkan huruf Y maka program otomatis akan mengembalikan tampilan ke tampilan awal seperti pada gambar 6. Tetapi jika dimasukkan huruf N maka tampilan akan seperti gambar 7 di bawah ini.
Gambar 8. Tampilan akhir
Pada akhir program akan ditampilkan kata "TERIMA KASIH TELAH BERKUNJUNG" dan ketika anda tekan tombol Enter maka program akan otomatis ditutup.
Berdasarkan langkah-langkah yang telah tertulis di atas, terlihat bahwa program dapat berjalan dengan lancar dalam melakukan perhitungan jumlah pesanan, total harga pesanan dan jumlah uang yang dikembalikan.
V. PENUTUP
5.1 Kesimpulan
Kesimpulan dari makalah ini adalah :
Dengan menggunakan bahasa pemrograman C dan kompiler MinGW Developer Studio kita dapat merancang aplikasi penghitung dan pembayaran di restoran.
Uji coba aplikasi penghitung dan pembayaran di restoran dengan menggunakan bahasa C ini telah berlangsung dengan lancar dengan telah berhasilnya aplikasi menghitung total harga pesanan dan minuman dan uang yang dikembalikan setelah pembayaran.
5.2 Saran
Aplikasi ini dapat dikembangkan dengan jumlah menu yang lebih banyak
Aplikasi ini dapat dikembangkan lebih lanjut dengan tampilan Graphics User Interface (GUI) sehingga lebih menarik.
Aplikasi ini dapat diterapkan di restoran ataupun rumah makan sehingga meningkatkan efisiensi kerja dan mengurangi tingkat kemungkinan kesalahan perhitungan
6. DAFTAR PUSTAKA
Pradipta, Penuntun & Referensi Praktis Bahasa Pemograman C dan C++, Yogyakarta, Andi Offset, 2004
__________________, MinGW, http://mingw.org, Desember 2012.
__________________, Restoran, http://id.wikipedia.org/wiki/restoran, Desember 2012
7. BIOGRAFI PENULIS
Yanfa'uni Ade Pradena Wibowo (21060112120008) telah menempuh pendidikan mulai dari TK Attaufiq Kota Jambi, SD Adhyaksa 1 Kota Jambi, SMP Negeri 1 Kota Jambi, dan SMA Negeri 1 Kota Jambi. Saat ini penulis sedang menempuh masa kuliah di Program S1 Teknik Elektro, Fakultas Teknik, Universitas Diponegoro, Semarang.
Andreas Bahda Muchamad
(2106012140036) telah menempuh pendidikan di TK PGRI Kota Cilegon, SD Negeri 2 Kota Cilegon, SMP Negeri 2 Kota Cilegon, dan SMA Negeri 1 Kota Cilegon. Saat ini penulis sedang menempuh masa kuliah di Program S1 Teknik Elektro, Fakultas Teknik, Universitas Diponegoro Semarang
Semarang, Desember 2012
Asisten Koordinator
Pembimbing Praktikum
Ibnu Fauzan Al Aula Farid Arifiyanto
NIM. 21060110141038 NIM. L2F009016