Yang Tidak Bisa Dilakukan Turbo Pascal #2


by simba in 18 days ago 469

#2: LARIK DINAMIS (DYNAMIC ARRAY)

Salah satu fitur bahasa pemrograman modern adalah keleluasan dalam menentukan besar memori yg digunakan dalam program dengan cara yg mudah dan (semi-)otomatis. Contohnya adalah penggunaan deret dinamis, yaitu deret yg panjangnya bisa berubah saat program sedang bekerja (runtime). Turbo Pascal sebagai bahasa Pascal jadul tentu tidak bisa melakukan hal ini, kecuali dengan cara-cara yg rumit dan tidak elegan.
Dalam Turbo Pascal, ukuran sebuah deret harus ditentukan di awal program dan tidak bisa diubah lagi setelah program bekerja. Sekali kita deklarasikan sebuah deret dengan panjang 10 elemen, maka Turbo Pascal akan menggunakan memori sebesar 10 elemen tersebut. Berikut contoh kode programnya dalam Turbo Pascal:

var a: array [0..9] of byte;
Yg artinya sebuah peubah (variable) bernama a berupa deret bita (byte) sepanjang 10 elemen dengan nomor indeks 0 hingga 9. Maka sepanjang program bekerja, peubah a tersebut akan selalu berisi 10 elemen, tidak bisa lebih, tidak bisa kurang. Jika program butuh deret yg ukurannya bermacam-macam, maka kita harus mengatur panjang deret semaksimal mungkin walaupun belum tentu semuanya akan digunakan. Jadi boros memori komputer. Walaupun keterbatasan ini bisa "diakali" dengan trik pointer yg agak rumit, namun secara bahasa tetap tidak bisa dilakukan. Trik pointer itu selain rumit juga punya resiko jika tidak dilakukan dengan hati-hati. Misalnya bisa jadi jalan masuk untuk meretas program atau bahkan sistem operasi komputer. Dalam Pascal modern, seperti Free Pascal dan Delphi, deret dinamis bisa dilakukan dengan sangat mudah. Deret dinamis tidak perlu angka dalam kurung kurawal dan untuk mengatur panjang deret cukup dengan perintah setLength() saja. Berikut contohnya:

var a: array of byte;
?
setLength(a, 10);
?
setLength(a, 100);
?
Yg artinya sebuah peubah bernama a berupa deret bita dinamis. Di bagian kode selanjutnya, perintah setLength(a,10); artinya mengatur deret a agar memiliki panjang 10 elemen dengan nomor indeks 0 hingga 9. Kode selanjutnya, perintah setLength(a,100); artinya mengatur deret a agar memiliki panjang 100 elemen dengan nomor indeks 0 hingga 99, dari yg semula berisi 10 elemen. Demikian seterusnya, panjang deret a bisa diubah sesuai kebutuhan program yg kita buat. Cukup mudah bukan? Tidak itu saja, panjang deret dinamis bisa juga ditentukan melalui masukan dari pengguna atau dari parameter program atau dari sumber masukan lainnya. Deret dinamis sangat fleksibel. Dalam gambar terlampir berikut, saya tunjukkan contoh kode program untuk mengatur deret dinamis melalui masukan dari pengguna. Silakan dipelajari. Selamat mencoba dan "Say NO to Turbo Pascal!" ???? Sumber: tulisan Pak Lebah di facebook group Pascal Indonesia
note: Tulisan berseri tentang apa yang tidak bisa dilakukan Turbo Pascal: - Seri 1 - Seri 3 - Seri 4
Local Business Directory, Search Engine Submission & SEO Tools FreeWebSubmission.com SonicRun.com