8. Pointer S. Indriani L, M.T 8. Pointer.

Slides:



Advertisements
Presentasi serupa
ARRAY.
Advertisements

PERTEMUAN IV POINTER Pointer adalah suatu variabel penunjuk yang menunjuk pada suatu alamat memori komputer Pointer merupakan.
PERTEMUAN VIII POINTER
Pointer Konsep Pemrograman.
Pointer.
ARRAY/LARIK Sumber dari : imaru.files.wordpress.com/2008/02/array-struc-pointer.ppt.
PERTEMUAN VI POINTER LANJUT
Pertemuan 17 ENUM & STRUCT Dasar Pemrograman Renni Angreni, S.Kom.
ARRAY.
Algoritma & Struktur Data Pointer Evangs Mailoa.
Pemrograman Dasar Pointers.
Pointer Yuliana Setiowati.
Pointer Dr. Lily Wulandari.
POINTER (VAR.PENUNJUK)
P O I N T E R. Merupakan sebuah variabel yang berisi alamat dari variabel lain. Suatu pointer dimaksudkan untu menunjukan ke suatu alamat memori sehingga.
POINTER.
Teknik Pemrog. Terstruktur 2
Pointer (Part 1).
DASAR STRING PEMROGRAMAN SISTEM.
Elemen Dasar C++ (Part 1)
Castaka Agus Sugianto, M.Kom., M.CS
Bab2 ARRAY (LARIK).
Linked List & POINTER Pertemuan POINTER
PENGENALAN c++ DAN STRUKTUR DASAR C++
STRUKTUR, ENUM, UNION, BIT-FIELD DAN TYPEDEF
9. Struktur S. Indriani L., M.T 9. Struktur.
5. Fungsi S. Indriani L, M.T 5. Fungsi.
Pendahuluan & identifier pada bahasa c dan c++
PEMROGRAMAN SISTEM FUNGSI
Pertemuan 21 POINTER Bag.1 Dasar Pemrograman Renni Angreni, S.Kom.
7. String S. Indriani L, M.T 7. String.
S. Indriani Lestariningati, M.T
Pertemuan III Komentar, Identifier dan Tipe data.
3. Elemen Dasar C++ S. Indriani L., M.T 3. Elemen Dasar C++
Pengenalan C++ Oleh : Dewi Sartika.
S T R U K T U R.
STRUKTUR DATA Pengenalan C++
2. Pengenalan Program C++
Variabel ARRAY.
ARRAY.
Pertemuan 1.
Bentuk standar dalam penulisan bahasa c/c++
Struktur Data (Data Structure) – IS 2313
Pointer Variabel pointer sering disebut sebagai variabel yang menunjuk obyek lain, karena variabel pointer atau pointer adalah variabel yang berisi alamat.
POINTER (VAR.PENUNJUK)
Pointer FARID WAJDI YUSUF.
P O I N T E R.
Pointer Oleh : Sri Supatmi,S.Kom.
Program komputer Sebuah program komputer yang ditulis dengan bahasa apapun dapat dipandang sebagai sebuah himpunan operasi yang dikerjakan pada data-data.
S. Indriani Lestariningati, M.T
Pemograman Terstruktur
S. Indriani Lestariningati, M.T
Tenia Wahyuningrum pointers Tenia Wahyuningrum
Pemograman Terstruktur
Algoritma dan Struktur Data
Algoritma dan Struktur Data
Algoritma dan Struktur Data
ARRAY & Tipe data bentukan
6. Array S. Indriani L, M.T.
Algoritma dan Struktur Data
Pointer Oleh : Sri Supatmi,S.Kom.
Operator Unary & Operator Ternary Pertemuan 9 Dasar Pemrograman
KONSEP DASAR STRUKTUR DATA
Algoritma dan Struktur Data
array Array merupakan tipe data yang menampung
POINTER (VAR.PENUNJUK)
STRUKTUR DATA Array.
Pointer.
ARRAY.
Transcript presentasi:

8. Pointer S. Indriani L, M.T 8. Pointer

Alamat dan Pointer Pointer sesungguhnya berisi alamat dari suatu data, bukan data sebagaimana pada variabel yang telah Anda kenal. Setiap byte didalam memori komputer memiliki sebuah alamat. Didalam memori inilah variabel disimpan. Pada saat program dimuat didalam memori, variabel akan diletakkan dengan sendirinya pada alamat tertentu. Suatu pointer didalam program dimaksudkan untuk menunjuk ke suatu alamat memori.

vint adalah variabel yang terletak didalam memori beralamatkan 0xfff2. Misal: pint adalah pointer vint adalah variabel yang terletak didalam memori beralamatkan 0xfff2. maka pointer pint dapat diatur agar menunjuk ke variabel vint. pint Merujuk ke vint 0xfff2 0xfff4 alamat 0xfff2 vint

Mengetahui alamat suatu variabel Caranya: tambahkan operator alamat, berupa simbol ‘&’ didepan nama variabel, lalu dengan mengirimkan ke cout, alamat dari suatu variabel akan ditampilkan ke layar

#include<iostream. h> #include<conio #include<iostream.h> #include<conio.h> void main() { int a=5; float b=7.5; double c=17.777; clrscr(); cout<<"isi variabel:"<<endl; cout<<"a = "<<a<<endl; cout<<"b = "<<b<<endl; cout<<"c = "<<c<<endl; cout<<"Alamat variabel : "<<endl; cout<<"a = "<<&a<<endl; cout<<"b = "<<&b<<endl; cout<<"c = "<<&c<<endl; } Hasil: Perlu diketahui: Notasi 0x pada hasil program diatas menyatakan notasi heksadesimal

Mendefinisikan variabel pointer Suatu variabel pointer dapat difenisikan dengan bentuk sbb: keterangan: tipe_data dapat berupa sembarang tipe seperti halnya pada pendefinisian variabel bukan pointer. nama_variabel adalah nama variabel pointer. Beberapa contoh pendefinisian variabel pointer: int *pint //pointer ke int char *pch //pointer ke char float *pfl //pointer ke float tipe_data *nama_variabel;

Mengisi variabel pointer Supaya suatu variabel pointer menunjuk ke variabel lain, mula-mula harus diisi dengan alamat dari variabel yang hendak ditunjuk. Misal: int vint = 55; int *pint; Variabel pointer pint dapat diatur agar menunjuk ke vint dengan cara sbb: pint = &vint; Pernyataan diatas berarti: “pint diisi dengan alamat dari vint”. Operator & menyatakan “alamat dari”

#include<iostream. h> #include<conio #include<iostream.h> #include<conio.h> void main() { int vint=55; int *pint; clrscr(); pint = &vint; cout<<"alamat vint ="<<&vint<<endl; cout<<"pint = "<<pint<<endl; } Ternyata menampilkan isi dari pointer itu sendiri, bukan isi dari variabel vint

Mengakses nilai yang ditunjuk pointer Berdasarkan program sebelumnya, nilai vint dapat diakses melalui pint setelah pernyataan: pint = &vint; Caranya dengan melibatkan operator “tak langsung”. Operator ini berupa simbol * dan diletakkan didepan nama variabel pointer. Contoh: *pint berarti “nilai yang ditunjuk oleh pint”

#include<iostream. h> #include<conio #include<iostream.h> #include<conio.h> void main() { int vint=55; int *pint; clrscr(); pint = &vint; cout<<"Nilai yang ditujuk pint : "<<*pint<<endl; }

Pointer dan Array Pointer dan Array mempunyai hubungan yang dekat. Secara internal array juga menyatakan alamat. Misalnya: int tgl_lahir[]={26, 3, 1979}; dan int *ptgl; agar ptgl menunjuk ke array, diperlukan pernyataan berupa: ptgl = tgl_lahir;

Perhatikan dengan seksama skema tersebut! Tidak ada tanda ‘&’ didepan tgl_lahir. Ini disebabkan nama array sebenarnya sudah menyatakan alamat. Oleh karena itu tanda & tidak diperlukan.

#include<iostream. h> #include<conio #include<iostream.h> #include<conio.h> void main() { clrscr(); int tgl_lahir[] = {26, 3, 1979}; int *ptgl; ptgl = tgl_lahir; cout<<"Nilai yang ditujuk ptgl : "<<*ptgl<<endl; cout<<"Nilai dari tanggal lahir [0] :"<<tgl_lahir [0]<<endl; }

Seluruh elemen array tgl_lahir dapat ditampilkan melalui pernyataan: for (int i=0; i<3; i++) cout<<tgl_lahir[i]<<endl; bentuk seperti tgl_lahir[i] dapat diubah dalam notasi pointer seperti berikut: for(int i=0; i<3; i++) cout <<*(tgl_lahir + i)<<endl;

#include<iostream. h> #include<conio #include<iostream.h> #include<conio.h> void main() { clrscr(); int tgl_lahir[] = {26, 3, 1979}; int *ptgl; ptgl = tgl_lahir; for( int i=0; i<3; i++) cout <<*(ptgl +i)<<endl; }

Pointer dan String #include<iostream.h> #include<conio.h> void main() { clrscr(); char tokoh[]="Barrack_Obama"; char *ptokoh ="Barrack_Obama"; cout<<"tokoh ="<<tokoh<<endl; cout<<"ptokoh = "<<ptokoh<<endl; ptokoh++; //tokoh++; tidak diperkenankan } Tampak dengan pointer dengan mudah dapat diubah (misalnya ptokoh). Dengan cara seperti ini, kalau semula ptokoh menunjukkan “Barrack_Obama”, kini menunjukkan “arrack Obama”

Array Pointer Suatu array bisa digunakan untuk menyimpan sejumlah pointer. Contoh: char *namahari[7]; merupakan pernyataan untuk mendefinisikan array namahari yang berisi 7 buah elemen yang berupa pointer. Pointer ini menunjuk ke data bertipe char.

#include<iostream. h> #include<conio #include<iostream.h> #include<conio.h> void main() { clrscr(); char *namahari[]= {"Senin", "Selasa", "Rabu", "Kamis", "Jumat", "Sabtu", "Minggu"}; for (int i=0; i<7; i++) cout<<namahari[i]<<endl; }

Pointer menunjuk Pointer Suatu pointer bisa saja menunjuk ke pointer lain. Untuk membentuk rantai pointer seperti diatas diperlukan pendefinisian sbb: int var_x; int *ptr1; // satu tanda * di depan ptr1 int **ptr 2 // dua tanda * didepan ptr2 Agar ptr1 menunjuk ke variabel var_x, perintah yang diperlukan berupa: ptr1= & var_x; Sedangkan supaya ptr2 menunjuk ke ptr1, diperlukan perintah berupa: ptr2= &ptr1; ptr2 ptr1 var_x

#include<iostream. h> #include<conio #include<iostream.h> #include<conio.h> void main() { clrscr(); int var_x=273; int *ptr1; int **ptr2; cout<<"var x = "<<var_x<<endl; ptr1=&var_x; ptr2=&ptr1; cout<<"*ptr1 ="<<*ptr1<<endl; cout<<"**ptr2 = "<<**ptr2<<endl; }