Kamis, 19 Juli 2012

Array dan Pointer




Array adalah organisasi kumpulan data homogen yang ukuran atau jumlah elemen maksimumnya telah diketahui dari awal. Array umumnya disimpan di memori komputersecara kontigu (berurutan). Deklarasi dari array adalah sebagai berikut: int A[5]; artinya variabel A adalah kumpulan data sebanyak 5 bilangan bertipe integer.
Operasi terhadap elemen di array dilakukan dengan pengaksesan langsung.Nilai di masing-masing posisi elemen dapat diambil dan nilai dapat disimpan tanpa melewati posisi-posisi lain. Terdapat dua tipe operasi, yaitu:
1. Operasi terhadap satu elemen/posisi dari array
2. Operasi terhadap array sebagai keseluruhan

Dua operasi paling dasar terhadap satu elemen/posisi adalah
1. Penyimpanan nilai elemen ke posisi tertentu di array
2. Pengambilan nilai elemen dari posisi tertentu di array
Keunggulan array adalah sebagai berikut:
1. Array sangat cocok untuk pengaksesan acak. Sembarang elemen di array dapat diacu secara langsung tanpa melalui elemen-elemen lain.
2. Jika berada di suatu lokasi elemen, maka sangat mudah menelusuri ke elemenelemen tetangga, baik elemen pendahulu atau elemen penerus.
Kelemahan array adalah sebagai berikut:
Array mempunyai fleksibilitas rendah, karena array mempunyai batasan sebagai berikut:
1. Array harus bertipe homogen. Kita tidak dapat mempunyai array dimana satu elemen
adalah karakter, elemen lain bilangan, dan elemen lain adalah tipe-tipe lain
2. Kebanyakan bahasa pemrograman mengimplementasikan array statik yang sulit
diubah ukurannya di waktu eksekusi. Bila penambahan dan pengurangan terjadi
terus-menerus, maka representasi statis
• Tidak efisien dalam penggunaan memori
• Menyiakan banyak waktu komputasi
• Pada suatu aplikasi, representasi statis tidak dimungkinkan
Contoh Program Array :
#include<constream.h>
void main()
{
 int n;
 int array[10];
 clrscr();

 cout<<"input data array : "<<endl;
 for (n=0; n<10; n++)
 {
 cout<<"elemen ke "<<n+1<<":"; cin>>array[n];
 }
 cout<<endl;
 cout<<"tampil data array : "<<endl;
 for (n=0; n<10; n++)
 {
 cout<<"elemen ke "<<n+1<<":"<<array[n]<<endl;
 }
 getch();
}

Hasil dari program tersebut adalah variable array menampung 5 kumpulan variable bertipe integer dan hasilnya seperti gambar dibawah.



Pointer
Pointer adalah suatu variabel penunjuk, berisi nilai
yang menunjuk alamat suatu lokasi memori tertentu. Jadi pointer tidak berisi nilai data, melainkan berisi suatu alamat memori atau null jika tidak berisi data. Pointer yang tidak diinisialisasi disebut dangling pointer. Lokasi memori tersebut bisa diwakili sebuah variabel atau dapat juga berupa nilai alamat memori secara langsung.
Misalnya kita ingin membuat beberapa penunjuk ke blok penyimpan yang berisi
integer. Deklarasi pada C adalah:
int *IntegerPointer ;
Tanda asterik (*) yang berada sebelum nama variable IntegerPointer menandakan
‘pointer pada suatu int’. Jadi deklarasi diatas berarti ‘definisikan sebuah tipe yang terdiri
dari pointer bertipe integer yang bernama IntegerPointer’.
Apabila didepannya ditambahkan typedef sebagai berikut
Typedef int *IntegerPointer ;
Berarti IntegerPointer merupakan suatu tipe pointer berbentuk integer.
Apabila akan mendeklarasikan dua variable A dan B sebagai penunjuk ke bilangan
integer :
IntegerPointer A, B ;
Berarti kompiler C akan berisi nilai dari variable A dan B yang ‘menunjuk ke integer’.
Contoh program Luas Persegi menggunakan Pointer :
#include<iostream.h>
#include<conio.h>
void main()
{
   clrscr();
   int L,x,y,*p;
   p=&x;
   cout<<"Panjang : ";
   cin>>*p;
   p=&y;
   cout<<"Lebar   : ";
   cin>>*p;
   L=x*y;
   cout<<"Luasnya : "<<L;
   getch();
}
Hasilnya






1 komentar:

  1. Borgata Hotel Casino & Spa - Dr.MCD
    The Borgata Hotel 의정부 출장마사지 Casino & 경기도 출장안마 Spa is a luxurious 남원 출장안마 hotel 나비효과 and casino resort located on the outskirts of Boston. The Borgata offers one of the 김해 출장마사지 most luxurious

    BalasHapus