Anda di halaman 1dari 12

Pointer, Typedef, Enumerasi

Euis Marlina, S.Kom

Email : euismarlina@gmail.com
http://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 :

3. Tipe_data *nama_pointer;
4. Tipe_data * nama_pointer;
5. Tipe_data* nama_pointer;

Mata Kuliah Struktur Data - 2008


long X; // variabel bukan pointer
Long *P;//variabel pointer
P=&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 x
cout<<x[i]<<" | "<<*px<<" |
"<<px<<endl;
}
getch();
return 0;
}
Mata Kuliah Struktur Data - 2008
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