Array pada C

Posted on   Mei 29, 2018   |   Last Modified   Juni 3, 2018

Array adalah sebuah variabel yang digunakan untuk menyimpan sekumpulan data dengan tipe data yang sama.

Cara penulisan array:

tipe_data nama_variabel[banyak_elemen];

contoh:

#include <stdio.h>

int main() {
	/* Deklarasi variabel array dengan nama nilai
	 * dan dengan banyak elemen 3
	 */
	int nilai[3]; 
	
	/* cara menyimpan nilai ke dalam array */
	/* menyimpan nilai 1 ke dalam indeks 0 array nilai */
	nilai[0] = 1;
	
	/* menyimpan nilai 2 ke dalam indeks 1 array nilai */
	nilai[1] = 2;
	
	/* menyimpan nilai 2 ke dalam indeks 3 array nilai */
	nilai[2] = 3
	
	/* cara mencetak nilai-nilai yang ada pada array ke layar */
	printf("Nilai indeks 0: %d", nilai[0]);
	printf("Nilai indeks 1: %d", nilai[1]);
	printf("Nilai indeks 2: %d", nilai[2]);
	
	return 0;
}

Indeks sebuah array selalu dimulai dari 0 sampai n - 1. Jika terdapat sebuah array dengan banyak elemen 10 (misalnya A[10]), maka indeksnya adalah 0, 1, 2, 3, 4, 5, 6, 7, 8 dan 9. Bagaimana jika kita mengakses indeks ke-10, ke-11 dan seterusnya? Akan terjadi array out of bound, compiler tidak akan memberikan peringatan atau pesan error untuk kasus ini, dan nilai yang didapat dari indeks di luar yang dideklarasikan juga akan acak. Jadi, kita harus hati-hati dalam mengakses nilai pada array.

Pada contoh sebelumnya, nilai disimpan ke dalam array setelah array tersebut dideklarasikan. Jika nilai yang ingin disimpan ke dalam array sudah diketahui sebelumnya, nilai-nilai tersebut dapat diinisialisasi langsung ke dalam array ketika pendeklarasian, seperti contoh di bawah.

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

Banyak elemen pada array juga dapat diabaikan jika nilai langsung diinisialisasi, seperti contoh di bawah.

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

Daripada menulis kode untuk mencetak nilai-nilai pada array satu per satu, kita dapat memanfaatkan bantuan perulangan for, while atau do-while untuk mempermudah penulisan kode dalam mencetak nilai-nilai pada array.

for(int indeks = 0; i < 5; ++i) {
	printf("%d ", nilai[indeks]);
}

Hal yang sama seperti di atas juga dapat diterapkan jika ingin menginput nilai ke dalam array

Array Multidimensi

Array pada penjelasan sebelumnya dinamakan array satu dimensi. Kita dapat mendeklarasikan array lebih dari satu dimensi, seperti dua dimensi (bayangkan persegi dua dimensi), tiga dimensi (bayangkan sebuah kubus atau balok), empat dimensi dan seterusnya.

Cara penulisan array dua dimensi dan tiga dimensi:

tipe_data nama_variabel[y][x]; /* array dua dimensi */
tipe_data nama_variabel[y][x][z]; /* array tiga dimensi */

catatan:
x menyatakan kolom
y menyatakan baris

Berikut contoh penggunaan array dua dimensi dalam operasi penjumlahan matrix.

#include <stdio.h>

int main() {
	//deklarasi dan inisialisasi array dua dimensi
    int matrix_1[2][3] = {{1, 2, 3}, {5, 9, 3}}; 
    int matrix_2[2][3] = {{2, 7, 4}, {6, 3, 4}};
    int matrix_hasil[2][3];

    for(int i = 0; i < 2; ++i) {
        for(int j = 0; j < 3; ++j) {
			//operasi penjumlahan array dua dimensi
            matrix_hasil[i][j] = matrix_1[i][j] + matrix_2[i][j];
        }
    }

	//menampilkan isi dari array matrix_hasil
	for(int i = 0; i < 2; ++i) {
		for(int j = 0; j < 3; ++j) {
			printf("%d ", matrix_hasil[i][j]);
		}

		printf("\n");
	}
    
    return 0;  
}

Array of Char

Dengan menggunakan bantuan array kita dapat membentuk array of char (kumpulan karakter), atau yang lebih umum disebut dengan string. Berikut contohnya.

#include <stdio.h>

int main() {
	//deklarasi dan inisialisasi array of char
	char nama[20] = "budi";
	
	//mencetak array of char
	printf("Nama: %s", nama);
	
	return 0;
}

Kita juga dapat menyimpan ke array of char melalui input dari keyboard dengan menggunakan fungsi gets, seperti contoh di bawah.

#include <stdio.h>

int main {
    //deklarasi array of char
	char nama[20];
	
	printf("Masukkan nama Anda: ");
	gets(nama); //input array of char
	
	printf("Hello, %s. Salam kenal.", nama);
	
	return 0;
}

Perlu diperhatikan, sebuah string selalu diakhiri dengan karakter '\n' yang menandakan akhir dari sebuah string, maka banyak elemen array of char selalu dilebihkan satu untuk karakter '\n'. Pada contoh di atas (char nama[20] = "budi"; dan gets(nama)), string akan secara otomatis ditambahkan karakter '\n' di akhir string.

Sebuah string (array of char) dapat dijadikan array of string dengan menjadikan array of char dua dimensi, seperti contoh di bawah.

#include <stdio.h>

int main() {
	/* 5 merupakan banyak string yang dapat ditampung oleh array sedangkan 100 adalah panjang maksimum string yang dapat ditampung oleh array */
	char daftar_nama[5][100] = {"Budi", "Putra", "Fajar", "Anto", "Lela"};
	
	for(int i = 0; i < 5; ++i) {
		printf("%s\n", daftar_nama[i]);
	}
	
	return 0;
}

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *