Page 210 - MODUL ALGORTIMA DAN PEMROGRAMAN
P. 210

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;                                                              187
                        for (int k = 0; k < jumlahSiswaPerKelas[i]; k++) {
                            totalNilai += nilai[i][k];
                        }
                        float rataRataNilaiSiswa = (float) totalNilai /
                  jumlahSiswaPerKelas[i];
   205   206   207   208   209   210   211   212   213   214   215