Dalam tutorial pascal sebelumnya, kita telah mempelajari pengertian dan cara penggunaan tipe data array. Kali ini saya akan masih membahas tentang array, yakni cara membuat array 2 dimensi pascal.
Array 1 Dimensi Pascal
Contoh array yang telah kita pelajari pada tutorial sebelumnya adalah array 1 dimensi, dimana setiap element array hanya terdiri satu 'lapis', seperti contoh berikut:
program tipe_array; uses crt; var  nilai: array[0..2] of integer; begin  clrscr;   nilai[0]:= 10;  nilai[1]:= 20;  nilai[2]:= 30;   writeln('nilai1: ',nilai[0]);  writeln('nilai2: ',nilai[1]);  writeln('nilai3: ',nilai[2]);   readln; end.
Maksud dari 1 dimensi disini adalah, setiap element array dibahas dengan 1 index, seperti nilai[0], nilai[1] dan nilai[2].
Array 2 Dimensi Pascal
Untuk penggunaan yang lebih rumit, array 1 dimensi tidak cocok lagi. Sebagai contoh, di dalam matematika kita menggunakan grafik/diagram kartesius yang titik koordinatnya menggunakan komposisi sumbu x dan sumbu y. Sebagai contoh A(3,4) berarti titik A berada di posisi 3 pada sumbu x, dan 4 pada sumbu y.
Untuk mempermudah dalam pembuatan program yang melibatkan 2 sumbu atau 2 dimensi ini, kita bisa menggunakan array 2 dimensi.
Cara penulisan array 2 dimensi adalah dengan menuliskan dua angka (dua jangkauan) sewaktu deklarasi array. Berikut contohnya:
var  nilai: array[0..1,0..2] of integer;
Kode diatas berarti saya membuat variabel 'nilai' sebagai array 2 dimensi. Dimana untuk dimensi pertama berisi 0 dan 1, sedangkan di dimensi kedua berisi 0, 1 dan 2. Total, variabel 'nilai' berisi 6 element (hasil dari 2 *Â 3).
Cara mengakses element pada array 2 dimensi ini menggunakan tanda koma sebagai pemisah, seperti: nilai[0,2] atau nilai[1,1].
Contoh berikut akan memperjelas cara penggunaanya:
program tipe_array; uses crt; var  nilai: array[0..1,0..2] of integer; begin  clrscr;   nilai[0,0]:= 1;  nilai[0,1]:= 2;  nilai[0,2]:= 3;  nilai[1,0]:= 4;  nilai[1,1]:= 5;  nilai[1,2]:= 6;   writeln('nilai0,0: ',nilai[0,0]);  writeln('nilai0,1: ',nilai[0,1]);  writeln('nilai0,2: ',nilai[0,2]);  writeln('nilai1,0: ',nilai[1,0]);  writeln('nilai1,1: ',nilai[1,1]);  writeln('nilai1,2: ',nilai[1,2]);   readln; end.
Silahkan anda pelajari sejenak kode diatas, baik cara pembuatan array 2 dimensi maupun cara mengakses tiap-tiap elemennya. Menggunakan array 2 dimensi ini akan memudahkan kita untuk membuat kode program yang lebih kompleks.
Contoh lain yang sering menggunakan array 2 dimensi adalah untuk membuat struktur matriks. Berikut contohnya:
program tipe_array; uses crt; var  nilai: array[0..1,0..1] of integer; begin  clrscr;   nilai[0,0]:= 1;  nilai[0,1]:= 2;  nilai[1,0]:= 4;  nilai[1,1]:= 5;   write (nilai[0,0],' ');  writeln(nilai[0,1]);  write (nilai[1,0],' ');  writeln(nilai[1,1]);   readln; end.
Contoh kali ini hampir mirip dengan contoh kode program pascal sebelumnya, tapi saya membatasi dengan element 2×2 (perhatikan cara pendeklarasikan variabel 'nilai'). Ketika menampilkan hasil array, saya menyusunnya agar sesuai dengan bentuk matriks 2×2. Ini didapat dengan perpaduan perintah write dan writeln.
Sebagai latihan, dapatkah anda membuat struktur matriks 3×3?
Array 3 Dimensi Pascal
Secara teori, dimensi untuk array di dalam pascal tidak terbatas. Kita juga bisa membuat array 3 dimensi. Ini diperlukan jika koordinat cartesius terdiri dari sumbu x, sumbu y, dan sumbu z. Cara pembuatannya juga hampir sama.
Sebagai contoh, jika saya ingin membuat array 3 dimensi 2x3x4 bisa ditulis sebagai:
var  nilai: array[0..1,0..2,0..3] of integer;
Sampai disini, saya yakin anda sudah paham maksud kode diatas. Cara pengaksesannya pun cukup dengan menambahkan dimensi ketiga di nomor index, seperti nilai[1,2,3] atau nilai[0,0,1]. Berikut contohnya:
program tipe_array; uses crt; var  nilai: array[0..1,0..2,0..3] of integer; begin  clrscr;   nilai[0,0,2]:= 2;  writeln(nilai[0,0,2]);   nilai[1,2,3]:= 999;  writeln(nilai[1,2,3]);   readln; end.
Setelah mempelajari cara pembuatan array 2 dimensi (dan 3 dimensi), dalam tutorial pascal berikutnya saya akan membahas cara pembuatan array dinamis (Dynamic Arrays).
thx banget materinya ya
min buat dong contoh array 2 dimensi menampilkan data random kemudian diurutkan menggunakan buble short
contoh data random :
7 1 2 3 4
8 5 4 2 1
10 9 7 5 2
kemudian di urutkan pake buble short
1 1 2 2 2
3 4 4 5 5
7 7 8 9 10
terimakasih min , saya ingin belajar" buat begitu tapi saya bingung , semoga mimin bersedia membuatkan contoh tutorialnya :)
Requestnya di tampung dulu y gan, algoritma sorting lumayan rumit, jadi butuh pembahasan juga sebelum masuk ke program pascalnya…
nilai[1,2,3]:= 999;
writeln(nilai[1,2,3]);
kok bisa sampai 999 ya? masih bingung, soalnya saya tidak begitu jago dalam matematika. FeelsBadMan
Ini tidak menggunakan matematika kok…
Perintah nilai[1,2,3]:= 999 artinya saya ingin menginput angka "999" ke dalam array nilai[1,2,3]. Mau diinput nilai lain juga g masalah, misalnya:
nilai[1,2,3]:= 10;
writeln(nilai[1,2,3]);
itu maksudnya di beri nilai, jadi terserah kita. CMIIW
Iya gan @Dendi. Karena itu adalah penentuan variabel dimana variabel nilai dengan value 1,2,3 akan menampilkan angka 999 atau angka lain yang dikehendaki CMIIW
bagaimana cara membacanya ?
contoh, nilai : array[0..1,0..2] of integer; nilai[0,0] := 1; (memberikan nilai 1 kepada ???? dimensi 1.
lalu maksud dari nilai[1,1] := 1; apakah maksudnya memberikan nilai 1 kepada ???? dimensi ke 2 ?
Ga harus disebutkan dimensinya, itu hanya penyebutan secara umum. Perintah nilai[0,0] := 1 cukup disebut memberikan nilai 1 kepada variabel array nilai di index 0,0.
Sama seperti dalam matematika, diagram kartesius itu ada yang 2 dimensi (sumbu x dan y), dan ada juga yang 3 dimensi (sumbu x, y dan z). Untuk membaca A(3,5) cukup disebut titik A berada di koordinat x = 3 dan y = 5, tidak harus ada kata2 "dimensi" disini.
apakah bisa diibaratkan dengan baris dan kolom ?
Betul, bisa dibilang seperti itu.
Jadi fungsi 2 dimensi ini ap gan??,kalau cuma utk buat matriks 2×2,3×3,4×4tanpa program array 2 dimensi pun bisa tinggal mainin perintah WRITELNYA,iya gak???????????????????????l
kak mau nanya kalo menggunakan array 2 dimensi dengan perulangan looping tapi output yang dihasilkan tuh sepert ini,
XXXXX
00000
XXXXX
00000
XXXXX
itu programnya kaya gimana ya?