7 pointer

Download 7   pointer

Post on 09-Aug-2015

15 views

Category:

Documents

0 download

Embed Size (px)

TRANSCRIPT

  1. 1. ALGORITMA DAN DASAR PEMROGRAMAN
  2. 2. Pointer (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.
  3. 3. Misalnya, 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.
  4. 4. /* -------------------------------------------- Nama Program: ADP_Pointer_1.cpp Larik String --------------------------------------------- */ #include #include main() { char *Alamat_X, X; printf("Contoh Program Pointern"); printf("______________________n"); printf("n"); X = 'J'; Alamat_X = &X; printf("Nilai dari Variabel X, adalah %c berada di alamat %pn", X,Alamat_X); printf("n"); system("pause"); }
  5. 5. Bahasa 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
  6. 6. /* --------------------------------------------------------- Nama Program: ADP_Pointer_2_Operator.cpp Larik String --------------------------------------------------------- */ #include #include main() { char *Alamat_X,X,Y,Z; printf("Contoh Program Operator Pointern"); printf("_______________________________n"); printf("n"); X = 'J'; Alamat_X = &X; Y = X; Z = *Alamat_X; printf("Nilai Variabel X adalah %cn", X); printf("Nilai Variabel Y adalah %cn", Y); printf("Nilai Variabel Z adalah %cn", Z); printf("Nilai Variabel X berada di alamat %pn", Alamat_X); printf("n"); system("pause"); }
  7. 7. Variabel 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.
  8. 8. /* ----------------------------------------- Nama Program: ADP_Pointer_3_Deklarasi.cpp Larik String ----------------------------------------- */ #include #include main() { float Nilai, *Alamat=&Nilai; printf("Contoh Program Deklarasi Pointern"); printf("________________________________n"); printf("n"); Nilai = 100.00; printf("Nilai %8.2f berada di alamat memori %pn", Nilai, Alamat); printf("n"); system("pause"); }
  9. 9. Terdiri dari 1. Operasi Pengerjaan 2. Operasi Aritmatika 3. Operasi Logika
  10. 10. Suatu variabel pointer dapat dikerjakan ke variabel pointer lainnya, yaitu nilai suatu variabel pointer dapat dipindahkan ke variabel pointer yang lainnya.
  11. 11. /* --------------------------------------------------------------------------- Nama Program: ADP_Pointer_4_Operasi_Pengerjaan.cpp Operasi Pengerjaan Pointer --------------------------------------------------------------------------- */ #include #include main() { float Y, *X1, *X2; printf("Contoh Program Operasi Pengerjaan Pointern"); printf("_________________________________________n"); printf("n"); Y = 150,97; X1 = &Y; X2 = X1; //Pengerjaan variabel pointer printf("Nilai variabel Y ada di alamat %pn", X1); printf("Nilai variabel Y ada di alamat %pn", X2); printf("n"); system("pause"); }
  12. 12. Variabel 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.
  13. 13. Program berikut ini akan menampilkan 10 buah data yang masing-masing mempunyai alamat yang berbeda-beda.
  14. 14. /* ------------------------------------------------------------------------- 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 Pointern"); printf("________________________________________n"); printf("n"); I_pointer = I; F_pointer = F; for(x=0;x