Contoh Soal Praktik Borland C++ Menggunakan Struct “Butik Raden”
Penyewaan Pakaian Adat Nasional
Kode Paket
|
Paket Baju
|
Harga Sewa Perhari Perbaju
| ||
S
|
M
|
L
| ||
JT
|
Jawa Tengah
|
100.000
|
135.000
|
170.000
|
JB
|
Jawa Barat
|
110.000
|
145.000
|
185.000
|
SB
|
Sumatra Barat
|
125.000
|
160.000
|
200.000
|
Tampilan Awal Untuk Pilihan Menu :

Tampilan Input Transaksi :
Ketentuan soal :
Jika menulis Y pada pilihan Member, maka penyewa termasuk member dan berhak mendapat diskon 10%. Jika T maka penyewa tidak mendapat
diskon.
Tampilan Input Registrasi :
Contoh script program :
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
#include <iomanip.h>
judul()
{
printf(" PENYEWAAN PAKAIAN ADAT NASIONAL\n");
printf(" RADEN ABANG \n");
printf(" *******************************\n");
}
garis()
{
printf("=================================================================\n");
}
struct
{
char kpaket[2],paket[20],ku,ukuran[10];
int banyak;
long harga,subtotal;
}ra[10];
char penyewa[10],petugas[10],member,lagi,menu,anggota[10],alamat[20],profesi[10],telp[12];
int lama,a,b;
long total,bayar,diskon,grand,kembali;
sum()
{
total=total+ra[a].subtotal;
}
main()
{
awal:
clrscr();
total=0;
judul();
cout<<endl<<endl;
cout<<"Selamat Datang di Butik \"Raden Abang\".."<<endl<<endl;
cout<<"Pilihan Menu : "<<endl;
cout<<" 1. Input Data Transaksi"<<endl;
cout<<" 2. Registrasi Member"<<endl;
cout<<" 3. Log Out"<<endl<<endl;
garis();
cout<<"Inputkan Pilihan Anda = ";menu=getch();
cout<<menu<<endl;
cout<<"Tekan ENTER untuk melanjutkan..";getch();
if(menu=='1') goto transaksi;
else if(menu=='2') goto registrasi;
else if(menu=='3') goto akhir;
transaksi:
clrscr();
judul();
cout<<endl;
cout<<"INPUT DATA TRANSAKSI"<<endl<<endl;;
cout<<"Nama Petugas : ";cin>>petugas;
cout<<"Nama Penyewa : ";cin>>penyewa;
cout<<"Member [Y/T] : ";cin>>member;
cout<<"Lama Sewa : ";cin>>lama;
cout<<"Banyak Data : ";cin>>b;
cout<<endl<<endl;
for(a=1;a<=b;a++)
{
cout<<"Data ke - "<<a<<endl;
cout<<"Input Kode Paket [JT/JB/SB] : ";gets(ra[a].kpaket);
cout<<"Input Kode Ukuran [S/M/L] : ";cin>>ra[a].ku;
cout<<"Jumlah Sewa (dalam stel) : ";cin>>ra[a].banyak;
cout<<endl;
if(strcmp(ra[a].kpaket,"JT")==0||strcmp(ra[a].kpaket,"jt")==0)
{
strcpy(ra[a].paket,"Jawa Tengah");
if(ra[a].ku=='S'||ra[a].ku=='s')
{
strcpy(ra[a].ukuran,"Small");
ra[a].harga=100000;
}
else if(ra[a].ku=='M'||ra[a].ku=='m')
{
strcpy(ra[a].ukuran,"Medium");
ra[a].harga=135000;
}
else if(ra[a].ku=='L'||ra[a].ku=='l')
{
strcpy(ra[a].ukuran,"Large");
ra[a].harga=170000;
}
}
else if(strcmp(ra[a].kpaket,"JB")==0||strcmp(ra[a].kpaket,"jb")==0)
{
strcpy(ra[a].paket,"Jawa Barat");
if(ra[a].ku=='S'||ra[a].ku=='s')
{
strcpy(ra[a].ukuran,"Small");
ra[a].harga=110000;
}
else if(ra[a].ku=='M'||ra[a].ku=='m')
{
strcpy(ra[a].ukuran,"Medium");
ra[a].harga=145000;
}
else if(ra[a].ku=='L'||ra[a].ku=='l')
{
strcpy(ra[a].ukuran,"Large");
ra[a].harga=180000;
}
}
else if(strcmp(ra[a].kpaket,"SB")==0||strcmp(ra[a].kpaket,"sb")==0)
{
strcpy(ra[a].paket,"Sumatera Barat");
if(ra[a].ku=='S'||ra[a].ku=='s')
{
strcpy(ra[a].ukuran,"Small");
ra[a].harga=125000;
}
else if(ra[a].ku=='M'||ra[a].ku=='m')
{
strcpy(ra[a].ukuran,"Medium");
ra[a].harga=160000;
}
else if(ra[a].ku=='L'||ra[a].ku=='l')
{
strcpy(ra[a].ukuran,"Large");
ra[a].harga=200000;
}
}
}
clrscr();
judul();
cout<<"Nama Petugas : "<<petugas<<endl;
cout<<"Nama Penyewa : "<<penyewa<<endl;
cout<<"Member : "<<member<<endl<<endl;
cout<<"DATA PENYEWAAN BAJU ADAT"<<endl;
garis();
cout<<"No. Nama Ukuran Harga Lama Banyak Subtotal"<<endl<<endl;
cout<<" Paket Sewa Sewa Sewa "<<endl;
garis();
for(a=1;a<=b;a++)
{
cout<<setiosflags(ios::left)<<setw(5)<<a;
cout<<setiosflags(ios::left)<<setw(15)<<ra[a].paket;
cout<<setiosflags(ios::left)<<setw(9)<<ra[a].ukuran;
cout<<setiosflags(ios::left)<<setw(11)<<ra[a].harga;
cout<<setiosflags(ios::left)<<setw(7)<<lama;
cout<<setiosflags(ios::left)<<setw(7)<<ra[a].banyak;
ra[a].subtotal=ra[a].harga*lama*ra[a].banyak;
cout<<setiosflags(ios::left)<<setw(11)<<ra[a].subtotal<<endl;
sum();
}
cout<<endl;
garis();
cout<<endl;
cout<<" Total Bayar : "<<total<<endl;
if(member=='Y'||member=='y')
diskon=0.1*total;
else
diskon=0;
cout<<" Diskon : "<<diskon<<endl;
grand=total-diskon;
cout<<" Grand Bayar : "<<grand<<endl;
cout<<" Uang Bayar : ";cin>>bayar;
kembali=bayar-grand;
cout<<" Uang Kembali : "<<kembali;
cout<<endl<<endl;
garis();
cout<<"Terimakasih Atas Kepercayaan Anda Memilih Butik Kami.."<<endl<<endl;
cout<<"Input Data Lagi [Y/T] ???";cin>>lagi;
if(lagi=='Y'||lagi=='y')
goto awal;
else
goto akhir;
registrasi:
clrscr();
judul();
cout<<endl;
cout<<"REGISTRASI MEMBER"<<endl<<endl;
cout<<"Input Nama Member : ";cin>>anggota;
cout<<"Alamat Member : ";cin>>alamat;
cout<<"Profesi : ";cin>>profesi;
cout<<"No. Telepon : ";cin>>telp;
clrscr();
judul();
cout<<endl;
cout<<"MEMBER BUTIK \"RADEN ABANG\""<<endl<<endl;
cout<<"Nama Member : "<<anggota<<endl;
cout<<"Alamat Memember : "<<alamat<<endl;
cout<<"Profesi : "<<profesi<<endl;
cout<<"No. Telepon : "<<telp<<endl;
cout<<"Anda Akan Mendapatkan Diskon 10\% Untuk Setiap Penyewaan.."<<endl;
cout<<endl;
cout<<"Input Data Lagi [Y/T] ???";cin>>lagi;
if(lagi=='Y'||lagi=='y')
goto awal;
else
goto akhir;
getch();
akhir:
getch();
}
#include <conio.h>
#include <iostream.h>
#include <iomanip.h>
judul()
{
printf(" PENYEWAAN PAKAIAN ADAT NASIONAL\n");
printf(" RADEN ABANG \n");
printf(" *******************************\n");
}
garis()
{
printf("=================================================================\n");
}
struct
{
char kpaket[2],paket[20],ku,ukuran[10];
int banyak;
long harga,subtotal;
}ra[10];
char penyewa[10],petugas[10],member,lagi,menu,anggota[10],alamat[20],profesi[10],telp[12];
int lama,a,b;
long total,bayar,diskon,grand,kembali;
sum()
{
total=total+ra[a].subtotal;
}
main()
{
awal:
clrscr();
total=0;
judul();
cout<<endl<<endl;
cout<<"Selamat Datang di Butik \"Raden Abang\".."<<endl<<endl;
cout<<"Pilihan Menu : "<<endl;
cout<<" 1. Input Data Transaksi"<<endl;
cout<<" 2. Registrasi Member"<<endl;
cout<<" 3. Log Out"<<endl<<endl;
garis();
cout<<"Inputkan Pilihan Anda = ";menu=getch();
cout<<menu<<endl;
cout<<"Tekan ENTER untuk melanjutkan..";getch();
if(menu=='1') goto transaksi;
else if(menu=='2') goto registrasi;
else if(menu=='3') goto akhir;
transaksi:
clrscr();
judul();
cout<<endl;
cout<<"INPUT DATA TRANSAKSI"<<endl<<endl;;
cout<<"Nama Petugas : ";cin>>petugas;
cout<<"Nama Penyewa : ";cin>>penyewa;
cout<<"Member [Y/T] : ";cin>>member;
cout<<"Lama Sewa : ";cin>>lama;
cout<<"Banyak Data : ";cin>>b;
cout<<endl<<endl;
for(a=1;a<=b;a++)
{
cout<<"Data ke - "<<a<<endl;
cout<<"Input Kode Paket [JT/JB/SB] : ";gets(ra[a].kpaket);
cout<<"Input Kode Ukuran [S/M/L] : ";cin>>ra[a].ku;
cout<<"Jumlah Sewa (dalam stel) : ";cin>>ra[a].banyak;
cout<<endl;
if(strcmp(ra[a].kpaket,"JT")==0||strcmp(ra[a].kpaket,"jt")==0)
{
strcpy(ra[a].paket,"Jawa Tengah");
if(ra[a].ku=='S'||ra[a].ku=='s')
{
strcpy(ra[a].ukuran,"Small");
ra[a].harga=100000;
}
else if(ra[a].ku=='M'||ra[a].ku=='m')
{
strcpy(ra[a].ukuran,"Medium");
ra[a].harga=135000;
}
else if(ra[a].ku=='L'||ra[a].ku=='l')
{
strcpy(ra[a].ukuran,"Large");
ra[a].harga=170000;
}
}
else if(strcmp(ra[a].kpaket,"JB")==0||strcmp(ra[a].kpaket,"jb")==0)
{
strcpy(ra[a].paket,"Jawa Barat");
if(ra[a].ku=='S'||ra[a].ku=='s')
{
strcpy(ra[a].ukuran,"Small");
ra[a].harga=110000;
}
else if(ra[a].ku=='M'||ra[a].ku=='m')
{
strcpy(ra[a].ukuran,"Medium");
ra[a].harga=145000;
}
else if(ra[a].ku=='L'||ra[a].ku=='l')
{
strcpy(ra[a].ukuran,"Large");
ra[a].harga=180000;
}
}
else if(strcmp(ra[a].kpaket,"SB")==0||strcmp(ra[a].kpaket,"sb")==0)
{
strcpy(ra[a].paket,"Sumatera Barat");
if(ra[a].ku=='S'||ra[a].ku=='s')
{
strcpy(ra[a].ukuran,"Small");
ra[a].harga=125000;
}
else if(ra[a].ku=='M'||ra[a].ku=='m')
{
strcpy(ra[a].ukuran,"Medium");
ra[a].harga=160000;
}
else if(ra[a].ku=='L'||ra[a].ku=='l')
{
strcpy(ra[a].ukuran,"Large");
ra[a].harga=200000;
}
}
}
clrscr();
judul();
cout<<"Nama Petugas : "<<petugas<<endl;
cout<<"Nama Penyewa : "<<penyewa<<endl;
cout<<"Member : "<<member<<endl<<endl;
cout<<"DATA PENYEWAAN BAJU ADAT"<<endl;
garis();
cout<<"No. Nama Ukuran Harga Lama Banyak Subtotal"<<endl<<endl;
cout<<" Paket Sewa Sewa Sewa "<<endl;
garis();
for(a=1;a<=b;a++)
{
cout<<setiosflags(ios::left)<<setw(5)<<a;
cout<<setiosflags(ios::left)<<setw(15)<<ra[a].paket;
cout<<setiosflags(ios::left)<<setw(9)<<ra[a].ukuran;
cout<<setiosflags(ios::left)<<setw(11)<<ra[a].harga;
cout<<setiosflags(ios::left)<<setw(7)<<lama;
cout<<setiosflags(ios::left)<<setw(7)<<ra[a].banyak;
ra[a].subtotal=ra[a].harga*lama*ra[a].banyak;
cout<<setiosflags(ios::left)<<setw(11)<<ra[a].subtotal<<endl;
sum();
}
cout<<endl;
garis();
cout<<endl;
cout<<" Total Bayar : "<<total<<endl;
if(member=='Y'||member=='y')
diskon=0.1*total;
else
diskon=0;
cout<<" Diskon : "<<diskon<<endl;
grand=total-diskon;
cout<<" Grand Bayar : "<<grand<<endl;
cout<<" Uang Bayar : ";cin>>bayar;
kembali=bayar-grand;
cout<<" Uang Kembali : "<<kembali;
cout<<endl<<endl;
garis();
cout<<"Terimakasih Atas Kepercayaan Anda Memilih Butik Kami.."<<endl<<endl;
cout<<"Input Data Lagi [Y/T] ???";cin>>lagi;
if(lagi=='Y'||lagi=='y')
goto awal;
else
goto akhir;
registrasi:
clrscr();
judul();
cout<<endl;
cout<<"REGISTRASI MEMBER"<<endl<<endl;
cout<<"Input Nama Member : ";cin>>anggota;
cout<<"Alamat Member : ";cin>>alamat;
cout<<"Profesi : ";cin>>profesi;
cout<<"No. Telepon : ";cin>>telp;
clrscr();
judul();
cout<<endl;
cout<<"MEMBER BUTIK \"RADEN ABANG\""<<endl<<endl;
cout<<"Nama Member : "<<anggota<<endl;
cout<<"Alamat Memember : "<<alamat<<endl;
cout<<"Profesi : "<<profesi<<endl;
cout<<"No. Telepon : "<<telp<<endl;
cout<<"Anda Akan Mendapatkan Diskon 10\% Untuk Setiap Penyewaan.."<<endl;
cout<<endl;
cout<<"Input Data Lagi [Y/T] ???";cin>>lagi;
if(lagi=='Y'||lagi=='y')
goto awal;
else
goto akhir;
getch();
akhir:
getch();
}
Selamat mencoba sampai paham :)
Salam Cahaya dan Mimpi
Salam Cahaya dan Mimpi
= = = = = = = = = = = = = = =
Baca juga materi Semester 1 UBSI lainnya:
Kurikulum September 2019 :
- Latihan Soal Pertemuan 1-6 Logika dan Algoritma UBSI Semester 1
- Latihan Soal Pertemuan 1-6 Entrepreneurship UBSI Semester 1
- Latihan Soal Pertemuan 1-6 Entrepreneurship UBSI Semester 1
Misi gan mau tanya dong,kenapa itu munculnya jawa tengah semua ya? Padahal udh saya input JB tp yg muncul jawa tengah terus
BalasHapusSudah saya perbaiki kak silakan dicoba kembali :)
Hapus