---LESSON_INFO--- **Learning Objectives:** - Memahami konsep array dalam bahasa C - Belajar mendeklarasikan dan menginisialisasi array - Mengenal cara mengakses elemen array - Memahami indeks array dimulai dari nol - Mengenal cara menghitung ukuran array - Mengenal penggunaan loop untuk mengakses elemen array **Prerequisites:** - Pemahaman tentang variabel dan tipe data - Pemahaman dasar tentang program C ---END_LESSON_INFO--- # Array dalam C **Array** adalah variabel khusus yang bisa menyimpan lebih dari satu nilai di bawah nama variabel yang sama, diatur dengan indeks. Array sangat berguna ketika Anda perlu menyimpan banyak data dari tipe yang sama. ## Mendeklarasikan Array Untuk mendeklarasikan array dalam C, Anda harus menentukan **tipe data** dari elemen-elemen array dan **jumlah elemen** (ukuran) array: ```c // Sintaks: tipe_data nama_array[ukuran]; int myNumbers[5]; ``` ## Menginisialisasi Array Anda bisa menginisialisasi array saat deklarasi atau setelahnya: ### Saat deklarasi: ```c int myNumbers[5] = {10, 20, 30, 40, 50}; ``` ### Setelah deklarasi: ```c int myNumbers[5]; myNumbers[0] = 10; myNumbers[1] = 20; myNumbers[2] = 30; myNumbers[3] = 40; myNumbers[4] = 50; ``` ## Mengakses Elemen Array Array dalam C **dimulai dari indeks 0**, bukan 1. Jadi, array dengan 5 elemen memiliki indeks dari 0 hingga 4: ```c int myNumbers[5] = {10, 20, 30, 40, 50}; printf("%d", myNumbers[0]); // Output: 10 printf("%d", myNumbers[1]); // Output: 20 printf("%d", myNumbers[4]); // Output: 50 ``` ## Mengubah Elemen Array Anda bisa mengubah nilai elemen array dengan menetapkan nilai baru ke indeks tertentu: ```c int myNumbers[5] = {10, 20, 30, 40, 50}; myNumbers[0] = 25; // Mengubah elemen pertama menjadi 25 printf("%d", myNumbers[0]); // Output: 25 ``` ## Menghitung Ukuran Array Anda bisa menggunakan **operator `sizeof()`** untuk mengetahui jumlah elemen dalam array: ```c int myNumbers[5] = {10, 20, 30, 40, 50}; int arraySize = sizeof(myNumbers) / sizeof(myNumbers[0]); printf("Jumlah elemen dalam array: %d", arraySize); // Output: 5 ``` ## Menggunakan Loop dengan Array Anda bisa menggunakan perulangan untuk mengakses atau mengisi elemen array secara efisien: ### Mengisi array dengan loop: ```c int myNumbers[5]; for (int i = 0; i < 5; i++) { myNumbers[i] = i * 10; } ``` ### Mencetak semua elemen array: ```c int myNumbers[5] = {10, 20, 30, 40, 50}; for (int i = 0; i < 5; i++) { printf("%d\\n", myNumbers[i]); } ``` **Output:** ``` 10 20 30 40 50 ``` ## Contoh Nyata Penggunaan Array Berikut adalah contoh penggunaan array dalam situasi nyata: ```c #include int main() { // Menyimpan nilai ujian dari 5 siswa int scores[5] = {85, 92, 78, 96, 88}; int total = 0; int arraySize = sizeof(scores) / sizeof(scores[0]); printf("Nilai ujian siswa:\\n"); for (int i = 0; i < arraySize; i++) { printf("Siswa %d: %d\\n", i+1, scores[i]); total += scores[i]; } float average = (float)total / arraySize; printf("\\nTotal nilai: %d\\n", total); printf("Rata-rata nilai: %.2f\\n", average); return 0; } ``` **Output:** ``` Nilai ujian siswa: Siswa 1: 85 Siswa 2: 92 Siswa 3: 78 Siswa 4: 96 Siswa 5: 88 Total nilai: 439 Rata-rata nilai: 87.80 ``` ## Array dengan Tipe Data Lain Array bisa digunakan dengan berbagai tipe data: ```c // Array float float prices[3] = {19.99, 25.50, 9.75}; // Array char char vowels[5] = {'a', 'e', 'i', 'o', 'u'}; // Array double double measurements[4] = {3.14, 2.71, 1.41, 1.73}; ``` **Tips:** - Pastikan untuk **tidak mengakses indeks di luar batas** array (buffer overflow) - Gunakan **`sizeof()`** untuk menghitung jumlah elemen array secara dinamis - Gunakan **loop** untuk mengakses elemen array secara efisien - Ingat bahwa **indeks array dimulai dari 0**, bukan 1 **Referensi:** - [https://www.w3schools.com/c/c_arrays.php](https://www.w3schools.com/c/c_arrays.php) - [https://www.w3schools.com/c/c_arrays_size.php](https://www.w3schools.com/c/c_arrays_size.php) - [https://www.w3schools.com/c/c_arrays_loop.php](https://www.w3schools.com/c/c_arrays_loop.php) - [https://www.w3schools.com/c/c_arrays_reallife.php](https://www.w3schools.com/c/c_arrays_reallife.php) - [https://www.w3schools.com/c/c_arrays_multi.php](https://www.w3schools.com/c/c_arrays_multi.php) ---EXERCISE--- # Latihan: Rata-rata Nilai Siswa Dalam latihan ini, Anda akan menghitung rata-rata nilai dari array nilai siswa menggunakan loop. **Requirements:** - Gunakan loop untuk menghitung total nilai - Hitung rata-rata dari nilai-nilai tersebut - Gunakan sizeof() untuk menentukan jumlah elemen array - Tampilkan rata-rata dengan dua angka di belakang koma **Expected Output:** ``` Total nilai: 420 Jumlah siswa: 5 Rata-rata nilai: 84.00 ``` Try writing your solution in the code editor below! ---EXPECTED_OUTPUT--- Total nilai: 420 Jumlah siswa: 5 Rata-rata nilai: 84.00 ---END_EXPECTED_OUTPUT--- ---INITIAL_CODE--- #include int main() { int scores[] = {80, 85, 88, 82, 85}; // TODO: Hitung total nilai menggunakan loop int total = 0; // TODO: Hitung jumlah elemen dalam array menggunakan sizeof() int count = 0; // TODO: Hitung rata-rata float average = 0.0; printf("Total nilai: %d\\n", total); printf("Jumlah siswa: %d\\n", count); printf("Rata-rata nilai: %.2f\\n", average); return 0; } ---END_INITIAL_CODE--- ---SOLUTION_CODE--- #include int main() { int scores[] = {80, 85, 88, 82, 85}; // Hitung total nilai menggunakan loop int total = 0; int count = sizeof(scores) / sizeof(scores[0]); for (int i = 0; i < count; i++) { total += scores[i]; } // Hitung rata-rata float average = (float)total / count; printf("Total nilai: %d\\n", total); printf("Jumlah siswa: %d\\n", count); printf("Rata-rata nilai: %.2f\\n", average); return 0; } ---END_SOLUTION_CODE---