Jumat, Desember 16, 2011

STRUCTURE Pada C++

Structure dalam Borland C++  digunakan untuk mengelompokkan sejumlah data yang mempunyai tipe data yang berbeda. Variable-variable yang membentuk sebuah structure dinamakan elemen structure. Structure sama seperti record.

Penggunaan structure nama_structur.nama_variabel

Deklarasi Structure dalam Borland C++ :
struct

{

  elemen structure ;

  ….

  ….

} nama_tipe_structure ;


Contoh Soal:

1.Buat dua struct dengan ketentuan :
    struct Film : judul, genre, jenis dan lama.
    struct Penyewa : tanggal, nama dan jumlah sewa.

2. Harga Sewa ditentukan berdasarkan Jenis.
    New Release  = 5000
    Recent Release  = 3000
    Katalog  = 2000

3. Subtotal = Harga Sewa x Lama Sewa.
4. Total Bayar = Total dari Subtotal.
5. Potongan ditentukan berdasarkan  jumlah DVD yang disewa.
6. Jika Jumlah DVD yang disewa lebih dari 5 maka akan mendapat potongan 10% dari Total Bayar, selain itu tidak mendapat potongan.
7. Jumlah Bayar = Total Bayar – Potongan.

Tampilan Input yang dikehendaki:

SE7EN Season DVD Rental
------------------------------------------------------------------------
Tanggal Sewa   : >>input
Nama Penyewa  : >>input
Masukkan Jumlah Sewa  : >>input
------------------------------------------------------------------------
Data DVD Ke – n
Judul Film  : >>input
Genre  : >>input
Jenis
[1] New Release
[2] Recent Release
[3] Katalog
Pilih Jenis Film   : >>input
Lama Sewa  : >>input

Tampilan Output Yang dikehendaki :

 SE7EN Season DVD Rental
--------------------------------------------
Tanggal Sewa   :
Nama Penyewa  :
------------------------------------------------------------------------------------------
No    Judul Film         Genre       Jenis       Harga     Lama      Subtotal
------------------------------------------------------------------------------------------
1.
2.
------------------------------------------------------------------------------------------
Total Bayar  : Rp.
Potongan  : Rp.
Jumlah Bayar  : Rp.


PENYELESAIAN
Yang pertama yang harus dilakukan adalah mendeklarasikan variable-variable untuk memasukkan data
contoh unt
uk input data judul film akan kita deklarasikan dengan judul. Untuk syntax-nya adalah menggunakan char judul[10][30] dimana char adalah type datanya dan judul adalah variable untuk input judul film, [10] adalah jumlah index array, [30] adalah pajang karakter string judul.
Lakukanlah hal yang sama dengan variable-variable data lainnya.

Lebih lengkapnya lihat listing script berikut:



//Nama file: tugasstruct1.cpp
#include <conio.h>
#include <stdio.h>
#include <iostream.h>
#include <iomanip.h>
#include <string.h>
#define GARIS "-------------------------------------------------------------------------\n"

struct {
char judul[10][30],jenis[10][20],genre[10][20];
int kdfilm[10],lama[10],harga[10];}film;

struct{
char nama[30];
int dd,mm,yy,jlhsewa;}penyewa;

main()

{long subtotal[10],total=0,disc,netbayar;
int i;

cout<<"\t\t\tSE7VEN SEASONS DVD RENTAL\n";
cout<<GARIS;
cout<<"Tanggal sewa\n";
errtgl:
cout<<"Masukkan Tanggal [1-31] : ";cin>>penyewa.dd;
if (penyewa.dd<1||penyewa.dd>31)
{cout<<"Tanggal salah, input 1-31\n";
goto errtgl;}
cout<<"Masukkan Bulan [1-12]   : ";cin>>penyewa.mm;
if (penyewa.mm<1||penyewa.mm>12)
{cout<<"Bulan salah, input 1-12\n";
goto errtgl;}
cout<<"Masukkan Tahun [yyyy]   : ";cin>>penyewa.yy;
cout<<endl;
cout<<"Nama Penyewa      : ";gets(penyewa.nama);
cout<<"Jumlah Sewa       : ";cin>>penyewa.jlhsewa;
cout<<GARIS;
for (i=1;i<=penyewa.jlhsewa;i++)
{cout<<"\nData DVD ke-"<<i<<endl;
 cout<<"Judul Film       : ";gets(film.judul[i]);
 cout<<"Genre            : ";gets(film.genre[i]);
 ulang:
 cout<<"Jenis            :\n";
 cout<<"[1] New Release\n";
 cout<<"[2] Recent Katalog\n";
 cout<<"[3] Katalog\n";
 cout<<"Pilih Jenis Film : ";cin>>film.kdfilm[i];
        if (film.kdfilm[i]==1)
        {strcpy(film.jenis[i],"New Release");
        film.harga[i]=5000;}
        else if (film.kdfilm[i]==2)
        {strcpy(film.jenis[i],"Recent Katalog");
        film.harga[i]=3000;}
        else if (film.kdfilm[i]==3)
        {strcpy(film.jenis[i],"Katalog");
        film.harga[i]=2000;}
        else
        {cout<<"Kode yang anda masukkan Salah, Silahkan Ulangi\n";
        goto ulang;}
 cout<<"Lama Sewa [hari] : ";cin>>film.lama[i];
 subtotal[i]=film.harga[i]*film.lama[i];
 total += subtotal[i];
 }

if (penyewa.jlhsewa>5)
disc=0.1*total;
else
disc=0;

netbayar =total-disc;

//output
clrscr();
cout<<"\nSE7VEN SEASONS DVD RENTAL\n";
cout<<"--------------------------\n";
cout<<"Tanggal Sewa  : "<<penyewa.dd<<'/'<<penyewa.mm<<'/'<<penyewa.yy<<endl;
cout<<"Nama Penyewa  : "<<penyewa.nama<<endl;
cout<<GARIS;
cout<<"No  Judul Film          Genre     Jenis          Harga      Lama Subtotal\n" ;
cout<<GARIS;
for (i=1;i<=penyewa.jlhsewa;i++)
{cout<<setiosflags(ios::left)<<setw(4)<<i;
cout<<setiosflags(ios::left)<<setw(20)<<film.judul[i];
cout<<setiosflags(ios::left)<<setw(10)<<film.genre[i];
cout<<setiosflags(ios::left)<<setw(15)<<film.jenis[i];
cout<<setiosflags(ios::left)<<setw(12)<<film.harga[i];
cout<<setiosflags(ios::left)<<setw(4)<<film.lama[i];
cout<<setiosflags(ios::left)<<setw(15)<<subtotal[i]<<endl;}
cout<<GARIS;
cout<<"Total Bayar   : "<<"Rp. "<<total<<endl;
cout<<"Potongan      : "<<"Rp. "<<disc<<endl;
cout<<"Jumlah Bayar  : "<<"Rp. "<<netbayar<<endl;
getch();
}


Cukup sekian dulu sobat dantocom untuk trik hari ini. Semoga bermanfaat.
Dantocom di Facebook

Artikel Lainnya..



Share