MODUL VI
STRUCT
6.1 Tujuan
1. Mahasiswa dapat memahami definisi dan kegunaan struct
2. Mahasiswa dapat mengetahui bagaimana mengimplementasikan struct dalam
program.
Selain deklarasi variabelnya ada hal yang harus diperhatikan juga yaitu
cara untuk mengisi dan memanggil nilai yang ada di dalam sebuah struct. Cara
pengisian dan pemanggilan nilainya adalah sebagai berikut:
//untuk pengisian nilai
Variabel_struct.field_struct=nilai;
//untuk pemanggilan nilai
Gunakan perintah printf atau cout lalu gunakan format
variabel_struck.field_struck
Untuk memanggil nilainya
sebagai contoh untuk mengisi nilai dan memanggil nilainya pada struct
sebagai berikut:
//untuk mengisi nilai
Dosen1.nip=41277006024;
Dosen1.nama=”Adam mukharil b”
Dosen1.alamat=”bandung”;
Atau
Scanf(“%1i”,&dosen1.nip);
Scanf(%1i”,&dosen1.nama);
Scanf(%1i”,&dosen1.alamat);
Typedef struct
{
Long int nip;
Char nama[31];
Char alamat[51];
}data_dosen;
struct anak{
string nama;
int umur;
};
struct siswa{
anak anak; //nesting
int noInduk;
float niaiUjian;
};
struct Siswa {
char nama[50];
char sekolah[50];
unsigned int uangSaku;
};
int main(void)
{
struct Siswa siswa01;
return 0;
}
6.3 JOBSHEET
i++){ TOKOAN==========\n";
cout<<"|Nama barang\t| Jumlah
jml[i].jumlah.total = | Harga Satuan(Rp.) |
jml[i].jmlh * Total |\n";
jml[i].jumlah.harga; for (i = 0; i < 3; i++){
} printf ("|%s
system ("cls"); |%d | %d | %d |\n",
printf jml[i].laptop, jml[i].jmlh,
("==========TOKO LAPTOP jml[i].jumlah.harga,
GAUL==========\n"); jml[i].jumlah.total);
printf ("|Nama }
barang\t| Jumlah | Harga }
Satuan(Rp.) | Total
|\n");
for (i = 0; i < 3;
i++){
printf ("|%s
|%d | %d
| %d |\n",
jml[i].laptop, jml[i].jmlh,
jml[i].jumlah.harga,
jml[i].jumlah.total);
}
}
12 Buatlah struct #include <stdio.h> #include <iostream> Pada program di samping,
bersarang #include <conio.h> #include <conio.h>
using namespace std; struct kucingdengan
untuk aplikasi struct kucing {
kasir pada int harga; struct kucing { anggota harga dan total
toko laptop. int total; int harga;
NIM ganjil }; int total; diletakkan di dalam struct
};
menghitung struct kambing { kambing dengan variabel
pembelian 3 char laptop [100]; struct kambing {
buah laptop, int jmlh; char laptop [100];
jumlah. Struct kambing
dan NIM struct kucing jumlah; int jmlh; memiliki alias dengan nama
genap }jml[4]; struct kucing jumlah;
------------------------------ -------------------------------
\n"); \n";
printf ("|=========TOKO cout << "|=========TOKO
LAPTOP gaul LAPTOP gaul
JAYA=============|\n"); JAYA=============|\n";
printf ("------------------ cout << "-----------------
------------------------------ -------------------------------
\n"); \n";
printf ("|NAMA BARANG cout << "|NAMA BARANG
|JUMLAH |HARGA(Rp.) |JUMLAH |HARGA(Rp.)
|TOTAL |\n"); |TOTAL |\n";
for (i = 0; i < 4; i++){ for (int i = 0; i < 4;
printf ("|%s i++){
\t|%d\t|%d\t|%d\n", cout << "|" <<
jml[i].laptop, jml[i].jmlh, jml[i].laptop << " \t|" <<
jml[i].jumlah.harga, jml[i].jmlh << " \t|" <<
jml[i].jumlah.total); jml[i].jumlah.harga << "\t|" <<
} jml[i].jumlah.total;
ttl_harga(); cout << endl;
}
} ttl_harga();
}
14 Ubahlah #include <stdio.h> #include <iostream> Pada program disamping,
program pada #include <conio.h> #include <conio.h>
using namespace std; struct di deklarasikan
latihan typedef struct {
jobsheet 13, typedef harga; typedef struct { menggunakan
gunakan typedef total; int harga;
}kucing; int total; typedefsehingga nama
typedef unutk
}kucing;
mengganti typedef struct { dari structdapat
nama semua typedef laptop [100]; typedef struct {
tipe data yang diletakkan diakhir setelah
typedef jmlh; typedef laptop [100];
anda kucing jumlah; typedef jmlh; pendeklarasian elemen
gunakan. }kambing; kucing jumlah;
}kambing; struct. Fungsi total
kambing jml[4];
printf ("\n"); }
} total ();
total(); system ("cls");
system ("cls"); cout << "-----------------
printf ("------------------ -------------------------------
------------------------------ \n";
\n"); cout << "|=========TOKO
printf ("|=========TOKO LAPTOP GAUL
LAPTOP GAUL JAYA=============|\n";
JAYA=============|\n"); cout << "-----------------
printf ("------------------ -------------------------------
------------------------------ \n";
\n"); cout << "|NAMA BARANG
printf ("|NAMA BARANG |JUMLAH |HARGA(Rp.)
|JUMLAH |HARGA(Rp.) |TOTAL |\n";
|TOTAL |\n"); for (int i = 0; i < 4;
for (i = 0; i < 4; i++){ i++){
printf ("|%s cout << "|" <<
\t|%d\t|%d\t|%d\n", jml[i].laptop << " \t|" <<
jml[i].laptop, jml[i].jmlh, jml[i].jmlh << " \t|" <<
jml[i].jumlah.harga, jml[i].jumlah.harga << "\t|" <<
jml[i].jumlah.total); jml[i].jumlah.total;
} cout << endl;
ttl_harga(); }
ttl_harga();
} }
15 Buatlah #include <stdio.h> #include <iostream> Pada program disamping,
program #include <conio.h> #include <conio.h>
using namespace std; struct didefinisikan di luar
untuk typedef struct {
menghitung char sayur[30]; typedef struct { fungsi utama dengan
belanjaan int harga,jml; string sayur;
}beli; int harga,jml; typedef, lalu fungsi total
sayur
}beli;
disebuah int total(int i,int j){
dengan parameter
toko. Buatlah int x; int total(int i,int j){ digunakan untuk
fungsi untuk x=i*j; int x;
array seperti int main (){ int main (){ structtersebut diakses di
struct laptop saya; struct laptop saya;
contoh int i; cout << "Data laptop fungsi utama
printf("Data laptop anggota anggota : "<<endl<<endl;
disamping. Isi : \n\n"); for(int i = 0; i < 3; dan kemudian ditampilkan
for(i = 0; i < 3; i++){ i++){
data meliputi : printf("Data : \n"); cout << "Data : isinya dengan perintah
printf ("-Merk = "<<endl;
Struct 1: %s\n", saya.merk[i]); cout << "-Nama = " coutatau printf.
merk, tipe, printf ("-Tipe = <<saya.merk[i] << endl;
%s\n", saya.tipe[i]); cout << "-Tipe = "
harga. printf ("-Harga = <<saya.tipe[i] << endl;
Rp.%d\n", saya.harga[i]); cout << "-Harga = "
Struct 2: jenis printf ("-VGA = <<saya.harga[i] << endl;
VGA, %s\n", saya.main.vga[i]); cout << "-VGA = " <<
kapasitas printf ("-Kapasitas saya.main.vga[i] << endl;
HDD = %.1f GB\n", cout << "-Kapasitas
HDD, dan saya.main.kpsts_hdd[i]); HDD = " <<saya.main.kpsts_hdd[i]
kapasistas printf ("-Kapasitas << " GB" << endl;
RAM RAM = %.1f GB\n\n", cout << "-Kapasitas
saya.main.kpsts_ram[i]); RAM = " <<saya.main.kpsts_ram[i]
} << " GB" << endl;
}} cout << endl;
}
}
18 Perhatikan #include <stdio.h> #include <iostream> Pada program disamping,
urutan input #include <cstring> #include <cstring>
using namespace std; using namespace std; yang dideklarasikan adalah
dan output
data pada union Data { union Data { sebuah uniondengan nama
kedua char nama[100]; char nama[100];
char nim[20]; char nim[20]; Data. Semua elemen –
program
char matkul[10]; char matkul[10];
disamping. float nil_matkul; float nil_matkul; elemen yang terdapat di
Temukan }; };
perbedaanyya dalam unionmenempati
int main( ) { int main( ) {
, lalu union Data data; union Data data; alamat memori yang sama
bandingkan strcpy(data.nama,"Andri strcpy(data.nama,"Andri
Wahyudi"); Wahyudi "); sehingga sedikit
hasil eksekusi printf("Nama\t\t: cout << "Nama\t\t: "
kedua %s\n",data.nama ); <<data.nama<< endl; membedakannya dari
program strcpy(data.nim,"F1B118010" strcpy(data.nim,"F1B118010
struct
disamping. ); ");
printf("NIM\t\t: cout << "NIM\t\t: " <<
%s\n",data.nim); data.nim<< endl;
strcpy(data.matkul,"Alprog" strcpy(data.matkul,"Alprog
); ");
printf("Mata Kuliah\t: cout << "Mata Kuliah\t: "
%s\n",data.matkul); <<data.matkul<< endl;
data.nil_matkul=88.8; data.nil_matkul=88.8;
printf("Nilai anda\t: cout << "Nilai anda\t: "
%.1f",data.nil_matkul); << data.nil_matkul;
return 0; return 0;
} }
19 Buatlah #include <stdio.h> #include <iostream> Pada program disamping,
program
struct point using namespace std; structpointtelah
struct dengan {
memasukkan int a, b, c, d; struct Point dideklarasikan bersama
data struct }; {
int a, b, c, d; elemen – elemennya.
yang
int main() };
jumlahnya {
Kemudian elemen – elemen
dinamis int p, q, r, s; int main() tersebut diakses di fungsi
menggunakan struct point p1; {
pointer. struct point *p2 = &p1; int p,q,r,s; utama menggunakan
Mahasiswa printf("Masukkan nilai struct Point p1;
dengan NIM
pertama = "); struct Point *p2 = &p1; pointer*p2. Cara
scanf("%i",&p); cout<< "Masukkan nilai
ganjil printf("Masukkan nilai pertama = "; pengaksesan elemen
membuat 3 kedua = "); cin>>p;
structpointdengan
kali masukkan scanf("%i",&q); cout<< "Masukkan nilai
printf("Masukkan nilai kedua = ";
6.4 KESIMPULAN
1. Struktur adalah pengelompokan dari variabel-variabel yang bernaung dalam satu
nama yang sama. Struck digunakan apabila data yang ingin dikelompokkan
memiliki tipe data yang berbeda.
2. Bila struktur dideklarasikan sebagai sebuah variable biasa, maka cara
pengaksesan anggota struktur menggunakan tanda titik (.). Bila struktur
dideklarasikan sebagai sebuah variabel pointer, maka cara pengaksesan anggota
struktur menggunakan tanda (->). Bila struktur dideklarasikan sebagai pointer
sebagai array, maka cara pengaksesan anggota struktur menggunakan tanda titik
(.).
DAFTAR PUSTAKA
Anonim. 2019.”Modul Praktikum Algoritma dan Pemrograman”.Laboratorium Jaringan dan
Komputer.Jurusan Teknik Elektro.Fakultas Teknik.Universitas Mataram