Anda di halaman 1dari 12

Praktikum 15

Matriks
NIM/Nama : 3311811031/Rengko Panusunan Malau
Pengumpulan tugas praktikum:
Simpan laporan praktikum ini dengan nama P15_NIM.docx di folder yang sama dengan folder tempat
kode program. Namai folder dengan P15_NIM, kemudian zip. File EXE tidak perlu diikutkan dalam zip.
Upload ke http://learning.polibatam.ac.id.

Setelah mengikuti praktikum ini, mahasiswa diharapkan dapat:


1. Mendeklarasikan matriks dalam bahasa C
2. Mengisi matriks
3. Menampilkan matriks
4. Menjumlahkan dua buah matriks
5. Mencari elemen matriks tertentu

Bagian 1: Isi dan Tampil Matriks


Cermati kode pada contoh program di slide minggu 15 no.5. Kode tersebut menerima ukuran matriks
(harus kurang dari atau sama dengan ukuran maksimal yang telah dideklarasikan), kemudian menerima
masukan elemen-elemennya. Lanjutkan program tersebut dengan menambahkan kode untuk
menampilkan elemen-elemennya sesuai dengan nomor baris dan kolomnya.

Contoh:

Banyak baris: 2
Banyak kolom: 3
Masukkan x[0][0]: 1
Masukkan x[0][1]: 6
Masukkan x[0][2]: 4
Masukkan x[1][0]: 3
Masukkan x[1][1]: 5
Masukkan x[1][2]: 1

Matriks x:
164
351
Simpan dengan nama 1_isiTampil.c.

Tuliskan algoritma (notasi bebas) di sini.


Program Isi dan Tampil Matriks
{Menerima masukan elemen-elemen matriks kemudian menampilkan elemen-elemennya sesuai dengan
nomor baris dan kolomnya}

Deklarasi
brs, klm, agk, o, p : integer

Algoritma
Input (brs,klm)
For(o=0 ; o<brs; o++)
for(p=0;p<klm;p++) do
Masukan nilai agk[o],[p]
End for
Endfor
Output (agk[o],[p])
Salin kode program di sini.

#include <stdio.h>
int main (){

int brs,klm,agk[5][5],o,p;

printf ("PROGRAM ISI DAN TAMPIL MATRIKS \n");


printf ("---------------------------------- \n");
printf("Masukan jumlah baris : ");
scanf("%d",&brs);
printf("Masukan jumlah kolom : ");
scanf("%d",&klm);

for(o=0; o<brs; o++)


{
for(p=0;p<klm;p++)

{
printf("Masukan nilai X [%d][%d]: ",o,p);
scanf("%d",&agk [o][p]);
}
printf("\n");
}

for(o=0;o<brs;o++)
{
for(p=0;p<klm;p++)
{
printf(" %d",agk[o][p]);
}
printf("\n");
}
return 0;
}
Jelaskan hasil running program!

Setelah membuat program, tekan compile & run. Lalu masukkan jumlah baris dan kolom dan masukkan
elemen-elemen X untuk dapat menampilkan matriks X.

Bagian 2: Matriks Genap-Ganjil


Lanjutkan program Isi dan Tampil Matriks. Buat satu matriks baru yang berukuran sama dengan matriks
X. Elemen matriks baru diisi 0 (nol) jika elemen X yang bersesuaian posisinya bernilai genap, dan diisi 1
(satu) jika elemen X yang bersesuaian posisinya bernilai ganjil.

Contoh:

Banyak baris: 2
Banyak kolom: 3
Masukkan x[0][0]: 1
Masukkan x[0][1]: 6
Masukkan x[0][2]: 4
Masukkan x[1][0]: 3
Masukkan x[1][1]: 5
Masukkan x[1][2]: 1
Matriks x:
164
351

Hasil:
100
111
Simpan dengan nama 2_genapGanjil.c

Tuliskan algoritma (notasi bebas) di sini.

Program Matriks Genap-Ganjil


{Menerima masukan elemen-elemen matriks dan menampilkan elemen matriks baru berupa 0 (nol) jika
elemen X yang bersesuaian posisinya bernilai genap, dan berupa 1 (satu) jika elemen X yang bersesuaian
posisinya bernilai ganjil}

Deklarasi
brs,klm,agk[5][5],o,p : integer

Algoritma
Input (brs,klm)
for(o=0;o<brs;o++)
for(p=0;p<klm;p++)
Masukan nilai agk[o],[p]
printf (agk[o],[p])
End for
Endfor
for(o=0;o<brs;o++)
for(p=0;p<klm;p++)
agk[o][p]=agk[o][p]%2;
printf (agk[o],[p])
End for
Endfor
Salin kode program di sini.

#include <stdio.h>

int main()

int brs,klm,agk[5][5],o,p ;
printf ("PROGRAM MATRIKS GENAP-GANJIL \n");
printf ("------------------------------- \n");
printf("Masukan jumlah baris: ");

scanf("%d",&brs);

printf("Masukan jumlah kolom: ");

scanf("%d",&klm);

for(o=0;o<brs;o++)

for(p=0;p<klm;p++)

printf("Masukan nilai X [%d][%d]: ",o,p);

scanf("%d",&agk[o][p]);
printf ("\n");

for(o=0;o<brs;o++)

for(p=0;p<klm;p++)

printf("%d",agk[o][p]);

printf("\n");

printf("\n");
for(o=0;o<brs;o++)

for(p=0;p<klm;p++)

agk[o][p]=agk[o][p]%2;

for(o=0;o<brs;o++)

for(p=0;p<klm;p++)

printf("%d",agk[o][p]);

printf("\n");

}
return 0;
}
Jelaskan hasil running program!
Setelah membuat program , tekan compile&run. Lalu masukkan jumlah baris dan kolom dan masukkan
angka elemen-elemen X yang diinginkan dan kemudian akan muncul matriks X dan hasil nya. Hasilnya
ini dari elemen matriks baru diisi 0 (nol) jika elemen X yang posisinya bernilai genap, dan diisi 1 (satu)
jika elemen X yang posisinya bernilai ganjil.

Ekstra: Proses Nilai


Diketahui daftar nilai siswa SMA 99 sebagai berikut.

Kimia Bahasa Matemati


Indo. ka

Melly Bunga 78 78 88
Hari Setia 23 78 12
Rudi Kurniawan 56 69 85
Anggita C 89 88 95
Wikan Tara 96 91 91
James Sastro 45 75 56

Buatlah program yang dapat mencari nilai tertinggi pada setiap mata pelajaran.

Simpan dengan nama 3_prosesNilai.c.


Tuliskan algoritma (notasi bebas) di sini.

Program Proses Nilai


{Menerima masukan nilai dari masing-masing mata pelajaran dan nama siswa kemudian menampilkan
nilai tertinggi dari setiap mata pelajaran}

Deklarasi
Char nama[25];
nama ssw[100];
int bnyk_ssw,kim[5][5],ind[5][5],mtk[5][5],x,y,z,max=0,max1=0,max2=0;

Algoritma
Masukkan banyak siswa (bnyk_ssw)
2. Proses :
for x=0 to bnyk_ssw do
{
Masukkan Nama Siswa (ssw[x].nama)
Masukan Nilai Kimia (kim[x][1])
Masukkan Nilai B.Indonesia (ind[x][2])
Masukkan Nilai Matematika (mtk[x][3])
i++
}
Endfor
Output (“|\tNama\t|\tKimia\t|\tB.Indonesia\t|\tMatematika\t|\t \n”)

for x=0 to bnyk_ssw do


{
Output(ssw[x].nama,kim[x][1],ind[x][2],mtk[x][3])
i++
}
Endfor

for x=0 to bnyk_ssw do


{
If kim[x][1]>max then
{
max=kim[x][1]
}
i++
}
Endfor

for x=0 to bnyk_ssw do


{
If ind[x][2]>max1 then
{
max1=ind[x][2]
}
i++
}
Endfor

for x=0 to bnyk_ssw do


{
If mtk[x][3]>max2 then
{
max2=mtk[x][3]
}
i++
}
Endfor

Output (maks,maks1,maks2)
Salin kode program di sini.

#include <stdio.h>
int main()
{
typedef struct

{
char nama[25];
}nama;

nama ssw[100];

int bnyk_ssw,kim[5][5],mtk[5][5],ind[5][5],x,y,z,max=0,max1=0,max2=0;

printf("PROGRAM PROSES NILAI \n");


printf ("--------------------------- \n");
printf("Masukkan banyak siswa: ");
scanf("%d",&bnyk_ssw);
for(x=0;x<bnyk_ssw;x++)

{
printf("Masukkan Nama Siswa: ");
scanf("%s",&ssw[x].nama);
printf("\n");
printf("Masukan Nilai Kimia: ");
scanf("%d",&kim[x][1]);
printf("\n");
printf("Masukkan Nilai B.Indonesia: ");
scanf("%d",&ind[x][2]);
printf("\n");
printf("Masukkan Nilai Matematika: ");
scanf("%d",&mtk[x][3]);
printf("\n");
}

printf (" \n \n ");

printf("\tNama\t\t|\tKimia\t|\tB.Indonesia\t|\tMatematika\t|\t \n");

for(x=0;x<bnyk_ssw;x++)

{
printf("\n|\t%s\t|\t%d\t|\t%d\t|\t%d\t\t| ",ssw[x].nama,kim[x][1],ind[x][2],mtk[x][3]);

printf("\n");

}
for(x=0;x<bnyk_ssw;x++)

{
if(kim[x][1]>max)
{
max=kim[x][1];
}

}
for(x=0;x<bnyk_ssw;x++)
{
if(ind[x][2]>max1)
{
max1=ind[x][2];
}

}
for(x=0;x<bnyk_ssw;x++)
{
if(mtk[x][3]>max2)
{
max2=mtk[x][3];
}

printf("\n|Nilai Tertinggi\t|\t%d\t|\t%d\t|\t%d\t\t|",max,max1,max2);
printf("\n");
return 0;
}
Jelaskan hasil running program!

Setelah membuat program , tekan compile&run. Lalu masukkan banyak siswa, nama siswa dan
masukkan juga nilai tiap mata pelajaran siswa. Setelah memasukkan nilai, akan muncul keluaran nilai
tertinggi dari nilai siswa-siswa tersebut

Kesimpulan
Apa saja yang Anda pelajari dari praktikum ini? Kesimpulan apa yang bisa Anda tarik?
Setelah mengikuti praktikum ini, saya sedikit memahami Mendeklarasikan matriks dalam bahasa C,
Mengisi matriks, Menampilkan matriks, Menjumlahkan dua buah matriks, Mencari elemen matriks
tertentu