Page 195 - MODUL ALGORTIMA DAN PEMROGRAMAN
P. 195

Penjelasan:
                  •   Program ini menggunakan struct Buku untuk menyimpan data buku (judul, penulis, harga).
                  •   Array daftarBuku dengan ukuran maksimum 100 digunakan untuk menyimpan koleksi buku.

                  •   Variabel jumlahBuku digunakan untuk melacak jumlah buku yang tersimpan saat ini.
                  •   Fungsi main() berisi kode untuk menambahkan buku baru, menampilkan daftar buku, dan
                      mencari buku berdasarkan judul.
                  •   Loop while digunakan untuk menambahkan buku baru hingga batas maksimum tercapai.
                  •   Fungsi getline() digunakan untuk membaca input judul dan penulis buku.
                  •   Fungsi cin digunakan untuk membaca input harga buku.
                  •   Loop for digunakan untuk menampilkan daftar buku yang tersimpan.
                  •   Fungsi if digunakan untuk memeriksa apakah ada buku yang terdaftar.
                  •   Fungsi getline() digunakan untuk membaca input judul buku yang dicari.
                  •   Loop for digunakan untuk mencari buku berdasarkan judul.
                  •   Fungsi if digunakan untuk menunjukkan apakah buku yang dicari ditemukan.

                  4.  Program

                  #include <stdio.h>

                  #define MAX_KELAS 6 // Maksimal 6 kelas
                  #define MAX_SISWA_PER_KELAS 40 // Maksimal 40 siswa per kelas

                  int main() {
                    // Deklarasi array dua dimensi untuk menyimpan nilai ulangan harian
                    int nilai[MAX_KELAS][MAX_SISWA_PER_KELAS];

                    // Variabel untuk menyimpan jumlah siswa di setiap kelas
                    int jumlahSiswaPerKelas[MAX_KELAS];

                    // Meminta input jumlah siswa di setiap kelas
                    for (int i = 0; i < MAX_KELAS; i++) {
                      printf("Masukkan jumlah siswa di kelas %d: ", i + 1);
                      scanf("%d", &jumlahSiswaPerKelas[i]);
                    }

                    // Meminta input nilai ulangan harian siswa
                    for (int i = 0; i < MAX_KELAS; i++) {
                      for (int j = 0; j < jumlahSiswaPerKelas[i]; j++) {
                        printf("Masukkan nilai ulangan harian siswa kelas %d, siswa %d: ", i
                  + 1, j + 1);
                        scanf("%d", &nilai[i][j]);
                      }
                    }

                    // Menghitung nilai rata-rata setiap siswa
                    for (int i = 0; i < MAX_KELAS; i++) {
                      for (int j = 0; j < jumlahSiswaPerKelas[i]; j++) {
                        int totalNilai = 0;
                        for (int k = 0; k < jumlahSiswaPerKelas[i]; k++) {
                          totalNilai += nilai[i][k];
                        }
                        float rataRataNilaiSiswa = (float) totalNilai /
                  jumlahSiswaPerKelas[i];
                        printf("Nilai rata-rata siswa kelas %d, siswa %d: %.2f\n", i + 1, j
                  + 1, rataRataNilaiSiswa);
                      }                                                                                  186
                      }

                    // Menghitung nilai rata-rata setiap kelas
                    for (int i = 0; i < MAX_KELAS; i++) {
                      int totalNilaiKelas = 0;
   190   191   192   193   194   195   196   197   198   199   200