Algoritma dan Pemrograman 4/3/008 POINTER Algoritma dan Pemrograman Tahar Agastani Teknik Informatika UIN - 008 Overview Definisi Pointer Operasi Pointer Pointer dan Argumen Fungsi Kuliah Minggu ke
Algoritma dan Pemrograman 4/3/008 Definisi Pointer Pointer adalah sebuah tipe data. Anda bisa membuat variabel dari tipe ini sebagaimana anda lakukan pada tipe-tipe data lain. Berisi sebuah alamat (address) memori. Menunjuk (point) ke sebuah tipe data specifik. int *pointer = &x; alamat x int x=; 0x9060 Operasi Pointer Type objek; Deklarasi: Type *namaptr; Dua operator yang digunakan pada pointer : * (content of) dan & (address of). namaptr = &objek memberi nilai alamat objek ke namaptr. *namaptr mengakses objek tersebut melalui pointer. Pointer bisa berisi alamat dari pointer yang lain dan pointer disebut pointer-to-pointer Deklarasipointer to pointer sb type **ptr_to_ptr; Kuliah Minggu ke
Algoritma dan Pemrograman 4/3/008 Contoh: Operasi Pointer (cont) Inisialisasi sebuah integer pointer ke data variable: int i, *ptr; ptr = &i; *ptr = 5; /* sama artinya dgn i=5 */ Pointer bisa dibandingkan nilainya dengan pointer lain: if (ptr < ptr) Pointer dan Argumen Fungsi tukar Kuliah Minggu ke 3
Algoritma dan Pemrograman 4/3/008 Solusi Solusi 0x00 Kuliah Minggu ke 4
Algoritma dan Pemrograman 4/3/008 Solusi 0x060 0x038 0x040 0x00 Solusi 0x060 0x038 0x040 0x00 Kuliah Minggu ke 5
Algoritma dan Pemrograman 4/3/008 Solusi 0x060 0x038 0x040 0x00 Solusi 0x060 0x038 0x040 0x00 Kuliah Minggu ke 6
Algoritma dan Pemrograman 4/3/008 Solusi 0x00 Solusi Kuliah Minggu ke 7
Algoritma dan Pemrograman 4/3/008 Solusi 0x00 Solusi 0x060 addr of x 0x038 addr of y 0x040 0x00 Kuliah Minggu ke 8
Algoritma dan Pemrograman 4/3/008 Solusi 0x060 addr of x 0x038 addr of y 0x040 0x00 Solusi 0x060 addr of x 0x038 addr of y 0x040 0x00 Kuliah Minggu ke 9
Algoritma dan Pemrograman 4/3/008 Solusi 0x060 addr of x 0x038 addr of y 0x040 0x00 Solusi 0x00 Kuliah Minggu ke 0
Algoritma dan Pemrograman 4/3/008 Pointer dan Fungsi Untuk memungkinkan sebuah fungsi mengakses dan mengubah sebuah objek. Untuk structure besar bisa membuat lebih efisien. (dibahas di Pertemuan 3) Gunakan specifier const bila mana sebuah konstanta dibutuhkan. (dibahas di Pertemuan 3) Lain-lain Tentang Pointer Anda bisa mencetak alamat yang disimpan dalam sebuah pointer dengan menggunakan conversion specifier %p Contoh: printf( %p, numptr); scanf() perlu mengetahui dimana menaruh nilai - jadi membutuhkan alamat dari variabel tersebut dengan mengambil pointer sebagai parameter. Contoh: int i; scanf( %d, &i); Kuliah Minggu ke
Algoritma dan Pemrograman 4/3/008 Jadi Mengapa Pointer? Untuk memodifikasi variabel dalam fungsi yang bukan global atau lokal terhadap fungsi tersebut. Untuk menghemat ruang Untuk menghemat waktu Untuk menggunakan memori dinamis Sering digunakan dalam linked structures Latihan Kuliah Minggu ke