PENERAPAN KOMPUTAS fderereeeeeeeeeeeeeeeeeeI.docx

EDYSAKHA 27 views 17 slides Oct 13, 2024
Slide 1
Slide 1 of 17
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17

About This Presentation

fdffdfdxZXZXxxxzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz...


Slide Content

A.Masalah sampah penyelesaian konvesioanal
Tentu! Mari kita bahas permasalahan limbah sampah dan bagaimana menyelesaikannya
dengan pendekatan berpikir komputasional melalui empat langkah: abstraksi,
dekomposisi, pola, dan algoritma.
1. Abstraksi
Pada tahap ini, kita menyederhanakan masalah limbah sampah. Misalnya, kita bisa
mengidentifikasi isu utama yaitu:
Banyaknya sampah yang dihasilkan per hari.
Sistem pengelolaan sampah yang tidak efisien.
Tingginya persentase sampah yang tidak terkelola dengan baik.
Dari sini, kita bisa fokus pada pengelolaan limbah sampah yang lebih efisien, misalnya dengan
memprioritaskan pemilahan dan daur ulang.
2. Dekomposisi
Di sini, kita membagi masalah besar menjadi bagian-bagian yang lebih kecil:
Pengumpulan Sampah: Proses pengumpulan dari rumah tangga, tempat umum, dll.
Pemilahan Sampah: Memisahkan sampah organik, anorganik, dan berbahaya.
Pengolahan Sampah: Daur ulang, pengomposan, dan pembuangan akhir.
Edukasi Masyarakat: Meningkatkan kesadaran akan pentingnya pemilahan dan
pengelolaan sampah.
3. Pola
Selanjutnya, kita mencari pola dalam pengelolaan sampah. Misalnya, kita bisa melihat:
Pola produksi sampah berdasarkan waktu (misalnya, lebih banyak pada akhir pekan).
Pola pemilahan yang efektif berdasarkan jenis sampah (organik vs. anorganik).
Pola keberhasilan program daur ulang di daerah tertentu.
Dengan mengidentifikasi pola ini, kita bisa merancang strategi yang lebih baik.
4. Algoritma
Terakhir, kita merancang algoritma untuk menyelesaikan masalah tersebut. Berikut adalah
contoh algoritma sederhana untuk sistem pemilahan sampah:
1.Input: Terima jenis dan jumlah sampah.
2.Proses Pemilahan:
oJika jenis sampah adalah organik, simpan dalam wadah A.
oJika jenis sampah adalah anorganik, simpan dalam wadah B.

oJika jenis sampah adalah berbahaya, simpan dalam wadah C.
3.Output: Tampilkan jumlah masing-masing jenis sampah dan rekomendasi untuk
pengolahan lebih lanjut.
Kesimpulan
Dengan pendekatan berpikir komputasional ini, kita bisa lebih sistematis dalam menangani
masalah limbah sampah. Proses abstraksi, dekomposisi, identifikasi pola, dan algoritma
membantu merancang solusi yang lebih efisien dan efektif dalam pengelolaan sampah di
masyarakat.
B.MASALAH SAMPAH DENGAN PENYELESAIAN IOT
Berikut adalah contoh permasalahan limbah sampah dan solusinya menggunakan
pendekatan berpikir komputasional dan teknologi IoT dengan Arduino.
1. Abstraksi
Permasalahan utama adalah penumpukan limbah sampah di tempat pengumpulan yang tidak
terjadwal dan kurangnya pemilahan jenis sampah.
2. Dekomposisi
Bagi masalah menjadi bagian kecil:
Pengukuran Volume Sampah: Memantau kapasitas tempat sampah.
Pemilahan Sampah: Menggunakan sensor untuk mendeteksi jenis sampah.
Sistem Notifikasi: Memberitahu petugas ketika tempat sampah hampir penuh.
3. Pola
Identifikasi pola pengumpulan sampah:
Peningkatan volume sampah pada akhir pekan.
Kebiasaan masyarakat dalam membuang sampah pada jam tertentu.
4. Algoritma
Berikut adalah algoritma untuk sistem pengelolaan sampah:
1.Input: Data dari sensor ultrasonik untuk mengukur ketinggian sampah.
2.Proses:
oJika ketinggian sampah > ambang batas, kirim notifikasi ke petugas.
oJika sensor warna mendeteksi jenis sampah, pisahkan ke wadah yang sesuai.
3.Output: Notifikasi dikirim melalui aplikasi mobile atau SMS.
5. Aplikasi IoT dengan Arduino

Komponen yang Diperlukan:
Arduino Uno
Sensor ultrasonik (HC-SR04)
Sensor warna (TCS3200)
Modul Wi-Fi (ESP8266)
Aplikasi web atau mobile untuk notifikasi.
Implementasi:
1.Hubungkan sensor ultrasonik dan sensor warna ke Arduino.
2.Program Arduino untuk mengukur volume dan mendeteksi jenis sampah.
3.Gunakan modul Wi-Fi untuk mengirim data ke server atau aplikasi.
4.Buat aplikasi atau dashboard untuk menampilkan status dan notifikasi.
Kesimpulan
Dengan pendekatan ini, kita dapat menciptakan sistem yang efisien dalam pengelolaan limbah,
meningkatkan kesadaran masyarakat, dan memfasilitasi pengumpulan sampah yang lebih baik.
C.MASALAH MEMATIKAN LAMPU SECARA OTOMATIS
Untuk menyelesaikan permasalahan mematikan secara otomatis lampu listrik
menggunakan pendekatan abstraksi, dekomposisi, pola, dan algoritma dalam konteks IoT
dengan Arduino, kita bisa mengikuti langkah-langkah berikut:
1. Abstraksi
Definisikan masalah secara umum. Dalam hal ini, kita ingin membuat sistem yang dapat
mematikan lampu secara otomatis berdasarkan kondisi tertentu (misalnya, tidak ada orang di
ruangan).
Contoh Abstraksi:
Input: Sensor kehadiran (PIR) untuk mendeteksi keberadaan orang.
Proses: Mengontrol relay untuk menyalakan atau mematikan lampu.
Output: Status lampu (ON/OFF).
2. Dekomposisi
Pisahkan masalah menjadi bagian-bagian lebih kecil yang lebih mudah dikelola.
Komponen yang Didekomposisi:
1.Sensor Kehadiran: Menggunakan sensor PIR untuk mendeteksi keberadaan orang.
2.Kontrol Relay: Menggunakan modul relay untuk mengontrol lampu.

3.Logika Pengendalian: Algoritma untuk menentukan kapan lampu harus menyala atau
mati.
4.Koneksi IoT: Mengirim data ke aplikasi atau server untuk monitoring (opsional).
3. Pola
Identifikasi pola yang dapat digunakan dalam implementasi.
Pola yang Relevan:
Pola Event-Driven: Sistem akan bereaksi terhadap event (deteksi gerakan dari sensor).
Pola Looping: Memeriksa status sensor secara terus-menerus dalam loop.
4. Algoritma
Rancang algoritma untuk sistem.
Algoritma Sederhana:
1.Inisialisasi sensor PIR dan relay.
2.Mulai loop:
oCek status sensor PIR.
oJika gerakan terdeteksi:
Nyalakan lampu.
Reset timer.
oJika tidak ada gerakan selama waktu tertentu (misalnya, 5 menit):
Matikan lampu.
5. Implementasi dengan Arduino
Berikut adalah contoh kode sederhana untuk implementasi ini:
cpp
Copy code
#include <Arduino.h>
const int pirPin = 2; // Pin untuk sensor PIR
const int relayPin = 3; // Pin untuk relay
unsigned long lastMotionTime = 0;
const unsigned long timeout = 300000; // 5 menit dalam milidetik
void setup() {
pinMode(pirPin, INPUT);
pinMode(relayPin, OUTPUT);
digitalWrite(relayPin, LOW); // Matikan lampu pada awal
Serial.begin(9600);

}
void loop() {
int motionDetected = digitalRead(pirPin);

if (motionDetected == HIGH) {
digitalWrite(relayPin, HIGH); // Nyalakan lampu
lastMotionTime = millis(); // Reset timer
Serial.println("Motion detected, light ON");
} else {
// Jika tidak ada gerakan, cek apakah sudah timeout
if (millis() - lastMotionTime > timeout) {
digitalWrite(relayPin, LOW); // Matikan lampu
Serial.println("No motion, light OFF");
}
}
delay(1000); // Delay untuk menghindari pembacaan yang terlalu
cepat
}
6. Uji Coba dan Monitoring
Setelah mengimplementasikan kode di atas:
Uji sistem untuk memastikan lampu menyala saat ada gerakan dan mati setelah waktu
yang ditentukan.
Jika ada, Anda bisa menambahkan fitur IoT untuk mengirim status ke aplikasi web atau
smartphone.
7. Penyempurnaan
Setelah uji coba, perhatikan feedback dan lakukan perbaikan jika diperlukan. Misalnya,
menyesuaikan waktu timeout atau menambah fitur lain seperti kontrol jarak jauh.
Dengan mengikuti langkah-langkah ini, Anda dapat mengembangkan sistem lampu otomatis
menggunakan Arduino dan IoT.
Pengguna ingin memiliki sistem pintu otomatis yang dapat membuka dan menutup sendiri
berdasarkan keberadaan orang (misalnya, menggunakan sensor gerak). Sistem ini juga
diinginkan agar dapat dikendalikan dan dipantau dari jarak jauh melalui aplikasi IoT.
Solusi Menggunakan Arduino dan IoT
1. Abstraksi
Menyederhanakan sistem menjadi komponen utama:

Sensor: Mendeteksi keberadaan orang (sensor gerak).
Aktuator: Mengendalikan mekanisme buka-tutup pintu (motor servo atau motor DC).
Sistem Notifikasi: Memberi tahu pengguna jika pintu dibuka atau ditutup.
Antarmuka Pengguna: Memungkinkan kontrol jarak jauh melalui aplikasi.
2. Dekomposisi
Membagi sistem menjadi bagian-bagian yang lebih kecil:
Sensor Gerak (PIR): Mendeteksi keberadaan orang.
Motor Penggerak: Menggerakkan pintu (motor servo atau motor DC).
Modul Wi-Fi (ESP8266): Menghubungkan sistem ke internet.
Program Kontrol: Mengelola logika pintu berdasarkan data sensor.
3. Pola
Mencari pola dalam perilaku pintu:
Keberadaan Orang: Pintu terbuka ketika seseorang mendekat dan tertutup ketika tidak
ada aktivitas selama beberapa detik.
Perintah Manual: Pengguna dapat membuka atau menutup pintu melalui aplikasi.
4. Algoritma
Langkah-langkah untuk mengontrol pintu otomatis:
1.Inisialisasi sensor dan koneksi Wi-Fi.
2.Periksa status sensor gerak secara berkala.
3.Jika sensor mendeteksi gerakan:
oBuka pintu dengan mengaktifkan motor.
oKirim notifikasi ke pengguna.
4.Jika tidak ada gerakan selama waktu tertentu:
oTutup pintu.
5.Izinkan kontrol manual dari aplikasi jika pengguna ingin membuka atau menutup pintu
secara manual.
5. Implementasi Teknologi
Komponen yang Diperlukan:
Arduino (misalnya Arduino Uno)
Sensor gerak PIR
Motor servo atau motor DC
Modul Wi-Fi (ESP8266)
Power supply yang sesuai

Buzzer atau LED untuk notifikasi
Contoh Kode Arduino Sederhana:
cpp
Copy code
#include <ESP8266WiFi.h>
#include <Servo.h>
const int pirSensorPin = 2; // Pin untuk sensor PIR
const int motorPin = 9; // Pin untuk motor servo
const int buzzerPin = 5; // Pin untuk buzzer
Servo myServo;
void setup() {
pinMode(pirSensorPin, INPUT);
myServo.attach(motorPin);
pinMode(buzzerPin, OUTPUT);
Serial.begin(115200);
WiFi.begin("SSID", "PASSWORD");
}
void loop() {
bool motionDetected = digitalRead(pirSensorPin);

if (motionDetected) {
openDoor();
} else {
closeDoor();
}
delay(1000); // Periksa setiap detik
}
void openDoor() {
myServo.write(90); // Posisi buka pintu
digitalWrite(buzzerPin, HIGH); // Aktifkan notifikasi
sendNotification("Pintu dibuka.");
delay(5000); // Biarkan pintu terbuka selama 5 detik
}
void closeDoor() {
myServo.write(0); // Posisi tutup pintu
digitalWrite(buzzerPin, LOW); // Matikan notifikasi
sendNotification("Pintu ditutup.");
}
void sendNotification(const char* message) {

// Implementasi notifikasi melalui Wi-Fi
}
Hasil dan Manfaat
Kemudahan Akses: Pintu yang membuka otomatis membuat akses lebih mudah,
terutama bagi orang yang membawa barang.
Keamanan: Pintu dapat dikendalikan dan dipantau dari jarak jauh.
Penghematan Energi: Pintu hanya membuka saat diperlukan, mengurangi energi yang
terbuang.
Kesimpulan
Dengan menggunakan pendekatan berpikir komputasional, kita dapat merancang sistem pintu
otomatis yang efektif dan efisien menggunakan teknologi IoT dan Arduino. Dengan memecah
masalah menjadi bagian-bagian yang lebih kecil dan merancang algoritma yang jelas, kita dapat
menciptakan solusi yang inovatif dan praktis.
D.MASALAH MENAMPILKAN RUNNING TEKS BERGANTI TEKS SETIAP 2
JAM SEKALI
Pengguna ingin memiliki sistem yang menampilkan tulisan running text di sebuah layar
(misalnya, LED matrix atau LCD) yang dapat berganti setiap 2 jam secara otomatis.
Sistem ini juga diinginkan agar dapat dikendalikan dan dipantau dari jarak jauh melalui
aplikasi IoT.
Solusi Menggunakan Arduino dan IoT
1. Abstraksi
Menyederhanakan sistem menjadi komponen utama:
Layar: Untuk menampilkan tulisan running text.
Pengatur Waktu: Untuk mengganti teks secara otomatis setiap 2 jam.
Sistem Notifikasi: Untuk memberi tahu pengguna jika teks telah diganti.
Antarmuka Pengguna: Memungkinkan pengaturan teks melalui aplikasi IoT.
2. Dekomposisi
Membagi sistem menjadi bagian-bagian yang lebih kecil:
Layar LED atau LCD: Untuk menampilkan teks.
Modul Wi-Fi (ESP8266): Untuk konektivitas IoT.
Program Pengatur Waktu: Mengelola logika pergantian teks.
Koleksi Teks: Menyimpan beberapa teks yang akan ditampilkan.

3. Pola
Mencari pola dalam pergantian teks:
Pergantian Teks Reguler: Setiap 2 jam, sistem akan mengganti teks.
Pengaturan Manual: Pengguna dapat menambah atau mengubah teks melalui aplikasi.
4. Algoritma
Langkah-langkah untuk mengganti tulisan running text:
1.Inisialisasi layar dan koneksi Wi-Fi.
2.Siapkan daftar teks yang akan ditampilkan.
3.Atur timer untuk mengganti teks setiap 2 jam.
4.Tampilkan teks yang sesuai di layar.
5.Kirim notifikasi ke pengguna setiap kali teks berganti.
5. Implementasi Teknologi
Komponen yang Diperlukan:
Arduino (misalnya Arduino Uno)
Layar LED Matrix atau LCD
Modul Wi-Fi (ESP8266)
Power supply yang sesuai
Contoh Kode Arduino Sederhana:
cpp
Copy code
#include <ESP8266WiFi.h>
#include <Adafruit_GFX.h>
#include <Adafruit_LEDBackpack.h>
Adafruit_BicolorMatrix matrix = Adafruit_BicolorMatrix ();
const char* ssid = "SSID";
const char* password = "PASSWORD";
const char* texts[] = {"Selamat Datang!", "Pintu Akan Membuka" ,
"Waktu Berjalan", "Pesan Baru Tiba!"};
const int numTexts = sizeof(texts) / sizeof(texts[0]);
unsigned long lastChangeTime = 0;
const unsigned long interval = 7200000; // 2 jam dalam milidetik
int currentTextIndex = 0;
void setup() {

Serial.begin(115200);
matrix.begin(0x70); // Alamat I2C untuk matrix
WiFi.begin(ssid, password);
lastChangeTime = millis();
}
void loop() {
if (millis() - lastChangeTime >= interval) {
currentTextIndex = (currentTextIndex + 1) % numTexts; //
Pergi ke teks berikutnya
displayText(texts[currentTextIndex]);
lastChangeTime = millis();
sendNotification(texts[currentTextIndex]); // Kirim
notifikasi
}
}
void displayText(const char* text) {
matrix.clear(); // Bersihkan layar
matrix.drawText(text, 0, 0, LED_ON); // Tampilkan teks
(implementasi tergantung library)
matrix.writeDisplay(); // Tampilkan pada matrix
}
void sendNotification(const char* message) {
// Implementasi notifikasi melalui Wi-Fi
}
Hasil dan Manfaat
Informasi Berkala: Menampilkan informasi yang diperbarui secara berkala setiap 2 jam.
Kemudahan Pengaturan: Pengguna dapat mengatur teks dari jarak jauh melalui aplikasi.
Fleksibilitas Konten: Pengguna dapat menambahkan atau mengubah teks yang
ditampilkan kapan saja.
Kesimpulan
Dengan pendekatan berpikir komputasional, kita dapat merancang sistem running text yang
efektif dan efisien menggunakan teknologi IoT dan Arduino. Dengan memecah masalah menjadi
bagian-bagian yang lebih kecil dan merancang algoritma yang jelas, kita dapat menciptakan
solusi yang inovatif dan praktis. Sistem ini juga dapat terintegrasi dengan kontrol pintu otomatis,
memberikan pengalaman yang lebih terintegrasi bagi pengguna.
E.MENYIRAMI TANAMAN SECARA OTOMATIS

Pengguna ingin memiliki sistem yang dapat menyiram tanaman secara otomatis pada
waktu tertentu setiap hari (pagi dan sore). Selain itu, sistem ini juga diinginkan agar dapat
dipantau dan dikendalikan dari jarak jauh menggunakan aplikasi IoT.
Solusi Menggunakan Arduino dan IoT
1. Abstraksi
Menyederhanakan sistem menjadi komponen utama:
Sensor Kelembapan Tanah: Untuk mendeteksi tingkat kelembapan tanah.
Pompa Air: Untuk menyiram tanaman.
Pengatur Waktu: Untuk mengatur waktu penyiraman (pagi dan sore).
Sistem Notifikasi: Untuk memberi tahu pengguna tentang status penyiraman.
Antarmuka Pengguna: Memungkinkan pengaturan dan pemantauan melalui aplikasi
IoT.
2. Dekomposisi
Membagi sistem menjadi bagian-bagian yang lebih kecil:
Sensor Kelembapan: Mengukur kelembapan tanah dan memberi data.
Pompa Air: Mengalirkan air ke tanaman.
Modul Wi-Fi (ESP8266): Menghubungkan sistem ke internet untuk kontrol jarak jauh.
Program Pengatur Waktu: Mengelola logika penyiraman berdasarkan waktu.
3. Pola
Mencari pola dalam jadwal penyiraman:
Penyiraman Pagi: Dilakukan setiap hari pada waktu tertentu (misalnya, jam 6 pagi).
Penyiraman Sore: Dilakukan setiap hari pada waktu tertentu (misalnya, jam 6 sore).
Penyiraman Berdasarkan Kelembapan: Jika tanah cukup lembap, penyiraman tidak
perlu dilakukan.
4. Algoritma
Langkah-langkah untuk menyiram tanaman otomatis:
1.Inisialisasi sensor kelembapan, pompa air, dan koneksi Wi-Fi.
2.Atur waktu penyiraman untuk pagi dan sore.
3.Setiap kali waktu penyiraman tiba:
oCek status kelembapan tanah.
oJika kelembapan di bawah ambang batas, aktifkan pompa untuk menyiram
tanaman.

4.Kirim notifikasi ke pengguna setelah penyiraman.
5. Implementasi Teknologi
Komponen yang Diperlukan:
Arduino (misalnya Arduino Uno)
Sensor kelembapan tanah
Pompa air
Relay modul untuk mengontrol pompa
Modul Wi-Fi (ESP8266)
Power supply yang sesuai
Contoh Kode Arduino Sederhana:
cpp
Copy code
#include <ESP8266WiFi.h>
const int moistureSensorPin = A0; // Pin untuk sensor kelembapan
const int pumpPin = 7; // Pin untuk pompa
const int moistureThreshold = 400; // Ambang batas kelembapan
const char* ssid = "SSID";
const char* password = "PASSWORD";
unsigned long currentTime;
unsigned long morningTime = 6 * 3600000; // Jam 6 pagi
unsigned long eveningTime = 18 * 3600000; // Jam 6 sore
void setup() {
Serial.begin(115200);
pinMode(pumpPin, OUTPUT);
digitalWrite(pumpPin, LOW); // Matikan pompa
WiFi.begin(ssid, password);
}
void loop() {
currentTime = millis() % 86400000; // Hitung waktu dalam
milidetik per hari
if (currentTime >= morningTime && currentTime < morningTime +
60000) {
waterPlants();
} else if (currentTime >= eveningTime && currentTime <
eveningTime + 60000) {
waterPlants();

}
delay(1000);
}
void waterPlants() {
int moistureLevel = analogRead(moistureSensorPin);
if (moistureLevel < moistureThreshold) {
digitalWrite(pumpPin, HIGH); // Aktifkan pompa
delay(5000); // Menyiram selama 5 detik
digitalWrite(pumpPin, LOW); // Matikan pompa
sendNotification("Tanaman disiram.");
}
}
void sendNotification(const char* message) {
// Implementasi notifikasi melalui Wi-Fi
}
Hasil dan Manfaat
Penghematan Air: Sistem dapat menyiram tanaman hanya saat diperlukan.
Kemudahan Pengelolaan: Pengguna tidak perlu khawatir tentang penyiraman tanaman
secara manual.
Pemantauan Jarak Jauh: Pengguna dapat memantau dan mengendalikan sistem dari
jauh.
Kesimpulan
Dengan pendekatan berpikir komputasional, kita dapat merancang sistem penyiraman otomatis
yang efektif dan efisien menggunakan teknologi IoT dan Arduino. Dengan memecah masalah
menjadi bagian-bagian yang lebih kecil dan merancang algoritma yang jelas, kita dapat
menciptakan solusi inovatif yang membantu dalam pengelolaan tanaman. Sistem ini dapat
terintegrasi dengan kontrol pintu otomatis, memberikan pengalaman yang lebih lengkap bagi
pengguna.
4o mini
Get smarter responses, upload files and images, and more.
Log in
Sign up
F.Membuat Saklar Otomatis Bak Mandi dengan Pendekatan Komputasional dan IoT
Arduino

Abstrak
Sistem saklar otomatis untuk bak mandi dapat mencegah pemborosan air dengan mematikan
aliran air ketika bak hampir meluber. Dengan pendekatan berpikir komputasional—meliputi
abstraksi, dekomposisi, pola, dan algoritma—serta menggunakan perangkat IoT berbasis
Arduino, kita dapat mengembangkan sistem yang efisien dan mudah dipantau.
Pendekatan Berpikir Komputasional
1.Abstraksi:
oTujuan utama adalah menghindari kebocoran air dari bak mandi dengan
menutup aliran air secara otomatis saat level air mendekati batas maksimum.
2.Dekomposisi:
oMemecah sistem menjadi komponen-komponen berikut:
Sensor level air
Aktuator (katup solenoid)
Modul komunikasi (Wi-Fi)
Aplikasi untuk pemantauan
3.Pola:
oMencari pola dalam data penggunaan air. Misalnya, frekuensi penggunaan bak
mandi di waktu tertentu.
4.Algoritma:
oMengembangkan langkah-langkah berikut:
1.Mengukur level air menggunakan sensor.
2.Jika level air mendekati ambang batas (misalnya 90% dari kapasitas),
maka:
Aktifkan katup solenoid untuk mematikan aliran air.
Kirim notifikasi ke pengguna jika diperlukan.
Implementasi dengan Arduino
Komponen yang Diperlukan
Arduino Uno
Sensor Ultrasonik (HC-SR04): Untuk mengukur level air.
Katup Solenoid: Untuk mengatur aliran air.
Modul Wi-Fi (ESP8266): Untuk mengirim data dan notifikasi.
Breadboard dan Jumper Wires

Skema Rangkaian
1.Hubungkan sensor ultrasonik ke Arduino untuk membaca level air.
2.Sambungkan katup solenoid ke pin output Arduino.
3.Gunakan modul Wi-Fi untuk koneksi internet.
Kode Arduino
Berikut adalah contoh kode untuk mengatur saklar otomatis:
cpp
Copy code
#include <ESP8266WiFi.h>
// Pin definisi
const int trigPin = 9;
const int echoPin = 10;
const int solenoidPin = 7;
// Ambang batas level air
const int threshold = 20; // Dalam cm
void setup() {
Serial.begin(9600);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(solenoidPin, OUTPUT);
digitalWrite(solenoidPin, LOW); // Matikan katup solenoid
}
void loop() {
long duration, distance;

// Mengukur level air
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);

duration = pulseIn(echoPin, HIGH);
distance = (duration * 0.034) / 2; // Menghitung jarak dalam
cm
// Jika level air mendekati ambang batas
if (distance < threshold) {
digitalWrite(solenoidPin, LOW); // Matikan aliran air

Serial.println("Air hampir meluber, aliran air
dimatikan.");
} else {
digitalWrite(solenoidPin, HIGH); // Nyalakan aliran air
}
delay(1000); // Interval pengukuran
}
Kesimpulan
Dengan menggunakan pendekatan berpikir komputasional dan alat IoT berbasis Arduino, sistem
saklar otomatis ini dapat membantu mengelola penggunaan air secara efisien. Implementasi ini
tidak hanya menjaga kebersihan dan kenyamanan, tetapi juga mendukung pengelolaan sumber
daya air yang lebih baik. Dengan notifikasi real-time, pengguna dapat tetap terinformasi tentang
status bak mandi mereka, sehingga lebih proaktif dalam pengelolaan air.
Untuk membuka pintu otomatis menggunakan pendekatan abstraksi, dekomposisi, pola,
algoritma, dan alat IoT, kita dapat mengikuti langkah-langkah berikut:
1. Abstraksi
Abstraksi adalah proses menyederhanakan masalah dengan menghilangkan detail yang tidak
perlu. Dalam konteks pintu otomatis, kita dapat memikirkan pintu sebagai:
Entitas: Pintu
Fungsi: Membuka dan menutup
Input: Sinyal dari sensor (misalnya, deteksi keberadaan atau perintah dari aplikasi)
Output: Aksi membuka atau menutup pintu
2. Dekomposisi
Dekomposisi adalah memecah sistem menjadi bagian-bagian yang lebih kecil dan lebih mudah
dikelola. Untuk sistem pintu otomatis, kita dapat membaginya menjadi:
Sensor: Mendeteksi keberadaan pengguna (misalnya, sensor gerak, RFID, atau
smartphone)
Mekanisme Pintu: Bagian fisik yang membuka dan menutup pintu (misalnya, motor
servo)
Kontroler: Mengolah sinyal dari sensor dan mengontrol mekanisme pintu (misalnya,
mikrokontroler seperti Arduino atau Raspberry Pi)
Antarmuka Pengguna: Aplikasi atau sistem yang mengirim perintah (misalnya, aplikasi
smartphone)
3. Pola

Pola dapat digunakan untuk mendesain arsitektur sistem. Dalam hal ini, kita bisa menggunakan
pola desain berikut:
Event-Driven Architecture: Sistem bereaksi terhadap event (misalnya, deteksi
pengguna).
Client-Server Model: Aplikasi di smartphone sebagai klien yang berkomunikasi dengan
server yang mengontrol pintu.
4. Algoritma
Setelah mengidentifikasi komponen, kita perlu mengembangkan algoritma untuk mengontrol
pintu. Berikut adalah langkah-langkah algoritma sederhana:
1.Inisialisasi: Siapkan sensor dan motor.
2.Deteksi Pengguna:
oJika sensor mendeteksi keberadaan (misalnya, gerakan atau kartu RFID),
lanjutkan ke langkah berikutnya.
3.Verifikasi Akses:
oJika menggunakan sistem RFID, periksa apakah kartu valid.
4.Aksi Pintu:
oJika akses valid, kirim sinyal untuk membuka pintu.
oTunggu beberapa detik (misalnya, 5 detik) untuk memberikan waktu bagi
pengguna untuk masuk.
oKirim sinyal untuk menutup pintu.
5.Kembali ke Deteksi Pengguna.
5. Alat IoT
Untuk mengimplementasikan sistem ini, kita bisa menggunakan alat IoT berikut:
Mikrokontroler: Arduino, Raspberry Pi, atau ESP8266 untuk mengontrol pintu.
Sensor: Sensor gerak PIR, modul RFID, atau sensor jarak ultrasonik.
Motor: Motor servo atau motor DC untuk mekanisme membuka dan menutup pintu.
Koneksi Internet: Menggunakan Wi-Fi untuk menghubungkan sistem ke aplikasi
mobile atau web.
Contoh Implementasi
Mikrokontroler mengontrol motor berdasarkan sinyal dari sensor.
Aplikasi di smartphone yang terhubung ke mikrokontroler melalui Wi-Fi untuk
memberikan kontrol jarak jauh.
Dengan pendekatan ini, kita bisa membangun sistem pintu otomatis yang efisien dan dapat
diakses dengan mudah.