Upload
euis-marlina
View
790
Download
28
Embed Size (px)
Citation preview
Mata Kuliah Struktur Data - 2008
Pointer, Typedef, Enumerasi
Euis Marlina, S.Kom
Email : [email protected]://euismarlina.edublogs.org
HP : 08179424319
Mata Kuliah Struktur Data - 2008
Pointer Pointer merupakan tipe data
berukuran 32 bit yang berisi satu nilai yang berpadanan dengan alamat memori tertentu, atau suatu variabel yang menyimpan alamat memori.
Sebagai contoh, sebuah variabel P bertipe pointer bernilai 0x0041FF2A, berarti P menunjuk pada alamat memori 0041FF2A.
Mata Kuliah Struktur Data - 2008
Untuk mendapatkan alamat memori dari variabel bukan pointer, gunakan operator & didepan nama variabelnya.
Pointer dideklarasikan seperti variabel biasa dengan menambahkan tanda * (asterik) di depan nama variabel.
Mata Kuliah Struktur Data - 2008
Deklarasi Pointer
Ada 3 cara dalam mendeklarasikan variabel pointer, yaitu :
1. Tipe_data *nama_pointer;
2. Tipe_data * nama_pointer;
3. Tipe_data* nama_pointer;
Mata Kuliah Struktur Data - 2008
long X; // variabel bukan pointerLong *P;//variabel pointerP=&X;//P menunjuk alamat memori variabel X*P=X;//pointer *P berisi nilai varibel X
Catatan: * di depan P, merupakan dereference pointer untuk mendapatkan nilai dari variabel pointer.
Mata Kuliah Struktur Data - 2008
Contoh Program 1#include<iostream.h>#include<conio.h>
int main(){int x;int *px;
x=2;px=&x;//membaca alamat dari x
cout<<"Nilai x = "<<x<<endl;cout<<"Nilai *px = "<<*px<<endl;cout<<"Nilai px(alamat x) = "<<px<<endl;getch();return 0;
}
Mata Kuliah Struktur Data - 2008
Contoh Program 2
#include<iostream.h>#include<conio.h>
int main(){
char *nama;nama = "euis marlina";
cout<<"Selamat datang "<<nama<<endl;getch();return 0;
}
Mata Kuliah Struktur Data - 2008
Contoh Program 3#include<iostream.h>#include<conio.h>
int main(){int x[10]={0,1,2,3,4,5,6,7,8,9};int *px;int i;
cout<<"Nilai x"<<" | "<<"Nilai *px"<<" | "<<"Alamat px"<<endl;
for (i=0;i<10;i++){
px=&x[i];//membaca alamat dari xcout<<x[i]<<" | "<<*px<<" |
"<<px<<endl;}getch();return 0;
}
Typedef Kata kunci typedef merupakan mekanisme
untuk membuat sinonim atau alias dari tipe data yang telah didefinisikan sebelumnya.
Syntax:typedef existing_type new_type_name;
existing_type adalah tipe data dasar atau gabungan beberapa tipe data dasar
new_type_name adalah nama tipe data yang baru dibentuk.
Mata Kuliah Struktur Data - 2008
Contoh :typedef struct mhs MHS;Maksud deklarasi di atas adalah mendefinisikan sebuah tipe data baru bernama MHS sebagai sinonim untuk struct mhs. Pernyataan struct mhs dapat diganti dengan MHS saja.
typedef int panjang;
panjang bisa digunakan untuk deklarasi variabel lain
sebagai pengganti nama integer.
Mata Kuliah Struktur Data - 2008
Enumerasi Tipe data baru yang tidak termasuk pada tipe
data dasar yang didefinisikan oleh pemrogram dalam bahasa C++
Sekumpulan konstanta integer yang direpresentasikan dengan identifikasi tertentu
Enumerasi didefinisikan dengan menggunakan kata kunci enum.
Nilai dalam enum dimulai dari 0, dapat diubah dengan nilai lainnya, dan menaik dengan penambahan 1 untuk nilai selanjutnya.
Mata Kuliah Struktur Data - 2008
Syntax:enum enumeration_name
{
value_1;
value_2;
value_n;
}object_names;
Contoh:- enum colors{black,blue,green,cyan,red,purple, yellow,white};
- enum months{january,february,march,april,may,june,july,
august,september,october,november,december};
Mata Kuliah Struktur Data - 2008