Minggu, 07 September 2025
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;
Senin, 11 Agustus 2025
Materi mapel IPAS ke 3
Sumber
Data Peta Energi Terbarukan di Kabupaten Bogor
- 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 - 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 - 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 - 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 - 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.
Fungsi-fungsi dan Operator pada pemrograman Arduino (Materi ke 4)
Materi Ajar: Fungsi-fungsi dan Operator pada Pemrograman Arduino
Uno
Tujuan
Pembelajaran
Setelah mengikuti pembelajaran ini,
peserta didik diharapkan mampu:
- Menjelaskan konsep fungsi dalam pemrograman Arduino Uno, termasuk fungsi bawaan
dan fungsi buatan sendiri.
- Mengidentifikasi dan menjelaskan fungsi utama setup()
dan loop() beserta perannya dalam program Arduino.
- Menjelaskan penggunaan fungsi input/output seperti pinMode(), digitalWrite(), digitalRead(), analogRead(), dan analogWrite().
- Menguraikan fungsi waktu (delay(), millis(), micros()) serta perbedaan karakteristiknya.
- Menjelaskan fungsi komunikasi serial (Serial.begin(), Serial.print(), Serial.println(), Serial.read()).
- Menerapkan fungsi matematika bawaan Arduino seperti min(), max(), abs(), pow(), dan sqrt() dalam program sederhana.
- Membuat dan mengimplementasikan fungsi buatan sendiri
(user-defined functions)
untuk mempermudah penulisan dan pengelolaan program.
- 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:
- 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
}
- 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
- 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
- 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
- digitalRead(pin)
- Membaca logika digital (HIGH/LOW) dari pin input.
- Contoh:
int
tombol = digitalRead(2);
- analogRead(pin)
- Membaca nilai analog (0–1023) dari pin analog (A0–A5).
- Contoh:
int
sensor = analogRead(A0);
- analogWrite(pin, value)
- Mengeluarkan sinyal PWM (0–255) pada pin tertentu.
- Contoh:
analogWrite(9,
128); // PWM 50%
B.
Fungsi Waktu
- delay(ms)
- Menunda eksekusi program dalam milidetik.
- Contoh:
delay(1000);
// Tunggu 1 detik
- millis()
- Mengembalikan jumlah milidetik sejak Arduino mulai
berjalan.
- Contoh:
unsigned
long waktu = millis();
- micros()
- Mengembalikan jumlah mikrodetik sejak Arduino
berjalan.
C.
Fungsi Serial Communication
- Serial.begin(baudrate)
- Memulai komunikasi serial dengan kecepatan tertentu.
- Contoh:
Serial.begin(9600);
- Serial.print(data)
/ Serial.println(data)
- Mengirim data ke monitor serial.
- Contoh:
Serial.println("Hello
Arduino");
- 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.
| Operator | Fungsi | Contoh (kode) |
|---|---|---|
+ | Penjumlahan | z = x + y; |
- | Pengurangan | z = x - y; |
* | Perkalian | z = x * y; |
/ | Pembagian | z = x / y; |
% | Modulus (sisa pembagian) | z = x % y; |
2. Operator Penugasan
Digunakan untuk memberikan nilai ke variabel.
| Operator | Fungsi | Contoh | Sama dengan |
|---|---|---|---|
= | Penugasan langsung | x = 5; | — |
+= | Tambah lalu simpan | x += 3; | x = x + 3; |
-= | Kurangi lalu simpan | x -= 2; | x = x - 2; |
*= | Kali lalu simpan | x *= 4; | x = x * 4; |
/= | Bagi lalu simpan | x /= 5; | x = x / 5; |
%= | Modulus lalu simpan | x %= 3; | x = x % 3; |
3. Operator Perbandingan
Digunakan untuk membandingkan dua nilai. Hasilnya adalah true (benar) atau false (salah).
| Operator | Fungsi | Contoh | Hasil |
|---|---|---|---|
== | Sama dengan | x == y | true/false |
!= | Tidak sama dengan | x != y | true/false |
> | Lebih besar | x > y | true/false |
< | Lebih kecil | x < y | true/false |
>= | Lebih besar atau sama | x >= y | true/false |
<= | Lebih kecil atau sama | x <= y | true/false |
4. Operator Logika
Biasa digunakan dalam pengkondisian (if, while, dll.).
| Operator | Fungsi | Contoh | Keterangan |
|---|---|---|---|
&& | 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.
| Operator | Fungsi | Contoh | Hasil |
|---|---|---|---|
++ | Tambah 1 | x++; | x = x + 1 |
-- | Kurang 1 | x--; | 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).
| Operator | Fungsi | Contoh |
|---|---|---|
& | AND bitwise | a & b |
| | OR bitwise | a | b |
^ | XOR bitwise | a ^ b |
~ | NOT bitwise | ~a |
<< | Shift kiri | a << 2 |
>> | Shift kanan | a >> 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;→ jikax > ybenar, hasilx, jika salah, hasily.
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
trueataufalse(==, !=, >, <, >=, <=). -
Logika → menggabungkan atau membalik kondisi logis (&&, ||, !).
-
Increment/Decrement → menambah atau mengurangi nilai 1 (++ dan --).
-
Bitwise → memanipulasi data pada level bit (&, |, ^, ~, <<, >>).
-
Lainnya → seperti
sizeofdan 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:
- Menjelaskan
pengertian bentuk data (data types) yang digunakan pada pemrograman
Arduino Uno.
- Mengidentifikasi
jenis-jenis bentuk data seperti int, float, boolean, char, long, String, dan lainnya.
- Menganalisis
kelebihan dan keterbatasan masing-masing bentuk data berdasarkan ukuran
memori dan cakupan nilainya.
- Menggunakan
bentuk data yang sesuai dalam penulisan program Arduino sederhana.
- 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
Hukum Kirchoff (materi ke 3)
Tujuan Pembelajaran (TP) 1. Pemahaman Konsep (Hukum I Kirchhoff) Peserta didik mampu menjelaskan konsep Hukum I Kirchhoff tentang arus li...
-
Tujuan Pembelajaran : 1. Siswa dapat memahami prinsip kerja generator pada turbin PLTA, PLTU, PLTB. 2. Siswa dapat memahami prinsip kerja P...
-
Bahan Ajar: Nutrisi sebagai "Bahan Bakar" Performa Industri Mata Pelajaran: Dasar-Dasar Kejuruan / K3LH Target: Siswa SMK (TKJ...
-
Perhatikan Video Berikut : Buatlah Ringkasan langkah kerja mikro hidro dengan melihat video diatas di buku catatan dan kirim tugasnya di U...