Struktur Data Khoiriya Latifa, M.Kom. IMPLEMENTASI ARRAY Struktur Data Khoiriya Latifa, M.Kom.
Pertemuan ke 11 Kompetensi Dasar : Mahasiswa dapat mengimplementasikan array dalam pemrograman Mahasiswa memahami prinsip dan konsep dasar dari array dan penerapannya di dalam program
Definisi Array adalah sekumpulan tempat penyimpanan data yang bertipe dan bernama sama dan memiliki index .
Array satu dimensi adalah array yang memiliki 1 index. Array bertipe integer Isian dari elemen array ke 4 Index Array Array Integer Nama Array 17 9 12 30 2 1 3 4 array bertype integer yang bernama ArrayInteger dan memiliki kapasitas 5 buah bilangan Integer.
type namaarray[kapasitas]; Cara mendeklarasikan Array 1 dimensi : type namaarray[kapasitas]; Contoh : Float arrayFloat[3];
Menyiapkan array 1 dimensi int A[5]; int i; for (i=0; i<=4; i++) printf(“\n%x”, &A[i])
Mengisi Array : for (i=0; i<=10; i++) { A[i]=17; } Contoh lain : For (i=0; i<=10; i++) A[i]=17; atao A[i]=i
Atau : i=0; While(i<=10) { A[i]=17; i++ }
Mengisi array satu dimensi dengan nilai string char A[10] int i, n; Strcopy(A,”Semarang”); N=strlen(A); For(i=0; i<=n-1; i++) { printf(“%c”, A[i]); }
int x, I for(i=0; i<=10; i++) { scanf(“%i”, &x); atau scanf(“%i”, &A[i]); A[i]=x; }
int x, I; i=0; while(i<=10) { scanf(“%i”, &x); if(x>80) { A[i]=x; i++; }
char S[10]; scanf(“s”, S); atau gets(S); printf(“%s”, S); atau puts(S); Atau int i; scanf(“%s”, S); i=0; while (S[i]!=0) { printf(“%c”, S[i]); i++; }
Mencetak isi array : For (i=0; i<=10; i++) { printf(“\n%d”, A[i]); } Contoh : If(A[i]>10) If (A[i]%2==0) printf(“\n%i”, A[i]);
Mencetak Total Array : T=0; For (i=0; i<=10; i++) { T=T+A[i]; printf(“\n%d”, T); } Atau : N=0; For (i=0; i<=17; i++) printf(“\n%c”, A[N]); N=N+1;
N=0; For (i=1; i<=3; i++) for (j=1; j<=5; j++) { printf(“%c”, A[N]); N=N+1; }
For (i=1; i<=1 ; i++) { printf(“%c”, A[i-1]); if (i%5 == 0) printf(“\n”); }
EVALUASI : Susunlah program untuk mencetak array char[15] dengan susunan sebagai berikut : A B C D E F G H I J K L M N O A F L B G M B H N C I O D J P E K Q
Jawab : N=0; for(i=1; i<=5; i++) { for(J=1; J<=1; J++) { printf(“%2c”, A[N]}; N=N+1; } printf(“\n”);
Array Dua Dimensi Dapat dipandang sebagai penggabungan array satu dimensi Penulisan nama sebuah elemen : A[1][2] A : adalah nama array [1] : nomor baris [2] : nomor kolom
Menyiapkan Array 2 Dimensi Void main () { int A[3][5] } Akan menyiapkan array dua dimensi bertipe integer terdiri dari 3 baris dengan nomor 0,1,2 dan 5 kolom 0,1,2,3,4
Void main () { int A [3][5]; int i, j; for (i=0; i<=2; i++) for (j=0; j<=4; j++) printf(“\n %X”, &A[i][j]); }
Cara computer mengalokasikan elemen array dua dimensi ada dua cara : Row Major Order : urutan yang mengutamakan baris misal : Column Major Order : urutan yang mengutamakan kolom a b c d e f g h i j a f k b g l c h m d
#include <stdio.h> void main( ) { int A[3][5] = {5,12,17,10,7,15,6,25,2,19,4,9,20 22,11}; } Atau bisa ditulis Int A[3][5]={ 5,12,17 10,7,15,…dst};
void main () { int i, j; int A [3][5]={ 1,2,3,4,5,6,7,8,9,10,11,12,1,14,15}; for (i=0; i<=2; i++) for (j=0; j<=4; j++) { printf(“ %d”, A[i][j]); } printf(“\n”);
void main () { char i, j; char A[3][5]={‘a’,’b’,’c’,’d’,’e’,’f’,’g’,’h’,’I’,’j’’k’,’l’,’m’, ‘n’,’o’}; }
void main () { Int i, j; Int A [3][5]=17; for (i=0; i<=2; i++) for (j=0; j<=4; j++) { printf(“ %d”, A[i][j]); } printf(“\n”);
#include <stdio. h> void main() { int A[3][5]; int I; int #include <stdio.h> void main() { int A[3][5]; int I; int *P; P = &A[0][0]; for (i=1; i<=5; i++) { *P=17; P=P+1; } Akan tercetak : …………………………………………?
For (j=0; j<=4; j++) { A[0][j]=j; } Atau P=A[0][0]; N=0; For (i=1; i<=5; i++) { *P = N; N=N+1; P=P+1;
N=1; for( i=0; i<=2; i++) { for (j=0; j<=4; j++) { A[i][j]= N; N=N+1; } Atau { A[i][j]= i*5 + j+1;
Mengisi Array 2 dimensi for( i=0; i<=2; i++) { for (j=0; j<=4; j++) { scanf(“%d”, A[i][j]); }
Mencetak Array 2 dimensi for( i=0; i<=2; i++) { for (j=0; j<=4; j++) { printf(“%d”, A[i][j]); }
K=1, L=1; for( i=0; i<=2; i++) { for (j=0; j<=4; j++) { printf(“%d”, A[i][j]); L++; if (L>K) { printf (“\n”); K++; L=1; }
Menyalin isi array for( i=0; i<=2; i++) { for (j=0; j<=4; j++) { B[N]=A[i][j]; N++; }
Mencari nilai Max array 2 dimensi max=A[0][0]; for(i=0; i<=2; i++) { for(j=0; j<=4; j++) if (A[i][j]>max) max=A[i][j]; } Printf (“ Cetak Maks : %d”, max);
Jum=0; for(i=0; i<=2; i++) for(j=0; j<=4; j++) { if (A[i][j]==max) jum++; } Print(“Jumlah : \n %d”, jum);
for(i=0; i<=2; i++) for(j=0; j<=4; j++) { if (A[i][j]==max) jum++; } Print(“Jumlah : \n %d”, i, j);
Menghitung Total Isi Array 2 Dimensi tot =0; for (i=0; i<=2; i++) { for(j=0; j<=4; j++) { tot = tot + A[i][j]; } Printf(“\n %i”, tot);
Menambahkan isi array for (i=0; i<=2; i++) { for(j=0; j<=4; j++) { C[i][j]=A[i][j]+B[i][j] }