Selasa, 22 September 2015

Pertemuan XII

Penjelasan singkat Structure (Struct) Pada C++

Pengertian
Structure (struct) merupakan kumpulan variable-variable yang bertempat di suatu tempat yang sama. Berbeda dengan array yang berisi kumpulan variable-variable yang bertipe sama dalam satu nama, maka suatu structure dapat terdiri dari variable-variable yang berbeda tipenya yang tersimpan dalam satu nama structure.

  • 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 <nama_var>;
   tipe_data <nama_var>;
   .... }
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

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
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.

0 komentar:

Posting Komentar