Monday, May 26, 2014

STRUCT DAN TYPEDEF C++


1.       Struct
a.    Definisi Struktur
Struktur yaitu pengelompokan dari variabel-variabel atau sejumlah data dengan tipe yang berlainan yang bernaung dalam satu nama yang sama. Struktur biasa digunakan untuk mengelompokkan beberapa informasi yang berkaitan dengan sebuah kesatuan, atau biasanya disebut dengan record.
b.    Deklarasi Struktur
Cara mendeklarasikan struktur adalah dengan menggunakan kata kunci struct. Perhatikan contoh penulisan struktur berikut ini:
 
Pada Contoh di atas, struktur bernama data_tanggal, yang tersusun atas 3 unit penyusunnya yaitu tahun, tanggal, dan bulan. Setelah dibuat struktur tanggal, selanjutnya struktur tersebut dapat digunakan sebagai tipe data suatu variabel, dalam hal ini disebut tipe data abstrak. Berikut contoh programnya.
a.    Struktur dalam Struktur
Suatu struktur juga bisa mengandung struktur yang lain. Sebagai gambaran, ditunjukkan pada contoh di bawah ini :
struct data_pegawai
{
int nip;
char nama[30];
data_tanggal tanggal_lahir;
}rec_peg;
Pada contoh ini, terdapat pendeklarasian struktur bernama data_pegawai dan sekaligus pendefinisian variable struktur bernama rec_peg. Gambar di bawah ini menunjukkan anggota dari variable rec_peg
b.    Mengakses Anggota Struktur
Cara mengakses struct yaitu dengan menulis nama struct, kemudian diberi tanda titik setelahnya di tulis nama variabel. Anggota struktur dapat diakses menggunakan bentuk :
Contoh :
rec_peg.nip = 108533414505;
rec_peg.nama = „dewi‟;
Perbandingan 2 Buah Struktur
Untuk membandingkan 2 buah struktur, masing-masing unit harus dibandingkan sendiri-sendiri, contoh:
if ((tgl1.tanggal == tgl2.tanggal) && (tgl1.bulan == tgl2.bulan) &&
(tgl1.tahun == tgl2.tahun))
cout << “Isi strukturnya sama”;
else cout << “Isi struktur tak sama”;
c.    Struktur dalam Fungsi
     Suatu struktur juga dapat digunakan untuk argumen/parameter suatu fungsi (function).
d.   Struktur dalam Pointer
Dalam pemanggilan struct dapat digunakan melewati pointer
struct rencana {
struct time *awal;    /* penunjuk bagi struktur */
struct time *akhir;
};



1.       Typedef
Typedef atau Type Definition adalah keyword untuk menciptakan alias atau nama lain. Typedef sering kita jumpai dalam pendeklarasian tipe data structtypedef struct nama nama;
Typedef memberikan nama lain dari "
struct nama" menjadi "nama" sehingga ketika kita mendeklarasikan sebuah tipe "struct nama" lebih di mudahkan dalam urusan penulisan.

Contoh lain typedef
typedef char * String;
String namaMhs, alamatMhs;
Dalam C, pointer ke character merupakan satu-satunya cara mendeklarasi tipe data string. Pada contoh di atas, dengan menggunakan typedef, sebuah tipe data baru dengan namaString dideklarasikan. Kemudian, menggunakan tipe data String yang baru tersebut, variabelnamaMhs dan alamatMhs dideklarasi.


contoh program :

#include
#include
#include
#include
#include
#define maks 50
using namespace std;


typedef struct
{
char nama [20];
int nim,mid,uas ;
char mata_kul[25];
float total_nilai;
char huruf;
string ket;

}jumlah_mhs;

jumlah_mhs mhs[maks];


int main ()

{
char a;
int n,i;
atas:

cout<< "Masukan Jumlah Mahasiswa [max 50 orang] = ";cin>>n;cout<
for(i=0; i


{

cout<
cout<<" Masukan NIM               = ";cin>>mhs[i].nim;
cout<<" Masukan Nama Mahasiswa    = ";cin>>mhs[i].nama;
cout<<" Masukan nilai mid         = ";cin>>mhs[i].mid;
cout<<" Masukan nilai uas         = ";cin>>mhs[i].uas;
cout<<" Masukan Mata Kuliah       = ";cin>>mhs[i].mata_kul;

cout<

}



system("cls");



cout<<"                               DAFTAR NILAI MAHASISWA                          "<
            cout<<"*******************************************************************************"<
            cout<<"===========================================================================----"<
            cout<<"| No | NIM | NAMA | MATA KUL| NILAI MID| NILAI SEM| TOTNILAI| HURUF| KET      |"<
            cout<<"==============================================================================="<


for(i=0; i



{
mhs[i].total_nilai=0.40*mhs[i].mid + 0.60*mhs[i].uas;
if((mhs[i].total_nilai>=80) && (mhs[i].total_nilai <=100))
{
mhs[i].huruf = 'A';
mhs[i].ket="LULUS";
}
else if  ((mhs[i].total_nilai>=71 ) && (mhs[i].total_nilai <=80))

{
mhs[i].huruf = 'B';
mhs[i].ket="LULUS";
}
else if ((mhs[i].total_nilai>=51 ) && (mhs[i].total_nilai <=70))
{
mhs[i].huruf = 'C';
mhs[i].ket="LULUS";
}
else if ((mhs[i].total_nilai>=41) && (mhs[i].total_nilai <=50))
{
mhs[i].huruf = 'D';
mhs[i].ket="LULUS";
}
else if ((mhs[i].total_nilai>=0 ) && (mhs[i].total_nilai <=40))
{
mhs[i].huruf = 'E';
mhs[i].ket="GAGAL";
}

cout<<"|"<
cout<<"|"<
cout<<"|"<
cout<<"|"<
cout<<"|"<
cout<<"|"<
cout<<"|"<
cout<<"|"<
cout<<"|"<
cout <
}
cout <
cout<<" Apakah ingin Menghitung Lagi [ Y / N ]";cin>>a;
if(a=='Y'|| a=='y')

goto atas;
system("pause");
return 0;
}
 

gambar hasil inputan :


Gambar Hasil Proses :


Selamat mencoba...



0 comments:

Post a Comment

Followers

  © Blogger template 'A Click Apart' by Ourblogtemplates.com 2008

Back to TOP