Anda di halaman 1dari 8

Nama ABEDNEGO ZEBUA Kode Asisten GI

NPM 2306161883 Jenis Tugas TP Modul 7 - Arrays

1. Bagaimana cara menggunakan Array dan mengakses elemennya dalam Bahasa Pemrograman C?
(10 poin)

Jawab :
a. Deklarasi Array
Array dideklarasikan layaknya variabel biasa. Untuk mendeklarasikan array, kita perlu
menuliskan type datanya, nama array-nya, ukuran data/elemen didalam array tersebut.
Cth :
data_type array_name [size];
//contoh
int Kumpulan[50]

Artinya, array tersebut bertipe integer dengan nama Kumpulan dan berukuran 50 data.
atau
data_type array_name [size1] [size2]...[sizeN];
//contoh
int kumpulan[2][3];

artinya array tersebut memiliki 2 dimensi dengan ukuran 2x3;


atau
data_type array_name [size] = [a1,a2,a3,…,aN];
//contoh
int Kumpulan[5] = {1,2,3,4,5,6};

Artinya array tersebut berukuran 5 (urutan data dimulai dari 0) dengan anggota 1,2,3,4,5.
Ukuran juga dapat dikosongkan jika memang tidak dispesifikkan ukuran pada array,
ukurannya akan otomatis mengikuti banyaknya data yang di-assign kedalam array
tersebut.
b. Inisialisasi Array
- Deklarasi anggota dengan ukuran array
data_type name[size] = {value1,value2,value3,...,valueN};

- Deklarasi anggota tanpa ukuran array


data_type name[] = {value1,value2,value3,...,valueN};

- Insialisasi setelah deklarasi (menggunakan For Loop)


for (int i = 0; i < N; i++) {
array_name[i] = value i;
}

Contoh :
#include <stdio.h>

int main()
{
// deklaeasi ukuran dan anggota
int arr[5] = { 10, 20, 30, 40, 50 };

// deklarasi anggota tanpa ukuran


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

// inisialisasi menggunakan for loop


float arr2[5];
for (int i = 0; i < 5; i++) {
arr2[i] = (float)i * 2.1;
}
return 0;
}
c. Cara Mengakses Array
Array dapat diakses dengan menggunakan syntax berikut :
Array_name [index];

https://media.geeksforgeeks.org/wp-content/uploads/20230302092738/access-array-
elements.png
Cth program :
#include <stdio.h>

int main()
{

// deklarasi dan inisialisasi


int arr[5] = { 15, 25, 35, 45, 55 };

// mengakses element pada index 2 atau element ke-3 karena urutan


array dimulai dari 0
printf("Element at arr[2]: %d\n", arr[2]);

// mengakses element pada index 4 atau element terakhir


printf("Element at arr[4]: %d\n", arr[4]);

// mengakses element pada index 0 atau element pertama


printf("Element at arr[0]: %d", arr[0]);

return 0;
}
d. Memperbarui element dalam array
Array_name [index] = new_value;
Kita dapat memperbarui element dalam array dengan syntax diatas. Metode-nya juga
beragam, bisa dengan inisialisasi manual maupun menggunakan for loop.

Referensi :
• [1] “C Arrays,” GeeksforGeeks, May 14, 2015. https://www.geeksforgeeks.org/c-arrays/

2. Kapan sebaiknya sebuah Array digunakan dan tidak digunakan? (10 poin)
Jawab :
Array sebaiknya digunakan Ketika kita berurusan dengan data berjumlah banyak, dan kita perlu
menyimpan data serta urutan data(index) tersebut agar dapat diakses kembali saat dibutuhkan.
Array juga merupakan metode yang tepat untuk berurusan dengan matriks dan pengurutan data
(sorting).
Namun Ketika kita tidak membutuhkan urutan data(index) misalnya untuk menghitung jumlah
dari seluruh input yang diterima, maka sebaiknya tidak menggunakan array, untuk efisiensi waktu
dan memori.
Referensi :
• [1] “Why do we use arrays instead of other data structures?,” Stack Overflow.
https://stackoverflow.com/questions/392397/why-do-we-use-arrays-instead-of-other-data-
structures
3. Coba modifikasi program yang diberikan agar dapat menampilkan standar deviasi dari data-data
yang di-input. Kode langsung saja copy paste di word. (40 poin)
σ adalah standar deviasi
𝑥 adalah data ke-i
𝑖
µ adalah rata-rata data
𝑛 adalah jumlah data

Jawab :

//program untuk mencari standar deviasi


#include <stdio.h>
#include <math.h>
//func prototype
float deviation(int n, float avg, float data[n]);
//
int main(void){
int n, i;
printf("Masukkan jumlah data: ");
scanf("%d", &n);
float data[n], total=0, rata_rata, devi;
for (i = 0; i < n;i++){
scanf("%f", &data[i]);
total += data[i];
}
rata_rata = total / n;
devi = deviation(n, rata_rata, data); //panggil fungsi deviation
printf("Total data \t= %.2f\n", total);
printf("Rata-rata data \t= %.2f\n", rata_rata);
printf("Standar deviasi = %.2f", devi);
return 0;
}
float deviation(int n, float avg, float data[n]){
int i;
float data_devi, sum_devi=0;
for (i = 0; i < n;i++){
data_devi = data[i] - avg;
sum_devi += data_devi*data_devi;
}
return sqrt(sum_devi/n);
}

Output :
4. Coba modifikasi program di atas agar menampilkan juga hasil perkalian antara matriks awal
dengan matriks transpose. Hasil kode di copy paste di word. (40 poin)

Jawab :
//program mencari perkalian matriks
#include <stdio.h>
#include <math.h>
//prototype
void kaliMatriks(int row, int col, int matriks[row][col], int transpose[col][row]);
//
int main (void){
int row, col, i, j, k;
printf("Masukkan jumlah baris: ");
scanf("%d", &row);
printf("Masukkan jumlah kolom: ");
scanf("%d", &col);
int matriks[row][col], transpose[col][row];
for (i = 0; i < row; i++){
for (j = 0; j < col; j++){
scanf("%d", &matriks[i][j]);
transpose[j][i] = matriks[i][j];
}
}
printf("Hasil Transpose Matriks:\n");
for (i = 0; i < col; i++){
for (j = 0; j < row; j++){
printf("%d ", transpose[i][j]);
}
printf("\n");
}
kaliMatriks(row,col,matriks,transpose);
return 0;
}

void kaliMatriks(int row, int col, int matriks[row][col], int transpose[col][row]){


int hasil[row][row], i, j, k;
for (i = 0;i < row;i++){
for (j = 0;j < row;j++){
hasil[i][j]=0;
for (k=0; k < col;k++){
hasil[i][j] += matriks[i][k]*transpose[k][j];
}
}
}
printf("Hasil Perkalian Matriks:\n");
for (i = 0; i < row; i++){
for (j = 0; j < row; j++){
printf("%d ", hasil[j][i]);
}
printf("\n");
}
}

Output :

Anda mungkin juga menyukai