Pemrograman Dasar Pointers.

Slides:



Advertisements
Presentasi serupa
POINTER.
Advertisements

PEMROGRAMAN SISTEM ARRAY Pertemuan VII. ARRAY Array adalah suatu struktur yang terdiri dari sejumlah elemen yang memiliki tipe data yang sama. Array adalah.
PERTEMUAN IV POINTER Pointer adalah suatu variabel penunjuk yang menunjuk pada suatu alamat memori komputer Pointer merupakan.
Elemen Dasar C++.
Teknik Pemrograman Terstruktur 2
Pointer Konsep Pemrograman.
Pointer.
PEMROGRAMAN SISTEM POINTER Pertemuan X. ALAMAT & POINTER Pointer sesungguhnya berisi alamat memory yang menyimpan data. Pointer sesungguhnya berisi alamat.
Pointer dan Reference (Bab 6).
Dasar Pemrograman MODUL 06 PERCABANGAN.
Struktur.
POINTER
3 Variabel, Konstanta Tipe Data dan dalam Bahasa C/C++ Java dan Bab
Pointer dan Reference As’ad Djamalilleil
Pembahasan soal-soal pemrograman terstruktur
PENGENALAN c++ DAN STRUKTUR DASAR C++
Pointer.
Uji Coba materi Struktur Data
Pemrograman Berbasis Obyek Oleh Tita Karlita
Pointer Variabel pointer sering disebut sebagai variabel yang menunjuk obyek lain, karena variabel pointer atau pointer adalah variabel yang berisi alamat.
Algoritma & Struktur Data Pointer Evangs Mailoa.
Person 10Person Variabel Lokal dan Global Suatu variabel lokal dideklarasikan di dalam fungsi ‘a’, dan tidak dapat diakses di luar fungsi (a)
PEMROGRAMAN SISTEM PERNYATAAN DASAR PILIHAN Pertemuan V
Pemrograman Dasar Fungsi.
ARRAY OF STRUCT Apabila hendak menggunakan 1 struct untuk beberapa kali, ada 2 cara : Deklarasi manual #include typedef struct Mahasiswa { char.
Pointer Memory Dinamic.
STRUKTUR DATA STRUCT DAN POINTER
Pointer Dr. Lily Wulandari.
POINTER (VAR.PENUNJUK)
Pertemuan 22 POINTER Bag.2 Dasar Pemrograman Renni Angreni, S.Kom.
#include //bagian modul int hitung(x,y) { return(x+y); } //bagian utama main() { int jumlah,a,b; a=8; b=2; jumlah=hitung(a,b); cout
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.
Bab 8 Pointer Riyanto Sigit Konsep Dasar Pointer  Variabel pointer sering dikatakan sebagai variabel yang menunjuk ke obyek lain  Variabel.
Pointer Pointer.
STRUCT OF ARRAY Apabila hendak menggunakan 1 struct untuk beberapa kali, ada 2 cara : Deklarasi manual #include typedef struct Mahasiswa { char.
Pemrograman Berorientasi Obyek1 Sub Pokok Bahasan Pointer. Reference. Function Passing Parameter by Value, by Reference, by Pointer.
Pointer.
Bab 05 Tipe Data dan Mengisi Variabel
Konsep Pemrograman Politeknik Elektronika Negeri Surabaya 2006
POINTER.
Teknik Pemrog. Terstruktur 2
Tenia Wahyuningrum pointers Tenia Wahyuningrum
Pointer (Part 1).
PEMROGRAMAN SISTEM PERNYATAAN DASAR FUNGSI Pertemuan VI
POINTER Bag.2 Pertemuan 22 Dibuat oleh : Renni Angreni, S.Kom. Triana Elizabeth, S.Kom.
DASAR STRING PEMROGRAMAN SISTEM.
Fungsi, Array dan String
PEMROGRAMAN SISTEM DASAR STRING Pertemuan VIII
1 Pertemuan 1 Pengenalan Pemrograman Terstruktur C Matakuliah: H0112 – Pemrograman Bahasa Tingkat Tinggi Tahun: 2005/2006 Versi: xxx/2.
8. Pointer S. Indriani L, M.T 8. Pointer.
Pemrograman Terstruktur
Struktur Data Pointer Oleh Lutfi Budi Ilmawan
Pertemuan 21 POINTER Bag.1 Dasar Pemrograman Renni Angreni, S.Kom.
Pointer TEE 2103 Algoritma dan Pemrograman Dosen: Abdillah, MIT
Pointer Variabel pointer sering disebut sebagai variabel yang menunjuk obyek lain, karena variabel pointer atau pointer adalah variabel yang berisi alamat.
Defri Kurniawan, M.Kom STRUKTUR DATA Defri Kurniawan, M.Kom
Pointer FARID WAJDI YUSUF.
ALGORITMA DAN PEMROGRAMAN II
Tenia Wahyuningrum pointers Tenia Wahyuningrum
Algoritma dan Struktur Data
~ PERTEMUAN 4 KONSEP TIPE DATA ~
Algoritma dan Struktur Data
Algoritma dan Struktur Data
Algoritma dan Struktur Data
Pemrograman Bahasa C sRi nurhayati, mt.
KONSEP DASAR STRUKTUR DATA
STRUKTUR DATA PERTEMUAN 5.
Pointer.
Defri Kurniawan POINTER Defri Kurniawan
Operator, Variabel, Konstanta, Tipe Data
Transcript presentasi:

Pemrograman Dasar Pointers

Memory Memory merupakan ruang penyimpanan informasi di dalam komputer. Memory dalam komputer dibagi ke dalam satuan-satuan kecil yang disebut Byte. Masing-masing byte pada memory memiliki alamat tersendiri. Komputer mengakses (baca atau tulis) memory dengan menggunakan alamat tersebut.

Pointer Pointer seperti variabel, menyimpan suatu nilai. Hanya saja, nilai yang disimpan di dalam pointer adalah berupa alamat memori.

Operator referensi Untuk melihat alamat memori suatu variabel, kita dapat menggunakan operator referensi : " & ". Misalkan pernyataan: abc = &def; Menugaskan nilai alamat variabel def ke dalam abc.

Alamat memory variabel void main() { int abc = 5; float def = 7.5; double ghi = 17.777; cout<<"Isi variabel :"<<endl; cout<<"abc : "<<abc<<endl; cout<<"def : "<<def<<endl; cout<<"ghi : "<<ghi<<endl; cout<<"\nAlamat variabel :"<<endl; cout<<"abc : "<<&abc<<endl; cout<<"def : "<<&def<<endl; cout<<"ghi : "<<&ghi<<endl; system("pause"); }

Deklarasi Pointer Suatu variabel pointer dideklarasikan sebagai berikut: tipeData* namaPointer; tipeData *namaPointer; Contoh: int *a; float *b, *c; // bukan float *b, c;

Deklarasi pointer Agar pointer menunjuk ke variabel lain, mula-mula harus diisi dengan alamat suatu variabel. Contoh: int nilai; int *pNilai; Pointer pNilai diatur agar menunjuk ke variabel a dengan cara: pNilai = &nilai;

Operator dereferensi Untuk mengakses nilai yang berada pada alamat yang ditunjuk oleh pointer, kita menggunakan operator " * ". Contoh: int nilai = 20; int *pNilai; pNilai = &nilai; cout<< *pNilai <<endl; Setelah pernyataan pNilai = &nilai, maka variabel nilai dengan *pNilai menjadi sama.

Pointer Perlu diingat bahwa operator "*" pada pernyataan int *pNilai; tidak sama dengan operator "*" pada cout<<*pNilai<<endl; Yang pertama adalah deklarasi pointer bernama pNilai. Tanda "*" tersebut hanya menyatakan bahwa pNilai adalah suatu pointer. Sedangkan yang kedua adalah operator dereferensi yang menunjuk ke alamat yang ditunjuk oleh pointer pNilai. Penggunaan tanda "*" pada saat deklarasi pointer dengan di dalam pernyataan harus dibedakan.

Contoh int main () { int abc, def; int *tunjuk; tunjuk = &abc; tunjuk = &def; *tunjuk = 20; cout << "nilai abc: " << abc << endl; cout << "nilai def: " << def << endl; system("pause"); return 0; }

Pointer Misalkan terdapat potongan kode program seperti berikut: int andy, fred; int *ted; andy = 25; fred = andy; ted = &andy; Maka nilai tiap variabel setelah itu adalah:

Pointer Jika program sebelumnya dilanjutkan dengan: int beth; beth = *ted; Maka isi masing-masing variabel adalah: Keterangan tambahan: beth=ted; // beth sama dengan ted (1776) beth=*ted; //beth adalah nilai yang ditunjuk oleh ted (25)

Inisialisasi pointer Suatu pointer dapat langsung diisi nilai saat deklarasi. Caranya: int angka; int *pAngka = &angka; Pernyataan ini ekivalen dengan: int *pAngka; pAngka = &angka; Dan BERBEDA dengan: int *pAngka; *pAngka = &angka;

Uji pemahaman Terka output program berikut: int main () { int abc = 5, def = 15; int *p1, *p2; p1 = &abc;//p1=alamat abc p2 = &def;//p2=alamat def *p1 = 10; //nilai yang ditunjuk p1=10 *p2 = *p1; //nilai yang ditunjuk p2=nilai yang ditunjuk p1 p1 = p2; //p1=p2 (nilai pointer disalin) *p1 = 20; // nilai yang ditunjuk p1=20 cout << "isi abc " << abc << endl; cout << "isi def " << def << endl; system("pause"); return 0; }

Pointer dan Array Pointer dan array mempunyai hubungan yang dekat. Secara internal, array juga menyatakan alamat. Misalkan terdapat suatu array dan suatu pointer: int angka [5]; int *pArray; Maka agar pointer pArray menunjuk ke array angka, pernyataan yang valid adalah: pArray = angka; Sebaliknya, pernyataan pArray = &angka; menjadi tidak valid karena array angka juga merupakan suatu identifier yang menyatakan alamat.

Pointer dan Array Meskipun pArray = angka; boleh dilakukan, perintah angka = pArray tidaklah valid. Hal ini karena tidak seperti alamat pada pointer pArray, alamat pada array angka tidak dapat diubah. Suatu array dapat dipandang sebagai konstanta pointer.

Pointer dan Array Setelah baris pArray = angka, maka: Identifier angka[0] sama dengan *pArray. Identifier angka[1] sama dengan *(pArray+1). Identifier angka[2] sama dengan *(pArray+2). Array pointer juga dapat digeser. Misalkan mula-mula pArray menunjuk pada angka[0], maka: int angka[5] = {1,2,3,4,5}; int *pArray = angka; cout<<*pArray<<endl; pArray++; cout<<*pArray<<endl; pArray+=2; cout<<*pArray<<endl; pArray=&angka[2]; cout<<*pArray<<endl; Array isi angka[0] 1 angka[1] 2 angka[2] 3 angka[3] 4 angka[4] 5

Contoh array pointer int main () { int angka[5]; int * p; p = angka; *p = 10; p++; *p = 20; p = &angka[2]; *p = 30; p = angka + 3; *p = 40; p = angka; *(p+4) = 50; for (int n=0; n<5; n++) cout << angka[n] <<endl; system("pause"); return 0; }

Thank You for your attention Thanks to: cplusplus.com Pemrograman C++ by Abdul Kadir Yoannita S.Kom & Hermawan S.Kom Sumber slide