Aplikasi komplek pemrograman bahasa C (Point of Sale)
Berikut adalah aplikasi program dalam bahasa C:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
char *barang[] = //array barang dan pointer barang
{
"SABUN MUKA",
"SABUN CUCI",
"PASTA GIGI",
"SIKAT GIGI",
"SABUN MANDI"
};
int *harga[] = //array harga dan pointer harga
{
5000,
2000,
4000,
2000,
3000
};
int *kode[] ={1,2,3,4,5}; // array kode dan pointer kode
int a, b, c, d, e, f, g, hrg, qtys, totals, pajak, akhir;
int pick[5];
int qty[5];
int total[5];
void menu() //menampilkan menu awal
{
printf("=============\n");
printf("Point of Sale\n");
printf("=============\n\n");
printf("DAFTAR BARANG\n\n");
printf("No.\tKode Barang\tNama\t\tHarga\n");
int x;
for(x=1;x<=5;x++)
{
printf("%i.\t%i\t\t%s\t%i\n", x, *(kode+5-x), *(barang+5-x), *(harga+5-x));
}
}
void result() //menampilkan hasil akhir
{
for(d=1;d<=c;d++) //menghitung jumlah barang dan jumlah harga
{
qtys = qtys + qty[d];
totals = totals + total[d];
}
pajak = (totals*10)/100; //menghitung pajak ppn
akhir = totals + pajak; //menghitung jumlah yang harus dibayar
printf("\nTransaksi selesai!\n");
printf("\nNo.\tKode Barang\tNama barang\tHarga\tJumlah\ttotal\n");
for(d=1;d<=c;d++)
{
printf("%i.\t%i\t\t%s\t%i\t%i\t%i\n", d, *(kode + pick[d]-1), *(barang + pick[d]-1), *(harga + pick[d]-1), qty[d], total[d]);
}
printf("===============================================================\n");
printf("TOTAL\t\t\t\t\t\t\%i\t%i\n", qtys, totals);
printf("PPN '10persen'\t\t\t\t\t\t %i\n", pajak);
printf("===============================================================\n");
printf("HARUS DIBAYAR\t\t\t\t\t\t%i", akhir);
getch();
}
void pilih() //proses memilih barang
{
up:
c = c+1;
in :
printf("\nKode barang : ");
scanf("%i", &pick[c]); //memasukkan kode barang ke dalam array pick
if (pick[c]==0) //mengakhiri proses transaksi
{
if(c==1) //apabila mengakhiri transaksi tetapi belum melakukan transaksi
{
printf("\nSilahkan transaksi terlebih dahulu!\n");
goto in;
}
else //mengakhiri proses transaksi setelah melakukan transaksi
{
c = c-1;
goto bawah;
}
}
else if(pick[c]<0 || pick[c]>5) //jika kode barang tidak dalam range
{
printf("Kode tidak ditemukan!\n");
goto in;
}
ulang :
printf("Masukkan jumlah : ");
scanf("%i", &qty[c]); //memasukkan jumlah barang kedalam array qty
hrg = *(harga + pick[c]-1);
total[c] = hrg*qty[c];
for(e=1;e<c;e++)
{
if(pick[e]==pick[c]) //jika kode barang sudah pernah di input sebelumnya
{
int jum;
jum = qty[e] + qty[c];
if(jum<=-1) //jika jumlah barang kurang dari nol
{
total[c] = total[e];
printf("Jumlah tidak boleh kurang dari nol!\n");
goto ulang;
}
total[e] = total[c] + total[e];
qty[e] = qty[c] + qty [e];
c= c-1;
goto down;
}
}
down:
printf("\nNo.\tKode Barang\tNama barang\tHarga\tJumlah\ttotal\n");
for(d=1;d<=c;d++)
{
printf("%i.\t%i\t\t%s\t%i\t%i\t%i\n", d, *(kode + pick[d]-1), *(barang + pick[d]-1), *(harga + pick[d]-1), qty[d], total[d]);
}
goto up;
bawah:
result(); //menampilkan void result
}
int main(int argc, char *argv[])
{
menu();
pilih();
return 0;
}
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
char *barang[] = //array barang dan pointer barang
{
"SABUN MUKA",
"SABUN CUCI",
"PASTA GIGI",
"SIKAT GIGI",
"SABUN MANDI"
};
int *harga[] = //array harga dan pointer harga
{
5000,
2000,
4000,
2000,
3000
};
int *kode[] ={1,2,3,4,5}; // array kode dan pointer kode
int a, b, c, d, e, f, g, hrg, qtys, totals, pajak, akhir;
int pick[5];
int qty[5];
int total[5];
void menu() //menampilkan menu awal
{
printf("=============\n");
printf("Point of Sale\n");
printf("=============\n\n");
printf("DAFTAR BARANG\n\n");
printf("No.\tKode Barang\tNama\t\tHarga\n");
int x;
for(x=1;x<=5;x++)
{
printf("%i.\t%i\t\t%s\t%i\n", x, *(kode+5-x), *(barang+5-x), *(harga+5-x));
}
}
void result() //menampilkan hasil akhir
{
for(d=1;d<=c;d++) //menghitung jumlah barang dan jumlah harga
{
qtys = qtys + qty[d];
totals = totals + total[d];
}
pajak = (totals*10)/100; //menghitung pajak ppn
akhir = totals + pajak; //menghitung jumlah yang harus dibayar
printf("\nTransaksi selesai!\n");
printf("\nNo.\tKode Barang\tNama barang\tHarga\tJumlah\ttotal\n");
for(d=1;d<=c;d++)
{
printf("%i.\t%i\t\t%s\t%i\t%i\t%i\n", d, *(kode + pick[d]-1), *(barang + pick[d]-1), *(harga + pick[d]-1), qty[d], total[d]);
}
printf("===============================================================\n");
printf("TOTAL\t\t\t\t\t\t\%i\t%i\n", qtys, totals);
printf("PPN '10persen'\t\t\t\t\t\t %i\n", pajak);
printf("===============================================================\n");
printf("HARUS DIBAYAR\t\t\t\t\t\t%i", akhir);
getch();
}
void pilih() //proses memilih barang
{
up:
c = c+1;
in :
printf("\nKode barang : ");
scanf("%i", &pick[c]); //memasukkan kode barang ke dalam array pick
if (pick[c]==0) //mengakhiri proses transaksi
{
if(c==1) //apabila mengakhiri transaksi tetapi belum melakukan transaksi
{
printf("\nSilahkan transaksi terlebih dahulu!\n");
goto in;
}
else //mengakhiri proses transaksi setelah melakukan transaksi
{
c = c-1;
goto bawah;
}
}
else if(pick[c]<0 || pick[c]>5) //jika kode barang tidak dalam range
{
printf("Kode tidak ditemukan!\n");
goto in;
}
ulang :
printf("Masukkan jumlah : ");
scanf("%i", &qty[c]); //memasukkan jumlah barang kedalam array qty
hrg = *(harga + pick[c]-1);
total[c] = hrg*qty[c];
for(e=1;e<c;e++)
{
if(pick[e]==pick[c]) //jika kode barang sudah pernah di input sebelumnya
{
int jum;
jum = qty[e] + qty[c];
if(jum<=-1) //jika jumlah barang kurang dari nol
{
total[c] = total[e];
printf("Jumlah tidak boleh kurang dari nol!\n");
goto ulang;
}
total[e] = total[c] + total[e];
qty[e] = qty[c] + qty [e];
c= c-1;
goto down;
}
}
down:
printf("\nNo.\tKode Barang\tNama barang\tHarga\tJumlah\ttotal\n");
for(d=1;d<=c;d++)
{
printf("%i.\t%i\t\t%s\t%i\t%i\t%i\n", d, *(kode + pick[d]-1), *(barang + pick[d]-1), *(harga + pick[d]-1), qty[d], total[d]);
}
goto up;
bawah:
result(); //menampilkan void result
}
int main(int argc, char *argv[])
{
menu();
pilih();
return 0;
}
https://drive.google.com/open?id=1gvQ_d1hh5kHlwDr9dksBh1dpUVVlbFaA
BalasHapus