Rabu, 20 Agustus 2025

Praktek 1 Running Led (Knight Rider dan Led Blinking)

 Sketch Program (Running Led (Knight Rider dan Led Blinking)

int i=0;

void setup() {
  // put your setup code here, to run once:
  pinMode(13, OUTPUT);
  pinMode(12, OUTPUT);
  pinMode(3, OUTPUT);
  pinMode(1, INPUT);
  pinMode(2, INPUT);
}
void loop() {
  // put your main code here, to run repeatedly:
  if (digitalRead(1)==HIGH){
  digitalWrite(13, HIGH);
  delay(200);
  digitalWrite(13, LOW);
  delay(200);
  ++i;
  if (i%5==0){
  digitalWrite(13, HIGH);
  digitalWrite(12, HIGH);
  digitalWrite(3, HIGH);
  delay(500);
  digitalWrite(13, LOW);
  digitalWrite(12, LOW);
  digitalWrite(3, LOW);
  delay(500);
  digitalWrite(13, HIGH);
  delay(200);
  digitalWrite(13, LOW);
  delay(200);
  i=1;
  }
  digitalWrite(12, HIGH);
  delay(200);
  digitalWrite(12, LOW);
  delay(200);
  ++i;
  digitalWrite(3, HIGH);
  delay(200);
  digitalWrite(3, LOW);
  delay(200);
  ++i;
  digitalWrite(12, HIGH);
  delay(200);
  digitalWrite(12, LOW);
  delay(200);
  ++i;
  }
  else if (digitalRead(2)==HIGH){
  digitalWrite(13, HIGH);
  digitalWrite(12, HIGH);
  digitalWrite(3, HIGH);
  delay(500);
  digitalWrite(13, LOW);
  digitalWrite(12, LOW);
  digitalWrite(3, LOW);
  delay(500);
   }
  }

Instalasi hardware Arduino Uno dan Perangkat Input Output :



Senin, 11 Agustus 2025

Materi mapel IPAS ke 3

 

Sumber Data Peta Energi Terbarukan di Kabupaten Bogor

  1. ESDM One Map (Kementerian ESDM)
    Platform ini menyediakan berbagai peta potensi energi terbarukan di seluruh Indonesia, termasuk:
    • Potensi Surya
    • Potensi Angin
    • Potensi Panas Bumi
    • Potensi Mikrohidro (PLTMH)
    • Potensi PLTS Terapung, PLTSA, dan lain-lain
      Peta-peta ini dapat ditampilkan secara geografis dan tentunya mencakup wilayah Kabupaten Bogor dan sekitarnya
  2. RTRW (Rencana Tata Ruang Wilayah) Kabupaten Bogor 2024–2044
    Melalui geoportal Kab Bogor, tersedia layer “Peta Sistem Jaringan Energi” yang menampilkan:
    • Lokasi PLTMH (Pembangkit Listrik Tenaga Mikro Hidro)
    • PLTP (Panas Bumi)
    • PLTS (Surya)
    • PLTA, PLTD, PLTG, dan gardu listrik eksisting atau perencanaan
      Ini berguna untuk melihat distribusi infrastruktur energi di daerah secara spasial
  3. Global Solar Atlas
    Sebagai alat dari World Bank, Atlas ini memberikan data potensi energi surya (radiasi matahari) pada tingkat lokasi mana pun. Bisa digunakan untuk estimasi potensi PLTS di Kabupaten Bogor dengan cukup akurat
  4. Kajian Akademis (ITS & ITB — MATEC Web Conf.)
    Menyediakan model spasial potensi energi hidro dan surya secara musiman pada skala provinsi. Meski tidak spesifik ke kabupaten, pendekatan ini bisa dipakai untuk analisis off-grid di wilayah Bogor
  5. Potensi Panas Bumi di Jawa Barat
    Pemerintah Provinsi Jawa Barat melaporkan bahwa potensi panas bumi mencapai sekitar 6.101 MW yang tersebar di 44 titik, termasuk beberapa yang berada di wilayah Kabupaten Bogor

Rekomendasi Langkah Selanjutnya

  • Akses ESDM One Map, pilih layer potensi terbarukan (surya, angin, panas bumi, mikrohidro) untuk melihat datanya secara interaktif.
  • Manfaatkan Geoportal Kabupaten Bogor dengan layer “Peta Sistem Jaringan Energi” untuk mendapatkan informasi spasial infrastruktur energi—baik eksisting maupun rencana.
  • Gunakan Global Solar Atlas jika ingin estimasi potensi surya dengan parameter teknis PV.
  • Untuk studi lebih komprehensif, Anda bisa merujuk ke model dari ITS/ITB untuk mempertimbangkan variasi musiman sulap dan hidro, serta mengintegrasikannya dalam desain sistem off-grid terdesentralisasi.

Materi mapel mikrokonroller ke 4

 

Materi Ajar: Fungsi-fungsi dan Operator pada Pemrograman Arduino Uno

Tujuan Pembelajaran

Setelah mengikuti pembelajaran ini, peserta didik diharapkan mampu:

  1. Menjelaskan konsep fungsi dalam pemrograman Arduino Uno, termasuk fungsi bawaan dan fungsi buatan sendiri.
  2. Mengidentifikasi dan menjelaskan fungsi utama setup() dan loop() beserta perannya dalam program Arduino.
  3. Menjelaskan penggunaan fungsi input/output seperti pinMode(), digitalWrite(), digitalRead(), analogRead(), dan analogWrite().
  4. Menguraikan fungsi waktu (delay(), millis(), micros()) serta perbedaan karakteristiknya.
  5. Menjelaskan fungsi komunikasi serial (Serial.begin(), Serial.print(), Serial.println(), Serial.read()).
  6. Menerapkan fungsi matematika bawaan Arduino seperti min(), max(), abs(), pow(), dan sqrt() dalam program sederhana.
  7. Membuat dan mengimplementasikan fungsi buatan sendiri (user-defined functions) untuk mempermudah penulisan dan pengelolaan program.
  8. Menyusun program Arduino Uno yang memanfaatkan kombinasi beberapa fungsi untuk mengendalikan perangkat elektronik sesuai kebutuhan.

1. Pendahuluan

Arduino Uno adalah papan mikrokontroler berbasis ATmega328P yang menggunakan bahasa pemrograman mirip C/C++. Dalam pemrogramannya, terdapat fungsi yang digunakan untuk menjalankan instruksi tertentu. Fungsi ini bisa dibagi menjadi fungsi bawaan (built-in functions) dan fungsi buatan sendiri (user-defined functions).

Fungsi di Arduino memudahkan penulisan kode agar lebih terstruktur, mudah dibaca, dan bisa digunakan berulang kali.


2. Struktur Dasar Program Arduino

Secara umum, setiap program Arduino memiliki dua fungsi utama:

  1. setup()
    • Dijalankan sekali saat Arduino pertama kali dihidupkan atau di-reset.
    • Digunakan untuk inisialisasi, seperti mengatur mode pin, memulai komunikasi serial, dll.
    • Contoh:

void setup() {

  pinMode(13, OUTPUT); // Mengatur pin 13 sebagai output

}

  1. loop()
    • Dijalankan berulang kali selama Arduino hidup.
    • Digunakan untuk menjalankan logika program utama.
    • Contoh:

void loop() {

  digitalWrite(13, HIGH); // Menyalakan LED

  delay(1000);            // Tunggu 1 detik

  digitalWrite(13, LOW);  // Mematikan LED

  delay(1000);            // Tunggu 1 detik

}


3. Fungsi Bawaan Arduino (Built-in Functions)

A. Fungsi Input/Output

  1. pinMode(pin, mode)
    • Mengatur apakah sebuah pin menjadi INPUT, OUTPUT, atau INPUT_PULLUP.
    • Contoh:

pinMode(2, INPUT);        // Pin 2 sebagai input

pinMode(13, OUTPUT);      // Pin 13 sebagai output

pinMode(7, INPUT_PULLUP); // Pin 7 input dengan resistor pull-up

  1. digitalWrite(pin, value)
    • Memberikan logika HIGH (5V) atau LOW (0V) pada pin output digital.
    • Contoh:

digitalWrite(13, HIGH); // LED nyala

digitalWrite(13, LOW);  // LED mati

  1. digitalRead(pin)
    • Membaca logika digital (HIGH/LOW) dari pin input.
    • Contoh:

int tombol = digitalRead(2);

  1. analogRead(pin)
    • Membaca nilai analog (0–1023) dari pin analog (A0–A5).
    • Contoh:

int sensor = analogRead(A0);

  1. analogWrite(pin, value)
    • Mengeluarkan sinyal PWM (0–255) pada pin tertentu.
    • Contoh:

analogWrite(9, 128); // PWM 50%


B. Fungsi Waktu

  1. delay(ms)
    • Menunda eksekusi program dalam milidetik.
    • Contoh:

delay(1000); // Tunggu 1 detik

  1. millis()
    • Mengembalikan jumlah milidetik sejak Arduino mulai berjalan.
    • Contoh:

unsigned long waktu = millis();

  1. micros()
    • Mengembalikan jumlah mikrodetik sejak Arduino berjalan.

C. Fungsi Serial Communication

  1. Serial.begin(baudrate)
    • Memulai komunikasi serial dengan kecepatan tertentu.
    • Contoh:

Serial.begin(9600);

  1. Serial.print(data) / Serial.println(data)
    • Mengirim data ke monitor serial.
    • Contoh:

Serial.println("Hello Arduino");

  1. Serial.read()
    • Membaca data dari komunikasi serial.

D. Fungsi Matematika

  • min(x, y), max(x, y), abs(x), pow(base, exponent), sqrt(x).
  • Contoh:

int nilai = max(10, 20); // Hasil: 20


4. Fungsi Buatan Sendiri (User-Defined Functions)

Kita dapat membuat fungsi sendiri agar kode lebih rapi.

Contoh:

void nyalakanLED(int pin) {

  digitalWrite(pin, HIGH);

}

 

void matikanLED(int pin) {

  digitalWrite(pin, LOW);

}

 

void setup() {

  pinMode(13, OUTPUT);

}

 

void loop() {

  nyalakanLED(13);

  delay(1000);

  matikanLED(13);

  delay(1000);

}


Dalam pemrograman Arduino (yang berbasis bahasa C/C++), operator adalah simbol khusus yang digunakan untuk melakukan operasi tertentu pada satu atau lebih operand (nilai atau variabel).
Operator membantu kita melakukan perhitungan, perbandingan, logika, manipulasi data, dan lain-lain.

Berikut penjelasan lengkapnya:


1. Operator Aritmatika

Digunakan untuk operasi matematika dasar.

OperatorFungsiContoh (kode)
+Penjumlahanz = x + y;
-Penguranganz = x - y;
*Perkalianz = x * y;
/Pembagianz = x / y;
%Modulus (sisa pembagian)z = x % y;

2. Operator Penugasan

Digunakan untuk memberikan nilai ke variabel.

OperatorFungsiContohSama dengan
=Penugasan langsungx = 5;
+=Tambah lalu simpanx += 3;x = x + 3;
-=Kurangi lalu simpanx -= 2;x = x - 2;
*=Kali lalu simpanx *= 4;x = x * 4;
/=Bagi lalu simpanx /= 5;x = x / 5;
%=Modulus lalu simpanx %= 3;x = x % 3;

3. Operator Perbandingan

Digunakan untuk membandingkan dua nilai. Hasilnya adalah true (benar) atau false (salah).

OperatorFungsiContohHasil
==Sama denganx == ytrue/false
!=Tidak sama denganx != ytrue/false
>Lebih besarx > ytrue/false
<Lebih kecilx < ytrue/false
>=Lebih besar atau samax >= ytrue/false
<=Lebih kecil atau samax <= ytrue/false

4. Operator Logika

Biasa digunakan dalam pengkondisian (if, while, dll.).

OperatorFungsiContohKeterangan
&&AND (logika DAN)(x > 0 && y < 10)Benar jika keduanya benar
||OR (logika ATAU)`(x > 0
!NOT (logika TIDAK)!(x > 0)Membalikkan nilai logika

5. Operator Increment & Decrement

Untuk menambah atau mengurangi nilai variabel sebanyak 1.

OperatorFungsiContohHasil
++Tambah 1x++;x = x + 1
--Kurang 1x--;x = x - 1

Prefix vs Postfix

  • ++x → tambah dulu, baru dipakai

  • x++ → pakai dulu, baru ditambah


6. Operator Bitwise

Memanipulasi data dalam bentuk biner (bit-level).

OperatorFungsiContoh
&AND bitwisea & b
|OR bitwisea | b
^XOR bitwisea ^ b
~NOT bitwise~a
<<Shift kiria << 2
>>Shift kanana >> 2

7. Operator Khusus di Arduino/C++

  • sizeof → Menghasilkan ukuran (dalam byte) dari variabel/tipe data.
    Contoh: sizeof(int)

  • ?: → Operator ternary (if singkat).
    Contoh: hasil = (x > y) ? x : y; → jika x > y benar, hasil x, jika salah, hasil y.

Jenis Komentar di Arduino

1. Komentar Satu Baris

Menggunakan // di awal baris.
Semua teks setelah // di baris tersebut akan diabaikan.

// Ini adalah komentar satu baris int x = 10; // komentar setelah perintah

2. Komentar Multi-baris

Menggunakan /* ... */.
Semua teks di dalamnya akan diabaikan, meskipun terdiri dari banyak baris.

/* Ini komentar lebih dari satu baris dan tidak akan dibaca oleh Arduino */ int y = 20;

3. Menonaktifkan Kode Sementara

Bisa menggunakan komentar untuk “mematikan” kode yang tidak ingin dijalankan.

// digitalWrite(LED_BUILTIN, HIGH); // kode ini tidak akan dijalankan


Kesimpulan

  • Fungsi adalah blok kode yang digunakan untuk menjalankan tugas tertentu.
  • Arduino memiliki fungsi utama (setup() dan loop()) dan fungsi bawaan untuk I/O, waktu, komunikasi serial, serta matematika.
  • Penggunaan fungsi buatan sendiri membuat program lebih modular dan mudah dibaca.
  • Operator adalah simbol khusus yang digunakan untuk melakukan operasi pada data atau variabel, baik itu perhitungan matematika, logika, perbandingan, manipulasi bit, maupun penugasan nilai.

  • Jenis operator pada Arduino (C/C++) meliputi:

    • Aritmatika → untuk perhitungan (+, -, *, /, %).

    • Penugasan → untuk memberi atau mengubah nilai (=, +=, -=, dll.).

    • Perbandingan → membandingkan nilai dan menghasilkan true atau false (==, !=, >, <, >=, <=).

    • Logika → menggabungkan atau membalik kondisi logis (&&, ||, !).

    • Increment/Decrement → menambah atau mengurangi nilai 1 (++ dan --).

    • Bitwise → memanipulasi data pada level bit (&, |, ^, ~, <<, >>).

    • Lainnya → seperti sizeof dan operator ternary ?

 

Rabu, 06 Agustus 2025

Type Data pada Arduino Uno (Materi ke 3)

 

Type data pada Arduino Uno

Tujuan Pembelajaran

Setelah mengikuti pembelajaran ini, peserta didik diharapkan mampu:

  1. Menjelaskan pengertian bentuk data (data types) yang digunakan pada pemrograman Arduino Uno.
  2. Mengidentifikasi jenis-jenis bentuk data seperti int, float, boolean, char, long, String, dan lainnya.
  3. Menganalisis kelebihan dan keterbatasan masing-masing bentuk data berdasarkan ukuran memori dan cakupan nilainya.
  4. Menggunakan bentuk data yang sesuai dalam penulisan program Arduino sederhana.
  5. Membuat program Arduino sederhana yang memanfaatkan berbagai bentuk data secara tepat dan efisien.

Materi Ajar :

Pada mikrokontroler Arduino Uno, bentuk data (data types) adalah jenis-jenis variabel yang digunakan untuk menyimpan informasi dalam program (sketch) Arduino. Pemilihan bentuk data yang tepat penting untuk mengoptimalkan penggunaan memori dan kinerja program.

Berikut adalah bentuk data utama yang digunakan dalam pemrograman Arduino Uno:

1. boolean

  • Menyimpan nilai true atau false (logika).
  • Ukuran: 1 byte
  • Contoh:

 

boolean lampuNyala = true;

2. char

  • Menyimpan karakter tunggal (misalnya 'A', 'B', '1').
  • Ukuran: 1 byte
  • Nilai: -128 hingga 127
  • Contoh:

 

char huruf = 'A';

 

3. byte

  • Bilangan bulat tanpa tanda (unsigned).
  • Ukuran: 1 byte
  • Nilai: 0 hingga 255
  • Contoh:

 

byte angka = 200;

4. int

  • Bilangan bulat bertanda.
  • Ukuran: 2 byte
  • Nilai: -32.768 hingga 32.767
  • Contoh:

 

int suhu = -20;

5. unsigned int

  • Bilangan bulat tanpa tanda.
  • Ukuran: 2 byte
  • Nilai: 0 hingga 65.535
  • Contoh:

 

unsigned int waktu = 50000;

6. long

  • Bilangan bulat panjang bertanda.
  • Ukuran: 4 byte
  • Nilai: -2.147.483.648 hingga 2.147.483.647
  • Cocok untuk waktu atau penghitungan besar.
  • Contoh:

 

long millisTime = millis();

7. unsigned long

  • Seperti long, tetapi tanpa tanda.
  • Nilai: 0 hingga 4.294.967.295
  • Contoh:

 

unsigned long waktuSekarang = millis();

8. float

  • Bilangan pecahan (desimal).
  • Ukuran: 4 byte
  • Presisi: sekitar 6–7 digit.
  • Contoh:

 

float suhu = 36.5;

9. double

  • Sama seperti float di Arduino Uno (tidak memiliki presisi lebih tinggi).
  • Ukuran: 4 byte (pada Arduino Uno).
  • Contoh:

 

double nilai = 3.14159;

10. String (class)

  • Digunakan untuk menyimpan teks (kumpulan karakter).
  • Contoh:

 

String nama = "Arduino";


Perhatikan Video Berikut untuk lebih Jelasnya :Struktur, Tipe data, Variabel dan Penulaisan Komentar

 

 

Sejarah Evolusi Otomotif & Sistem Terotomatisasi (Materi ke 1 dan 2)

  BAHAN AJAR SISWA: SEJARAH, EVOLUSI OTOMOTIF & SISTEM TEROTOMATISASI Tujuan Pembelajaran : 1. Peserta didik mampu menjelaskan perke...