Tutorial Pointer dengan bahasa pemograman C (By.SeptianFs)

19:09 Pemrograman Web 1 Comments

ALGORITMA POINTER DENGAN DEV C++



Source Code

#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
    int p1 = 50;
    int p2 = 234;
       
    int    * px1 = &p1,
            * px2 = &p2;
           
    cout << "\n\tValue of Pointer 1 : " << p1 << endl;
    cout << "\n\tAddress Pointer 1 : " << px1 << endl;
    cout << "\n\n\tValue of Pointer 2 : " << p2 << endl;
    cout << "\n\tAddress of Pointer 2 : " << px2 << endl;
   
    int TEMP = *px1;
     
    cout << "\n\n\tValue of TEMP : " << *px1 << endl;

    int * TEMPx = &*px1;
   
    cout << "\n\tAddress of TEMP : " << TEMPx << endl;
   
    int p3;
   
    p3 = p1+p2;
   
    int * px3 = &p3;
   
    cout << "\n\n\tValue of Pointer 3 : " << p3 << endl;
    cout << "\n\tAddress of Pointer 3 : " << px3 << endl;
   
    system("PAUSE");
    return EXIT_SUCCESS;
}




Analisis Source Code

#include <cstdlib>

#include <iostream>

File header yang Digunakan untuk menampilkan perintah seperti “cout dan endl”

using namespace std;

Untuk memberitahukan kompiler bahwa akan menggunakan semua fungsi,class atau file yang terdapat pada memory namespace std.

int main(int argc, char *argv[])
{
system("PAUSE");
return 0;
}

Pada fungsi main diatas, keluaran fungsi berupa integer (int), nama fungsi main, parameter 1 bertipe integer dan parameter 2 bertipe char.
Instruksi return akan mengembalikan keluaran fungsi ini, keluaran fungsi ini adalah 0.

int p1 = 50;
int p2 = 234;
       
int * px1 = &p1,
     * px2 = &p2;

Parameter fungsi diinisialisasikan sebagai pointer p1 dan p2, sedangkan pointer *px1 dan *px2 adalah perubahan ari nilai pointer p1 dan p2.

    cout << "\n\tValue of Pointer 1 : " << p1 << endl;
    cout << "\n\n\tValue of Pointer 2 : " << p2 << endl;

Menampilkan isi data yang ditunjuk oleh pointer yang berupa nilai p1 dan p2.

    cout << "\n\tAddress Pointer 1 : " << px1 << endl;
    cout << "\n\tAddress of Pointer 2 : " << px2 << endl;

px1 dan px2 Menampikan isi data yang ditunjuk oleh pointer yang berupa address atau alamat pada pointer p1 dan p2.

int TEMP = *px1;
int * TEMPx = &*px1;

Parameter fungsi ini diinisialisasikan sebagai pointer TEMP, isi data dari pointer TEMP ini menggambil nilai dari pointer *px1, danparameter TEMPx menggambil address atau alamat pada pointer *px1.

cout << "\n\n\tValue of TEMP : " << *px1 << endl;
cout << "\n\tAddress of TEMP : " << TEMPx << endl;

*px1 Menampilkan isi data yang ditunjuk oleh pointer yang berupa niai TEMP,
TEMPx Menampikan isi data yang ditunjuk oleh pointer yang berupa address atau alamat pada pointer TEMP .

    int p3;
    p3 = p1+p2;
   
Pointer p3 yang berupa integer, dan menggambil nilai dari hasil penjumlahan antara pointer p1 dan pointer p2.

    int * px3 = &p3;

Perintah bahwa * px3 menggambil nilai dari p3 dan berupa address atau alamat nilai.

cout << "\n\n\tValue of Pointer 3 : " << p3 << endl;

Untuk menampilkan isi data yang ditunjuk oleh pointer yang berupa nilai dari p3.

cout << "\n\tAddress of Pointer 3 : " << px3 << endl;

Fungsi untuk menampilkan isi data yang ditunjukan oleh pointer px3 yang berupa address dari p3.

Output

        Value of Pointer 1 : 50
        Address Pointer 1 : 0x22ff44
        Value of Pointer 2 : 234
        Address of Pointer 2 : 0x22ff40
        Value of TEMP : 50
        Address of TEMP : 0x22ff44
        Value of Pointer 3 : 284
        Address of Pointer 3 : 0x22ff2c

Press any key to continue . . .



Source code bisa dilihat di github: 
Klik Link ini

By.Septian Firmansyah

1 komentar: