Setelah cukup banyak saya membahas dasar - dasar pemrograman mikrokontroler dengan bahasa C. Saya melanjutkan pembahasan untuk tipe data array. Dimana array menurut saya adalah sekumpulan nilai pada sebuah tipe data, sehingga memiliki tipe data yang sama juga


Format penulisan array adalah sebagai berikut :
tipedata(spasi)nama variabel array(spasi)[banyak index]={isi array}

Cara mengakses nilai pada sebuah data array adalah sebagai berikut :
nama variabel array[urutan index]

Seperti biasa, dapat langsung kita lihat contoh script yang saya buat
/*
 * Array.cpp
 *
 * Created: 13/01/2016 9:45:05
 *  Author: Diaz
 */


#include <avr/io.h>
#include <util/delay.h>

int main(void)
{
    DDRA=0xff;            // Menjadikan PORTA sebagai output
    PORTA=0xff;            // Menjadikan PORTA sebagai output dengan default berlogika 1
   
    DDRB=0xff;            // Menjadikan PORTB sebagai output
    PORTB=0xff;            // Menjadikan PORTB sebagai output dengan default berlogika 1
   
    DDRC=0xff;            // Menjadikan PORTC sebagai output
    PORTC=0xff;            // Menjadikan PORTC sebagai output dengan default berlogika 1

    DDRD=0xff;            // Menjadikan PORTD sebagai output
    PORTD=0xff;            // Menjadikan PORTD sebagai output dengan default berlogika 1
   
    unsigned int TES []={0xff, 0xfe, 0xfc, 0xf8, 0xf0,
                         0xe0, 0xc0, 0x80, 0x00};
    unsigned int a;
   
    while(1)
    {
    for (a=0;a<9;a++)
    {
        PORTA=TES[a];    // Akses array TES dengan lokasi sesuai nilai a
        PORTB=TES[0];    // Akses array urutan ke 0
        PORTC=TES[4];    // Akses array urutan ke 4
        PORTD=TES[8];    // Akses array urutan ke 8
        _delay_ms(500);    // Jeda 500ms
    }
    }
}

Pada kali ini tidak saya sertakan gambar, karna perlu  disimulasikan secara langsung untuk dapat memahaminya.

Pada contoh diatas, array yang saya buat, diberi nama TES. dengan isi 9 nilai. Urutan array tidak dimulai dari 1, Tapi dari 0. Sehingga nilai 0xff bukanlah urutan pertama tapi ke 0.

Sama seperti contoh sebelumnya, setiap pembuktian perintah menggunakan 1 PORT (8bit) sebagai pembuktiannya, dan script tersebut saya buat menggunakan Atmel Studio 6 + AVRGCC dan Proteus

Saya sarankan untuk menulis ulang semua script tersebut secara manual, agar kalian lebih cepat menghafal dan memahami script tersebut. Namun jika mendapat kesulitan, saya sediakan file script beserta file proteusnya yang dapat didownload di sini

Sayapun disini masih belajar sehingga belum tentu benar mengenai semua yang  saya jabarkan diatas, jika ada yang merasa janggal atau merasa ada kesalahan dalam penjabaran saya, bisa kita diskusikan dikomentar.

Good Luck!

Related Post :