Sunday, July 1, 2018

Algoritma Dan Pemrograman 2 (POINTER)

Hy guys, hari ini gue mau share tentang materi Algoritma dan pemrograman 2 nih, karna besok udah deadline cuy, nah artikel ini juga gue bikin buat syarat gue dapet nilai UAS, sebelumnya gue belum pernah post apa apa loh gengs, jadi buat pertama kalinya gue coba post yang berfaedah lah yeee, jadi di blog ini gue mau ngasih tau apasih itu Pointer. tapi cuma inti-intinya aja ya, nah langsung aja nih. Sebelumnya gue mau ngasih tau dulu definisi dari algoritma itu apasih ka, karna mungin ada yg belum tau kan, nah jadi Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis dan logis. Kata logis merupakan kata kunci dalam algoritma, langkah-langkah dalam algoritma harus logis dan harus dapat ditentukan bernilai salah atau benar. Dalam beberapa konteks, algoritma adalah spesifikasi urutan langkah untuk melakukan pekerjaan tertentu. Nah itu dia sebagian definisi dari algoritma, nah lanjut lagi yah, jadi di algoritma itu kita belajar yang namanya Pointer.
Dalam pemrograman C++ Pointer adalah variable yang berisi alamat memori dari suatu variable yang
berisi suatu nilai tertentu, atau lebih gampangnya pointer adalah suatu variabel yang di deklarasikan untuk menyimpan alamat memori. 

Operator Pointer :

A. Operator Deference (&)
     Operator ini biasanya disebut dengan address of atau operator alamat.

     Contoh Program :
     int P = 75;
     cout<< &P;

      jika source code diatas dimasukkan kedalam program, kira-kira outputnya seperti apa?

B. Operator Reference (*)
     Operator ini biasanya disebut value pointed by. Dengan menggunakan operator ini, kita dapat              mengakses secara langsung nilai yang terdapat pada suatu alamat memori.
      Contoh Program :
      int P = 75;
      cout<< *&P;

      jika source code diatas dimasukkan kedalam program, kira-kira outputnya seperti apa?

Pendeklarasian Pointer :
pointer
Contoh Program Pointer

POINTER PADA POINTER

Tidak terbatas menunjuk alamat dari suatu variabel, pointer dapat pula menunjuk ke pointer lainnya. Dalam pendeklarasiannya, kita tambahkan pointer reference (*) pada variabel yang akan ditunjuk.

Contoh:
int x; 
int *px; //pointer ke variabel int 
**ppx; //pointer pada pointer 

x = 100; 
px = &nama;
ppx = &pNama;

Contoh Program:
#include <iostream.h> 
#include <conio.h>

void main() { 
int x; 
int *px; //pointer ke variabel 
int **ppx; //pointer ke pointer 

x = 175; 
px = &x; 
ppx = &px;
cout << "Nilai x = " << x << endl; 
cout << "Nilai px = " << *px << endl; 
cout << "Nilai ppx = " << **ppx << endl; 

getch(); 
}


POINTER PADA ARRAY

Pada Array/Larik, pointer hanya perlu menunjukan alamat elemen pertama saja karena alamat array dalam memori sudah disusun secara berurutan.

Contoh:
int a[] = {76, 67, 88, 98}; 
int *pa; 
pa = a;

Pernyataan pa=a artinya pointer pa menyimpan alamat array a, yang alamatnya diwakili alamat elemen pertama, yaitu a[0]. Kita juga bisa mengganti perintah pa=a dengan pa=&a[0]. Untuk pembacaan semua elemen array dengan pointer, bisa menggunakan perulangan seperti pada penggalan program berikut.
for (int i=0; i < 4; i++) { 
cout << *pa << " "; 
pa++; 
}

Contoh Program:
#include <iostream.h> 
#include <conio.h> 
#define MAX 5 

void main() { 
int a[MAX]; 
int *pa; pa = a; //atau pa = &a[0]

for (int i = 0; i < MAX; i++) { 
cout << "Masukkan Nilai " << i+1 << " : "; 
cin >> a[i]; 
} 

cout << endl; 

for (int i = 0; i < MAX; i++) { 
cout << "Nilai a[" << i << "] = " << *pa << endl;
pa++; 
} 

getch(); 
}


POINTER PADA STRING

Pointer pada string dapat anda lihat pada contoh program berikut:
#include <iostream.h>
#include <conio.h> 
#define MAX 5 

void main() { 
char nama[] = "Albert Einstein"; 
char *pNama = nama;

cout << "Nama = " << nama << endl; 
cout << "pNama = " << pNama << endl; 
pNama += 7; cout << "\nSetelah pNama += 7" << endl; 
cout << "Nama = " << nama << endl; 
cout << "pNama = " << pNama << endl; 

getch();
}

Output:
Nama = Albert Einstein 
pNama = Albert Einstein 

Setelah pNama += 7 
Nama = Albert Einstein 
pNama = Einstein


Nah itu dia pembahasan kita hari ini, mungkin cuma itu aja yang bisa gue bahas disini, mungkin lain waktu gue bahas yang lainnya  yaa, oiya materi gue itu dapet dari dosen Algoritma gue juga loh temen temen, mih link nya gue cantumin juga di sini ishmuna.com , karna di blognya dia lebih lengkap pembahasannya mengenai materi Algoritma dan yang lainnya guys.