untuk dowload file yang word klik disini
STRUCTURE
v STRUCTURE
Structure / struktur digunakan
untuk mengelompokkan sejumlah data yang memiliki tipe data yang berbeda.
Variable – variable yang membentuk sebuah struktur dinamakan dengan Elemen Struktur. Dalam bahasa Pascal Struktur
dikenal sebagai record.
/* Nama File : struct1.cpp */
#include<conio.h>
#include<iostream.h>
main()
{
struct
{
int nilai;
char nim[5];
char nama[15];
} mahasiswa;
clrscr();
cout<<"masukan
NIM = ";
cin>>mahasiswa.nim;
cout<<"masukan
Nama = ";
gets(mahasiswa.nama);
cout<<"masukan
Nilai Akhir = ";
cin>>mahasiswa.nilai;
cout<<"\n\nData
Yang di Inputkan adalah : \n\n";
cout<<"NIM
= "<<mahasiswa.nim<<endl;
cout<<"Nama
= "<<mahasiswa.nama<<endl;
cout<<"Nilai
Akhir = "<<mahasiswa.nilai<<endl;
getch();
}
v STRUKTUR DENGAN ARRAY
|
Deklarasi :
Contoh struktur array :
#include
<stdio.h>
#include
<conio.h>
#include
<iostream.h>
#include
<iomanip.h>
main()
{
int i,n;
struct
{
char nim[9];
char nama[15];
float nilai;
} mhs[5];
clrscr();
cout<<”masukkan
banyak mahasiswa : “;cin>>n;
for(i=1; i<=n;
i++)
{
cout<<"Masukkan NIM\t\t=
"; cin>>mhs[i].nim;
cout<<"Masukkan Nama\t\t=
"; cin>>mhs[i].nama;
cout<<"Masukkan Nilai Akhir\t=
"; cin>>mhs[i].nilai;
cout<<endl;
}
cout<<endl<<endl;
cout<<"-------------------------------------------"<<endl;
cout<<"Data ke-| NIM
| Nama |Nilai Akhir|"<<endl;
cout<<"-------------------------------------------"<<endl;
for(i=1; i<=n;
i++)
{
cout<<"
"<<setiosflags(ios::left)<<setw(7)<<i;
cout<<"
"<<setiosflags(ios::left)<<setw(8)<<mhs[i].nim;
cout<<" "<<setiosflags(ios::left)<<setw(8)<<mhs[i].nama;
cout<<"
"<<setiosflags(ios::right)<<setw(11)<<setprecision(2)<<mhs[i].nilai<<endl;
}
cout<<"-------------------------------------------"<<endl;
getch();
}
LATIHAN STRUCT ARRAY !!!
Rancangan Masukan
Rancangan Keluaran
Ketentuan Soal !!!!
1.
Kelompokkan variabel yang dijadikan array dengan deklarasi struct array.
|
2.
Input
Transaksi penjualan, seperti kode sepatu, merk, harga dan jumlah beli dapat
berulang sebanyak = banyak transaksi yang diinput.
3.
total
harga didapat dari jumlah beli dikali
harga
4.
Total
pembelian didapat dari jumlah
keseluruhan dari total harga.
5.
diskon
didapat dari : jika total pembelian > 450000 maka diskon 15% dari total
pembelian. Jika total pembelian > 300000 maka diskon 10% dari total pembelian. Selain itu tidak dapat
diskon.
6.
total
bayar = total pembelian - diskon
7.
Jika
ingin mengulang transaksi kembali maka jawab ‘Y’ diakhir program. Selain itu
maka selesai dari program.
Jawaban
#include <stdio.h>
#include
<conio.h>
#include
<iostream.h>
#include
<iomanip.h>
main()
{
char
notrans[15],lagi;
int
i,n,topem=0,diskon,tobay;
struct
{
char
kode[5],merk[20];
int
harga,jumbel,tohar;
}toko[10];
atas:
clrscr();
cout<<"\t
\"\TOKO SEPATU KACA\"\ "<<endl;
cout<<"\t========================="<<endl<<endl;
cout<<"Input
No. Transaksi :
";cin>>notrans;
cout<<"Input
Banyaknya Transaksi : ";cin>>n;
cout<<"========================="<<endl<<endl;
for(i=1;i<=n;i++)
{
cout<<"Transaksi
Penjualan Ke- "<<i<<" :"<<endl;
cout<<"Input
Kode Sepatu : ";cin>>toko[i].kode;
cout<<"Input
Merk :
";cin>>toko[i].merk;
cout<<"Input
Harga :
";cin>>toko[i].harga;
cout<<"Input
Jumlah Beli : ";cin>>toko[i].jumbel;
}
clrscr();
cout<<"\t
*** TOKO SEPATU KACA *** "<<endl;
cout<<"\t========================="<<endl<<endl;
cout<<"No.
Transaksi :
"<<notrans<<endl<<endl;
for(i=1;i<=n;i++)
{
cout<<"Transaksi
Penjualan Ke- "<<i<<" :"<<endl;
cout<<"Kode
Sepatu :
"<<toko[i].kode<<endl;
cout<<"Merk
Sepatu : "<<toko[i].merk<<endl;
cout<<"Harga
Sepatu :
"<<toko[i].harga<<endl;
cout<<"Jumlah
Beli :
"<<toko[i].jumbel<<endl;
toko[i].tohar=toko[i].harga*toko[i].jumbel;
cout<<"Total
Harga :
"<<toko[i].tohar<<endl;
topem=topem+toko[i].tohar;
}
cout<<"----------------------------"<<endl<<endl;
cout<<"Total
Pembelian :
"<<topem<<endl;
if (topem>450000)
diskon=0.15*topem;
else if
(topem>300000)
diskon=0.10*topem;
else
diskon=0;
cout<<"Diskon : "<<diskon<<endl;
tobay=topem-diskon;
cout<<"Total
Bayar : "<<tobay<<endl;
cout<<"----------------------------"<<endl<<endl;
cout<<"Ingin
Input Transaksi Lagi [Y/T] ? : ";cin>>lagi;
if(lagi=='Y'||lagi=='y')
goto atas;
else
getch();
}
v STRUKTUR ARRAY IF
Penggunaan struktur array yaitu mengelompokkan variabel
yang dijadikan array, namun dengan penambahan struktur kondisi IF.
#include<stdio.h>
#include<conio.h>
#include<iostream.h>
main()
{
char
nama[20],nim[9];
int i,n,total=0;
struct
{
char kode[4],materi[30];
int biaya;
}
kursus[10];
printf("
PENDAFTARAN KURSUS KOMPUTER BSI \n");
printf("----------------------------------------------\n");
printf("masukkan
nama siswa : ");gets(nama);
printf("masukkan
nim : ");scanf("%s",&nim);
printf("masukkan
jumlah data : ");scanf("%d",&n);
printf("pilihan
materi kursus \n");
printf("of1 =
OFFICE (WORD ,EXCEL, POWERPOINT \n");
printf("ph1 =
PHOTOSHOP \n");
for(i=1;i<=n;i++)
{
printf("masukkan kode materi KURSUS :
");scanf("%s",&kursus[i].kode);
if
(strcmp(kursus[i].kode,"of1")==0||strcmp(kursus[i].kode,"OF1")==0)
{
strcpy(kursus[i].materi,"microsoft
OFFICE");
kursus[i].biaya=350000;
}
else
{
strcpy(kursus[i].materi,"photoshop");
kursus[i].biaya=550000;
}
} //menutup for
perulangan array
printf("HASIL \n");
printf("=====================================\n");
printf("
NO || MATERI KURSUS ||
BIAYA || \n");
printf("=====================================\n");
for
(i=1;i<=n;i++)
{
printf("
%-4d||%-30s||Rp.%11d|| \n" , i,kursus[i].materi,kursus[i].biaya);
total=total+kursus[i].biaya;
}
printf("=====================================\n");
printf("jumlah
total bayar : %10d \n",total);
getch();
}
LATIHAN STRUCT ARRAY IF !!!
ö RANCANGAN MASUKAN RANCANGAN
KELUARAN
|
|
||||
KETENTUAN !
1.
Kelompokkan variabel yang dijadikan array (struct – array)
|
2.
kode perawatan menentukan jenis perawatan dan biaya1. Gunakan if.
Kode Perawatan
|
Jenis Perawatan
|
Biaya1
|
LUR1
|
LULUR REMPAH
|
25.000
|
SPA2
|
SPA
|
55.000
|
3.
Kode Kapster menentukan Kapster dan Biaya2. Gunakan switch case.
Kode Kapster
|
Kapster
|
Biaya2
|
A
|
PONARI
|
5.000
|
B
|
GARENG
|
6.000
|
4. Total = biaya1 + biaya2.
5. Total bayar = jumlah dari
total permasing-masing perawatan.
6.
v STRUKTUR FUNGSI ARRAY
Penggabungan struct – array dan pembuatan fungsi.
Cot struct
fungsi array:
#include
<stdio.h>
#include
<conio.h>
#include
<iostream.h>
#include
<iomanip.h>
void hitung (int*uts,int*uas,int*rata);
void hitung (int*uts,int*uas,int*rata)
{
*rata=(*uts+*uas)/2;
}
main()
{
int i,n;
struct
{
char nim[9];
char
nama[15];
int a,b,c;
} mhs[5];
clrscr();
cout<<”masukkan jumlah data :
”;cin>>n;
for(i=1; i<=n; i++)
{
cout<<"Masukkan NIM\t\t=
"; cin>>mhs[i].nim;
cout<<"Masukkan Nama\t\t=
"; cin>>mhs[i].nama;
cout<<"Masukkan Nilai UTS\t=
"; cin>>mhs[i].a;
cout<<"Masukkan
Nilai UAS\t= "; cin>>mhs[i].b;
cout<<endl;
}
cout<<endl;
cout<<"-------------------------------------------"<<endl;
cout<<"Data ke-| NIM
| Nama |UTS|UAS|Rata "<<endl;
cout<<"-------------------------------------------"<<endl;
for(i=1; i<=n; i++)
{
cout<<"
"<<setiosflags(ios::left)<<setw(7)<<i;
cout<<"
"<<setiosflags(ios::left)<<setw(8)<<mhs[i].nim;
cout<<"
"<<setiosflags(ios::left)<<setw(8)<<mhs[i].nama;
cout<<"
"<<setiosflags(ios::right)<<setw(3)<<mhs[i].a;
cout<<"
"<<setiosflags(ios::right)<<setw(3)<<mhs[i].b;
hitung(&mhs[i].a,&mhs[i].b,&mhs[i].c);
cout<<"
"<<setiosflags(ios::right)<<setw(4)<<mhs[i].c<<endl;
}
cout<<"-------------------------------------------"<<endl;
getch();
}
LATIHAN STRUCT
FUNGSI ARRAY !!!
o
RANCANGAN MASUKAN
o
RANCANGAN KELUARAN
Ketentuan
soal !!!
1.
Kelompokkan
variabel yang mengalami array dengan deklarasi struct array.
|
2.
Input No plat motor, kode
servis dan cash berulang sebanyak jumlah data yang diinput.
3.
Kode Servis menentukan Jenis
servis dan biaya servis (gunakan struktur switch case).
Kode servis
|
Jenis Servis
|
Biaya Servis
|
A
|
Servis
– ganti oli
|
Rp. 90000
|
B
|
Servis
– ganti spare part
|
Rp. 150000
|
C
|
Servis
– wash
|
Rp. 70000
|
4.
Gunakan
pembuatan fungsi untuk pembuatan
rumus :
·
pajak diberikan 10 % dari biaya
servis.
·
total didapat dari biaya +
pajak.
5.
total pendapatan didapat dari
jumlah dari keseluruhan total.
6.
input data lagi, jika jawab Y
maka input jumlah data lagi. Jika jawab T maka selesai dari program.
Tidak ada komentar:
Posting Komentar