Studi Kasus:
1. Buatlah program C++ matrik 2 dimensi dengan input random, kemudian tampilkan dengan cara:
- Gantilah isi matrik yang bukan bilangan prima dengan angka 0.
- Gantilah isi matrik yang bukan kelipatan 2 dan 3 dengan angka 1.
- Pada kasus ini kita mencoba menerapkan konsep algoritma pembentukan matrix, bilangan prima, dan bilangan genap atau ganjil.
Penyelesaian:

Source code:
#include<iostream.h>
#include<conio.h>
#include<stdlib.h>
#include<iomanip.h>
/**
*bundet.com
*Array 2 Dimensi Matrix Input Random, Output Prima Ganti 0, Selain Kelipatan 2 dan 3 Ganti 1
*/
void main() {
int a[10][10], brs, klm,y;
randomize();
cout << "SOAL NO. 2"<<endl<<endl;
cout << "Masukkan jumlah baris: "; cin >> brs;
cout << "Masukkan jumlah kolom: "; cin >> klm;
cout << endl;
//soal 2A
for(int i=0; i<brs; i++) {
for(int j=0; j<klm; j++) {
a[i][j]=random(50);
}
}
for(int i=0; i<brs; i++) {
for(int j=0; j<klm; j++) {
y=0;
for(int p=1; p<=a[i][j]; p++) {
if(a[i][j]%p==0) {
y++;
}
}
if(y!=2 || a[i][j]==0) {
a[i][j]=0;
}
}
}
cout << "JAWABAN SOAL 2A" << endl <<endl;
for(int i=0; i<brs; i++) {
for(int j=0; j<klm; j++) {
cout << setw(5) << a[i][j];
}
cout << endl;
}
cout<<endl<<endl;
//soal 2B
for(int i=0; i<brs; i++) {
for(int j=0; j<klm; j++) {
a[i][j]=random(50);
}
}
for(int i=0; i<brs; i++) {
for(int j=0; j<klm; j++) {
if((a[i][j]%2!=0) || (a[i][j]%3!=0) || (a[i][j]==0)) {
a[i][j]=1;
}
}
}
cout << "JAWABAN SOAL 2B" << endl <<endl;
for(int i=0; i<brs; i++) {
for(int j=0; j<klm; j++) {
cout << setw(5) << a[i][j];
}
cout << endl;
}
getch();
}
Semoga bermanfaat & selamat belajar!