12
Mata Kuliah Struktur Data - 2008 Pointer, Typedef, Enumerasi Euis Marlina, S.Kom Email : [email protected] http://euismarlina.edublogs.org HP : 08179424319

Materi 6 - Pointer

Embed Size (px)

Citation preview

Page 1: Materi 6 - Pointer

Mata Kuliah Struktur Data - 2008

Pointer, Typedef, Enumerasi

Euis Marlina, S.Kom

Email : [email protected]://euismarlina.edublogs.org

HP : 08179424319

Page 2: Materi 6 - Pointer

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.

Page 3: Materi 6 - Pointer

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.

Page 4: Materi 6 - Pointer

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;

Page 5: Materi 6 - 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.

Page 6: Materi 6 - 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;

}

Page 7: Materi 6 - Pointer

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;

}

Page 8: Materi 6 - Pointer

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;

}

Page 9: Materi 6 - Pointer

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

Page 10: Materi 6 - Pointer

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

Page 11: Materi 6 - Pointer

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

Page 12: Materi 6 - Pointer

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