How are you sobat, saya harap sih sobat sekalian membaca artikel ini dengan keadaan sehat-sehat saja yah sobat amin, dan semoga kita juga selalu diberikan kesehatan maupun kemudahan bagi kita semua sobat oleh Allah SWT sang pencipta kita yang maha kuasa dan esa. Untuk kesekian kalinya sobat lagi- lagi saya kembali memposting tutorial ataupun coding dari bahasa pemrograman C++ sobat maklum sobat pemrograman terstruktur C++ ini sobat merupakan mata kuliah saya juga di semester 3 sobat. Adapun judul dari program yang mau saya posting ini sobat yaitu Program Sewa Mobil di C++ atau bisa juga disebut dengan program rental mobil dengan C++ sobat.
Program Sewa Mobil di C++ ini sobat menggunakan pernyataan NESTED IF (if bersarang) sobat ataupun biasa lebih dikenal dengan penyataan If dalam If, misalnya saja sobat jika pernyataan tersebut benar atau salah maka akan ada suatu pernyataan lagi dan jika setelah pernyataan itu terpenuhi masih ada pernyataan lagi maka akan dikerjakan lagi sampai perintah itu selesai sobat. Menggunakan Struct
Berikut Coding ataupun listing dari Program Sewa Mobil di C++ ini sobat :
//INCLUDE UNTUK MENYERTAKAN FILE HEADER (.h)
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
#include <iomanip.h>
// Create By
//Stefanus Yulindra
// BSI (c)opyright 2017
//DEKLARASI FUNGSI GARIS
garis()
{
cout<<"_____________________________________________________________\n";
}
//DEKLARASI FUNGSI Kop
sewamobil()
{
cout<<" PROGRAM PENYEWAAN MOBIL \n";
}
//DEKLARASI FUNGSI ERROR
error_kode()
{
clrscr();
cout<<""<<endl<<endl<<endl;
cout<<" KODE YANG ANDA MASUKAN SALAH \n";
cout<<" SILAHKAN COBA KEMBALI \n";
}
void main() //FUNGSI MAIN atau FUNGSI UTAMA PADA PROGRAM
{
//DEKLARASI VARIABEL
int n,z;
int nik;
float telp;
char alamat[100],nama[100];
char lagi1,opt1,opt2,input;
long total[12], sub_total;
long diskon10=0,diskon5=0,g_total1,g_total2,g_total3,bayar,kembalian1,kembalian2,kembalian3;
//DEKLARASI STRUCT
struct
{
char kdmobil[5],jns_mobil,nmmobil[21],t_mobil[5];
double harga,lama;
}mobil[10];
//CLRSCR BERFUNGSI MENGHAPUS LAYAR SEBELUMNYA
clrscr();
//PEMANGGILAN FUNGSI BUATAN (GARIS,KOP)
garis();
sewamobil();
garis();
cout<<""<<endl;
cout<<"Selamat Datang di Aplikasi Penyewaaan Mobil:"<<endl;
cout<<"Apakah Anda ingin menyewa mobil?"<<endl<<endl;
cout<<"A.Iya"<<endl;
cout<<"B.Tidak"<<endl<<endl;
cout<<"Pilihan Anda Adalah [A/B] :"; cin>>lagi1;
//SELEKSI KONDISI MENUUTAMA MENGGUNAKAN IF ELSE MAJEMUK
if(lagi1=='A'||lagi1=='a')
goto start;
if(lagi1=='B'||lagi1=='b')
goto selesai;
else
goto error;
//LABEL START
start:
clrscr();
garis();
sewamobil();
garis();
cout<<" NIK : ";cin>>nik;
cout<<" Nama : ";gets(nama);
cout<<" No. Telp: ";cin>>telp;
cout<<" Alamat : ";gets(alamat);
//ENDL BERFUNGSI UNTUK PINDAH SATU BARIS SAMA SEPERTI \N
cout<<endl;
//ADALAH BANYAK DATA YANG AKAN DI INPUT
cout<<" Berapa Mobil yang ingin disewa : ";cin>>z;
//PENGULANGAN MENGGUNAKAN FOR. n ADALAH ARRAY
for(n=1;n<=z;n++)
{
cout<<endl;
clrscr();
garis();
sewamobil();
garis();
cout<<"Mobil Jenis Apa yang Ingin Anda Sewa?"<<endl<<endl;
cout<<"1. Matic "<<endl;
cout<<"2. Manual "<<endl<<endl;
cout<<"Pilihan Anda [1/2]? : "; cin>>mobil[n].jns_mobil;
clrscr();
if(mobil[n].jns_mobil=='1')
goto opt1;
if(mobil[n].jns_mobil=='2')
goto opt2;
else
goto error;
//OUTPUT
opt1:
cout<<" NAMA MOBIL Tipe HARGA kode\n";
garis();
cout<<"1. TOYOTA AGYA TRD S AT Rp. 300.000,- [T1]\n";
cout<<"2. TOYOTA VIOS 1500 AT Rp. 300.000,- [T2]\n";
cout<<"3. HONDA BRIO SATYA RS AT Rp. 400.000,- [H1]\n";
cout<<"4. HONDA CR-V I-VTEC AT Rp. 500.000,- [H2]\n";
cout<<"5. DAIHATSU XENIA DLX AT Rp. 500.000,- [D1]\n";
cout<<"6. DAIHATSU AYLA D AT Rp. 350.000,- [D2]\n\n\n";
goto input;
opt2:
cout<<" NAMA MOBIL Tipe HARGA kode\n";
garis();
cout<<"1. TOYOTA AGYA TRD S MT Rp. 350.000,- [T1]\n";
cout<<"2. TOYOTA VIOS 1500 MT Rp. 400.000,- [T2]\n";
cout<<"3. HONDA BRIO SATYA RS MT Rp. 450.000,- [H1]\n";
cout<<"4. HONDA CR-V I-VTEC MT Rp. 600.000,- [H2]\n";
cout<<"5. DAIHATSU XENIA DLX MT Rp. 550.000,- [D1]\n";
cout<<"6. DAIHATSU AYLA D MT Rp. 400.000,- [D2]\n\n\n";
goto input;
input:
cout<<" Data Ke - "<<n<<endl;
cout<<" =========================================================="<<endl;
cout<<" Kode mobil : ";cin>>mobil[n].kdmobil;
cout<<" Lama Sewa : ";cin>>mobil[n].lama;
if (strcmp(mobil[n].kdmobil,"T1")==0 || strcmp(mobil[n].kdmobil,"t1")==0)
{
(strcpy(mobil[n].nmmobil,"TOYOTA AGYA TRD S A/T"));
if (mobil[n].jns_mobil=='1')
{
(strcpy(mobil[n].t_mobil,"AT"));
mobil[n].harga=300000;
}
else
{
(strcpy(mobil[n].t_mobil,"MT"));
mobil[n].harga=350000;
}
}
else if (strcmp(mobil[n].kdmobil,"T2")==0 || strcmp(mobil[n].kdmobil,"t2")==0)
{
(strcpy(mobil[n].nmmobil,"TOYOTA VIOS 1500"));
if (mobil[n].jns_mobil=='1')
{
(strcpy(mobil[n].t_mobil,"AT"));
mobil[n].harga=300000;
}
else
{
(strcpy(mobil[n].t_mobil,"MT"));
mobil[n].harga=400000;
}
}
else if (strcmp(mobil[n].kdmobil,"H1")==0 || strcmp(mobil[n].kdmobil,"h1")==0)
{
(strcpy(mobil[n].nmmobil,"HONDA BRIO SATYA RS"));
if (mobil[n].jns_mobil=='1')
{
(strcpy(mobil[n].t_mobil,"AT"));
mobil[n].harga=400000;
}
else
{
(strcpy(mobil[n].t_mobil,"MT"));
mobil[n].harga=450000;
}
}
else if (strcmp(mobil[n].kdmobil,"H2")==0 || strcmp(mobil[n].kdmobil,"h2")==0)
{
(strcpy(mobil[n].nmmobil,"HONDA CR-V I-VTEC"));
if (mobil[n].jns_mobil=='1')
{
(strcpy(mobil[n].t_mobil,"AT"));
mobil[n].harga=500000;
}
else
{
(strcpy(mobil[n].t_mobil,"MT"));
mobil[n].harga=600000;
}
}
else if (strcmp(mobil[n].kdmobil,"D1")==0 || strcmp(mobil[n].kdmobil,"d1")==0)
{
(strcpy(mobil[n].nmmobil,"DAIHATSU XENIA DLX"));
if (mobil[n].jns_mobil=='1')
{
(strcpy(mobil[n].t_mobil,"AT"));
mobil[n].harga=500000;
}
else
{
(strcpy(mobil[n].t_mobil,"MT"));
mobil[n].harga=550000;
}
}
else if (strcmp(mobil[n].kdmobil,"D2")==0 || strcmp(mobil[n].kdmobil,"d2")==0)
{
(strcpy(mobil[n].nmmobil,"DAIHATSU AYLA D"));
if (mobil[n].jns_mobil=='1')
{
(strcpy(mobil[n].t_mobil,"AT"));
mobil[n].harga=350000;
}
else
{
(strcpy(mobil[n].t_mobil,"MT"));
mobil[n].harga=400000;
}
}
else
goto error;
//RUMUS TOTAL
total[n]=mobil[n].harga*mobil[n].lama;
}
clrscr();
clrscr();
garis();
sewamobil();
garis();
cout<<" NIK :"<<nik<<endl;
cout<<" Nama :"<<nama<<endl;
cout<<" No. Telp :"<<telp<<endl;
cout<<" Alamat :"<<alamat<<endl;
cout<<"--------------------------------------------------------------------------"<<endl;
cout<<"No Kode Nama Harga Lama Tipe Total "<<endl;
cout<<" Mobil Mobil Sewa "<<endl;
cout<<"--------------------------------------------------------------------------"<<endl;
for (n=1;n<=z;n++)
{
cout<<setiosflags(ios::left)<<setw(6)<<n;
cout<<setiosflags(ios::left)<<setw(7)<<mobil[n].kdmobil;
cout<<setiosflags(ios::left)<<setw(30)<<mobil[n].nmmobil;
cout<<setiosflags(ios::left)<<setw(10)<<mobil[n].harga;
cout<<setiosflags(ios::left)<<setw(7)<<mobil[n].lama;
cout<<setiosflags(ios::left)<<setw(7)<<mobil[n].t_mobil;
cout<<setiosflags(ios::left)<<setw(10)<<total[n]<<endl;
sub_total=sub_total+total[n];
//RUMUS DISKON
diskon10=(sub_total*10)/100;
diskon5=(sub_total*5)/100;
//RUMUS TOTAL SETELAH DISKON
g_total1= sub_total-diskon10;
g_total2= sub_total-diskon5;
g_total3= sub_total;
}
cout<<"--------------------------------------------------------------------------"<<endl;
cout<<" Total Bayar: "<<sub_total<<endl;
//LOGIKA UNTUK MENDAPATKAN DISKON
if (sub_total >= 1250000)
{
cout<<" Selamat Anda Mendapat Diskon 10%"<<endl;
cout<<" Total Diskon: "<<diskon10<<endl;
goto bayar1;
}
if (sub_total >= 850000)
{
cout<<" Selamat Anda Mendapat Diskon 5%"<<endl;
cout<<" Total Diskon: "<<diskon5<<endl;
goto bayar2;
}
if (sub_total <= 840000)
{
goto bayar3;
}
//TOTAL BAYAR 1
bayar1:
cout<<" Grand Total : "<<g_total1<<endl;
cout<<" Bayar : ";cin>>bayar;
kembalian1=bayar-g_total1;
cout<<endl;
cout<<" Kembali : "<<kembalian1;
cout<<endl<<endl;
cout<<" Apa Anda Ingin Sewa Lagi ? [Y/N] :"; cin>>lagi1;
//SELEKSI KONDISI PILIH MENGGUNAKAN IF ELSE MAJEMUK
if(lagi1=='Y'||lagi1=='y')
goto start;
if(lagi1=='n'||lagi1=='N')
goto selesai;
else
goto error;
//TOTAL BAYAR 2
bayar2:
cout<<" Grand Total : "<<g_total2<<endl;
cout<<" Bayar : ";cin>>bayar;
kembalian2=bayar-g_total2;
cout<<endl;
cout<<" Kembali : "<<kembalian2;
cout<<endl<<endl;
cout<<" Apa Anda Ingin Sewa Lagi ? [Y/N] :"; cin>>lagi1;
if(lagi1=='Y'||lagi1=='y')
goto start;
if(lagi1=='n'||lagi1=='N')
goto selesai;
//TOTAL BAYAR 3
bayar3:
cout<<" Grand Total : "<<g_total3<<endl;
cout<<" Bayar : ";cin>>bayar;
kembalian3=bayar-g_total3;
cout<<endl;
cout<<" Kembali : "<<kembalian3;
cout<<endl<<endl;
cout<<" Apa Anda Ingin Sewa Lagi ? [Y/N] :"; cin>>lagi1;
if(lagi1=='Y'||lagi1=='y')
goto start;
if(lagi1=='n'||lagi1=='N')
goto selesai;
else
goto error;
//LABEL ERROR
error:
error_kode();
getch();
goto selesai;
//LABEL SELESAI
selesai:
clrscr();
cout<<""<<endl<<endl<<endl;
cout<<"******************Terima Kasih***********************\n";
getch();
Comments
Post a Comment