Disusun Oleh:
Doni Hendra Pramudita (25051204218)
Fauzan Al-Maliky Setyawan (25051204038)
Ardra Revanda Rafif Akbar (25051204204)
Gilang Derossi (25051204167)
BAB I
PENDAHULUAN
1.1 LATAR BELAKANG
Perkembangan Perkembangan teknologi membuat sistem keamanan rumah mengalami banyak peningkatan. Kunci pintu mekanis kini dianggap kurang aman karena mudah dibobol atau disalin, sehingga dibutuhkan solusi keamanan yang lebih modern dan efektif. Salah satu alternatifnya adalah sistem keamanan elektronik yang memanfaatkan perangkat otomatisasi.
Mikrokontroler menjadi komponen penting dalam sistem otomatisasi karena mampu memproses input dan mengendalikan perangkat sesuai program. Arduino Uno termasuk mikrokontroler yang banyak digunakan karena sederhana, mudah diprogram, dan memiliki dukungan modul yang luas, sehingga cocok untuk berbagai proyek pembelajaran.
Dalam sistem keamanan elektronik, penggunaan password melalui keypad menjadi metode yang cukup efektif karena akses hanya diberikan kepada pengguna yang mengetahui kode yang benar. Dengan bantuan motor servo, proses membuka dan menutup kunci dapat dilakukan secara otomatis. Sistem ini dinilai lebih praktis serta menawarkan tingkat keamanan yang lebih baik dibandingkan kunci manual.
1.2 RUMUSAN MASALAH
Adapun rumusan masalah pada praktikum ini sebagai berikut.
1. Bagaimana merancang sistem kunci pintu yang dapat dioperasikan menggunakan password?
2. Bagaimana proses kerja Arduino Uno dalam membaca input keypad dan mengendalikan mekanisme pengunci?
3. Bagaimana cara kerja sistem kunci pintu yang dioperasikan menggunakan password?
1.3. TUJUAN LAPORAN
Adapun tujuan pelaksanaan praktikum ini sebagai berikut.
1. Untuk menjelaskan proses perancangan dan pembuatan kunci pintu berbasis password menggunakan Arduino Uno.
2. Untuk menggambarkan cara kerja rangkaian serta program yang digunakan pada sistem.
3. Untuk mendokumentasikan hasil praktikum sebagai bahan analisis dan referensi.
1.4. MANFAAT
1. Diperolehnya pemahaman mengenai pemanfaatan Arduino dalam sistem keamanan sederhana.
2. Diperolehnya pengalaman dalam merancang rangkaian elektronik dan mengimplementasikan program mikrokontroler.
3. Dapat menjadi referensi untuk pengembangan sistem keamanan pintu yang lebih kompleks di masa mendatang.
BAB II
TINJAUAN PUSTAKA
2.1. DASAR TEORI
Saat ini dunia semakin berkembang, muncullah berbagai solusi yang dapat memecahkan permasalahan manusia. Sedikit demi sedikit masalah yang timbul dapat diatasi. Sistem computer dapat menjadi salah satu solusi untuk mengatasi permasalahan manusia. Dengan adanya sistem komputer ini, diharapkan dapat memudahkan dan meringankan pekerjaan manusia serta menjadi jalan tengah untuk permasalahan manusia.
Mikrokontroler disebut sebagai suatu alat pengendali yang berukuran mikro yang dikemas dalam satu chip tunggal IC (Integrated Circuit) , yang mampu digunakan bersama-sama dengan alat elektronik yang lain dan memiliki program tersendiri di dalamnya. Pada umumnya, sinyal input mikrokontroler berasal dari sensor yang merupakan informasi dari lingkungan sedangkan sinyal output ditujukan kepada aktuator yang dapat melakukan suatu tindakan ke lingkungan. Dengan demikian maka secara sederhana mikrokontroler dapat diasumsikan ibarat sebuah otak yang terdapat pada suatu perangkat dan memiliki kemampuan berinteraksi dengan lingkungan. Ada beberapa pendapat para ahli mengenai pengertian mikrokontroler ini, secara umum, keseluruhannya mangacu pada konsep yang sama.
2.1.1. Menurut Chamim
Mikrokontroler adalah sistem computer yang dimana Sebagian atau seluruh elemen berada di dalam IC (Integrated Circuit) dan mengerjakan tugas tertentu.
2.1.2. Menurut Setiawan
Mikrokontroler adalah IC dengan komposisi kepadatan komponen yang tinggi. Seluruh bagian di mikrokontroler berada di satu chip yang terdiri dari CPU, ROM, RAM< input output, timer, da interip controller.
2.1.3. Menurut Agus Bejo
Mikrokontroler yaitu integrated circuit dengan kapasitas untuk deprogram dengan cara dihapus dan tulis ulang beberapa kali.
Pada umumnya, sinyal input mikrokontroler berasal dari sensor yang merupakan informasi dari lingkungan sedangkan sinyal output ditujukan kepada aktuator yang dapat melakukan suatu tindakan ke lingkungan. Dengan demikian maka secara sederhana mikrokontroler dapat diasumsikan ibarat sebuah otak yang terdapat pada suatu perangkat dan memiliki kemampuan berinteraksi dengan lingkungan.
Meskipun kecepatan pengolahan data dan kapasitas memori yang dimiliki jauh lebih kecil jika dibandingkan dengan komputer atau PC, namun kemampuan mikrokontroler sudah cukup untuk dapat digunakan pada banyak aplikasi terutama karena bentuk ukuran mikrokontroler yang lebih sederhana. Mikrokontroler sering digunakan pada aplikasi sistem dan perangkat yang tidak terlalu kompleks dan tidak memerlukan komputasi tinggi.
Komponen Mikrokontroler membentuk datu kesatuan sistem dimana komponen ini saling berhubungan agar dapat menerima perintah program dari penggunanya.
Komponen Mikrokontroler diantaranya:
- CPU
- RAM dan ROM
- Port Serial (Serial Port)
- Timer dan Counter
- Port input/output
- Special Functional Block
- Interrupt Control
- Analog to Digital Converter
- Digital to Analog Converter
Mikrokontroler juga memiliki beberapa macam jenis, diantaranya :
1. Mikrokontroler Arduino
Jenis ini digunakan untuk keperluan kerja sederhana tapi berulang. Fungsi juga termasuk timer dan counter sehingga kerja dapat diatur.
2. Mikrokontroler Atmega 8535
Jenis ini menggunakan konfigurasi chip yang kompleks. Fungsinya tetap mampu meningkatkan efisien control jika kerja cukup berat.
3. Mikrokontroler Atmega 16
Jenis ini termasuk chip yang berkapasitas tinggi dapat menunjang kerja tertentu. Pengguna chip ini cukup melakukan setting sesuai kebutuhan lalu melakukan control agar chip bekerja secara efektif.
4. Mikrokontroler AVR
Jenis ini adalah tipe chip yang mengerjakan satu clock,. Penerapan chip ini juga fleksibel untuk fungsi kerja linear yang mengontrol suatu alat.
Fungsi Mikrokontroler
Pada umumnya, suatu perangkat atau sistem yang menggunakan mikrokontroler sebagai pengolah data disebut sebagai embedded system atau dedicated system. Embedded system adalah suatu pengendali yang tertanam pada sistem atau perangkat, sedangkan dedicated system adalah pengendali suatu sistem yang dimaksudkan hanya untuk fungsi tertentu. Sebagai contoh, printer adalah suatu embedded system karena terdapat mikrokontroler di dalamnya sebagai pengendali dan juga dedicated system karena fungsi pengendali tersebut hanya untuk menerima data dan mencetaknya.
Mikrokontroler memiliki beberapa fungsi diantaranya :
- Timer atau pewaktu
- Pembangkit osilasi
- Flip-flop
- ADC (Analog to Digital Converter)
- Counter atau penghitung
- Docoder dan encoder
2.2. KOMPONEN
2.2.1. ARDUINO UNO
Arduino Uno adalah board mikrokontroler berbasis ATmega328 (datasheet). Memiliki 14 pin input dari output digital dimana 6 pin input tersebut dapat digunakan sebagai output PWM dan 6 pin input analog, 16 MHz osilator kristal, koneksi USB, jack power, ICSP header, dan tombol reset. Untuk mendukung mikrokontroler agar dapat digunakan, cukup hanya menghubungkan Board Arduino Uno ke komputer dengan menggunakan kabel USB atau listrik dengan AC yang-ke adaptor-DC atau baterai untuk menjalankannya.
Setiap 14 pin digital pada arduino uno dapat digunakan sebagai input dan output, menggunakan fungsi pinMode(), digitalwrite(), dan digitalRead(). Fungsi fungsi tersebut beroperasi di tegangan 5 volt, Setiap pin dapat memberikan atau menerima suatu arus maksimum 40 mA dan mempunyai sebuah resistor pull-up (terputus secara default) 20-50 kOhm
2.2.2. 4×4 MATRIX KEYPAD
4×4 Matrix Keypad adalah perangkat input berbasis tombol yang tersusun dalam bentuk matriks 4 baris dan 4 kolom, sehingga total memiliki 16 tombol yang dapat digunakan untuk memasukkan angka, huruf, maupun simbol. Keypad ini bekerja dengan cara mendeteksi hubungan antara baris dan kolom ketika sebuah tombol ditekan, sehingga Arduino dapat membaca nilai tombol melalui pemindaian matriks. Komponen ini banyak digunakan pada sistem keamanan dan kendali elektronik, seperti password door lock, karena mampu menyediakan input numerik yang mudah dioperasikan dan terintegrasi dengan mikrokontroler.
2.2.3. SERVO MOTOR (SG90)
Servo motor adalah aktuator yang mampu menghasilkan gerakan sudut yang presisi berdasarkan sinyal kontrol PWM (Pulse Width Modulation). Motor ini memiliki rangkaian kontrol internal dan potensiometer untuk menjaga posisi poros agar sesuai dengan nilai sudut yang diperintahkan oleh mikrokontroler. Dalam proyek kunci pintu berbasis Arduino, servo motor digunakan untuk menggerakkan mekanisme pengunci, seperti membuka atau menutup slot kunci, karena mampu bergerak pada sudut tertentu dengan cepat, akurat, dan konsumsi daya yang relatif rendah.
2.2.4 I2C MODULE
Modul I2C adalah standar komunikasi serial dua arah menggunakan dua saluran yang didesain khusus untuk mengirim maupun menerima data. Sistem I2C terdiri dari saluran SCL (Serial Clock) dan SDA (Serial Data) yang membawa informasi data antara I2C dengan pengontrolnya. Piranti yang dihubungkan dengan sistem I2C Bus dapat dioperasikan sebagai Master dan Slave. Master adalah piranti yang memulai transfer data pada I2C Bus dengan membentuk sinyal Start, mengakhiri transfer data dengan membentuk sinyal Stop, dan membangkitkan sinyal clock. Slave adalah piranti yang dialamati master.
2.2.5. LCD (LIQUID CRYSTAL DISPLAY)
LCD atau Liquid Crystal Display adalah suatu jenis media display (tampilan) yang menggunakan kristal cair (liquid crystal) untuk menghasilkan gambar yang terlihat. Teknologi Liquid Crystal Display (LCD) atau Penampil Kristal Cair sudah banyak digunakan pada produk-produk seperti layar Laptop, layar Ponsel, layar Kalkulator, layar Jam Digital, layar Multimeter, Monitor Komputer, Televisi, layar Game portabel, layar Thermometer Digital dan produk-produk elektronik lainnya
2.2.6. DOOR LATCHDoor latch merupakan komponen mekanis yang berfungsi sebagai pengunci pintu dengan cara menahan atau mengaitkan daun pintu ke rangka pintu. Pada sistem otomatis berbasis Arduino, door latch sering dihubungkan dengan servo motor agar dapat digerakkan secara otomatis saat password yang dimasukkan benar. Mekanisme ini memungkinkan pintu terkunci maupun terbuka tanpa interaksi manual, sehingga menciptakan sistem keamanan yang lebih praktis dan modern dibandingkan pengunci pintu mekanis tradisional.
Kabel jumper male female memiliki ujung konektor yang berbeda pada tiap ujungnya, yaitu male dan female. Biasanya kabel ini digunakan untuk menghubungkan komponen elektronika selain Arduino ke breadboard.
Jenis kabel jumper female to female. Kabel ini sangat cocok untuk menghubungkan antar komponen yang memiliki header male. contohnya seperti sensor ultrasonik HC-SR04, sensor suhu DHT, dan masih banyak lagi.
BAB III
PEMBAHASAN
3.1. PENJELASAN SIMULASI
Pada tahap perancangan sistem, proses pembuatan kunci pintu berbasis password dimulai dengan menyusun rangkaian komponen seperti Arduino Uno, keypad 4×4, dan motor servo. Keypad digunakan sebagai perangkat input yang memungkinkan pengguna memasukkan kombinasi angka sebagai password. Setiap pin pada keypad dihubungkan ke pin digital Arduino agar perangkat dapat melakukan pemindaian matriks dan mendeteksi tombol yang ditekan. Sementara itu, servo motor dipasang pada mekanisme pengunci pintu dan dihubungkan ke pin kontrol Arduino untuk memungkinkan gerakan membuka dan menutup kunci secara otomatis. Rangkaian keseluruhan dirakit menggunakan breadboard serta jumper wires sehingga setiap komponen dapat terhubung dan bekerja secara terintegrasi.
Selanjutnya, Arduino Uno diprogram untuk membaca input dari keypad, memverifikasi password, dan mengendalikan motor servo berdasarkan hasil verifikasi tersebut. Ketika sebuah tombol ditekan, Arduino melakukan pembacaan baris dan kolom dari keypad untuk menentukan angka yang dimasukkan. Setiap digit kemudian disimpan sebagai data sementara hingga password lengkap dimasukkan pengguna. Arduino kemudian membandingkan input tersebut dengan password yang telah diprogram. Jika password sesuai, Arduino mengirimkan sinyal PWM ke servo untuk bergerak pada sudut tertentu yang menandakan kondisi pintu terbuka. Sebaliknya, jika password salah, Arduino mempertahankan posisi servo dalam keadaan tertutup dan dapat memberikan notifikasi tambahan melalui LED atau tampilan LCD bila digunakan.
Secara keseluruhan, cara kerja sistem kunci pintu berbasis password ini berjalan dengan memanfaatkan interaksi antara input keypad dan pengendalian aktuator oleh Arduino. Pengguna memulai proses dengan memasukkan kode melalui keypad. Arduino memproses setiap input, memeriksa kecocokan password, dan kemudian menentukan apakah pintu akan dibuka atau tetap terkunci. Servo motor berperan sebagai aktuator utama yang bergerak sesuai instruksi Arduino, sehingga pintu dapat dikunci atau dibuka tanpa perlu interaksi mekanis secara manual. Dengan mekanisme tersebut, sistem ini mampu memberikan keamanan yang lebih baik dan kontrol akses yang lebih praktis dibandingkan metode penguncian konvensional
3.2. PROGRAM
#include <Servo.h>
#include <LiquidCrystal_I2C.h>
#include <Keypad.h>
#include <Password.h>
#define buzzer 11
Servo servo;
LiquidCrystal_I2C lcd(0x27, 16, 2);
String newPasswordString; //hold the new password
char newPassword[6]; //charater string of newPasswordString
byte a = 5;
bool value = true;
Password password = Password("0123"); //Enter your password
byte maxPasswordLength = 6;
byte currentPasswordLength = 0;
const byte ROWS = 4; // Four rows
const byte COLS = 4; // Four columns
char keys[ROWS][COLS] = {
{'D', 'C', 'B', 'A'},
{'#', '9', '6', '3'},
{'0', '8', '5', '2'},
{'*', '7', '4', '1'},
};
byte rowPins[ROWS] = {2, 3, 4, 5};
byte colPins[COLS] = {6, 7, 8, 9};
Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );
void setup() {
Serial.begin(9600);
pinMode(buzzer, OUTPUT);
servo.attach(10);
servo.write(50);
lcd.init();
lcd.backlight();
lcd.setCursor(3, 0);
lcd.print("WELCOME TO");
lcd.setCursor(0, 1);
lcd.print("DOOR LOCK SYSTEM");
delay(3000);
lcd.clear();
}
void loop() {
lcd.setCursor(1, 0);
lcd.print("ENTER PASSWORD");
char key = keypad.getKey();
if (key != NO_KEY) {
delay(60);
if (key == 'C') {
resetPassword();
} else if (key == 'D') {
if (value == true) {
doorlocked();
value = false;
} else if (value == false) {
dooropen();
value = true;
}
} else {
processNumberKey(key);
}
}
}
void processNumberKey(char key) {
lcd.setCursor(a, 1);
lcd.print("*");
a++;
if (a == 11) {
a = 5;
}
currentPasswordLength++;
password.append(key);
if (currentPasswordLength == maxPasswordLength) {
doorlocked();
dooropen();
}
}
void dooropen() {
if (password.evaluate()) {
servo.write(50);
delay(100);
lcd.setCursor(0, 0);
lcd.print("CORRECT PASSWORD");
lcd.setCursor(0, 1);
lcd.print("DOOR OPENED");
delay(2000);
lcd.clear();
a = 5;
} else {
lcd.setCursor(0, 0);
lcd.print("WRONG PASSWORD!");
lcd.setCursor(0, 1);
lcd.print("PLEASE TRY AGAIN");
delay(2000);
lcd.clear();
a = 5;
}
resetPassword();
}
void resetPassword() {
password.reset();
currentPasswordLength = 0;
lcd.clear();
a = 5;
}
void doorlocked() {
if (password.evaluate()) {
digitalWrite(buzzer, HIGH);
delay(300);
digitalWrite(buzzer, LOW);
servo.write(110);
delay(100);
lcd.setCursor(0, 0);
lcd.print("CORRECT PASSWORD");
lcd.setCursor(2, 1);
lcd.print("DOOR LOCKED");
delay(2000);
lcd.clear();
a = 5;
} else {
digitalWrite(buzzer, HIGH);
delay(200);
digitalWrite(buzzer, LOW);
delay(200);
digitalWrite(buzzer, HIGH);
delay(200);
digitalWrite(buzzer, LOW);
delay(200);
digitalWrite(buzzer, HIGH);
delay(200);
digitalWrite(buzzer, LOW);
delay(200);
lcd.setCursor(0, 0);
lcd.print("WRONG PASSWORD!");
lcd.setCursor(0, 1);
lcd.print("PLEASE TRY AGAIN");
delay(2000);
lcd.clear();
a = 5;
}
resetPassword();
}
BAB IV
PENUTUP
4.1. KESIMPULAN
Proyek kunci pintu berbasis password ini berhasil diwujudkan dengan menggunakan Arduino Uno, di mana keypad berfungsi sebagai alat input dan servo motor sebagai penggerak kunci. Sistem mampu bekerja dengan baik sesuai dengan rancangan awal. Arduino dapat membaca setiap digit yang dimasukkan melalui keypad, kemudian mencocokkannya dengan password yang telah ditentukan sehingga kunci akan terbuka apabila kode benar, dan memberikan pemberitahuan jika kode salah. Penggunaan keypad 4x4 juga memudahkan pengguna dalam memasukkan kombinasi angka sekaligus menambah tingkat keamanannya. Servo motor dapat bergerak dengan stabil untuk membuka maupun mengunci pintu sesuai perintah dari Arduino. Secara keseluruhan, proyek ini menunjukkan bahwa mikrokontroler dapat dimanfaatkan sebagai sistem keamanan sederhana dan menjadi sarana pembelajaran yang efektif untuk memahami cara kerja rangkaian input, proses, dan aktuator dalam satu sistem otomatis.
4.2. SARAN
1. Menambahkan fitur notifikasi atau alarm agar pengguna bisa segera mengetahui jika ada usaha memasukkan password yang salah.
2. Mengembangkan sistem dengan sensor tambahan seperti sensor pintu agar keamanan menjadi lebih kuat dan fleksibel.
DAFTAR PUSTAKA
1. Priyanto, A. (2018). Penerapan Mikrokontroler dalam Sistem Otomatisasi. Yogyakarta: Andi Offset.
2. WikiElektronika, (2022) “Pengertian dan Fungsi Mikrokontroller.”
3. Supriyanto, A. (2020). Sistem Keamanan Berbasis Elektronik Menggunakan Mikrokontroler. Graha Ilmu.
4. Syafii, M. (2021). "Perancangan Sistem Keamanan Pintu Menggunakan Keypad dan Mikrokontroler Arduino". Jurnal Teknologi Elektro.
5. Haryanto, D. (2020). "Implementasi Motor Servo pada Sistem Kunci Otomatis". Jurnal Aplikasi Elektronika
6. Febrianto. (2014) “Apa itu Arduino Uno.”
7. Syafii, M. (2021). “Rancang Bangun Sistem Keamanan Menggunakan Keypad dan Arduino.” Jurnal Teknologi Elektro