Panduan Penggunaan Sistem Raspberry Pi

22 Modul Pembelajaran Berurutan

0% Selesai

Lakukan setiap modul secara berurutan agar sistem dapat bekerja dengan kemampuan terbaiknya. Setiap modul adalah bekal untuk memahami modul berikutnya.

01
Persiapan Awal Sistem
Dasar
TUJUAN MODUL

Mengubah Raspberry Pi dari kondisi kosong (belum bisa digunakan) menjadi sebuah komputer mini yang berfungsi penuh, dengan sistem operasi yang sudah terpasang dan siap dipakai.

ANALOGI SISTEM

Proses ini seperti merakit sebuah komputer baru dari komponen, lalu memasang sistem operasinya (misalnya Windows) untuk pertama kali. Tindakan ini memberikan 'otak' komputer (Raspberry Pi) perintah dasar untuk hidup dan berfungsi.

LANGKAH-LANGKAH UNTUK DIIKUTI
  1. Unduh Alat Bantu Raspberry Pi Imager Fungsi: Alat resmi ini adalah aplikasi kecil yang memastikan Sistem Operasi (OS) ditulis ke kartu MicroSD dengan benar. Memakai alat ini adalah langkah penting agar Raspberry Pi bisa menyala dengan sukses.
  2. Jalankan Imager dan Pilih Pengaturan Fungsi: Di sini dilakukan pemilihan model Raspberry Pi yang digunakan dan versi OS yang akan dipasang. Rekomendasi Raspberry Pi OS memberikan kecocokan dan dukungan terbaik.
  3. Lakukan Pengaturan Awal (Advanced Options) Fungsi: Ini adalah langkah yang sangat berguna untuk menghemat waktu. Dengan mengatur nama perangkat (hostname), mengaktifkan SSH untuk akses jarak jauh, dan memasukkan detail WiFi sebelum pemasangan, perangkat akan otomatis siap dipakai saat pertama kali dinyalakan.
  4. Pilih Kartu MicroSD dan Mulai Proses Penulisan Fungsi: Tentukan kartu MicroSD sebagai tujuan. Proses 'Write' akan menyalin semua file OS ke kartu. SISTEM ALERT: Proses ini akan menghapus semua data yang ada di kartu MicroSD secara permanen.
  5. Pasang Kartu dan Nyalakan Sistem Fungsi: Setelah selesai, masukkan kartu MicroSD ke Raspberry Pi. Sambungkan perangkat tambahan (seperti monitor, keyboard, mouse). Sambungkan kabel daya sebagai langkah terakhir untuk memulai proses menyalakan sistem untuk pertama kali.
VERIFIKASI KRITERIA SUKSES

Sistem berhasil menyala hingga menampilkan tampilan desktop. Koneksi ke jaringan WiFi terjadi secara otomatis. Tidak ada permintaan pengaturan tambahan yang muncul saat pertama kali menyala.

SUMBER ACUAN
02
Dasar Interaksi Berbasis Teks
Dasar
TUJUAN MODUL

Menguasai penggunaan perintah dasar pada aplikasi Terminal (aplikasi untuk mengetik perintah) untuk berinteraksi dengan sistem operasi secara tepat dan cepat tanpa menggunakan mouse.

ANALOGI SISTEM

Jika desktop bergambar adalah komunikasi dengan komputer melalui gambar dan klik, maka interaksi berbasis teks adalah komunikasi via bahasa ketik yang dimengerti oleh manusia dan sistem komputer. Metode ini lebih cepat dan lebih kuat untuk tugas-tugas pengaturan sistem.

LANGKAH-LANGKAH UNTUK DIIKUTI
  1. Buka Aplikasi Terminal Fungsi: Aplikasi ini adalah gerbang atau jendela percakapan teks langsung dengan inti sistem operasi. Ini adalah alat utama untuk interaksi berbasis teks.
  2. Jalankan Perintah pwd Fungsi: Perintah ini (Print Working Directory) adalah cara bertanya pada sistem, "Di folder mana saya aktif saat ini?"
  3. Jalankan Perintah ls -la Fungsi: Perintah ini meminta daftar lengkap semua item (file dan folder) di lokasi saat ini, termasuk detail seperti izin akses dan file yang tersembunyi.
  4. Jalankan Perintah mkdir nama_proyek Fungsi: Perintah ini (Make Directory) memberi perintah untuk 'membuat sebuah folder baru' dengan nama yang ditentukan.
  5. Jalankan Perintah cd nama_proyek Fungsi: Perintah ini (Change Directory) memberi perintah untuk 'pindah lokasi aktif' ke dalam folder yang baru saja dibuat.
  6. Jalankan Perintah nano catatan.txt Fungsi: Perintah ini membuka nano, sebuah aplikasi edit teks sederhana. Ini memungkinkan pembuatan atau perubahan file teks langsung dari Terminal. Simpan dan keluar dengan mengikuti petunjuk keyboard di bagian bawah layar.
VERIFIKASI KRITERIA SUKSES

Folder dan file berhasil dibuat melalui Terminal. Keberadaannya dapat diperiksa menggunakan perintah ls, dan isinya dapat dilihat dengan perintah cat catatan.txt.

03
Mengatur File & Izin Akses
Dasar
TUJUAN MODUL

Memahami perbedaan penting antara pengguna biasa dan superuser (pengguna dengan hak akses tertinggi, disebut root). Mengatur izin akses file untuk menjaga keamanan sistem.

ANALOGI SISTEM

Bayangkan sistem file adalah sebuah gedung apartemen. Pengguna biasa memiliki kunci untuk unit apartemennya sendiri. Superuser (saat menggunakan sudo) memiliki kunci master yang bisa membuka semua pintu, termasuk ruang mesin dan panel listrik. Izin akses adalah aturan tentang kunci mana yang bisa membuka pintu mana.

LANGKAH-LANGKAH UNTUK DIIKUTI
  1. Lakukan Percobaan Operasi Terlarang Fungsi: Coba buat file di dalam folder sistem yang penting, seperti /etc. Sistem akan menolak dengan pesan "Permission Denied". Ini adalah mekanisme pertahanan diri sistem untuk mencegah kerusakan file pengaturan penting.
  2. Gunakan Peningkatan Hak Akses dengan sudo Fungsi: Ulangi perintah yang sama, tetapi awali dengan sudo (Super User Do). Perintah ini secara efektif 'meminjam' kunci master untuk satu tugas spesifik setelah identitas diverifikasi melalui kata sandi.
  3. Periksa Izin dengan ls -l Fungsi: Perintah ini menampilkan detail file, termasuk kolom izin seperti -rwxr--r--. Ini adalah kode keamanan: r (baca), w (tulis), x (jalankan) untuk tiga kategori: pemilik, grup, dan lainnya.
  4. Ubah Izin dengan chmod Fungsi: Perintah chmod (Change Mode) adalah alat untuk mengubah kode keamanan tersebut. Izin dapat ditambah atau dikurangi untuk pengguna yang berbeda, misalnya membuat sebuah skrip bisa dijalankan atau membuat file menjadi hanya-bisa-dibaca.
VERIFIKASI KRITERIA SUKSES

Menerima pesan galat "Permission Denied" saat mencoba operasi terlarang. Berhasil melakukan perintah yang sama dengan sudo. Berhasil mengubah izin akses file dan memeriksa perubahannya melalui ls -l.

04
Pengaturan Jaringan Tetap
Dasar
TUJUAN MODUL

Mengganti alamat IP yang bisa berubah dengan alamat IP yang tetap. Ini sangat penting untuk perangkat yang perlu selalu ditemukan di alamat jaringan yang sama.

ANALOGI SISTEM

Alamat IP yang bisa berubah adalah seperti menyewa PO Box yang nomornya berubah setiap hari. Alamat IP yang tetap adalah seperti memiliki alamat rumah permanen. Untuk layanan yang perlu selalu ditemukan (seperti kamera keamanan), alamat permanen adalah sebuah keharusan.

LANGKAH-LANGKAH UNTUK DIIKUTI
  1. Gunakan raspi-config untuk Nama Perangkat Fungsi: Jalankan sudo raspi-config. Mengubah nama perangkat (hostname) memberikan nama yang mudah diingat di jaringan, misalnya pi-kamera, alih-alih nama bawaan yang rumit.
  2. Edit File Pengaturan Jaringan Fungsi: Buka file di /etc/dhcpcd.conf menggunakan sudo nano. File ini mengontrol bagaimana perangkat meminta alamat IP. Dengan mengeditnya, permintaan otomatis akan diganti dengan pengaturan manual.
  3. Tambahkan Blok Pengaturan Tetap Fungsi: Di akhir file, tambahkan baris yang menentukan alamat IP yang diinginkan (static ip_address) dan alamat router (static routers). Ini secara jelas memberitahu sistem untuk tidak lagi meminta alamat, melainkan memakai yang ini.
  4. Mulai Ulang Sistem Fungsi: Jalankan sudo reboot. Proses mulai ulang diperlukan agar perubahan pengaturan jaringan yang mendasar ini dapat dibaca dan diterapkan oleh sistem.
VERIFIKASI KRITERIA SUKSES

Setelah mulai ulang, perintah hostname -I akan menampilkan alamat IP tetap yang baru. Perangkat dapat di-ping dari komputer lain di jaringan yang sama menggunakan alamat IP tersebut.

05
Akses Jarak Jauh (SSH & VNC)
Menengah
TUJUAN MODUL

Mengaktifkan metode akses jarak jauh untuk memungkinkan pengoperasian tanpa monitor, keyboard, dan mouse (dikenal sebagai operasi "headless").

ANALOGI SISTEM

SSH adalah seperti melakukan panggilan telepon (hanya suara/teks) ke Raspberry Pi untuk memberinya perintah. VNC adalah seperti melakukan panggilan video di mana layar Raspberry Pi ditampilkan dan dapat dikontrol dari jarak jauh.

LANGKAH-LANGKAH UNTUK DIIKUTI
  1. Jalankan Alat Bantu raspi-config Fungsi: Aplikasi sudo raspi-config adalah panel kontrol pusat untuk mengaktifkan atau menonaktifkan fitur-fitur inti pada Raspberry Pi.
  2. Aktifkan Layanan SSH Fungsi: Arahkan ke "Interface Options" dan aktifkan SSH. Ini akan menjalankan layanan di latar belakang yang 'mendengarkan' permintaan koneksi berbasis teks yang aman.
  3. Aktifkan Layanan VNC Fungsi: Di lokasi yang sama, aktifkan VNC. Ini akan menjalankan layanan yang menyiarkan tampilan desktop bergambar melalui jaringan, memungkinkan aplikasi lain untuk terhubung dan berinteraksi dengannya.
  4. Hubungkan dari Komputer Lain Fungsi: Gunakan aplikasi penghubung SSH (seperti PuTTY di Windows) atau VNC Viewer (dari RealVNC) di komputer lain untuk terhubung ke alamat IP Raspberry Pi.
VERIFIKASI KRITERIA SUKSES

Berhasil masuk dan menjalankan perintah di Raspberry Pi melalui koneksi SSH. Berhasil melihat dan mengontrol seluruh tampilan desktop Raspberry Pi dari komputer lain melalui VNC Viewer.

SUMBER ACUAN
06
Transfer File (WinSCP untuk Windows)
Menengah
PRASYARAT SISTEM

Modul 05 (Akses Jarak Jauh) harus telah diselesaikan. Layanan SSH harus aktif di Raspberry Pi dan alamat IP-nya diketahui.

TUJUAN MODUL

Membangun jalur transfer file yang aman dan mudah digunakan antara komputer Windows dan Raspberry Pi menggunakan aplikasi WinSCP.

ANALOGI SISTEM

WinSCP adalah seperti File Explorer dengan dua jendela berdampingan: satu menunjukkan file di komputer lokal, yang lain menunjukkan file di Raspberry Pi. Ini memungkinkan pemindahan file dengan cara seret-dan-lepas (drag-and-drop) yang familiar.

LANGKAH-LANGKAH UNTUK DIIKUTI
  1. Pasang Aplikasi WinSCP di Windows Fungsi: Unduh dan pasang WinSCP. Aplikasi ini adalah penghubung bergambar untuk transfer file aman (SCP/SFTP) yang memanfaatkan koneksi SSH.
  2. Atur Sesi Koneksi Baru Fungsi: Jalankan WinSCP. Masukkan alamat IP Raspberry Pi (Host name), nama pengguna, dan kata sandi. Pilih metode SCP.
  3. Terima Kunci Identitas Perangkat Fungsi: Pada koneksi pertama, sebuah peringatan keamanan akan muncul. Ini adalah prosedur standar untuk memeriksa identitas perangkat lain. Klik "Yes" untuk menyimpan dan mempercayai identitas dari Raspberry Pi.
  4. Lakukan Transfer File Fungsi: Setelah terhubung, tampilan dua panel akan muncul. Seret file dari panel kiri (komputer) ke kanan (Raspberry Pi) untuk mengirim, atau sebaliknya untuk menerima.
VERIFIKASI KRITERIA SUKSES

File yang diseret dari satu panel muncul di panel lainnya. File tersebut dapat diakses dan dibuka di perangkat tujuan, menandakan transfer data berhasil dan tanpa kerusakan.

SUMBER ACUAN
07
Dasar Penulisan Kode Python
Dasar
TUJUAN MODUL

Menguasai aturan dasar penulisan kode menggunakan bahasa Python. Ini adalah bekal untuk memberi perintah, mengatur logika, dan berinteraksi dengan komponen elektronik.

ANALOGI SISTEM

Belajar Python seperti belajar "tata bahasa" untuk berbicara dengan komputer. `Wadah data` (variabel) adalah kata benda, fungsi adalah kata kerja, dan struktur `if/else` adalah cara membuat kalimat sebab-akibat.

LANGKAH-LANGKAH UNTUK DIIKUTI
  1. Buka Aplikasi Thonny IDE Fungsi: Thonny adalah aplikasi bantu yang ramah pemula, menyediakan editor teks untuk menulis kode dan jendela untuk melihat hasilnya dalam satu tempat.
  2. Buat Wadah Data dan Cetak Isinya Fungsi: Buat sebuah wadah data (variabel) untuk menyimpan informasi seperti angka atau rangkaian teks. Gunakan print() untuk menampilkan isi wadah tersebut.
  3. Tulis Struktur Pengambilan Keputusan (if-elif-else) Fungsi: Struktur ini memungkinkan kode untuk menjalankan bagian yang berbeda berdasarkan kondisi yang terpenuhi, memberinya kemampuan untuk "membuat keputusan".
  4. Terapkan Perulangan (for dan while) Fungsi: Perulangan mengotomatisasi tugas yang berulang. Loop for ideal untuk mengerjakan sesuatu pada setiap item dalam sebuah daftar. Loop while terus berjalan selama suatu kondisi benar.
VERIFIKASI KRITERIA SUKSES

Kode Python berjalan tanpa menampilkan pesan galat. Hasil yang muncul di jendela "Shell" Thonny sesuai dengan logika yang telah ditulis.

SUMBER ACUAN
08
Kontrol Output GPIO (Lampu LED)
Menengah
PRASYARAT SISTEM

Pemahaman dasar Python (Modul 07) diperlukan.

TUJUAN MODUL

Memberi perintah dari kode Python untuk mengontrol komponen elektronik dari luar melalui pin GPIO (pin serbaguna), sehingga menghasilkan efek fisik yang terlihat.

ANALOGI SISTEM

Pin GPIO adalah seperti serangkaian sakelar lampu digital yang dapat dinyalakan atau dimatikan oleh kode. Menghubungkan LED adalah seperti memasang bola lampu ke salah satu sakelar tersebut.

PRAKTIK: RANGKAIAN FISIK

PROSEDUR KESELAMATAN: Selalu matikan dan cabut kabel daya Raspberry Pi sebelum menyambungkan atau melepaskan komponen.

  1. Hubungkan Pin GPIO ke Resistor Sambungkan salah satu ujung kabel dari Pin GPIO 17 ke breadboard. Di baris yang sama, pasang satu kaki Resistor 330 Ohm.
  2. Hubungkan Resistor ke LED Sambungkan kaki Resistor yang lain ke baris berbeda. Di baris baru tersebut, pasang kaki panjang (anoda) dari lampu LED.
  3. Hubungkan LED ke Ground Sambungkan kaki pendek (katoda) dari lampu LED ke kabel yang terhubung ke salah satu Pin Ground (GND) di Raspberry Pi. Sirkuit kini lengkap.
LANGKAH-LANGKAH KODE
  1. Gunakan Kumpulan Kode Bantu gpiozero Kumpulan kode bernama gpiozero sudah terpasang di Raspberry Pi OS. Kode ini menyediakan cara yang lebih mudah untuk berinteraksi dengan pin GPIO, menyederhanakan detail teknis menjadi perintah yang mudah dipahami (misal, led.on()).
  2. Buat Perulangan Berkedip Buat perulangan tak terbatas (while True) yang secara berurutan menyalakan LED, memberi jeda (sleep), mematikan LED, dan memberi jeda lagi. Ini menciptakan efek berkedip yang terus-menerus.
VERIFIKASI KRITERIA SUKSES

Lampu LED fisik pada breadboard berkedip secara teratur sesuai dengan jeda waktu yang diatur dalam kode, menunjukkan kontrol output digital berhasil.

SUMBER ACUAN
09
Membaca Data dari Berbagai Jenis Sensor
Menengah
TUJUAN MODUL

Membaca data dari dunia nyata menggunakan dua jenis sensor umum: sensor digital (yang memberikan data langsung) dan sensor analog (yang memerlukan komponen penerjemah).

ANALOGI SISTEM

Sensor adalah 'indra' bagi Raspberry Pi. Sensor digital seperti termometer digital yang langsung menampilkan angka. Sensor analog seperti termometer raksa yang menunjukkan level, di mana diperlukan 'penerjemah' (ADC) untuk mengubah level tersebut menjadi angka yang dimengerti Pi.

PRAKTIK 1: SENSOR DIGITAL (JARAK HC-SR04)
  1. Rangkaian Fisik HC-SR04 Matikan Pi. Hubungkan pin sensor sebagai berikut: Pin VCC ke Pin 5V di Pi. Pin GND ke Pin GND di Pi. Pin Trig ke GPIO 23. Pin Echo ke GPIO 24.
  2. Penulisan Kode Gunakan kode bantu gpiozero yang sudah ada. Buat sebuah penampung data untuk sensor jarak yang terhubung ke pin Trig=23 dan Echo=24. Di dalam perulangan, cetak nilai jarak.distance.
PRAKTIK 2: SENSOR ANALOG (SUHU LM35 + ADC ADS1115)
  1. Rangkaian Fisik ADS1115 & LM35 Matikan Pi. Hubungkan ADS1115: VCC ke 3.3V, GND ke GND, SCL ke SCL (GPIO3), SDA ke SDA (GPIO2). Kemudian hubungkan sensor LM35: pin kiri ke 3.3V, pin kanan ke GND, dan pin tengah ke input A0 di ADS1115.
  2. Aktifkan Jalur Komunikasi I2C Jalankan sudo raspi-config dan aktifkan 'I2C Interface' di menu "Interface Options". Ini adalah jalur yang digunakan ADS1115 untuk berbicara dengan Pi.
  3. Pasang Kumpulan Kode Bantu untuk ADS1115 Jalankan perintah pip install adafruit-circuitpython-ads1x15 di Terminal. Ini akan memasang kode yang memudahkan pembacaan data dari ADS1115.
  4. Tulis Kode untuk Membaca Nilai Dalam kode Python, impor kode bantu yang baru dipasang. Baca nilai voltase dari input A0. Nilai voltase ini kemudian diubah menjadi suhu Celsius (biasanya dengan rumus: Suhu = Voltase * 100).
VERIFIKASI KRITERIA SUKSES

Kode berhasil menampilkan nilai jarak dalam sentimeter dari HC-SR04 dan suhu dalam derajat Celsius dari LM35. Nilai-nilai ini berubah secara logis ketika kondisi fisik di sekitar sensor diubah.

SUMBER ACUAN
10
Menampilkan Data di Terminal
Dasar
TUJUAN MODUL

Menampilkan data sensor yang dibaca secara terus-menerus di Terminal (aplikasi untuk mengetik perintah) dengan format yang jelas untuk keperluan pemantauan dan pemeriksaan.

ANALOGI SISTEM

Ini seperti membuat 'monitor detak jantung' sederhana untuk proyek. Alih-alih grafik yang rumit, data ditampilkan sebagai baris teks yang diperbarui secara berkala, memberikan gambaran langsung tentang 'kesehatan' atau status sistem.

LANGKAH-LANGKAH UNTUK DIIKUTI
  1. Buat Perulangan Tak Terbatas Fungsi: Gunakan loop while True dalam kode Python untuk memastikan proses pembacaan dan pencetakan data berjalan secara terus-menerus.
  2. Baca Nilai Sensor di Dalam Loop Fungsi: Di setiap putaran loop, panggil perintah yang membaca nilai terbaru dari sensor.
  3. Gunakan F-String untuk Merapikan Tampilan Fungsi: Gunakan perintah print() dengan f-string (misal, f"Suhu: {suhu:.1f} C") untuk membuat hasil yang terformat rapi. Ini menyisipkan nilai ke dalam teks dan memungkinkan pembulatan desimal.
  4. Terapkan Jeda (sleep) Fungsi: Gunakan time.sleep() di akhir setiap putaran. Ini memberikan jeda agar Terminal tidak dibanjiri data terlalu cepat dan untuk mengurangi beban kerja prosesor.
VERIFIKASI KRITERIA SUKSES

Terminal menampilkan baris data baru secara teratur sesuai jeda waktu. Data yang ditampilkan merespons perubahan kondisi sensor secara langsung.

11
Komunikasi Perangkat Keras
Lanjutan
TUJUAN MODUL

Memahami dan mengaktifkan aturan komunikasi perangkat keras (disebut protokol) I2C dan UART. Ini adalah "bahasa" yang digunakan Raspberry Pi untuk berbicara dengan modul-modul canggih dan perangkat lain.

ANALOGI SISTEM

Bayangkan GPIO biasa adalah sakelar on/off. Protokol seperti I2C dan UART adalah seperti jalur telepon. Mereka memungkinkan percakapan yang lebih kompleks antara Pi dan perangkat lain, bukan hanya sinyal on/off.

LANGKAH-LANGKAH PENGATURAN (Dilakukan di KEDUA Pi)
  1. Jalankan raspi-config Gunakan sudo raspi-config untuk mengakses panel kontrol sistem.
  2. Aktifkan Jalur Komunikasi I2C Aktifkan I2C di "Interface Options". I2C adalah jalur komunikasi dua kabel yang memungkinkan banyak perangkat terhubung bersamaan, masing-masing dengan alamat unik.
  3. Aktifkan Jalur Komunikasi Serial (UART) Aktifkan "Serial Port" dan pastikan untuk menjawab TIDAK pada pertanyaan "login shell" dan YA pada "serial port hardware". Ini memberikan akses penuh ke jalur UART untuk kode.
PRAKTIK: KOMUNIKASI UART ANTAR DUA RASPBERRY PI
  1. Koneksi Fisik Antar Pi PROSEDUR KESELAMATAN: Matikan KEDUA Pi sebelum menghubungkan. Hubungkan pin sebagai berikut:
    - Pin TXD (GPIO 14) di Pi 1 ke Pin RXD (GPIO 15) di Pi 2.
    - Pin RXD (GPIO 15) di Pi 1 ke Pin TXD (GPIO 14) di Pi 2.
    - Sangat Penting: Sambungkan pin GND di Pi 1 ke pin GND di Pi 2 untuk menyamakan level tegangan.
  2. Pasang Kode Bantu pyserial di KEDUA Pi Jalankan perintah pip install pyserial di Terminal pada kedua Raspberry Pi. Kode bantu ini diperlukan agar Python bisa menggunakan jalur komunikasi serial.
  3. Kode untuk Pi Pengirim (Pi 1) Tulis sebuah kode Python yang membuka koneksi serial ke /dev/serial0. Di dalam perulangan tak terbatas, gunakan perintah serial.write() untuk mengirim pesan teks. Pesan harus diubah menjadi format bytes terlebih dahulu (misal: 'Halo dari Pi 1\n'.encode('utf-8')). Beri jeda singkat di setiap akhir perulangan.
  4. Kode untuk Pi Penerima (Pi 2) Tulis kode Python yang juga membuka koneksi serial ke /dev/serial0. Di dalam perulangan, periksa jika ada data yang masuk. Jika ada, baca data tersebut dengan serial.readline(), ubah kembali ke format teks yang bisa dibaca (dengan .decode('utf-8')), lalu cetak ke layar.
VERIFIKASI KRITERIA SUKSES

Setelah kedua kode dijalankan, teks 'Halo dari Pi 1' yang dikirim dari Pi Pengirim akan muncul berulang kali di layar Terminal Pi Penerima.

SUMBER ACUAN
12
Menerapkan Sensor I2C (Cahaya BH1750)
Lanjutan
PRASYARAT SISTEM

Modul 11 (Komunikasi Perangkat Keras) harus diselesaikan dan jalur komunikasi I2C sudah diaktifkan.

TUJUAN MODUL

Membaca data secara spesifik dari sensor yang menggunakan aturan komunikasi I2C (contoh: sensor cahaya BH1750). Metode ini hemat pin karena hanya memerlukan dua pin GPIO (SDA dan SCL).

ANALOGI SISTEM

I2C bekerja seperti sistem alamat di sebuah jalan. Raspberry Pi adalah tukang pos, dan setiap sensor adalah rumah dengan nomor unik (alamat). Pi dapat mengirim permintaan ke alamat spesifik (misal, sensor BH1750) dan menerima data kembali darinya.

LANGKAH-LANGKAH UNTUK DIIKUTI
  1. Rangkaian Fisik BH1750 PROSEDUR KESELAMATAN: Matikan Pi sebelum menghubungkan kabel. Hubungkan pin sensor sebagai berikut: Pin VCC ke 3.3V, Pin GND ke GND, Pin SCL ke SCL (GPIO 3), dan Pin SDA ke SDA (GPIO 2).
  2. Periksa Koneksi Nyalakan Pi dan jalankan i2cdetect -y 1 di Terminal. Kehadiran alamat sensor (biasanya 0x23) di hasil perintah memastikan koneksi fisik yang benar.
  3. Pasang Kumpulan Kode Bantu Adafruit Jalankan perintah ini di Terminal untuk memasang kode bantu yang akan sangat memudahkan interaksi dengan sensor: pip install adafruit-circuitpython-bh1750.
  4. Tulis Kode untuk Membaca Cahaya Dalam kode Python, impor kode bantu yang baru dipasang (adafruit_bh1750 dan board). Buat koneksi ke jalur I2C, lalu buat penampung data untuk sensor. Di dalam perulangan, gunakan perintah seperti sensor.lux untuk mendapatkan nilai intensitas cahaya.
VERIFIKASI KRITERIA SUKSES

Kode berhasil menampilkan nilai intensitas cahaya dalam Lux dan nilai tersebut berubah secara responsif terhadap perubahan kondisi lingkungan (misal, saat senter diarahkan ke sensor atau saat sensor ditutup dengan tangan).

SUMBER ACUAN
13
Menghubungkan ke Layanan IoT (Blynk)
Menengah
TUJUAN MODUL

Mengirim data dari sensor yang terhubung ke Raspberry Pi ke sebuah tampilan visual di ponsel menggunakan layanan online bernama Blynk, sehingga data dapat dipantau secara langsung dari mana saja.

ANALOGI SISTEM

Bayangkan Raspberry Pi adalah reporter di lapangan yang mengumpulkan data. Blynk adalah studio berita di ponsel. Sebuah Kunci Akses Rahasia (Authentication Token) adalah 'kartu pers' reporter agar ia bisa mengirim laporannya ke studio, dan Komponen Tampilan adalah 'layar TV' di studio untuk menampilkan laporan tersebut.

LANGKAH-LANGKAH UNTUK DIIKUTI
  1. Atur Proyek di Aplikasi Blynk Fungsi: Buat akun dan proyek baru di aplikasi seluler Blynk. Proses ini akan menghasilkan sebuah Kunci Akses Rahasia (Authentication Token), yang berfungsi sebagai kata sandi unik dan rahasia untuk perangkat keras.
  2. Tentukan Jalur Data (Virtual Pins) Fungsi: Di dalam proyek, buat "Virtual Pin" (misal, V1). Ini adalah jalur data virtual yang menghubungkan perangkat keras dengan komponen tampilan di aplikasi.
  3. Desain Tampilan di Aplikasi Fungsi: Tambahkan Komponen Tampilan (seperti Gauge atau Labeled Value) ke panel kontrol aplikasi dan hubungkan komponen tersebut ke Virtual Pin yang telah dibuat. Ini adalah tampilan visual untuk data.
  4. Pasang Kumpulan Kode Bantu Blynk di Pi Fungsi: Jalankan perintah pip install blynklib. Perintah ini akan memasang kumpulan kode Python untuk Blynk, yang menangani semua logika koneksi ke layanan Blynk.
  5. Tulis Kode Pengiriman Data Fungsi: Dalam kode Python, gunakan Kunci Akses Rahasia untuk memulai koneksi. Buat perulangan yang membaca data sensor dan gunakan perintah blynk.virtual_write() untuk mengirim data ke Virtual Pin yang sesuai.
VERIFIKASI KRITERIA SUKSES

Komponen Tampilan di panel kontrol aplikasi Blynk pada ponsel menampilkan dan memperbarui nilai data sensor secara langsung sesuai dengan data yang dikirim oleh Raspberry Pi.

SUMBER ACUAN
14
Cara Kerja Komunikasi MQTT
Menengah
TUJUAN MODUL

Memahami cara kerja metode komunikasi MQTT, sebuah standar industri untuk Internet of Things (IoT) yang sangat ringan dan hemat sumber daya.

ANALOGI SISTEM

MQTT bekerja seperti sistem papan pengumuman. Pengirim Pesan menempelkan pesan di papan dengan kategori tertentu (Topic). Penerima Pesan hanya melihat pesan dari kategori yang mereka minati. Sebuah Pusat Pesan adalah pengelola papan pengumuman tersebut.

PROTOKOL PEMAHAMAN
  1. Identifikasi Tiga Komponen Utama Fungsi: Pengirim Pesan (mengirim data), Penerima Pesan (menerima data), dan Pusat Pesan (sistem perantara yang mengelola pesan).
  2. Pahami Konsep "Topic" Fungsi: Topic adalah sebuah label teks (misal, rumah/kamar/suhu) yang berfungsi sebagai alamat atau kategori data. Ini memungkinkan penyaringan pesan.
  3. Lacak Alur Pesan Fungsi: Pengirim Pesan mengirim pesan ke sebuah Topic di Pusat Pesan. Pusat Pesan kemudian bertanggung jawab meneruskan pesan tersebut ke semua Penerima Pesan yang sedang "berlangganan" pada Topic yang sama.
VERIFIKASI KRITERIA SUKSES

Mampu menjelaskan peran setiap komponen dan alur data dalam skenario komunikasi MQTT. Memahami keuntungannya: pengirim dan penerima tidak perlu saling mengetahui keberadaan satu sama lain.

15
Memasang Pusat Pesan MQTT Lokal
Lanjutan
TUJUAN MODUL

Memasang dan menjalankan sebuah Pusat Pesan MQTT di Raspberry Pi itu sendiri, menciptakan jaringan IoT lokal yang tidak bergantung pada internet.

ANALOGI SISTEM

Ini seperti membangun 'kantor pos' lokal di dalam gedung sendiri. Semua surat (data) antar ruangan (perangkat) diurus secara internal tanpa harus keluar ke sistem pos publik (internet).

LANGKAH-LANGKAH UNTUK DIIKUTI
  1. Pasang Mosquitto Fungsi: Jalankan sudo apt install mosquitto mosquitto-clients. Perintah ini memasang perangkat lunak Pusat Pesan (bernama Mosquitto) dan alat bantu berbasis teks untuk pengujian.
  2. Periksa Status Layanan Fungsi: Jalankan sudo systemctl status mosquitto untuk memastikan pusat pesan berjalan secara otomatis di latar belakang.
  3. Simulasikan Penerima Pesan Fungsi: Buka satu Terminal dan jalankan mosquitto_sub -t "test/topic". Terminal ini sekarang akan mendengarkan pesan apa pun di topik "test/topic".
  4. Simulasikan Pengirim Pesan Fungsi: Di Terminal kedua, jalankan mosquitto_pub -t "test/topic" -m "Halo Dunia". Perintah ini mengirimkan pesan ke topik yang sama.
VERIFIKASI KRITERIA SUKSES

Teks "Halo Dunia" yang dikirim dari Terminal kedua langsung muncul di Terminal pertama, menandakan pusat pesan berhasil meneruskan pesan.

SUMBER ACUAN
16
Kode MQTT dengan Python
Lanjutan
TUJUAN MODUL

Mengatur kode Python agar bisa mengirim dan menerima data MQTT secara otomatis.

ANALOGI SISTEM

Ini adalah cara mengajari sepotong kode untuk 'menulis surat' (mengirim data) dan 'membaca kotak surat' (menerima data) secara otomatis, tanpa perlu campur tangan manual melalui Terminal.

LANGKAH-LANGKAH UNTUK DIIKUTI
  1. Pasang Kumpulan Kode Bantu Paho-MQTT Fungsi: Jalankan pip install paho-mqtt. Kumpulan kode ini menyediakan fungsi-fungsi Python untuk berkomunikasi dengan pusat pesan MQTT.
  2. Buat Kode Pengirim Fungsi: Impor kode bantu, buat koneksi ke pusat pesan, lalu gunakan perintah client.publish() di dalam sebuah perulangan untuk mengirim data.
  3. Buat Kode Penerima Fungsi: Buat koneksi dan definisikan fungsi on_message. Fungsi ini akan dijalankan secara otomatis setiap kali pesan baru diterima.
  4. Jalankan Loop Pendengar Fungsi: Di kode penerima, jalankan client.loop_forever() untuk memulai proses mendengarkan pesan tanpa henti.
VERIFIKASI KRITERIA SUKSES

Data yang dikirim oleh kode pengirim muncul di konsol dari kode penerima yang sedang berjalan secara langsung.

SUMBER ACUAN
17
Pemasangan Sistem Penyimpanan Data
Lanjutan
TUJUAN MODUL

Memasang dan mengamankan sebuah sistem penyimpanan data (bernama MariaDB) untuk menyimpan data sensor jangka panjang secara rapi.

ANALOGI SISTEM

Ini seperti membangun sebuah 'lemari arsip' digital yang sangat rapi. Sistem penyimpanan adalah lemarinya, tabel adalah laci-lacinya, dan kolom adalah label di setiap laci untuk menyimpan data historis dengan baik.

LANGKAH-LANGKAH UNTUK DIIKUTI
  1. Pasang Paket MariaDB Fungsi: Jalankan sudo apt install mariadb-server untuk memasang perangkat lunak penyimpanan data.
  2. Jalankan Skrip Keamanan Fungsi: Jalankan sudo mysql_secure_installation. Skrip ini akan memandu proses penting seperti mengatur kata sandi utama dan menghapus pengaturan bawaan yang tidak aman.
  3. Buat Tempat Penyimpanan dan Tabel Fungsi: Masuk ke sistem penyimpanan dengan sudo mysql. Gunakan perintah SQL CREATE DATABASE untuk membuat wadah penyimpanan baru, lalu CREATE TABLE untuk menentukan struktur kolom penyimpan data.
VERIFIKASI KRITERIA SUKSES

Berhasil masuk ke sistem penyimpanan data. Perintah SHOW TABLES; menampilkan tabel yang baru saja dibuat dengan struktur kolom yang benar.

SUMBER ACUAN
18
Menghubungkan Kode & Penyimpanan Data
Lanjutan
PRASYARAT SISTEM

Modul 16 (Kode MQTT) dan 17 (Penyimpanan Data) harus diselesaikan.

TUJUAN MODUL

Menyimpan data sensor yang diterima oleh kode Python secara permanen ke dalam tabel di sistem penyimpanan data MariaDB.

ANALOGI SISTEM

Ini seperti menyewa seorang 'juru tulis' (konektor) yang bisa berbicara bahasa Python dan bahasa sistem penyimpanan data. Kode Python memberikan data kepada juru tulis, dan ia menuliskannya dengan rapi di lemari arsip.

LANGKAH-LANGKAH UNTUK DIIKUTI
  1. Pasang Konektor Python-MySQL Fungsi: Jalankan pip install mysql-connector-python. Kode bantu ini berfungsi sebagai "penerjemah" antara Python dan sistem penyimpanan data MariaDB/MySQL.
  2. Buat Koneksi dan Kursor dalam Kode Fungsi: Dalam Python, buat koneksi ke sistem penyimpanan data. Dari koneksi ini, buat "kursor", yang digunakan untuk menjalankan perintah-perintah penyimpanan.
  3. Jalankan Perintah SQL INSERT Fungsi: Setiap kali data baru diterima, buat perintah SQL INSERT dalam bentuk rangkaian teks. Gunakan cursor.execute() untuk mengirim perintah ini ke sistem penyimpanan.
  4. Lakukan commit() Fungsi: Panggil connection.commit(). Perintah ini menyimpan semua perubahan yang telah dijalankan secara permanen.
VERIFIKASI KRITERIA SUKSES

Setelah kode berjalan, perintah SELECT * FROM nama_tabel; di dalam sistem penyimpanan data akan menampilkan baris-baris data sensor yang dikirim oleh kode Python.

SUMBER ACUAN
19
Membangun Jaringan Perangkat Raspberry Pi
Lanjutan
TUJUAN MODUL

Merancang dan menerapkan sebuah susunan jaringan di mana beberapa Raspberry Pi sensor melaporkan data ke satu Raspberry Pi pusat.

ANALOGI SISTEM

Ini seperti membangun sebuah jaringan reporter. Setiap reporter (Raspberry Pi Sensor) mengirimkan laporannya ke satu kantor berita pusat (Raspberry Pi Pusat), yang kemudian mengumpulkan dan memproses semua informasi.

LANGKAH-LANGKAH UNTUK DIIKUTI
  1. Tentukan Perangkat Pusat Fungsi: Pilih satu Raspberry Pi sebagai "Perangkat Pusat". Perangkat ini akan menjalankan pusat pesan MQTT dan harus memiliki alamat IP tetap agar mudah ditemukan oleh perangkat lain.
  2. Siapkan Perangkat Node Sensor Fungsi: Siapkan satu atau lebih Raspberry Pi lain untuk berfungsi sebagai "Node Sensor". Masing-masing akan membaca data dari sensornya sendiri.
  3. Atur Kode Pengirim pada Node Fungsi: Pada setiap Raspberry Pi Node, jalankan kode pengirim MQTT. Alamat pusat pesan yang dituju bukan lagi localhost, melainkan alamat IP tetap dari Perangkat Pusat.
VERIFIKASI KRITERIA SUKSES

Catatan di pusat pesan atau kode penerima pada Perangkat Pusat menunjukkan pesan masuk dari beberapa alamat IP Raspberry Pi Node yang berbeda, membuktikan komunikasi antar perangkat berhasil.

20
Dasar Keamanan IoT
Lanjutan
TUJUAN MODUL

Menerapkan praktik keamanan dasar untuk melindungi perangkat IoT dari akses tidak sah dan ancaman umum, memperkuat pertahanan sistem.

ANALOGI SISTEM

Ini seperti mengamankan sebuah rumah. Mengubah kata sandi adalah mengganti kunci pintu. Mengaktifkan dinding api digital adalah menutup semua jendela kecuali beberapa yang penting. Mengamankan SSH dan MQTT adalah memasang kunci tambahan pada pintu-pintu tersebut.

LANGKAH-LANGKAH UNTUK DIIKUTI
  1. Ubah Kata Sandi Bawaan Fungsi: Gunakan passwd untuk mengubah kata sandi pengguna. Ini adalah langkah pertahanan pertama dan paling penting.
  2. Aktifkan Dinding Api Digital (ufw) Fungsi: Pasang ufw. Gunakan sudo ufw allow hanya untuk pintu data bernomor yang benar-benar dibutuhkan (misal, 22 untuk SSH, 1883 untuk MQTT). Kemudian aktifkan dengan sudo ufw enable.
  3. Amankan Akses SSH Fungsi: Edit file /etc/ssh/sshd_config. Ubah PermitRootLogin menjadi no untuk mencegah login jarak jauh menggunakan akun dengan kekuatan tertinggi.
  4. Amankan Akses MQTT Fungsi: Atur pusat pesan Mosquitto untuk memerlukan nama pengguna dan kata sandi. Ini mencegah koneksi tak dikenal, pengiriman data palsu, atau pengintipan data.
VERIFIKASI KRITERIA SUKSES

Upaya masuk sebagai root melalui SSH ditolak. Kode pengirim MQTT tidak dapat terhubung ke pusat pesan tanpa memberikan nama pengguna dan kata sandi yang valid.

SUMBER ACUAN
21
Menghubungkan dengan Web Lokal
Lanjutan
PRASYARAT SISTEM

Pemahaman dasar Python (Modul 07) dan cara kerja MQTT (Modul 14 & 16) diperlukan.

TUJUAN MODUL

Membangun sebuah aplikasi web di belakang layar menggunakan kumpulan alat bantu Python Flask, yang berfungsi sebagai jembatan antara data IoT dan tampilan web.

ANALOGI SISTEM

Flask adalah 'mesin' di belakang panggung sebuah situs web. MQTT adalah pemasok data mentah. Kode yang ditulis akan membuat mesin Flask mengambil data dari MQTT dan menampilkannya di 'jendela' (browser) untuk dilihat penonton.

LANGKAH-LANGKAH UNTUK DIIKUTI
  1. Pasang Flask Fungsi: Jalankan pip install Flask untuk memasang kumpulan alat bantu web yang ringan ini.
  2. Jalankan Kode Penerima MQTT di Latar Belakang Fungsi: Gunakan threading untuk menjalankan kode penerima MQTT dalam sebuah proses terpisah. Ini penting agar kode penerima (yang berjalan terus-menerus) tidak menghentikan layanan web.
  3. Simpan Data MQTT ke Wadah Data Fungsi: Gunakan sebuah wadah data utama (bisa diakses dari mana saja dalam kode). Saat kode penerima MQTT mendapat pesan, perbarui nilai wadah ini. Ini bertindak sebagai 'papan tulis' sementara.
  4. Buat Alamat Web Fungsi: Gunakan @app.route('/') untuk menentukan apa yang terjadi ketika seseorang mengakses alamat utama layanan web. Fungsi di bawahnya harus membaca nilai dari wadah data dan menampilkannya.
VERIFIKASI KRITERIA SUKSES

Mengakses alamat http://localhost:5000 di browser Raspberry Pi akan menampilkan data sensor terbaru. Halaman akan diperbarui dengan data baru setiap kali di-refresh.

SUMBER ACUAN
22
Menyajikan Tampilan Visual Web Lokal
Lanjutan
PRASYARAT SISTEM

Modul 21 (Menghubungkan dengan Web) harus diselesaikan. Raspberry Pi harus memiliki alamat IP tetap (Modul 04).

TUJUAN MODUL

Menyajikan sebuah tampilan visual web yang datanya bisa berubah-ubah di Raspberry Pi, membuatnya dapat diakses dari perangkat apa pun di jaringan lokal yang sama.

ANALOGI SISTEM

Ini seperti mengubah restoran dari 'hanya melayani diri sendiri' (localhost) menjadi 'terbuka untuk umum' di lingkungan sekitar (jaringan lokal). Pengaturan host='0.0.0.0' adalah seperti memasang tanda "Buka" di pintu depan.

LANGKAH-LANGKAH UNTUK DIIKUTI
  1. Gunakan render_template Fungsi: Ubah perintah di alamat web Flask untuk menggunakan render_template('index.html', ...). Ini memberitahu Flask untuk mengambil file HTML, menyisipkan data ke dalamnya, dan mengirimkan hasilnya ke browser.
  2. Atur Akses Jaringan Fungsi: Saat menjalankan aplikasi Flask (app.run()), tambahkan opsi tambahan host='0.0.0.0'. Pengaturan ini memberitahu layanan web untuk 'mendengarkan' koneksi dari semua alamat IP di jaringan, bukan hanya dari dirinya sendiri.
  3. Akses dari Perangkat Lain Fungsi: Jalankan kode. Buka browser di ponsel atau laptop yang terhubung ke WiFi yang sama dan kunjungi alamat http://<ALAMAT_IP_RASPBERRY_PI>:5000.
VERIFIKASI KRITERIA SUKSES

Halaman web berhasil dimuat di browser perangkat lain di jaringan. Halaman tersebut menampilkan data sensor paling baru sesuai dengan format yang ditentukan dalam file HTML.

Status: Sistem Siap Beroperasi

Proses untuk 22 modul telah selesai. Pengetahuan dasar dan lanjutan untuk mengoperasikan Raspberry Pi dan sistem IoT telah berhasil dibangun. Lanjutkan eksplorasi mandiri.