Tipe Data C Arduino

Pada bahasan sebelumnya dibahas tentang variabel, variabel merupakan bagian dari memori yang sudah diberikan nama. Perlu dipahami bahwa saat mendefinisikan variabel, kita juga harusmemberitahukan compiler tipe data apa yang digunakan pada variabel tersebut. Tipe data variabel sangat penting karena hal tersebut menentukan berapa banyak byte dari memori yang dipakai untuk variabel serta menunjukkan tipe data jenis apa yang bisa disimpan didalam variabel tersebut. Perhatikan tabel di bawah yang menampilkan tipe data serta nilainya.

Tabel 1. Tipe Data C Arduino

tipe data c arduino

Tipe Data Boolean

Tipe data boolean (di Arduino IDE ditulis bool) hanya tergantung dari dua keadaan: true atau false. Nilai variabel ini tidak dapat dirubah, karena akan bernilai 1 saat true dan 0 saat false. Berikut adalah contoh penggunaan tipe data boolean:

void setup()
{
Serial.begin(9600);
}

void loop()
{
int a = 2;
int b = 4;
bool c = false; //nilai default c adalah false, bool berarti boolean

if ( a < b ){
 c = true;
 Serial.print ("c = ");
 Serial.println (c);
}else {
 c = false;
 Serial.print ("c = ");
 Serial.println (c);
}
}

Jika kita upload ke board Arduino maka hasilnya pada serial monitor adalah sebagai berikut:

c = 1 //artinya, c bernilai true. Jika salah maka c = 0

Tipe Data Char

Berdasarkan tabel 1 di atas, kita boleh menggunakan tipe data char saat nilai variabel yang kita buat tidak melebihi 1 byte, selain itu tipe data ini tidak bisa digunakan untuk nilai yang bernilai desimal.

Tipe Data Byte

Byte bernilai 8-bit, jika diperhatikan nilai byte dua kali tipe data char. Berdasarkan tabel 1, nilai byte dengan unsigned char sama. Jadi mana yang akan kita gunakan? Ini tergantung data apa yang kita olah. Sebagai contoh, sensor memberikan data ke Arduino berupa byte, maka jia kita ingin mengolahnya sebaiknya menggunakan byte. Tapi kebanyakan para programmer menggunakan tipe unsigned char.

 

Tipe Data Int

Tipe data int merupakan integer pada C dan merupakan besaran (quantity). Pada Arduino C, tipe data ini memiliki 16-bit. Yang menarik adalah jika menggunakan tipe data int pada pembagian 9/5 maka hasil yang diperoleh sebesar 1 bukan 2 (pembulatan). Tipe data ini sama nilainya dengan unsigned int, kebanyakan programmer menggunakan tipe data int daripada unsigned int.

 

Tipe Data Word

Tipe data word memerlukan penyimpanan dan rentang nilainya sama dengan unsigned int. Namun tipe data word lebih diasosiasikan dengan bahasa assembly. Jadi dalam pemrograman arduino kita akan lebih sering menggunakan unsigned int.

 

Tipe Data Long

Karena tipe data long menggunakan 32 bit, jadi rentang nilai antara tertinggi (positif) ke terendah (negative) sebesar dua milyar. Tipe long juga merupakan tipe data integer sehingga tidak dapat digunakan untuk merepresentasikan nilai pembagian (yang menghasilkan koma).

 

Tipe Data Float dan Double

Tipe data float digunakan untuk bilangan koma atau hasil pembagian, misalnya 5:2=2,5 nilai ini jika disimpan dalam bentuk tipe data int maka yang tersimpan adalah 2. Supaya kita bisa menyimpan 2,5 maka digunakan tipe data float.
Tipe data double sebenarnya sama saja dengan float yaitu untuk mendefinisikan atau menyimpan bilangan decimal atau hasil pembagian. Tapi perbedaannya adalah memori penyimpanan yang lebih besar, jika pada float memerlukan 4 byte maka dalam double membutuhkan 8 byte.

 

Tipe Data string (s huruf kecil)

Tipe data string sebenarnya adalah representasi dari kumpulan ASCII (American Standard Code for Information Interchange) yang dilihat sebagai suatu kesatuan. Jadi tiap huruf memiliki nilai (dalam decimal, octal, hexadecimal dan biner) yang berbeda, bahkan huruf a berbeda dengan huruf A, jika pada huruf a bernilai decimal sebesar 97 maka huruf A bernilai 65. Saat kita mengetikkan huruf a yang terbaca oleh mikrokontroler adalah 97.
Perhatikan contoh mendeklarasi string di bawah ini:

char stringKu[6];

Berdasarkan string di atas, yang tersedia hanyalah 5 karakter. Dimana karakter satu yang tersisa? Karakter terakhir yaitu null karakter, null ini digunakan untuk mengakhiri sebuah array dari tipe data char yang digunakan sebagai string.

 

Tipe Data String (S huruf besar)

Tipe data String berbeda dengan tipe data string, jika pada string dibuat dari tipe data char sedangkan tipe data String merupakan kelas C++ yang dibuat dari tipe data string tapi dilihat sebagai objek bukan susunan (array) karakter. Sebagai contoh kita mendefinisikan variabel bernama dataSaya menggunakan tipe data String, karena dilihat sebagai objek maka kita bisa mengkonversinya. Pada kasus ini kita konversi menjadi huruf capital. Berikut adalah kodingnya:

String dataSaya = String (100); //artinya dataSaya dengan ruang penyimpanan maksimum 99 karakter
dataSaya=dataSaya.ToUpperCase();

Kelebihan tipe data String adalah kemudahannya untuk dikonversi ke bentuk lain dengan menggunakan fungsi default yang disediakan.

 

Tipe Data Void

Tipe data void sebenarnya tidak memiliki nilai, artinya jika kita mengenakan suatu fungsi menggunakan tipe data ini maka fungsi tersebut tidak memiliki nilai kembali (return value). Salah satu aplikasi tipe data void adalah pada koding default IDE Arduino yaitu void loop() dan void setup().
Baik fungsi setup maupun loop tidak memiliki nilai kembali. Artinya setelah statemen terakhir running pada kedua fungsi tersebut, keduanya tidak memiliki nilai. Perhatikan bedanya jika kita membuat fungsi luasPersegiPanjang(). Luasnya sebesar ๐ฟ = ๐‘ ร— ๐‘™, kita membuat fungsi luas menggunakan tipe data int. Hal ini berarti bahwa pada saat running statemen terakhir di fungsi tersebut, nilainya diberikan ke fungsi luasPersegiPanjang(). Misalkan hasil perkalian panjang dan lebar sebesar 20 maka nilai kembali fungsi luasPersegiPpanjang() sebesar 20. Penjelasan fungsi lebih jelasnya akan disampaikan pada materi fungsi di Arduino.

 

Tipe Data Array

Tipe data array merupakan kumpulan nilai yang memiliki tipe data sama (misal tipe data int, atau long dst) dan menggunakan nama variable yang sama. Berikut adalah contohnya:

int hasil[4];

Perhatikan contoh di atas, tipe data yang digunakan adalah int dengan nama variabelnya adalah hasil, sedangkan nilai int yang tersusun (terkumpul) sebanyak 4. Susunan int sebanyak 5 inilah yang disebut array. Supaya lebih jelas, mari kita asumsikan bahwa susunan data (array) dimulai dari memori dengan alamat 250 (tiap memori berkapasitas 1 byte), penempatan array int adalah sebagai berikut:

Tabel 2. Tipe Data Array

tipe data array arduino

Berdasarkan ilutrasi di atas, indeks array dimulai dari 0 bukan 1. Jadi kalau kita membuat array dengan susunan 10 data maka elemen array tertinggi adalah elemen ke-9 dan elemen pertama berindeks 0. Kenapa tiap elemen array memerlukan dua lokasi memori? Karena tipe data int sebesar 2 byte. Jika kita menggunakan float maka tiap elemen array memerlukan 4 lokasi memori.

 

PREVIOUS: Kata Kunci dan Ketentuan Nama Variabel

NEXT: Statement If

KE DAFTAR ISI

Leave a Reply

Your email address will not be published. Required fields are marked *