PERTEMUAN 17 ( 24 DESEMBER 2025 )

TUGAS MEMANGGIL NAMA TEMAN

#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;
}

PERTEMUAN KE 16 ( 17 DESEMBER 2025 )

EXERCISE ! Create a program that allows to input user authentication details, show the inputted data, sorting name data by ascending

#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 :
- 1, array at 1 ( index 0 ) is a smallest value

- 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
Prosedur swap

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 :
          - 1, array at 1 ( index 0 ) is a small value

          -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
Kode Lengkap

#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 )

BUAT PROGRAM MENU UNTUK MEMANGGIL SEMUA FUNGSI YANG TELAH ANDA BUAT.

#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 )

FUNGSI & PROSEDUR DALAM C++

Metode 
 Adalah cara atau langkah-langkah yang digunakan di dalam sebuah fungsi untuk menyelesaikan suatu tugas tertentu. Misal :
1. Membuat nasi goreng ( nama fungsi )
2. () kurung argumen
3. {  untuk mengikat
4. return 0;  untuk pengembalian 
}
5. wadah
// deklarasi data 

Fungsi
Fungsi merupakan sekelompok statement yang digabung untuk melakukan suatu pekerjaan.
Setiap program C++ pasti minimal memiliki satu fungsi "main()".

Deklarasi Fungsi
Deklarasi fungsi membutuhkan nama fungsi, tipe kembalian, dan parameter.

Definisi Fungsi
tipe_balikan nama_fungsi  (daftar parameter)
{
//kode Fungsi

return nilai_balikan;
}

Bagian dari Fungsi
Tipe balikan: Sebuah fungsi boleh mempunyai nilai balikan. tipe_balikan merupakan tipe data dari nilai tersebut.
Nama fungsi: Nama yang digunakan untuk pemanggilan fungsi.

Cara memanggil penambahan
#include <iostream>
using namespace std;

int penambahan ( int a , int b ) {
   return  a+ b ;
}
int main () {
   int b,c;
   cout << " Masukkan bilangan pertama ";
   cin >> b;
   cout << " Masukkkan bilangan kedua";
   cin >> c;
   int a = penambahan ( b, c );
   cout << a ;

   return 0;
}

Contoh pemanggilan fungsi 
int x = 10;
int y = 20;
int hasil = penambahan ( x, y );

Prosedur 
Prosedur merupakan fungsi yang tidak mempunyai nilai balikan. Nilai balikannya didefinisikan "void"

Contoh Prosedur
void cetak3(string a) {
cout << a <<< endl;
cout << a <<<< endl;
cout << a <<< endl;
}

Mengirim Array sebagal Parameter (Ukuran Terpisah)
#include <iostream>
using namespace std;

// Fungsi menerima array dan ukurannya

void printArray(int arr[], int size) {
 for (int i=0; i < size; i++) {
cout << arr[i] <<"";
}
cout << endl;
}
int main() {

int data[] = [10, 20, 30, 40, 50);
 int n = sizeof(data)/sizeof(data[0]):

printArray(data, n); // pemanggilan fungsi

return 0;
}

Mengirim Array sebagai Parameter dengan Pointer
#include <iostream>
using namespace std;

void printArray(int *arr, int size) (
for (int i = 0; i < size; i++) {
cout << arr[i] <<<"";
}
cout << endl;
}
int main() {
int data[] = (5, 7, 9, 11);
printArray(data, 4); // array otomatis decay menjadi pointer

return 0;

}

Fungsi jumlah
#include <iostream>
using namespace std;
 int jumlah(int a, int b) (

return a + b;
}
int main() 1
{
cout << jumlah(2, 3);

return 0;
}

PERTEMUAN KE 12 (KUIS)

Soal Kasus 1: Pengelolaan Nilai Mahasiswa Sebuah program akan digunakan untuk mengelola nilai mahasiswa dalam satu kelas. Program harus mampu: Menerima input jumlah mahasiswa (maksimal 50 orang). Harus diuji. Untuk setiap mahasiswa, input: a. Nama (string) b. Nilai tugas, UTS, dan UAS (tipe float) Hitung nilai akhir dengan rumus: NilaiAkhir = 0.3 × Tugas + 0.3 × UTS + 0.4 × UAS dimana: A : > 85 B : 70 – 84 C : 55 – 69 D : 40 – 54 E : < 40 Tampilkan daftar mahasiswa dalam bentuk tabel: No | Nama | Nilai Akhir | Grade -------------------------------- 1 | Andi | 83.5 | B 2 | Budi | 90.2 | A ... Hitung dan tampilkan: Rata-rata nilai akhir seluruh mahasiswa Jumlah mahasiswa yang lulus (grade A, B, C) dan tidak lulus (D, E) Materi yang diuji: Tipe data: string, float, integer Percabangan: menentukan grade dan status kelulusan Pengulangan: input data mahasiswa dan perhitungan rata-rata Array: menyimpan nilai mahasiswa

#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

1. LATIHAN MEMBUAT CODE PROGRAM ARRAY 2D ( Input nilai dan hitung rata - rata )

#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;
}

PERTEMUAN KE-10 ARRAY

 Array 1 & 2 Dimensi Dalam Bahasa C++

Array 1 Dimensi

              Array 1 Dimensi adalah Kumpulan elemen bertipe sama yang disimpan berurutan dalam memori. Array juga seperti deretan loker atau rak buku.

Deklarasi Array 1 Dimensi

              Sintaks

·       Tipe_data nama_data [jumlah_data];

·       Int nilai [5];

Inisialisasi Array 1 Dimensi

·       int nilai [5] = {80,75,90,85,100};

Atau dikosongkan

·       int nilai [ ] = {80,75,90,85,100};

Bisa 5 keatas, tapi tidak bisa 4 kebawah

Akses Elemen Array 1 Dimensi

              Sintak : nama_data[indek_data];

·       cout<<nilai[2];

Perulangan Array 1 Dimensi

              for (int i=0; i<5; i++) cout<<nilai[i]<<” “;

Operasi Dasar Array 1 Dimensi

·       Mencari rata-rata

·       Mencari nilai maksimum/minimum

·       Mengurut data

·       Mencari data

 

 

Jenis Kurung di C++

·       ( ) = Argumen

·       { } = Blok

·       [ ] = Array

 

 

 

Array 2 Dimensi

Array 2 Dimensi adalah struktur data yang menyimpan elemen-elemen dalam format tabel yang terdiri dari baris dan kolom, mirip dengan matriks.

Deklarasi Array 2 Dimensi

·       Tipe_data nama_data[jumlah_baris][jumlah_kolom];

·       int matriks[3][4];

Inisialisasi Array 2 Dimensi

              int matriks [2][5] = {{1,2,3},{4,5,6}};

Akses Elemen Array 2 Dimensi

              Cout<<matriks[1][2];

Loop Bersarang Array 2 Dimensi

              for (i) for (j) cout<<matriks[[i][j];

PERTEMUAN KE 9 PRAKTEK ( 22 NOVEMBER 2025 )

1. ANAK AYAM

#include 
  using namespace std;
  
  int main () {
  int jumlah;
  
  cout << " Masukkan jumlah anak ayam : " ;
  cin >> jumlah;
  
  cout << " Mulai bernyanyi..." << endl << endl ;
  
  for (int i = jumlah; i >= 1; i--) {
  cout << "  Tekotek kotek kotek anak ayam turun " << i << endl;
  
  if (i>1)
  cout << " Mati satu tinggal " << i - 1 << endl;
  else
  cout << " Mati satu tinggal induknyan" << endl;
  
  // delay agar tidak terlalu cepat
  for ( double j = 1;j <= 100000000; j++) {}
  cout << endl;
  }
  cout << " selesai bernyanyi!" << endl;
  
  return 0;
}
2. GRADE NILAI

#include 
using namespace std;

int main () {
	int nilai;
	
	//Looping sampai nilai valid ( 0 - 100 ) ;
	do {
		cout << " Masukkan nilai ( 0 - 100 ):";
		cin >> nilai ;
		
		if ( nilai < 0 || nilai > 100 ) {
			cout << " X Nilai tidak valid! Harus antara 0 sampai 100.\n";
		}
	} while ( nilai < 0 || nilai > 100) ;
	
	// Konversi nilai ke huruf
	char grade;
	if ( nilai >= 85 )
	grade = 'A';
	else if ( nilai >= 70 )
	grade = 'B';
	else if ( nilai >= 55 )
	grade = 'C';
	else if ( nilai >= 40 )
	grade = 'D';
	else
	grade = 'E';
	
	cout << " Nilai huruf kamu :" << grade << endl;
	
	return 0;
}
3. KALKULATOR SEDERHANA

#include 
using namespace std;

int main () {
	double bil1, bil2, hasil;
	int pilihan;
	
	while (true) {
		//Tampilkan menu
		cout << "n\=== Kalkulator Sederhana ===\n";
		cout << "1. Tambah (+)\n";
		cout << "2. Kurang (-)\n";
		cout << "3. Kali (*)\n";
		cout << "4. Bagi (/)\n";
		cout << "5. Keluar\n";
		cout << " Masukkan pilihan ( 1 - 5 ):";
		cin >> pilihan;
		
		if ( pilihan == 5 ) {
			cout << " Terima kasih. Program selesai.\n";
			break; // keluar dari loop
		}
		if ( pilihan < 1 || pilihan > 5 ) {
			cout << " Pilihan tidak valid. Silakan coba lagi.\n";
			continue;
		}
		
		// Memasukkan bilangan 
		cout << " Masukkan bilangan pertama:";
		cin >> bil1;
		cout << " Masukkan bilangan kedua:";
		cin>> bil2;
		
		switch ( pilihan) {
			case 1:
				hasil = bil1 + bil2 ;
				cout << " Hasil: " << bil1 << "+" << bil2 << "=" << hasil << endl;
				break;
				case 2:
					hasil = bil1 - bil2 ;
					cout << " Hasil: " << bil1 << "-" << bil2 << "=" << hasil << endl;
					case 3:
						hasil = bil1 * bil2 ;
						cout << " Hasil :" << bil1 << "*" << bil2 << "=" << hasil << endl;
						case 4:
							if ( bil2 == 0) {
								cout << " Kesalahan : Pembagian dengan nol tidak diprbolehkan.\n";
							} else {
							} hasil = bil1 / bil2 ;
							cout << " Hasil" << bil1 << "/" << bil2 << "=" << hasil << endl;
		}
		break;
	}
	return 0;
}
4. BILANGAN GENAP

#include 
using namespace std;

int main () {
	int awal, akhir ;
	
	//Input dari pengguna
	cout << " Masukkan angka awal :";
	cin >> awal ;
	cout << " Masukkan angka akhir :";
	cin >> akhir;
	
	//Validasi: pastikan awal <= akhir
	if ( awal > akhir ) {
		cout << " Angka awal tidak boleh lebih besar dari angka akhir." << endl;
		return 1; // keluar dari program dengan kode eror
	}
	cout<< "\nBilangan genap dari " << awal << " sampai " << akhir << "adalah:\n";
	
	// Perulangan untuk mencetak bilangan genap
	for ( int i = awal; i <= akhir; i++) {
		if ( i % 2 == 0 ) {
			cout << i << "" ;
		} 
	}
cout << endl;
return 0;
}

PERTEMUAN KE-8 LOOPING

  •  Konsep pemrograman untuk mengulang eksekusi blok kode.
  • Digunakan ketika kita perlu melakukan tugas yang sama berulang kali.
  • Menghemat waktu dan membuat kode lebih efisien.
  • Contoh : Menampilkan angka 1-100 , menghitung total dll.
Looping dalam kehidupan sehari - hari :

  • Menghitung uanng koin satu persatu.
  • Membaca halaman buku dari awal sampai akhir.
  • Memasak mie instan ( mengulangi proses tertentu ).
  • Mengecek kehadiran mahasiswa.
  • Mengetik dokumen yang sama berkali - kali.
Jenis - jenis looping dalam C++

1. For loop ( belum diketahui ) 

2. While loop ( minimal satu kali mengulang )

3. Do - while ( sudah mengetahui mau mengulang berapa kali )

FOR LOOP

  • Digunakan ketika jumlah perulangan tidak diketahui
  • Memiliki tiga komponen ( inisialisasi, kondisi, increment )
  • Sintaks : for ( int ; condition ; increment )
  • Contoh : Menampilkan angka 1 - 100 array processing
Sintaks dasar :

for ( inisialisasi ; kondisi ; increment / decrement ) {

// blok kode yang diulang

}

contoh : for ( int i =1 ; < = 10 ; i++ ) {

cout << i << endl ;

}

Hati-hati: Infinite Loop

Infinite Loop terjadi ketika:

·       Kondisi selalu true

·       Tidak ada increment/decrement

·       Salah penulisan kondisi

Kontrol Loop: Break dan Continue

Break:

·       Menghentikan loop secara paksa

·       Keluar dari loop sepenuhnya

Continue:

·       Melewati iterasi saat ini

·       Langsung ke iterasi berikutnya

Nested Loop (Loop Bersarang)

·       Loop di dalam loop

·       Digunakan untuk pattern printing, matrix operations

·       Contoh: membuat segitiga Bintang

Tips dan Best Practices

·       Pilih jenis loop yang sesuai dengan kebutuhan

·       Inisialisasi variabel dengan benar

·       Pastikan ada kondisi berhenti yang jelas

·       Hindari infinite loop

·       Gunakan nama variabel yang meaningful

·       Test dengan boundary values

·       Comment your code untuk penjelasan

·       Break down complex loops menjadi bagian sederhana

PERTEMUAN KE-7 KUIS (15 OKTOBER 2025 )

1. a. STRUKTUR SEKUNSIAL BENTUK FLOWCHART " MENGHITUNG LUAS PERSEGI PANJANG "

#include 
using namespace std;

int main () {
    float panjang, lebar, luas ;
    
    cout << " Masukkan panjang: " ;
    cin >> panjang;
    cout << " Masukkan lebar: " ;
    cin >> lebar;
    
    luas = panjang * lebar ;
    cout << " Luas persegi panjang= " << luas << endl;
    
    return 0;
}
b. STRUKTUR PERCABANGAN BENTUK PSEUDOCODE " MENENTUKAN NILAI LULUS ATAU TIDAK"

#include 
using namespace std;

int main () {
    float nilai ;
    
    cout << " Masukkan nilai:" ;
    cin >> nilai;
    if ( nilai >= 60 ) {
        cout << " Lulus:" ;
    } else {
        cout << " Tidak lulus:" ;
    }
    
    return 0;
}
2. a. STRUKTUR SEKUNSIAL ( KASUS MENGHITUNG TOTAL BELANJA )

#include 
using namespace std;

int main () {
    float harga_barang1, harga_barang2, total_belanja;
    
    cout << " Masukkan harga barang1:";
    cin >> harga_barang1 ;
    cout << " Masukkan harga barang2:" ;
    cin >> harga_barang2 ;
    
    total_belanja = harga_barang1 + harga_barang2 ;
    cout << " total_belanja :" << total_belanja << endl ;
    
    return 0;
}
b. STRUKTUR PERCABANGAN ( KASUS MENGECEK SESEORANG DEWASA ATAU BELUM )

#include 
using namespace std;

int main () {
   int umur;
   
   cout << " Masukkan umur = " ;
   cin >> umur ;
   
   if ( umur >= 17 ) {
       cout << " Dewasa " << endl ;
   } else {
       cout << " Belum dewasa " << endl ;
   }
   
   return 0 ;
} 
3. TULISKAN OUTPUT YANG DIHASILKAN DAN JELASKAN ALUR LOGIKA EKSEKUSI PROGRAM TERSEBUT

#include 
using namespace std;

int main () {
   int x = 7 ;
   if ( x > 10 )
   cout << " Besar " ;
   else
   cout << " Kecil " ;
   cout << " Nilai x adalah " << x;
   
   return 0;
}
4. BUAT POTONGAN C++ UNTUK MEMBACA SATU BILANGAN BULAT KEMUDIAN MENAMPILKAN PESAN

#include 
using namespace std;

int main () {
   int bilangan ;
   
   cout << " Masukkan satu bilangan bulat =" ;
   cin >> bilangan ;
   
   if ( bilangan >0 ) {
       cout << " Positif " << endl ;
   }
   else if ( bilangan <0 ) {
       cout << " Negatif " << endl ;
   }
   
   return 0;
}
5. TULISKAN PROGRAM SEDERHANA MENGGUNAKAN SWITCH-CASE UNTUK MENAMPILKAN NAMA HARI BERDASARKAN NOMOR 1-7

#include 
using namespace std;

int main () {
   int nomor;
   
   cout << " Masukkan nomor hari ( 1 - 7 ):" ;
   cin >> nomor ;
   
   switch ( nomor ) {
       case 1 :
       cout << " Senin " << endl ;
       break ;
       case 2 :
       cout << " Selasa " << endl ;
       break ;
       case 3 :
       cout << " Rabu " << endl ;
       break ;
       case 4 :
       cout << " Kamis " << endl ;
       break ;
       case 5 :
       cout << " Jumat " << endl ;
       break ;
       case 6 :
       cout << " Sabtu " << endl ;
       break ;
       case 7 :
       cout << " Minggu " << endl ;
       break ;
       
       default :
       cout << " Nomor hari tidak valid ! Masukkan angka 1 sampai 7 " << endl ; }
       
       return 0;
   }
6. BUAT FLOWCHART DAN TULISKAN PROGRAM C++ UNTUK MENGHITUNG TOTAL YANG HARUS DIBAYAR PEMBELI SETELAH DISKON

#include 
using namespace std;

int main () {
  double total_belanja, total_biaya, total_bayar, diskon ;
  
  cout << " Masukkan total belanja : Rp" ;
  cin >> total_belanja ;
  if ( total_belanja > 200000) {
      diskon = 0.10 * total_belanja,  // diskon 10 % ;
      total_bayar = total_belanja - diskon;
      } else {
          total_bayar = total_belanja ; // tanpa diskon
      }
      cout << " Total yang harus dibayar : Rp" << total_bayar << endl;
      
      return 0 ;
}
7. BUAT FLOWCHART DAN PROGRAM YANG MEMINTA INPUT NILAI TUGAS, NILAI UTS DAN NILAI UAS

#include 
using namespace std;

int main () {
  double tugas, uts, uas, na ;
  char nilai ;
  
  cout << " Masukkan nilai tugas ( 0 - 100 ):" ;
  cin >> tugas ;
  cout << " Masukkan nilai uts ( 0 - 100 ):" ;
  cin >> uts ;
  cout << " Masukkan nilai uas ( 0 - 100 ):" ;
  cin >> uas ;
  
  //Hitung nilai akhir
  na = 0.3 * tugas + 0.3 * uts + 0.4 * uas ;
  //Tentukan nilai huruf
  if ( na >= 85 )
  nilai = 'A';
  else if ( na >= 70 )
  nilai = 'B';
  else if ( na >= 60 )
  nilai = 'C';
  else if ( na >= 50 )
  nilai = 'D' ;
  else if ( na >= 40 )
  nilai = 'E' ;
  
  cout << "\nNilai akhir:" << na << endl;
  cout << " Nilai huruf :" << nilai << endl ;
  
  return 0;
}
8. ANALISIS KESALAHAN KODE

#include 
using namespace std;

int main () {
 int nilai = 75 ;
 
 if ( nilai >=60 )
 cout << " Lulus ";
 else 
 cout << " Tidak lulus :" ;
 
 return 0;
 
}
9. BUAT PROGRAM UNTUK MENENTUKAN APAKAH SESEORANG DINYATAKAN LULUS, TIDAK LULUS DENGAN KETENTUAN NILAI DAN PERSENTASE KEHADIRAN

#include 
using namespace std;

int main () {
 double nilai, kehadiran ;
 
 cout << " Masukkan nilai ( 0 - 100 ):" ;
 cin >> nilai ;
 cout << " Masukkan persentase kehaidran ( 0 - 100 ) :" ;
 cin >> kehadiran ;
 if ( nilai <60 ) {
     cout << " Tidak lulus ( Nilai )" << endl ;
 }
 else if ( kehadiran <75) {
     cout << " Tidak lulus ( kehadiran )" << endl;
 }
 else {
     cout << " Lulus" << endl;
 }
 return 0;
}
10. BUAT PROGRAM C++ UNTUK SISTEM SEDERHANA PENILAIAN UJIAN MASUK

#include 
using namespace std;

int main () {
 double logika, bahasa, rata ;
 
 cout << " Masukkan nilai tes logika: ";
 cin >> logika ;
 cout << " Masukkan nilai tes bahasa :";
 cin >> bahasa ;
 
 //Hitung rata-rata
 rata = ( logika + bahasa ) / 2;
 cout << "n\nRata-rata:" << rata << endl;

if ( rata >=70 ) {
    cout << "Lulus" << endl ;
} else {
    cout << " Tidak lulus - perlu ditingkatkan" << endl;
    return 0;
}
}

PERTEMUAN KE 6 TUGAS (8 OKTOBER 2025)

1. KALKULATOR SEDERHANA

#include 
using namespace std;

int main () {
    char opsi;
    float angka1, angka2;
    
    cout << "=== Kalkulator sederhana ===" << endl;
    cout << " Masukkan angka pertama: ";
    cin >> angka1;
    cout << "Masukkan angka kedua: ";
    cin >> angka2;
    
    cout << "Pilih operasi yang diinginkan :" << endl;
    cout << "1. Penjumlahan (+)" << endl;
    cout << "2. Pengurangan (-)" << endl;
    cout << "3. Perkalian (*)" << endl;
    cout << "4. Pembagian (/)" << endl;
    cout << " Masukkan pilihan anda (1/2/3/4):";
    cin >> opsi;
    
    switch (opsi) {
        case '1':
        cout << angka1 << " + " << angka2 << " = " << angka1 + angka2;
        break;
        case '2':
        cout << angka1 << " - " << angka2 << " = " << angka1 - angka2;
        break;
        case '3':
        cout << angka1 << " & " << angka2 << " = " << angka1 * angka2;
        break;
        case '4':
         if ( angka2 != 0)
         cout << angka1 << " / " << angka2 << " = " << angka1 / angka2;
         else
         cout << "Error : Pembagian dengan nol tidak diperbolehkan";
         break;
         default:
         cout << " Pilihan tidak valid ";
         break;
        
    }
    
    cout << endl;
    return 0;
}
2. BULAN DAN MUSIM

#include 
#include 
using namespace std;

string getMusim(int bulan) {
    switch (bulan) {
        case 11: case 12: case 1: case 2: case 3:
            return "Musim Hujan";
        case 4: case 5: case 6: case 7: case 8: case 9: case 10:
            return "Musim Kemarau";
        default:
            return "Bulan tidak valid!";
    }
}

string getNamaBulan(int bulan) {
    string namaBulan[] = {
        "Januari", "Februari", "Maret", "April", "Mei", "Juni",
        "Juli", "Agustus", "September", "Oktober", "November", "Desember"
    };
    if (bulan >= 1 && bulan <= 12)
        return namaBulan[bulan - 1];
    else
        return "Tidak diketahui";
}

int main() {
    int bulan;
    cout << "=== Program Musim dan Bulan di Indonesia ===" << endl;
    cout << "Masukkan nomor bulan (1-12): ";
    cin >> bulan;

    string nama = getNamaBulan(bulan);
    string musim = getMusim(bulan);

    cout << "\nBulan: " << nama << endl;
    cout << "Musim di Indonesia: " << musim << endl;

    return 0;
}
3. NILAI

#include > nilai;
    
    if (nilai >= 90 && nilai <=100) {
        cout << "Grade : A" << endl;
    }
    else if ( nilai >=80) {
        cout << "Grade : B" << endl;
    }
    else if (nilai >=70) {
        cout << "Grade : C" << endl;
    }
    else if (nilai >= 60 ) {
        cout << " Grade :D" << endl;
    }
    else {
        cout << " Nilai tidak valid !" << endl;
    }
    
    return 0;
 }
 

PERTEMUAN KE - 5 ( SELASA 7 OKTOBER 2025 )

 STRUKTUR KONTROL

 Struktur kontrol adalah mekanisme untuk mengatur alur eksekusi program.

 Ada 3 jenis :
1. Struktur sekuensial
2.  Struktur percabangan ( Decision making )
3. Struktur perulangan ( looping )  
 
  • STRUKTUR SEKUNSIAL 
Ekurnsial perintah secara berurutan dari atas kebawah. Contoh : input data, proses data, menampilkan output. 
Contoh kasus : 
kasus : Menampilkan nama dan umur pengguna 
langkah : input nama 
input umur 
Tampilkan nama dan umur 

Struktur if- else 
if ( kondisi ) {
// aksi jika benar 
 } else {
// aksi jika salah} 

Contoh kasus if - else 
kasus : Menentukan lulus atau tidak ( nilai >= 60 )
Algoritma :
Input nilai 
Jika nilai >= 60 tampilkan "lulus"
Jika tidak, tampilkan " tidak lulus "


Struktur if - else if - else ( if bertingkat )
if ( kondisi 1 ) {
// aksi 1
} else if ( kondisi 2 ) { 
} else {
// aksi default
}

Contoh kasus 
kasus : menentukan grade nilai 
 > = 80 : A
> = 70 : B 
> = 60 : C 
> = 50 : D
<  50 : E 

Sintaks c / java 

C
#include <stdio.h>  // Library

int main() {        // Fungsi utama
    printf("Hello, World!\n");
    return 0;
}

Java
#include <stdio.h>  // Library

int main() {        // Fungsi utama
    printf("Hello, World!\n");
    return 0;
}