Blog Adi Sanjaya Global Techno Solution

Delphi, Mikrokontroler , Embedded system...Menerima Pembuatan alat berbasis mikrokontroller

LightBlog
Responsive Ads Here

Wednesday, May 10, 2017

Pengenalan Array

Pengenalan Array

Array  merupakan  variabel  yang  bisa  menampung  banyak  data, masing-masing  data  bisa  diambil dengan  alamat  indeks  (posisi)  data dalam  Array  tersebut.  Alamat  indeks  pada  array  standarnya adalah angka  integer  yang  diawali  dari  angka  0.  Jadi,  jika  kita  punya  data  5 dalam variabel Array, maka data pertama pada alamat indeks ke-0, data ke-2 pada alamat indeks ke-1, dan data ke-5 pada alamat indeks ke-4.

Untuk lebih memahami tentang Array, program pada Sketch 2.7 merupakan  versi  lebih  simpel daripada  Sketch  2.6  dengan memanfaatkan perulangan FOR dan Array.

Sketch Animasi LED dengan Array

// Free Ebook Arduino
// www.elangsakti.com
// coder elangsakti

// Inisialisasi Jumlah LED
const int numLED = 4;
// LED 1,2,3,&4 jadi 1 varibel
// dengaan alamat index 0,1,2,3
const int pinLED[numLED] = {8,9,10,11};

void setup() {
// Inisialisasi semua pin LED sebagai OUTPUT
for(int i=0; i<4; i++){
pinMode(pinLED[i], OUTPUT);
}
}

void loop() {
// Matikan semua LED
for(int i=0; i<4; i++){
digitalWrite(pinLED[i], LOW);
}
delay(1000);

// Hidupkan semua LED bertahap dg jeda 1 detik
for(int i=0; i<4; i++){
digitalWrite(pinLED[i], HIGH);
delay(1000);
}
}

Jika dibandingkan dengan Sketch 2.6 yang tanpa baris keterangan komentar, maka Sketch 2.7 jauh lebih pendek dan lebih simpel.

Pada Sketch 2.7, keempat LED dimuat dalam satu variabel yaitu variabel Array pinLED. Masing-masing LED bisa diakses berdasarkan alamat indeks. Perhatikan pada baris 9.

const int pinLED[numLED] = {8,9,10,11};

Secara  otomatis,  alamat  indeks  untuk  masing-masing  LED tergantung pada urutan pin tersebut. Pin 8 ada pada alamat indeks ke-0, pin 9 ada pada indeks ke 1, pin 10 ada di indeks ke 2, dan pin 11 ada pada  indeks  ke  3.  Sehingga  untuk  mengakses  pin  8,  kita  bisa menambahkan kurung siku dan alamat indeks ke-0, seperti berikut:


Pin8 = pinLED[0]

Karena indeks tertinggi adalah angka 3, maka di setiap perulangan LED  tidak  boleh  lebih  dari  3  atau  <  4,  perhatikan  perintah  FOR berikut:

for(int i=0; i<4; i++){

Yap,  semoga  penjelasan  Array  di  atas  mudah  dipahami.  Jika  ada yang membingungkan, silakan tanya-tanya di website, dengan senang hati  penulis  akan  menjawab.  Baik,  selanjutnya  kita  akan lebih mengembangkan  Sketch  2.7  agar  sedikit  lebih  kompleks  dan animasinya lebih menarik. Penulis memberikan Sketch 2.8 dan Sketch 2.9 untuk dianalisa dan dipelajari:

// Free Ebook Arduino
// www.elangsakti.com
// coder elangsakti
// Inisialisasi Jumlah LED
const int numLED = 4;
// LED 1,2,3,&4 jadi 1 varibel
// dengaan alamat index 0,1,2,3
const int pinLED[numLED] = {8,9,10,11};

void setup() {
// Inisialisasi semua pin LED sebagai OUTPUT
for(int i=0; i<4; i++){
pinMode(pinLED[i], OUTPUT);
}
}

void loop() {
// Hidupkan semua LED bertahap dg jeda 1 detik
for(int i=0; i<4; i++){
digitalWrite(pinLED[i], HIGH);
delay(500);
}

// Matika semua LED bertahap dg jeda 1 detik
for(int i=0; i<4; i++){
digitalWrite(pinLED[i], LOW);
delay(500);
}
}

Sketch Bonus Animasi LED 2

// Free Ebook Arduino
// www.elangsakti.com
// coder elangsakti

// Inisialisasi Jumlah LED
const int numLED = 4;
// LED 1,2,3,&4 jadi 1 varibel
// dengaan alamat index 0,1,2,3
const int pinLED[numLED] = {8,9,10,11};

void setup() {
// Inisialisasi semua pin LED sebagai OUTPUT
for(int i=0; i<4; i++){
pinMode(pinLED[i], OUTPUT);
}
}

void loop() {
// hidupkan led indeks 0 hingga 2 satu-persatu
for(int i=0; i<3; i++){
digitalWrite(pinLED[i], HIGH);
delay(200);
digitalWrite(pinLED[i], LOW);
}
// hidupkan led indeks 3 hingga 1 satu-persatu
for(int i=3; i>0; i--){
digitalWrite(pinLED[i], HIGH);
delay(200);
digitalWrite(pinLED[i], LOW);
}
}




No comments:

Post a Comment

Silakan dikomentari