Dokumen tersebut membahas tentang pemrograman struktur dalam bahasa C, termasuk penjelasan struktur sebagai kumpulan variabel yang dibungkus dalam satu kelompok, contoh pembuatan struktur titik dan struktur rekening, serta cara mengakses dan menginisialisasi variabel anggota struktur menggunakan operator titik.
1. BAB IX PEMROGRAMAN STRUKTUR
Pertemuan Minggu XIII
Alokasi Waktu
:
2 Jam Pertemuan
Standar Kompetensi
:
Mahasiswa dapat membuat program komputer sederhana dengan menggunakan bahasa
C
Kompetensi Dasar
:
Memahami program komputer yang menggunakan struktur (struct)
Indikator
:
Mahasiswa dapat memahami struktur program bahasa C yang mengandung struct
:
Mahasiswa dapat membuat program dengan melibatkan struct
Struktur adalah kumpulan dari beberapa variable, mungkin juga dari beberapa tipe data yang berbeda.
Variable-variabel ini dibundle dalam satu kelompok kemudian di berinama varibel alias untuk mewakili
nama dari kelompok tersebut. Struktur digunakan untuk membantu mengelola data yang komplek,
khususnya dalam program yang relative besar. Salah satu contoh dari struktur adalah pencatatan daftar
gaji. Seorang pekerja digambarkan oleg sekumpulan attribute seperti nama, alamat, nomor identitas, dan
gajinya. Contoh lain adalah sebuah titik. Titik mempunyai sepasang koordinat misalnya koordinat titik Y
dan titik X pada system koordinat kartesian.
Sebagai contoh kita akan membuat sebuah struktur untuk menggambarkan sebuah titik dengan pasangan
koordinatnya. Titik tersebut mempunyai nilai koodinat X dan Y yang masing-masing bertipe integer
sebagai contoh titik Z (4,3). Dua koordinat tersebut dapat ditempatkan didalam satu struktur yang
dideklarasikan sebagai berikut
struct titik
{
int x;
int y;
}
Sintaks umum penulisan structure adalah penyertaan keyword struct, terdapat variable anggota yang
diapit dengan tanda kurung kurawal, berikut adalah bentuk umumnya
struct tag
{
member 1;
member 2;
.....
member m;
};
Kata kunci struct merupakan awal dari pendeklarasian sebuah struktur, tag adalah nama dari struct yang
dimaksud. Tag dengan tipe struct tersebut selanjutnya dapat digunakan sebagai tipe data dari suatu
variable. Berikut adalah contoh lain dari pembuatan struct.
Struct account
{
int no_acc;
char nama[80];
1
2. float balance;
}
Berikut cara menggunakan struct yang telah didefinisikan di atas
struct titik pt;
struct account akun;
Pernyataan diatas merupakan pendefinisian dari sebuah variable dengan nama pt dengan tipe data struct
titik. Program dibawah ini menggabarkan proses pendefinisian variable dan pemasukan data pada variable
anggota dari struct titik.
Contoh 9.1
#include <stdio.h>
#include <conio.h>
struct titik
{
int x;
int y;
};
main()
{
struct titik tk;
int a, b;
tk.x=2;
tk.y=3;
a =4;
b = 5;
printf("%d %d",tk.x,tk.y);
printf("%d %d",a,b);
getch();
}
Contoh 9.1 mendemonstrasikan Operator titik ( . ) yaitu merupakan operator yang digunakan untuk
mengakses variable anggota dari struct sebagai contoh tk.x berarti bahwa variable tk akan mengakses
variable anggota x yang terdapat pada struct titik. Dalam program tersebut juga disertakan cara inisialisasi
yang biasa dilakukan pada variable a dan b yang dideklarasikan pada fungsi main().
Contoh 9.2
#include <stdio.h>
#include <conio.h>
main()
{
struct
2
3. {
int a;
int b;
} x, y;
x.a = 10;
y = x; /* assign one structure to another */
printf("%d", y.a);
getch();
}
Contoh 9.3
#include <stdio.h>
#include <conio.h>
main()
{
/* Structure declaration */
struct horse
{
int age;
int height;
char name[20];
char father[20];
char mother[20];
};
struct horse My_first_horse; /* Structure variable declaration */
/* Initialize the structure variable from input data */
printf("Enter the name of the horse: " );
scanf("%s", My_first_horse.name ); /* Read the horse's name */
printf("How old is %s? ", My_first_horse.name );
scanf("%d", &My_first_horse.age ); /* Read the horse's age */
printf("How high is %s ( in hands )? ", My_first_horse.name );
scanf("%d", &My_first_horse.height ); /* Read the horse's height */
printf("Who is %s's father? ", My_first_horse.name );
scanf("%s", My_first_horse.father ); /* Get the father's name */
printf("Who is %s's mother? ", My_first_horse.name );
scanf("%s", My_first_horse.mother ); /* Get the mother's name */
/* Now tell them what we know */
printf("n%s is %d years old, %d hands high,",
My_first_horse.name, My_first_horse.age, My_first_horse.height);
printf(" and has %s and %s as parents.n", My_first_horse.father,
My_first_horse.mother );
getch();
}
3