#include
using namespace std;
/* === DEKLARASI PROSEDUR === */
void devina();
void bagas();
void cesar();
void nisa();
void ajel();
void raja();
void akmal();
void bimo();
void vio();
void dimas();
/* === ISI PROSEDUR === */
void dimas() {
cout << "Nama saya Dimas" << endl;
}
void vio() {
cout << "Nama saya Vio" << endl;
cout << "Ini teman saya, namanya Dimas" << endl;
dimas();
}
void bimo() {
cout << "Nama saya Bimo" << endl;
cout << "Ini teman saya, namanya Vio" << endl;
vio();
}
void akmal() {
cout << "Nama saya Akmal" << endl;
cout << "Ini teman saya, namanya Bimo" << endl;
bimo();
}
void raja() {
cout << "Nama saya Raja" << endl;
cout << "Ini teman saya, namanya Akmal" << endl;
akmal();
}
void ajel() {
cout << "Nama saya Ajel" << endl;
cout << "Ini teman saya, namanya Raja" << endl;
raja();
}
void nisa() {
cout << "Nama saya Nisa" << endl;
cout << "Ini teman saya, namanya Ajel" << endl;
ajel();
}
void cesar() {
cout << "Nama saya Cesar" << endl;
cout << "Ini teman saya, namanya Nisa" << endl;
nisa();
}
void bagas() {
cout << "Nama saya Bagas" << endl;
cout << "Ini teman saya, namanya Cesar" << endl;
cesar();
}
void devina() {
cout << "Nama saya Devina" << endl;
cout << "Ini teman saya, namanya Bagas" << endl;
bagas();
}
int main() {
devina(); // hanya satu pemanggilan
return 0;
}
Materi pertemuan mata kuliah algoritma pemrograman yang di susun oleh Devina Hindriastika
PERTEMUAN 17 ( 24 DESEMBER 2025 )
PERTEMUAN KE 16 ( 17 DESEMBER 2025 )
#include
#include
#include
using namespace std;
struct User {
string name;
string pass;
string phone;
};
vector users;
void inputData() {
User u;
cout << "Name : ";
cin >> u.name;
cout << "Pass : ";
cin >> u.pass;
cout << "Phone : ";
cin >> u.phone;
users.push_back(u);
cout << "New data is added\n";
}
void showData() {
if (users.empty()) {
cout << "No data available\n";
return;
}
cout << "No\tName\tPass\tPhone\n";
for (int i = 0; i < users.size(); i++) {
cout << i+1 << "\t"
<< users[i].name << "\t"
<< users[i].pass << "\t"
<< users[i].phone << endl;
}
}
void deleteData() {
int no;
showData();
if (users.empty()) return;
cout << "Input data number to be deleted: ";
cin >> no;
if (no < 1 || no > users.size()) {
cout << "Invalid number\n";
} else {
users.erase(users.begin() + (no - 1));
cout << "Data is removed\n";
}
}
bool compareName(User a, User b) {
return a.name < b.name;
}
void sortingData() {
sort(users.begin(), users.end(), compareName);
cout << "Data sorted by name (ascending)\n";
}
int main() {
int choice;
do {
cout << "\n1. Input Data\n";
cout << "2. Show Data\n";
cout << "3. Delete Data\n";
cout << "4. Sorting Data\n";
cout << "5. Exit\n";
cout << "Your choice: ";
cin >> choice;
switch (choice) {
case 1: inputData(); break;
case 2: showData(); break;
case 3: deleteData(); break;
case 4: sortingData(); break;
case 5: cout << "Exit program\n"; break;
default: cout << "Invalid choice\n";
}
} while (choice != 5);
return 0;
}
PERTEMUAN KE 15 ( 16 DESEMBER 2025 )
Bubble Sort
- Also call as sinking sort or exchange sort
- Ascending : sorting from small to big
- Descending : sorting from big to small
- Value into array
- Adjacent value compared
- If increasing, then change to become decreasing
- At round :
- 2, array at 2 ( index 1) is a second smallest value
- n-1. array at n ( index n-1 ) is a biggest value
- Number of round = n - 1
void swap ( int & a, int & b ){
int temp = a
a = b;
b = temp;
Bubble sort
void bubbleSort ( int arr[], int n) {
for ( int i = 0; i < n - 1; i++ ) {
for ( int j= n-1; j > i; j-- ) { //Mulai dari belakang
if (arr [j] < arr [j - 1] {
swap ( arr [j], arr [j - 1 ]);
}
}
}
}
main
int main () {
int arr[] = {5 ,1, 4, 2, 8};
int n = sizeof(arr) / siozeof(arr[o]);
bubbleSort ( arr, n );
for ( int i = 0; i < n, i++ ) {
cout << arr[i] << "";
}
cout << endl;
return 0;
}
Kode Lengkap
#include <iostream>
using namespace std;
void bubbleSort ( int arr[], int n ) {
for ( int i = 0; i< n-1 1; i++) {
for (int j = n -1; j < i; j--) { //Mulai dari belakang
if ( arr[j] < arr [j - 1 ] ){
swap (arr [j] < arr [ j -1 ];
}
}
}
}
int main () {
int arr [] = { 5, 1, 4, 2, 8 };
int n = sizeoff (arr) / sizeof (arr[0]);
bubbleSort (arr , n );
for (int i = 0; i < n; i++) {
cout << arr [i] << "";
}
cout << endl;
return 0;
}
Selection Sort
- Value sent into array
- Search for the biggest value put at the end of arrray
- At round :
-2. array at 2 ( index 1 ) is a second small value
- n -1, array at n ( index n-1 ) is a biggest value number of round = n -1
Kode selectionSort
void selectionSort ( int arr [], int n ) {
for ( int i = n -1; i > =0; i--) {
int maxldx = 0;
for ( int j =1; j <= i;j++){
if ( arr [j] > arr { maxldx]) {
maxldx = j;
}
}
// Tukar elemen terbesar dengan elemen di posisi i swap ( arr [maxldx], arr [i]);
}
}
main
int main () {
int arr [] = { 64, 25 , 12, 22, 11 };
int n = sizeof(arr)/ sizeof(arr[0]);
cout << " Array sebelum sorting:";
for ( int i = 0;i < n; i++ ) {
cout << arr [i] << "";
}
cout << endl;
selectionSort (arr,n);
cout << " Array setelah sorting descending:";
for ( int i=0; i< n; i++) {
cout << arr[i] << "";
}
cout << endl;
return 0;
}
Insertion Sort
- Value sent into array
- Using helper container
- Value compared with index previously
- Every round did not produce the biggest value or the smallest value,
- Number of round = n -1
#include <iostream>
using namespace std;
void insertionSort (int arr[], int n) {
for (int i =1; i< n; i++) {
int key = arr[i];
int j = i - 1;
// Geser elemen yang lebih besar dari key ke kanan
while (j >= 0 && arr [j] > key) {
arr [ j + 1 ] = arr [j];
j-;
}
// Sisipkan key di posisi yang tepat
arr [ j + 1 ] = key;
}
}
int main () {
int arr [] = { 12, 11, 13, 5, 6 };
int n = sizeof (arr) / sizeof ( arr[0]);
cout << " Array sebelum sorting:";
for ( int i = 0; i < n; i++) {
cout << arr [i] << "";
}
cout << endl;
insertionSort (arr,n);
cout << " Array setelah sorting:";
for ( int i= 0; i < n; i++ ) {
cout << arr [i] << "";
}
cout << endl;
return 0;
}
Merge Sort
- Value sent into array
- divided data become two based on index
- Each one sorted
- Re-Merge data
PERTEMUAN KE 14 ( 3 DESEMBER 2025 )
#include
#include
using namespace std;
// ========================
// PROSEDUR BIODATA
// ========================
void biodata() {
cout << "=== BIODATA SAYA ===\n";
cout << "Nama : Devina Hindriastika\n";
cout << "NPM : 20251310007\n";
cout << "Kelas : A1\n";
cout << "=====================\n\n";
}
// ========================
// FUNGSI MENU
// ========================
// 1. detik ? menit & jam
void detik_ke_menit_jam() {
int detik;
cout << "Masukkan detik: ";
cin >> detik;
int menit = detik / 60;
int jam = detik / 3600;
cout << "Menit : " << menit << endl;
cout << "Jam : " << jam << endl;
}
// 2. jam & menit ? detik
void jam_menit_ke_detik() {
int jam, menit;
cout << "Masukkan jam : ";
cin >> jam;
cout << "Masukkan menit : ";
cin >> menit;
int detik = (jam * 3600) + (menit * 60);
cout << "Total detik : " << detik << endl;
}
// 3. Celcius ? Fahrenheit
float celcius_ke_fahrenheit(float c) {
return (c * 9/5) + 32;
}
// 4. Rata-rata 5 bilangan
float rata5() {
float a,b,c,d,e;
cout << "Masukkan 5 bilangan:\n";
cin >> a >> b >> c >> d >> e;
return (a+b+c+d+e)/5;
}
// 5. Keliling persegi panjang
int keliling_pp(int p, int l) {
return 2 * (p + l);
}
// 6. Keliling lingkaran
float kel_lingkaran(float r) {
return 2 * 3.14 * r;
}
// 7. Volume balok
float volume_balok(float p, float l, float t) {
return p * l * t;
}
// 8. Volume bola
float volume_bola(float r) {
return (4.0/3.0) * 3.14 * pow(r,3);
}
// 9. Volume kerucut
float volume_kerucut(float r, float t) {
return (3.14 * r * r * t) / 3;
}
// 10. Volume tabung
float volume_tabung(float r, float t) {
return 3.14 * r * r * t;
}
// 11. Mengecek cuaca
void cek_cuaca() {
int suhu;
cout << "Masukkan suhu saat ini: ";
cin >> suhu;
if(suhu < 25)
cout << "Cuaca berpotensi hujan.\n";
else
cout << "Cuaca cerah.\n";
}
// 12. Lulus / tidak
void cek_lulus() {
int nilai;
cout << "Masukkan nilai: ";
cin >> nilai;
if(nilai >= 75)
cout << "Status: Lulus\n";
else
cout << "Status: Tidak lulus\n";
}
// 13. Positif / negatif
void cek_bilangan() {
int x;
cout << "Masukkan bilangan: ";
cin >> x;
if(x > 0) cout << "Bilangan positif\n";
else if(x < 0) cout << "Bilangan negatif\n";
else cout << "Bilangan nol\n";
}
// 14. Tes logika & bahasa
void tes_logika_bahasa() {
string kata;
int angka;
cout << "Masukkan kata: ";
cin >> kata;
cout << "Masukkan angka: ";
cin >> angka;
if(kata == "AI" && angka == 10)
cout << "Logika benar!\n";
else
cout << "Logika salah.\n";
}
// 15. No hari
void hari_ke_nama() {
int hari;
cout << "Masukkan nomor hari (1-7): ";
cin >> hari;
switch(hari) {
case 1: cout << "Senin\n"; break;
case 2: cout << "Selasa\n"; break;
case 3: cout << "Rabu\n"; break;
case 4: cout << "Kamis\n"; break;
case 5: cout << "Jumat\n"; break;
case 6: cout << "Sabtu\n"; break;
case 7: cout << "Minggu\n"; break;
default: cout << "Hari tidak valid!\n";
}
}
// 16. Menentukan grade nilai
char grade(int n) {
if(n >= 85) return 'A';
else if(n >= 75) return 'B';
else if(n >= 65) return 'C';
else if(n >= 50) return 'D';
else return 'E';
}
// 17. Harga setelah diskon
float diskon(float harga, int persen) {
return harga - (harga * persen / 100);
}
// 18. Nilai grade (versi lain)
string nilai_grade(int n) {
if(n >= 90) return "Sangat Baik";
else if(n >= 75) return "Baik";
else if(n >= 60) return "Cukup";
else return "Kurang";
}
// 19. Kalkulator
void kalkulator() {
float a, b;
char op;
cout << "Masukkan angka 1 : "; cin >> a;
cout << "Masukkan operator (+ - * /): "; cin >> op;
cout << "Masukkan angka 2 : "; cin >> b;
switch(op) {
case '+': cout << "Hasil: " << a + b << endl; break;
case '-': cout << "Hasil: " << a - b << endl; break;
case '*': cout << "Hasil: " << a * b << endl; break;
case '/':
if(b != 0) cout << "Hasil: " << a / b << endl;
else cout << "Error: pembagian nol\n";
break;
default: cout << "Operator tidak valid!\n";
}
}
// 20. Cetak bilangan genap
void cetak_genap(int a, int b) {
for(int i = a; i <= b; i++) {
if(i % 2 == 0)
cout << i << " ";
}
cout << endl;
}
// ===============================
// PROGRAM UTAMA
// ===============================
int main() {
int pilihan;
do {
biodata();
cout << "=== MENU PROGRAM ===\n";
cout << "1. Detik ke menit & jam\n";
cout << "2. Jam & menit ke detik\n";
cout << "3. Celcius ke Fahrenheit\n";
cout << "4. Rata-rata 5 bilangan\n";
cout << "5. Keliling persegi panjang\n";
cout << "6. Keliling lingkaran\n";
cout << "7. Volume balok\n";
cout << "8. Volume bola\n";
cout << "9. Volume kerucut\n";
cout << "10. Volume tabung\n";
cout << "11. Cek cuaca\n";
cout << "12. Lulus / tidak\n";
cout << "13. Positif / negatif\n";
cout << "14. Tes logika & bahasa\n";
cout << "15. Nomor hari\n";
cout << "16. Grade nilai\n";
cout << "17. Harga diskon\n";
cout << "18. Nilai grade (versi lain)\n";
cout << "19. Kalkulator\n";
cout << "20. Cetak bilangan genap\n";
cout << "0. Keluar\n";
cout << "Pilih menu: ";
cin >> pilihan;
cout << endl;
switch(pilihan) {
case 1: detik_ke_menit_jam(); break;
case 2: jam_menit_ke_detik(); break;
case 3: {
float c;
cout << "Masukkan Celcius: ";
cin >> c;
cout << "Fahrenheit = " << celcius_ke_fahrenheit(c) << endl;
break;
}
case 4: cout << "Rata-rata = " << rata5() << endl; break;
case 5: {
int p,l;
cout << "Panjang: "; cin >> p;
cout << "Lebar : "; cin >> l;
cout << "Keliling = " << keliling_pp(p,l) << endl;
break;
}
case 6: {
float r;
cout << "Jari-jari: "; cin >> r;
cout << "Keliling = " << kel_lingkaran(r) << endl;
break;
}
case 7: {
float p,l,t;
cout << "Panjang Lebar Tinggi : ";
cin >> p >> l >> t;
cout << "Volume = " << volume_balok(p,l,t) << endl;
break;
}
case 8: {
float r;
cout << "Jari-jari: ";
cin >> r;
cout << "Volume bola = " << volume_bola(r) << endl;
break;
}
case 9: {
float r,t;
cout << "Jari-jari dan tinggi: ";
cin >> r >> t;
cout << "Volume kerucut = " << volume_kerucut(r,t) << endl;
break;
}
case 10: {
float r,t;
cout << "Jari-jari dan tinggi: ";
cin >> r >> t;
cout << "Volume tabung = " << volume_tabung(r,t) << endl;
break;
}
case 11: cek_cuaca(); break;
case 12: cek_lulus(); break;
case 13: cek_bilangan(); break;
case 14: tes_logika_bahasa(); break;
case 15: hari_ke_nama(); break;
case 16: {
int n;
cout << "Masukkan nilai: ";
cin >> n;
cout << "Grade = " << grade(n) << endl;
break;
}
case 17: {
float h; int d;
cout << "Harga: "; cin >> h;
cout << "Diskon (%): "; cin >> d;
cout << "Harga setelah diskon = " << diskon(h,d) << endl;
break;
}
case 18: {
int n;
cout << "Masukkan nilai: ";
cin >> n;
cout << nilai_grade(n) << endl;
break;
}
case 19: kalkulator(); break;
case 20: {
int a,b;
cout << "Awal dan akhir: ";
cin >> a >> b;
cetak_genap(a,b);
break;
}
case 0: cout << "Program selesai.\n"; break;
default: cout << "Menu tidak valid!\n";
}
cout << "\nTekan ENTER untuk kembali ke menu...";
cin.ignore(); cin.get();
} while(pilihan != 0);
return 0;
}
PERTEMUAN KE-13 ( 2 Desember 2025 )
MetodeFUNGSI & PROSEDUR DALAM C++
PERTEMUAN KE 12 (KUIS)
#include
#include
using namespace std;
int main() {
const int MAX = 50;
string nama[MAX];
float tugas[MAX], uts[MAX], uas[MAX], nilaiAkhir[MAX];
char grade[MAX];
int jumlah;
int lulus = 0, tidakLulus = 0;
float totalNilai = 0;
// Input jumlah mahasiswa (validasi)
do {
cout << "Masukkan jumlah mahasiswa (maksimal 50): ";
cin >> jumlah;
if (jumlah <= 0 || jumlah > MAX) {
cout << "Input tidak valid, coba lagi!\n";
}
} while (jumlah <= 0 || jumlah > MAX);
// Input data mahasiswa
for (int i = 0; i < jumlah; i++) {
cout << "\nMahasiswa ke-" << i + 1 << endl;
cout << "Nama : ";
cin >> nama[i];
cout << "Nilai Tugas : ";
cin >> tugas[i];
cout << "Nilai UTS : ";
cin >> uts[i];
cout << "Nilai UAS : ";
cin >> uas[i];
// Hitung nilai akhir
nilaiAkhir[i] = 0.3 * tugas[i] + 0.3 * uts[i] + 0.4 * uas[i];
totalNilai += nilaiAkhir[i];
// Tentukan grade
if (nilaiAkhir[i] > 85) {
grade[i] = 'A';
lulus++;
} else if (nilaiAkhir[i] >= 70) {
grade[i] = 'B';
lulus++;
} else if (nilaiAkhir[i] >= 55) {
grade[i] = 'C';
lulus++;
} else if (nilaiAkhir[i] >= 40) {
grade[i] = 'D';
tidakLulus++;
} else {
grade[i] = 'E';
tidakLulus++;
}
}
// Tampilkan tabel
cout << "\n============================================\n";
cout << "No Nama Nilai Akhir Grade\n";
cout << "============================================\n";
for (int i = 0; i < jumlah; i++) {
cout << setw(2) << i + 1 << " "
<< setw(10) << nama[i] << " "
<< fixed << setprecision(2) << nilaiAkhir[i] << " "
<< grade[i] << endl;
}
cout << "============================================\n";
// Rata-rata
cout << "Rata-rata nilai akhir : " << totalNilai / jumlah << endl;
cout << "Jumlah lulus : " << lulus << endl;
cout << "Jumlah tidak lulus : " << tidakLulus << endl;
return 0;
}
PERTEMUAN KE-11
#include
#include //untuk setw dan setprecision
using namespace std;
int main (){
int jumlahSiswa, jumlahNilai;
char ulang_mhs, ulang;
cout << " ===Program Nilai Siswa ( Array 2D )=== " << endl;
cout << " ==========Devina Hindriastika==========\n" << endl;
do{
do{
cout << " Masukkan Jumlah Siswa:";
cin >> jumlahSiswa;
cout << " Masukkan Jumlah Nilai per Siswa:";
cin >> jumlahNilai;
cout << "\nApakah Anda Ingin Menambah Siswa? (y/n):";
cin >> ulang_mhs;
}while ( ulang_mhs == 'y' || ulang_mhs == 'Y');
string nama[jumlahSiswa];
float nilai[jumlahSiswa][jumlahNilai];
float rata[jumlahSiswa];
// Input Data Siswa
for ( int i=0; i < jumlahSiswa; i++ ){
cout << "\nMasukkan Nama Siswa ke- " << i+1 << " : ";
cin >> nama [i];
float total = 0;
for ( int j=0 j < jumlahNilai; j++ ){
cout << "Nilai ke- " << j+1 << " : ";
cin >> nilai[1][j];
total += nilai[i][j];
}
rata[i] = total / jumlahNilai;
}
// Cetak Hasil
cout << "\n====Daftar Nilai Siswa====\n"<< endl;
cout << left << setw(15) << "Nama";
//Kolom Nilai Dibuat Otomatis
for ( int j=0; j> u;ang;
}while ( ulang == 'y' || ulang == 'Y');
cout << "\nProgram Selesai! Terima Kasih";
return 0;
}
2. HITUNG STANDAR DEVIASI
#include
#include // untuk sqrt() dan pow()
using namespace std;
int main(){
int n;
double jumlah = 0, rata, jumlah_selisih_kuadrat = 0, std_dev;
char ulang;
cout << "====Program Menghitung Standar Deviasi====" << endl;
cout << "===========Devina Hindriastika============\n" << endl;
do{
cout << "\nMasukkan jumlah data: ";
cin >> n;
double data[n];
// Input data dan simpan ke array
cout << "Masukkan data:" << endl;
for(int i = 0; i < n; i++){
cout << "Data ke-" << i + 1 << ": ";
cin >> data[i];
jumlah += data[i];
}
// Hitung rata-rata
rata = jumlah / n;
// Hitung jumlah selisih kuadrat
for(int i = 0; i < n; i++){
jumlah_selisih_kuadrat += pow(data[i] - rata, 2);
}
// Hitung standar deviasi
std_dev = jumlah_selisih_kuadrat / (n - 1);
// Cetak hasil
cout << "\nRata-Rata: " << rata << endl;
cout << "Standar Deviasi: " << std_dev << endl;
cout << "\nApakah Anda Ingin Mengulang? (y/n): ";
cin >> ulang;
} while (ulang == 'y' || ulang == 'Y');
cout << "\nProgram selesai. Terima kasih!";
return 0;
}
3. HITUNG JUMLAH 2 MATRIKS
#include
using namespace std;
int main(){
int matriks1[2][2], matriks2[2][2], hasil[2][2];
char ulang;
cout << "===Program Penjumlahan Dua Matriks 2x2===" << endl;
cout << "===========Devina Hindriastika============\n" << endl;
do{
// Input Matriks 1
cout << "\nMasukkan Elemen Matriks 1: " << endl;
for(int i = 0; i < 2; i++){
for(int j = 0; j < 2; j++){
cout << "Matriks1[" << i + 0 << "][" << j + 1 << "]: ";
cin >> matriks1[i][j];
}
}
// Input Matriks 2
cout << "\nMasukkan Elemen Matriks 2: " << endl;
for(int i = 0; i < 2; i++){
for(int j = 0; j < 2; j++){
cout << "Matriks2[" << i + 0 << "][" << j + 1 << "]: ";
cin >> matriks2[i][j];
}
}
// Penjumlahan Matriks
for(int i = 0; i < 2; i++){
for(int j = 0; j < 2; j++){
hasil[i][j] = matriks1[i][j] + matriks2[i][j];
}
}
// Cetak Hasil
cout << "\nHasil Penjumlahan Matriks: " << endl;
for(int i = 0; i < 2; i++){
for(int j = 0; j < 2; j++){
cout << hasil[i][j] << "\t";
}
cout << endl;
}
cout << "\nApakah Anda Ingin Mengulang? (y/n): ";
cin >> ulang;
} while (ulang == 'y' || ulang == 'Y');
cout << "\nProgram selesai. Terima kasih!";
return 0;
}
4. TRANPOS MATRIKS
#include
using namespace std;
int main(){
int baris, kolom;
char ulang;
cout << "===Program Transpos Matriks===" << endl;
cout << "======Devina Hindriastika=======\n" << endl;
do{
cout << "\nMasukkan Jumlah Baris: ";
cin >> baris;
cout << "Masukkan Jumlah Kolom: ";
cin >> kolom;
int matriks[10][10]; // batas maksimum 10x10 hanya contoh
int transpos[10][10];
cout << "\nMasukkan Elemen Matriks: " << endl;
for(int i = 0; i < baris; i++){
for(int j = 0; j < kolom; j++){
cout << "Data [" << i + 0 << "][" << j + 1 << "]: ";
cin >> matriks[i][j];
}
}
// Proses Transpos
for(int i = 0; i < baris; i++){
for(int j = 0; j < kolom; j++){
transpos[j][i] = matriks[i][j];
}
}
// Cetak Matriks Awal
cout << "\nMatriks Awal: " << endl;
for(int i = 0; i < baris; i++){
for(int j = 0; j < kolom; j++){
cout << matriks[i][j] << "\t";
}
cout << endl;
}
// Cetak Transpos
cout << "\nHasil Transpos Matriks: " << endl;
for(int i = 0; i < kolom; i++){
for(int j = 0; j < baris; j++){
cout << transpos[i][j] << "\t";
}
cout << endl;
}
cout << "\nApakah Anda Ingin Mengulang? (y/n): ";
cin >> ulang;
} while (ulang == 'y' || ulang == 'Y');
cout << "\nProgram Selesai! Terima Kasih";
return 0;
}
5. MATRIKS IDENTITAS
#include
using namespace std;
int main() {
const int n = 20; // batas maksimum ukuran matriks
int ukuran;
char ulang;
cout << "==== Program Matriks Identitas ====" << endl;
cout << "====== Devina Hindriastika ======\n" << endl;
do {
do {
cout << "Masukkan ukuran matriks (n): ";
cin >> ukuran;
if (ukuran <= 0 || ukuran > n) {
cout << "Nilai n tidak valid. Maksimal " << n << ". Coba lagi!\n\n";
}
} while (ukuran <= 0 || ukuran > n);
// Cetak matriks identitas
cout << "\nMatriks identitas " << ukuran << " x " << ukuran << ":\n";
for (int i = 0; i < ukuran; i++) {
for (int j = 0; j < ukuran; j++) {
cout << (i == j ? 1 : 0) << " ";
}
cout << "\n";
}
cout << "\nApakah Anda ingin mengulang? (y/n): ";
cin >> ulang;
cout << endl;
} while (ulang == 'y' || ulang == 'Y');
cout << "Program Selesai! Terima Kasih.";
return 0;
}