STRUCT
Dalam C++
Definisi Struktur (struct) sendiri
adalah kumpulan dari variabel yang dinyatakan dengan sebuah nama , dengan sifat
setiap variabel dapat memiliki tipe yang berlainan.
Dalam pemrograman C++, jika kita membuat suatu program
yang memerlukan berbagai tipe data yang akan digunakan. Tentunya dengan nama
variable yang banyak pula. Dalam program yang sederhana, jika kita manggunakan
sedikit variable tentu tidak jadi masalah. Akan tetapi jika kita akan membuat
sebuah program yang lebih kompleks, dengan berbagai macam nama dan tipe
variable dalam pendeklarasianya. Dengan struct, kita bisa mengelompokkan
berbagai nama dan tipe variable tersebut sesuai dengan kelompoknya. Hal ini tentunya
bisa berguna untuk memudahkan dalam mengelompokkan sebuah variable. Sebagai
contoh umum, ada terdapat berbagai nama variable : nama, npm, alamat,
dll. Variabel – variable tersebut dapat kita kelompokkan menjadi satu dengan
nama data_mahasiswa. Kemudian jika terdapat variable mata_kuliah,
nilai, sks, kelas, dll dapat kita kelompokkan menjadi satu dengan nama krs.
Itulah sebagian gambaran umum tentang struct. Masih bingung karena bahasa yang
terlalu beribet? Klo gitu, Langsung saja ke teori. Okey..
Dalam mendeklarasikan struct, ada beberapa cara
penulisan yang biasa digunakan.
Pertama :
struct nama_struct {
tipe_data_1 nama_var_1;
tipe_data_2 nama_var_2;
tipe_data_3 nama_var_3;
……
};
Yang kedua adalah dengan deklarasi menggunakan
typedef.
typedef struct {
tipe_data_1 nama_var_1;
.
.
tipe_data_n nama_var_n;
} nama_struct;
Kemudian untuk mendeklarasikan sebuah variable dengan
tipe data struct yang telah dibuat sebelumnya adalah :
struct tipe_struct nama_variabel;
Jika pendeklarasian struct sebelumnya menggunakan
typedef, maka untuk mendeklarasikan sebuah variable dengan tipe data struct
adalah :
tipe_struct nama_variabel;
Dan untuk mengakses sebuah struct adalah dengan
menggunakan operator titik (.)
nama_var_struct .
nama_var_elemen;
NESTED STRUCT
Di dalam sebuah struct dapat dimungkinkan terdapat
sebuah struct lagi. Jadi hal ini dapat diartikan struct di dalam struct. Hampir
mirip nested loop, yaitu for di dalam for.
Contoh :
struct
tanggal {
int hari;
int bulan;
int tahun;
};
struct
karyawan {
char NIP [10];
char nama
[20];
struct
tanggal tgl_masuk;
float gaji;
};
STRUCT OF ARRAY
Sebuah struct yang di dalamnya tedapat variable dengan
tipe data array.
Contoh :
struct data {
char
nama[20];
char
alamat[100];
};
ARRAY OF STRUCT
Sebuah array
yang setiap data elemennya bertipe struct. Umumnya dipakai untuk menyimpan
object data yang terstruktur, misal: data mahasiswa, karyawan, buku, barang,
dsb.
Contoh :
typedef
struct {
char npm [10];
char nama [20];
char alamat [30];
unsigned
angkatan;
float ipk;
} mahasiswa
;
mahasiswa data[100];
// deklarasi var, menyiapkan 100 data dengan tipe data mahasiswa (struct
yang telah dibuat sebelumnya).
CONTOH PROGRAM
Program untuk memasukkan data mahasiswa.
Source code :
#include
“stdio.h”
#include
“string.h”
#include “conio.h”
typedef
struct {
char npm [10];
char nama [20];
char alamat [30];
int
angkatan;
float ipk;
} mhs ;
void main()
{
mhs student[100];
char lagi = ‘y’; int i;
for( i = 0; lagi == ‘y’; i++)
{
printf(“nNPM = “); gets(student[i].npm);
printf(“Nama = “); gets(student[i].nama);
printf(“Alamat = “); gets(student[i].alamat);
printf(“Angkatan = “); scanf(“%i”, &student[i].angkatan);
printf(“IPK = “); scanf(“%f”, &student[i].ipk);
printf(“nMasukkan Lagi (y/t) ? “); lagi = getche(); flushall();
}
printf(“nnData yang sudah dimasukkan adalah:n”);
for( int j = 0; j < i; j++)
{
printf(“nNPM : %s”, student[j].npm);
printf(“nNama : %s”, student[j].nama);
printf(“nAlamat : %s”, student[j].alamat);
printf(“nAngkatan : %i”, student[j].angkatan);
printf(“nIPK
: %f n”, student[j].ipk);
}
}
OUTPUT PROGRAM
Contoh
Program
ANALISA PROGRAM
Dalam program di atas, kita mendeklarasikan sebuah
struct dengan nama mhs. Dalam struct mhs, terdapat lima variable yang
dideklarasikan, yaitu array npm, nama, alamat dengan tipe char, kemudian
angkatan dengan tipe integer, serta ipk dengan tipe float.
Setelah mendeklarasikan sebuah struct, masuk ke fungsi
main. Di dalam fungsi main, terlebih dahulu mendeklarasikan sebuah array student
dengan tipe mhs dengan ukuran 100. Maksudnya kita bisa menginput sampai
dengan 100 data mahasiswa ke dalam array student. Inilah yang disebut
dengan array of struct seperti yang telah dijelaskan sebelumnya.
Kemudian program masuk ke dalam looping untuk
memasukkan data. Maksud dari script gets(student[i].npm); adalah
perintah untuk memasukkan seduah data ke array student yang mengakses variabel
npm yang ada di dalam struct dengan urutan data ke i.
Looping akan berhenti jika user menginputkan karakter
selain ‘y’ yang artinya keluar dari looping. Kemudian program akan menampilkan
data yang sudah diinputkan.
UNION
Union
memungkinkan suatu lokasi memori ditempati oleh 2 atau lebih variabel dengan
tipe data berlainan. Jumlah memory yang diperlukan untuk menampung sebuah
variabel union ditentukan oleh field terbesar. Jika elemen-elemen sebuah union
terdiri dari data bertipe integer dan char maka memory yang dibutuhkan adalah
sebesar int. Jika elemen-elemen sebuah union berupa int, float, dan char maka
memory yang diperlukan adalah sebesar float.
Dalam
pendeklarasian union, sama dengan cara mendeklarasikan sebuah struct. Cara
mengakses union juga sama seperti struct.
Contoh :
union bil_bulat
{
unsigned int no;
unsigned char nama[2];
} ;
*
Struct adalah tipe data bentukan yang berisi kumpulan variabel-variabel
yang bernaung dalam satu nama yang sama dan memiliki kaitan satu
sama lain.
* Berbeda dengan array hanya berupa kumpulan variabel yang bertipe data
sama, struct bisa memiliki variabel-variabel yang bertipe data sama atau
berbeda, bahkan bisa menyimpan variabel yang bertipe data array atau
struct itu sendiri.
* Variabel-variabel yang menjadi anggota struct disebut dengan elemen
struct.
Bentuk umum dari struct:
typedef struct{
tipe_data ;
tipe_data ;
.... }
Struct bisa diumpamakan sebagai sebuah obyek, misalnya: obyek Mahasiswa. Struct Mahasiswa memiliki property atau atribut atau variabel yang melekat padanya:
* NIM misal karakter sejumlah 8
* Nama yaitu karakter
* IPK yaitu bilangan pecahan
Struct tidak memiliki operasi (method) atau function. Struct dapat digunakan dengan cara membuat variabel yang bertipe struct tersebut.
Misalnya :
* variabel anton bertipe struct Mahasiswa
* variabel erick bertipe struct Mahasiswa
Dengan demikian variabel anton dan erick memiliki NIM, Nama, dan IPK masing-masing.
Ada dua cara untuk mendeklarasikan struct pada C yaitu:
Menggunakan keyword typedef:
typedef struct Mahasiswa {
char NIM[8];
char nama[50];
float ipk;
};
//untuk menggunakan struct Mahasiswa dengan membuat variabel mhs dan mhs2
Mahasiswa mhs,mhs2;
//untuk menggunakan struct Mahasiswa dengan membuat variabel array m;
Mahasiswa m[100];
Menggunakan keyword struct:
struct {
char NIM[8];
char nama[50];
float ipk;
} mhs;
Berarti kita sudah mempunyai variabel mhs yang bertipe data struct seperti diatas
Cara penggunaan struct dan pengaksesan elemen-elemennya:
* Penggunaan/pemakaian tipe data struct dilakukan dengan membuat suatu variabel yang bertipe data struct tersebut
* Pengaksesan elemen struct dilakukan secara individual dengan menyebutkan nama variabel struct diikuti dengan operator titik (.)
* Misalnya dengan struct mahasiswa seperti contoh di atas, kita akan akses elemen-elemennya seperti contoh berikut:
Contoh Program 1 (Penggunaan Struct Sederhana) :
#include
#include
//Pendeklarasian tipe data baru struct Mahasiswa
typedef struct Mahasiswa{
char NIM[9];
char nama[30];
float ipk;
};
void main(){
//Buat variabel mhs bertipe data Mahasiswa
Mahasiswa mhs;
clrscr();
printf("NIM = ");scanf("%s",mhs.NIM);
printf("Nama = ");scanf("%s",mhs.nama);
printf("IPK = ");scanf("%f",&mhs.ipk);
printf("Data Anda : \n");
printf("NIM : %s\n",mhs.NIM);
printf("Nama : %s\n",mhs.nama);
printf("IPK : %f\n",mhs.ipk);
getch();
}
Contoh Program 2 (Penggunaan Struct dalam Struct) :
#include
#include
typedef struct Date{
int dd;
int mm;
int yyyy;
};
typedef struct Time{
int h;
int m;
int s;
};
typedef struct Login{
int ID;
Date tglLogin;
Time waktuLogin;
};
int main(){
Login user1;
printf("USER 1\n");
printf("ID : ");scanf("%d",&user1.ID);
printf("Tanggal Login\n");
printf("Hari : ");scanf("%d",&user1.tglLogin.dd);
printf("Bulan : ");scanf("%d",&user1.tglLogin.mm);
printf("Tahun : ");scanf("%d",&user1.tglLogin.yyyy);
printf("Waktu Login\n");
printf("Jam : ");scanf("%d",&user1.waktuLogin.h);
printf("Menit : ");scanf("%d",&user1.waktuLogin.m);
printf("Detik : ");scanf("%d",&user1.waktuLogin.s);
printf("Terimakasih\n");
printf("Data Anda :\n");
printf("ID : %d\n",user1.ID);
printf("Date : %d - %d - %d\n",user1.tglLogin.dd,user1.tglLogin.mm,user1.tglLogin.yyyy);
printf("ID :%d:%d:%d\n",user1.waktuLogin.h,user1.waktuLogin.m,user1.waktuLogin.s);
getch();
}
Contoh 3 (Penggunaan Array Of Struct)
#include
#include
typedef struct Date{
int dd;
int mm;
int yyyy;
};
typedef struct Time{
int h;
int m;
int s;
};
typedef struct Login{
int ID;
Date tglLogin;
Time waktuLogin;
};
int main(){
Login user[3];
//3 user
for(int i=0;i<3;i++){>
yang bernaung dalam satu nama yang sama dan memiliki kaitan satu
sama lain.
* Berbeda dengan array hanya berupa kumpulan variabel yang bertipe data
sama, struct bisa memiliki variabel-variabel yang bertipe data sama atau
berbeda, bahkan bisa menyimpan variabel yang bertipe data array atau
struct itu sendiri.
* Variabel-variabel yang menjadi anggota struct disebut dengan elemen
struct.
Bentuk umum dari struct:
typedef struct{
tipe_data ;
tipe_data ;
.... }
Struct bisa diumpamakan sebagai sebuah obyek, misalnya: obyek Mahasiswa. Struct Mahasiswa memiliki property atau atribut atau variabel yang melekat padanya:
* NIM misal karakter sejumlah 8
* Nama yaitu karakter
* IPK yaitu bilangan pecahan
Struct tidak memiliki operasi (method) atau function. Struct dapat digunakan dengan cara membuat variabel yang bertipe struct tersebut.
Misalnya :
* variabel anton bertipe struct Mahasiswa
* variabel erick bertipe struct Mahasiswa
Dengan demikian variabel anton dan erick memiliki NIM, Nama, dan IPK masing-masing.
Ada dua cara untuk mendeklarasikan struct pada C yaitu:
Menggunakan keyword typedef:
typedef struct Mahasiswa {
char NIM[8];
char nama[50];
float ipk;
};
//untuk menggunakan struct Mahasiswa dengan membuat variabel mhs dan mhs2
Mahasiswa mhs,mhs2;
//untuk menggunakan struct Mahasiswa dengan membuat variabel array m;
Mahasiswa m[100];
Menggunakan keyword struct:
struct {
char NIM[8];
char nama[50];
float ipk;
} mhs;
Berarti kita sudah mempunyai variabel mhs yang bertipe data struct seperti diatas
Cara penggunaan struct dan pengaksesan elemen-elemennya:
* Penggunaan/pemakaian tipe data struct dilakukan dengan membuat suatu variabel yang bertipe data struct tersebut
* Pengaksesan elemen struct dilakukan secara individual dengan menyebutkan nama variabel struct diikuti dengan operator titik (.)
* Misalnya dengan struct mahasiswa seperti contoh di atas, kita akan akses elemen-elemennya seperti contoh berikut:
Contoh Program 1 (Penggunaan Struct Sederhana) :
#include
#include
//Pendeklarasian tipe data baru struct Mahasiswa
typedef struct Mahasiswa{
char NIM[9];
char nama[30];
float ipk;
};
void main(){
//Buat variabel mhs bertipe data Mahasiswa
Mahasiswa mhs;
clrscr();
printf("NIM = ");scanf("%s",mhs.NIM);
printf("Nama = ");scanf("%s",mhs.nama);
printf("IPK = ");scanf("%f",&mhs.ipk);
printf("Data Anda : \n");
printf("NIM : %s\n",mhs.NIM);
printf("Nama : %s\n",mhs.nama);
printf("IPK : %f\n",mhs.ipk);
getch();
}
Contoh Program 2 (Penggunaan Struct dalam Struct) :
#include
#include
typedef struct Date{
int dd;
int mm;
int yyyy;
};
typedef struct Time{
int h;
int m;
int s;
};
typedef struct Login{
int ID;
Date tglLogin;
Time waktuLogin;
};
int main(){
Login user1;
printf("USER 1\n");
printf("ID : ");scanf("%d",&user1.ID);
printf("Tanggal Login\n");
printf("Hari : ");scanf("%d",&user1.tglLogin.dd);
printf("Bulan : ");scanf("%d",&user1.tglLogin.mm);
printf("Tahun : ");scanf("%d",&user1.tglLogin.yyyy);
printf("Waktu Login\n");
printf("Jam : ");scanf("%d",&user1.waktuLogin.h);
printf("Menit : ");scanf("%d",&user1.waktuLogin.m);
printf("Detik : ");scanf("%d",&user1.waktuLogin.s);
printf("Terimakasih\n");
printf("Data Anda :\n");
printf("ID : %d\n",user1.ID);
printf("Date : %d - %d - %d\n",user1.tglLogin.dd,user1.tglLogin.mm,user1.tglLogin.yyyy);
printf("ID :%d:%d:%d\n",user1.waktuLogin.h,user1.waktuLogin.m,user1.waktuLogin.s);
getch();
}
Contoh 3 (Penggunaan Array Of Struct)
#include
#include
typedef struct Date{
int dd;
int mm;
int yyyy;
};
typedef struct Time{
int h;
int m;
int s;
};
typedef struct Login{
int ID;
Date tglLogin;
Time waktuLogin;
};
int main(){
Login user[3];
//3 user
for(int i=0;i<3;i++){>
Algoritme dan
Pemrograman
Kuliah#11
StructureReview
Latihan Slide 10
#include
<stdio.h>
#include
<stdlib.h>
#define
SIZE 100
void
substring
char
*dest, const char *source, int a, int n)
{
int
i=a;
for
(; i<a+n; i++)
dest[i-a]=source[i];
dest[i-a]='\0';
}
DEPARTEMEN ILMU
KOMPUTER INSTITUT PERTANIAN BOGOR Review Latihan Slide 10
DEPARTEMEN ILMU
KOMPUTER INSTITUT PERTANIAN BOGOR
main()
{
intn,
i;
char
st[50], nama[SIZE][50], t[3];
intusia[SIZE],
sum=0;
scanf("%d\n",
&n);
for
(i=0; i<n; i++) {
gets(st);//
bacabarisdata
substring(nama[i],
st, 2,50);// ambilnamamulaikolom2
substring(t,
st, 0, 2);// ambilusiamulaikolom0
usia[i]=atoi(t);//
ubahusiamenjadiinteger
sum
+= usia[i];
}
for
(i=0; i<n; i++)// cetaknama
printf("%s\n",
nama[i]);
printf("%.2f\n",
(float)sum/n);// hitungdancetakrataanusia
return
0;
}
12/29/2011
ILKOM IPB
2 Review Latihan
Slide 10
o Untuk
menampung data nama dan usia, dibuat dua variabel array:
char
nama[SIZE][50];
int
usia[SIZE];
o Bisakah disimpan dalam satu variabel array
biasa? à TIDAK
BISA, karena berbeda tipe.
o Beberapa
variabel dapat dikemas dalam satu paket (package) dengan menggunakan struct.
DEPARTEMEN ILMU
KOMPUTER INSTITUT PERTANIAN BOGOR
Pengertian STRUCT
o STRUCT adalah sekumpulan variabel
(masing-masing dapat berbeda tipe) yang dikelompokkan dan dikemas ke dalam satu
nama variabel.
o Untuk
mendefinisikan suatu rekord data.
o Termasuk
tipe data yang dibangkitkan (derived data type).
DEPARTEMEN ILMU
KOMPUTER INSTITUT PERTANIAN BOGOR
Membuat struct
o Contoh:
struct
dataMhs {
char
*nama;
int
usia;
};
o Tipe struct ini diberi nama dataMhs.
o Terdiri atas dua variabel: nama dan usia.
o Pernyataan di atas hanya membuat tipe data struct baru, TIDAK
mendeklarasikan variabel apapun.
DEPARTEMEN ILMU
KOMPUTER INSTITUT PERTANIAN BOGOR
12/29/2011
ILKOM IPB
3
Deklarasi struct
oContohdeklarasivariabelmenggunakantipestruct:
structdataMhsmhs;
structdataMhsarrMhs[100];
oDapatjugadilakukanlangsung(definisidandeklarasi):
structdataMhs{
char
*nama;
intusia;
}
mhs, arrMhs[100];DEPARTEMEN
ILMU KOMPUTER INSTITUT PERTANIAN BOGOR Contoh program ::Merekam data nama
dan usia mhs.
#include
<stdio.h>
structdataMhs{
char
*nama;
intusia;
}
mhs1;
main()
{
structdataMhsmhs2={"Indah
Sekali", 19};
mhs1.nama
= "ElokNian";
mhs1.usia
= 20;
printf("%s
%d\n", mhs1.nama, mhs1.usia);
printf("%s
%d\n", mhs2.nama, mhs2.usia);
return
0;
}
DEPARTEMEN ILMU
KOMPUTER INSTITUT PERTANIAN BOGOR Elok Nian 20Indah Sekali 19Operator pointer pada struct
#include
<stdio.h>
structdataMhs{
char
*nama;
intusia;
};
main()
{
structdataMhsmhs={"Indah
Sekali", 19};
structdataMhs*p;
p
= &mhs;
printf("%s
%d\n", mhs.nama, mhs.usia);
printf("%s
%d\n", p->nama, p->usia);
return
0;
}DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN
BOGOR Indah
Sekali 19Indah Sekali 19
PROGRAM STRUCT MAHASISWA
#include <iostream.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
struct mahasiswa
{
char nama[90];
char
alamat[255];
int
umur;
};
mahasiswa saya;
void main() {
char temp[2];
cout<<"Masukkan nama saya = ";
cin.getline(saya.nama,sizeof(saya.nama));
cout<<"Masukin alamat saya =
";
cin.getline(saya.alamat,sizeof(saya.alamat));
cout<<"Masukin umur saya = ";
cin.getline(temp,sizeof(temp));
saya.umur = atoi(temp);
clrscr();
cout<<"Nama =
"<<saya.nama<<endl;
cout<<"Alamat =
"<<saya.alamat<<endl;
cout<<"Umur =
"<<saya.umur<<endl;
getch();
}
12/29/2011
ILKOM IPB
4
Akses anggota struct
oMenggunakan salah satu dari dua operator:
noperator titik
(.)
noperator
panah (->)
tergantung tipe
variabel yang dideklarasikan.
oJika
variabel biasa (selain pointer) maka digunakan operator titik, sedangkan jika
variabel pointer maka digunakan operator panah.
DEPARTEMEN ILMU
KOMPUTER INSTITUT PERTANIAN BOGOR Typedef
•Typedefmerupakanmekanismeuntukmembuatsinonimataualias daritipedata
yang telahdidefinisikansebelumnya.
•Contoh:
typedefstructdataMhsMHS;
berartimendefinisikantipedata
barubernamaMHS sebagaisinonimuntukstructdataMhs.
•Dengandemikian,
pernyataanstructdataMhsuntukselanjutnyadapatdigantidenganMHSsaja.
DEPARTEMEN ILMU
KOMPUTER INSTITUT PERTANIAN BOGOR Contoh ::Menggunakan typedef
#include
<stdio.h>
structdataMhs{
char
*nama;
intusia;
};
typedefstructdataMhsMHS;
main()
{
MHS
mhs={"Indah Sekali", 19};
MHS
*p;
p
= &mhs;
printf("%s
%d\n", mhs.nama, mhs.usia);
printf("%s
%d\n", p->nama, p->usia);
return
0;
}
DEPARTEMEN ILMU
KOMPUTER INSTITUT PERTANIAN BOGOR Indah Sekali 19Indah Sekali 19
12/29/2011
ILKOM IPB
5Array of struct
#include
<stdio.h>
#define
SIZE 100
structnilaiMhs{
char
nim[9];
intuts,
uas;
float
rataan;
};
typedefstructnilaiMhsNILAI;
void
substring (char *dest, const char *source, inta, intn)
{
inti=a;
for
(; i<a+n; i++)
dest[i-a]=source[i];
dest[i-a]='\0';
}DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN
BOGOR Array of struct
main()
{
intn,
i;
NILAI
list[SIZE];
char
brs[256], st[4];
scanf("%d\n",
&n);
for
(i=0; i<n; i++) {
gets(brs);
// bacaper barisdata
substring(list[i].nim,
brs, 0, 9);
substring(st,
brs, 10, 2); list[i].uts=atoi(st);
substring(st,
brs, 13, 2); list[i].uas=atoi(st);
}
for
(i=0; i<n; i++) // hitungrataantiapmhs
list[i].rataan=(float)
(list[i].uts+list[i].uas)/2.0;
for
(i=0; i<n; i++) {
printf("%s
%.2f\n", list[i].nim, list[i].rataan);
}
return
0;
}DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN
BOGOR
3
G64010234
60 80
G64010235
50 45
G64010236
90 76Latihan #1 ::Bilangan
Kompleks
oBilangankompleks(complex
numbers) dalammatematikaterdiridariduanilaiyang direpresentasikansebagai:
a+b-1
dimanaa danb
adalahbilanganriil
oBuatprogram
untukmembacaduabilangankompleksdanmenampilkanhasilkali keduanya.
Gunakantipedata struct
oContohdata
masukan: 12.5
2.3
10.6
1.9
DEPARTEMEN ILMU
KOMPUTER INSTITUT PERTANIAN BOGOR
Struktur (Struct)
15
Nov
Definisi Struktur (struct)
sendiri adalah kumpulan dari variabel yang dinyatakan dengan sebuah nama ,
dengan sifat setiap variabel dapat memiliki tipe yang berlainan.Dalam pemrograman C++, jika kita membuat suatu program yang memerlukan berbagai tipe data yang akan digunakan. Tentunya dengan nama variable yang banyak pula. Dalam program yang sederhana, jika kita manggunakan sedikit variable tentu tidak jadi masalah. Akan tetapi jika kita akan membuat sebuah program yang lebih kompleks, dengan berbagai macam nama dan tipe variable dalam pendeklarasianya. Dengan struct, kita bisa mengelompokkan berbagai nama dan tipe variable tersebut sesuai dengan kelompoknya. Hal ini tentunya bisa berguna untuk memudahkan dalam mengelompokkan sebuah variable. Sebagai contoh umum, ada terdapat berbagai nama variable : nama, npm, alamat, dll. Variabel – variable tersebut dapat kita kelompokkan menjadi satu dengan nama data_mahasiswa. Kemudian jika terdapat variable mata_kuliah, nilai, sks, kelas, dll dapat kita kelompokkan menjadi satu dengan nama krs. Itulah sebagian gambaran umum tentang struct. Jika masih sulit memahami penjelasan diatas, kita langsung saja ke contohnya.
Dalam mendeklarasikan struct, ada beberapa cara penulisan yang biasa digunakan.
Pertama :
struct nama_struct {
tipe_data_1 nama_var_1;
tipe_data_2 nama_var_2;
tipe_data_3 nama_var_3;
……
};
Yang kedua adalah dengan deklarasi menggunakan typedef.
typedef struct {
tipe_data_1 nama_var_1;
.
.
tipe_data_n nama_var_n;
} nama_struct;
Berikut ini adalah contoh programnya :
#include <iostream.h>
void main()
{
struct data
{
int harga;
char nama[30];
};
data barang[50];
int j;
cout<<”Masukkan Data Barang yang akan di data!”<<endl;
cout<<”=============================================”<<endl<<endl;
for (j=0;j<10;j++)
{
cout<<”Data ke-”<<j+1<<” -> “;
cout<<”Masukkan Nama Barang =”;
cin>>barang[j].nama;
cout<<” Masukkan Harga Barang =”;
cin>>barang[j].harga;
cout<<endl;
}
cout<<endl;
cout<<”Hasil Data Barang yang Sudah Diinputkan”<<endl;
cout<<”________________________________”<<endl;
cout<<”|No.| Nama Barang | Harga |”<<endl;
cout<<”——————————–”<<endl;
for (j=0;j<10;j++)
{
cout<<”| “;
cout<<j+1;
cout<<” | “;
cout<<barang[j].nama;
cout<<” |”<<barang[j].harga;
cout<<endl;
}
}
12/29/2011
ILKOM IPB
6Latihan 2 ::Data
waktu (time)
oBuatfungsiuntukmenentukanselisih(dalamsatuanmenit)
antaraduawaktutime1 dantime2. Masing-masingwaktuterdiriatastigakomponennilai,
yaituhour(jam), minute(menit), dansecond(detik).
oContohpenggunaanfungsi:
main()
{
TIME
time1={10,30,0.0};
TIME
time2={11,31,30.0};
float
beda;
beda=selisih(time1,
time2);
printf(".2f\n",
beda); // output: 61.50
return
0;
}
DEPARTEMEN
ILMU KOMPUTER INSTITUT PERTANIAN BOGOR
Sippp gann
BalasHapus