SlideShare a Scribd company logo
1 of 20
PointerPointer
(Part 1)(Part 1)
Alamat dan PointerAlamat dan Pointer
 Konsep pointer sebenarnya cukupKonsep pointer sebenarnya cukup
sederhana.sederhana.
 Pointer sesungguhnya berisi alamat dariPointer sesungguhnya berisi alamat dari
suatu data, bukan data sebagaimanasuatu data, bukan data sebagaimana
variabel yang telah anda kenal.variabel yang telah anda kenal.
Alamat dan PointerAlamat dan Pointer
 Setiap byte di dalam memori komputerSetiap byte di dalam memori komputer
memiliki sebuah alamat.memiliki sebuah alamat.
 Di dalam memori inilah variabel disimpan.Di dalam memori inilah variabel disimpan.
 Tetapi tentu saja pemrogram tidak perluTetapi tentu saja pemrogram tidak perlu
menyebutkan alamat dari suatu variabelmenyebutkan alamat dari suatu variabel
secara explisit.secara explisit.
 Pada saat program dimuat di dalamPada saat program dimuat di dalam
memori, variabel akan diletakkan denganmemori, variabel akan diletakkan dengan
sendirinya pada alamat tertentu.sendirinya pada alamat tertentu.
Alamat dan PointerAlamat dan Pointer
 Suatu pointer di dalam programSuatu pointer di dalam program
dimaksudkan untuk menunjuk suatudimaksudkan untuk menunjuk suatu
alamat memori.alamat memori.
 Misalnya kalauMisalnya kalau pintpint adalah pointer, danadalah pointer, dan
vintvint adalah variabel yang terletak diadalah variabel yang terletak di
memori beralamatmemori beralamat 0xfff20xfff2, pointer, pointer pintpint
dapat diatur agar menunjuk ke variabeldapat diatur agar menunjuk ke variabel
vintvint..
Alamat dan Pointer
Mengetahui Alamat Suatu VariabelMengetahui Alamat Suatu Variabel
 Alamat suatu variabel dapat diketahuiAlamat suatu variabel dapat diketahui
dengan mudah, caranya tambahkandengan mudah, caranya tambahkan
operator alamat, berupa simbol & di depanoperator alamat, berupa simbol & di depan
nama variabel.nama variabel.
 Dengan mengirimkan keDengan mengirimkan ke coutcout, alamat dari, alamat dari
suatu variabel akan ditampilkan ke layar.suatu variabel akan ditampilkan ke layar.
Mengetahui Alamat Suatu VariabelMengetahui Alamat Suatu Variabel
//program75.cpp
#include <iostream.h>
#include <conio.h>
void main()
{
int bil1 = 5;
float bil2 = 7.5;
double bil3 = 17.777;
cout<<"Isi variabel : "<<endl;
cout<<"bil1 = "<<bil1<<endl;
cout<<"bil2 = "<<bil2<<endl;
cout<<"bil3 = "<<bil3<<endl;
cout<<endl;
cout<<"Alamat variabel : "<<endl;
cout<<"bil1 = "<<&bil1<<endl;
cout<<"bil2 = "<<&bil2<<endl;
cout<<"bil3 = "<<&bil3<<endl;
getch();
}
Mengetahui Alamat Suatu VariabelMengetahui Alamat Suatu Variabel
 Perlu diketahui, notasi 0x pada hasilPerlu diketahui, notasi 0x pada hasil
program di depan menyatakan notasiprogram di depan menyatakan notasi
heksadesimal.heksadesimal.
 Pada C++, tanda & juga dipakai untukPada C++, tanda & juga dipakai untuk
referensi (alias dari suatu variabel).referensi (alias dari suatu variabel).
Mendefinisikan Variabel PointerMendefinisikan Variabel Pointer
 Format :Format :
 tipe_datatipe_data dapat berupa sembarang tipedapat berupa sembarang tipe
data seperti halnya variabel bukan pointer.data seperti halnya variabel bukan pointer.
 nama_variabelnama_variabel adalah variabel pointer.adalah variabel pointer.
tipe_data *nama_variabel
Mengisi Variabel PointerMengisi Variabel Pointer
 Supaya variabel pointer menunjuk ke variabel lain, mula-mula harusSupaya variabel pointer menunjuk ke variabel lain, mula-mula harus
diisi dengan alamat dari variabel yang hendak ditunjuk.diisi dengan alamat dari variabel yang hendak ditunjuk.
 Misalnya terdapat pendefinisian seperti berikut :Misalnya terdapat pendefinisian seperti berikut :
 VariabelVariabel pintpint dapat diatur agar menunjuk kedapat diatur agar menunjuk ke vintvint dengan caradengan cara
sebagai berikut :sebagai berikut :
 Pernyataan diatas berarti : “Pernyataan diatas berarti : “pintpint diisi dengan alamat daridiisi dengan alamat dari vintvint”.”.
int vint = 55;
int *pint;
pint = &vint;
Mengisi Variabel PointerMengisi Variabel Pointer
//program76.cpp
#include <iostream.h>
#include <conio.h>
void main()
{
int vint = 55;
int *pint;
pint = &vint; //pointer menunjuk ke vint
cout<<"Alamat vint = "<<&vint<<endl;
cout<<"Isi pint = "<<pint<<endl;
getch();
}
Mengisi Variabel PointerMengisi Variabel Pointer
 Pada contoh di depan :Pada contoh di depan :
 Baris tersebut ternyata menampilkan isiBaris tersebut ternyata menampilkan isi
dari pointer itu sendiri, bukan isi daridari pointer itu sendiri, bukan isi dari
variabelvariabel vint.vint.
cout<<"pint = "<<pint<<endl;
Mengakses Nilai Yang DitunjukMengakses Nilai Yang Ditunjuk
PointerPointer
 Berdasarkan contoh di depan, nilai dariBerdasarkan contoh di depan, nilai dari vintvint dapatdapat
diakses melaluidiakses melalui pintpint setelah pernyataan dibawah inisetelah pernyataan dibawah ini
dijalankan.dijalankan.
 Cara mengaksesnya adalah dengan melibatkan operatorCara mengaksesnya adalah dengan melibatkan operator
“tak langsung” yang berupa simbol * dan diletakkan di“tak langsung” yang berupa simbol * dan diletakkan di
depan nama variabel pointer. Contoh :depan nama variabel pointer. Contoh :
 Berarti “nilai yang ditunjuk olehBerarti “nilai yang ditunjuk oleh pintpint”.”.
pint = &vint;
*pint;
Mengakses Nilai Yang DitunjukMengakses Nilai Yang Ditunjuk
PointerPointer
//program77.cpp
#include <iostream.h>
#include <conio.h>
void main()
{
int vint = 55;
int *pint;
pint = &vint; //pointer menunjuk ke vint
cout<<"Isi vint = "<<vint<<endl;
cout<<"Alamat vint = "<<&vint<<endl;
cout<<"Isi pint = "<<pint<<endl;
cout<<"Nilai yang ditunjuk oleh pint : "<<*pint<<endl;
getch();
}
Mengakses Nilai Yang DitunjukMengakses Nilai Yang Ditunjuk
PointerPointer
 Program di depan menunjukkanProgram di depan menunjukkan
pengaksesan terhadappengaksesan terhadap vintvint dapatdapat
dilakukan melaluidilakukan melalui *pint*pint..
 Contoh berikut menunjukkan isiContoh berikut menunjukkan isi vintvint
diubah melaluidiubah melalui *pint.*pint.
Mengakses Nilai Yang DitunjukMengakses Nilai Yang Ditunjuk
PointerPointer
//program78.cpp
#include <iostream.h>
#include <conio.h>
void main()
{
int vint = 55;
int *pint;
pint = &vint; //pointer menunjuk ke vint
cout<<"Isi vint semula = "<<vint<<endl;
*pint = 77;
cout<<"Isi vint sekarang = "<<vint<<endl;
getch();
}
Pointer VoidPointer Void
 Pada contoh-contoh program di depan telah ditunjukkanPada contoh-contoh program di depan telah ditunjukkan
pointer yang menunjuk ke tipe data tertentu.pointer yang menunjuk ke tipe data tertentu.
 Sebenarnya juga dimungkinkan untuk membuat pointerSebenarnya juga dimungkinkan untuk membuat pointer
tak bertipe.tak bertipe.
 Caranya yakni dengan meletakkan kata kunci void diCaranya yakni dengan meletakkan kata kunci void di
bagian penentu tipe pointer. Contoh :bagian penentu tipe pointer. Contoh :
 Suatu pointer void seperti contoh diatas dapat digunakanSuatu pointer void seperti contoh diatas dapat digunakan
untuk menunjuk ke sembarang tipe data.untuk menunjuk ke sembarang tipe data.
void *ptr;
Pointer VoidPointer Void
//program79.cpp
#include <iostream.h>
#include <conio.h>
void main()
{
int bil1 = 55;
float bil2 = 33.45;
void *ptr;
ptr = &bil1; //bisa menunjuk ke int
cout<<"Nilai yang ditunjuk ptr : "<<*(int*)ptr<<endl;
ptr = &bil2; //bisa menunjuk ke float
cout<<"Nilai yang ditunjuk ptr : "<<*(float*)ptr<<endl;
getch();
}
Pointer VoidPointer Void
 Pada program di depan, bentuk berikut perluPada program di depan, bentuk berikut perlu
diberikan :diberikan :
 Ini disebabkan C++ tidak tahu maksudIni disebabkan C++ tidak tahu maksud *ptr*ptr
mengingatmengingat ptrptr adalah pointer void.adalah pointer void.
 Cara ini bukan hanya berlaku jika kitaCara ini bukan hanya berlaku jika kita
bermaksud mengambil nilai yang ditunjuk olehbermaksud mengambil nilai yang ditunjuk oleh
ptrptr tapi juga ketika kita mengubahnya.tapi juga ketika kita mengubahnya.
 Seperti contoh program berikut :Seperti contoh program berikut :
*(int*)ptr
*(float*)ptr
Pointer VoidPointer Void
//program80.cpp
#include <iostream.h>
#include <conio.h>
void main()
{
int bilangan = 55;
void *ptr;
ptr = &bilangan;
cout<<"bilangan semula : "<<bilangan<<endl;
*(int*)ptr = 77; //mengubah nilai bilangan melalui ptr
cout<<"bilangan sekarang : "<<bilangan<<endl;
getch();
}

More Related Content

What's hot

pengenalan c+
pengenalan c+pengenalan c+
pengenalan c+aks247
 
Materi kuliah 19 fungsi part 2
Materi kuliah 19   fungsi part 2Materi kuliah 19   fungsi part 2
Materi kuliah 19 fungsi part 2Budi Yono
 
Fitrah hi hukum tugas so 2
Fitrah hi hukum tugas so 2Fitrah hi hukum tugas so 2
Fitrah hi hukum tugas so 2Fitrahdede
 
Awal dasar belajar c++
Awal dasar belajar c++Awal dasar belajar c++
Awal dasar belajar c++farizky berian
 
Tutorial basic of c++ lesson 1 ind ver
Tutorial basic of c++ lesson 1 ind verTutorial basic of c++ lesson 1 ind ver
Tutorial basic of c++ lesson 1 ind verQrembiezs Intruder
 
Praktikum fix 2
Praktikum fix 2Praktikum fix 2
Praktikum fix 2inggar tri
 
Pengenalan c++
Pengenalan c++Pengenalan c++
Pengenalan c++melmaila
 
Membuat laporan pdf berbasis web dengan php 5.0
Membuat laporan pdf berbasis web dengan php 5.0Membuat laporan pdf berbasis web dengan php 5.0
Membuat laporan pdf berbasis web dengan php 5.0kenedyboyz
 
Modul algoritma dan pemograman
Modul algoritma dan pemogramanModul algoritma dan pemograman
Modul algoritma dan pemogramanPANJI_ADITYAN
 
Poss upi-python-dasar-part1
Poss upi-python-dasar-part1Poss upi-python-dasar-part1
Poss upi-python-dasar-part1Poss Upi
 
Dasar pemrograman-python
Dasar pemrograman-pythonDasar pemrograman-python
Dasar pemrograman-pythonnamasaja
 

What's hot (15)

pengenalan c+
pengenalan c+pengenalan c+
pengenalan c+
 
Materi kuliah 19 fungsi part 2
Materi kuliah 19   fungsi part 2Materi kuliah 19   fungsi part 2
Materi kuliah 19 fungsi part 2
 
Fitrah hi hukum tugas so 2
Fitrah hi hukum tugas so 2Fitrah hi hukum tugas so 2
Fitrah hi hukum tugas so 2
 
Algoritma pemrograman 6
Algoritma pemrograman 6Algoritma pemrograman 6
Algoritma pemrograman 6
 
Awal dasar belajar c++
Awal dasar belajar c++Awal dasar belajar c++
Awal dasar belajar c++
 
Tutorial basic of c++ lesson 1 ind ver
Tutorial basic of c++ lesson 1 ind verTutorial basic of c++ lesson 1 ind ver
Tutorial basic of c++ lesson 1 ind ver
 
Praktikum fix 2
Praktikum fix 2Praktikum fix 2
Praktikum fix 2
 
Penjelasan Program
Penjelasan ProgramPenjelasan Program
Penjelasan Program
 
Pengenalan c++
Pengenalan c++Pengenalan c++
Pengenalan c++
 
Membuat laporan pdf berbasis web dengan php 5.0
Membuat laporan pdf berbasis web dengan php 5.0Membuat laporan pdf berbasis web dengan php 5.0
Membuat laporan pdf berbasis web dengan php 5.0
 
Pbo05
Pbo05Pbo05
Pbo05
 
Modul algoritma dan pemograman
Modul algoritma dan pemogramanModul algoritma dan pemograman
Modul algoritma dan pemograman
 
Modul praktikum c++
Modul praktikum c++Modul praktikum c++
Modul praktikum c++
 
Poss upi-python-dasar-part1
Poss upi-python-dasar-part1Poss upi-python-dasar-part1
Poss upi-python-dasar-part1
 
Dasar pemrograman-python
Dasar pemrograman-pythonDasar pemrograman-python
Dasar pemrograman-python
 

Viewers also liked

Texto multimodal mod 3
Texto multimodal mod 3Texto multimodal mod 3
Texto multimodal mod 3Sandro Rocha
 
цахим тест дууяа1
цахим тест дууяа1цахим тест дууяа1
цахим тест дууяа1Odmaaa
 
Literacia dos media: desafios
Literacia dos media: desafiosLiteracia dos media: desafios
Literacia dos media: desafiosRBE Algarve
 
A Literacia digital: o papel das bibliotecas no futuro
A Literacia digital: o papel das bibliotecas no futuroA Literacia digital: o papel das bibliotecas no futuro
A Literacia digital: o papel das bibliotecas no futuroLuísa Alvim
 
Literacia Digital e Literacia da Informação
Literacia Digital e Literacia da InformaçãoLiteracia Digital e Literacia da Informação
Literacia Digital e Literacia da InformaçãoAna Loureiro
 
ApresentaçãO Geral
ApresentaçãO GeralApresentaçãO Geral
ApresentaçãO Geralguest95fd9b
 
Articulação do trabalho da BE com os programas de Português
Articulação do trabalho da BE com os programas de PortuguêsArticulação do trabalho da BE com os programas de Português
Articulação do trabalho da BE com os programas de Portuguêspopi97
 
A literacia da informação nas bibliotecas escolares: como descrever e pesquis...
A literacia da informação nas bibliotecas escolares: como descrever e pesquis...A literacia da informação nas bibliotecas escolares: como descrever e pesquis...
A literacia da informação nas bibliotecas escolares: como descrever e pesquis...Cristiana Freitas
 

Viewers also liked (12)

Texto multimodal mod 3
Texto multimodal mod 3Texto multimodal mod 3
Texto multimodal mod 3
 
цахим тест дууяа1
цахим тест дууяа1цахим тест дууяа1
цахим тест дууяа1
 
Apresentação1
Apresentação1Apresentação1
Apresentação1
 
Novas Literacias
Novas LiteraciasNovas Literacias
Novas Literacias
 
Literacia dos media: desafios
Literacia dos media: desafiosLiteracia dos media: desafios
Literacia dos media: desafios
 
A Literacia digital: o papel das bibliotecas no futuro
A Literacia digital: o papel das bibliotecas no futuroA Literacia digital: o papel das bibliotecas no futuro
A Literacia digital: o papel das bibliotecas no futuro
 
Literacia Digital e Literacia da Informação
Literacia Digital e Literacia da InformaçãoLiteracia Digital e Literacia da Informação
Literacia Digital e Literacia da Informação
 
ApresentaçãO Geral
ApresentaçãO GeralApresentaçãO Geral
ApresentaçãO Geral
 
Increíble valle de piedra en Rusia
Increíble valle de piedra en RusiaIncreíble valle de piedra en Rusia
Increíble valle de piedra en Rusia
 
Literacia digital
Literacia digitalLiteracia digital
Literacia digital
 
Articulação do trabalho da BE com os programas de Português
Articulação do trabalho da BE com os programas de PortuguêsArticulação do trabalho da BE com os programas de Português
Articulação do trabalho da BE com os programas de Português
 
A literacia da informação nas bibliotecas escolares: como descrever e pesquis...
A literacia da informação nas bibliotecas escolares: como descrever e pesquis...A literacia da informação nas bibliotecas escolares: como descrever e pesquis...
A literacia da informação nas bibliotecas escolares: como descrever e pesquis...
 

Similar to POINTER VOID

Materi kuliah 21 pointer part 1
Materi kuliah 21   pointer part 1Materi kuliah 21   pointer part 1
Materi kuliah 21 pointer part 1kua
 
Materi kuliah 03 pointer part 1
Materi kuliah 03   pointer part 1Materi kuliah 03   pointer part 1
Materi kuliah 03 pointer part 1kua
 
6. pemrograman pointer
6. pemrograman pointer6. pemrograman pointer
6. pemrograman pointerRoziq Bahtiar
 
Pointer
PointerPointer
Pointerwindi1
 
MATERI POINTER TKJ K13
MATERI POINTER TKJ K13MATERI POINTER TKJ K13
MATERI POINTER TKJ K13Ali Must Can
 
Materi kuliah 23 pointer part 3
Materi kuliah 23   pointer part 3Materi kuliah 23   pointer part 3
Materi kuliah 23 pointer part 3kua
 
Materi kuliah 23 pointer part 3
Materi kuliah 23   pointer part 3Materi kuliah 23   pointer part 3
Materi kuliah 23 pointer part 3Budi Yono
 
Pertemuan 8.ppt
Pertemuan 8.pptPertemuan 8.ppt
Pertemuan 8.pptfauziahUG
 
Pascal - Pointer.txt - Notepad.pdf
Pascal - Pointer.txt - Notepad.pdfPascal - Pointer.txt - Notepad.pdf
Pascal - Pointer.txt - Notepad.pdfJurnal IT
 
MAKALAH POINTER (DIKI CANDRA) (1).docx
MAKALAH POINTER (DIKI CANDRA) (1).docxMAKALAH POINTER (DIKI CANDRA) (1).docx
MAKALAH POINTER (DIKI CANDRA) (1).docxDikicandra6
 
Modul vii dan viii algo
Modul vii dan viii algoModul vii dan viii algo
Modul vii dan viii algoSTMIK AKAKOM
 
Materi kuliah 23 pointer part 3
Materi kuliah 23   pointer part 3Materi kuliah 23   pointer part 3
Materi kuliah 23 pointer part 3Budi Yono
 
Materi kuliah 23 pointer part 3
Materi kuliah 23   pointer part 3Materi kuliah 23   pointer part 3
Materi kuliah 23 pointer part 3Budi Yono
 
Algoritma & Pemograman - 02. Variabel dan Tipe Data
Algoritma & Pemograman - 02. Variabel dan Tipe DataAlgoritma & Pemograman - 02. Variabel dan Tipe Data
Algoritma & Pemograman - 02. Variabel dan Tipe DataFakhrian Fadlia Adiwijaya
 
Fungsi dan Array Pada C++
Fungsi dan Array Pada C++Fungsi dan Array Pada C++
Fungsi dan Array Pada C++Toro Jr.
 

Similar to POINTER VOID (20)

Materi kuliah 21 pointer part 1
Materi kuliah 21   pointer part 1Materi kuliah 21   pointer part 1
Materi kuliah 21 pointer part 1
 
Materi kuliah 03 pointer part 1
Materi kuliah 03   pointer part 1Materi kuliah 03   pointer part 1
Materi kuliah 03 pointer part 1
 
6. pemrograman pointer
6. pemrograman pointer6. pemrograman pointer
6. pemrograman pointer
 
Pointer
PointerPointer
Pointer
 
Pointer
PointerPointer
Pointer
 
Pointer
PointerPointer
Pointer
 
MATERI POINTER TKJ K13
MATERI POINTER TKJ K13MATERI POINTER TKJ K13
MATERI POINTER TKJ K13
 
Materi kuliah 23 pointer part 3
Materi kuliah 23   pointer part 3Materi kuliah 23   pointer part 3
Materi kuliah 23 pointer part 3
 
Materi kuliah 23 pointer part 3
Materi kuliah 23   pointer part 3Materi kuliah 23   pointer part 3
Materi kuliah 23 pointer part 3
 
Pertemuan 8.ppt
Pertemuan 8.pptPertemuan 8.ppt
Pertemuan 8.ppt
 
Pascal - Pointer.txt - Notepad.pdf
Pascal - Pointer.txt - Notepad.pdfPascal - Pointer.txt - Notepad.pdf
Pascal - Pointer.txt - Notepad.pdf
 
MAKALAH POINTER (DIKI CANDRA) (1).docx
MAKALAH POINTER (DIKI CANDRA) (1).docxMAKALAH POINTER (DIKI CANDRA) (1).docx
MAKALAH POINTER (DIKI CANDRA) (1).docx
 
Modul vii dan viii algo
Modul vii dan viii algoModul vii dan viii algo
Modul vii dan viii algo
 
Pengenalan bahasa c++
Pengenalan bahasa c++Pengenalan bahasa c++
Pengenalan bahasa c++
 
Pengenalan bahasa c++
Pengenalan bahasa c++Pengenalan bahasa c++
Pengenalan bahasa c++
 
Materi kuliah 23 pointer part 3
Materi kuliah 23   pointer part 3Materi kuliah 23   pointer part 3
Materi kuliah 23 pointer part 3
 
Materi kuliah 23 pointer part 3
Materi kuliah 23   pointer part 3Materi kuliah 23   pointer part 3
Materi kuliah 23 pointer part 3
 
Download gratis modul c++
Download gratis modul c++Download gratis modul c++
Download gratis modul c++
 
Algoritma & Pemograman - 02. Variabel dan Tipe Data
Algoritma & Pemograman - 02. Variabel dan Tipe DataAlgoritma & Pemograman - 02. Variabel dan Tipe Data
Algoritma & Pemograman - 02. Variabel dan Tipe Data
 
Fungsi dan Array Pada C++
Fungsi dan Array Pada C++Fungsi dan Array Pada C++
Fungsi dan Array Pada C++
 

More from Budi Yono

Materi kuliah 14 pernyataan dasar part 3
Materi kuliah 14   pernyataan dasar part 3Materi kuliah 14   pernyataan dasar part 3
Materi kuliah 14 pernyataan dasar part 3Budi Yono
 
Materi kuliah 01 array part 1
Materi kuliah 01   array part 1Materi kuliah 01   array part 1
Materi kuliah 01 array part 1Budi Yono
 
Materi kuliah 04 pointer part 2
Materi kuliah 04   pointer part 2Materi kuliah 04   pointer part 2
Materi kuliah 04 pointer part 2Budi Yono
 
Materi kuliah 05 pointer part 3
Materi kuliah 05   pointer part 3Materi kuliah 05   pointer part 3
Materi kuliah 05 pointer part 3Budi Yono
 
Materi kuliah 08 sort part 3
Materi kuliah 08   sort part 3Materi kuliah 08   sort part 3
Materi kuliah 08 sort part 3Budi Yono
 
Materi kuliah 02 array part 2
Materi kuliah 02   array part 2Materi kuliah 02   array part 2
Materi kuliah 02 array part 2Budi Yono
 
01 pengenalan algoritma
01   pengenalan algoritma01   pengenalan algoritma
01 pengenalan algoritmaBudi Yono
 
Materi kuliah 04 sekilas c++
Materi kuliah 04   sekilas c++Materi kuliah 04   sekilas c++
Materi kuliah 04 sekilas c++Budi Yono
 
05 pengenalan c++
05   pengenalan c++05   pengenalan c++
05 pengenalan c++Budi Yono
 
08 elemen dasar c++ part 3
08   elemen dasar c++ part 308   elemen dasar c++ part 3
08 elemen dasar c++ part 3Budi Yono
 
10 operator dan ungkapan part 2
10   operator dan ungkapan part 210   operator dan ungkapan part 2
10 operator dan ungkapan part 2Budi Yono
 
09 operator dan ungkapan part 1
09   operator dan ungkapan part 109   operator dan ungkapan part 1
09 operator dan ungkapan part 1Budi Yono
 
Materi kuliah 12 pernyataan dasar part 1
Materi kuliah 12   pernyataan dasar part 1Materi kuliah 12   pernyataan dasar part 1
Materi kuliah 12 pernyataan dasar part 1Budi Yono
 
02 flowchart
02   flowchart02   flowchart
02 flowchartBudi Yono
 
Materi kuliah 14 pernyataan dasar part 3
Materi kuliah 14   pernyataan dasar part 3Materi kuliah 14   pernyataan dasar part 3
Materi kuliah 14 pernyataan dasar part 3Budi Yono
 
07 elemen dasar c++ part 2
07   elemen dasar c++ part 207   elemen dasar c++ part 2
07 elemen dasar c++ part 2Budi Yono
 
Fungsi part 4
Fungsi part 4Fungsi part 4
Fungsi part 4Budi Yono
 
Fungsi part 3
Fungsi part 3Fungsi part 3
Fungsi part 3Budi Yono
 
Materi kuliah 15 array part 1
Materi kuliah 15   array part 1Materi kuliah 15   array part 1
Materi kuliah 15 array part 1Budi Yono
 
Materi kuliah 17 string
Materi kuliah 17   stringMateri kuliah 17   string
Materi kuliah 17 stringBudi Yono
 

More from Budi Yono (20)

Materi kuliah 14 pernyataan dasar part 3
Materi kuliah 14   pernyataan dasar part 3Materi kuliah 14   pernyataan dasar part 3
Materi kuliah 14 pernyataan dasar part 3
 
Materi kuliah 01 array part 1
Materi kuliah 01   array part 1Materi kuliah 01   array part 1
Materi kuliah 01 array part 1
 
Materi kuliah 04 pointer part 2
Materi kuliah 04   pointer part 2Materi kuliah 04   pointer part 2
Materi kuliah 04 pointer part 2
 
Materi kuliah 05 pointer part 3
Materi kuliah 05   pointer part 3Materi kuliah 05   pointer part 3
Materi kuliah 05 pointer part 3
 
Materi kuliah 08 sort part 3
Materi kuliah 08   sort part 3Materi kuliah 08   sort part 3
Materi kuliah 08 sort part 3
 
Materi kuliah 02 array part 2
Materi kuliah 02   array part 2Materi kuliah 02   array part 2
Materi kuliah 02 array part 2
 
01 pengenalan algoritma
01   pengenalan algoritma01   pengenalan algoritma
01 pengenalan algoritma
 
Materi kuliah 04 sekilas c++
Materi kuliah 04   sekilas c++Materi kuliah 04   sekilas c++
Materi kuliah 04 sekilas c++
 
05 pengenalan c++
05   pengenalan c++05   pengenalan c++
05 pengenalan c++
 
08 elemen dasar c++ part 3
08   elemen dasar c++ part 308   elemen dasar c++ part 3
08 elemen dasar c++ part 3
 
10 operator dan ungkapan part 2
10   operator dan ungkapan part 210   operator dan ungkapan part 2
10 operator dan ungkapan part 2
 
09 operator dan ungkapan part 1
09   operator dan ungkapan part 109   operator dan ungkapan part 1
09 operator dan ungkapan part 1
 
Materi kuliah 12 pernyataan dasar part 1
Materi kuliah 12   pernyataan dasar part 1Materi kuliah 12   pernyataan dasar part 1
Materi kuliah 12 pernyataan dasar part 1
 
02 flowchart
02   flowchart02   flowchart
02 flowchart
 
Materi kuliah 14 pernyataan dasar part 3
Materi kuliah 14   pernyataan dasar part 3Materi kuliah 14   pernyataan dasar part 3
Materi kuliah 14 pernyataan dasar part 3
 
07 elemen dasar c++ part 2
07   elemen dasar c++ part 207   elemen dasar c++ part 2
07 elemen dasar c++ part 2
 
Fungsi part 4
Fungsi part 4Fungsi part 4
Fungsi part 4
 
Fungsi part 3
Fungsi part 3Fungsi part 3
Fungsi part 3
 
Materi kuliah 15 array part 1
Materi kuliah 15   array part 1Materi kuliah 15   array part 1
Materi kuliah 15 array part 1
 
Materi kuliah 17 string
Materi kuliah 17   stringMateri kuliah 17   string
Materi kuliah 17 string
 

POINTER VOID

  • 2. Alamat dan PointerAlamat dan Pointer  Konsep pointer sebenarnya cukupKonsep pointer sebenarnya cukup sederhana.sederhana.  Pointer sesungguhnya berisi alamat dariPointer sesungguhnya berisi alamat dari suatu data, bukan data sebagaimanasuatu data, bukan data sebagaimana variabel yang telah anda kenal.variabel yang telah anda kenal.
  • 3. Alamat dan PointerAlamat dan Pointer  Setiap byte di dalam memori komputerSetiap byte di dalam memori komputer memiliki sebuah alamat.memiliki sebuah alamat.  Di dalam memori inilah variabel disimpan.Di dalam memori inilah variabel disimpan.  Tetapi tentu saja pemrogram tidak perluTetapi tentu saja pemrogram tidak perlu menyebutkan alamat dari suatu variabelmenyebutkan alamat dari suatu variabel secara explisit.secara explisit.  Pada saat program dimuat di dalamPada saat program dimuat di dalam memori, variabel akan diletakkan denganmemori, variabel akan diletakkan dengan sendirinya pada alamat tertentu.sendirinya pada alamat tertentu.
  • 4. Alamat dan PointerAlamat dan Pointer  Suatu pointer di dalam programSuatu pointer di dalam program dimaksudkan untuk menunjuk suatudimaksudkan untuk menunjuk suatu alamat memori.alamat memori.  Misalnya kalauMisalnya kalau pintpint adalah pointer, danadalah pointer, dan vintvint adalah variabel yang terletak diadalah variabel yang terletak di memori beralamatmemori beralamat 0xfff20xfff2, pointer, pointer pintpint dapat diatur agar menunjuk ke variabeldapat diatur agar menunjuk ke variabel vintvint..
  • 6. Mengetahui Alamat Suatu VariabelMengetahui Alamat Suatu Variabel  Alamat suatu variabel dapat diketahuiAlamat suatu variabel dapat diketahui dengan mudah, caranya tambahkandengan mudah, caranya tambahkan operator alamat, berupa simbol & di depanoperator alamat, berupa simbol & di depan nama variabel.nama variabel.  Dengan mengirimkan keDengan mengirimkan ke coutcout, alamat dari, alamat dari suatu variabel akan ditampilkan ke layar.suatu variabel akan ditampilkan ke layar.
  • 7. Mengetahui Alamat Suatu VariabelMengetahui Alamat Suatu Variabel //program75.cpp #include <iostream.h> #include <conio.h> void main() { int bil1 = 5; float bil2 = 7.5; double bil3 = 17.777; cout<<"Isi variabel : "<<endl; cout<<"bil1 = "<<bil1<<endl; cout<<"bil2 = "<<bil2<<endl; cout<<"bil3 = "<<bil3<<endl; cout<<endl; cout<<"Alamat variabel : "<<endl; cout<<"bil1 = "<<&bil1<<endl; cout<<"bil2 = "<<&bil2<<endl; cout<<"bil3 = "<<&bil3<<endl; getch(); }
  • 8. Mengetahui Alamat Suatu VariabelMengetahui Alamat Suatu Variabel  Perlu diketahui, notasi 0x pada hasilPerlu diketahui, notasi 0x pada hasil program di depan menyatakan notasiprogram di depan menyatakan notasi heksadesimal.heksadesimal.  Pada C++, tanda & juga dipakai untukPada C++, tanda & juga dipakai untuk referensi (alias dari suatu variabel).referensi (alias dari suatu variabel).
  • 9. Mendefinisikan Variabel PointerMendefinisikan Variabel Pointer  Format :Format :  tipe_datatipe_data dapat berupa sembarang tipedapat berupa sembarang tipe data seperti halnya variabel bukan pointer.data seperti halnya variabel bukan pointer.  nama_variabelnama_variabel adalah variabel pointer.adalah variabel pointer. tipe_data *nama_variabel
  • 10. Mengisi Variabel PointerMengisi Variabel Pointer  Supaya variabel pointer menunjuk ke variabel lain, mula-mula harusSupaya variabel pointer menunjuk ke variabel lain, mula-mula harus diisi dengan alamat dari variabel yang hendak ditunjuk.diisi dengan alamat dari variabel yang hendak ditunjuk.  Misalnya terdapat pendefinisian seperti berikut :Misalnya terdapat pendefinisian seperti berikut :  VariabelVariabel pintpint dapat diatur agar menunjuk kedapat diatur agar menunjuk ke vintvint dengan caradengan cara sebagai berikut :sebagai berikut :  Pernyataan diatas berarti : “Pernyataan diatas berarti : “pintpint diisi dengan alamat daridiisi dengan alamat dari vintvint”.”. int vint = 55; int *pint; pint = &vint;
  • 11. Mengisi Variabel PointerMengisi Variabel Pointer //program76.cpp #include <iostream.h> #include <conio.h> void main() { int vint = 55; int *pint; pint = &vint; //pointer menunjuk ke vint cout<<"Alamat vint = "<<&vint<<endl; cout<<"Isi pint = "<<pint<<endl; getch(); }
  • 12. Mengisi Variabel PointerMengisi Variabel Pointer  Pada contoh di depan :Pada contoh di depan :  Baris tersebut ternyata menampilkan isiBaris tersebut ternyata menampilkan isi dari pointer itu sendiri, bukan isi daridari pointer itu sendiri, bukan isi dari variabelvariabel vint.vint. cout<<"pint = "<<pint<<endl;
  • 13. Mengakses Nilai Yang DitunjukMengakses Nilai Yang Ditunjuk PointerPointer  Berdasarkan contoh di depan, nilai dariBerdasarkan contoh di depan, nilai dari vintvint dapatdapat diakses melaluidiakses melalui pintpint setelah pernyataan dibawah inisetelah pernyataan dibawah ini dijalankan.dijalankan.  Cara mengaksesnya adalah dengan melibatkan operatorCara mengaksesnya adalah dengan melibatkan operator “tak langsung” yang berupa simbol * dan diletakkan di“tak langsung” yang berupa simbol * dan diletakkan di depan nama variabel pointer. Contoh :depan nama variabel pointer. Contoh :  Berarti “nilai yang ditunjuk olehBerarti “nilai yang ditunjuk oleh pintpint”.”. pint = &vint; *pint;
  • 14. Mengakses Nilai Yang DitunjukMengakses Nilai Yang Ditunjuk PointerPointer //program77.cpp #include <iostream.h> #include <conio.h> void main() { int vint = 55; int *pint; pint = &vint; //pointer menunjuk ke vint cout<<"Isi vint = "<<vint<<endl; cout<<"Alamat vint = "<<&vint<<endl; cout<<"Isi pint = "<<pint<<endl; cout<<"Nilai yang ditunjuk oleh pint : "<<*pint<<endl; getch(); }
  • 15. Mengakses Nilai Yang DitunjukMengakses Nilai Yang Ditunjuk PointerPointer  Program di depan menunjukkanProgram di depan menunjukkan pengaksesan terhadappengaksesan terhadap vintvint dapatdapat dilakukan melaluidilakukan melalui *pint*pint..  Contoh berikut menunjukkan isiContoh berikut menunjukkan isi vintvint diubah melaluidiubah melalui *pint.*pint.
  • 16. Mengakses Nilai Yang DitunjukMengakses Nilai Yang Ditunjuk PointerPointer //program78.cpp #include <iostream.h> #include <conio.h> void main() { int vint = 55; int *pint; pint = &vint; //pointer menunjuk ke vint cout<<"Isi vint semula = "<<vint<<endl; *pint = 77; cout<<"Isi vint sekarang = "<<vint<<endl; getch(); }
  • 17. Pointer VoidPointer Void  Pada contoh-contoh program di depan telah ditunjukkanPada contoh-contoh program di depan telah ditunjukkan pointer yang menunjuk ke tipe data tertentu.pointer yang menunjuk ke tipe data tertentu.  Sebenarnya juga dimungkinkan untuk membuat pointerSebenarnya juga dimungkinkan untuk membuat pointer tak bertipe.tak bertipe.  Caranya yakni dengan meletakkan kata kunci void diCaranya yakni dengan meletakkan kata kunci void di bagian penentu tipe pointer. Contoh :bagian penentu tipe pointer. Contoh :  Suatu pointer void seperti contoh diatas dapat digunakanSuatu pointer void seperti contoh diatas dapat digunakan untuk menunjuk ke sembarang tipe data.untuk menunjuk ke sembarang tipe data. void *ptr;
  • 18. Pointer VoidPointer Void //program79.cpp #include <iostream.h> #include <conio.h> void main() { int bil1 = 55; float bil2 = 33.45; void *ptr; ptr = &bil1; //bisa menunjuk ke int cout<<"Nilai yang ditunjuk ptr : "<<*(int*)ptr<<endl; ptr = &bil2; //bisa menunjuk ke float cout<<"Nilai yang ditunjuk ptr : "<<*(float*)ptr<<endl; getch(); }
  • 19. Pointer VoidPointer Void  Pada program di depan, bentuk berikut perluPada program di depan, bentuk berikut perlu diberikan :diberikan :  Ini disebabkan C++ tidak tahu maksudIni disebabkan C++ tidak tahu maksud *ptr*ptr mengingatmengingat ptrptr adalah pointer void.adalah pointer void.  Cara ini bukan hanya berlaku jika kitaCara ini bukan hanya berlaku jika kita bermaksud mengambil nilai yang ditunjuk olehbermaksud mengambil nilai yang ditunjuk oleh ptrptr tapi juga ketika kita mengubahnya.tapi juga ketika kita mengubahnya.  Seperti contoh program berikut :Seperti contoh program berikut : *(int*)ptr *(float*)ptr
  • 20. Pointer VoidPointer Void //program80.cpp #include <iostream.h> #include <conio.h> void main() { int bilangan = 55; void *ptr; ptr = &bilangan; cout<<"bilangan semula : "<<bilangan<<endl; *(int*)ptr = 77; //mengubah nilai bilangan melalui ptr cout<<"bilangan sekarang : "<<bilangan<<endl; getch(); }