Setelah proses instalasi software arduino berhasil, maka selanjutnya yang harus dipelajari adalah Bahasa Pemrograman Arduino. Arduino memiliki alur algoritma yang mirip dengan bahasa pemrograman tingkat menengah pada umumnya, tetapi berbeda pada tata cara penulisan sintaks nya.

Struktur Dasar (1)
Struktur dasar pemrograman arduino terdiri dari:
- setup( ) --> bagian untuk inisialisasi yang hanya dijalankan sekali di awal program
- loop() --> untuk mengeksekusi bagian program yang akan dijalankan berulang-ulang untuk selamanya,

Struktur Dasar Beserta Contohnya
Struktur Dasar (2)
- Function
Adalah blok pemrograman yang mempunyai nama dan mempunyai statement yang akan di eksekusi ketika function di panggil. Berikut ini contoh-contoh penggunaan function:

Format Penulisan, Contoh Function dan Implementasinya

Hasil Implementasi Function di atas

Contoh lain penggunaan Function
- { } curly braces / Kurung Kurawal
- Mendefinisikan awal dan akhir dari sebuah blok fungsi
- ; Semicolon / Titik Koma
- Semicolon harus diberikan pada setiap statement program yang kita buat, ini merupakan pembatas setiap statement program yang di buat.
- /*…*/ Blok Comment / Komentar Blok
- Semua statement yang di tulis dalam block comments tidak akan di eksekusi dan tidak akan di compile
- // Line Comments / Komentar Baris
- Semua statement yang di tulis dalam tiap baris tidak akan dieksekusi

Struktur Dasar Pemrograman Arduino
Variabel
Variabel digunakan untuk menyimpan nilai dan nilai tersebut dapat berubah selama program berjalan. Ketika mendeklarisikan variable harus di ikut sertakan tipe data variabel serta nilai awal variable

Format dan Contoh Variabel
Scope Variabel
Pendeklarasian sebuah variabel dapat dilakukan pada:
a. Awal program sebelum void setup() / Variabel Global
b. Sebuah function secara lokal / Variabel Lokal
c. Sebuah blok statement pengulangan

Konsep Tipe Data
Tipe data adalah sebuah pengklasifikasian data berdasarkan jenis dan ukuran memori data tersebut.

Tabel tipe , ukuran memori dan range Data

Operator Aritmatik
Operator aritmatik terdiri dari penjumlahan, pengurangan, perkalian, pembagian, dan sisa hasil bagi. Dalam menggunakan operator aritmatik, Programmer diharuskan berhati-hati dalam menggunakan tipe data (terhadap overflow range data). Diasumsikan A = 10 dan B =20.
Tabel & Contoh Operator Aritmatik


Compound Operator / Operator Majemuk
Merupakan kombinasi dari aritmatik dengan sebuah variable. Diasumsikan variabel A = 10 dan B = 20.
Tabel & Contoh Operator Majemuk


Operator Perbandingan
Digunakan untuk membandingkan dua variabel dan apabila terpenuhi akan bernilai 1 atau true, jika sebaliknya maka false. Diasumsikan variabel A = 10 dan B = 20.
Tabel Operator Perbandingan

Contoh Operator Perbandingan:

Operator Logika
Digunakan untuk membandingkan 2 ekspresi dan menghasilkan nilai balik True atau False tergantung dari operator yang di gunakan. Diasumsikan variabel A = 10 dan B = 20.
Tabel Operator Logika

Contoh Operator Logika:

Konstanta
Konstanta membuat program lebih mudah untuk dibaca. Adapun konstanta diklasifikasikan menjadi:
- Konstanta Logika (true dan false)

- Konstanta Kondisi Pin (HIGH dan
LOW)

- Konstanta Mode Pin Digital (INPUT, INPUT_PULLUP dan OUTPUT)

Statement / Penyataan
Sebuah rangkaian yang berisi perintah-perintah tertentu yang nantinya akan di eksekusi oleh computer. Terdapat 2 jenis pernyataan pada bahasa pemrograman arduino:
- Pernyataan Tunggal --> suatu perintah yang hanya membutuhkan satu baris dan diakhiri dengan tanda titik koma

- Peryataan Majemuk --> pernyataan yang terdiri dari beberapa penyataan tunggal dan diapit oleh tanda kurung kurawal.

Flow Control / Struktur Kendali
Flow Control digunakan untuk memanipulasi aliran jalannya program yang kita tulis seperti menyeleksi pernyataan, memilih pernyataan, dan mengulangi pernyataan. Hal ini dapat memungkinkan kita untuk membuat program yang fleksibel dan interaktif untuk kebutuhan pengguna.
Penyeleksian / Selection
Berfungsi untuk memecahkan persoalan dan mengambil satu keputusan sesuai kondisi yang sedang dialami program. Sederhananya, dengan menggunakan penyeleksian kita dapat mengatur apakah sebuah perintah akan dijalankan atau tidak tergantung kepada kondisinya. Berikut ini merupakan struktur umum dari penyeleksian :

Flow Chart Penyeleksian Secara Umum
Terdapat 5 bentuk Pernyataan Penyeleksian:
- Penyataan If
- Pernyataan If … else
- Pernyataan If … else If … else
- Pernyataan switch case
- Operator Kondisi ? :
1) Pernyataan If

Format Penulisan & Flowchart
Contoh:

2) Pernyataan If … else
Format Penulisan


Flowchart if....else
Contoh:

3) Pernyataan If … else If … else
Selain dapat diikuti oleh pernyataan else, if juga dapat diikuti oleh pernyataan else if, dimana pernyataan ini sangat berguna untuk menguji berbagai kondisi. Bila kita menggunakan pernyataan if ... else if, ada beberapa poin yang perlu diingat, yaitu :
- Pernyataan if dapat memiliki nol atau satu pernyataan else dan pernyataan else tersebut harus diletakan setelah pernyataan else if.
- Pernyataan if dapat memiliki nol atau lebih pernyataan else if dan pernyataan else if tersebut harus diletakan sebelum pernyataan else.
- Setelah pernyataan else if sukses dieksekusi, program tidak akan mengeksekusi pernyataan else dan else if lainnya.
Format Penulisan:


Flowchart If … else If … else
Contoh:

4. Pernyataan switch...case
Merupakan sebuah stuktur percabangan yang akan memeriksa suatu variabel, lalu menjalankan perintah-perintah yang sesuai dengan kondisi yang mungkin terjadi untuk variabel tersebut. Struktur switch ini mirip dengan struktur IF yang ditulis berulang. Kata break menyebabkan statement switch...case ini berakhir, biasanya digunakan pada setiap akhir case.
Format Penulisan


Flowchart switch...case
Contoh:

5) Operator Ternary
Operator yang memiliki 3 argumen yang dipisahkan oleh karakter '?' dan ':‘. Operator ini merepresentasikan operasi asignment suatu variabel berdasarkan kondisi argumen sebelum '?‘.

ekspresi_pertama dijalankan jika kondisi bernilai true, jika kondisi bernilai false maka ekspresi_kedua yang akan dijalankan.

Perulangan Pada Arduino
Perulangan atau looping adalah suatu proses yang dilakukan secara berulang-ulang atau beberapa kali sampai batas yang ditentukan. Terdapat 3 bentuk Perulangan:
- Perulangan while
- Perulangan do… while
- Perulangan for
1) Perulangan while
´Perulangan “while” akan memerintahkan program untuk melakukan pengulangan terus menerus dan tak terhingga, sampai nilai test kondisiyang terdapat di dalam kurung () tercapai.


Flowchart while

2) Perulangan do … while
Pengulangan do-while hampir sama dengan pernyataan while. Pada pernyataan do-while, kondisi menjadi terbalik, yaitu pernyataan utama akan dieksekusi terlebih dahulu, setelah itu baru test kondisi diuji, jika test kondisi benar maka pernyataan utama akan diulang, dan jika salah program akan keluar dari blok do-while.


Flowchart do....while
3) Perulangan for
Pada perintah for, Anda diharuskan memasukkan nilai awal, batas akhir perulangan, increment (penambahan) atau decrement (pengurangan) serta apa yang akan dilakukan jika pengulangan tersebut berhasil dilakukan. Misal, Anda memiliki nilai awal sebesar 1, lalu Anda memasukkan batas akhir pengulangan itu kurang dari 5 (Maka jika nilai awal tadi sudah sama dengan atau lebih dari 5, perulangan akan dihentikan), dan penambahan 1. Maksudnya penambahan 1 itu adalah nilai awal tadi akan bertambah 1 setelah berhasil menjalankan 1 perulangan. Berikut ini format penulisannya:

Format Penulisan dan Flowchart for


Array
Array adalah suatu kumpulan nilai yang bertipe data sama dan dapat di akses dengan index number. Array adalah kumpulan nilai (di dalam array) yang dapat di panggil dengan cara menuliskan nama array dan index number. Array dengan index 0 merupakan nilai pertama dari array. Dengan array, proses penyimpanan data ke dalam variabel menjadi lebih efisien dan mudah, terutama jika kita memiliki data dalam jumlah banyak

Format Penulisan dan Contoh 1

Format Penulisan dan Contoh 2

Contoh Penulisan yang benar dan salah
Contoh dalam Arduino

String
String digunakan untuk menyimpan teks. Dapat digunakan untuk menampilkan teks pada LCD atau di Serial Monitor Arduino. Berguna untuk menyimpan input user. Misalnya, karakter yang diketik user di keypad terhubung ke Arduino.
- Ada dua jenis string:
- Array karakter(char)
- String Arduino
Contoh Penulisan String;

Dasar Input dan Output pada Arduino
Sebuah mikrokontroler pada dasarnya memiliki unit CPU, unit memori, dan unit I/O (input/output). Port I/O merupakan fitur mikrokontroler yang fundamental karena memungkinkan sebuah mikrokontroler dapat terhubung dengan perangkat sensor maupun aktuator. Ada 2 jenis I/O pada Arduino: digital dan analog. Untuk men-setting mode pin, kita gunakan fungsi pinMode(). Fungsi ini biasanya dipanggil di dalam fungsi setup(). Fungsi ini memerlukan dua parameter, pinMode([nomorPin], [mode]).

# Digital Input

Contoh:


Contoh:


# Digital Output

# Analog Input

# ‘Analog’ Output (PWM)

Contoh:
