LAPORAN TUTORIAL 5
LABORATORIUM
SISTEM TERBENAM
MENDETEKSI TOMBOL MENGGUNAKAN RASPBERRY PI
Dosen
Pengampu:
Dr. Samuel Beta K., Ing.Tech, M.T.
Disusun Oleh :
Kelompok 5
1. Gerry Alghifary
|
RE-3A
|
(4.34.22.0.10)
|
2. Keisya Djenar Dinda L.
|
RE-3A
|
(4.34.22.0.13)
|
3. Marshanda Aprilian N.
|
RE-3A
|
(4.34.22.0.14)
|
4. Raka Ramadhana
|
RE-3A
|
(4.34.22.0.19)
|
PROGRAM STUDI TEKNOLOGI REKAYASA ELEKTRONIKA
JURUSAN TEKNIK ELEKTRO
POLITEKNIK NEGERI SEMARANG
2025
BAB I
PENDAHULUAN
1.1. Latar Belakang
Sensor input seperti tombol (push button) sering
digunakan dalam berbagai aplikasi elektronik dan sistem control. Dengan
Raspberry Pi 4 ,kita dapat mendeteksi tekanan tombol dan mengatur aksi seperti
menyalakan LED menggunakan Python.
1.2.
Tujuan
Tujuan dari tutorial ini, yaitu:
1.
Mengetahui cara
kerja tombol input digital.
2.
Menghubungkan
tombol dan LED ke Raspberry Pi.
3.
Membuat program
sederhana untuk menyalakan LED saat tombol ditekan.
BAB II
TINJAUAN PUSTAKA
1.
2.
2.1. Raspberry Pi 4
Raspberry Pi 4 adalah komputer mini berukuran kartu
kredit yang dikembangkan oleh Raspberry Pi Foundation, dengan peningkatan
signifikan dibanding generasi sebelumnya. Board ini dilengkapi prosesor
Quad-Core ARM Cortex-A72 1.5 GHz, pilihan RAM mulai dari 2 GB hingga 8 GB,
serta port USB 3.0, Gigabit Ethernet, dan dual output micro-HDMI yang mendukung
resolusi hingga 4K. Raspberry Pi 4 mendukung berbagai sistem operasi, terutama
Raspberry Pi OS (berbasis Linux), dan dapat digunakan untuk beragam keperluan seperti
pemrograman, otomasi, IoT, media center, hingga sebagai pengganti komputer
desktop ringan.
2.2. LED
LED (Light Emitting Diode) adalah komponen elektronik
yang memancarkan cahaya saat diberi arus listrik searah. Berbeda dengan lampu
pijar konvensional, LED tidak menghasilkan panas berlebih dan memiliki
efisiensi energi yang jauh lebih tinggi. LED terbuat dari bahan semikonduktor
yang menghasilkan cahaya melalui proses elektroluminesensi. Komponen ini
memiliki dua kaki utama, yaitu anoda (positif) dan katoda (negatif), dan hanya
akan menyala jika polaritas tegangan yang diberikan sesuai.
2.3. Resistor
Resistor adalah komponen
elektronik pasif yang berfungsi untuk menghambat atau membatasi aliran arus
listrik dalam suatu rangkaian. Nilai hambatan pada resistor dinyatakan dalam
satuan ohm (Ω) dan ditentukan berdasarkan kode warna yang tercetak pada
bodinya, atau secara numerik pada jenis resistor SMD. Resistor tidak memiliki
polaritas, sehingga bisa dipasang bolak-balik. Komponen ini sangat penting
dalam mengatur tegangan dan arus agar sesuai dengan kebutuhan komponen lain
seperti LED, sensor, atau IC agar tidak rusak karena kelebihan arus.
BAB III
PERANCANGAN ALAT
1.
2.
3.
3.1. Alat dan Bahan
Alat dan
Bahan yang digunakan, yaitu:
1.
Raspberry
Pi 4
2.
Tombol
(Push Button)
3.
LED
4.
Resistor
(220Ω untuk LED)
5.
Kabel
jumper
6.
Breadboard
3.2. Kode Program
Program 1
# ==============================================================
# Pemrogram : Kelompok RE-3A/5
# 1. 10-Gery Algifari NIM: 4.34.22.0.10
# 2. 13-Keisya Djenar Dinda L NIM: 4.34.22.0.13
# 3. 14-Marshanda Aprilian N NIM: 4.34.22.0.14
# 4. 19-Raka Ramadhana NIM: 4.34.22.0.19
# Tgl.Praktikum : Senin, 30 Juni 2025
# =================================================================
# button_led_control.py
# - Program untuk mengontrol LED dengan push button pada Raspberry Pi
# - LED menyala saat tombol ditekan dan mati saat tombol dilepas
# - Menggunakan library RPi.GPIO untuk antarmuka dengan hardware
# -----------------------------------------------------------------
# Materi yang digunakan:
# - Konfigurasi pin GPIO (input/output)
# - Penggunaan pull-up resistor internal
# - Pembacaan status digital input (tombol)
# - Kontrol output digital (LED)
# - Penanganan interrupt dengan KeyboardInterrupt
# -----------------------------------------------------------------
# Komponen yang dibutuhkan:
# - 1x Raspberry Pi
# - 1x LED
# - 1x Resistor 220 ohm
# - 1x Push button
# - Kabel jumper
# =================================================================
import RPi.GPIO as GPIO # Import library GPIO untuk kontrol hardware
import time # Import library untuk delay/waktu
# Nonaktifkan peringatan GPIO dan set mode penomoran BCM
GPIO.setwarnings(False) # Menghilangkan warning GPIO yang tidak perlu
GPIO.setmode(GPIO.BCM) # Menggunakan penomoran BCM untuk GPIO
# Deklarasi konstanta pin
LED_PIN = 18 # GPIO 18 untuk LED (output)
BUTTON_PIN = 22 # GPIO 22 untuk push button (input)
# Konfigurasi pin GPIO
GPIO.setup(LED_PIN, GPIO.OUT) # Set LED_PIN sebagai output
GPIO.setup(BUTTON_PIN, GPIO.IN, pull_up_down=GPIO.PUD_UP) # Set BUTTON_PIN sebagai input dengan pull-up internal
try:
print("Program kontrol LED dengan tombol (Tekan CTRL+C untuk keluar)")
print("Tekan tombol untuk menghidupkan LED...")
# Loop utama program
while True:
# Baca status tombol (LOW ketika ditekan karena menggunakan pull-up)
if GPIO.input(BUTTON_PIN) == GPIO.LOW:
GPIO.output(LED_PIN, GPIO.HIGH) # Hidupkan LED
print("LED menyala") # Tampilkan status ke console
time.sleep(0.5) # Debounce delay
else:
GPIO.output(LED_PIN, GPIO.LOW) # Matikan LED
print("LED mati") # Tampilkan status ke console
time.sleep(0.01) # Delay kecil untuk mengurangi beban CPU
except KeyboardInterrupt: # Tangkap interrupt keyboard (CTRL+C)
print("\nProgram dihentikan oleh pengguna.") # Pesan penutup
finally:
GPIO.cleanup() # Reset semua pin GPIO
print("Program selesai.") # Konfirmasi akhir program
Program 2
# ==============================================================
# Pemrogram : Kelompok RE-3A/5
# 1. 10-Gery Algifari NIM: 4.34.22.0.10
# 2. 13-Keisya Djenar Dinda L NIM: 4.34.22.0.13
# 3. 14-Marshanda Aprilian N NIM: 4.34.22.0.14
# 4. 19-Raka Ramadhana NIM: 4.34.22.0.19
# Tgl.Praktikum : Senin, 30 Juni 2025
# =================================================================
# button_led_control.py
# - Program untuk mengontrol LED dengan push button pada Raspberry Pi
# - LED menyala saat tombol ditekan dan mati saat tombol dilepas
# - Menggunakan library RPi.GPIO untuk antarmuka dengan hardware
# -----------------------------------------------------------------
# Materi yang digunakan:
# - Konfigurasi pin GPIO (input/output)
# - Penggunaan pull-up resistor internal
# - Pembacaan status digital input (tombol)
# - Kontrol output digital (LED)
# - Penanganan interrupt dengan KeyboardInterrupt
# -----------------------------------------------------------------
# Komponen yang dibutuhkan:
# - 1x Raspberry Pi
# - 1x LED
# - 1x Resistor 220 ohm
# - 1x Push button
# - Kabel jumper
# =================================================================
import RPi.GPIO as GPIO #library GPIO pada raspberry pi
import time #library delay pada python
GPIO.setmode(GPIO.BCM) # penomoran GPIO pada chip
LED_PIN = 18 # pin luaran
BUTTON_PIN = 22 # pin masukan
GPIO.setup(LED_PIN, GPIO.OUT)
GPIO.setup(BUTTON_PIN, GPIO.IN, pull_up_down=GPIO.PUD_UP)
try:
print("Tekan tombol untuk menghidupkan LED...")
while True:
if GPIO.input(BUTTON_PIN) == GPIO.LOW and not button_pressed:
button_pressed = True # Tombol sedang ditekan
elif GPIO.input(BUTTON_PIN) == GPIO.HIGH and button_pressed:
# Tombol dilepas setelah ditekan
led_state = not led_state
GPIO.output(LED_PIN, led_state)
print("LED menyala" if led_state else "LED mati")
button_pressed = False # Reset status tekan
time.sleep(0.05) # Delay untuk debouncing
except KeyboardInterrupt:
print("Program dihentikan oleh pengguna.")
finally:
GPIO.cleanup() # Bersihkan pin GPIO
print("Program selesai.")
3.3.
Diagram
Blok

Gambar 1. Diagram Blok
3.4. Diagram Alir
Gambar 2. Diagram Alir
3.5 Diagram Gambar
Gambar 3. Diagram Gambar
BAB IV
PENUTUP
4.1 Kesimpulan
1.
Tombol
dapat dengan mudah dideteksi dengan Raspberry Pi.
2.
Dengan
menggunakan resistor pull-up internal dapat mempermudah rangkaian.
3.
Output
(seperti LED) dapat dikontrol secara real-time dari input tombol.
4.2 Analisis Data
Pada program 1 :
·
Ketika
tombol tidak ditekan è LED mati.
·
Ketika
tombol ditekan è Led menyala.
·
Status
LED ditampilkan di terminal.
Pada program 2 :
· Ketika
tombol tidak ditekan è LED mati.
· Ketika
tombol ditekan kemudian dilepas è LED menyala.
· Ketika
tombol ditekan dan dilepas untuk yang ke dua kali-nya è LED mati.
· Status
LED ditampilkan di terminal.
Untuk demo alat dapat di akses melalui link di bawah ini :
https://youtu.be/vkL_xUCxOlo?si=2zgS0w9wvH3yrVwX
Komentar
Posting Komentar