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.

5 Kelebihan dan Fakta Menarik Tentang Array pada Bahasa C dan C++
Ilustrasi Array Bahasa C

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

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.


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".

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.

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 -