Belajar Pemrograman C #9: Mengenal Struktur Data Array

Belajar Pemrograman C #9: Mengenal Struktur Data Array
Belajar Pemrograman C #9: Mengenal Struktur Data Array

Apa yang akan kamu lakukan jika di minta untuk menyimpan banyak data di program??

Misalkan kita ingin menyimpan nama-nama teman untuk data kontak kita.

Table Of Contents

mungkin saja, kita akan menyimpannya seperti ini:

char[32] namaKontak1 = "Ayu";
char[32] namaKontak2 = "Bunga";
char[32] namaKontak3 = "Cyntia";
char[32] namaKontak4 = "Deni";
char[32] namaKontak5 = "Elisa";

Hal ini boleh-boleh saja…

akan tetapi,masalahnya:

“Gimana nanti kalau ada banyak sekali data,pasti capek bikin variabel terus?”

kkarena itu,kita butuh Array.
apa itu Array,Dan Bagaimana Cara mengunakannya?

Mari Kita Bahas….. Cekidooott…

Apa itu Array ??

Array merupakan suatu tipe data yang terstruktur dan dapat digunakan untuk menyimpan sekumpulan data dalam satu tempat.

setiap data dalam array memiliki indeks,sehingga kita akan mudah memprosesnya

Array

Indeks Array selalu dimulai dari angka nol (0).

ukuran array akan digantung dari banyaknya data yang di tampung di dalamnya.

Cara Membuat Array  pada bahasa C

pada Pemrograman C, Array dapat kita buat dengan cara seperti ini

// membuat array kosong dengan tipe data integer dan panjang 10
int nama_array[10];

// membuat array dengan langsung diisi
int nama_arr[3] = {0, 3, 2} Cara Membuat Array hampir sama seperti membuat variabel biasa beda nya ,pada array kita harus menentukan panjangnya. Cara Mengambil Data dari ArrayArray  seperti yang kita tahu... ArrayArray akan menyimpan sekumpulan data dan memberinya nomor indeks agar dapat diakses indeks array selalu di mulai dari 0 misalkan kita punya array seperti ini char huruf[5] = {'a', 'b', 'c', 'd', 'e'}; bagaimana cara mengambil huruf c ?? jawabanya; huruf[2]; Mengapa bukan huruf[3]? ingat: indeks array selalu dimulai dari 0. biar lebih jelas,mari kita coba dalam program:
#include <stdio.h>

void main(){
    char huruf[5] = {'a', 'b', 'c', 'd', 'e'};

    printf("Huruf: %c\n", huruf[2]);
}

Hasilnya:

 

Mengambil data dari array

Mengisi Ulang Data pada Array

Data pada array dapat kita isi ulang dengan cara seperti ini:

huruf[2] = 'z';

Maka isi array huruf pada indeks ke-2 akan bernilai 'z'.

Kalau tidak percaya…

Kamu bisa coba buktikan sendiri.

#include <stdio.h>

void main(){
    // isi awal array
    char huruf[5] = {'a', 'b', 'c', 'd', 'e'};

    // mengubah isi array
    huruf[2] = 'z';

    // mencetak isi array
    printf("Huruf: %c\n", huruf[2]);
}

Hasil outputnya:

Huruf: z

Contoh lain:

#include <stdio.h>

void main(){
    // membuat array kosong
    int nilai[5];

    // mengisi array
    nilai[0] = 32;
    nilai[1] = 42;
    nilai[2] = 76;
    nilai[3] = 31;
    nilai[4] = 57;

    // mencetak isi array
    printf("Nilai ke-1: %d\n", nilai[0]);
    printf("Nilai ke-2: %d\n", nilai[1]);
    printf("Nilai ke-3: %d\n", nilai[2]);
    printf("Nilai ke-4: %d\n", nilai[3]);
    printf("Nilai ke-5: %d\n", nilai[4]);
}

Hasilnya:

 

Mengisi data ke array

 

Menggunakan Perulangan dan Array

Pada contoh di atas, kita menggunakan perintah printf() secara berulang untuk mencetak semua isi array.

printf("Nilai ke-1: %d\n", nilai[0]);
printf("Nilai ke-2: %d\n", nilai[1]);
printf("Nilai ke-3: %d\n", nilai[2]);
printf("Nilai ke-4: %d\n", nilai[3]);
printf("Nilai ke-5: %d\n", nilai[4]);

Kalau isi array-nya ada ribuan, apa kamu akan sanggup menulis ini berulang-ulang?

Tentu saja tidak!

Karena itu, kita bisa memanfaatkan perulangan untuk mencetaknya.

Contoh:

#include <stdio.h>

void main(){
    // membuat array kosong
    int nilai[5];

    // mengisi array
    nilai[0] = 32;
    nilai[1] = 42;
    nilai[2] = 76;
    nilai[3] = 31;
    nilai[4] = 57;

    // mencetak isi array dengan perulangan
    for(int i = 0; i < 5; i++){
        printf("Nilai ke-1: %d\n", nilai[i]);
    }
}

Hasilnya:

 

Mengisi data ke array

 

Jauh lebih sederhana ‘kan…

Tapi ada yang masih kurang.

Pada perulangan di atas kita memberikan batas maksimal secara manual, yaitu: i < 5.

Nilai 5 seharusnya diganti dengan ukuran atau jumlah isi array.

Sehingga akan menjadi seperti ini:

int length = sizeof(nilai) / sizeof(*nilai);
for (int i = 0; i < length; i++){
    printf("Nilai ke-1: %d\n", nilai[i]);
} 

Mengambil Panjang ArrayArray 
 
Pada contoh diatas,kira dapat menggunakan fungsi sizeof() untuk mengambil panjang atau ukuran array. fungsi sizeof() sebenarnya akan mengambil ukuran memori dari array.. misalkan arif punya array seperti ini: int nilai[2] = {1,2}; isi array-nya berupa integer, tipe data integer memiliki ukuran 4 byte dalam memori, maka ukuran array tersebut adalah 8 byte. lalu bagaimana cara mendapatkan banyaknya isi array? bahasa pemrograman c belum memiliki funngsi khusus untuk mengambil banyak nya isi array. tapi kita bia mengambil panjangnya array dengan membagi besar array dan ukuran pointernya ccontoh:
int array[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };

/* ukuran array dalam byte */
int size = sizeof(array);

/* banyaknya isi array `array` */
int length = sizeof(array) / sizeof(*array); 

Mari kita coba…

#include <stdio.h>

void main(){
    // membuat array
    int nilai[5] = {33, 22, 11, 44, 21};

    //  mengambil banyaknya isi array
    int length = sizeof(nilai) / sizeof(*nilai);

    printf("Banyaknya isi array nilai: %d\n", length);
}

Hasilnya:

 

Banyaknya isi data pada array

 

Latihan: Program Hitung Rata-Rata

Anggap saja kita diminta untuk membuat program untuk menghitung tinggi rata-rata dari sepuluh orang.

Pertama kita pasti akan membutuhkan sebuah array dengan panjang 10 yang berisi kumpulan tinggi badan.

int tinggi_badan[10] = {175, 165, 166, 157, 184, 156, 163, 176, 171, 169};

Berikutnya kita harus menghitung nilai rata-rata dari sekumpulan nilai tersebut.

Rumus nilai rata-rata:

 

Rumus nilai rata-rata dalam matematika

 

Mari kita buat programnya…

#include <stdio.h>

void main(){
    // membuat array dari tinggi badan
    int tinggi_badan[10] = {175, 165, 166, 157, 184, 156, 163, 176, 171, 169};

    //  length itu sama dengan n
    int length = sizeof(tinggi_badan) / sizeof(*tinggi_badan);
    int sum = 0;

    for(int i = 0; i < length; i++){
        sum += tinggi_badan[i];
    }

    // rata-rata tinggi badan
    float rata_rata = (float)sum / (float)length;

    printf("Rata-rata tinggi badan: %.2f\n", rata_rata);
}

Hasilnya:

 

Program nilai rata-rata dengan C

 

Array Multi Dimensi

Array yang kita buat pada contoh-contoh program di atas adalah array satu dimensi.

Array bisa dibuat dua dimensi bahkan lebih.

Array multidimensi biasanya digunakan untuk membuat matriks.

Contoh array dua dimensi:

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

Array dua dimensi biasanya digunakan untuk membuat matriks.

Lalu bagaimana cara mengambil data dari array dua dimensi?

Begini caranya:

matriks[1][2];

Contoh program:

#include <stdio.h>

void main(){
    int matriks[3][3] = {
        {1, 3, 5},
        {5, 3, 1},
        {6, 2, 3}
    };

    printf("Isi Data pada indeks ke-(1,0): %d\n", matriks[1][0]);
}

Hasilnya:

 

Program matriks

 

Apa Selanjutnya?

Kita baru saja mempelajari dasar-dasar array pada bahasa pemrograman C.

Array merupakan struktur data yang paling sering digunakan dalam pemrograman.

Karena dengan array, kita bisa membuat matriks, graf, himpunan, dll.

Selanjutnya silahkan perbanyak latiahan menggunakan Array, kemudian lanjut mempelajari tentang:

  • Belajar Pemrograman C #10: Fungsi dan Prosedur pada C

Selamat belajar