Thursday, September 2, 2010

Membuat Array yang Baik

Pada bahasa C, deklarasi array bisa dilakukan tanpa memberikan batas ukuran. Meskipun kita memberikan batas ukuran, apabila pengisian elemen array melebihi batas pun array akan secara otomatis memperlebar ukurannya. Perhatikan contoh beberapa deklarasi array berikut:

1. int data[]={5,9,7,6,4};
2. int data[5]={5,9,7,6,4};
3. int data[100]={5,9,7,6,4};

Dari ketiga contoh di atas, deklarasi array yang paling baik adalah deklarasi yang ketiga. Pada deklarasi pertama dan kedua batas array akan secara otomatis mengikuti jumlah elemen yang dimasukan ketika program berjalan.

Pengisian elemen array adalah dengan memasukan nilai ke alamat-alamat memory secara berurutan. Pada deklarasi pertama, program secara otomatis memesan tempat pada memory sesuai dengan jumlah element yang dimasukan. Dalam hal ini jumlahnya adalah 5. Sedang pada deklarasi kedua, program akan memesan memory 5 buah sesuai dengan batasan yang kita berikan sewaktu deklarasi. Setelah program kita jalankan, dan pada program ada instruksi untuk menambah isi array, maka akan ditempatkan disebelah memory yang terakhir digunakan sewaktu deklarasi. Apabila memory tersebut memang masih kosong, dan belum digunakan untuk variable lain, maka hal ini tidak akan menjadi masalah. tapi apabila memory tersebut sudah digunakan oleh variable lain, maka akan terjadi tabrakan memory dan menimbulkan error.

Untuk memngatasi masalah ini, sebaiknya kita mendeklarasikan array seperti contoh ketiga. Apabila kita berencana untuk mengisi array dengan jumlah data yang banyak, sebaiknaya kita juga memesan lokasi memrory yang banyak, sesuai kebutuhan. Pada contoh ketiga kita memberikan batas seratus lokasi memory. Meskipun kita hanya mengisi dengan 5 buah data, tapi program sudah memesan lokasi memory sebanyak 100 buah. Dan lokasi memory yang sudah dipesan tadi tidak akan digunakan untuk variable lain. Dengan demikian apabila dalam jalannya program ada perintah untuk menambah jumlah data array, tidak akan terjadi error.

0 comments:

Post a Comment

Followers

followers

  © Blogger templates ProBlogger Template by Ourblogtemplates.com 2008

Back to TOP