Algoritma dan Struktur Data Praktikum ARRAY (2) Algoritma dan Struktur Data
Deklarasi Array dalam Bahasa C Array 1 dimensi tipe_data nama_array[n]; n: panjangnya elemen array Contoh: int nilai[100]; char nilai[80]; Array 2 dimensi (matriks) tipe_data nama_array[brs][klm]; brs: panjangnya elemen baris pada array klm: panjangnya elemen kolon pada array Contoh: int nilai[10][6];
//Program penginputan nilai ke dalam matriks #include <stdio.h> void main() { int matriks[3][3]; int brs,klm; //input matriks printf("Input nilai matriks \n"); for (brs=0;brs<=2;brs++) for (klm=0;klm<=2;klm++) printf("nilai matriks (%d,%d) : ",brs,klm); scanf("%d",&matriks[brs][klm]); } Jalankan program, sambil menampilkan source code ini
Mekanisme penginputan nilai ke dalam Matriks for (brs=0;brs<=2;brs++) for (klm=0;klm<=2;klm++) 1 2 3 1 2 3 1 2 1 2 3
Mekanisme penginputan nilai ke dalam Matriks for (brs=1;brs<=2;brs++) for (klm=0;klm<=2;klm++) 1 2 3 5 4 1 2 3 5 4 1 2 3 5 1 2 3 1 2 1 2 3 1 2 3
Mekanisme penginputan nilai ke dalam Matriks for (brs=2;brs<=2;brs++) for (klm=0;klm<=2;klm++) 1 2 3 5 4 1 2 3 5 4 7 9 1 2 3 5 1 2 3 1 2 1 2 3 1 2 3
Mekanisme untuk Menampilkan nilai pada matriks Sama dengan cara penginputan nilai, cukup ganti saja perintah scanf menjadi printf. //menampilkan matriks for (brs=0;brs<=2;brs++) { for (klm=0;klm<=2;klm++) printf("%d ",matriks[brs][klm]); } printf(“ “); //untuk pindah baris Tulis kode programnya di papan tulis, lalu buka slide ke-8 (ilustrasi)
Ilustrasi untuk Menampilkan Nilai ke Layar 1 2 3 5 4 7 9 1 2 3 5 4 7 9 1 2 3 5 4 7 9 1 2 3 5 4 7 9 1 2 3 5 4 7 9 1 2 3 5 4 7 9 1 2 3 5 4 7 9 1 2 3 5 4 7 9 3 1 2 5 4 3 7 9 0
Latihan 1 Buatlah matriks berikut ini dengan cara memberikan inputan dari user: 1 5 7 3 2 9 1 0 1 4 6 9 Lalu tampilkan ke layar komputer.
+ = Operasi pada Matriks 7 1 13 9 14 12 -4 Penjumlahan matriks dengan matriks lain SYARAT: Orde matriks ke-1 harus sama dengan orde matriks ke-2 3 1 2 5 4 7 9 4 5 -5 9 3 7 -4 7 1 13 9 14 12 -4 + =
Kode program //Proses penjumlahan matriks ke-1 for (brs=0;brs<=1;brs++) { for (klm=0;klm<=2;klm++) m3[brs][klm] = m1[brs][klm] + m2[brs][klm]; }
Ilustrasi Alur Pemrograman 3 1 2 5 4 7 9 3 1 2 5 4 7 9 3 1 2 5 4 7 9 3 1 2 5 4 7 9 3 1 2 5 4 7 9 3 1 2 5 4 7 9 3 1 2 5 4 7 9 3 1 2 5 4 7 9 4 5 -5 9 3 7 -4 4 5 -5 9 3 7 -4 4 5 -5 9 3 7 -4 4 5 -5 9 3 7 -4 4 5 -5 9 3 7 -4 4 5 -5 9 3 7 -4 4 5 -5 9 3 7 -4 4 5 -5 9 3 7 -4 7 1 13 6 7 1 13 6 14 12 -4 7 1 13 7 1 7 1 7 7 1 + =
Operasi pada Matriks (cont’d) Pengurangan matriks dengan matriks lain SYARAT: Orde matriks ke-1 harus sama dengan orde matriks ke-2 3 1 2 5 4 7 9 4 5 -5 9 3 7 -4 -1 1 -3 10 13 6 4 - =
Operasi pada Matriks (cont’d) Perkalian matriks dengan sebuah bilangan. 3 1 2 5 4 7 9 9 3 6 15 12 21 27 *3=
Kode Program for (brs=0;brs<=2;brs++) { for (klm=0;klm<=2;klm++) matriks[brs][klm] = matriks[brs][klm] * angka; printf("%d ",matriks[brs][klm]); } printf("\n");
Ilustrasi Alur Program 3 1 2 5 4 7 9 3 1 2 5 4 7 9 3 1 2 5 4 7 9 3 1 2 5 4 7 9 3 1 2 5 4 7 9 3 1 2 5 4 7 9 3 1 2 5 4 7 9 3 1 2 5 4 7 9 9 3 6 15 12 9 3 6 15 12 21 27 9 3 6 15 12 9 3 6 9 9 3 9 3 6 15 *3=
Latihan Buatlah program untuk melakukan proses pengurangan pada dua buah matriks seperti di bawah ini: m1 m2 m3 Catatan: Lakukan input dulu untuk m1 dan m2, baru lakukan proses pengurangan antar matriks. Hasil pengurangan di simpan di m3. -9 7 1 -7 -4 4 -5 9 7 3 -4 -9 12 -8 -14 -7 - =
OLEH-OLEH untuk di rumah Buatlah dua buah array 2 dimensi dengan orde yang sama, yakni 3x4. Kemudian, isilah setiap elemen pada kedua array 2 dimensi tersebut dengan menggunakan struktru pengulangan dengan nilai-nilai sebagai berikut: m1 m2 1 2 9 8 12 34 24 43 23 14 56 1 2 7 6 9 19 12 8 4 21 18 15 26
OLEH-OLEH untuk di rumah (cont’d) Kemudian lakukan proses pembandingan antara nilai dari setiap elemen kedua matriks yang bersesuaian dengan operator ‘>’, lalu nilai yang lebih besar dimasukkan ke dalam m3 (matriks ke-3). Contoh: 1 2 9 8 12 34 24 43 23 14 56 1 2 7 6 9 19 12 8 4 21 18 15 26 1 2 9 8 12 19 34 4 24 43 23 15 56 > =
OLEH-OLEH untuk di rumah (cont’d) Petunjuk: Gunakan tiga buah matriks (m1, m2, m3). m1 : untuk menampung matriks ke-1 m2 : untuk menampung matriks ke-2 m3 : untuk menampung hasil pembandingan