Pertemuan 21 POINTER Bag.1 Dasar Pemrograman Renni Angreni, S.Kom.

Slides:



Advertisements
Presentasi serupa
POINTER.
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.
Pertemuan 7 Struktur Kendali Percabangan SWITCH Dasar Pemrograman Renni Angreni, S.Kom.
ARRAY/LARIK Sumber dari : imaru.files.wordpress.com/2008/02/array-struc-pointer.ppt.
Komentar, Identifier dan Tipe Data
Pertemuan 17 ENUM & STRUCT Dasar Pemrograman Renni Angreni, S.Kom.
Algoritma & Struktur Data Pointer Evangs Mailoa.
FUNGSI (Method) Bag.3 Pertemuan 20 Dasar Pemrograman
Pemrograman Dasar Pointers.
Pointer Dr. Lily Wulandari.
POINTER (VAR.PENUNJUK)
Pertemuan 22 POINTER Bag.2 Dasar Pemrograman Renni Angreni, S.Kom.
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.
Pertemuan 19 FUNGSI (Method) Bag.2 Dasar Pemrograman Renni Angreni, S.Kom.
Bab 8 Pointer Riyanto Sigit Konsep Dasar Pointer  Variabel pointer sering dikatakan sebagai variabel yang menunjuk ke obyek lain  Variabel.
Pointer Pointer.
PERTEMUAN III ARRAY BAG II JURUSAN TELEKOMUNIKASI
Object Oriented Programming Bag.2 Pertemuan 24 Dasar Pemrograman Renni Angreni, S.Kom.
Dibuat oleh : Renni Angreni, S.Kom.
Konsep Pemrograman Politeknik Elektronika Negeri Surabaya 2006
POINTER.
Teknik Pemrog. Terstruktur 2
Pointer (Part 1).
Pertemuan 19 FUNGSI (Method) Bag.2 Dibuat oleh : Renni Angreni, S.Kom. Triana Elizabeth, S.Kom.
POINTER Bag.2 Pertemuan 22 Dibuat oleh : Renni Angreni, S.Kom. Triana Elizabeth, S.Kom.
Pointer BY HARIFUDDIN.
Pemrogramman Terstruktur
Elemen Dasar C++ Norma Amalia, ST.,M.Eng.
8. Pointer S. Indriani L, M.T 8. Pointer.
Pemrograman Terstruktur
Komentar, identifier Dan Tipe Data
Operasi Operator dalam C++ Pertemuan 4 Dasar Pemrograman
PERULANGAN (LOOPING).
Pertemuan III Komentar, Identifier dan Tipe data.
ARRAY (Array Dimensi Satu) Pertemuan 15 Dasar Pemrograman
ARRAY (Array Dua Dimensi) Pertemuan 16 Dasar Pemrograman
POINTER
STRUKTUR DATA Pengenalan C++
POINTER 6.3 & 7.3 NESTED LOOP.
Dasar Pemrograman Renni Angreni, S.Kom.
FUNGSI (Method) Bag.1 Pertemuan 18 Dasar Pemrograman
Pointer, Array dan String
Pointer Variabel pointer sering disebut sebagai variabel yang menunjuk obyek lain, karena variabel pointer atau pointer adalah variabel yang berisi alamat.
Pertemuan 2 ARRAY DIMENSI 1 & 2.
SWITCH Struktur Kendali Percabangan Pertemuan 6 Dasar Pemrograman
Program komputer Sebuah program komputer yang ditulis dengan bahasa apapun dapat dipandang sebagai sebuah himpunan operasi yang dikerjakan pada data-data.
ARRAY Oleh : sgo.
Tipe Data Dasar Variabel dan Konstanta
As’ad Djamalilleil Array (Larik) As’ad Djamalilleil
SWITCH Struktur Kendali Percabangan Pertemuan 7 Dasar Pemrograman
Variabel, Konstanta, Tipe Data
Algoritma dan Struktur Data
~ PERTEMUAN 4 KONSEP TIPE DATA ~
Algoritma dan Struktur Data
As’ad Djamalilleil Pointer dan Reference As’ad Djamalilleil
Algoritma dan Struktur Data
FOR Perulangan Menggunakan Pertemuan 10 Dasar Pemrograman
Algoritma dan Struktur Data
Operator Unary & Operator Ternary Pertemuan 9 Dasar Pemrograman
Algoritma dan struktur data
Algoritma Struktur Data
KONSEP DASAR STRUKTUR DATA
Algoritma dan Struktur Data
array Array merupakan tipe data yang menampung
POINTER
Sekolah Tinggi Manajemen Informatika Komputer Bani Saleh
Algoritma Pemrograman
Transcript presentasi:

Pertemuan 21 POINTER Bag.1 Dasar Pemrograman Renni Angreni, S.Kom.

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. Pointer sesungguhnya berisi alamat dari suatu data, bukan data sebagaimana pada variabel. Untuk melihat alamat memori suatu variabel, kita dapat menggunakan operator referensi, yaitu : “ & “ Misalkan pernyataan : po = &var; Menugaskan nilai alamat dari variabel var ke dalam variabel po.

Contoh #include <iostream> #include <conio.h> #include <string> using namespace std; void main() { int angka = 34500; float bilangan = 98.21; string kabar = "Hello World!"; cout<<"Isi dari variabel"<<endl; cout<<"Variabel angka = "<<angka<<endl; cout<<"Variabel bilangan = "<<bilangan<<endl; cout<<"Variabel kabar = "<<kabar<<endl<<endl; cout<<"Alamat dari variabel"<<endl; cout<<"Alamat variabel angka = "<<&angka<<endl; cout<<"Alamat variabel bilangan = "<<&bilangan<<endl; cout<<"Alamat variabel kabar = "<<&kabar<<endl; _getch(); }

DEKLARASI POINTER Suatu variabel pointer dideklarasikan sebagai berikut : tipeData* namaVariabel; atau tipeData *namaVariabel; Tipe data dapat berupa sembarang tipe data seperti halnya pada pendefinisian variabel, dan nama variabel adalah nama variabel pointer. Contoh : int *a; float *b, *c; // bukan float *b, c; int* nilai;

Agar pointer menunjuk ke variabel lain, mula-mula harus diisi dengan alamat dari variabel yang hendak ditunjuk. Contoh : int nilai; //deklarasi variabel biasa int *pNilai; //deklarasi variabel pointer Pointer pNilai diatur agar menunjuk ke variabel nilai dengan cara : pNilai = &nilai; Untuk mengakses nilai yang berada pada alamat yang ditunjuk oleh pointer (jadi variabel pointer = variabel), kita menggunakan operator " * “ pada variabel pointer.

int nilai; int *pNilai; nilai = 35; pNilai = &nilai; cout<<nilai<<endl; cout<<pNilai<<endl; cout<<*pNilai<<endl; Setelah pernyataan pNilai = &nilai, maka variabel nilai dengan *pNilai menjadi sama. (tidak bisa langsung penugasan variabel ke variabel pointer  pNilai = nilai; )

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

#include <iostream> #include <conio.h> using namespace std; void main() { int angka = 2011; int bilangan; int *add; int tes; bilangan = angka; add = &angka; tes = *add; cout<<"Variabel angka = "<<angka<<endl; cout<<"Variabel bilangan = "<<bilangan<<endl; cout<<"Pointer add = "<<add<<endl; cout<<"Variabel tes = "<<tes<<endl; cout<<"Alamat variabel tes = "<<&tes; _getch(); }

INISIALISASI POINTER Suatu pointer dapat langsung diisi nilai saat pendeklarasian. Caranya : int angka; int *add = &angka; Pernyataan ini ekivalen dengan : int *add; add = &angka; Dan BERBEDA dengan : int *add; *add = &angka;

POINTER & 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 nama array sebenarnya sudah menyatakan alamat. Oleh karena itu tanda & tidak diperlukan lagi.

Meskipun pernyataan pArray = angka; boleh dilakukan, tetapi perintah / pernyataan 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.

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;

#include <iostream> #include <conio.h> Array isi angka[0] 1 angka[1] 2 angka[2] 3 angka[3] 4 angka[4] 5 #include <iostream> #include <conio.h> using namespace std; void main() { int angka[5] = {1,2,3,4,5}; int *pArray = angka; pArray = angka; cout<<angka<<endl; cout<<pArray<<endl; cout<<*pArray<<endl; pArray++; cout<<*pArray<<endl; pArray+=2; cout<<*pArray<<endl; pArray=&angka[2]; cout<<*pArray<<endl; _getch(); }

LATIHAN Terka output dari potongan program berikut : void main () { int abc = 5, def = 15; int *p1, *p2; p1 = &abc; p2 = &def; *p1 = 10; *p2 = *p1; p1 = p2; *p1 = 20; cout<<"isi abc : "<<abc<<endl; cout<<"isi def : "<<def; _getch(); }

dengan menggunakan pointer. Buatlah sebuah program C++ untuk menampilkan alamat dan yang ditunjuk dari variabel-variabel di bawah ini : int harga = 35000; double diskon = 3.50; float desimal = 24.57897; Buatlah sebuah program C++ untuk menampilkan seluruh elemen dari array : int bilangan[10] = {10,20,30,40,50,60,70,80,90,100}; dengan menggunakan pointer.

-- Sekian -- Dasar Pemrograman Renni Angreni, S.Kom.