7 pointer
-
Upload
fisma-ananda -
Category
Documents
-
view
98 -
download
0
Transcript of 7 pointer
Slide 1
POINTERALGORITMA DAN DASAR PEMROGRAMAN
KONSEP DASARPointer (variabel penunjuk) adalah suatu variabel yang berisi dengan alamat lokasi suatu memori tertentu.Jadi suatu pointer bukan berisi dengan suatu nilai data, tetapi berisi suatu alamat.
KONSEP DASARMisalnya, X adalah suatu variabel yang berisi nilai J. X bukan variabel penunjuk. Nilai dari X ini oleh kompiler C akan diletakkan di suatu lokasi memori tertentu. Nilai ini dapat diakses jika diketahui alamat memorinya. Alamat dari nilai X ini dapat diketahui dari ungkapan &X. Misalnya alamat dari nilai X ini akan disimpan di suatu variabel, maka dapat dituliskan sebagai Alamat_X = &X. Alamat_X adalah variabel pointer, atau disebut dengan pointer ke X, karena variabel ini menunjukkan ke lokasi di mana nilai X disimpan.
/* -------------------------------------------- Nama Program: ADP_Pointer_1.cpp Larik String --------------------------------------------- */
#include #include
main(){char *Alamat_X, X;
printf("Contoh Program Pointer\n"); printf("______________________\n"); printf("\n");
X = 'J'; Alamat_X = &X; printf("Nilai dari Variabel X, adalah %c berada di alamat %p\n", X,Alamat_X);
printf("\n"); system("pause");}
HASIL EKSEKUSI
OPERATOR POINTERBahasa C menyediakan dua buah operator untuk operasi pointer, yaitu * dan &. Kedua operator ini adalah operator unary.Operator alamat & digunakan untuk mendapatkan alamat memori dari operandnya.Operator * digunakan untuk mendapatkan nilai dari operandnya. Operand untuk operator * adalah variabel pointer, dengan kata lain, operator * digunakan untuk mendapatkan nilai yang berada di alamat memori yang ditunjukkan oleh variabel pointer
/* --------------------------------------------------------- Nama Program: ADP_Pointer_2_Operator.cpp Larik String --------------------------------------------------------- */
#include #include
main(){char *Alamat_X,X,Y,Z;
printf("Contoh Program Operator Pointer\n"); printf("_______________________________\n"); printf("\n");
X = 'J'; Alamat_X = &X; Y = X; Z = *Alamat_X; printf("Nilai Variabel X adalah %c\n", X); printf("Nilai Variabel Y adalah %c\n", Y); printf("Nilai Variabel Z adalah %c\n", Z); printf("Nilai Variabel X berada di alamat %p\n", Alamat_X);
printf("\n"); system("pause");}
HASIL EKSEKUSI
DEKLARASI POINTERVariabel pointer dideklarasikan dengan nama variabelnya ditulis dengan diawali karakter asterik *.Bentuk umum deklarasi variabel pointer ini adalah:tipe *nama-variabel-pointer;Variabel pointer yang dideklarasikan dapat juga langsung diberi nilai awal.
/* ----------------------------------------- Nama Program: ADP_Pointer_3_Deklarasi.cpp Larik String ----------------------------------------- */
#include #include
main(){float Nilai, *Alamat=&Nilai;
printf("Contoh Program Deklarasi Pointer\n"); printf("________________________________\n"); printf("\n");
Nilai = 100.00;
printf("Nilai %8.2f berada di alamat memori %p\n", Nilai, Alamat);
printf("\n"); system("pause");}
HASIL EKSEKUSI
OPERASI POINTERTerdiri dari 1. Operasi Pengerjaan2. Operasi Aritmatika3. Operasi Logika
OPERASI PENGERJAANSuatu variabel pointer dapat dikerjakan ke variabel pointer lainnya, yaitu nilai suatu variabel pointer dapat dipindahkan ke variabel pointer yang lainnya.
OPERASI PENGERJAAN/* --------------------------------------------------------------------------- Nama Program: ADP_Pointer_4_Operasi_Pengerjaan.cpp Operasi Pengerjaan Pointer --------------------------------------------------------------------------- */
#include #include
main(){float Y, *X1, *X2;
printf("Contoh Program Operasi Pengerjaan Pointer\n"); printf("_________________________________________\n"); printf("\n");
Y = 150,97; X1 = &Y; X2 = X1; //Pengerjaan variabel pointer
printf("Nilai variabel Y ada di alamat %p\n", X1); printf("Nilai variabel Y ada di alamat %p\n", X2);
printf("\n"); system("pause");}
HASIL EKSEKUSI
OPERASI ARITMATIKAVariabel pointer dapat dilakukan operasi aritmatika, namun hanya untuk operasi penambahan dan pengurangan, sedangkan operasi yang lain seperti perkalian, pembagian, dan pemangkatan jarang dilakukan, karena kurang berguna untuk variabel pointer ini.Penambahan dan pengurangan yang dapat dilakukan untuk variabel pointer ini hanya dengan suatu nilai integer saja, sedangkan nilai yang lain tidak dapat dilakukan.
OPERASI ARITMATIKAProgram berikut ini akan menampilkan 10 buah data yang masing-masing mempunyai alamat yang berbeda-beda.
/* ------------------------------------------------------------------------- Nama Program: ADP_Pointer_5_Operasi_Aritmatika.cpp Operasi Aritmatika Pointer -------------------------------------------------------------------------- */
#include #include
main(){int I[10], *I_pointer; double F[10], *F_pointer; int x;
printf("Contoh Program Operasi Aritmatika Pointer\n"); printf("________________________________________\n"); printf("\n");
I_pointer = I; F_pointer = F;
for(x=0;x