Friday, April 25, 2014

Tipe data bentukan dalam C++

Tipe data bentukan adalah tipe data yang dibuat sendiri sesuai kebutuhan dalam program yang akan kita buat. Tipe ini lebih dikenal dengan sebutan dalam bahasa asing, yaitu user defined types. Adapun yang termasuk ke dalam tipe bentukan adalah array (larik), struktur dan enumerasi.

a. Struktur
Sesuai dengan namanya, struktur adalah tipe data bentukan yang menyimpan lebih dari satu variabel bertipe sama ataupun berbeda. Untuk membuat tipe data struktur dalam C++, kita harus mendeklarasikannya dengan menggunakan kata kunci scruct.

pendeklarasian tipe data struktur dalam C++ :

struct nama_struktur
{
       tipe_data variabel1;
       tipe_data variabel2;
...
};

Dalam pendeklarasian strukrur kita harus mengakhirinya dengan tanda titik koma / semicolon (;).
Jika kita telah membuat tipe data bentukan baru yang berjenis struktur tentu kita akan menggunakannya di dalam pendeklarasian sebullah variabel. Pada saat itu, kita harus melakukan pengaksesan terhadap isi dari struktur tersebut dengan operator titik (.).

Sebagai contoh sederhana yang menerangkan tipe data struktur adalah dengan melihat suatu objek, Misalnya Mahasiswa. Kita tahu bahwa Mahasiswa pasti memiliki NIM, nama, alamat, umur, dll. Kasus ini dapat kita implementasikan ke dalam tipe struktur.

Berikut adalah contoh programnya :

#include <iostream>
#include <stdlib.h>

using namespace std;

int main()
{
 //Membuat tipe data struct
 struct MAHASISWA
 {
  char NIM[12];
  char Nama[20];
  char Alamat[30];
  int Umur;
 };
 
 //Membuat variabel mhs dengan tipe data struct
 MAHASISWA mhs;
 
 //Menampilkan masukan
 cout<<"Masukan NIM    : ";
 cin>>mhs.NIM;
 cout<<"Masukan Nama   : ";
 cin>>mhs.Nama;
 cout<<"Masukan Alamat : ";
 cin>>mhs.Alamat;
 cout<<"Masukan Umur   : ";
 cin>>mhs.Umur;
 
 //Menampilkan keluaran
 cout<<"\nDATA MAHASISWA\n";
 cout<<"NIM    : "<<mhs.NIM<<endl;
 cout<<"Nama   : "<<mhs.Nama<<endl;
 cout<<"Alamat : "<<mhs.Alamat<<endl;
 cout<<"Umur   : "<<mhs.Umur<<endl;

 
 system("pause");
 return 0;
}

Dalam bahasa C++, pendeklarasian variabel yang bertipe struktur dapat di tuliskan langsung pada saat pendefinisian tipe struktur yang bersangkutan.

seperti ini :

struct MAHASISWA
 {
  char NIM[12];
  char Nama[20];
  char Alamat[30];
  int Umur;
 }mhs;


b. Enumerasi
Tipe enumerasi adalah tipe data yang nilainya terbatas pada nilai-nilai yang telah di definisikan saja. Tipe enumerasi digunakan untuk membentuk tipe data yang nilainya bersifat pasti. Misalnya untuk mendefinisikan tipe jenis kelamin, nama hari, warna primer dan sebagainya. Kita tahu bahwa jenis kelamin hanya terdiri dari pria dan wanita saja, maka jenis kelamin dapat kita bentuk ke dalam tipe enumerasi. Enumerasi juga ditujukan untuk penanganan kesalahan proses input, output maupun proses pengolahan data dalam internal CPU. Dalam pemrograman C atau C++ tiap-tiap jenis kesalahan akan diidentifikasi oleh nama konstanta hal ini dikarenakan lebih mudah mengingat nama konstanta dibanding nilai atau angka. Untuk mendefinisikan tipe enumerasi adalah dengan menggunakan kata kunci enum.

Bentuk umum :

enum nama_tipe {nilai_1, nilai_2, ...},

Contoh program :

#include <iostream>
#include <string>
#include <stdlib.h>

using namespace std;

enum JENIS_KELAMIN {Pria, Wanita};

int main()
{
 struct MAHASISWA
 {
  string NIM;
  string Nama;
  JENIS_KELAMIN gender;
 } mhs;
 
 mhs.NIM = "2013081069D";
 mhs.Nama = "Julia";
 mhs.gender = Wanita;
 
 cout<<mhs.NIM<<endl;
 cout<<mhs.Nama<<endl;
 cout<<mhs.gender<<endl;
 
 system("pause");
 return 0;
}

Hasil yang akan tampil adalah :

2013081069D
Julia
1

Nilai 1 di atas menunjukan indeks dari nilai yang terdapat dalam tipe JENIS_KELAMIN. Sebagai catatan bahwa indeks di awali dari 0 . Maka nilai Wanita pada tipe JENIS_KELAMIN di atas adalah 1, sedangkan Pria akan bernilai 0.