Anda di halaman 1dari 8

ARRAY MULTI DIMENSI DAN JAGGED ARRAY

Adalah array yang memiliki lebih dari satu index. Array multidimensi juga dapat
dikatakan sebagai array dari array (sekumpulan dari array).
Cara mendeklarasikannya :

tipe[,] namaArray = new tipe[kapasitas,...,kapasitas];

Latihan 5.2, array multidimensi :

namespace arraymultidimensi
{
class Program
{
static void Main(string[] args)
{
int[,] bilangan = new int[5, 5];
int baris, kolom;

for (baris = 0; baris < 5; baris++)


for (kolom = 0; kolom < 5; kolom++)
bilangan[baris, kolom] = (baris + 1)*(kolom + 1);

for (baris = 0; baris < 5; baris++)


{
for (kolom = 0; kolom < 5; kolom++)
Console.Write("{0}\t", bilangan[baris, kolom]);
Console.Write("\n");

}
}
}

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;

Array dari Array


Cara mendeklarasikannya :
<tipe_data_array>[][]..[] <nama_array> = new <tipe_data_array>[size][]..[];
<nama_array>[indeks]= new <tipe_data_array>[size]..[];
<nama_array >[indeks][indeks]..[indeks] = nilai;
Ket :
 <type_data_array> = semua jenis tipe data
 [][]..[] = penanda dimensi array
 <nama_array> = nama suatu array sebagai identifikasi
 [indeks] = elemen ke-berapa dari <nama_array>
 [size] = jumlah terhingga yang dapat dimiliki <nama_array>
Misal : int numbers[3][5];
Latihan 6.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 :

Bentuk umum untuk membuat jagged array adalah sebagai berikut :

    Dim namaArray(jumlahbaris-1)() As TipeData

Atau

    Dim namaArray As TipeData()() = New TipeData(jumlahbaris-1)(){}

Berikut ini contoh program Jagged Array dengan menggunakan proses inisialisasi:
Module Module1
Sub Main()
Dim AJ As Integer()() = New Integer(2)() {}

'inisialisasi nilai pada baris pertama


AJ(0) = New Integer(1) {1, 2}

'inisialisasi nilai pada baris kedua


AJ(1) = New Integer(5) {3, 4, 5, 6, 7, 8}
'inisialisasi nilai pada baris ketiga
AJ(2) = New Integer(3) {9, 10, 11, 12}

'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 };

Pada saat menentukan ukuran array jaggedArray yang kita deklarasikan, hanya


ukuran “baris”-nya saja yang kita tentukan, sementara ukuran “kolom”-nya
kita biarkan kosong (new int[3][]).

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
*/

Contoh Program lainnya :


using System;
namespace ArrayApplication
{
class MyArray
{
static void Main(string[] args)
{
/* a jagged array of 5 array of integers*/
int[][] a = new int[][]{new int[]{0,0},new int[]{1,2},new int[]{2,4},new int[]{ 3, 6 },
new int[]{ 4, 8 } };
int i, j;

/* output each array element's value */


for (i = 0; i < 5; i++)
{
for (j = 0; j < 2; j++)
{
Console.WriteLine("a[{0}][{1}] = {2}", i, j, a[i][j]);
}
}
Console.ReadKey();
}
}
}

Hasil keluaran program adalah sebagai berikut:


a[0][0]: 0
a[0][1]: 0
a[1][0]: 1
a[1][1]: 2
a[2][0]: 2
a[2][1]: 4
a[3][0]: 3
a[3][1]: 6
a[4][0]: 4
a[4][1]: 8

Anda mungkin juga menyukai