Dokumen tersebut membahas tentang struktur dalam bahasa C++. Secara singkat, struktur digunakan untuk mendefinisikan tipe data baru yang dapat menampung beberapa variabel dengan tipe data yang berbeda-beda. Struktur dapat berisi anggota lainnya, termasuk struktur lain, dan diakses menggunakan operator titik. Struktur dapat digunakan sebagai parameter fungsi dan dilakukan pembandingan nilai antar anggotanya.
1. 1
STRUCTURE
Struktur (Structure = struct) merupakan
suatu struktur data yang terdiri dari satu atau lebih
variabel yang bertipe data sama atau
berbeda.
Struktur secara logik membuat suatu tipe data
baru(user defined type) yang dapat dipergunakan
untuk menampung data / informasi yang bersifat
majemuk.
Misalnya, data seorang mahasiswa STT PLN,
dimana tiap mahasiswa mempunyai: Nim,
Nama, Alamat, Nilai, IPK, SKS, dll, dan semua itu
harus dipandang sebagai satu data mahasiswa.
2. 2
Deklarasi Struktur :
struct Nama_Struktur
{
blok_anggota_struktur;
};
dimana:
Nama_Struktur (structTag) -> tipe_data baru
Contoh :
struct Titik {
double x; // anggota struktur
double y; // anggota struktur
};
struct point { float x, y; };
3. 3
struct Mahasiswa { char NIM[11]; char Nama[30];
char Mata_Kuliah[30];
float Nilai; }
struct Barang { char Id[11], Nama_Barang[30];
int Jumlah;
float Harga; };
Deklarasi Variabel Struktur :
Struktur yang telah dideklarasikan struktur ini dapat digunakan
untuk mendefinisikan suatu variabel
Contoh :
struct data_tanggal tanggal_lahir;
merupakan pendefinisian variabel struktur bertipe struktur
tanggal_lahir dimana didalamnya terdiri tiga buah anggota yaitu
Tahun
Bulan
Tanggal
4. #Struktur di dalam struktur
suatu stuktur juga bisa mengandung struktur yang lain.
Contoh :
Struct data_pegawai
{
int nip;
Char nama[25];
data_tanggal tanggal_lahir;
} rec_peg
Pada contoh diatas terdapat pendeklarasian struktur bernama
data_pegawai dan sekaligus pendefinisian variabel stuktur bernama
rec_peg menunjukkan anggota dari variabel rec_peg.
4
5. 5
Akses Anggota Struktur :
Anggota struktur diakses dengan menggunakan :
variabel_struktur.nama_anggota
Tanda titik diberikan diantara nama variabel struktur dan nama
anggota
Contoh :
Tanggal_lahir.tanggal = 1;
Merupakan pernyataan penugasan untuk memberikan nilai 1 ke
anggota tanggal pada variabel sruktur tanggal_lahir.
atau
Rec_peg.tanggal_lahir.bulan = 9;
6. Contoh Program C++ :
#include <iostream.h>
#include <conio.h>
Void main()
{
struct data_tanggal
{
int tahun;
int bulan;
int tanggal;
};
data_tanggal.tanggal_lahir;
tanggal_lahir.tanggal= 1;
tanggal_lahir.bulan = 9;
tanggal_lahir.tahun = 1964;
Cout<<tanggal_lahir.tanggal<<‘/’
<<tanggal_lahir.bulan<<‘/’
<<tanggal_lahir.tahun<<endl;
}
6
7. # Penugasan struktur
pemberian nilai terhadap suatu struktur dapat dilakukan dengan bentuk :
var1=var2
sepanjang kedua variabel adalah variabel struktur bertipe sama
misal terdapt pendefinisian :
data_tanggal tgl1 tgl2;
penugasan seperti berikut :
tgl2 = tgl1 diperkenankan
Contoh Program C++ :
#include <iostream.h>
#include <conio.h>
Void main()
{
struct data_tanggal
{
int tahun;
int bulan;
int tanggal;
};
data_tanggal tgl1, tgl2;
tgl1.tanggal= 1;
tgl1.bulan = 9;
tgl1.tahun = 1964;
tgl2 = tgl1
Cout<< tgl2.tanggal<<‘/’
<< tgl2.bulan<<‘/’
<< tgl2.tahun<<endl;
7
8. # Pembandingan struktur
pembandingan dua buah stuktur tidak dapat dilakukan
secara langsung melainkan masing-masing anggota
harus di bandingkan secara sendiri-sendiri.
Contoh :
if((tgl1.tahun==tgl2.tahun)&&
(tgl1.bulan==tgl2.bulan)&&
(tgl1.bulan==tgl2.bulan))
cout<<“isi kedua struktur sama”<<endl;
else
cout<<“isi kedua struktur tidak sama”<<endl;
8
9. # Struktur dan Fungsi
Suatu struktur juga dapat berkedudukan sebagai argumen fungsi contoh pada program:
#include <iostream.h>
#include <conio.h>
//deklarasi sruktur
Struct koordinat
{
int x;
int y;
};
Void tampilkan_posisi(koordinat posisi); // prototipe
Void main()
{
clrscr();
koordinat posisi; // definisi variabel struktur
posisi.x=27;
posisi.y=55;
tampilkan_posisi(posisi);
}
// definisi fungsi
Void tampilkan_posisi(koordinat posisi)
{
Cout<<“posisi x = “ <<posisi.x<<endl;
Cout<<“posisi x = “ <<posisi.x<<endl;
}
9
12. 12
Struktur Bertingkat :
Struktur dapat disusun dalam struktur yang lain ( Nested Structured ).
Contoh :
struct Jarak { int feet;
float inches };
struct Kamar { Jarak Panjang;
Jarak Lebar; };
Contoh Program C++ :
#include <iostream.h>
#include <conio.h>
struct Jarak { int feet;
float inches; };
struct Kamar { Jarak Panjang;
Jarak Lebar;
}
14. Tugas :
Buatlah Program dengan menggunakan structure dan inputan sebanyak 10 dengan hasil output:
-------------------------------------------------------------------------------------------------------------------------------
NO NIM Nama Mahasiswa Matakuliah Nilai UTS Nilai UAS
----------------------------------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------------------------------
Jumlah SKS
Semester
IPK
IPK didapat dari penjumlahan 10% absen+ 20% tugas +35%UTS +35% UAS
% Absen didapat apabila mahasiswa mengikuti matakuliah min 70% dari 14 kali pertemuan
% tugas didapat dari berapakali dosen memeberikan tugas kepada mahasiswa * 20%
UTS di dapat dari nilai ujian pada saat mengikuti ujian UTS
UAS di dapat dari nilai ujian pada saat mengikuti ujian UAS
14