LAPORAN HASIL PEMBUATAN PROGRAM PENJUALAN BARANG
(TOKO SEPATU ) MENGGUNAKAN C++
Nama: Riyanti NPM : 1406109
Kelas : Teknik Informatika B
1. Permasalahan yang Diambil
Pada kesempatan ini saya mengambil masalah mengenai Program Penjualan Barang menggunakan bahasa Pemrograman C++. Sebagai Contoh Program, disini saya membuat Program Penjualan barang untuk Toko Riyanti.
Di mana toko ini menjual berbagai jenis merk sepatu. Berikut tabel merk sepatu beserta harga-harganya :
No. Merk Sepatu Harga
1. Yongki Kom aladi Rp. 120.000,00
2. Homyped Rp. 250.000,00
3. Bata Rp. 90.000,00
4. NB Rp. 80.000,00
5. New Era Rp. 95.000,00
6. Carwil Rp. 150.000,00
7. Precise Rp. 275.000,00
8. Nike Rp. 350.000,00
9. Villa Rp. 500.000,00
10. Fladeo Rp.350.000,00
Toko ini menyuruh Saya untuk di buatkan program dengan ketentuan – ketentuan programnya sebagai berikut :
Menampilkan merk sepatu otomatis muncul harganya
Menghitung diskon dan uang kembalian
Pencarian no sepatu di dalam gudang sepatu
Pengurutan no sepatu
2. Rumus yang Berkaitan
Program ini menggunakan rumus :
Perulangan : for, goto, break dan do-while
Penyeleksi kondisi : if-else-if dan switch-case-default Larik (array)
Struktur dan fungsi Menu
Rumus menghitung diskon : if (TotBel >= 1000000) Diskon = TotBel * 0.1; else if (TotBel >= 500000) Diskon = TotBel * 0.05; if (TotBel <= 100000) Diskon= TotBel * 0.02; else
Diskon = TotBel * 0.01; TotPem = TotBel - Diskon;
Rumus ini di gunakan jika uang yang di bayarkan kurang. if (Nominal < TotPem){
printf("\n \t\tMaaf, uang anda tidak cukup\t\t"); printf("\n");
}
Rumus ini di gunakan jika uang yang di bayarkan pas-pasan. else if (Nominal == TotPem) {
Total = Nominal - TotPem; printf("\n\nUang Anda Pas\n");
Rumus ini digunakan untuk menghitung kembalian. Total = Nominal - TotPem;
printf("\nKembalian Anda adalah \t\t\t Rp. %d", Total);
3. Implementasi Pengurutan dan Pencarian Data Pengurutan No Sepatu
Proses Pengurutan Data :
37 38 40 36 39 Tukar index 1
dengan index 4
1 2 3 4 5
36 38 40 37 39 Tukar index 2
dengan index 4
1 2 3 4 5
36 37 40 38 39 Tukar index 3
dengan index 4
1 2 3 4 5
36 37 38 40 39 Tukat Index 4
dengan index 5
1 2 3 4 5
36 37 38 39 40
Selesai
1 2 3 4 5
.’. Data telah terurut secara ascending
Pencarian No Sepatu
Proses Pencarian Data : Mencari Data dengan No 36.
37 38 40 36 39
Low Middle High
Kiri Kanan
Langkah 2
Larik[3]=x? (40=36), SALAH, lakukan pencarian ke kanan Lari[3]>x? (40>36), BENAR
Pencarian ke kanan dengan:
ITERASI 2
Langkah 1
Low = 4 High = 5
Middle=(4+5) div 2 = 9 div 2 = 4
Langkah 2
Larik[4]=x? (36=36), BENAR, Tetap
ITERASI 3 Langkah 1 Low = 4 High = 4
Middle=(4+4) div 2 = 8 div 2 =4
,’, No Sepatu 36 ada di index 4, Pencarian Selesai
36 39
4 5
Low/Middle High
36 39
4 5
Low/Middle High
36 39
4 5
Low/Middle High
36
4
4. Struktur Menu Program
MENU UTAMA
Pencarian No Sepatu
& Sandal Pengurutan No Sepatu &Sandal
Menghitung Diskon & Kembalian
Jenis-jenis
Sepatu & Sandal Selesai
Total Pembayaran= membayar=
Diskon=
Total pembayaran=
Uang di terima
Kembalian=
Yongki Komaladi
Homyped
Bata dan NB
Carwil
Jml Barang =
5. Tampilan dan Listing Program
Listing Program
#include <stdio.h>
#include <vcl.h>
#include <conio.h>
#include <string.h>
int pilih, p=0;
pencarian()
{
char ulangi, satu;
int Sepatu [19]={31,26,40,28,37,32,41,39,29,33,42,25,29,34,39,27,30,35,36};
satu:
printf ("\n\t\tPencarian No Sepatu dan Sandal\n ");
printf
("\n======================================================= ==============\n\n ");
printf ("\t\tPencarian No Sepatu\n\n");
printf ("No Sepatu yang dicari :"); scanf ("%d", &x);
ketemu=0;
for (elemen=0;elemen<=18;elemen++)
{
if (Sepatu[elemen]==x)
{
ketemu=!ketemu;
break;
}
}
if (ketemu==0)
printf ("No Sepatu tidak ditemukan");
else
{
elemen=elemen+1;
printf ("No Sepatu ada di Lemari Ke : %d", elemen);
printf
("\n======================================================= ==============\n\n ");
printf ("\n\t\tPencarian No Sandal\n ");
printf
("\n======================================================= ==============\n\n ");
printf ("No Sandal yang dicari :"); scanf ("%d", &x);
ketemu=0;
for (elemen=0;elemen<=9;elemen++)
{
if (Sepatu[elemen]==x)
{
ketemu=!ketemu;
break;
}
}
if (ketemu==0)
printf ("No Sandal tidak ditemukan");
else
{
elemen=elemen+1;
printf ("No Sandal ada di Lemari Ke : %d", elemen);
printf("\n\nTransaksi lagi [Y/T] : "); scanf ("%s",&ulangi);
if (ulangi=='Y'||ulangi=='y')
goto satu;
else
goto dua ;
dua:
printf("\n\n\n\t\t=>T E R I M A K A S I H<=");
return 0;
}
pengurutan()
{
char ulangi, satu;
int no [20], i, j, n, Bantu;
satu:
printf ("\n\t\tPengurutan No Sepatu dan Sandal\n ");
printf
("\n======================================================= ==============\n\n ");
printf ("\t\tPengurutan No Sepatu\n\n");
printf ("Masukkan Data Anda !");
for (i=1;i<=n;i++){
printf ("No sepatu jenis ke %d= ", i); scanf ("%d", &no[i]);
}
for (i=1;i<=n-1;i++)
for (j=i+1;j<=n;j++)
{
if (no[i]>no[j])
{
Bantu=no[i];
no[i]=no[j];
no[j]=Bantu;
}
}
printf ("\n No Sepatu Setelah Diurutkan :");
for (i=1;i<=n;i++)
printf("%d,", no[i]);
int sandal[20];
printf ("\n---\n");
printf ("\n\n\t\tPengurutan No Sandal\n\n");
printf ("Masukkan Data Anda !");
printf ("\n Jumlah No sandal ? "); scanf ("%d", &n);
printf ("\n Mulai memasukan harga sandal \n");
printf (" No sandal jenis ke %d=", i); scanf ("%d", &sandal[i]);
}
for (i=1;i<=n-1;i++)
for (j=i+1;j<=n;j++)
{
if (sandal[i]>sandal[j])
{
Bantu=sandal[i];
sandal[i]=sandal[j];
sandal[j]=Bantu;
}
}
printf ("\n No Sandal Setelah Diurutkan : ");
for (i=1;i<=n;i++)
printf("%d,", sandal[i]);
printf("\n\nApakah Anda ingin mengulanginya lagi [Y/T] : "); scanf ("%s",&ulangi);
if (ulangi=='Y'||ulangi=='y')
goto satu;
else
goto dua ;
dua:
}
diskon()
{
int TotBel, TotPem, Nominal;
int Diskon;
int Total;
char satu, ulangi;
satu:
printf ("\n\t\tMENGHITUNG UANG KEMBALIAN DAN DISKON\n");
printf
("\n======================================================= ==============\n\n");
printf("Masukan Total Pembelanjaan Anda \t Rp. "); scanf("%d", &TotBel);
if (TotBel >= 1000000)
Diskon = TotBel * 0.1;
else if (TotBel >= 500000)
Diskon = TotBel * 0.05;
if (TotBel <= 100000)
Diskon= TotBel * 0.02;
else
Diskon = TotBel * 0.01;
printf("\n");
printf("Masukan uang anda untuk membayar \t Rp. "); scanf("%d", &Nominal);
printf("\nAnda mendapatkan diskon \t\t Rp. %d\n", Diskon);
printf("\nTotal Pembayaran Anda Adalah\t\t Rp. %d", TotPem);
printf("\n");
printf("\n");
printf("\nUang yang Anda bayarkan \t\t Rp. %d", Nominal); printf("\t\t");
printf("\n");
if (Nominal < TotPem){
printf("\n \t\tMaaf, uang anda tidak cukup\t\t");
printf("\n");
}
else if (Nominal == TotPem) {
Total = Nominal - TotPem;
printf("\n\nUang Anda Pas\n");
printf("Kembalian Anda adalah \t\t Rp. %d", Total);
}
else {
Total = Nominal - TotPem;
printf("\n\nApakah Anda ingin mengulanginya lagi [Y/T] : "); scanf ("%s",&ulangi);
if (ulangi=='Y'||ulangi=='y')
goto satu;
else
goto dua ;
dua:
printf("\n\n\n\t\t=>T E R I M A K A S I H<=");
return 0;
}
merk ()
{
struct
{
char kodebrng, nmabrng[25];
int harga, jmlbeli, total;
}
brng;
satu:
clrscr();
puts("\t\tJenis-Jenis Sepatu Dan Sandal \n");
puts("\n---\n");
puts("[A] Yongki Komaladi");
puts("[B] Homyped");
puts("[C] Bata");
puts("[D] NB");
puts("[E] New Era");
puts("[F] Carwil");
puts("[G] Precise");
puts("[H] Nike");
puts("[I] Villa");
puts("[J] Fladeo");
printf ("Kode Barang [A/B/C/D/E/F/G/H/I/J] : ");scanf ("%s", &brng.kodebrng);
if (brng.kodebrng=='A'||brng.kodebrng=='a')
{strcpy (brng.nmabrng, "Yongki Komaladi");
brng.harga=120000;}
else
if (brng.kodebrng=='B'||brng.kodebrng=='b')
{strcpy (brng.nmabrng, "Homyped");
if (brng.kodebrng=='C'||brng.kodebrng=='c')
{strcpy (brng.nmabrng, "Bata");
brng.harga=90000;}
else
if (brng.kodebrng=='D'||brng.kodebrng=='d')
{strcpy (brng.nmabrng, "NB");
brng.harga=80000;}
else
if (brng.kodebrng=='E'||brng.kodebrng=='e')
{strcpy (brng.nmabrng, "New Era");
brng.harga=95000;}
else
if (brng.kodebrng=='F'||brng.kodebrng=='f')
{strcpy (brng.nmabrng, "Carwil");
brng.harga=150000;}
else
if (brng.kodebrng=='G'||brng.kodebrng=='g')
{strcpy (brng.nmabrng, "Precise");
brng.harga=275000;}
else
if (brng.kodebrng=='H'||brng.kodebrng=='h')
{strcpy (brng.nmabrng, "Nike");
brng.harga=350000;}
if (brng.kodebrng=='I'||brng.kodebrng=='i')
{strcpy (brng.nmabrng, "Villa");
brng.harga=500000;}
else
{strcpy (brng.nmabrng, "Fladeo");
brng.harga=350000;}
puts("\n---\n");
printf("Nama Barang : %s", brng.nmabrng);
printf("\nHarga Barang : Rp.%d ", brng.harga);
printf("\nJumlah Beli : ");scanf("%d", &brng.jmlbeli);
brng.total=brng.harga*brng.jmlbeli;
printf("\nTotal Bayar : Rp.%d\n ", brng.total);
puts("---\n");
printf("Transaksi lagi [Y/T] : "); scanf ("%s",&ulangi);
if (ulangi=='Y'||ulangi=='y')
goto satu;
else
goto dua ;
dua:
printf("\n\n\n\t\t=>T E R I M A K A S I H<=");
main ()
{
do {
clrscr ();
printf ("\t\t => S E L A M A T D A T A N G <=\n\n ");
printf ("\t\t\tDi Toko RIYANTI SHOES\n");
printf ("\t\tJln. Bratayuda No.25 Kadungora-Garut\n");
printf ("\n---\n\n");
printf ("\t\tMENU UTAMA RIYANTI SHOES\n\n");
printf ("1. Pencarian No Sepatu atau Sandal\n\r");
printf ("2. Pengurutan No Sepatu dan Sandal\n\r");
printf ("3. Menghitung Uang Kembalian dan Diskon\n\r");
printf ("4. Jenis-jenis Sepatu dan Sandal\n\r");
printf ("5. Selesai\n\r");
printf ("Masukan Pilihan Anda : "); scanf ("%d", &pilih);
switch (pilih)
{
case 1 :{clrscr(); pencarian();
getch (); break;
}
case 2 :{clrscr(); pengurutan();
}
case 3 :{clrscr(); diskon();
getch (); break;
}
case 4 :{clrscr(); merk();
getch (); break;
}
case 5 :{exit(p); break;}
default : {
break;
}
}
}while (pilih!=5);