Selasa, 25 November 2014

POINTER & MACRO (pertemuan 10)

POINTER
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
Terdapat dua macam operator pointer yang disediakan oleh Borland C++:
1. Operator dereference ( & )
2. Operator reference ( * )
1. Operator dereference ( & )
•Operator ini biasa disebut dengan “address of” atau operator alamat. Dengan menggunakan operator dereference(&) ini, suatu variabel akan menghasilkan alamat lokasi memori.
 
2.  Operator reference ( * )
•Operator ini biasa disebut dengan “value pointed by”. Dengan menggunakan operator reference (*) ini, menghasilkan nilai yang berada pada suatu alamat memori

 
 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
// -----------------------------//
//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( );
}
Output yang akan dihasilkan, dari program contoh diatas adalah:
 

                                                             
                                                     Macro Dan File Header
Didalam penyusunan suatu makro ada beberapa hal yang perlu dipelajari adalah:
8.1. 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:
8.1.1. # 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-1
 /* ----------------------------------- */
/* 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( );
}
Output yang akan dihasilkan, dari program contoh-1 diatas adalah:
 

Tidak ada komentar:

Posting Komentar