ProgDasCh11 Array
ProgDasCh11 Array
1 61
index
2 70
4 23
5 10
6 9
7
Elemen-elemen array dapat diakses secara
berurutan atau random berdasarkan indeks
tertentu secara langsung.
dengan:
tipe: untuk menyatakan jenis tipe data dari elemen
array (misalnya char, int, unsigned).
ukuran : untuk menyatakan jumlah maksimal elemen
array.
nama_larik : untuk menyatakan nama array
contoh pendeklarasian suatu array lima elemen dengan
nama nilai_tes dan tipe datanya float adalah sebagai
berikut:
float nilai_tes [5];
Deklarasi Array
float nilai_tes[10];
alamat
100 104 108 112 116 120 124 128 132 136
Data atau nilai
elemen array ? ? ? ? ? ? ? ? ? ?
index 0 1 2 3 4 5 6 7 8 9
14
Mengakses Elemen
Array
Pada bahasa C, data array akan disimpan dalam
memori pada lokasi yang berurutan.
Elemen pertama mempunyai indeks bernilai 0.
Jika pada contoh variabel nilai_tes mempunyai 5
elemen, maka elemen pertama mempunyai
indeks sama dengan 0, elemen kedua
mempunyai indeks 1, dan seterusnya.
nilai_tes[0] = 70;
Nama_larik [indeks];
printf(%d,A[2]) atau
printf(%d\n,*(A+2));
70
90
80
90
100
//deklarasi array
int nilai_tes[5]
// mengisi array
nilai_tes[3] = 90;
value
alamat
21da 21db 21dc 21dd 21de 21df 21e0 21e1
%x adalah hexadesimal
/* ------------------------------------------------ */
/* File program : baca.c */
/* Contoh pengaksesan array satu dimensi */
/* ------------------------------------------------ */
#include <stdio.h>
#define maks_tes 5
main()
{
int i;
float nilai_tes[maks_tes];
/* deklarasi array */
/* Membaca data dari keyboard */
for (i=0;i<maks_tes;i++)
{
printf("Nilai tes ke-%d: ",i+1);
scanf("%f", &nilai_tes[i]);
}
matrix[0][0]
Baris : 0
Kolom: 0
matrix[3][0]Baris : 3
Kolom : 0
Elemen-elemen matriks dapat diakses oleh
program dengan menggunakan suatu indeks
tertentu yang terdiri dari indeks baris dan kolom
Elemen-elemen matriks dapat diakses secara
berurutan atau random berdasarkan indeks
tertentu secara langsung.
Pengisian dan pengambilan nilai pada indeks
tertentu dapat dilakukan dengan mengeset nilai
atau menampilkan nilai pada indeks yang
dimaksud.
Lanjutan
Tanda [][] disebut juga elemen pada baris
ke dan kolom ke .
Misalnya Matriks[1][1] berarti elemen
matriks pada baris ke 1 dan kolom ke 1
2D Array Initialization
Inisialisasi:
int matrix[4][3] = {1,2,3,4,5,6,7,8,9,10,11,12};
33
2D Array Initialization
Memanfaatkan statement nested loop :
int matrix[4][3], i, j;
for (i=0; i<4; i++)
for (j=0; j<3; j++)
matrix[i][j] = i * j;
for (i=0;i<4;i++)
{
for(j=0;j<3;j++)
{
printf(" Matriks(%d, %d): %d",i,j,matriks[i][j]);
}
printf("\n");
}
}
Operasi pada
Matriks
Pengisian elemen matriks
2 cara pemrosesan elemen matriks,
melalui baris dan kolomnya
Pembacaan dan pencetakan elemen
matriks
Pemrosesan elemen matriks dengan
operasi-operasi yang berlaku pada matriks
Searching an matriks (linear or binary
search)
Pemrosesan Matrik Baris demi Baris
return 0;
}
Pengisian/Penulisan Elemen Matriks
Pengisian elemen matriks dengan suatu
konstanta
x[2][4]= {{8, 5, 9, 8},
{8, 2, 1, 0}};
atau
x[0][0]=8; x[0][1]=5; x[0][2]=9; x[0][3]=8;
X[1][0]=8; x[1][1]=2; x[1][2]=1; x[1][3]=0;
For Baris = 0 to 1 do
For Kolom = 0 to 2 do
Matriks[Baris][Kolom] = 0
Endfor
Endfor
Pengisian elemen matriks dengan data
tertentu
For Baris = 0 to 1 do
For Kolom = 0 to 2 do
Input (data)
Matriks[Baris][Kolom] = data
Endfor
Endfor
Mencetak elemen matriks
For Baris = 0 to 1 do
For Kolom = 0 to 2 do
print Matriks[Baris][Kolom]
Endfor
Endfor
Mencetak elemen matriks
int i, j;
for (i = 0; i < row; i++) {
for (j = 0; j < cols; j++)
printf(%d, matrix[i][j]);
printf( \n);
}
Pemrosesan elemen matriks dengan
operasi-operasi yang berlaku pada
matriks
Penjumlahan Matriks
Pengurangan Matriks
Perkalian Matriks
Diagonal Matriks
Transpose Matriks
Penjumlahan matriks
Agar kedua matriks dapat dijumlahkan harus
memiliki jumlah baris dan kolom yang sama.
Inputkan matriks A dan matriks B
Siapkan matriks C untuk menampung hasil
Penjumlahan matriks A dan B sesuai dengan
elemen-elemennya.
Elemen matriks A [0,0] dijumlahkan dengan
elemen matriks B [0,0] juga dan disimpan di
elemen matriks C [0,0] juga. Begitu seterusnya
Hasilnya adalah matriks C
For Baris = 0 to 1 do
For Kolom = 0 to 1 do
C[Baris,Kolom] =
A[Baris,Kolom] + B[Baris,Kolom]
Endfor
Endfor
int i, j;
int c[i][j], a[i][j], b[i][j];
3 x
Hasilnya adalah =
For Baris = 0 to 1 do
For Kolom = 0 to 2 do
C[Baris,Kolom] = 3 * A[Baris,Kolom]
Endfor
Endfor
int i, j;
int a[i][j], b[i][j];
For Baris = 0 to 1 do
For Kolom = 0 to 1 do
if Baris= Kolom
print ( A[Baris,Kolom])
Endfor
Endfor
Transpose
Transpose adalah elemen baris matriks akan
menjadi kolom matriks dan sebaliknya kolom
matriks akan menjadi baris matriks.
For Baris = 0 to 1 do
For Kolom = 0 to 2 do
MatriksTranspose[Baris,Kolom]=
A[Kolom,Baris]
Endfor
Endfor
Questions?