• Tidak ada hasil yang ditemukan

TUGAS BESAR PRAKTIKUM TEKNOLOGI INFORMAT

N/A
N/A
Protected

Academic year: 2018

Membagikan "TUGAS BESAR PRAKTIKUM TEKNOLOGI INFORMAT"

Copied!
91
0
0

Teks penuh

(1)

CAFE SEDERHANA

Disusun Oleh:

Kelompok 21

1. Moh. Rizal Tahqiqi (21070116130071)

2. Dinah Asma R. (21070116140085)

3. Dwi ‘Sa Nu (21070116140088)

4. Dita Rizkiana (21070116140100)

PROGRAM STUDI TEKNIK INDUSTRI

(2)

LEMBAR PENGESAHAN TUGAS BESAR

PRAKTIKUM TEKNOLOGI INFORMATIKA CAFE SEDERHANA

Semarang, 24 November 2016

Asisten,

Ardanesia NIM. 21070113130089

Mengetahui, Koordinator Praktikum

(3)

KATA PENGANTAR

Puji syukur kami panjatkan kepada Tuhan Yang Maha Esa yang telah melimpahkan rahmat serta karunia-Nya sehingga kami dapat menyelesaikan Tugas Besar Praktikum Teknologi Informatika dengan program yang kami buat, yaitu Cafe Sederhana. Laporan ini disusun untuk memenuhi nilai tugas mata kuliah Teknologi Informatika.

Tak lupa kami sampaikan terima kasih kepada seluruh pihak yang telah memberi bantuan berupa masukan, motivasi, serta bimbingan dalam penyusunan tugas besar praktikum Teknologi Informatika “Cafe Sederhana” ini.

Kami menyadari bahwa laporan tugas besar ini masih jauh dari sempurna dan masih banyak kekurangan. Oleh karena itu, kritik dan saran yang membangun sebagai pedoman dalam melangkah ke arah yang lebih baik sangat diharapkan. Semoga laporan tugas besar ini dapat menjadi masukan yang berarti dan bermanfaat bagi dunia ilmu pengetahuan. Terima kasih.

(4)
(5)

5.2.3.1 Tampilan lebih ringkas ... 75

5.2.3.2 Validasi dan Password ... 75

5.2.3.3 Multi Payment ... 76

5.2.3.4 Manajemen Pemesanan Lebih Mudah dan Irit Biaya .. 76

5.2.4 Kekurangan ... 76

5.2.4.1 Tidak Bisa Menghapus Pesanan ... 76

5.2.4.2 Tampilan Kurang Menarik ... 76

5.2.4.3 Belum Menggunakan DataBase ... 77

Bab VI Penutup 6.1 Kesimpulan ... 78

6.2 Saran ... 78

(6)

DAFTAR GAMBAR

Gambar 3.1 Flowchart Program Cafe Sederhana ... 12

Gambar 3.1 (lanjutan) Flowchart Program Cafe Sederhana ... 13

Gambar 3.1 (lanjutan) Flowchart Program Cafe Sederhana ... 14

Gambar 3.1 (lanjutan) Flowchart Program Cafe Sederhana ... 15

Gambar 4.1 Tampilan awal ... 25

Gambar 4.2 Tampilan username ... 26

Gambar 4.3 Tampilan username ... 26

Gambar 4.4 Tampilan peringatan password kosong ... 27

Gambar 4.5 Tampilan peringatan password kurang strong ... 27

Gambar 4.6 Screenshot program café sederhana ... 28

Gambar 4.7 Tampilan ketentuan ketentuan pemesanan ... 28

Gambar 4.8 Tampilan ketentuan ketentuan dan pemesanan tempat ... 29

Gambar 4.9 Tampilan pemesanan tempat dengan meja reguler ... 29

Gambar 4.10 Tampilan validasi ... 30

Gambar 4.11 Tampilan pemesanan tempat dengan meja VIP ... 30

Gambar 4.12 Tampilan Validasi setelah pemesanan tempat ... 31

Gambar 4.13 Tampilan daftar menu dan pemesanan ... 32

Gambar 4.14 Tampilan daftar menu dan pemesanan ... 32

Gambar 4.15 Pemesanan ... 32

Gambar 4.16 Tampilan daftar menu dan pemesanan ... 33

Gambar 4.17 Tampilan daftar menu dan pemesanan ... 33

Gambar 4.18 Tampilan rekapan pemesanan ... 34

Gambar 4.19 Tampilan rekapan pemesanan ... 34

Gambar 4.20 Tampilan pilihan cara pembayaran ... 35

Gambar 4.21 Tampilan pembayaran debit ... 35

Gambar 4.22 Tampilan pembayaran debit ... 36

(7)

Gambar 4.25 Tampilan pembayaran kredit ... 37

Gambar 4.26 Tampilan pembayaran kredit ... 38

Gambar 4.27 Tampilan pembayaran kredit ... 38

Gambar 4.28 Tampilan pembayaran tunai ... 39

Gambar 4.29 Tampilan struk pemesanan ... 39

Gambar 4.30 Tampilan struk pemesanan ... 40

(8)

DAFTAR TABEL

Tabel 2.1 Sintaks operator aritmatika... 8

Tabel 2.2 Sintaks aritmatika unary... 8

Tabel 2.3 Sintaks operator perbandingan... 9

Tabel 2.4 Sintaks operator boolean/logika... 9

Tabel 2.5 Sintaks operator bitwise... 10

Tabel 2.6 Sintaks operator set/himpunan... 10

(9)

BAB I PENDAHULUAN 1.1 Latar Belakang

Perkembangan jaman mengharuskan efisiensi dan keakuratan dalam melaksanakan segala hal. Pada saat ini, hampir kehidupan manusia tidak akan lepas dengan teknologi. Dari permasalahan yang kecil hingga komples hamir secara keseluruhan dapat diselesaikan dengan menggunakan bantuan dari teknologi. Pada umumnya teknologi yang digunakan untuk menyelesaikan suatu masalah dinamakan dengan program. Pada jaman dahulu, program dibuat sangat sederhana dan dibuat dengan alat pembuat program yang sangat biasa. Namun, di jaman sekarang ini alat pembuat program sudah berkembang hingga memudahkan pengguna untuk membuat suatu program. Program dibuat dengan menggunakan bahasa yang disebut bahasa pemrograman. Bahasa pemrograman hingga saat ini sudah dikembangkan menjadi beberapa jenis yang masing mempunyai kekurangan dan kelebihan masing-masing. Salah satu dari banyak jenis bahasa pemrograman adalah bahasa pemrograman free pascal. Free Pascal merupakan salah satu bahasa pemrograman bahasa pascal yang sangat cocok untuk digunakan bagi pemula. Bahasa Free Pascal memungkinkan pengguna untuk membuat suatu program yang dapat digunakan untuk menghasilkan suatu solusi dari suatu masalah.

(10)

masing. Hal ini tentunya akan lebih mengefektifkan kinerja dari pelayan dan mempersingkat waktu. Dengan adanya hal ini maka profit akan meningkat. Disamping memberikan profit yang meningkat, program reservasi makanan diharapkan dapat memberikan kepuasan tersendiri untuk pelanggan.

1.2 Rumusan Masalah

Berdasarkan latar belakang di atas, maka rumusan masalah yang didapat adalah bagaimana cara dari Cafe Sederhana untuk merancang self-service sebagai upaya untuk meminimalisasi human error yang terjadi apabila pelayanan pelanggan dilakukan secara manual, apalagi Cafe Sederhana merupakan Cafe yang selalu ramai pengunjung.

1.3 Tujuan Masalah

1. Untuk menjelaskan cara meminimalisasi human error pada pelayanan pelanggan di Cafe Sederhana

2. Untuk mengetahui perancangan sistem pelayanan self-service di Cafe Sederhana

1.4 Batasan Masalah

(11)

1.5 Sistematika Penulisan Bab I Pendahuluan

Bab ini akan membahas tentang latar belakang dari penyusunan program Cafe Sederhana ini beserta rumusan masalah, tujuan masalah, dan batasan masalahnya.

Bab II Dasar Teori

Bab ini akan membahas pemrograman dan bahasa pemrograman, algoritma, pascal, procedure, function, dan operator.

Bab III Flowchart

Dalam bab ini dijelaskan flowchart sesuai dengan program pascal Cafe Sederhana yang telah dibuat

Bab IV Program Aplikasi

Dalam bab ini akan ditunjukkan screenshoot hasil dari contoh penggunaan program Free Pascal pelayanan pelanggan di Cafe Sederhana.

Bab V Listing dan Analisa Program

Dalam bab ini akan ditunjukkan listing dari program Free Pascal pelayanan pelanggan di Cafe Sederhana beserta analisanya.

Bab VI Penutup

(12)

BAB II DASAR TEORI 2.1 Pemrograman dan Bahasa Pemrograman

Komputer tidak bisa melaksanakan sesuatu kalau tidak ada instruksi yang mengaturnya. Instruksi-instruksi yang diberikan kepada komputer agar komputer dapat melaksanakan tugas-tugas tertentu dikenal dengan sebutan program. Sebuah program berisi sekumpulan kode yang bermacam-macam dan bergantung pada bahasa pemrograman yang digunakan (Kadir, 1997).

Bahasa pemrograman adalah notasi yang digunakan untuk menulis program (komputer). Bahasa ini dibagi menjadi tiga tingkatan yaitu bahasa mesin, bahasa tingkat rendah dan bahasa tingkat tinggi. Bahasa mesin (machine language) berupa microinstruction atau hardwire, programnya sangat panjang dan sulit dipahami. Keunggulannya adalah prosesnya sangat cepat dan tidak perlu interpreter atau penterjemah. Bahasa tingkat rendah (low level language) berupa macroinstruction (assembly). Programnya panjang dan sulit dipahami walaupun prosesnya cepat. Bahasa tingkat tinggi (high level language) menyerupai struktur bahasa manusia sehingga mudah dipahami. Bahasa ini tidak tergantung pada arsitektur mesin tetapi memerlukan penterjemah berupa compiler atau interpreter.

2.2 Algoritma

(13)

sebagai metode perhitungan (komputasi) secara umum, sehingga kehilangan makna aslinya. Dalam bahasa Indonesia, kata algorithm diserap menjadi algoritma. Sampai sejauh ini, algoritma didefinisikan sebagai urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis (Munir, 2002).

2.3 Pascal

Sebagai bahasa pemrograman yang terstruktur, bahasa ini menyediakan sejumlah control (berupa REPEAT, WHILE, dan FOR) serta mndukung pembuatan program yang tersusun atas sejumlah blok-blok kecil. Blok-blok kecil ini dapat dipakai untuk membentuk blok yang lebih besar, dan secara keseluruhan membentuk program kerja.

Pencipta bahasa Pascal adalah Niklaus Wirth (EidgenOssische Technishe Hochshule, Zurich, Swiss). Nama pascal sendiri diambil untuk mengenang dan mengabadikan seorang matematikawan Perancis bernama Blaise Pascal (1623-1662), penemu mesin penjumlah mekanis pertama kali. Kepopuleran pascal berkembang seiring dengan berkembangnya PC. Pada platform ini juga terdapat sejumlah kompiler pascal. Salah satunya Free Pascal, yang dikeluarkan Borland International. Free Pascal menyediakan suatu lingkungan terpadu (IDE) yang di antaranya berisi kompiler (untuk mengkompilasi program menjadi suatu objek yang dipahami oleh komputer), debugger (untuk membantu mencari kesalahan program), linker (untuk menggabungkan file objek dan file pustaka serta membentuk file executable), dan editor (untuk menulis program sumber) (Kadir, 1997).

(14)

2.4 Procedure

Suatu program terpisah dalam blok sendiri yang berfungsi sebagai subprogram (program bagian). Prosedur diawali dengan kata cadangan prosedur di dalam bagian deklarasi prosedur. Prosedur dipanggil dan digunakan di dalam blok program yang lainnya dengan menyebutkan judul prosedurnya. Prosedur berguna untuk mengumpulkan suatu statement-statement yang dapat dijalankan menjadi satu dalam blok dan untuk menjalankan kembali hanya dengan menuliskan nama prosedur yang menampungnya yaitu pemanggilan dilakukan pada program utama.

Struktur prosedur:

- JUDUL (header) : nama prosedur dan deklarasi parameter (jika ada) - DEKLARASI : mengumumkan nama-nama dan tipe data

- ALGORITMA : badan prosedur (instruksi)

Prosedur sendiri memiliki sebuah keuntungan diantara lain adalah :

1. Prosedur dapat memecahkan program pada unit logika yang lebih kecil dan program akan menjadi semakin terstruktur sehingga pencarian kesalahan mudah dilakukan

2. Prosedur yang di gunakan dalam suatu program dapat bertindak sebagai suatu blok yang dibangun untuk program yang lain (Jogiyanto, 1989)

Penggunaan/pemanggilan prosedur:

- Prosedur bukan program yang berdiri sendiri - Prosedur tidak dapat dieksekusi secara langsung

- Intruksi-instruksi di dalam prosedur dapat dilaksanakan bila prosedur itu diakses - Prosedur di akses dengan cara memanggil namanya dari program pemanggil

(misalnya dari program utama tau modul program lainnya)

(15)

2.5 Function

Fungsi secara garis besar sama dengan prosedur yang membedakan adalah nama fungsi harus di deklarasikan dengan type datanya. Fungsi adalah suatu bagian program yang mengerjakan satu tugas dan hasilnya biasanya hanya satu. Fungsi juga dapat menerima parameter-parameter seperti prosedur yaitu parameter nilai dan parameter variabel. Selain itu fungsi juga diperbolehkan memiliki deklarasi lokal tersendiri (Jogiyanto, 1989).

Jenis-jenis fungsi antara lain:

1. Fungsi Tanpa Parameter: Semua proses dilakukan di dalam Fungsi yaitu input data, hitung, dan cetak hasil.

2. Fungsi Dengan Parameter Input: Fungsi ini hanya menggunakan parameter formal input yang bertugas menerima data yang dikirim ke dalam Fungsi.

3. Fungsi Dengan Parameter Output: Fungsi ini hanya menggunakan parameter output. Perlu diperhatikan bahwa parameter output didahului oleh kata kunci Var.

4. Fungsi Dengan Parameter Input dan Output: Fungsi ini menggunakan parameter format input dan output. Fungsi ini akan menerima nilai atau data dari variabel a dan yang dikirim ke dalam lewat parameter input. Kemudian mengirim hasil program utama lewat variabel output dan akan diterima (Jogiyanto, 1989).

Perbedaan fungsi dengan prosedur:

1. Pada fungsi suatu niai yang di kirim baik terdapat pada nama fungsinya (kalau pada prosedur pada parameter yang di kirimkan secara acauan)

2. Karena nilai baik berada di dalam fungsi tersebut maka fungsi tersebut dapat langsung digunakan untuk dicetak hasilnya

(16)

2.6 Operator

Operator didefinisikan sebagai sesuatu yang digunakan untuk melakukan operasi-operasi tertentu misalnya operasi-operasi aritmatika, penggabungan string dan banyak lagi yang lainnya.

1. Operator assignment : operator pengerjaan yang menggunakan symbol titik dua dan di ikuti dengan tanda sama dengan untuk mengisi suatu variabel (:=)

2. Operator aritmatika : operator yang di temukan untuk menghitung nilai operasi matematika dan dapat berperan memberikan tanda positif dan negative pada suatu angka

(17)

4. Operator perbandingan

Operator perbandingan yang membandingkan nilai dari 2 operand, hasilnya selalu salah satu dari TRUE atau FALSE. Hasil perbandingan akan bernilai

>= Lebih besar/sama dengan 80>17(output true)

< Lebih kecil 80<17(output false)

<> Tidak sama dengan 36<>14 ( output true) 5. Operator boolean atau logika

Suatu operator yang di gunakan untuk membandingkan suatu 2 kondisi logika, yaitu logika benar (TRUE) dan logika salah (FALSE), operator ini sering digunakan untuk keluar dari proses pengulangan. Jenis operand dalam operator ini adalah boolean.

Tabel 2.4 Sintaks Operator Boolean/Logika Operator Keterangan Contoh And Menghasilkan true jika hasil operand

true

TRUE and FALSE (output : false) Or Menghasilkan true jika salah satu

operand true Not Menghasilkan true jika operand false TRUE or FALSE

(18)

6. Operator bitwise

Adalah suatu operator yang khusus untuk menangani suatu proses logika pada bilangan biner/binary yang bilangan biner/binary sendiri memiliki arti yaitu suatu jenis bilangan yang hanya terdiri dari 2 jenis angka yakni 0 dan 1 (Kadir, 1997).

Suatu operator yang berisi kumpulan dari nilai-nilai yang memiliki kesamaan sifat yaitu tipe data yang sama dan urutan penulisannya tidak diperhatikan, setiap objek dalam himpunan disebut dengan anggota elemen himpunan (Kadir, 1997).

Tabel 2.6 Sintaks Operator Set/Himpunan

Operator Keterangan

Include Menambahkan elemen baru Exclude Mengeluarkan elemen baru

In Cek apakah ada di dalam himpunan 8. Operator address atau pointer

(19)

Tabel 2.7 Sintaks Operator Address/Pointer Operator Keterangan Contoh @ Menampilkan alamat

memory suatu variable

@nama_variabel

^ Menampilkan nilai variabel dari alamat memory

(20)

BAB III FLOWCHART 3.1 Flowchart

Berikut ini adalah flowchart dari program Cafe Sederhana:

Gambar 3.1 Flowchart Program Cafe Sederhana

(21)

bisa memasukkan jumlah orang yang memesan yaitu antara 1-15 orang (meja regular), atau 16-30 orang (meja VIP). Setelah kita mendapat meja, maka kita bisa memasukkan captcha lagi lalu dapat memilih menu.

(22)

Dalam memilih menu, telah disediakan pilihan paket 1, paket 2, paket 3, paket 4, dan paket 5. Jika kita tidak mau memilih paket yang tersedia, maka kita bisa memesannya secara terpisah. Dalam bagan, dijelaskan bahwa bila kita memilih paket 1, maka dalam pesanan kita akan tertulis paket 1. Namun jika tidak atau kita mau menambahkan menu lain, maka kita bisa memilih paket 2, paket 3, paket 4, paket 5, bakwan bakar, batagor kuah, lumpia basah, cireng isi, es krim, es campur, nasi goreng, sate, dan steak jawa. Bila pesanan telah terekap, maka daftar menu pilihan kita sudah selesai ditulis. Selanjutnya, kita akan diberi tawaran apakah mau mengubah pesanan

(23)

atau tidak. Jika ya, maka akan muncul pilihan menu lagi sehingga kita bisa mengubah pesanan. Jika tidak, maka pesanan kita akan tertulis lalu kita akan mendapat harga total.

Setelah itu kita akan melakukan transaksi pembayaran. Dalam pembayaran, kita akan ditawarkan dalam beberapa pilihan diantaranya adalah cash, debit, dan kredit. Jika kita melakukan transaksi melalu pembayaran cash kita akan mendapatkan struk pembayaran langsung dan akhirnya pemesanan berhasil. Jika kita melakukan transaksi melalui debit kita akan diperintahkan untuk memasukan ‘6 digit pin’ dan akan ada tampilan apakah pin itu ‘benar?’. Jika benar, kita akan mendapatkan struk dari transaksi debit dan pemesanan telah berhasil. Sedangkan bila pin salah, maka kita harus memasukkan pin lagi. Jika kita melakukan transaksi melalui kredit kita akan diperintahkan untuk memasukan nomer kartu dan CVV sebanyak tiga digit angka lalu akan ditampilkan apakah nomer kartu CVV itu ‘benar?’, jika benar kita akan mendapatkan struk pembayaran dan pemesanan telah berhasil dilakukan. Bila salah,

(24)

maka kita harus memasukkan nomer kartu dan CVV lagi hingga benar hingga akhirnya kita mendapatkan struk pemesanan kita dan selesai.

3.2 Pseudocode Judul

Program cafe sederhana {program yang digunakan untuk membantu melaksanakan kegiatan reservasi makanan pada suatu cafe}

Deklarasi

Username, password: string {tipe data username dan password adalah tipe data string}

Captcha,jum_orang,pil, pil_bayar,cvv,pin ,jumlah pesanan:integer {tipe data variabel captcha,jum_orang,pil,pi_bayar,cvv,pin adalah integer}

Deskripsi

begin {perintah untuk memulai program cafe sederhana}

repeat {pengulangan untuk proses login}

input (username,password) {perintah memasukan username dan password}

Read(username,password) {username dan password dibaca oleh program}

Until (username)=true and (password)=true {kondisi perulangan yang menyatakan akhir dari perulangan}

Repeat {perulangan untuk melakukan validasi melalui captcha}

Input (captcha) {perintah memasukan validasi captcha yang sudah disediakan secara acak}

Read (captcha) {validasi captcha yang sudah dimasukan dibaca oleh program}

Until (captcha)=true {kondisi perulangan yang menyatakan akhir dari perulangan validasi}

Input(jum_orang) {perintah memasukan jumlah orang (tamu) pada cafe sederhana}

Read(jum_orang) { jumlah orang yang diisikan dibaca oleh program sebagai jum_orang}

If (jum_orang)>30 then do {pemilihan untuk jumlah orang lebih dari 30 orang}

(25)

Else {pilihan lain dari pemilihan}

If (jumlah orang)<31 and (jumlah orang)>15 then do {pemilihan untuk jumlah orang lebih dari 15 orang dan kurang dari 31 orang}

Write(silahkan pindah ke meja VIP) {perintah ke meja VIP}

Else {pilihan lain dari pemilihan}

If (jumlah orang)<16 and (jumlah orang)>0 then do {pemilihan untuk jumlah orang lebih dari 0 orang dan kurang dari 16 orang}

Write(anda menempati meja regular) {perintah ke meja regular}

Endif {akhir pemilihan pertama}

Endif {akhir pemilihan kedua}

Endif {akhir pemilihan ketiga}

Repeat {perulangan untuk melakukan validasi melalui captcha}

Input (captcha) {perintah memasukan validasi captcha yang sudah disediakan secara acak}

Read(captcha) {validasi captcha yang sudah dimasukan dibaca oleh program}

Until (captcha)=true {kondisi perulangan yang menyatakan akhir dari perulangan validasi}

Write(menu) {menulis menu yang ada di dalam cafe sederhana}

Repeat {perulangan pemilihan menu jika pilihan awal ingin diubah}

Input(pil) {user diminta memasukan pilihan menu yang ingin dipesan}

If (pil) <─ 1 then do {pemilihan untuk memilih menu 1}

Input(jumlah pesanan) {user diharuskan mengisi jumlah pesanan dari menu yang dipesan}

Read( jumlah pesanan) {program membaca jumlah pesanan dari suatu menu yang diisikan user}

Total harga <─ jumlah pesanan *harga {perhitungan total harga dari menu yang dipilih}

Else {pilihan lain dari pemilihan}

(26)

Input(jumlah pesanan) {user diharuskan mengisi jumlah pesanan dari menu yang dipesan}

Read(jumlah pesanan) {program membaca jumlah pesanan dari suatu menu yang diisikan user}

Total harga <─ jumlah pesanan *harga {perhitungan total harga dari menu yang dipilih}

Else {pilihan lain dari pemilihan}

If (pil) <─ 3 then do {pemilihan untuk memilih menu 1}

Input(jumlah pesanan) {user diharuskan mengisi jumlah pesanan dari menu yang dipesan}

Read( jumlah pesanan) {program membaca jumlah pesanan dari suatu menu yang diisikan user}

Total harga <─ jumlah pesanan *harga {perhitungan total harga dari menu yang dipilih}

Else {pilihan lain dari pemilihan}

If (pil) <─ 4 then do {pemilihan untuk memilih menu 1}

Input(jumlah pesanan) {user diharuskan mengisi jumlah pesanan dari menu yang dipesan}

Read( jumlah pesanan) {program membaca jumlah pesanan dari suatu menu yang diisikan user}

Total harga <─ jumlah pesanan *harga {perhitungan total harga dari menu yang dipilih}

Else {pilihan lain dari pemilihan}

If (pil) <─ 5 then do { pemilihan untuk memilih menu 1 }

Input(jumlah pesanan) { user diharuskan mengisi jumlah pesanan dari menu yang dipesan }

Read( jumlah pesanan)

{ program membaca jumlah pesanan dari suatu menu yang diisikan user }

Total harga <─ jumlah pesanan *harga { perhitungan total harga dari menu yang dipilih}

Else { pilihan lain dari pemilihan }

(27)

Input(jumlah pesanan) { user diharuskan mengisi jumlah pesanan dari menu yang dipesan }

Read( jumlah pesanan)

{ program membaca jumlah pesanan dari suatu menu yang diisikan user }

Total harga <─ jumlah pesanan *harga { perhitungan total harga dari menu yang dipilih }

Else { pilihan lain dari pemilihan }

If (pil) <─ 7 then do { pemilihan untuk memilih menu 1 }

Input(jumlah pesanan) { user diharuskan mengisi jumlah pesanan dari menu yang dipesan }

Read( jumlah pesanan)

{ program membaca jumlah pesanan dari suatu menu yang diisikan user }

Total harga <─ jumlah pesanan *harga { perhitungan total harga dari menu yang dipilih}

Else { pilihan lain dari pemilihan }

If (pil) <─ 8 then do { pemilihan untuk memilih menu 1 }

Input(jumlah pesanan) { user diharuskan mengisi jumlah pesanan dari menu yang dipesan }

Read( jumlah pesanan)

{ program membaca jumlah pesanan dari suatu menu yang diisikan user }

Total harga <─ jumlah pesanan *harga { perhitungan total harga dari menu yang dipilih}

Else { pilihan lain dari pemilihan }

If (pil) <─ 9 then do { pemilihan untuk memilih menu 1 }

Input(jumlah pesanan) { user diharuskan mengisi jumlah pesanan dari menu yang dipesan }

Read( jumlah pesanan)

(28)

Total harga <─ jumlah pesanan *harga { perhitungan total harga dari menu yang dipilih}

Else { pilihan lain dari pemilihan }

If (pil) <─ 10 then do { pemilihan untuk memilih menu 1 }

Input(jumlah pesanan) { user diharuskan mengisi jumlah pesanan dari menu yang dipesan }

Read( jumlah pesanan)

{ program membaca jumlah pesanan dari suatu menu yang diisikan user }

Total harga <─ jumlah pesanan *harga { perhitungan total harga dari menu yang dipilih}

Else { pilihan lain dari pemilihan }

If (pil) <─ 11 then do { pemilihan untuk memilih menu 1 }

Input(jumlah pesanan) { user diharuskan mengisi jumlah pesanan dari menu yang dipesan }

Read( jumlah pesanan)

{ program membaca jumlah pesanan dari suatu menu yang diisikan user }

Total harga <─ jumlah pesanan *harga { perhitungan total harga dari menu yang dipilih}

Else { pilihan lain dari pemilihan }

If (pil) <─ 12 then do { pemilihan untuk memilih menu 1 }

Input(jumlah pesanan) { user diharuskan mengisi jumlah pesanan dari menu yang dipesan }

Read( jumlah pesanan)

{ program membaca jumlah pesanan dari suatu menu yang diisikan user }

Total harga <─ jumlah pesanan *harga { perhitungan total harga dari menu yang dipilih}

Else { pilihan lain dari pemilihan }

(29)

Input(jumlah pesanan) { user diharuskan mengisi jumlah pesanan dari menu yang dipesan }

Read( jumlah pesanan)

{ program membaca jumlah pesanan dari suatu menu yang diisikan user }

Total harga <─ jumlah pesanan *harga { perhitungan total harga dari menu yang dipilih}

Else { pilihan lain dari pemilihan }

If (pil) <─ 14 then do { pemilihan untuk memilih menu 1 }

Input(jumlah pesanan) { user diharuskan mengisi jumlah pesanan dari menu yang dipesan }

Read( jumlah pesanan) {program membaca jumlah pesanan dari suatu menu yang diisikan user }

Total harga <─ jumlah pesanan *harga { perhitungan total harga dari menu yang dipilih}

If (pil) <─ 15 then do { pemilihan untuk memilih menu 1 }

Input(jumlah pesanan) { user diharuskan mengisi jumlah pesanan dari menu yang dipesan }

Read( jumlah pesanan)

{ program membaca jumlah pesanan dari suatu menu yang diisikan user }

Total harga <─ jumlah pesanan *harga { perhitungan total harga dari menu yang dipilih}

Else { pilihan lain dari pemilihan }

If (pil) <─ 16 then do { pemilihan untuk memilih menu 1 }

Input(jumlah pesanan) { user diharuskan mengisi jumlah pesanan dari menu yang dipesan }

Read( jumlah pesanan)

{ program membaca jumlah pesanan dari suatu menu yang diisikan user }

(30)

Endif {akhir pemilihan pertama }

Write(rekap data) {program menuliskan rekap data pemesanan yang sudah dipesan oleh

user}

Write(nama makanan) {program menuliskan nama makanan yang dipesan oleh user }

Write(jumlah pesanan)

{ program menuliskan jumlah pesanan dari menu yang dipesan oleh user }

Write(harga satuan) {program menuliskan harga satuan dari menu yang dipesan leh

user}

Write(harga total) { program menuliskan harga total pemesanan }

Write(apakah anda ingin mengubah pesanan?)

{pertanyaan apakah user ngin merubah pilihannya atau tidak }

Input(ubah) { user diminta program untuk menginputkan nilai ubah }

Read(ubah) {nilai ubah yang diisikan oleh user dibaca oleh program}

(31)

Write(rekap data final)

{program menuliskan rekap data pemesanan yang sudah dipesan oleh user}

Write(nama makanan) {program menuliskan nama makanan yang dipesan oleh user }

Write(jumlah pesanan)

{ program menuliskan jumlah pesanan dari menu yang dipesan oleh user }

Write(harga satuan) {program menuliskan harga satuan dari menu yang dipesan oleh

user}

Write(harga total) { program menuliskan harga total pemesanan }

Input (pil bayar) { user diminta oleh program untuk memasukan variabel pil bayar}

Read(pil bayar) { program membaca nilai yang diinputkan oleh user}

If (pil bayar) <─ 1 then do { pemilihan metode pembaaran pertama }

Write(struk) { menampilkan struk yag sudah di-finalisasi oleh user }

Else { pilihan lain dari pemilihan }

If (pil bayar) <─ 2 then do { pemilihan metode pembaaran kedua}

Repeat { perulangan memasukan cvv }

Input(cvv) { masukan cvv dari user }

Read(cvv) {cvv yang ditulis oleh user dibaca oleh program}

If (cvv)=true then do {kondisi pemilihan kode cvv}

Endif {akhir dari pemilihan}

Write(struk) { perintah untuk menampilakan struk yang sudah di-finalisasi }

Else { pilihan lain dari pemilihan }

If (pil bayar) <─ 3 then do {pemilihan metode pembaaran ketiga}

Repeat {perulangan memasukan pin}

Input(pin) {masukan pin dari user}

Read(pin) {pin yang ditulis oleh user dibaca oleh program}

If (pin)=true then do {pemilihan metode pembaaran ketiga}

Endif {akhir dari pemilihan}

(32)

Endif { akhir dari pemilihan }

Endif { akhir dari pemilihan }

Write(pemesanan berhasil) { tanda bahwa pesanan kita sukses }

(33)

BAB IV

PROGRAM APLIKASI

Program aplikasi cafe sederhana merupakan program pemesanan menu yang bertujuan memudahkan pelanggan dalam melakukan pemesanan di sebuah café. Dengan digunakannya program ini, dapat meminimalisasi terjadinya human error yang dapat terjadi apabila pelayanan pelanggan dilakukan secara manual.

Gambar 4.1 Tampilan awal

(34)

Gambar 4.2 Tampilan Username

Setelah itu, muncul form username dan password. Seluruh form harus diisi. Apabila username atau password tidak diisi, maka user harus mengisi ulang kembali form tersebut.

(35)

Gambar 4.4 Tampilan peringatan password kosong

(36)

Gambar 4.6 Screenshot program café sederhana

Pada Gambar 4.4, 4.5, 4.6 merupakan tampilan ketika mengisi form password. Pada 4.4 merupakan tampilan apabila user tidak mengisi password. Pada 4.5, muncul peringatan bahwa password yang ditulis harus strong dengan syarat minimal terdapat 6 karakter. Pada 4.6, user telah berhasil menulis password yang strong.

(37)

Gambar 4.8 Tampilan ketentuan ketentuan dan pemesanan tempat

(38)

Gambar 4.10 Tampilan validasi

(39)

Gambar 4.12 Tampilan Validasi setelah pemesanan tempat

(40)

Gambar 4.13 Tampilan daftar menu dan pemesanan

Gambar 4.14 Tampilan daftar menu dan pemesanan

(41)

Gambar 4.16 Tampilan daftar menu dan pemesanan

Gambar 4.17 Tampilan daftar menu dan pemesanan

(42)

sudah melakukan pemesanannya. Dan U apabila pelanggan ingin mengulang pengisian data dari awal.

Gambar 4.18 Tampilan rekapan pemesanan

Gambar 4.19 Tampilan rekapan pemesanan

(43)

dipilih. Kemudian, sebelum melanjutkan ke menu selanjutnya, user diberi kode validasi berupa penjumlahan 4 angka acak.

Gambar 4.20 Tampilan pilihan cara pembayaran

(44)

Gambar 4.22 Tampilan pembayaran debit

(45)

Gambar 4.24 Tampilan pembayaran debit

(46)

Gambar 4.26 Tampilan pembayaran kredit

(47)

Gambar 4.28 Tampilan pembayaran tunai

Pada menu pembayaran, diberi 3 pilihan pembayaran yaitu debit, kredit, dan tunai. Pada debit, user akan diminta untuk memasukkan kartu atm dan memasukkan pin dengan 6 digit. Pada kredit, user akan diminta untuk mengisi nomor kartu sebanyak 16 digit dan CVV 3 digit. Pada pilihan tunai, user diminta untuk membayarnya langsung ke kasir. Dengan menunjukkan struk yang akan dicetak oleh komputer.

(48)

Gambar 4.30 Tampilan struk pemesanan

Gambar 4.31 Tampilan struk pemesanan

(49)

BAB V

LISTING DAN ANALISA PROGRAM 5.1 Listing Program

program cafe_sederhana_21;

{ program cafe sederhana merupakan suatu program yang dirancang sebagai salah satu alternatif yang bisa diterapkan di cafe dalam hal pemesanan yang dapat memberikan berbagai kemudahan }

uses crt; { syntax yang digunakan untuk mengatur unit unit dalam program }

type

pesanan=record {pesanan mempunyai tipe data record yang tipe datanya lebih dari 1}

namamakanan:string; { namamakanan bertipe data string }

jumlahmakanan:integer; { jumlahmakanan bertipe data integer}

harga:integer; { harga bertipe data integer }

hargatotal:longint; { hargatotal bertipe data longint( integer dengan digit lebih banyak}

end; { tanda akhir dari record pesanan }

var

fpesanan :file of pesanan; { fpesanan bertipe file bertipe yaitu pesanan }

rpesanan:pesanan; {rpesanan bertipe pesanan yang merupakan gabungan dari beberapa jenis type dasar yang digabung dlaam record }

nama_pesanan: string; { nama pemesanan mempunyai tipe data string }

harga,harga_makanan: real; { harga total dan harga makanan bertipe data real}

(50)

rdata : array [1..100] of data; { rdata merupakan array/larik dengan indeks 1 sampai 100 yang bertipe data ( data merupakan record)}

filemakanan:file of data; { file makanan merupakan variabel dengan file text bertipe }

k:data; { k mempunyai tipe data yang merupakan record }

username:string; { username bertipe data string }

jumlah_total,bill_tambahan:integer;

{jumlah total harga, bill tambahan vip bertipe data integer }

nomorpemesanan:integer; {nomorpemesanan bertipe data integer }

carapembayaran:string; { cara pembayaran bertipe data string }

pilihanpembayaran:integer; { pilihan pembayaran bertipe data integer } nomormeja:integer; { nomor meja bertipe pembayaran}

label awal;

function terbilang(x:longint):string; { function terbilang yang bertipe string }

function bilang(x:longint):string; { function bilang yang bertipe string }

(51)

11:bilang:='sebelas'; { x=11 ditulis sebelas }

end; { akhir dari pemilihan dengan x sebagai parameter pilihan }

end; { akhir dari function bilang dan terbilang }

begin

if x<12 then { untuk x kurang dari 12}

terbilang := ' ' + bilang(x)

else if x<20 then { untuk x lebih dari 20 }

terbilang:=terbilang(x-10)+' belas'

{ penulisan terbilang adalah nilai x dikurangi 10 kemudian di tambah akhiran belas }

else if x<100 then { untuk x kurang dari 100 }

terbilang:=terbilang(x div 10)+' puluh'+terbilang(x mod 10)

{ untuk x kurang dari 100 peulisan terbilangnya adlah dengan membagi nilai x dengan 10 kemudian ditambah akhiran puluh serta ditambah nilai dari sisa pembagian x dengan 10 }

else if x<200 then { untuk x kurang dari 200 }

terbilang:=' seratus'+terbilang(x-100)

{penulisan terbilangnya diwali dengan kata seratus dan ditambah dengan penulisan nilai dari x dikurangi 100 }

else if x<1000 then { untuk x kurang dari 1000 }

terbilang:=terbilang(x div 100)+' ratus'+terbilang(x mod 100)

{ penulisan terbilangnya diawali dengan pembacaan nilai dari x dibagi 100 kemudian ditambah kata ratus dan diakhiri dengan pembacaan sisa bagi dari x terhadap 100 }

else if x<2000 then { untuk x kurang dari 2000 } terbilang:=' seribu'+terbilang(x-1000)

(52)

terbilang:=terbilang(x div 1000)+' ribu'+terbilang(x mod 1000)

{ penulisan terbilang dari x kurang dari satu juta adalah diawali dengan nilai terbilang dari x dibagi 1000 ditambah kata ribu dan diakhiri dengan pembacaan nilai terbilang dari sisa hasil bagi x dengan 1000}

else if x<1000000000 then { ntuk x kurang dari satu milyar

terbilang:=terbilang(x div 1000000)+' juta'+terbilang(x mod 1000000)

{ penulisan terbilang dari x kurang dari satu milyar adalah diawali dengan nilai terbilang dari x dibagi satu juta ditambah kata juta dan diakhiri dari pembacaan nilai terbilang dari sisa hasil bagi x dengan satu juta }

Else

terbilang:=terbilang(x div 1000000000)+' milyar'+terbilang(x mod 1000000000) ;

{ penulisan terbilang dari x kurang dari satu triliyun adalah diawali dengan nilai terbilang dari x dibagi satu milyar ditambah kata milyar dan diakhiri dari pembacaan nilai terbilang dari sisa hasil bagi x dengan satu milyar }

end; { akhir dari pemilihan if }

procedure validasi;

(53)

{ A, B, C, D, p, q, r, x, y, k mempunyai tipe data integer }

Label { label yang digunakan untuk melakukan perintah goto }

ulangcaptcha; { salah satu label yang didefiisikan adalah ulangcaptcha yang digunakan untuk mengulang captcha apabila trerjadi kesalahan }

begin

(54)

write(' ',q); { hasil pengacakan dibaaca sebgai q}

writeln('Untuk meyakinkan bahwa anda tidak ceroboh, ketik ulang jumlah keempat bilangan di atas');readln(y); { nilai yang dimasukan dibaca sebagai y }

if y<>k then { pemilihan jika nilai inputan y tidak smaa dengan k }

{ kembali ke bagian dimana ulangcaptcha didefinisikan }

(55)

end; end;

procedure pembayaran;

{ merupakan procedure yang digunakan untuk melakukan pemilihan jenis pembayarana yang akan digunakan }

var

pilihanpembayaran:integer;

nomorkredit:string[12]; { maksimal nomer kredit yang diperkenankan adalah 12}

pindebit:string=''; pinkredit:string='';

c:char = #0; { c bertipe data char dengan kode ASCII }

label

ulangpembayaran,ulangdebit,ulangkredit,ulangtunai;

{ label-label yang didefinisikan adalah ulangpembayaran, ulang debit, dan ulang tunai }

begin

(56)
(57)
(58)

writeln;

{kembali ke bagian dimana ulang kredt didefinisikan }

end; end;

(59)
(60)

end;

{ kondisi pemilihan jika digit pin yang dimasukan lebih dari 3 digit }

(61)
(62)

{ label yang akan didefinisikan adalah ulang password dan ulang username }

begin begin

ulangusername: { labelulang username didefinisikan dibagian ini }

clrscr; DIHARUSKAN UNTUK MENGISI DATA DIRI ANDA DAHULU ***');

writeln; writeln;

(63)

write(' USERNAME: ');read(username);

{user diminta untuk memasukan username dan masukan akan dibaca sebagi username }

if (username='') then { kondisi pemilihan jika username kosong}

begin readln;

goto ulangusername;

{ akan kembali ke bagian dima label ulang username didefinisikan}

(64)
(65)

readln; end; end; end;

procedure sistempemesanan;

(66)

writeln('== ====== = = = ====== ====== ====== ==== ====== =

writeln('1. Pelanggan dapat memilih menu yang tersedia/tercantum disini'); writeln('2. Pelanggan dapat memilih menu dengan paket ataupun tanpa paket');

writeln('3. Pelanggan yang membatalkan pesanan, tidak akan menerima uangnya kembali');

writeln('4. Pelanggan dapat memilih tempat/meja reguler dengan kapasitas maksimal 15 orang. Jika pelanggan memesan lebih dari');

writeln(' 15 orang, akan kami arahkan ke tempat VIP dengan kapasitas 30 orang.'); writeln(' Pelanggan hanya dapat memesan 1 meja reguler atau VIP dalam sekali pemesanan');

writeln('5. Untuk meja VIP dikenakan tambahan/charge sebesar Rp.500 rupiah');

writeln('6. Jika pelanggan merasa kurang puas atau mempunyai kritik dan saran mengenai pelayanan kami dapat menghubungi staf');

writeln(' pelayanan kami di lantai 2, atau dapat menghubungi call center kami di (024) 555 444');

writeln('7. Setelah ini, anda diharuskan mengisi jumlah kursi yang anda pesan'); readln;

writeln('---');

writeln;

(67)

writeln;

write('Jumlah orang:');readln(jumlahorang);

{ user memasukan input dan dibaca oleh program sebagai jumlah orang yang akan digunakan untuk penetuan jenis kursi yang dapat digunakan oleh pelanggan}

if (jumlahorang>0) and (jumlahorang<=16) then

{ kondisi pemilihan untuk jumlah orang lebih dari0 dan kurang dari 16}

begin

writeln;

writeln('silahkan menempati meja reguler');

{ pelanggan diarahkan ke meja regular tanpa tambahan biaya}

bill_tambahan:=0; readln;

end;

if (jumlahorang>15) and (jumlahorang<=30) then

{ kondisi pemilihan untuk jumlah orang lebih dari 15 dan kurang dari 31}

begin

writeln;

writeln('Silahkan menempati meja VIP');

{ pelanggan diarahkan ke meja regular dengan tambahan biaya 500 rupiah}

bill_tambahan:=bill_tambahan+harga_vip; readln;

end;

if (jumlahorang>30) then

{ kondisi pemilihan untuk jumlah orang lebih dari 30}

begin

writeln;

(68)

readln;

{ memanggil procedure validasi untuk melakukan verifikasi data yang diisikan readln;

detail=record { detail merupakan tipe record ( menggabungkan jenis data berbeda-beda}

nama:string; { nama mempunyai tipe data string}

harga:longint; { harga bertipe longint atau integer dengan digit yang lebih banyak}

jumlah:integer; { jumlah bertipe integer}

total:longint; {total bertipe longint atau integer dengan digit yang lebih banyak}

end; { akhir dari record}

var

pesanan:array[1..100] of detail;

{ pesanan merupakan array dengan indeks 1 sampai 100 yang bertipe detail }

(69)
(70)

write(' ');writeln(' 14. Es Campur Rp.12500 16. es teh Rp.4000 ');

write(' ');writeln;

writeln('---'); { tampilan menu yang ada di cafe sederhana }

writeln('Keterangan Paket');

writeln('Paket Tembalang : Bakwan bakar, Nasi goreng, es krim, es teh'); writeln('Paket Simpang Lima: Batagor kuah, Sate bonbin, es campur, es teh'); writeln('Paket Gondang : Lumpia Basah, Steak jawa, es krim, es teh'); writeln('Paket Paragon : Cireng isi, Nasi goreng, es campur, es teh'); writeln('Paket Sirojudin : Bakwan bakar, Sate bonbin, es krim, es teh');

writeln('---repeat { perulangan untuk memesan menu kembali }

(71)

write(' == Menu Paket ==');writeln(' == Menu Terpisah ---'); { tampilan menu yang ada di cafe sederhana }

writeln('Keterangan Paket');

(72)

writeln('---write('untuk memesan, silahkan masukan nomer kode makanan yang anda pesan: '); readln(kode);

{ user diminta untuk melakukan pemilihan menu dengan cara memasukan kode menu}

(73)
(74)
(75)
(76)

{user diminta untuk memasukan jumlah pesanan dan dibaca oleh program sebagi julah pesanan untuk suatu menu }

total:=pesanan[i].harga*jumlah_pesanan;

{ total harga adalah harga makanan ke i dikalikan dengan jumlah pesanan untuk menu tersebut }

pesanan[i].jumlah:=jumlah_pesanan; pesanan[i].total:=total;

jumlah_total:=jumlah_total+total;

{harga total merupakan harga total ditambah dengan harga menu lainya yang dipilih }

writeln;

write('apakah anda ingin memesan makanan lagi? [Y/T/U]'); readln(selesai);

{ user mempunyai kesempatan untuk mengulang pemesanannya dengan cara memasukan kode }

n:=i; { i sampai dengan n } i:=i+1;

if (selesai='u') or (selesai='U') then

{ kondisi pemilihan untuk selesai dari pemilihan }

begin

goto atas;

{ kembali ke bagian dimana label atas didefinisikan }

end;

until (selesai='t') or (selesai='T'); { akhir dari perulangan pemilihan menu }

(77)

writeln(' : Nama : Harga : Jumlah : Total :'); Writeln(' ---');

for i:= 1 to n do { dari pesanan menu 1 sampai dengan n }

begin

write(' | ',pesanan[i].nama);gotoxy(24,7+i); { nama menu yang dipesan }

write('| ',pesanan[i].harga);gotoxy(41,7+i); { harga menu yang dipesan}

write('| ',pesanan[i].jumlah);gotoxy(54,7+i); { jumlah setiap menu yang dipesan }

write('| ',pesanan[i].total);gotoxy(71,7+i); { total harga dari menu yang dipesan}

writeln('|')

{ dikenakan biaya tambahan untuk pengunjung yang lebih dari 15}

writeln(' Total Harga = Rp. ',jumlah_total+bill_tambahan);

{total harga yang harus dibayar oleh user }

writeln(' Terbilang =',terbilang(jumlah_total+bill_tambahan));

{ total harga ditransalasikan kedalam kata atau terbilang }

writeln; writeln; writeln; repeat

write('Apakah anda ingin mengulang pengisian data pemesanan anda kembali? [Y/N]');readln(pilihanakhir);{pertanyaan untuk mengetahui apakah user udah cukup yakin dengan pilihanya}

(78)

begin

goto atas;

{ kembali ke bagian dimana label atas didefinisikan}

end;

(79)

end; if (pilihanpembayaran=1) then { kondisi pemilihan cara pembayaran }

carapembayaran:='Debit'; { kode 1 adalah debit }

if (pilihanpembayaran=2) then { kondisi pemilihan cara pembayaran }

carapembayaran:='Kredit'; { kode 2 adalah kredit }

if (pilihanpembayaran=3) then { kondisi pemilihan cara pembayaran }

(80)

begin { program utama dimulai}

nomormeja:=1; { nomor meja dimulai dari satu }

nomorpemesanan:=1; { nomor pemesanan dimulai dari satu }

(81)

writeln;

{ kembali ke bagian dimana label awal didefinisikan} end;

end; end.

5.2 Analisa Program

(82)

5.2.1 Keselarasan Program dengan Skenario

(83)

5.2.2 Keselarasan Program dengan Algoritma

Dalam membuat suatu program, hal pertama yang harus dilakukan adalah melakukan pembuatan konsep dengan menggunakan algoritma. Algoritama merupakan urutan langkah yang logis untuk menyelesaikan masalah. Dalam pembuatan program cafe sederhana ini, pembuat program telah membuat algoritma yang kemudian dijadikan dasar konsep untuk membuat program. Dalam algoritma, pembuat program cafe sederhana telah membuat beberapa hal yang dijadikan dasar untuk membuat program. Diantaranya adalah adanya proses login untuk memesan makanan, menentukan kursi pelanggan, validasi pemesanan, rekap pemesanan, dan pilihan mekanisme pembayaran. Selanjutnya dalam program cafe sederhana yang telah dibuat telah dibuat persyaratan persyaratan yang ada di dalam algoritma. Pada algoritma disyarakan agar terdapat mekanisme login pemesanan, dalam program yang telah dibuat telah dibuat sesuai dengan persyaratan yang ditentukan oleh algoritma yaitu memasukan username dan password. Validasi pemesanan dalam program cafe sederhana menggunakan proses pengacakan bilangan yang kemudian hasil pengacakan program dijumlahkan. Jika masukan nilai yang dimasukan oleh pelanggan sama dengan jumlah pengacakan bilangan maka pelanggan dapat lanjut ke langkah pemesanan berikutnya. Rekap pemesanan yang disyaratkan oleh program juga telah dipenuhi berikut dengan nomer pemesanan dan nomer meja pelanggan. Dalam algoritma ditentukan banyaknya mekanisme pembayaran sebanyak tiga pilihan yaitu melalui debet, kredit, dan tunai. Dalam program yang telah dibuat persyaratan-persyaratan yang ditentukan sudah dipenuhi dengan penambahan masukan pin dan CVV untuk kredit dan debet.

5.2.3 Kelebihan

(84)

5.2.3.1 Tampilan Lebih Ringkas

Kelompok pembuat membuat desain tamppilan menu yang lebih lengkap dan rapi sehingga akan memberikan kemudahan kepada pelanggan untuk dapat memilih menu makanan dengan lebih nyaman dan teliti. Dengan adanya tampilan yang baik ini, diharapkan akan dapat memberikan informasi yang jelas mengenai menu makanan yang dijual oleh suatu vendor makanan. Sehingga tidak menimbulkan kesan bingung kepada pelanggan.

5.2.3.2 Validasi dan Password

Dalam pembuatan program ini, kelompok pembuat program ingin menciptakan rasa aman kepada pelanggan dan juga penjual. Kemudian kelompok pembuat memberikan solusi dengan penerpan captcha validasi dan password. Dengan adanya password, proses transaksi akan lebih formal dan bersifat rahasia. Dengan adanya validasi, kemungkinan-kemungkinan buruk yang berkaitan dengan kejahatan internet akan lebh bisa dihindari. Program cafe sederhana ini juga mendesain bentuk captcha validasi yang berbeda dari kebanyakan. Dalam program ini, captcha dibuat dengan menggunakan pengacakan nomer dan dijumlahkan.

5.2.3.3 Multi Payment

Program ini didesain untuk semua kalangan dalam artian tidak hanya di cafe-cafe besar. Namun juga didesain untuk dterapkan di cafe-cafe-cafe-cafe sederhana yang semakin hari semakin ramai. Berdasarkan hal ini maka pembuat program merancang proses transaksi yang melibatkan 3 cara yaitu dengan cara kredit, debet, dan tunai. Dengan banyaknya pilihan ini diharapkan akan memberikan kemudahan kepada pelanggan untuk melakukan proses transaksi.

5.2.3.4 Manajemen Pemesanan Lebih Mudah dan Irit Biaya

(85)

5.2.4 Kekurangan

5.2.4.1 Tidak Bisa Menghapus Pesanan

Program cafe sederhana ini sebenarnya didesain agar dapat memberikan keleluasaan kepada pelanggan ketika memilih menu makanan. Namun, karena adanya keterbatasan maka dalam pembuatanya program ini tidak dapat menghapus pesanan satu persatu, namun program ini akan menghapus seluruh pesanan jka dikehendaki terjadi perubahan pesanan. Adanya kekuranagan ini sebenarnya tidak keluar dari desain dikarenakan pada dasarnya konsep awal yang diterapkan adalah konsep yang sama. Hanya saja, output yang dihasilkan kurang maksimal.

5.2.4.2 Tampilan Kurang Menarik

Program cafe sederhana ini diharapkan dapat memberikan informasi yang lengkap kepada pelanggan. Namun , untuk merealisasikan hal ini maka dalam pembuatan program ini pembuat tidak memberikan tambahan tampilan kepada program sehingga kesan tampilan program adalah kurang menarik namun tidak mengurangi esensi informasi yang lengkap.

5.2.4.3 Belum Menggunakan Database

(86)

BAB VI PENUTUP 6.1 Kesimpulan

Berdasarkan pembahasan di atas, maka kesimpulan yang dapat diambil adalah:

1. Untuk meminimalisasi human error pada pelayanan pelanggan di Cafe Sederhana, maka dibuatlah program self-service sehingga pemesanan makanan, penentuan nomor meja, beserta pembayaran dapat dilakukan sendiri oleh pelanggan dalam sebuah gadget.

2. Untuk perancangan sistem pelayanan self-service di Cafe Sederhana digunakan program Free Pascal yang memberikan beberapa kemudahan sehingga pemesanan dapat dilakukan dengan lebih efisien dan efektif serta menghemat biaya karena dilakukan oleh pelanggan sendiri.

6.2 Saran

Berdasarkan pembahasan di atas, selaku pembuat program kami memberikan beberapa saran yaitu:

1. Program pelayanan pelanggan di Cafe Sederhana yang dibuat dari Free Pascal ini bisa dikembangkan lebih lanjut agar dapat menjadi sebuah program yang lebih rapi, baik, dan efisien sehingga memudahkan Cafe untuk merekap pemesanan dari pelanggannya.

(87)

DAFTAR PUSTAKA

Jogiyanto, H. (1989). Teori dan aplikasi program komputer: bahasa pascal, jilid I. yogyakarta: Andi Offset.

Kadir, A. (1997). Pemrograman Pascal. Yogyakarta: CV. Andi Offset.

(88)
(89)
(90)
(91)

Gambar

Tabel 2.5 Sintaks Operator Bitwise
Gambar 3.1 Flowchart Program Cafe Sederhana
Gambar 3.1 Flowchart Program Cafe Sederhana (Lanjutan)
Gambar 4.1 Tampilan awal
+7

Referensi

Dokumen terkait

Pada tampilan sub menu materi ini, terdapat pilihan yaitu bila user memilih evaluasi merangkai kata maka akan langsung ke halaman merangkai kata, jika memilih

25 Pada Gambar 3.10 merupakan tampilan antarmuka saat user memilih menu katalog, dimana sistem akan menampilkan data laptop yang terdapat di dalam database serta dapat

Pada tampilan sub menu materi ini, terdapat pilihan yaitu bila user memilih evaluasi merangkai kata maka akan langsung ke halaman merangkai kata, jika memilih

Tampilan menu utama merupakan tampilan setelah user melakukan proses login, pada menu utama user dapat mengakses menu informasi berita terbaru, list tugas akhir

Pada tampilan aplikasi android bagian user terdapat menu materi dan soal latihan user dapat memilih materi yang di sediakan serta dapat mengisi soal latihan

Tampilan Website User Tampilan dashboard user atau halaman utama ini seperti yang digambarkan pada gambar 6 digunakan untuk memilih menu-menu yang dapat dilihat sebagai media

Menu Rambu perintah Gambar III.4 Story Board Menu Rambu perintah Dalam tampilan menu rambu Perintah terdapat sepuluh image button tampilan, yang menggambarkan dari masing-masing

Tampilan Utama Ketika user membuka alamat web dari program Sistem Pakar ini, maka tampilan yang akan terlihat pertama kali adalah tampilan utama, yaitu terdapat menu info, menu mulai,