Array Bahasa C

Teori Dasar

  • Array (larik) ialah penampung sejumlah data sejenis (homogen) yang menggunakan satu identifier (pengenal).
  • Masing-masing elemen larik diakses menggunakan indeks (subscript) dari nol sampai n-1 (n menyatakan jumlah elemen larik).
  • Pengolahan data larik harus per elemen. Elemen Larik dapat diakses langsung (acak), maksudnya untuk memanipulasi elemen ke-4 tidak harus melalui elemen ke-1, ke-2 dan ke-3.
  • Berdasarkan banyaknya indeks larik dibagi menjadi satu dimensi dan multi dimensi (duadimensi, tiga dimensi).

Pendeklarasian

Pendeklarasian larik 1 dimensi mempunyai pola tipeVariabel namaVariabel[ukuran]. Contohnya:

int panjangPadi[5];
float nilaiUas[10];

Pengisian Larik

Ada 2 metode dalam pengisian Larik, yaitu:

  1. Pengisian langsung saat deklarasi
    int my_larik[] = {1,23,17,4,-5,100};
  2. Pengisian setelah deklarasi
    int my_larik[5]; 
    my_larik[0]=10; 
    my_larik[1]=20; 
    my_larik[2]=30; 
    my_larik[3]=40; 
    my_larik[4]=50;

Menampilkan Larik

Saat akan menampilkan Larik yang perlu diingat adalah indeks dari setiap Larik adalah mulai dari 0, misalkan telah di deklarasikan int my_larik[] = {1,23,17,4,-5,100}. Maka untuk menampilkan data Larik ke-2 yaitu 23 dari variabel my_larik adalah my_larik[1]. Berikut ini contoh kode lengkapnya.

Kode Program Menampilkan Larik 1 Dimensi

#include <stdio.h>
main(){
int my_array[6] = {1,23,17,4,-5,100};

    printf("Data ke-1 =  %dn",my_array[0]);
    printf("Data ke-2 =  %dn",my_array[1]);
    printf("Data ke-3 =  %dn",my_array[2]);
    printf("Data ke-4 =  %dn",my_array[3]);
    printf("Data ke-5 =  %dn",my_array[4]);
    printf("Data ke-6 =  %dn",my_array[5]);
}

Kode Program Menampilkan Larik 1 Dimensi Dengan Pengulangan

#include <stdio.h>
main(){
    int my_array[6] = {1,23,17,4,-5,100};
    int i;
    printf("Data Larik Dari Depann");
    //Menggunakan Looping
    for(i=0;i<6;i++){
        printf("Data ke-%d =  %dn",i+1,my_array[i]);
    }
    printf("nData Larik Dari Belakangn");
    //Menggunakan Looping Urut Terbalik
    for(i=5;i>=0;i--){
        printf("Data ke-%d =  %dn",i+1,my_array[i]);
    }
}

Kode Program Menyalin Larik

#include <stdio.h>
main(){
    int jumlah, larikA[5], larikB[5];
    // Input elemen larikA
    printf("Input elemen larikA : n");
    for(jumlah=0; jumlah<5; jumlah++){
        printf("larikA[%i] : ", jumlah+1);
        scanf("%d", &larikA[jumlah]);
    }
    //salin larikA ke larikB
     printf("nSalin isi larikA ke larikBn");
    for(jumlah=0; jumlah<5; jumlah++){
        larikB[jumlah]= larikA[jumlah];
    }
    // Tampilkan larikA dan larikB
    printf("n");
    printf("Isi Matriks A : n");
    for(jumlah=0; jumlah<5; jumlah++){
        printf("%d ", larikA[jumlah]);
    }
    printf("n");
    printf("Isi Matriks B : n");
    for(jumlah=0; jumlah<5; jumlah++){
        printf("%d ", larikA[jumlah]);
    }
}

Cobalah kode program dibawah ini amati kode dan keluarannya!

Kode Program Mengelola Larik 1 Dimensi

#include <stdio.h>
main(){
    int index, nilai[10];

    /* input nilai Siswa */
    printf("Input nilai 10 Siswa : n");
    for(index=0; index < 10; index++){
        printf("Siswa %d : ", index+1);
        scanf("%d", &nilai[index]);
    }
    /* tampilkan nilai Siswa */
    printf("nNilai Siswa yang telah diinput n");
    for(index=0; index < 10; index++){
        printf("Siswa %d : %d n",index+1,nilai[index]);
    }
}

Kode Mengelola Larik 1 Dimensi Dengan Kondisi

#include <stdio.h>
main(){
    int index, nilai[10];
    /* input nilai Siswa */
    printf("Input nilai 10 mahasiswa : n");
    for(index=0; index < 10; index++){
        printf("Siswa %d : ", index+1);
        scanf("%d", &nilai[index]);
    }
    /* tampilkan nilai mahasiswa diatas 60*/
    printf("nNilai Siswa yang telah diinput n");
    for(index=0; index < 10; index++){
        if(nilai[index]>=60){
            printf("Siswa %d : %d Status : Lulus n",index+1,nilai[index]);
        }else{
            printf("Siswa %d : %d Status : Tidak Lulusn",index+1,nilai[index]);
        }
    }
}