Pointer
Materi 9
Yunita Fauzia Achmad, S.Kom., M.Kom
Fakultas Ilmu Komputer
Pencapaian
• Mahasiswa mampu menjelaskan penggunaan pointer pada
bahasa pemrograman C++
• Mahasiswa dapat mendemonstrasikan penulisan program C++
dengan pointer
Pokok Pembahasan
• Pengertian Pointer
• Kegunaan pointer
• Jenis – jenis pointer
• Operator deference (&)
• Operator reference (*)
• Latihan
Pengertian Pointer
• Sebuah variabel yang memuat (yang nilainya berupa) alamat memori
dari variabel lain.
• Suatu pointer dimaksudkan untuk menunjukan ke suatu alamat memori
sehingga alamat dari suatu variabel dapat diketahui dengan mudah.
• Arti pointer dalam bahasa sehari-hari adalah putunjuk atau bisa di bilang
penentu atau pointer secara sederhana bisa diartikan sebagai tipe data
yang nilainya mengarah pada nilai yang terdapat pada sebuah area
memori (alamat memori).
• Dalam Dalam bahasa C, Pointer bisa berfungsi sebagai variabel
arrayberarti pointer sebagai penunjuk elemen array ke-0 dalam variabel
C.
Kegunaan Pointer pada C++
• Terdapat beberapa kegunaan pointer pada C++, yaitu sebagai
berikut :
1. untuk menyimpan alamat memori dari sebuaha variabel
(data type atau object dari class)
2. Untuk menyimpan alamat dari sebuah fungsi (function
pointer)
Jenis – Jenis Operator Pointer
• Terdapat dua jenis operator pointer dalam C++, sebagai berikut
:
1. Operator deference (&)
2. Operator reference (*)
Operator Deference (&)
• Operator & merupakan operator alamat. Pada saat
pendeklarasian variable, user tidak diharuskan menentukan
lokasi sesungguhnya pada memory, hal ini akan dilakukan
secara otomatis oleh kompiler dan operating sysem pada saat
run-time.
• Jika ingin mengetahui dimana suatu variable akan disimpan,
dapat dilakukan dengan memberikan tanda ampersand (&)
didepan variable , yang berarti "address of".
Operator Deference (&)
Andy = 25
Fred = Andy;
Ted = &Andy;
Andy akan memberikan variable ted alamat dari variable
andy, karena variable andy diberi awalan karakter ampersand
(&), maka yang menjadi pokok disini adalah alamat dalam
memory, bukan isi variable
Operator Reference (*)
• Operator * merupakan operator reference.
• Dengan menggunakan pointer ini ,kita dapat mengakses nilai
yang tersimpan secara langsung dengan memberikan awalan
operator asterisk (*) pada identifier pointer, yang berarti "value
pointed by".
• Contoh : beth = *ted;
• (dapat dikatakan : “ beth sama dengan nilai yang ditunjuk oleh
ted”) beth = 25, karena ted dialamat 1776, dan nilai yang
berada pada alat 1776 adalah 25
Operator Reference (*)
• andy == 25
• &andy == 1776
• ted == 1776
• *ted == 25
Deklarasi Pointer ke Variabel
1. Mensubsitusikan address sebuah variabel ke pointer dengan
memakai address operator &
int x;
int *ptr;
ptr =&x;
tipe merupakan tipe data yang akan ditunjuk oleh variabel, bukan
tipe data dari pointer tersebut
Tipe *nama_pointer;
Deklarasi Pointer variabel
Contoh :
Latihan pointer
Deklarasi Pointer ke Konstanta
2. Pointer ke Konstanta
• Suatu pointer dapat dideklarasikan secara konstanta atau
secara tetap tidak dapat diubah.
• Untuk mendeklarasikan pointer secara konstanta dengan
memberikan kata const di depan nama konstanta
• Bentuk penulisan umum ;
Tipe_data *const nama_konstanta;
Deklarasi Pointer ke Konstanta
Deklarasi Pointer ke array
3. Mensubstitusikan address awal sebuah array ke pointer
konsep array diantaranya adalah banyak loncatan dari pointer satu ke
pointer yang lain. karena secara internal array juga menyatakan alamat,
yaitu pengenal array sama dengan alamat pada elemen pertama pada
array.
Contoh :
char t[5];
char *ptr;
ptr = t;
Deklarasi Pointer to array
Contoh
Deklarasi Pointer to array
Output yang dihasilkan :
Deklarasi Pointer ke string
4. Mensubstitusikan address awal character string ke pointer
char
contoh deklarasi pointer pada string:
char *ptr;
ptr = “Jakarta”
Deklarasi Pointer ke String
Latihan
Latihan
Deklarasi Pointer
5. Pointer ke pointer
dalam C++, sebuah pointer dapat menunjuk ke pointer lain
yang telah menunjuk ke alamat tertentu, kondisi tersebut
dinamakan multiple indirection atau pointer ke pointer
Gambar Single Indirection
Deklarasi Pointer ke Pointer
Gambar Multiple Indirection
Pada single indirection, pointer langsung menunjuk ke alamat
dari suatu variabel
Pada multiple indirection, terdapat pointer yang menunjuk ke
pointer yang sedang menunjuk ke alamat dari suatu variabel
Deklarasi Pointer ke Pointer
Untuk mendeklarasikan pointer ke pointer, digunakan tanda
asterisk sebanyak dua kali (**)
Contoh deklarasi pointer ke pointer
int **p;
Deklarasi Pointer ke Pointer
Deklarasi Pointer ke Pointer
• Output yang dihasilkan
Latihan
Tugas
1.Buat program untuk menampilkan sebaris string berikut
ini : “ Pemrograman Lanjut “ menggunakan variabel
pointer ( pointer to string)
2.Buat potongan program untuk mencetak huruf ketiga (m)
dari kata : “ Pemrograman Lanjut” dengan menggunakan
variabel pointer
Daftar Pustaka
• Frieyadie. 2007. Edisi Revisi Buku Pemrograman C++ dengan
Borland C++ 5.02.
• Purwanto TM. 2013. modul pemrograman C++

PPT-UEU-Bahasa-Pemrograman-Pertemuan-9.pptx

  • 1.
    Pointer Materi 9 Yunita FauziaAchmad, S.Kom., M.Kom Fakultas Ilmu Komputer
  • 2.
    Pencapaian • Mahasiswa mampumenjelaskan penggunaan pointer pada bahasa pemrograman C++ • Mahasiswa dapat mendemonstrasikan penulisan program C++ dengan pointer
  • 3.
    Pokok Pembahasan • PengertianPointer • Kegunaan pointer • Jenis – jenis pointer • Operator deference (&) • Operator reference (*) • Latihan
  • 4.
    Pengertian Pointer • Sebuahvariabel yang memuat (yang nilainya berupa) alamat memori dari variabel lain. • Suatu pointer dimaksudkan untuk menunjukan ke suatu alamat memori sehingga alamat dari suatu variabel dapat diketahui dengan mudah. • Arti pointer dalam bahasa sehari-hari adalah putunjuk atau bisa di bilang penentu atau pointer secara sederhana bisa diartikan sebagai tipe data yang nilainya mengarah pada nilai yang terdapat pada sebuah area memori (alamat memori). • Dalam Dalam bahasa C, Pointer bisa berfungsi sebagai variabel arrayberarti pointer sebagai penunjuk elemen array ke-0 dalam variabel C.
  • 5.
    Kegunaan Pointer padaC++ • Terdapat beberapa kegunaan pointer pada C++, yaitu sebagai berikut : 1. untuk menyimpan alamat memori dari sebuaha variabel (data type atau object dari class) 2. Untuk menyimpan alamat dari sebuah fungsi (function pointer)
  • 6.
    Jenis – JenisOperator Pointer • Terdapat dua jenis operator pointer dalam C++, sebagai berikut : 1. Operator deference (&) 2. Operator reference (*)
  • 7.
    Operator Deference (&) •Operator & merupakan operator alamat. Pada saat pendeklarasian variable, user tidak diharuskan menentukan lokasi sesungguhnya pada memory, hal ini akan dilakukan secara otomatis oleh kompiler dan operating sysem pada saat run-time. • Jika ingin mengetahui dimana suatu variable akan disimpan, dapat dilakukan dengan memberikan tanda ampersand (&) didepan variable , yang berarti "address of".
  • 8.
    Operator Deference (&) Andy= 25 Fred = Andy; Ted = &Andy; Andy akan memberikan variable ted alamat dari variable andy, karena variable andy diberi awalan karakter ampersand (&), maka yang menjadi pokok disini adalah alamat dalam memory, bukan isi variable
  • 9.
    Operator Reference (*) •Operator * merupakan operator reference. • Dengan menggunakan pointer ini ,kita dapat mengakses nilai yang tersimpan secara langsung dengan memberikan awalan operator asterisk (*) pada identifier pointer, yang berarti "value pointed by". • Contoh : beth = *ted; • (dapat dikatakan : “ beth sama dengan nilai yang ditunjuk oleh ted”) beth = 25, karena ted dialamat 1776, dan nilai yang berada pada alat 1776 adalah 25
  • 10.
    Operator Reference (*) •andy == 25 • &andy == 1776 • ted == 1776 • *ted == 25
  • 11.
    Deklarasi Pointer keVariabel 1. Mensubsitusikan address sebuah variabel ke pointer dengan memakai address operator & int x; int *ptr; ptr =&x; tipe merupakan tipe data yang akan ditunjuk oleh variabel, bukan tipe data dari pointer tersebut Tipe *nama_pointer;
  • 12.
  • 13.
  • 14.
    Deklarasi Pointer keKonstanta 2. Pointer ke Konstanta • Suatu pointer dapat dideklarasikan secara konstanta atau secara tetap tidak dapat diubah. • Untuk mendeklarasikan pointer secara konstanta dengan memberikan kata const di depan nama konstanta • Bentuk penulisan umum ; Tipe_data *const nama_konstanta;
  • 15.
  • 16.
    Deklarasi Pointer kearray 3. Mensubstitusikan address awal sebuah array ke pointer konsep array diantaranya adalah banyak loncatan dari pointer satu ke pointer yang lain. karena secara internal array juga menyatakan alamat, yaitu pengenal array sama dengan alamat pada elemen pertama pada array. Contoh : char t[5]; char *ptr; ptr = t;
  • 17.
  • 18.
    Deklarasi Pointer toarray Output yang dihasilkan :
  • 19.
    Deklarasi Pointer kestring 4. Mensubstitusikan address awal character string ke pointer char contoh deklarasi pointer pada string: char *ptr; ptr = “Jakarta”
  • 20.
  • 21.
  • 22.
  • 23.
    Deklarasi Pointer 5. Pointerke pointer dalam C++, sebuah pointer dapat menunjuk ke pointer lain yang telah menunjuk ke alamat tertentu, kondisi tersebut dinamakan multiple indirection atau pointer ke pointer Gambar Single Indirection
  • 24.
    Deklarasi Pointer kePointer Gambar Multiple Indirection Pada single indirection, pointer langsung menunjuk ke alamat dari suatu variabel Pada multiple indirection, terdapat pointer yang menunjuk ke pointer yang sedang menunjuk ke alamat dari suatu variabel
  • 25.
    Deklarasi Pointer kePointer Untuk mendeklarasikan pointer ke pointer, digunakan tanda asterisk sebanyak dua kali (**) Contoh deklarasi pointer ke pointer int **p;
  • 26.
  • 27.
    Deklarasi Pointer kePointer • Output yang dihasilkan
  • 28.
  • 29.
    Tugas 1.Buat program untukmenampilkan sebaris string berikut ini : “ Pemrograman Lanjut “ menggunakan variabel pointer ( pointer to string) 2.Buat potongan program untuk mencetak huruf ketiga (m) dari kata : “ Pemrograman Lanjut” dengan menggunakan variabel pointer
  • 30.
    Daftar Pustaka • Frieyadie.2007. Edisi Revisi Buku Pemrograman C++ dengan Borland C++ 5.02. • Purwanto TM. 2013. modul pemrograman C++