Senin, 12 Desember 2016

Pointer & Macro

Pointer & Macro

Merupakan sebuah variabel yang berisi alamat dari variabel lain. Suatu pointer dimaksudkan untuk menunjukan ke suatu alamat memori sehingga alamat dari suatu variabel dapat diketahui dengan mudah

Operator Pointer

1. Operator dereference ( & )

2. Operator reference ( * )

  • Operator dereference ( & )


Operator ini biasa disebut dengan “address of” atau operator alamat. Dengan menggunakan operator dereference(&) ini, suatu variabel akan menghasilkan alamat lokasi memori.
Untuk lebih jelasnya lihat gambar berikut

Contoh Program Operator Dereference 

Input :
/*Penggunaan pointer Dereferende*/

#include <iostream>
#include <conio>

main()
{
int ilham,*raka,amir;
ilham=75;
raka=&ilham; /*Nilai variabel raka adalah merupakan alamat memori dari nilai ilham*/

amir=ilham;
cout<<"Nilai ilham adalah  "<<ilham<<endl;
cout<<"Nilai raka adalah   "<<raka<<endl;
cout<<"Nilai Amir adalah   "<<amir<<endl;
getch();
}

Tampilan





  • Operator reference ( * )

Operator ini biasa disebut dengan “value pointed by”. Dengan menggunakan operator reference (*) ini, menghasilkan nilai yang berada pada suatu alamat memori.
Untuk lebih jelasnya lihat gambar berikut.


Contoh Program Operator Reference :

Input :

/*Penggunaan pointer reference*/

#include <iostream>
#include <conio>

main()
{
int ilham,*raka,rafli;
ilham=75;
raka=&ilham; /*Nilai variabel raka adalah merupakan alamat memori dari nilai ilham*/
rafli=*raka;
cout<<"Nilai ilham adalah  "<<ilham<<endl;
cout<<"Nilai raka adalah   "<<raka<<endl;
cout<<"Nilai Rafli adalah   "<<rafli<<endl;
getch();
}

Tampilan 

  • Penggunaan Pointer


Dapat digunakan untuk mendeklarasikan variabel bertipe data string tanpa harus dideklarasikan batasan karakternya.

Dapat digunakan dalam penggunaan  FUNGSI  yaitu saat pemanggilan secara nilai dan refernsi.


Contoh Program dengan Pointer

 Input : // -----------------------------//
//Penggunaan Pointer to Pointer //
//------------------------------//
#include<stdio.h>
#include<conio.h>
#include<iostream.h>
main()
{
int ilham;
int *raka; //pointer ke variabel
int **amir; //pointer pada pointer
clrscr( );
ilham = 75;
cout<<"Nilai ILHAM = "<<ilham<<endl;
//-> Penugasan Ke Alamat Memori
raka = &ilham;
amir = &raka;
cout<<"Nilai RAKA Hasil Mengakses ILHAM = ";
cout<<*raka<<endl;
cout<<"Nilai AMIR Hasil Mengakses ILHAM = ";
cout<<**amir<<endl;
getch( );
}

Tampilan 



Macro Dan File Header

Didalam penyusunan suatu makro ada beberapa hal yang perlu dipelajari adalah:





  • Preprocessor Directives

       Preprocessor directive merupakan suatu perintah yang termasuk kedalam program, tetapi bukanlah instruksi dari program itu sendiri, tetapi untuk preprocessor. Preprocessor ini dijalankan secara otomatis oleh kompiler, ketika didalam proses penterjemahan (Compile) program berlangsung, didalamnya membuat nilai pembuktian pertama dan menterjemahkan code program didalam kode objek. Didalam penggunaan preprocessor directive selalu dimulai dengan tanda : #

Ada beberapa preprocessor directive, diantaranya adalah:

# define

       Digunakan untuk mendefinisikan suatu nilai tertentu kepada suatu nama konstanta. Bentuk umum dari preprocessor directive #define ini adalah:
 #define nama_konstanta teks

    Dalam pendeklarasian preprocessor directive #define, Nama_Konstanta sebaiknya ditulis dengan menggunakan huruf besar, guna untuk membedakannya dengan nama_variabel. Sedangkan Teks merupakan suatu nilai yang diberikan pada nama_konstanta. Teks dapat berupa:

• Numerik contoh: #define PI 3.14
• Karakter contoh: #define HURUF „B‟
• String contoh: #define JABATAN “INSTRUCTOR”
• Pernyataan contoh: #define CETAK (“Borland C++”)
• Fungsi Sederhana contoh: #define LUAS_KUBUS (n*n)

 Setelah #define ditentukan didalam program cukup dituliskan nama_konstantanya saja. # define akan mengganti semua nama konstanta tadi dengan teksnya sebelum proses kompilasi dimulai.

Contoh Program 

Input

 /* ----------------------------------- */
/* Program Penggunaan #define */
/* ------------------------------------ */
#include<stdio.h>
#include<conio.h>
#include<iostream.h>
#define PI 3.141592
#define L(n) PI*n*n
main( )
{
clrscr();
cout<<"Luas Lingkaran dengan : "<<endl;
cout<<"Jari-jari = 5 adalah "<<L(5)<<endl;
cout<<"Jari-jari = 10 adalah "<<L(10)<<endl;
getche( );
}

Tampilan 



Sumber Referensi Blog kunjungi




Share this

0 Comment to "Pointer & Macro"

Posting Komentar