SDA Bab10 Array
SDA Bab10 Array
Modul Mata Kuliah : TIK 202 - Struktur Data dan Algoritma Hal. 88 dari 225
Institut Bisnis dan Informatika (IBI) Kosgoro 1957
Fakultas Ilmu Komputer - Program Studi S1 Teknik Informatika
Modul Mata Kuliah : TIK 202 - Struktur Data dan Algoritma Hal. 89 dari 225
Institut Bisnis dan Informatika (IBI) Kosgoro 1957
Fakultas Ilmu Komputer - Program Studi S1 Teknik Informatika
Nama[0]=”Yuni”;
Nama[1]=”Yani”;
Modul Mata Kuliah : TIK 202 - Struktur Data dan Algoritma Hal. 90 dari 225
Institut Bisnis dan Informatika (IBI) Kosgoro 1957
Fakultas Ilmu Komputer - Program Studi S1 Teknik Informatika
Nama[2]=”Yono”;
3. Input secara dinamis
Contoh:
for(i=0;i<3;i++)
{cout<<”Nilai : ”; cin>>nilai[i];}
for(i=0;i<3;i++)
{cout<<”Nama : ”; cin>>nama[i];}
Keterangan:
int y [] = {1, 2, 7, 4, 5};
y adalah variabel array yang memiliki 5 elemen dengan tipe integer
int n, r=0;
pendeklarasian n dan r sebagai variabel biasa.
for ( n=0 ; n<5 ; n++ )
perulangan yang dimulai dari 0 sampai n=4
{ r += y[n]; }
Instruksi yang akan diulang setiap proses perulangan dikerjakan/setiap iterasi, yaitu
penjumlahan nilai dari elemen array.
cout<<"Hasilnya : "<<r;
Modul Mata Kuliah : TIK 202 - Struktur Data dan Algoritma Hal. 91 dari 225
Institut Bisnis dan Informatika (IBI) Kosgoro 1957
Fakultas Ilmu Komputer - Program Studi S1 Teknik Informatika
pemanggilan variabel r, yang berisi jumlah akhir dari proses perulangan atau iterasi,
nilai yang ditampilkan yaitu 19.
Contoh 2 Program Array 1 dimensi
Keterangan:
char hari[3][10]={"senin","selasa",”rabu"};
array dengan nama hari dengan maksimal 3 elemen dan memiliki maksimal space 10
digit, jadi untuk masing-masing nama hari maksimal 10 digit.
Contoh 3 Program Input dan Output Array
Modul Mata Kuliah : TIK 202 - Struktur Data dan Algoritma Hal. 92 dari 225
Institut Bisnis dan Informatika (IBI) Kosgoro 1957
Fakultas Ilmu Komputer - Program Studi S1 Teknik Informatika
Keterangan:
int A[5];
deklarasi array A yang bertipedata integer dengan maksimal 5 elemen.
for (int i=0;i<5;i++)
proses input dikerjakan mulai dari indeks 0 dampai indeks ke 4
{ cout<<"A["<<i<<"] = ";
Menampilkan A[]=, yang berada pada [] adalah I dimana I nanti berubah menjadi 0
sampai 4 sesuai proses dari perulangan di atas.
cin>>A[i]; }
Modul Mata Kuliah : TIK 202 - Struktur Data dan Algoritma Hal. 93 dari 225
Institut Bisnis dan Informatika (IBI) Kosgoro 1957
Fakultas Ilmu Komputer - Program Studi S1 Teknik Informatika
perintah input nilai yang akan disimpan pada array A pada masing-masing indeks.
for(int c=0;c<5;c++)
proses menampilkan dikerjakan mulai dari indeks 0 dampai indeks ke 4
{ cout<<"Nilai pada elemen ke "<<c+1
<<" adalah = "<<A[c]<<endl; }
Menampilkan kalimat “Nilai pada elemen ke” dan c+1 menunjukkan elemen
ke 1 sampai 5 dan <<A[c] menampilkan nilai yang tersimpan pada array A pada
masing-masing indek.
Contoh 4 Program Edit Array
Keterangan:
Pada dasarnya perintah edit disini yaitu mengiputkan ulang nilai kedalam array yang
sama.
Modul Mata Kuliah : TIK 202 - Struktur Data dan Algoritma Hal. 94 dari 225
Institut Bisnis dan Informatika (IBI) Kosgoro 1957
Fakultas Ilmu Komputer - Program Studi S1 Teknik Informatika
Keterangan:
Untuk proses hapus terlebih dahulu data/nilai diinputkan, perintah input sama dengan
contoh sebelumnya dan sudah dijelaskan.
cout<<" data yang ingin dihapus : ";
cin>>hapus;
user diminta menginputkan elemen ke berapa yang nilainya akan dihapus.
Modul Mata Kuliah : TIK 202 - Struktur Data dan Algoritma Hal. 95 dari 225
Institut Bisnis dan Informatika (IBI) Kosgoro 1957
Fakultas Ilmu Komputer - Program Studi S1 Teknik Informatika
for (n=hapus-1;n<5-1;n++)
proses perulangan dimulai dari nilai hapus(elemen yang akan dihapus)-1, kenapa harus
di kurangi 1? Karena proses array dimulai dari indek 0 sedangkan hapus mulai elemen
1 jadi biar nilainya sama maka dari hapus(elemen)-1 sehingga nilainya sama dengan
indek. Dan perulangan berhenti sampai batas-1. Dimana batas kurang dari 5.
{ A[n]=A[n+1];}
Array A indek ke n posisinya sama dengan array indek ke n+1. Nilai yang sudah
terhapus pada indek ke n posisinya sama dengan elemen ke n+1.
for (n=0;n<4;n++)
perulangan untuk menampilkan nilai yang sudah dihapus dimulai dari indek ke 0
sampai indek ke 3. Kenapa tidak sampai indek ke 4? Karena 1 indek sudah terhapus
jadi indek yang tersisa hanya sampai indek ke 3.
{ cout<<" "<<A[n]; }
Perintah untuk menampilkan nilai yang sudah terhapus, tetapi nilai yang terhapus tidak
ditampilkan.
Contoh 6 Program Cari Nilai Array
Modul Mata Kuliah : TIK 202 - Struktur Data dan Algoritma Hal. 96 dari 225
Institut Bisnis dan Informatika (IBI) Kosgoro 1957
Fakultas Ilmu Komputer - Program Studi S1 Teknik Informatika
Keterangan:
Untuk proses cari terlebih dahulu data/nilai diinputkan, perintah input sama dengan
contoh sebelumnya dan sudah dijelaskan.
cout<<"Masukkan nilai yang akan dicari : ";
cin>>bil;
user diminta untuk menginputkan nilai yang akan dicari, dan nilai tersebut disimpan
pada variabel bil.
for (int c=0;c<10;c++)
Modul Mata Kuliah : TIK 202 - Struktur Data dan Algoritma Hal. 97 dari 225
Institut Bisnis dan Informatika (IBI) Kosgoro 1957
Fakultas Ilmu Komputer - Program Studi S1 Teknik Informatika
Modul Mata Kuliah : TIK 202 - Struktur Data dan Algoritma Hal. 98 dari 225
Institut Bisnis dan Informatika (IBI) Kosgoro 1957
Fakultas Ilmu Komputer - Program Studi S1 Teknik Informatika
TK 2 10 15 20 17
0 1 2 3
1992 1993 1994 1995
Modul Mata Kuliah : TIK 202 - Struktur Data dan Algoritma Hal. 99 dari 225
Institut Bisnis dan Informatika (IBI) Kosgoro 1957
Fakultas Ilmu Komputer - Program Studi S1 Teknik Informatika
Modul Mata Kuliah : TIK 202 - Struktur Data dan Algoritma Hal. 100 dari 225
Institut Bisnis dan Informatika (IBI) Kosgoro 1957
Fakultas Ilmu Komputer - Program Studi S1 Teknik Informatika
Modul Mata Kuliah : TIK 202 - Struktur Data dan Algoritma Hal. 101 dari 225
Institut Bisnis dan Informatika (IBI) Kosgoro 1957
Fakultas Ilmu Komputer - Program Studi S1 Teknik Informatika
Pada array 2 dimensi sering digunakan untuk pembuatan tabel dan matrik, adapun
operasi-operasi matrik yaitu:
1. Input Matrik
Perintah input matrik sama seperti input pada array 2 dimensi, adapun perintahnya
sebagai berikut:
int A[3][2];//matrik 3x2
for(int j=0;j<3;j++)
{
for(int k=0;k<2;k++)
{
cout<<"A["<<j<<"]["<<k<<"] = ";
cin>>A[j][k];
}
}
2. Output Matrik
Perintah output matrik sama seperti output pada array 2 dimensi, adapun
perintahnya sebagai berikut:
int C[3][2]
for(int j=0;j<3;j++)
{
for(int k=0;k<2;k++)
{
cout<<"C["<<j<<"]["<<k<<"]="<<C[j][k]<<endl;;
}
}
3. Penjumlahan Matrik
1. Agar kedua matrik dapat dijumlahkan harus memiliki jumlah baris dan kolom
yang sama.
2. Ada 3 matrik yang dibutuhkan yaitu matrik A,B dan C.
3. Inputkan matrik A dan matriks B.
4. Matrik C untuk menampung hasil penjumlahan matriks A dan B sesuai dengan
elemen-elemennya.
5. Elemen matrik A [0][0] dijumlahkan dengan elemen matrik B [0][0] juga dan
disimpan di elemen matriks C [0][0] dan seterusnya, dengan rumus C[0][0] =
A[0][0] + B[0][0].
Modul Mata Kuliah : TIK 202 - Struktur Data dan Algoritma Hal. 102 dari 225
Institut Bisnis dan Informatika (IBI) Kosgoro 1957
Fakultas Ilmu Komputer - Program Studi S1 Teknik Informatika
= +
4. Pengurangan Matrik
1. Agar kedua matrik dapat dikurangkan harus memiliki jumlah baris dan kolom
yang sama.
2. Ada 3 matrik yang dibutuhkan yaitu matrik A,B dan C.
3. Inputkan matrik A dan matriks B.
4. Matrik C untuk menampung hasil penjumlahan matriks A dan B sesuai dengan
elemen-elemennya.
5. Elemen matrik A [0][0] dijumlahkan dengan elemen matrik B [0][0] juga dan
disimpan di elemen matriks C [0][0] dan seterusnya, dengan rumus C[0][0] =
A[0][0] - B[0][0].
C[2][3] A[2][3] B[2][3]
= -
Modul Mata Kuliah : TIK 202 - Struktur Data dan Algoritma Hal. 103 dari 225
Institut Bisnis dan Informatika (IBI) Kosgoro 1957
Fakultas Ilmu Komputer - Program Studi S1 Teknik Informatika
5. Transpose Matrik
1. Transpose adalah elemen baris matriks akan menjadi kolom matriks dan
sebaliknya kolom matriks akan menjadi baris matriks.
2. Siapkan matriks hasil untuk menampung hasil transpose
Matriks Awal : Hasil Transpose:
1 2 3 1 4 7
4 5 6 2 5 8
7 8 9 3 6 9
1 2 3
4 5 6
7 8 9
Adapun perintah diagonal matrik sebagai berikut:
for(int i=0;i<3;i++)
{
for(int j=0;j<3;j++)
{
if (i==j)
{
cout<<diagonal[i][j];
}
}
}
Modul Mata Kuliah : TIK 202 - Struktur Data dan Algoritma Hal. 104 dari 225
Institut Bisnis dan Informatika (IBI) Kosgoro 1957
Fakultas Ilmu Komputer - Program Studi S1 Teknik Informatika
x =
8. Perkalian Matrik
Syarat !!!
Jumlah kolom matrik A harus sama dgn jumlah baris matrik B. Adapun rumus
perkalian matriknya sebagai berikut:
(1*1)+(2*6)+(3*11)= 1+12+33 = 46
(1*2)+(2*7)+(3*12)= 2+14+36 = 52
(1*3)+(2*8)+(3*13)= 3+16+39 = 58
(1*4)+(2*9)+(3*14)= 4+18+42 = 64
(1*5)+(2*10)+(3*15)= 5+20+45 = 70
Modul Mata Kuliah : TIK 202 - Struktur Data dan Algoritma Hal. 105 dari 225
Institut Bisnis dan Informatika (IBI) Kosgoro 1957
Fakultas Ilmu Komputer - Program Studi S1 Teknik Informatika
Modul Mata Kuliah : TIK 202 - Struktur Data dan Algoritma Hal. 106 dari 225