Rabu, 11 Maret 2009

... STRUCT ...

Struktur (structures) adalah sekumpulan variable yang masing-masing dapat berbrda tipe, dan dikelompokkan ke dalam satu nama. Struktur ini sering digunakan untuk mendefinisikan suatu resuatu record datayang disimpan di dalam file.

Struktur termasuk ke dalam tipe data yang dibangkitkan (derived data type), yang disusun dengan menggunakan obyek tipe lain. Perhatikan definisi struktur berikutL:

Struct mhs
Char *nama;
Char *nim;
Int uts, uas;
Float akhir;
Char mutu;
}

Kata kunci struct menunjukkan definisi struktur, dan identifikasi mhs menunjukkan structure tag. Dengan demikian terdapat tipe data baru bernama struct mhs, yang terdiri dari nama mahasiswa, nilai ujian tengah semester, akhir semester, nilai akhir, dan huruf mutu, yang masing-masing disebut dengan field.

DEFINISI DAN DEKLARASI
Syntax:

struct nama_struct {
tipe_data_1 nama_var_1;
tipe_data_2 nama_var_2;
tipe_data_3 nama_var_3;
……
};

image0011

CONTOH PROGRAM
NB: Untuk mengakses tiap elemen di dalam sebuah struct digunakan operator titik (.)
Syntax: nama_var_struct . nama_var_elemen;

# include “stdio.h”
struct lingkaran { // definisi struct dibuat global
int jari_jari;
float keliling;
float luas;
};
main()
{
struct lingkaran L; // deklarasi variable struct
printf(“\nMasukkan jari-jari lingkaran = “);
scanf(“%i”, &L.jari_jari); // input
L.keliling = 2 * 3.14 * L.jari_jari; // proses
L.luas = 3.14 * L.jari_jari * L.jari_jari; // proses
printf(“\nKelilingnya = %f“, L.keliling); // output
printf(“\nLuasnya = %f\n“, L.luas); // output
}

dan kira-kira akan mengeluarkan keluaran seperti ini

outputNYA

outputNYA

Analisa Program

Source code di atas adalah suatu program untuk menghitung keliling dan luas dari lingkaran, dimana dengan user memasukkan inputan berupa jari-jari.maka jari-jari itu diolah dengan rumus 2×22xjari-jari/7 untuk menghitung keliling, dan 22xjari-jarixjari-jari/7 untuk menghitung luas. Dan hasilnya penghitungan langsung ditampilkan.

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.

image0041

Indeks :

#include “stdio.h”
#include “string.h”
#include “conio.h”
typedef struct mhs {
char npm [10];
char nama [20];
char alamat [30];
unsigned angkatan;
float ipk;
};
main()
{
mhs student[100]; // deklarasi var, menyiapkan 100 data mhs
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(”\n\nData yang sudah dimasukkan adalah:\n”);
for( int j = 0; j <>

UNION

Sama seperti struct, union juga merupakan tipe data yang dibangkitkan, dimana anggota anggotanya menggunakan secara bersama-sama ruang penyimpanan memori yang sama, berbeda dengan struktur yang masing-masing variable menempati lokasi memori yang berbeda. Jumlah bytes yang digunakan untuk menyimpan union adalah sedikitnya cukup untuk menyimpan data terbesar yang ditangani. Oleh karena itu, tipe union ini umumnya dugunakan untuk menangani satu, dua, atau tiga variable dengan tipe yang mirip sebagai contoh:

Union nilaiUjian{
Int uts, uas;
Float akhir;
}

Inisialisasi, deklarasi, dan pengolahan terhadap tipe union ini sama dengan struct yang telah dijelaskan pada bagian sebelumnya.

Tidak ada komentar: