Lompat ke konten Lompat ke sidebar Lompat ke footer

Array Bahasa C dan Fungsinya

Array adalah sekumpulan item yang disimpan secara berurutan dalam lokasi memori dan setiap elemennya dapat diakses secara bebas menggunakan penomoran arrayArray digunakan untuk menyimpan tipe data yang sama sebagai tipe data dalam satu kesatuan. Array juga bisa digunakan untuk menyimpan tipe data primitif seperti int, float, double, char, dan lain sebagainya. Untuk melakukan penambahan data ke tipe data string, array pada bahasa C dan C++ dapat menyimpan tipe data derivasi sebagai sebuah structpointer, dan lain sebagainya. gambar 1 memperlihatkan representasi dari array string.


Sebelum memahami lebih dalam materi tentang Array Bahasa C dan Fungsinya, terlebih dahulu pelajari materi tentang: Exec Family Bahasa C dan Fungsinya, Strftime Bahasa C dan Fungsinya, dan Typedef dan #define Bahasa C dan Fungsinya.

Alasan Penggunaan Array

Karena variabel normal hanya bisa digunakan untuk objek data yang berukuran kecil dan ingin menyimpan data dalam ukuran besar, maka akan sangat sulit sekali dilakukan jika menggunakan variabel normal.

Deklarasi Array dalam Bahasa C dan C++

Terdapat banyak cara untuk melakukan deklarasi array. Salah satunya adalah dengan penentuan tipe dan ukuran data melalui inisialisasi ataupun keduanya seperti diperlihatkan pada gambar 2.

satu, Deklarasi Array oleh Ukuran Spesifik
// Deklarasi array dengan penentuan nilai
int arr1[10];

// Atau dengan versi terdahulu dari bahasa C,
// maka dapat dideklarasikan array dengan penentuan nilai
// sebagai berikut
int n = 10;
int arr2[n];


dua, Deklarasi Array oleh Inisialisasi Elemen
// Deklarasi array dengan inisialisasi elemen
int arr[] = { 10, 20, 30, 40 }
int arr[4] = {10, 20, 30, 40}

tiga, Deklarasi Array dengan Penentuan Ukuran dan Inisialisasi Elemen
// Deklarasi array dengan penentuan ukuran dan elemen
int arr[6] = { 10, 20, 30, 40 }
int arr[] = {10, 20, 30, 40, 0, 0}

Kelebihan Penggunaan Array:
  • Akses bebas dari elemen menggunakan indeks array.
  • Menggunakan sedikit kode program untuk membuat sebuah array tunggal dari berbagai macam elemen.
  • Kemudahan akses terhadap semua elemen.
  • traversal melalui array menjadi lebih mudah dengan menggunakan satu kali looping.
  • Proses pengelompokkan data menjadi lebih mudah karena bisa dilakukan dengan menggunakan baris kode yang lebih pendek.

Gambar 1 Array bahasa C
Gambar 1 Array bahasa C

Keterangan gambar 1:
  • Panjang Array = 9
  • Indeks Pertama = 0
  • Indeks Terakhir = 8

Kekurangan Penggunaan Array:
  • Tidak memungkinkan untuk input sejumlah elemen ketika ditentukan pada saat deklarasi. 
  • Penyisipan dan penghapusan elemen dapat memakan alokasi memori berlebih karena elemen tersebut perlu dikelola sesuai dengan alokasi memori baru.

Gambar 2 Array Bahasa C
Gambar 2 Array Bahasa C

Fakta Tentang Array:
satu, Akses elemen arrayElemen array diakses dengan menggunakan indeks integer. Indeks array dimulai dengan angka 0 dan berlanjut hingga nilai array tertentu seperti diperlihatkan pada gambar 3 berikut ini.

Gambar 3 Akses Elemen Array
Gambar 3 Akses Elemen Array

Contoh: pada bahasa C

#include <stdio.h>

 

int main()

{

int arr[5];

arr[0] = 5;

arr[2] = -10;

 

arr[3 / 2] = 2

// sama seperti arr[1] = 2

 

arr[3] = arr[0];

 

printf("%d %d %d %d", arr[0], arr[1], arr[2], arr[3]);

return 0;

} 

Output:
5 2 -10 5

Contoh: pada bahasa C++

#include <iostream>

using namespace std;

 

int main()

{

int arr[5];

arr[0] = 5;

arr[2] = -10;

 

// sama seperti arr[1] = 2

arr[3 / 2] = 2;

 

arr[3] = arr[0];

 

cout << arr[0] << " " << arr[1]<< " " << arr[2] << " " << arr[3];

return 0;

} 

Output:
5 2 -10 5

dua, Tidak ada indeks yang keluar dari pemeriksaan terikat: Program berikut ini jika dikompilasi maka tidak akan mengeluarkan pesan error apapun ketika dikompilasi, namun ketika dijalankan maka akan mengeluarkan hasil output yang tidak dapat diprediksi.

Contoh: program bahasa C

// This C program compiles fine

// as index out of bound

// is not checked in C.

#include <stdio.h>

 

int main()

{

int arr[2];

printf("%d ", arr[3]);

printf("%d ", arr[-2]);

return 0;

} 

Output:
2008101287 4195777

Contoh: program bahasa C++

// This C++ program compiles fine

// as index out of bound

// is not checked in C.

#include <iostream>

using namespace std;

 

int main()

{

int arr[2];

 

cout << arr[3] << " ";

cout << arr[-2] << " ";

return 0;

} 

Output:
2008101287 4195777

tiga, Pada bahasa C bukan kesalahan dari kompilator untuk menginisialisasi array dengan lebih banyak elemen daripada ukuran yang telah ditentukan.

Contoh:

#include <stdio.h>

 

int main()

{

// Deklarasi array dengan

// inisialisasilebih banyak

// elemen daripada

// spesifikasinya.

int arr[2] = { 

10, 20, 30, 40, 50 };

return 0;

}

 

Output:
Warning:
prog.c: In function 'main':
prog.c:7:25: warning: excess elements in array initializer
int arr[2] = { 10, 20, 30, 40, 50 };
^
prog.c:7:25: note: (near initialization for 'arr')
prog.c:7:29: warning: excess elements in array initializer
int arr[2] = { 10, 20, 30, 40, 50 };
^
prog.c:7:29: note: (near initialization for 'arr')
prog.c:7:33: warning: excess elements in array initializer
int arr[2] = { 10, 20, 30, 40, 50 };
^
prog.c:7:33: note: (near initialization for 'arr')


Catatan: Program tersebut tidak dapat dikompilasi pada bahasa C++. jika program tersebut disimpan sebagai .cpp, maka program akan menghasilkan pesan error "error. too many initializers for 'int".

Baca Juga:

empat, Elemen disimpan secara berkelanjutan pada memori lokasi.

Contoh: program bahasa C.

// Program Bahasa C untuk

// mendemonstrasikan elemen

// array disimpan pada lokasi

// yang berkelanjutan.

#include <stdio.h>

 

int main()

{

// Array dari integer 10. Jika

// arr[0] disimpan pada alamat

// x, maka arr[1] akan

// disimpan pada alamat x +

// sizeof(int), dan arr[2]

// akan disimpan pada alamat x

// + sizeof(int), dan

// seterusnya.

int arr[5], i;

 

printf("Ukuran integer pada"

" kompilator ini adalah"

" %lu\n", sizeof(int));

 

for (i = 0; i < 5; i++)

// Kegunaan dari tanda '&'

// yang diletakkan sebelum

// nama variabel adalah

// mengindikasikan nilai dari

// alamat variabel yang berada

// setelahnya.

printf("Alamat arr[%d] adalah"

" %p\n", i, &arr[i]);

return 0;

}

Output:
Ukuran integer pada kompilator ini adalah 4
Alamat arr[0] adalah 0x7ffd636b4260
Alamat arr[1] adalah 0x7ffd636b4264
Alamat arr[2] adalah 0x7ffd636b4268
Alamat arr[3] adalah 0x7ffd636b426c
Alamat arr[4] adalah 0x7ffd636b4270

Contoh: program bahasa C++

// Program C++ untuk

// mendemonstrasikan bahwa

// elemen array disimpan pada

// lokasi yang berkelanjutan.

#include <iostream>

using namespace std;

 

int main()

{

// Array dari integer 10. Jika

// arr[0] disimpan pada alamat

// x, maka arr[1] akan

// disimpan pada alamat x +

// sizeof(int), dan arr[2]

// akan disimpan pada alamat x

// + sizeof(int), dan

// seterusnya.

int arr[5], i;

 

cout << "Ukuran integer pada"

" kompilator ini adalah" << sizeof(int) << "\n";

 

for (i = 0; i < 5; i++)

// Kegunaan dari tanda '&'

// yang diletakkan sebelum

// nama variabel adalah

// mengindikasikan nilai dari

// alamat variabel yang berada

// setelahnya.

cout << "Alamat arr[" << i << 

"] adalah " << &arr[i] << 

"\n";

return 0;

}

Output:
Ukuran integer pada kompilator ini adalah 4
Alamat arr[0] adalah 0x7ffd636b4260
Alamat arr[1] adalah 0x7ffd636b4264
Alamat arr[2] adalah 0x7ffd636b4268
Alamat arr[3] adalah 0x7ffd636b426c
Alamat arr[4] adalah 0x7ffd636b4270

Array vs Pointer

Array dan pointer adalah dua hal yang berbeda. Kebingungan ini terjadi karena nama array mengindikasikan alamat dari elemen pertama dan array selalu melewatkan pointer.

Pengertian Vector

Vector pada C++ adalah sebuah class pada STL yang merepresentasikan array. Keunggulan dari vector daripada array adalah:
  • Tidak melewatkan ukuran parameter ekstra ketika mendeklarasikan sebuah vector atau vector support dynamic size. Ukuran vector juga dapat diubah-ubah.
  • Vector memiliki banyak fungsi built-in seperti hapus, tambah, dan lain sebagainya.

Beberapa karakter dari penggunaan array dalam Bahasa C:
  • Array bisa memiliki semua tipe data kecuali void dan fungsi.
  • Array dan pointer adalah dua hal yang berbeda. Keduanya terlihat mirip karena array memberikan alamat dari elemen pertama dan elemen array dapat diakses menggunakan pointer aritmatika seperti yang telah dijelaskan sebelumnya.
  • Array selalu dilewatkan sebagai pointer ke fungsi.
  • Sebuah karakter array dengan double qouted string memiliki elemen sebagai '\0'.
  • Seperti variabel lainnya, array dapat mengalokasikan memori pada salah satu dari tiga segmentasi data, heap, dan stack.

Array dalam bahasa pemrograman C merupakan salah satu struktur data paling dasar namun sangat penting dalam proses pengembangan program. Array diimplementasikan sebagai kumpulan elemen-elemen yang memiliki tipe data yang sama dan disusun dalam urutan berurutan pada memori komputer. Dalam bahasa C, array sering kali digunakan untuk menyimpan data yang bersifat homogen dalam jumlah besar, memungkinkan akses cepat dan efisien ke setiap elemen melalui indeksnya. Konsep array menjadi esensial dalam banyak aplikasi pemrograman, terutama ketika berurusan dengan data yang berukuran besar atau data yang harus dimanipulasi secara simultan.

Array dalam bahasa C terbagi menjadi dua jenis utama: array satu dimensi dan array multi-dimensi. Array satu dimensi merupakan bentuk array yang paling sederhana, di mana elemen-elemen disusun dalam urutan linier. Sementara itu, array multi-dimensi memungkinkan elemen-elemen disusun dalam bentuk tabel atau matriks, yang sangat berguna ketika menangani data dua dimensi atau lebih, seperti gambar, matriks matematika, atau tabel data. Dalam hal ini, array multi-dimensi dapat membantu dalam pengolahan data yang lebih kompleks, seperti pemrosesan gambar atau perhitungan numerik pada matriks.

Array memiliki banyak fungsi dan kelebihan dalam pengembangan program. Salah satu kegunaan utama array adalah menyimpan data yang sifatnya seragam atau homogen dalam satu tempat. Misalnya, dalam suatu program yang menangani nilai-nilai dari suatu kelompok data, semua nilai tersebut dapat disimpan dalam sebuah array sehingga dapat diakses dan dimanipulasi dengan mudah melalui indeks. Dalam aplikasi nyata, array sering kali digunakan dalam penyimpanan data-data yang diambil dari sensor, data statistik, atau data dari perangkat keras lainnya.

Kemampuan array untuk diakses melalui indeks memberikan keuntungan dalam hal kecepatan dan efisiensi. Bahasa C memungkinkan array diakses langsung melalui indeksnya, di mana akses langsung ini membuat manipulasi data dalam array berjalan sangat cepat. Sebagai contoh, ketika ingin mengakses elemen tertentu, cukup memberikan indeksnya, dan nilai tersebut akan langsung didapatkan tanpa perlu pencarian yang rumit. Hal ini sangat berbeda dengan struktur data lain seperti linked list, di mana pencarian elemen tertentu memerlukan traversal satu per satu. Dengan menggunakan array, program dapat berjalan lebih cepat dan responsif terutama saat menangani data dalam jumlah besar.

Selain itu, array juga memudahkan pengulangan atau iterasi melalui data yang ada. Dalam banyak kasus, data di dalam array harus diolah dengan cara tertentu, misalnya mengurutkan atau mencari nilai maksimum atau minimum. Dalam hal ini, pengulangan melalui array dengan menggunakan struktur loop seperti *for* atau *while* sangat memudahkan. Semua elemen dapat diakses dan dimanipulasi dalam satu blok kode, yang tidak hanya meningkatkan efisiensi tetapi juga kejelasan kode. Proses pengulangan yang sederhana ini juga memungkinkan pembacaan data yang mudah untuk tugas-tugas seperti perhitungan statistik atau analisis data.

Fungsi lain dari array adalah kemampuannya untuk menyimpan data secara berkelanjutan di memori. Dalam bahasa C, elemen-elemen array disimpan secara berurutan dalam blok memori yang saling bersebelahan, yang membuat proses akses terhadap data menjadi lebih cepat. Ketika elemen array diakses, memori komputer dapat mengakses lokasi data yang tepat secara langsung, tanpa perlu mencari elemen lain di lokasi yang berbeda. Struktur penyimpanan ini memberikan keuntungan efisiensi dalam hal kecepatan akses, terutama untuk data-data yang sering diakses dalam pola yang sama.

Penggunaan array dalam bahasa C juga memiliki aplikasi dalam berbagai algoritma komputasi. Banyak algoritma, seperti algoritma pencarian dan pengurutan, bergantung pada array untuk menyimpan dan mengelola data. Misalnya, algoritma pengurutan seperti *Bubble Sort*, *Selection Sort*, dan *Quick Sort* dirancang untuk bekerja pada struktur array karena sifatnya yang memungkinkan pengurutan elemen secara langsung. Array juga digunakan dalam algoritma pencarian seperti *Linear Search* dan *Binary Search*, di mana data dalam array dapat dicari secara efisien berdasarkan indeks.

Selain penggunaan array untuk data numerik atau teks, array dalam bahasa C juga berguna untuk mengelola tipe data lebih kompleks seperti string dan pointer. String dalam bahasa C sebenarnya adalah array dari karakter, sehingga konsep array sangat terkait dengan pengelolaan string. Dengan menggunakan array, pengembang dapat menyimpan karakter-karakter dalam urutan tertentu untuk membentuk string. Array dari pointer juga memungkinkan penyimpanan alamat-alamat memori dari variabel atau objek lain, yang sering kali digunakan dalam manipulasi data tingkat lanjut dan pemrograman modular.

Array juga memainkan peran penting dalam pengembangan aplikasi berbasis grafis dan multimedia. Misalnya, dalam pemrograman grafik, array dua dimensi sering digunakan untuk menyimpan data piksel dari gambar. Setiap elemen dalam array mewakili satu piksel pada gambar, dengan nilai tertentu yang menentukan warna atau intensitas piksel tersebut. Dengan menggunakan array, manipulasi data gambar menjadi lebih sederhana dan memungkinkan efek visual yang kompleks. Penggunaan array dalam pengolahan gambar juga berlaku untuk aplikasi video, di mana setiap frame dari video dapat dianggap sebagai array dua dimensi dari piksel, dan video secara keseluruhan merupakan rangkaian dari array dua dimensi yang disusun dalam bentuk array tiga dimensi.

Selain itu, array dalam bahasa C sering kali digunakan dalam pemrosesan data sensor dan data real-time lainnya. Misalnya, dalam aplikasi yang menangani data sensor, data yang diambil dalam interval waktu tertentu dapat disimpan dalam array dan diproses secara berkelanjutan. Array memungkinkan penyimpanan data secara efisien dan memudahkan akses terhadap data untuk keperluan analisis dan pengambilan keputusan. Dalam aplikasi real-time, seperti sistem kontrol, array dapat membantu dalam menyimpan data yang harus diproses dalam waktu singkat, sehingga keputusan dapat diambil dengan cepat berdasarkan data yang ada.

Secara umum, penggunaan array dalam bahasa C memungkinkan pengembangan aplikasi yang efisien dan responsif. Array merupakan struktur data yang tidak hanya sederhana tetapi juga sangat kuat dalam hal kemampuan manipulasi data. Kemampuan untuk menyimpan data dalam jumlah besar, diakses secara langsung, dan diolah dengan mudah menjadikan array sebagai struktur data yang penting dalam pemrograman. Meskipun array memiliki beberapa keterbatasan, seperti ukuran yang tetap dan tidak dapat diubah selama program berjalan, manfaat yang ditawarkan oleh array sangat mendukung dalam pemecahan berbagai masalah dalam dunia pemrograman.

Dalam bahasa C, array memberikan fleksibilitas dan kecepatan dalam menangani data yang besar dan kompleks. Baik untuk aplikasi yang melibatkan analisis data, pemrosesan grafik, pengembangan sistem real-time, atau sekadar penyimpanan data, array memainkan peran krusial dalam efisiensi dan efektivitas pemrograman. Pemahaman yang baik tentang konsep array, cara kerja, serta kelebihan dan keterbatasannya, sangat membantu dalam menghasilkan program yang optimal, stabil, dan dapat diandalkan.

Artikel ini didedikasikan kepada: Monia, Muhammad Mualip Al Muhajirin, Novia Ratih Handadari, Ratih Ismawati, dan Ria Dwi Cristanti.

6 komentar untuk "Array Bahasa C dan Fungsinya"

  1. Apa yang dimaksud dengan array pada bahasa pemrograman C?

    BalasHapus
    Balasan
    1. Array didefinisikan sebagai kumpulan jenis item data serupa yang disimpan pada lokasi memori yang saling berdekatan. Array adalah tipe data turunan dalam bahasa pemrograman C yang dapat menyimpan tipe data primitif seperti int, char, double, float, dan lain sebagainya. Dengan menggunakan array, pengguna dapat mengakses elemen dengan mudah pada program bahasa C.

      Hapus
    2. Array adalah grup atau kumpulan dari tipe data yang sama. Contoh, array int yang digunakan untuk menampung nilai dengan tipe data integer dan array float yang digunakan untuk menampung data dengan tipe data bilangan desimal.

      Hapus
    3. Array pada bahasa C adalah kumpulan variabel yang memiliki tipe data yang sama dapat dapat digunakan untuk menyimpan sekelompok data dengan tipe data yang sama dalam sebuah array atau variabel array. Array mungkin termasuk salah satu tipe data, dengan ukuran array harus berupa nilai konstan. Juga, lokasi memori yang saling berdekatan digunakan untuk menyimpan elemen array dalam memori pada program bahasa C.

      Hapus
  2. Bagaimana array diklasifikasi pada bahas pemrograman C?

    BalasHapus
    Balasan
    1. Array diklasifikasi sebagai struktur data homogen karena menyimpan elemen dengan tipe data yang sama. Array dapat menyimpan angka, string, nilai boolean, karakter, object, dan lain sebagainya.

      Hapus

Hubungi admin melalui Wa : +62-896-2414-6106

Respon komentar 7 x 24 jam, mohon bersabar jika komentar tidak langsung dipublikasi atau mendapatkan balasan secara langsung.

Bantu admin meningkatkan kualitas blog dengan melaporkan berbagai permasalahan seperti typo, link bermasalah, dan lain sebagainya melalui kolom komentar.

- Ikatlah Ilmu dengan Memostingkannya -
- Big things start from small things -