Wednesday, November 11, 2015

UAS

Kali ini saya diberikan tugas untuk memenuhi nilai UAS saya yaitu membuat program menggunakan C++ dengan tema yang saya pilih adalah Rental Mobil. Dengan alur kasus sebagai berikut.


Sebuah perusahaan bernama PT. Rycan Rent Car yang menyediakan jasa penyewaan mobil jenis sedan dan minibus dengan harga terjangkau. Menyewakan mobil dengan harga per 24 jam. Apabila sewa lebih dari 8 hari,  7 hari , dan 30 hari, akan diberikan diskon. Dan apabila lama sewa lebih dari jam sewa maka akan dikenakan baya overtime per jam. Macam-macam mobil yang disewakan yaitu Avanza, Camry, dan Alphard. Harga sewa Avanza yaitu 350000, Camry 500000, Alphard 1000000. Apabila penyewa mengembalikan mobil lebih dari jam sewa maka akan dikenakan biaya overtime per jam yaitu untuk Avanza 25000 per jam, Camry 50000 per jam, Alphard 100000 per jam. Tapi rental mobil ini pun menyediakan diskon untuk penyewa dengan ketentuan lama sewa lebih dari 8 hari akan diberikan diskon 10%. Ada pula diskon untuk lama sewa 7 hari akan diberikan diskon 20% dan untuk lama sewa 30 hari akan diberikan diskon sebanyak 30%. Dari data yang diberikan diatas, maka admin dari perusahaan penyewaan mobil ini akan mengetahui total yang harus dibayarkan oleh penyewa. 

Flowchart dari kasus diatas sbb.
Dengan program C++ sebagai berikut.

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <windows.h>

/*PROGRAM FUNGSI GOTOXY DI DEV C*/
void gotoxy(int x, int y)
{
COORD coord;
coord.X=x;
coord.Y=y;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),coord);
}

//*PROGRAM UTAMA*//

char* jen(float n);
float hr(float n );
float ov(float n);
main()
{
int a,banyak;
char nm_adm[10];
float ttl_pdp_sw;
struct
{
char nm_pyw[15];
int kd_mbl;
int lm_sw;
}pyw[6];

struct
{
char nm_pyw[15];
int kd_mbl;
int over_time;
}dtmbl[6];

struct
{
float jmlh_byr;
float ttl_byr;
float disk;
}dtsewa[6];

/*BERSIHKAN LAYAR DI DEV C*/

system("cls");

/*INPUT DATA*/

printf("\n                              DATA PENYEWA MOBIL\n");
printf("                              PT. RYCAN RENT CAR\n");
printf("=============================================================================\n");

printf("\nMasukkan Jumlah Data : "); scanf("%d",&banyak);
printf("Masukkan Nama Admin : "); scanf("%s",&nm_adm);

/*INPUT DATA PERULANGAN*/

for(a=1;a<=banyak;a++)
{
printf("\n======================================================================\n");
printf("Penyewa ke   : %i\n",a);
printf("Nama Penyewa : ");
scanf("%s", &pyw[a].nm_pyw);
printf("Kode Mobil [1]Avanza [2]Camry [3]Alphard : ");
scanf("%i", &pyw[a].kd_mbl);
printf("Lama Pinjam (hari) : ");
scanf("%i", &pyw[a].lm_sw);
printf("Over Time (jam) : ");
scanf("%i", &dtmbl[a].over_time);
}

for(a=1;a<=banyak;a++)
{
    dtsewa[a].jmlh_byr=pyw[a].lm_sw * hr(pyw[a].kd_mbl);
   
    if (pyw[a].lm_sw>7)
    dtsewa[a].disk= dtsewa[a].jmlh_byr * 10 /100;
    else if (pyw[a].lm_sw==7)
    dtsewa[a].disk= dtsewa[a].jmlh_byr * 20 /100;
    else if (pyw[a].lm_sw==30)
    dtsewa[a].disk= dtsewa[a].jmlh_byr * 30 /100;
    else
    dtsewa[a].disk=0;

dtsewa[a].ttl_byr= dtsewa[a].jmlh_byr - dtsewa[a].disk + (ov(pyw[a].kd_mbl) * dtmbl[a].over_time);

ttl_pdp_sw= ttl_pdp_sw + dtsewa[a].ttl_byr;

}

/*BERSIHKAN LAYAR*/

system("cls");

/*OUTPUT DATA*/

gotoxy(30,1);printf("DATA PENYEWA MOBIL\n");
gotoxy(29,2);printf("PT. RYCAN RENT CAR\n");
gotoxy(1,4);printf("Nama Admin : %s\n", &nm_adm);
gotoxy(1,5);printf("----------------------------------------------------------------------------\n");
gotoxy(1,6);printf("No. Nama    Kode  Jenis  Lama   Harga   Over Harga   Jumlah   Diskon   Total\n");
gotoxy(1,7);printf("    Penyewa Mobil Mobil  Pinjam Sewa    Time  OV     Biaya\n");
gotoxy(1,8);printf("----------------------------------------------------------------------------\n");

/*PROSES PERULANGAN UNTUK MENCETAK ISI DATA PADA LAPORAN*/
for (a=1; a<=banyak; a++)
{
gotoxy(1,8+a);printf("%d",a);
gotoxy(5,8+a);printf("%s",pyw[a].nm_pyw);
gotoxy(14,8+a);printf("%d",pyw[a].kd_mbl);
gotoxy(19,8+a);printf("%s",jen(pyw[a].kd_mbl));
gotoxy(27,8+a);printf("%d",pyw[a].lm_sw);
gotoxy(33,8+a);printf("%2.0f",hr(pyw[a].kd_mbl));
gotoxy(41,8+a);printf("%d",dtmbl[a].over_time);
gotoxy(46,8+a);printf("%2.0f",ov(pyw[a].kd_mbl));
gotoxy(54,8+a);printf("%2.0f",dtsewa[a].jmlh_byr);
gotoxy(63,8+a);printf("%2.0f",dtsewa[a].disk);
gotoxy(72,8+a);printf("%2.0f",dtsewa[a].ttl_byr);
}

gotoxy(1,8+a);printf("----------------------------------------------------------------------------");
gotoxy(46,9+a);printf("Total Pendapatan Sewa : ");
gotoxy(72,9+a);printf("%2.0f",ttl_pdp_sw);
getch();

}

/*MENENTUKAN JENIS MOBIL, HARGA SEWA, PAJAK BERDASARKAN KODE MOBIL*/


char* jen(float n)
{
if(n==1)
{
return "Avanza";
}
else if (n==2)
{
return "Camry";
}
else if (n==3)
{
return "Alphard";
}
}

float hr(float n)
{
if(n==1)
{
return 350000;
}
else if (n==2)
{
return 500000;
}
else if (n==3)
{
return 1000000;
}
}

float ov(float n)
{
if (n==1)
{
return 25000;
}
else if (n==2)
{
return 50000;
}
else if (n==3)
{
return 100000;
}
}

Hasilnya:

0 comments:

Post a Comment

 

Welcome To My Blog Template by Ipietoon Cute Blog Design