google.com, pub-4169750801100201, DIRECT, f08c47fec0942fa0
Pemrograman C++ Variable Pointer Lengkap | MUDA MUDI CONDROWANGSAN

Pemrograman C++ Variable Pointer Lengkap


BAB II
POINTER




Pemrograman C++ Variable Pointer Lengkap



PENYUSUN :
Zakaria Annas
(123090182)
Plug : 6



Asisten Dosen : Henry Tri P.
Co.Asisten : Agus Gunawan




JURUSAN TEKNIK INFORMATIKA
FAKULTAS TEKNOLOGI INDUSTRI
UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN” YOGYAKARTA
2010


DASAR TEORI

pointer adalah built-in type di C dan C++, dimana C++ mengambil konsep pointer dari C. Pointer sebenarnya sangat terkait dengan "Abstract C Machine", yaitu model mesin abstrak dimana program C bekerja. Abstract C Machine adalah mesin abstrak dimana mesin tersebut memiliki prosesor untuk menginterpretasikan stream of instruction, dan addressable memory yang terbagi kedalam 3 bagian : automatic memory, static memory dan free memory. Addressable memory adalah memory yang konten-nya dapat diambil jika diketahui alamatnya. Lebih jauh lagi, terdapat asumsi bahwa konten memori dapat di ambil dengan waktu konstan, tidak peduli berapa nilai alamat.Hal ini disebut dengan random cces memori
Jika variabel merupakan isi memori, dan untuk mengakses isi memori tersebut diperlukan address, lalu bagaimana cara kita mengetahui alamat dari suatu variabel ? Jawabannya adalah : untuk kebanyakan kasus kita sama sekali tidak perlu tahu alamat dari sebuah variabel. Untuk mengakses sebuah variabel kita hanya perlu nama dari variabel tersebut. Tugas kompiler lah yang mentranslasikan nama ke alamat mesin yang diperlukan

     Akan tetapi terdapat beberapa kasus dimana kita tidak mungkin memberi nama pada sebuah entitas di program kita. Hal ini terjadi terutama saat kita menggunakan data struktur dinamis seperti linked list, resizeable array, tree dan lain sebagainya. Hal ini karena kita tidak mungkin memberi nama terhadap entitas yang mungkin ada atau tidak ada. Struktur seperti linked list hampir mustahil dibuat tanpa pointer tanpa harus mendefinisikan
 list
     Inilah awal mula penggunaan pointer sebagai moniker. Istilah moniker di sini berarti sesuatu yang menunjuk atau mengacu kepada entitas lain. Istilah moniker ini bukanlah istilah standard dan lazim , tetapi sesuatu yang saya pilih impromptu untuk membedakan dengan pointer atau reference yang sudah memiliki arti tersendiri.

    Penggunaan lain pointer sebagai moniker adalah untuk mengatasi kelemahan bahasa C awal : Dahulu fungsi - fungsi di C hanya mengerti pass by value. Pointer digunakan untuk mengemulasi pass by reference karena pointer berisi alamat ke objek lain, sehingga fungsi tersebut dapat mengubah objek tersebut dengan memanipulasi pointer.









PEMBAHASAN

#include <iostream>
using namespace std;
using std::endl;
int main()
{
int x,y;
int *px;
x=87;
px=&x;
y=*px;
cout << "Alamat x = " << &x << endl;
cout << "Isi px   = " << px << endl;
cout << "Isi x    = " << x << endl;
cout << "Nilai yang ditunjuk oleh px = " << *px << endl;
cout << "Nilai y  = " << y << endl;
}

Output :
 












Penjelasan :
Program pointer dengan variable x ,y dan *px dengan type integer. Int *px merupakan pointer yang menunjukan objek. Alamat berisi alamat dari &x
Isi px berisi alamat dari px
Isi x berisi nilai dari x
Nilai yg ditunjuk oleh px berisi nilai dari *px yang berasal dari nilai x
Nilai y berisi nilai dari *px  








#include <iostream>
#include <malloc.h>

using namespace std;
using std::endl;

int main()
{
int *p, *q, *r;
int n=10;
p=(int *)malloc(sizeof(int));
q=(int *)malloc(sizeof(int));
p=&n;
*q=120;
r=p;
cout << "Isi info pointer \n";
cout << "*p   = " << *p << endl;
cout << "*q   = " << *q << endl;
cout << "*r   = " << *r << endl;
cout << "\nalamat register pointer : \n";
cout << "p   = " << p << endl;
cout << "q   = " << q << endl;
cout << "r   = " << r << endl;
n=*q;
p=q;
cout << "\nkondisi akhir isi info pointer :\n";
cout << "n    = " << n  << endl;
cout << "*p   = " << *p << endl;
cout << "*q   = " << *q << endl;
cout << "*r   = " << *r << endl;
}
Output :
                                                                  Penjelasan :
Program pointer dengan  variable
*p, *q, *r dan variable n yang
bernilai 10. Malloc berfungsi
untuk mendeklarasikan sebuah
pointer kosong pada memori.










#include <iostream>
using std::cout;

int main()
{
int a = 100, b = 200, *pa,*pb;
pa
 = &a;
pb = &b;
if (pa < pb)
cout << "pa menunjuk ke memori lebih rendah dari pb\n";
if (pa == pb)
cout << "pa menunjuk ke memori yang sama dengan dari pb\n";
if (pa > pb)
cout << "pa menunjuk ke memori lebih tinggi dari pb\n";
}
Output :











Penjelasan :
Program pointer dengan variable a bernilai 100, b bernilai 200, *pa, *pb.
Pa = &a -> menuju ke alamat a
Pb = &b -> menuju ke alamat b
Dengan system perulangan untuk mencari memori yang besar, sama besar, atau kecil















#include <iostream>
using namespace std;
int main ()
{
int nilai [3], *penunjuk;
nilai [0] = 125;
nilai [1] = 345;
nilai [2] = 750;
penunjuk = &nilai [0];
cout << "Nilai " << *penunjuk << "ada di alamat memori "<< penunjuk << endl;
cout << "Nilai " << *(penunjuk+1) << "ada di alamat memori "<< penunjuk+1 << endl;
cout << "Nilai " << *(penunjuk+2) << "ada di alamat memori "<< penunjuk+2 << endl;
}
Output :
Penjelasan :
Program pointer dengan array yang memiliki variable nilai [3] dan *penunjuk. Masing-masing nilai memiliki nilai sendiri.
Penunjuk = &nilai [0] -> menuju ke alamat masing-masing nilai
*penunjuk = &nilai [0] -> menuju isi dari nilai
Penunjuk+1 -> menuju alamat nilai 1 dari alamat nilai o tambah 1
*penunjuk+1 -> menuju isi nilai 1 dari isi nilai nilai 0 tyambah 1 













KESIMPULAN


Pointer banyak dilibatkan dalam pemrograman c++ misal untuk melewatkan string suatu fungsi ke fungsi yang lain. Pointer cara untuk mengubah nilai suatu variable yang dilewatkan ke dalam suatu fungsi. Penerapan pointer yang paling umum untuk menciptakan variable dinamis yang memungkinkan memori bebas selama eksekusi program. Variable dapat disebut juga sebagai variable yang menunjukan obyek lain karena variable pointer atau pointer adalah variable yangh berisi alamat dari suatu objek lain

0 Response to "Pemrograman C++ Variable Pointer Lengkap"

Post a Comment