Anda di halaman 1dari 22

Array

Learning Outcomes

Pada akhir pertemuan ini, diharapkan mahasiswa


akan mampu :
Menerapkan konsep tipe data array untuk data
majemuk homogen (C3)

2
Outline Materi

Array
Definisi dan karakteristik array
Array dimensi satu
Inisialisasi array
Array sebagai parameter
Array berdimensi dua dan tiga

3
Array

Array
Data disimpan dalam suatu struktur, sedemikian rupa sehingga
elemen-elemen di dalam struktur tadi dapat diolah secara
kelompok ataupun secara individu.
Sifat - sifat Array
Homogen
Seluruh elemen di dalam struktur array harus mempunyai tipe data yang
sama.
Random Access
Setiap elemen di dalam struktur array dapat dicapai secara individual,
langsung ke lokasi elemen yang diinginkan, tidak harus melalui elemen
pertama.
4
Array Dimensi Satu

Sintaks deklarasi array dimensi satu

type nama_arrray[Nilai_dim];

Contoh : int A[10];

Definisi dari sebuah array terdiri dari 4 komponen


yaitu :
Type specifier
Identifier (nama array)
Operator index ([ ])
Nilai dimensi dalam operator 5[ ]
Visualisasi Array

Dengan menggunakan contoh deklarasi sebelumnya


dapat digambarkan alokasi untuk variabel A
Elemen-elemen suatu Array diindeks (subscript) mulai
dari 0.

A[0 A[1 A[2 A[3 A[4 A[5 A[6 A[7 A[8 A[9]
] ] ] ] ] ] ] ] ]

6
Cara Akses Array

Dua cara yang ekuivalen untuk mengakses unsur ke-i


dari suatu array. Misal untuk i=2;
*(A+2) atau A[2]
A ekuivalen dengan &A[0] atau pointer constant ke
elemen-pertama dari array tersebut.
Bila elemen A[2] hendak ditampilkan di layar monitor,
gunakan statemen sbb:
printf(%d,A[2]) atau printf(%d\n,*(A+2));

7
Mengisi Data Array

Mengisi data ke elemen array dilakukan dengan


menggunakan assignment operator.
Contoh : A[6] = 15; A[3]
27 = 27;
15

A[0 A[1 A[2 A[3 A[4 A[5 A[6 A[7 A[8 A[9]
] ] ] ] ] ] ] ] ]

Statement A[2] = A[3]


12 27
- A[6], menghasilkan
15
:
A[0 A[1 A[2 A[3 A[4 A[5 A[6 A[7 A[8 A[9]
] ] ] ] ] ] ] ] ]

8
Inisialisasi Array

Array dapat diinisialisasi secara eksplisit pada saat


didefinisikan dan tidak perlu diberikan nilai dimensinya.
Contoh:
int B[ ]={1, 2, -4, 8};
Contoh inisialisasi array setelah didefinisikan :
int A[5];
(for i=0; i<5;i++) A[i]=0;

int B[5]; Error


B[5]={0,0,0,0,0};

9
Inisialisasi Array

Contoh :
#include <stdio.h>
void main()
{
int i;
int list_int[10];
for (i=0; i<10; i++){
list_int[i] = i + 1;
printf( "list_int[%d] diinisialisasi dengan %d.\n", i, list_int[i]);
}
}

10
Array Dimensi Satu

Contoh : #include<stdio.h>

int SIZE = 5;

void main() {
int n[SIZE] = {15, 9, 1, 7, 5};

for( int i=0 ; i<= SIZE ; i++) {


printf("%5d ", n[i]);
for ( int j=1; j<=n[i] ; j++)
printf("%c","*");
printf("\n");
}
}

11
Array Sebagai Parameter

Jika array digunakan sebagai parameter dalam suatu fungsi,


maka passing parameter harus by location.
Contoh: #include <stdio.h>
void cetak_array(int index, int *Array) {
printf(Array[%d]=%d\n,index,Array[index]);
}

void main() {
int Array[]={1,6,2,8,12};
cetak_array(2,Array);
}

12
Array Dimensi Dua

x[row][column]: array dua dimensi dengan row dan


column
Contoh
int a[3][4]
Column 0 Column 1 Column 2 Column 3
Row 0 a[ 0 ][ 0 ] a[ 0 ][ 1 ] a[ 0 ][ 2 ] a[ 0 ][ 3 ]
Row 1 a[ 1 ][ 0 ] a[ 1 ][ 1 ] a[ 1 ][ 2 ] a[ 1 ][ 3 ]
Row 2 a[ 2 ][ 0 ] a[ 2 ][ 1 ] a[ 2 ][ 2 ] a[ 2 ][ 3 ]

Column subscript
Array
name Row subscript

13
Array Dimensi Dua

Inisialisasi: menggunakan aturan rmo (row major


order).
1 2
Contoh: 3 4
int b[2][2] = { { 1, 2 }, { 3, 4 } };
1 0
3 4
int b[2][2] = { { 1 }, { 3, 4 } };

int x[3][4] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12};


int x[3][4] = { {1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12}};

14
Array Dimensi Dua

/* Mencetak array 2-D */


Program #include
: <stdio.h>
void main() {
int two_dim[3][5] = {1, 2, 3, 4, 5,
10, 20, 30, 40, 50,
100, 200, 300, 400, 500};
int i, j;

for (i=0; i<3; i++){


printf("\n");
for (j=0; j<5; j++)
printf("%6d", two_dim[i][j]);
}
} 12345
10 20 30 40 50
100 200 300 400 500
15
Array Dimensi Tiga

X[Row][Column][Depth] : Array tiga dimensi dengan row,


column dan depth.
int x[3][2][4] = {{{1,2,3,4}, {5,6,7,8}},
{{11,12,13,14}, {15,16,17,18}},
{{21,22,23,24}, {25,26,27,28}}};

void main() {
x[4][3][5] = {{{1, 2, 3}, {0, 4, 3, 4}, {1, 2}},
{{9, 7, 5}, {5, 7, 2}, {9}},
{{3, 3, 5}, {2, 8, 9, 9}, {1, 2, 1}},
{{0}, {1}, {0, 1, 9}}};
printf(%5d, x[2][1][3]);
}

16
Latihan

Buatlah program dengan fungsi sbb:


Fungsi untuk meng-input 10 bilangan ke dalam array
Fungsi untuk mencari bilangan terbesar dalam array tersebut
Fungsi untuk mencari bilangan terkecil dalam array tersebut
Fungsi untuk menampilkan :
10 bilangan tersebut
Bilangan terbesar dan terkecil

17
Latihan

Buat program untuk membalik urutan array dimensi


satu.
int x[ ] = {19, 3, 15, 7, 11};

Dan kemudian cek hasilnya dengan data berikut :


int x[ ] = {19, 3, 15, 7};
int x[ ] = {1, 2, 3, 4, 5, 6, 7, 8, 9};

18
Latihan

Buat program untuk mengurutkan array dimensi satu


yang berisi 3 data.
int n[ ] = {2,1,3};

Dan kemudian cek hasilnya dengan data berikut ini :


int n[ ] = {3,2,1};
int n[ ] = {2,1,3};

19
Latihan

Buatlah sebuah program untuk menginput Saldo untuk 5 Account berikut ke


dalam sebuah array dimensi satu:
Account
Saldo
1
24.98
2
345.67
3
0.00
4
-42.16
Nomor Account ditentukan sesuai no index array + 1
Tipe data yang digunakan 5adalah double (bisa menampung pecahan dan
angka minus) 224.62

20
Latihan

Berdasarkan soal sebelumnya :


Jika Saldo yang diinput >0 dianggap Saldo Deposit, jika
Saldo = 0 maka Saldo Zero, selain itu dianggap Saldo
Withdraw.
Dari data yang diinput tampilkan :
Daftar Account dengan Saldo Zero
Daftar Account dengan Saldo Debit
Daftar Account dengan Saldo Credit
Tentukan rata-rata Saldo keseluruhan

21
Latihan

Buat program untuk menginput array berikut :


int grademhs[ mhs ][ mtk ] =
{ { 77, 68, 86, 73 },
{ 96, 87, 89, 78 },
{ 70, 90, 86, 81 } };
Dan tampilkan output sebagai berikut :
[0] [1] [2] [3]
grademhs [0] 77 68 86 73
grademhs [1] 96 87 89 78
grademhs [2] 70 90 86 81

22

Anda mungkin juga menyukai