Anda di halaman 1dari 22

LAPORAN PRAKTIKUM

MIKROPROSESOR
MODUL III : KOMUNIKASI 12C, DIGITAL SENSOR DAN
KEYPAD

Disusun Oleh :
Akhmad Sabias Khamdani
(17101086)
Partner Praktikum :
Yholanda Febiola (17101081)

Praktikum Tanggal : 9 April 2019


Asisten Praktikum :
Dwi Elba Wahyu A (16101127)

LABORATORIUM TEKNIK ELEKTRONIKA DAN TEKNIK DIGITAL


FAKULTAS TEKNIK TELEKOMUNIKASI DAN ELEKTRO (FTTE)
INSTITUT TEKNOLOGI TELKOM
JL. D.I. PANJAITAN 128 PURWOKERTO
2019
MODUL II
KOMUNIKASI 12C, DIGITAL SENSOR DAN KEYPAD
A. Tujuan Praktikum
1. Mahasiswa dapat mengerti apa itu komunikasi 12C dan mencari alamat dari
perangkat yang menggunakan komunikasi 12C.
2. Mahasiswa dapat menambahkan sebuah library pada Arduino IDE.
3. Mahasiswa dapat mengakses sebuah sensor digital DHT 11.
4. Mahasiswa dapat mengakses sebuah keypad matrix 4x4.
5. Mahasiswa dapat merangkai program sederhana yang memanfaatkan keypad
4x4 dan LCD 16x2.
B. Alat Dan Bahan Praktikum
1. Board Arduino Uno R3 : 1 buah
2. Breadboard : 1 buah
3. Kabel USB tipe A ke B : 1 buah
4. LCD 16x2 : 1 buah
5. 12C Modul : 1 buah
6. DHT 11 : 1 buah
7. Library 12C, AdfriutKeypad dan DHT
8. Kabel Jumper male-to-male sesuai kebutuhan
9. Laptop : 1 buah
C. DASAR TEORI
1. 12C (Inter-Integrated Circuit)
12C atau kepanjangan dari Inter-Integrated Circuit adalah sebuah databus serial
yang dikembangkan oleh Philips Semiconductor. Databus ini umumnya digunakan
internal dalam perangkat untuk komunikasi antara berbagai macam elemen sirkuit,
seperti halnya antara controller dan IC Perifer. Sistem yang dikembangkan Philips pada
tahun 1980 ini awalnya dibuat untuk memudahkan pengontrolan antar berbagai chip
didalam sebuah sistem televisi. 12C dirancang sebagai bus master-slave. Sebuah
transfer data selalu dimulai oleh master, yang direspon oleh slave dengan alamat yang
ditentukan oleh master. Dimungkin ada beberapa master berupa modus multi-master.
Didalam modus tersebut, ada 2 perangkat master yang dapat berkomunikasi satu sama
lainnya secara langsung, sementara salah satu perangkat beroperasi sebagai budak.[1]

Gambar 3.3.1 Sistem 12C dengan 1 master dan 3 slave[1]


2. DHT11
DHT11 merupakan salah satu sensor yang dapat mengukur dua jenis parameter
lingkungan secara bersamaan yakni suhu dan kelembaban udara (humidity).
Dalam sensor ini terdapat sebuah thermistor atau sebuah parameter
pengukuran suhu dengan tipe NTC (Negative Temperature Coefficient) untuk
mengukur sebuah suhu yang ada pada ruangan, kemudian sebuah sensor
kelembaban resisitif dan sebuah mikrokontroler 8-bit yang mengolah kedua
sensor tersebut dan mengirim hasilnya ke pin output dengan format single-wire
bi-directional (kabel tunggal dua arah). Sehingga walaupun kelihatannya kecil
DHT11 teryata memiliki funsi yang cukup kompleks sehingga pengguna dapat
mengambil hasil keluaran nya atau output untuk dimasukkan kedalam sistem.

Gambar 3.3.2 DHT11[2] Pengukuran kelembaban udara


- Resolusi pengukuran : 16 bit
- Repeatability : +- 1% RH
- Akurasi pengukuran : 25 celcius +- 5% RH
- Interchangeability : fully interchangeable
- Waktu respon : 1/e (63%) of 25 celcius 6 detik
- Histeris : <+- 0.3% RH
- Long-term stability : <+- 0.5% RH/yr in
Pengukuran Temperatur
- Resolusi pengukuran : 16 bit
- Repeatibility : +- 0.2 celcius
- Range : At 25 celcius +- 2 celcius
- Waktu respon 1/e(63%) 10 detik
Karekteristik Electrikal
- Power supply : DC 3.5 - 5.5V
- Konsumsi arus : measurement 0.3 mA, standby 60 mA
- Periode sampling : lebih dari 2 detik[2]
3. Keypad Matrix 4x4
Keypad merupakan bagian penting dari suatu perangkat elektronika yang
membutuhkan interaksi manusia. Keypad berfungsi sebagai interface antara
perangkat (mesin) elektronik dengan manusia atau dikenal dengan istilah HMI
(Human Machine Interface). Matrix keypad 4x4 ini merupakan salah satu
contoh keypad yang dapat digunakan untuk berkomunikasi antara manusia
dengan mikrokontroler. Matrix keypad 4x4 memiliki kontruksi atau susunan
yang simple dan hemat dalam penggunaan port pada mikrokontroler.
Konfigurasi keypad dengan susunan bentuk matrix ini bertujuan untuk
penghematan port mikrokontroler karena jumlah tombol yang dibutuhkan
banyak pada suatu sistem dengan mikrokontroler.[3]
D. HASIL DATA
Pada percobaan pertama yaitu scanning alamat pada modul 12C, hal
pertama yang dilakukan adalah menyiapkan komponen dan alat, komponen
tersebut berupa LCD 16x2, kabel jumper male-to-female, kabel jumper maleto-
male dan modul 12C dimana komponen tersebut membutuhkan media Arduino
Uno, Breadboard, USB tipe A ke B dan Laptop yang kemudian komponen dan
alat dirangkai kemudian digabungkan dengan kode program yang dibuat
menggunakan aplikasi Arduino IDE pada PC. Kemudia praktikan dapat
mengecek alamat dari modul 12C melalui serial monitor.

Gambar 3.4.1 Scanning alamat pada modul 12C


Gambar 3.4.2 Program scanning alamat pada modul 12C

Percobaan kedua yaitu merangkai pembacaan sensor DHT11 atau akses


digital sensor suhu dan kelembaban, pada percobaan ini praktikan
menggunakan komponen berupa Arduino Uno, USB tipe A ke B, kabel jumper,
modul 12C, sensor DHT11 dan LCD 16x2.
Gambar 3.4.3 Akses digital sensor DHT11

Gambar 3.4.4 Program akses digital sensor DHT11


Percobaan ketiga yaitu membuat akses keypad matrix 4x4 sederhana.
Pada percobaan ini praktikan menggunakan komponen berupa Arduino Uno,
USB tipe A ke B, kabel jumper, keypad matrix 4x4 dan LCD 16x2.

Gambar 3.4.5 Akses keypad matrix 4x4

Gambar 3.4.6 Program akses keypad matrix 4x4


Percobaan yang terakhir yaitu membuat sistem login sederhana
menggunakan Arduino UNO. Pada percobaan ini praktikan menggunakan
komponen berupa Arduino Uno, USB tipe A ke B, kabel jumper, keypad
matrix 4x4 dan LCD 16x2. Rangkaian yang dibuat pada percobaan keempat
ini sama dengan rangkaian yang ada pada percobaan ketiga, yang
membedakan percobaan keempat dan ketiga ada pada kode programnya.
Kode program percobaan keempat terbilang cukup rumit dan panjang.

Gambar 3.4.7 Sistem login sederhana

Gambar 3.4.8 Sistem login berhasil masuk


Gambar 3.4.9 Sistem login gagal masuk.
Gambar 3.4.10 Program sistem login berhasil masuk
E. ANALISA PEMBAHASAN
Pada praktikum modul tiga kali ini praktikan dapat membuat rangkaian yang
berhubungan dengan LCD 16x2 dan modul 12C. Sebelum praktikan melakukan
percobaan yang pertama, praktikan terlebih dahulu mengerti komponen utama
yang nantinya digunakan pada saat praktikum yaitu modul 12C dan LCD 16x2.
Selain harus mengerti komponen LCD 16x2 praktikan juga harus mengerti
komponen yang dibutuhkan juga pada praktikum modul 3 ini yaitu modul 12C
dan juga cara kerja dari sistem modul 12C seperti apa secara jelas dan benar.
Percobaan yang pertama dibuat oleh praktikan adalah scanning alamat pada
modul 12C. Alat dan bahan yang digunakan pada percobaan ini sudah pasti
adalah Arduino UNO R3, Breadboard, modul 12C, LCD 16x2, kabel jumper, 1
buah kabel USB tipe A ke B dan juga satu buah laptop untuk membuat kode
program atau script yang nantinya dihubungkan ke Arduino UNO R3. Fungsi dari
modul 12C disini adalah untuk menjadi tempat penyimpanan sementara atau data
bus program yang kemudian dihubungkan kedalam LCD 16x2. LCD 16x2 disini
berfungsi untuk menampilkan hasil dari kode program yang sudah dibuat oleh
praktikan pada Arduino IDE yang kemudian diupload dan dihubungkan dengan
Arduino UNO R3 atau dengan kata lain LCD 16x2 berfungsi sebagai output dari
program yang dibuat pada Arduino IDE. Dalam pembuatan kode program atau
script ini praktikan harus dengan teliti mebuat kode program tersebut supaya
program dapat berjalan sesuai dengan yang diinginkan dan tidak terjadi error pada
rangkaian nantinya. Praktikan juga harus teliti dalam pembuatan rangkaian
karena apabila kurang teliti dalam pembuatan rangkaian atau salah dalam
pembuatan rangkaian maka bisa menyebabkan konsleting pada rangkaian yang
mengakibatkan output atau hasil yang keluar nantinya tidak sesuai dengan yang
diinginkan atau bisa juga tidak jalan sama sekali. Apabila rangkaian sudah selesai
dibuat dan kode program sudah berhasil diupload dan benar maka nantinya hasil
yang keluar adalah LCD 16x2 menyala. Praktikan juga dapat melihat alamat
program melalui serial monitor yang ada pada menu dalam Arduino IDE. Melalui
serial monitor lah praktikan dapat melihat alamat program.
Gambar 3.5.1 Flowchart program
Selanjutnya percobaan percobaan kedua praktikan membuat akses digital
menggunakan sensor DHT11 atau sensor suhu dan kelembaban udara yang
dihubungkan dengan komponen LCD 16x2 sebagai penampil keluaran atau
outputannya. Alat dan bahan yang digunakan dalam pembuatan rangkaian ini
hampir sama dengan percobaan yang sebelumnya hanya saja pada percobaan ini
ditambahkan dengan sensor suhu dan kelembaban udara atau sensor DHT11.
Rangkaian yang digunakan juga hampir sama dengan apa yang dibuat pada
percobaan pertama hanya saja yang membedakan ada pada sensor suhu dan
kelembaban atau sensor DHT11 sebagai komponen tambahan. Sensor yang
digunakan disini adalah sensor suhu dan kelembaban udara atau sensor DHT11
yang berfungsi sebagai sebuah alat indikator uji yang dapat menguji besaran suhu
dan kelembaban udara yang ada didalam ruangan. Apabila rangkaian sudah
selesai dibuat dan kode program sudah berhasil diupload dan benar maka
nantinya hasil yang keluar pada LCD 16x2 adalah hasil pengukuran suhu serta
kelembaban udara yang ada didalam ruangan. Praktikan disini harus
memperhatikan betul pemasangan sensor suhu dan kelembaban atau sensor
DHT11 supaya nantinya tidak terjadi konsleting pada rangkaian yang
mengakibatkan rangkaian menjadi error dan gagal.

Gambar 3.5.2 Flowchart program


Kemudian percobaan yang ketiga hampir mirip dengan percobaan kedua hanya
saja disini praktikan menukar komponen sensor DHT11 atau sensor suhu dan
kelembaban dengan keypad matrix 4x4. Keypad matrix 4x4 disini digunakan
sebagai penghubung antara manusia dengan rangkaian elektronik. Apabila
rangkaian sudah selesai dibuat dan kode program sudah berhasil diupload dan
benar maka nantinya hasil yang keluar pada LCD 16x2 adalah prosedur
keamanan sederhana dengan cara memasukkan password yang ada kemudian
masuk atau login.
Gambar 3.5.3 Flowchart program
Selanjutnya adalah percobaan terakhir atau percobaan yang keempat.
Percobaan keempat ini hampir mirip dengan percobaan ketiga. Disini praktikan
masih menggunakan komponen keypad matrix 4x4. Keypad matrix 4x4 disini
juga digunakan sebagai penghubung antara manusia dengan rangkaian elektronik
namun ketahap yang lebih kompleks dan rumit. Disini yang membedakan antara
percobaan ketiga dan percobaan keempat ada pada kode programnya, kode
program pada percobaan tergolong lebih rumit dan lebih panjang dari pada
percobaan ketiga karena percobaan keempat lebih komplek dan memiliki fungsi
yang cukup bagus jika dihitung sebagai sistem keamanan sederhana, disini
praktikan dapat menentukan password yang digunakan sesuai dengan yang ingin
digunakan oleh praktikan. Apabila rangkaian sudah selesai dibuat dan kode
program sudah berhasil diupload dan benar maka nantinya hasil yang keluar pada
LCD 16x2 adalah prosedur keamanan sederhana dengan cara memasukkan
password yang ada, apabila password yang dimasukkan sudah benar sesuai
dengan yang ada pada program maka akan tertulis “Login Berhasil” pada layar
LCD 16x2, dan apabila password yang dimasukkan tidak tepat atau salah maka
nantinya akan munculu tulisan “Login gagal” pada layar LCD 16x2.

Gambar 3.5.4 Flowchart program


F. KESIMPULAN
1. Pada pembuatan kode program praktikan harus membuat kode program
secara teliti dan benar supaya nantinya bisa bekerja sesuai dengan yang
diinginkan.
2. Pada kode program percobaan pertama apabila praktikan ingin melihat
alamat dari modul 12C, praktikan dapat melihat didalam serial monitor.
3. Pada Keypad matrix 4x4 dapat digunakan dalam pembuatan sistem
keamanan sederhana karena alat ini berfungsi sebagai penghubung antara
perangkat elektronik dengan manusia.
4. DHT11 merupakan salah satu sensor yang dapat mengukur dua jenis
parameter lingkungan secara bersamaan yakni suhu dan kelembaban udara
(humidity)
G. DAFTAR PUSTAKA
[1] GudangLinux Shop, "http://gudanglinux.com/glossary/i%C2%B2c-
interintegrated-circuit/," 30 July 2013. [Online]. Available:

http://gudanglinux.com. [Accessed 11 April 2019].

[2] Ajie, "http://saptaji.com/2016/08/10/mengukur-suhu-dan-kelembaban udara-


dengan-sensor-dht11-dan-arduino/," 10 August 2016. [Online]. Available:
http://saptaji.com. [Accessed 11 April 2019].
[3] Anonymous, "http://elektronika-dasar.web.id/matrix-keypad-4x4-
untukmikrokontroler/," 27 November 2018. [Online]. Available:
http://elektronika-dasar.web.id. [Accessed 11 April 2019].
LAMPIRAN
Jawablah pertanyaan di Bawah ini :
1. Apa fungsi dari serial monitor ?
Jawab : serial monitor merupakan fungsi lain dari LCD yang dapat digunakan
sebagai penampil display bagi Arduino.
2. Apa maksud dari potongan program berikut ? For(addres<127;address++) Jawab :
program tersebut berarti dilakukan perulangan dari alamat 1 hingga kurang dari
127 secara increment.
3. Jika 12C bias mengalamatkan sampai 127 alamat. Pada alamat berapa 12C yang
digunakan terdeteksi ? Jawab : alamat 0x27
4. Apa fungsi dari modul 12C, apa bedanya dengan menggunakan dan tidak
menggunakan modul 12C pada LCD 16x2 ?
Jawab : Modul 12C berfugsi sebagai jalur komunikasi serial-multi master.
5. Apa bedanya pada saat menggunakan LM35 dan menggunakan DHT11 ? Jawab :
LM35 hanaya digunakan sebagai pengukur suhu saja sedangkan DHT11
digunakan sebagai pengukur suhu dan kelembaban udara.
6. Kenapa DHT11 disebut sebagai sensor digital ?, dan kenapa sensor LM35 disebut
sensor analog ?
Jawab : karena sensor DHT11 mengirimkan suatu angka dalam bentuk biner yang
nilai hasil nantinya akan berbentuk angka yang siap ditampilkan, sedangkan sensor
LM35 mengirimkan informasi dalam bentuk suatu besaran yang bersifat kontinu.
7. Apa fungsi dari sebuah library ?
Jawab : Library merupakan sebuah file yang memberikan fungsi ekstra dari sketch
yang dibuat.
8. Kenapa keypad yang digunakan disebut keypad matrix ?
Jawab : Karena keypad tersebut terbentuk dari beberapa pushbutton yang
dikonfigurasikan antara kolom dan baris.
9. Apa maksud dari potongan program berikut : Char key=keypad.getkey();if(key) ?
Jawab : program ini berfungsi untuk mendapatkan sebuah karakter dari nput
keypad jika terdapat masukandari keypad tersebut.
10. Apa fungsi dari sebuah void/fungsi ?
Jawab : Void berfungsi untuk tidak mengembalikan nilai keluaran yang didapat
dari hasil proses.
11. Mengapa pada percobaan ke-4 variabel data_pass menggunakan tipe data char dan
array ?
Jawab : Karena variable yang akan digunakan berupa huruf dan angka.
12. Mengapa dibutuhkan void reset ?
Jawab : Void reset dibutuhkan untuk mengembalikan nilai counter menjadi nol.
13. Apa maksud dari potongan program berikut : Goto a; ?
Jawab : Program ini berfungsi untuk memerintahkan CPU supaya melompat ke
baris manapun berdasarkan label yang telah dibuat.
14. Mengapa pada percobaan ke-3 key yang ditekan berubah-ubah di LCD, tidak
bergeser ke kanan ?
Jawab : Karena sebelumnya program belum ditentukan oleh jumlah char yang akan
digunakan.
TUGAS MODUL 2
A. Kode program
#include <Keypad.h>
#include <Wire.h>
#include <LiquidCrystal_12C>
byte state; byte code; const
byte ROWS = 4; const byte
COLS = 4; char
keys[ROWS][COLS]={
{'1','2','3','Á'},
{'4','5','6','B'},
{'7','8','9','C'},
{'*','0','#','D'}
};
byte rowPins[ROWS]={7,6,5,4}; byte colPins[COLS]={3,2,1,0}; char
data_pass[9]="123456789"; keypad keypad =
keypad(makeKeymap(keys),rowPins,colPins,ROWS,COLS); void setup(){
lcd.begin(); lcd.backlight(); reset(); } void reset () {lcd.clear();
lcd.setCursor(0,0); lcd.Print("sistem keamanan"); lcd.setCursor(0,1);
lcd.Print("masukkan pin :"); state = 0; code = 0: } void gagal()
{lcd.setCursor(0,0); lcd.Print("password salah!"); delay (2000); lcd.clear();
reset (); } void sukses() { a:
lcd.setCursor(0,0);
lcd.Print("login berhasil");
lcd.setCursor(0,1);
lcd.Print("*:logout"); char
key=keypad.getKey(); if
(key!='*') { goto a; }
else { reset(); } } void
loop(){ char
key=keypad.getKey();
if(key) {if(key!='#') {
lcd.setCursor(state+5,1);
if (data_pass[state]==key)
{code++;
} else {
code--; }
lcd.Print("*");
delay(100);
state++; }
else {if
(code==9)
{
lcd.clear();
sukses(); }
else {
lcd.clear();
gagal();
}
}
}
}
B. Rangkaian