Pointer Dan Macro pada C++
Pada pembahasan kali ane akan coba
menjelaskan sedikit tentang Pointer yang tentunya masih pada C++. Pointer
sendiri memang ane akuin sedikit agak susah dipahami sih, ane aja harus
baca-baca dari modul dan literature lain dulu baru bisa sedikit agak paham nih
sama yang namanya pointer pada C++. Langsung aja ya gan….Cekidot…!!!.
- Pengertian Pointer
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. Arti pointer dalam bahasa sehari-hari adalah petunjuk atau
bisa di bilang penentu atau pointer secara sederhana bisa diartikan sebagai
tipe data yang nilainya mengarah pada nilai yang terdapat pada sebuah area
memori (alamat memori). Namun dalam bahasa C, Pointer bisa berfungsi sebagai
variabel array berarti pointer sebagai penunjuk elemen array ke-0 dalam
variabel C.
- Fungsi Pointer
Fungsi
Pointer yang utama adalah untuk menyimpan alamat memori dari sebuah variable. Selain
menyimpan alamat dari sebuah variable, Pointer juga berfungsi untuk menyimpan
alamat memori dari sebuah fungsi.
- Macam-macam Pointer
Terdapat dua macam operator pointer
yang disediakan oleh C++, yaitu :
1.
Operator Dereference (&)
Operator ini biasa disebut dengan “address
of” atau operator alamat. Dengan menggunakan operator dereference ini, suatu variable
akan menghasilkan/menampilkan alamat lokasi memori.
Keterangan :
Jika dilihat dari gambar di atas, sudah ditentukan dimana nilai variable dari ILHAM adalah 75, sedangkan nilai variabel AMIR sama dengan nilai variabel ILHAM yaitu 75 (AMIR=ILHAM), dan nilai variabel RAKA sama dengan alamat memori dari nilai variabel ILHAM (RAKA=&ILHAM) karena menggunakan operator dereference yang ditandai dengan tanda (&). Jadi yang output untuk nilai variabel RAKA adalah hanya alamat dari memori nilai variabel ILHAM yaitu 0x0012ff88.
tipe_data *nama_variabel
Contoh
Program menggunakan Pointer Dereference :
/*Penggunaan
Pointer Dereference*/
#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
Iham adalah "<<ilham<<endl;
cout<<"Nilai
Raka adalah "<<raka<<endl;
cout<<"Nilai
Amir adalah "<<amir<<endl;
getch();
}
Operator
Reference atau biasa disebut dengan “value pointed by”. Bedanya dengan Operator
Dereference, operator ini akan menampilkan nilai yang terdapat dalam suatu
alamat memori, bukan menampilkan alamat memorinya.
Ilham=75;
Raka=&Ilham;
Rafli=*Raka;
Keterangan :
Dari gambar di atas
dimana nilai variabel ILHAM (Ilham=75) sudah ditentukan sebelumnya yaitu 75
dengan alamat memori 0x001ff88. Sedangkan nilai variabel RAKA adalah merupakan alamat memori dari nilai variabel ILHAM
(Raka=&Ilham) karena menggunakan operator pointer deference (diawali dengan
tanda “&”) yaitu 0x001ff88 dan untuk nilai variabel RAFLI merupakan nilai yang terdapat dalam alamat memori dari nilai variabel RAKA
(Rafli=*Raka) karena menggunakan operator pointer reference (diawali dengan
tanda “*”) yaitu 75.
/*Penggunaan
Pointer Reference*/
#include<conio>
#include<iostream>
main()
{
int ilham,rafli,*raka;
ilham=75;
raka=&ilham;
rafli=*raka;
cout<<"Nilai Ilham adalah :
"<<ilham<<endl;
cout<<"Nilai Raka adalah : "<<raka<<endl;
cout<<"Nilai Rafli adalah :
"<<rafli<<endl;
getch();
}
Untuk
tampilan Programnya adalah :
Macro
Preprocessor Directives
Adalah 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
Contoh :
Teks
#define A 6
Nama_Konstanta
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 à #define PI 3.14
• Karakter à #define HURUF ‘B’
• String à #define JABATAN “INSTRUCTOR”
• Pernyataan à #define CETAK (“Borland C++”)
• Fungsi Sederhana à #define LUAS_KUBUS (n*n)
Contoh1:
/* ————————– */
/* 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();
}
# include
berfungsi untuk memasukkan atau menyertakan file-file header kedalam program yang akan dibuat. Dalam penulisan #include ada dua bentuk penulisan :
#include “nama_file_header”
atau
#include <nama_file_header>
Pada bentuk penulisan #include mempunyai arti yang berbeda, yaitu :
• #include “nama_file_header”
“Pertama kali compiler akan mencari file header yang disebutkan pada directori yang sedang aktif dan apa bila tidak ditemukan akan mencari pada directori dimana file header tersebut berada “.
• #include <nama_file_header>
“Pertama kali compiler akan mencari file header yang disebutkan pada directori yang ada file headernya, kecuali pada directori yang sedang aktif.
Pembuatan File Header
File Header adalah suatu file dengan akhiran .h . File ini sebenarnya berisikan deklarasi fungsi dan definisi konstanta. Selain file-file header standar yang disediakan oleh C++, kita dapat juga membuat file header sediri, dengan cara yang sama seperti membuat file editor. Yang harus diperhatikan pada saat menyimpan file header yang telah dibuat harus digunakan akhiran .h .
Buatlah program file heder dibawah ini, kemudian simpan dengan nama : atur.h, pada folder kerja anda folder include
Contoh-1
/* atur.h */
#define awal {
#define akhir }
#define mulai() main()
#define cetak cout
#define tampil cprintf
#define masuk cin
#define hapus() clrscr()
#define jika if
#define warna textcolor
#define tahan getche()
Preprocessor Directives
Adalah 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
Contoh :
Teks
#define A 6
Nama_Konstanta
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 à #define PI 3.14
• Karakter à #define HURUF ‘B’
• String à #define JABATAN “INSTRUCTOR”
• Pernyataan à #define CETAK (“Borland C++”)
• Fungsi Sederhana à #define LUAS_KUBUS (n*n)
Contoh1:
/* ————————– */
/* 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();
}
# include
berfungsi untuk memasukkan atau menyertakan file-file header kedalam program yang akan dibuat. Dalam penulisan #include ada dua bentuk penulisan :
#include “nama_file_header”
atau
#include <nama_file_header>
Pada bentuk penulisan #include mempunyai arti yang berbeda, yaitu :
• #include “nama_file_header”
“Pertama kali compiler akan mencari file header yang disebutkan pada directori yang sedang aktif dan apa bila tidak ditemukan akan mencari pada directori dimana file header tersebut berada “.
• #include <nama_file_header>
“Pertama kali compiler akan mencari file header yang disebutkan pada directori yang ada file headernya, kecuali pada directori yang sedang aktif.
Pembuatan File Header
File Header adalah suatu file dengan akhiran .h . File ini sebenarnya berisikan deklarasi fungsi dan definisi konstanta. Selain file-file header standar yang disediakan oleh C++, kita dapat juga membuat file header sediri, dengan cara yang sama seperti membuat file editor. Yang harus diperhatikan pada saat menyimpan file header yang telah dibuat harus digunakan akhiran .h .
Buatlah program file heder dibawah ini, kemudian simpan dengan nama : atur.h, pada folder kerja anda folder include
Contoh-1
/* atur.h */
#define awal {
#define akhir }
#define mulai() main()
#define cetak cout
#define tampil cprintf
#define masuk cin
#define hapus() clrscr()
#define jika if
#define warna textcolor
#define tahan getche()










0 komentar:
Posting Komentar