- Array Statis
Array yang jumlah memory yang sudah dipesan sudah tidak dapat diubah atau “diotak – atik” lagi dan sudah fix sehingga apabila di dalam pemesanan memory ada ruang atau space yang tidak terpakai maka akan dianggap ada sisnya oleh memory.
Contoh:
kamus:
Const
maks_array = …
Type
nama_record = record
< field_1 : tipedata_1,
field_2 : tipedata_2,
….
field_n : tipedata_n >
endrecord
nama_type_array = array [1… maks_array] of nama_recordnama_var_array : nama_type_array - Array Dinamis
Array yang jumlah pemesanan tempat di memory dapat dirubah sesuai dengan kebutuhan sehingga lebih optimal dalam pemanfaatan ruang di memory. Contoh:
private int[] data; // Array untuk menyimpan data
public DynamicArrayOfInt() {
// Konstruktor.
data = new int[1]; // Array akan bertambah besar jika diperlukan
}
public int get(int posisi) {
// Ambil nilai dari posisi tertentu di dalam array.
// Karena semua posisi di dalam array adalah nol, maka
// jika posisi tertentu di luar data array, nilai 0 akan dikembalikan
if (posisi >= data.length)
return 0;
else
return data[posisi];
}
public void put(int posisi, int nilai) {
// Simpan nilai ke posisi yang ditentukan di dalam array
// Data array tersebut akan bertambah besar jika diperlukan
if (posisi >= data.length) {
// Posisi yang ditentukan berada di luar array data
// Besarkan ukuran array 2x lipat. Atau jika ukurannya masih
// terlalu kecil, buat ukurannya sebesar 2*posisi
int ukuranBaru = 2 * data.length;
if (posisi >= ukuranBaru)
ukuranBaru = 2 * posisi;
int[] dataBaru = new int[ukuranBaru];
System.arraycopy(data, 0, dataBaru, 0, data.length);
data = dataBaru;
// Perintah berikut hanya untuk demonstrasi
System.out.println(“Ukuran array dinamis diperbesar menjadi ”
+ ukuranBaru);
}
data[posisi] = nilai;
}
} // akhir kelas ArrayDinamisInt
0 Comment for "Apa itu Array Statis dan Dinamis"