PERTEMUAN
10 POINTER & MACRO
Pengertian 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
C++:
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.
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
referensi
//-------------------------------//
//Penggunaan Pointer Dereference //
//-------------------------------//
#include<stdio.h>
#include<conio.h>
#include<iostream.h>
main( )
{
int ilham, amir, *raka;
ilham = 75;
amir = ilham;
raka = &ilham;
cout<<"Nilai ILHAM =
"<<ilham<<endl;
cout<<"Nilai AMIR =
"<<amir<<endl;
cout<<"Nilai RAKA =
"<<raka<<endl;
getch();
}
|
Output
Penggunaan Pointer Dereference
//-----------------------------//
//Penggunaan Pointer
Reference //
//-----------------------------//
#include<stdio.h>
#include<conio.h>
#include<iostream.h>
main( )
{
int ilham, *raka,
rafli;
ilham = 75;
raka = &ilham;
rafli = *raka;
cout<<"Nilai ILHAM = "<<ilham<<endl;
cout<<"Nilai RAKA = "<<raka<<endl;
cout<<"Nilai
RAFLI = "<<rafli<<endl;
getch( );
}
|
Output
Penggunaan Pointer Reference
Pada program
diatas, terdapat perubahan nilai pointer band_punk , yang di tunjukkan oleh
penambahan nilai pointer pada band_punk+=3, secara default, pembacaan dilakukan
mulai dari pointer pertama, karena sudah terjadi penambahan dengan 3, maka
pembacaan berpindah ke alamat ke.4, sehingga tercetak kata CID.
Macro
• Preprocessor
Directives
Preprocessor directive merupakan suatu perintah yang
termasuk kedalam program, tetapi bukanlah instruksi dari program itu sendiri, tetapi untuk
preprocessor
– #define
– #include
– #if #endif
– #if #else
#endif
– #elif
– #undef
– #ifdef
#ifndef
Penggunaan
Macro
/*
----------------------------------- */
/* Program Penggunaan
#define1 */
/*
------------------------------------ */
#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( );
}
|
/*
----------------------------------- */
/* Program Penggunaan
#define2 */
/*
----------------------------------- */
#include<stdio.h>
#include<conio.h>
#include<iostream.h>
#define awal {
#define akhir }
#define mulai() main()
#define cetak cout
#define masuk cin
#define hapus()
clrscr()
#define tahan()
getch()
#define LS_KUBUS
(sisi*sisi)
|
mulai( )
awal
int sisi, ls_kubus;
hapus( );
cetak<<"Program
Penggunaan #define"<<endl;
cetak<<"Masukkan
Nilai Sisi Kubus = ";
masuk>>sisi;
ls_kubus = LS_KUBUS;
cetak<<"Luas
Kubus adalah : "<<ls_kubus;
tahan( );
akhir
|
Output
Penggunaan #define2
/***********************
Penggunaan #if -
#endif
***********************/
#include
<conio.h>
#include
<stdio.h>
#define N 4
main( )
{
#if N > 0
printf("Lebih Besar dari Nol");
#endif
getch( );
}
|
Output
Penggunaan Penggunaan #if - #endif
/******************************
Penggunaan #if - #else
- #endif
******************************/
#define N -4
main( )
{
#if N > 0
printf("Lebih
Besar dari Nol");
#else
printf("Lebih
Kecil dari Nol");
#endif
}
|
Output
Penggunaan #if - #else - #endif
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
Tugas
Pertemuan 10
1. Buatlah program menghitung pangkat dua serta pangkat tiga dari sebuah
bilangan bulat dengan makro. Sebagai input adalah bilangan itu sendiri,
sedangkan sebagai output adalah pangkat dua serta pangkat tiga dari bilangan
bulat tersebut.
2. Buatlah program menghitung luas dan keliling lingkaran. Proses berada didalam file header, nama file header yang diinginkan : lingkaran.h
Tampilan Yang Diinginkan:
Masukkan Nilai Jari-jari : ... <di-input>
Luas Lingkaran : ... < hasil proses >
Keliling Lingkaran : ... < hasil proses >
2. Buatlah program menghitung luas dan keliling lingkaran. Proses berada didalam file header, nama file header yang diinginkan : lingkaran.h
Tampilan Yang Diinginkan:
Masukkan Nilai Jari-jari : ... <di-input>
Luas Lingkaran : ... < hasil proses >
Keliling Lingkaran : ... < hasil proses >
3. Buatlah
program menghitung nilai akhir perkuliahan pada suatu matakuliah, dengan ketentuan sebagai berikut:
• Nilai Absensi * 10 %
• Nilai Tugas * 20 %
• Nilai U.T.S * 30 %
• Nilai U.A.S * 40 %
Untuk proses penilaian dilakukan didalam file header dan simpan nama file header tersebut hitnilai.h.
• Nilai Absensi * 10 %
• Nilai Tugas * 20 %
• Nilai U.T.S * 30 %
• Nilai U.A.S * 40 %
Untuk proses penilaian dilakukan didalam file header dan simpan nama file header tersebut hitnilai.h.
Tampilan yang diinginkan dari soal no.3:
Program Hitung Nilai Akhir Mata Kuliah
Masukkan Nilai Absensi : ……<di-input>
Masukkan Nilai Tugas : ……<di-input>
Masukkan Nilai U.T.S : ……<di-input>
Masukkan Nilai U.A.S : ……<di-input>
Nilai Murni Absensi = <data-inputan> * 10% = <hasil-proses>
Nilai Murni Tugas = <data-inputan> * 20% = <hasil-proses>
Nilai Murni U.T.S = <data-inputan> * 30% = <hasil-proses>
Nilai Murni U.A.S = <data-inputan> * 40% = <hasil-proses>
Nilai Akhir yang diperoleh sebesar : ….. <hasil-proses
Program Hitung Nilai Akhir Mata Kuliah
Masukkan Nilai Absensi : ……<di-input>
Masukkan Nilai Tugas : ……<di-input>
Masukkan Nilai U.T.S : ……<di-input>
Masukkan Nilai U.A.S : ……<di-input>
Nilai Murni Absensi = <data-inputan> * 10% = <hasil-proses>
Nilai Murni Tugas = <data-inputan> * 20% = <hasil-proses>
Nilai Murni U.T.S = <data-inputan> * 30% = <hasil-proses>
Nilai Murni U.A.S = <data-inputan> * 40% = <hasil-proses>
Nilai Akhir yang diperoleh sebesar : ….. <hasil-proses
Tidak ada komentar:
Posting Komentar