Uploaded by M.Farhan Fayadh

Tugas Akhir Kelompok 1

advertisement
LABORATORIUM JARINGAN & KOMPUTER (2023)
BAB VIII
TUGAS AKHIR
8.1
Studi Kasus
Dewasa ini, zaman yang terus berkembang membuat kegiatan
masyarakat semakin dinamis. Ditambah dengan cuaca yang tidak menentu
dan pesatnya perkembangan teknologi, tidak dapat disangkal bahwa
kebutuhan masyarakat terus bertambah. Meningkatnya kebutuhan (needs)
ini berefek pada meningkatnya permintaan akan produk terkait karena
produk merupakan sesuatu yang dapat memenuhi kebutuhan. Salah satu
produk yang dibutuhkan semua orang adalah produk makanan dan
minuman yang mudah diperoleh dan dikonsumsi. Titik penjualan produk
makanan dan minuman yang mulai mengalami perkembangan signifikan
dalam beberapa dekade terakhir adalah Vending Machine, atau mesin
retail/jual otomatis.
Dalam pembuatan Vending Machine ini, kami memanfaatkan
teknologi dibidang pemrograman yang menggunakan bahasa C.
Konsumen yang ingin memilih dan membeli produk makanan dan
minuman yang kemudian produk yang diinginkan akan keluar melalui
Vending Machine dapat melakukan pembayaran melalui 2 metode yaitu
pertama menggunakan Qris yang berupa sebuah Barcode sehingga
konsumen dapat melakukan pembayaran secara cashless dimana langsung
sesuai dengan nominal yang tertera dan tidak perlu ada nya kembalian dan
yang kedua menggunakan Cash jika konsumen mengalami gangguan
jaringan/masalah dalam pembayaran dengan Qris, dan akaada nya
kembalian jika konsumen memberikan Cash yang lebih dari nominal.
Dibuatnya program ini diharapkan agar:
1. Mempermudah konsumen dalam memilih dan membeli produk
makanan dan minuman yang diinginkan
2. Efisiensi waktu, karena ketepatan dan kecepatan alat ini dalam
memproses pembelian khususnya dalam pembayaran yang
menggunakan 2 metode
3.
8.2
Sintaks Program
//TUGAS AKHIR KELOMPOK 1
/*
NASHWA NABILA AUDIPO (2307110315)
LABORATORIUM JARINGAN & KOMPUTER (2023)
DIAN NOVRIANTO(2307111844)
HERBETH ANJUALANA(2307135294)
JULIO SONTRI DEO VANI LUMBAN G.(2307112926)
MIRA WULANDARI(2307113365)
MUHAMMAD FARHAN FAYADH(2307127038)
MUHAMMAD YUDHA AKBAR(2307111843)
TAMARA MAHARANI LESILOLO(2307135302)
*/
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <unistd.h>
void garis();
int main ()
{
int j, k, jumlah, pilihan, total, tambahBarang, hargaBarang, bayar,
kembali, statusTambah;
char CocaCola, PucukHarum, Frestea, pemilihan_1, pemilihan_2;
srand(time(NULL));
//Judul Program Menggunakan Array Multidimensi//
awal:
system("color 0A");
static int VENDINGMACHINE [14][52]=
{
NASHWA NABILA AUDIPO (2307110315)
LABORATORIUM JARINGAN & KOMPUTER (2023)
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
{1,0,0,0,1,0,1,1,1,1,0,1,0,0,1,0,1,1,1,0,0,1,1,1,0,1,0,0,1,0,1,1,1,1,0,
0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
{1,0,0,0,1,0,1,0,0,0,0,1,1,0,1,0,1,0,0,1,0,0,1,0,0,1,1,0,1,0,1,0,0,0,0,
0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
{1,0,0,0,1,0,1,1,1,1,0,1,0,1,1,0,1,0,0,1,0,0,1,0,0,1,0,1,1,0,1,0,1,1,0,
0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
{0,1,0,1,0,0,1,0,0,0,0,1,0,0,1,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,1,0,0,1,0,
0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
{0,0,1,0,0,0,1,1,1,1,0,1,0,0,1,0,1,1,1,0,0,1,1,1,0,1,0,0,1,0,0,1,1,1,0,
0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
{1,0,0,0,1,0,0,1,1,0,0,0,1,1,1,0,1,0,0,1,0,1,1,1,0,1,0,0,1,0,1,1,1,1,0,
0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
{1,1,0,1,1,0,1,0,0,1,0,1,0,0,0,0,1,0,0,1,0,0,1,0,0,1,1,0,1,0,1,0,0,0,0,
0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
{1,0,1,0,1,0,1,1,1,1,0,1,0,0,0,0,1,1,1,1,0,0,1,0,0,1,0,1,1,0,1,1,1,1,0,
0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
{1,0,0,0,1,0,1,0,0,1,0,1,0,0,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,1,0,0,0,0,
0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
{1,0,0,0,1,0,1,0,0,1,0,0,1,1,1,0,1,0,0,1,0,1,1,1,0,1,0,0,1,0,1,1,1,1,0,
0,1,0,1,1,1,1,1,1,1,1,1,0,0,0,0,1},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
};
for(j=0;j<14;j++)
{
for(k=0;k<52;k++){
if (VENDINGMACHINE[j][k]){
putchar('\xDB');
}else{
putchar(' ');
NASHWA NABILA AUDIPO (2307110315)
LABORATORIUM JARINGAN & KOMPUTER (2023)
}
}
puts("");
}
puts("");
garis();
printf("\t AR Vending Machine\n");
garis();
printf("| 1| Coca-Cola
|Rp 7.000\n");
printf("| 2| Pucuk Harum
|Rp 5.000\n");
printf("| 3| Frestea
|Rp 8.000\n");
printf("| 4| Qtela
|Rp 9.000\n");
printf("| 5| Chitato
|Rp 6.000\n");
printf("| 6| Potabee
|Rp 8.000\n");
garis();
printf("\n\nApakah Anda ingin menggunakan vending machine?
Y/N : ");
pemilihan_1 = getche();
if(toupper(pemilihan_1)=='Y')
{
printf("\n\n1. Coca-Cola\n");
printf("2. Pucuk harum\n");
printf("3. Frestea\n");
printf("4. Qtela\n");
printf("5. Chitato\n");
printf("6. Potabee\n");
NASHWA NABILA AUDIPO (2307110315)
LABORATORIUM JARINGAN & KOMPUTER (2023)
pilihan = pilihMenu(); /*variabel pilihan akan bernilai
berdasarkan input user dari 1 sampai 3.
apabila tidak sesuai, maka
akan meminta input kembali*/
printf("Jumlah Barang : ");
scanf("%d", &jumlah);
hargaBarang = daftarHarga(pilihan);
total += hargaBarang * jumlah;
//Looping penambahan barang
tambahBarang = 3;
statusTambah = 1;
while(tambahBarang > 0 && statusTambah){
int pilihanTambahan, jumlahTambahan;
printf("\nAnda dapat menambah Pembelian sebanyak
%dx", tambahBarang);
printf("\nApakah Anda ingin menambah Pembelian? Y/N :
");
pemilihan_2 = getche();
if(toupper(pemilihan_2)=='Y'){
printf("\n");
pilihanTambahan = pilihMenu();
printf("Jumlah Barang : ");
scanf("%d", &jumlahTambahan);
hargaBarang = daftarHarga(pilihanTambahan);
total += hargaBarang * jumlahTambahan;
NASHWA NABILA AUDIPO (2307110315)
LABORATORIUM JARINGAN & KOMPUTER (2023)
tambahBarang--;
}else{
statusTambah = 0;
}
}
//Total Keseluruhan
printf("\n\nTotal : %d\n", total);
printf("1. Cash\n");
printf("2. QRIS\n");
printf("Pilih Metode Pembayaran : ");
int pilihPembayaran;
scanf("%d", &pilihPembayaran);
if(pilihPembayaran == 1){
//Fungsi pembayaran Cash
void pembayaranCash();
pembayaranCash:
printf("Masukkan Nominal Uang sesuai total harga :
");
scanf("%d", &bayar);
if(bayar < total){
printf("\n tolong bayar sesuai/melebihi total\n");
goto pembayaranCash;
}else{
if(bayar > total){
kembali = bayar - total;
NASHWA NABILA AUDIPO (2307110315)
LABORATORIUM JARINGAN & KOMPUTER (2023)
printf("Kembalian Anda : %d\n", kembali);
}
printf("\nTerima kasih atas kunjungannya\n");
}
}else{
int i, h, x, y;
int qrcode [15][30];
for(i = 0;i<15;i++){
for(h=0;h<30;h++){
qrcode[i][h] = rand() % 2;
}
}
printf("\nMembuat QR Code....\n");
for(x = 0;x<15;x++){
for(y=0;y<30;y++){
if (qrcode[x][y]){
putchar('\xDB');
}else{
putchar(' ');
}
}
puts("");
}
puts("");
printf("Tekan ENTER");
NASHWA NABILA AUDIPO (2307110315)
LABORATORIUM JARINGAN & KOMPUTER (2023)
getche();
printf("Verifikasi Data dan Keamanan...(Harap
Tunggu)\n");
Sleep(3000);
printf("Dalam Proses Pembayaran...(Harap
Tunggu)\n");
Sleep(2000);
printf("\nPEMBAYARAN BERHASIL\n");
printf("Terima kasih atas kunjungannya\n");
}
}
else{
exit(0);
}
return 0;
}
void garis()
{
int i;
for(i=0;i<52;i++)
printf("-");
printf("\n");
}
//Fungsi ini sebagai input error handling
//Jika input tidak sesuai, maka akan meminta input lagi hingga benar
NASHWA NABILA AUDIPO (2307110315)
LABORATORIUM JARINGAN & KOMPUTER (2023)
int pilihMenu(){
int input;
printf("Silahkan masukan pilihan Anda: ");
scanf("%d",&input);
if(input < 1 || input > 6){
printf("Masukkan Angka 1, 2 , atau 3\n");
pilihMenu();
}else{
return input;
}
}
// Fungsi ini untuk menentukan harga barang yg dipilih
// jika pilihan == 1, maka harga barang mrnjadi 7000
// jika pilihan == 2, maka harga barang mrnjadi 5000
// jika pilihan == 3, maka harga barang mrnjadi 8000
int daftarHarga(int pilihan){
int harga;
switch(pilihan){
case 1:
harga = 7000;
break;
case 2:
harga = 5000;
break;
case 3:
harga = 8000;
break;
NASHWA NABILA AUDIPO (2307110315)
LABORATORIUM JARINGAN & KOMPUTER (2023)
case 4:
harga = 9000;
break;
case 5:
harga = 6000;
break;
case 6:
harga = 8000;
break;
}
return harga;
}
NASHWA NABILA AUDIPO (2307110315)
LABORATORIUM JARINGAN & KOMPUTER (2023)
NASHWA NABILA AUDIPO (2307110315)
LABORATORIUM JARINGAN & KOMPUTER (2023)
Gambar 8.1 Program Mesin Jual Makanan dan Minuman Otomatis
NASHWA NABILA AUDIPO (2307110315)
LABORATORIUM JARINGAN & KOMPUTER (2023)
NASHWA NABILA AUDIPO (2307110315)
LABORATORIUM JARINGAN & KOMPUTER (2023)
NASHWA NABILA AUDIPO (2307110315)
Download