Adalah array yang memiliki lebih dari satu index. Array multidimensi juga dapat
dikatakan sebagai array dari array (sekumpulan dari array).
Cara mendeklarasikannya :
namespace arraymultidimensi
{
class Program
{
static void Main(string[] args)
{
int[,] bilangan = new int[5, 5];
int baris, kolom;
}
}
}
Outputnya ???
Tugas :
1. Apa yang dimaksud array satu dimensi dan multidimensi ?
2. Dari berapakah index array dimulai ?
(Bug buster)
1. Cari kesalahan dan perbaiki program dibawah ini :
static void Main(string[] args)
{
int[] array = new int[5];
int index;
for (index = 1; index <= 5; index++)
{
array[index] = index + 1;
using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleApplication1
{
classProgram
{
staticvoid Main(string[] args)
{
int[][] matriks = newint[3][];
Console.WriteLine("Masukkan nilai matriks");
for (int i = 0; i < matriks.Length; i++)
{
matriks[i] = newint[3];
for (int j = 0; j < matriks[i].Length; j++)
{
Console.Write("matriks[{0}][{1}]= ", i, j);
matriks[i][j] = int.Parse(Console.ReadLine());
}
}
Console.WriteLine();
Console.WriteLine("Menampilkan nilai matriks");
for (int i = 0; i < matriks.Length; i++)
{
for (int j = 0; j < matriks[i].Length; j++)
{
Console.Write("{0} ", matriks[i][j]);
}
Console.WriteLine();
}
Console.Read();
}
}
}
OUTPUTNYA ???
Jagged Array
Seperti yang telah kita pelajari, array multi-dimensi tidak bisa memiliki jumlah
“kolom” atau data yang berbeda-beda untuk setiap barisnya. Namun apabila
kita memiliki data yang mengharuskan jumlah data pada tipa “baris”-nya
berbeda-beda, C# menyediakan sebuah struktur data bernama jagged array.
Jagged array adalah array yang tidak rata atau bergerigi, yang mengizinkan masing-
masing baris memiliki jumlah kolom yang berbeda. Gambar dibawah ini untuk
menunjukkan perbedaan antara Rectangular Array dan Jagged Array :
Atau
Berikut ini contoh program Jagged Array dengan menggunakan proses inisialisasi:
Module Module1
Sub Main()
Dim AJ As Integer()() = New Integer(2)() {}
'menampilkan array
For i = 0 To AJ.GetUpperBound(0)
For j = 0 To AJ(i).Length - 1
Console.Write("{0}{1}", AJ(i)(j), Chr(9))
Next
'membuat baris baru pada setiap nilai i
Console.WriteLine()
Next
Console.ReadLine()
End Sub
End Module
Deklarasi dan inisialisasi jagged array bisa dilakukan seperti pada kode
program di bawah ini.
// Deklarasi
int[][] jaggedArray = new int[3][];
// Inisialisasi
jaggedArray[0] = new int[2] { 1, 2 };
jaggedArray[1] = new int[6] { 3, 4, 5, 6, 7, 8 };
jaggedArray[2] = new int[3] { 9, 10, 11 };
Ukuran tiap “kolom” baru akan kita tentukan pada saat menginisialisasi data
untuk masing-masing “baris”.
Anda juga bisa melakukan iterasi pada array jaggedArray
dengan konstruksi perulangan for seperti kode program di bawah ini.
// jaggedArray.Length menghasilkan nilai 3
for (int i = 0; i < jaggedArray.Length; i++)
{
// nilai yang dihasilkan oleh jaggedArray[i].Length,
// tergantung dari ukuran tiap-tiap baris pada indeks i
for (int j = 0; j < jaggedArray[i].Length; j++)
{
Console.Write($"{jaggedArray[i][j]} ");
}
Console.WriteLine();
}
/*
output:
12
345678
9 10 11
*/