Menggunakan Mikrontroler
SKRIPSI
Oleh :
MUHAMMAD ROFIQ NPM: 0834015035
JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNOLOGI INDUSTRI
UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN” JAWA TIMUR
i
Rasa syukur yang teramat dalam kami panjatkan ke hadirat Tuhan Yang Maha
Esa, yang telah berkenan memelihara dan membimbing kami, sehingga kami dapat
menyelesaikan pengerjaan dan penyusunan laporan tugas akhir ini. Dan tak lupa kami
ucapkan beribu-ribu terima kasih kepada :
1. Bapak Dekan yang selama ini membantu dalam memenuhi kebutuhan belajar.
2. Ibu Kajur Dr.Ir.Ni Ketut Sari.MT yang selama ini membantu dalam proses
belajar dan mengajar.
3. Bapak Basuki Rahmad.Ssi.MT yang telah membimbing dalam
menyeleseikan laporan ini.
4. Ibu Ir.Kartini.MT yang telah membimbing dalam menyeleseikan laporan ini.
5. Kakak saya Sugianto yang mensuport dana dan semangat.
6. Ibu dan Bapak saya yang selalu menyemangatiku dan mendoakanku.
7. Wahyu yang membantu dalam memberi solusi.
8. Dan teman-teman TF-sore 2008 .
Tanpa beliau dan teman-teman semua saya mungkin saya tidak bisa
menyeleseikan tugas akhir ini dengan tepat waktu. Dan saya sadar bahwa dalam
penulisan laporan ini masih jauh dari kata sempurna, namun kami tetap berharap
semoga isi dari laporan ini dapat benar-benar berguna baik untuk para penulis
khususnya dan para pembaca pada umumnya, maka dari itu kritik dan saran yang
membangun sangat kami harapkan.
Surabaya,14 MEI 2012
LEMBAR JUDUL
ABSTRAK………. i
KATA PENGANTAR………...……… ii
DAFTAR ISI……….. iii
DAFTAR GAMBAR………. vii
DAFTAR TABEL……….. ix
BAB I PENDAHULUAN 1.1 Latar Belakang………. 1
1.2 Perumusan Masalah……….. 2
1.3 Batasan Masalah………... 2
1.4 Tujuan……….. 3
1.5 Manfaat……… 3
1.6 Sistematika Penulisan……….. 4
BAB II LANDASAN TEORI 2.1 Mikrokontroler AT89S52……….……….. 6
2.2 Dekripsi Pin……… 7
2.2.1 SFR pada mikrokontroler AT89S52….….. 9
2.3 Diagram Blog………. 10
2.3.1 Interupt……….……… 10
iii
2.4.1 Fitur………..……… 12
2.4.2 Deskripsi Pin..………... …... 13
2.5 Keypad………... 15
2.6 Resistor………... 16
2.7 Kondensator atau Kapasitor……….. 18
2.7.1 Kondensator Tetap….………. 21
2.7.2 Kondensator Tidak Tetap……… 23
2.7.3 Prinsip Dasar dan Spesifikasi Elektriknya.. 23
2.7.4 Kapasitensi………. …… 23
2.7.5 Tipe Kapasitor……… 24
2.7.6 Kapasitor Elektrostatic.……….. …... 24
2.7.7 Kapasitor Elektrolytic……… 24
2.7.8 Kapasitor Elektrohemical……….. 26
2.8 LED(Ligh Emiting)………... 26
2.9 CPU……… 27
2.9.1 Arithmatic and Logic Unit (ALU)……… 28
2.9.2 Control Unit………. 28
2.10.1 Efesiensi Power Suplay Unit……… 31
2.11 Bascom 8051……… 32
2.11.1 Bahasa Pemrograman Mikrokontroler….. 33
2.11.2 Bahasa Pemrograman Bascom 8051…... 35
2.11.3 Bagian-Bagian Basic Compiler………... 35
2.11.4 Program Simulasi………. 36
2.11.5 Compailer………. 38
2.11.6 Hardware Bascom 8051……… 40
2.11.7 Karakter Dalam Bascom 8051………….. 40
2.11.8 Tipe Data………... 41
2.11.9 Variabel………... 42
2.11.10 Alias………... 42
2.11.11 Kontrol Program……… 43
2.11.12 Konstanta………... 43
2.11.13 Array……….. ……… 44
2.11.14 Oprasi-oprasi Dalam Bascom 8051……… 45
2.12 Kontrol Program……….. ……… 46
v
BAB III METODE PERANCANGAN SISTEM
3.1 Perancangan Sistem…. ……… 51
3.2 Perancangan Mikrokontroler dan Relay..………. ... 52
3.3 Perancangan Rangkaian Keypad………….. ……… 53
3.4 Perancangan Rangkaian LCD…...………… …….. 54
BAB IV IMPLEMENTASI SISTEM 4.1 Cara Setup ISP Flash……… 61
4.2 Hasil Program……… …….. 63
4.3 Soucecode Program……… 64
BAB V HASIL DAN PEMBAHASAN 5.1 Pengujian dengan Relay dan Led………... 71
5.2 Pengujian Dengan Keypad dan LCD……… 72
5.3 Pengujian Simulasi………... 74
5.4 Hasil perancangan Mikrokontroler………... 74
5.5 Kekurangan atau Hambatan Alat……….. 77
BAB VI KESIMPULAN DAN SARAN 6.1 Kesimpulan………. ……… 78
6.2 Saran……… 78
DAFTAR PUSTAKA……… ……… 79
LAMPIRAN
Gambar 2.2 Diagram blog mikrokontroler AT89S52... 10
Gambar 2.3 Sumber interrpt mikrokontroler AT89S52... 10
Gambar 2.4 Konfigurasi pin LCD 4x16... 13
Gambar 2.5Keypad 3x4... 15
Gambar 2.6 Resistor... 16
Gambar 2.7Simbol resistor... 16
Gambar 2.8 Wujud asli kapasitor... 18
Gambar 2.9 Kondensator dan simbol... 18
Gambar 2.10 Kapasitor berukuran kecil... 19
Gambar 2.11 Kondensator polister... 21
Gambar 2.12 Kondensator elektrolit... 21
Gambar 2.13 Bentuk-bentuk kondensator... 22
Gambar 2.14 Kapasitor elco... 25
Gambar 2.15 Simbol resistor... 27
Gambar 2.16 Power suplay... 31
Gambar 2.17 Bascom 8051... 32
Gambar 2.18 Alur pemrograman mikrokontroler... 33
Gambar 2.19 Form bascom 8051... 35
Gambar 2.20 Jendela pemrogram simulasi... 37
Gambar 2.21 Tombol-tombol interrupt... 37
Gambar 2.22 Jendela simulasi LCD... 38
Gambar 2.23 Jendela compailer... 39
Gambar 3.1 Alur jalanya alat... 51
Gambar 3.2 Rangkaian mikrokontroler AT89S52 dan Relay... 53
Gambar 3.3 Rangkaian keypad... 54
vii
Gambar 3.7 Model display jika password salah... 56
Gambar 3.8 Model display jika password benar... 56
Gambar 3.9 Rangkaian sistem... 57
Gambar 3.10 Diagram alir 1... 58
Gambar 3.11 Diagram alir 2... 59
Gambar 3.12 Flowchart gambaran umum mikrokontroler... 60
Gambar 4.1 Perangkat lunak ISP Flash programmer………... 61
Gambar 4.2 Tidak terhubung dengan mikrokontroler……….. 62
Gambar 4.3 Terhubung dengan mikrokontroler ………... 62
Gambar 4.4 Mikrokontroler sukses……… 62
Gambar 4.5 Model desplay awal sebelum password ... 63
Gambar 4.6 Model display jika password salah... 63
Gambar 4.7 Model display jika password benar... 63
Gambar 5.1 Blog diagram pengujian system……… ……… 71
Gambar 5.2 Pengecekan power……… ……… . 75
Gambar 5.3 Masukan password……… ……… 75
Gambar 5.4 Alat kondisi menyala……….76
Gambar 5.5 Password salah………... 76
Tabel 2.2 Interrupt mikrokontroler AT89S52……… ………. 11
Tabel 2.3 Register IE(interrupt enable)... 11
Table 2.4 Fungsi masing-masing pin LCD……… . 14
Table 2.5 Warna resistor………...……… … 17
Table 2.6 Info show result………...……… ….. 36
Table 2.7 Keterangan menu pilihan ………...……… ……... 39
Table 2.8 Alokasi port untuk LCD……… ……….. 40
Table 2.9 Karakter special pada BASCOM 8051……… ……… 41
Table 2.10 Tipe data pada BASCOM………... 42
Table 2.11 Operator aritmatika………... 45
Table 2.12 Operator relasi………... 46
Table 3.1 Koneksi LCD ke AT89S52……… 55
Tabel 5.1 Sistem relay dan LCD ………. 72
Table 5.2 Pemetaan keypad………. 73
ix
DOSEN PEMBIMBING 1 : BASUKI RAHMAD Ssi.MT
DOSEN PEMBIMBING 2 : Ir. KARTINI.MT
PENYUSUN : MUHAMMAD ROFIQ
ABSTRAK
Di dalam buku ini penulis mempunyai suatu pemikiran tentang bagaimana mengamankan data yang ada didalam computer supaya tidak dicuri orang. Karena selama ini banyak dari pengguna komputer hanya memberi pengaman password pada administrator sehingga sangatlah mudah untuk membobol password tersebut.
Dari pemikiran tersebut munculah ide pembuatan alat ” Perancangan Sistem keamanan Komputer dengan Menggunakan kode Berbasis AT89S52 (mengamankan tombol switch on/off pada komputer) ”. Dimana kerja alat tersebut adalah pemutus tegangan arus listrik. Jika password yang dimasukan benar maka arus listrik akan masuk dan jika salah maka arus listrik tidak akan masuk. Cara kerjanya seperti saklar pada lampu.
Diharapkan dalam pembuatan alat tersebut dapat membantu atau bermanfaat bagi banyak orang yang suka menyimpan data didalam komputer. Sehingga data-data penting yang ada didalam komputer tidak hilang dicuri orang.
BAB I
PENDAHULUAN
1.1. Latar Belakang
Manusia selalu ingin hidup lebih mudah, karena itu manusia selalu mencari
cara untuk mewujudkan keinginannya. Disamping itu juga manusia tidak akan
puas dengan ha apapun yang menjadi kebutuhan setiap saat. Dalam era
globalisasi saat ini kebutuhan akan komputer semakin meningkat, setiap
pekerjaan yang dilakukan oleh sebuah perkantoran ataupun sebuah pabrik, semua
menggunakan komputer. Tak terkecuali instansi pemerintahan dan pendidikan.
Komputer seakan tidak bisa lepas dari itu semua. Dalam sebuah perusahaan
ataupun instansi lain komputer menjadi barang yang paling di jaga, karena dalam
komputer tersebut ada data yang sangat penting bagi perusahaan atau sebuah
instansi.
Banyak sekali cara yang dilakukan untuk memproteksi data mulai dari
software, sistem operasi atupun hardware. Secara software yaitu dengan cara
mengunci file dengan password, sehingga file tidak bisa di buka jika password
salah, yang kedua dengan sistem operasi yaitu dengan cara memberikan
password pada sistem operasi yang dijalankan, sehingga komputer tidak bisa
dimasuki oleh sembarang user. Dan salah satunya adalah mengunci switch on/off
cpu dengan sebuah password. Dengan begitu cpu tidak akan bisa dipakai oleh
siapapun kecuali pemilik atau harus ijin pemilik.
Maka penulis disini membuat penelitian tentang merancang suatu
mikrokontroler , dimana mikrokontroler tersebut adalah suatu rangkaian-rangkaian mikro atau electronika yang dapat di perintah oleh kode-kode tertentu
dengan menekan keyboard yang telah disiapkan dan tentunya akan membuat
komputer bisa dinyalakan dari pc karena tanpa memasukan password tersebut pc
orang dan data yang tersimpan di CPU bisa aman dari gangguan orang yang
berniat jelek pada diri kita.
Keamanan juga merupakan hal yang vital dalam sistem ini, karena itu
digunakan sistem penguncian dan aplikasi mikrokontroler AT89S52. Tujuan
penggunaan mikrokontroler ini adalah untuk membuat sistem keamanan dengan
hak akses terbatas sehingga tidak setiap orang bisa mengetahui kombinasi
tombol yang digunakan. Di dalam tugas akhir ini penulis akan membahas
mengenai ”Perancangan Prototipe Sistem keamanan Komputer Untuk
M engamankan Tombol Sw itch on/ off pada komputer M enggunakan
M ikrontroler”.
1.2. Perumusan Masalah
Adapun perumusan masalah yang akan dibahas di dalam laporan akhir ini
adalah
1. Bagaimana merancang suatu alat yang dapat menampilkan hasil dari data
yang telah di inputkan melalui keypad pada LCD 16x2.
2. Bagaimana membuat program mikrokontroler AT89S52 untuk dapat
membaca data yang di inputkan melalui keypad.
3. Bagaimana merancang sistem tersebut dengan berjalan dengan praktis dan
aman dengan hak akses yang terbatas.
1.3. Batasan Masalah
Untuk lebih memudahkan untuk melakukan analisis data dan menghindari
pembahasan yang lebih jauh maka penulis membatasi permasalahan sebagai
berikut:
1. Pemanfaatan bahasa C untuk merancang program aplikasi
mengenai”perancangan sistem komputer dengan menggunakan kode
berbasis AT89S52”
2. Pemanfaatan Basic Compiler 8051 sebagai program aplikasi untuk
mengkonfersi bahasa C ke bahasa .hex
4. Mendesain suatu alat yang dapat menampilkan hasil dari data yang telah
diinputkan melalui keypad pada LCD 16x2.
5. Membuat program mikrokontroler AT89S52 untuk dapat membaca data
yang diinputkan melalui keypad.
6. Password tidak dapat di ubah.
7. Pasword dapat di bobol jika power suplay di rusak dan bisa dinyalakan
langsung melalui PC.
1.4. Tujuan Penulisan
Adapun tujuan dari pembuatan laporan tugas akhir ini adalah:
1. Merancang suatu sistem yang menggunakan mikrokontroler AT89S52,
dimana mikrokontroler AT89S52 berfungsi sebagai informasi.
2. Merancang sistem dimana mikroprosesor dapat mengolah data yang di
dapat dari keypad dan hasilnya dapat ditampilkan didalam LCD LM016L.
3. Sarana pembelajaran terhadap sistem mikrokontroler AT89S52 yang
dapat mengontrol sebuah hardware
1.5. Manfaat
Hasil dari penelitian ini diharapkan dapat digunakan sebagai langkah
awal untuk membangun sebuah sistem keamanan komputer. Alat yang dibuat ini juga dapat dijadikan bahan untuk penelitian lebih lanjut dibidang yang
berkaitan.
Dengan penyesuaian tersebut, metode yang digunakan mungkin dapat
juga dimanfaatkan untuk sistem keamanan komputer secara umum, tidak
terbatas pada pin on/off di mainboard saja. Misalnya pengamanan I/O port
pada komputer.
Dari hasil penelitian ini juga diharapkan dapat diperoleh pemahaman
manajemen memori yang sangat berpengaruh pada sistem keamanan
komputer.
1.6. Sistematika Penulisan
Adapun Sistematika Penulisan Laporan Tugas Akhir kali ini yaitu:
BAB I : PENDAHULUAN
Berisi latar belakang yang menjelaskan tentang ”Perancangan
Sistem Keamanan Komputer Dengan Menggunakan Kode
Berbasis AT89S52(Menggunakan Tombol Switch on/off pada
Komputer)”
BAB II : TINJAUAN PUSTAKA
Pada bab ini akan di jelaskan dasar teori dan tentang
penggunaan sofware untuk menyeleseikan permasalahan yang
ada di pembuatan ”Perancangan Sistem Keamanan Komputer
Dengan Menggunakan Kode Berbasis AT89S52(Menggunakan
Tombol Switch on/off pada Komputer)”.
BAB III : METODE PENELITIAN TUGAS AKHIR
Pada bab ini akan diuraikan metode-metode yang digunakan
dalam pelaksanaan Tugas Akhir.
BAB IV : IMPLEMENTASI DAN SISTEM
Pada bab ini menjelaskan tentang implementasi dari program
yang telah di buat dan bagaimana sistemnya.
BAB V : HASIL DAN PEMBAHASAN
Pada bab ini akan diuraikan hasil Praktek Kerja Lapangan
BAB V
: KESIMPULAN DAN SARAN
Bab ini merupakan bagian terakhir dari Laporan Praktek
Kerja Lapangan yang berisi kesimpulan dan saran - saran
penulis.
DAFTAR PUSTAKA
BAB II
LANDASAN TEORI
2.1. Mikrokontroler AT89S52
Mikrokontroler merupakan pengombinasian antara CPU dengan memory
dan I/O(input/output) dalam satu chip, yang sering disebut sebagai single chip
microkomputer ( SCM). Berbeda dengan mikroprosesor yang membutuhkan
ROM (Read Only Memory), RAM(Random Access Memory), dan I/O sebagai
sarana pendukung oprasinya.
Mikrokontroler AT89S52 termasuk salah satu jenis mikrokontroler dari
keluarga MCS51 yang dikemas dalam standart DIL (Dual In Line) 40 pin.
Mikrokontroler ini diproduksi oleh ATMEL dengan karakteristik yang
benar-benar kompatibel dengan mikrokontroler produksi intel.
Fitur-fitur yang dimiliki oleh mikrokontroler AT89S52 adalah sebagai
berikut:[1]
1. CPU 8 bit.
2. In-System Programmable (ISP) Flash Memory sebesar 8 Kbyte
3. 256x8 time/counter 16 bit.
4. Bi-directional I/O sebanyak 32 bit (terbagi dalam 4 port)
5. Mempunyai channel UART (Universal Asynchronous Receiver Transmitter)
full duplex
6. Enam buah vector interrupt dengan dua level prioritas.
Sumber:Atmel Corporation,AT89S52 Datashet 11Desember 2011
2.2. Dekripsi Pin
Mikrokontroler AT89S52 memiliki 40 pin, 32 pin diantaranya adalah
directional I/O yang terbagi dalam 4 port. Berikut ini penjelasan dari konfigurasi
dan pin-pin tersebut,yaitu:[2,3]
Gambar 2.1. Konfigurasi pin AT89S52
1. Vcc (pin 40),merupakan pin supply tegangan sebesar +5volt
2. GND(pin 9) , merupakan pin tegangan refrensi 0 volt(ground)
3. RST (pin 9), sebagai masukan reset, yaitu jika pada saat diberi tegangan
+5volt, maka seluruh isi dari internal memory dan register-register yang
dimiliki mikrokontroler AT89S52 akan kembali ke kondisi reset. Progarm
counter dari IC tersebut berada pada alamat 0000H. Jika dihubungkan
dengan ground, maka mikrokontroler AT89S52 akan beroprasi sesuai
dengan program yang telah di isi di dalam internal ROM atau external
ROM
4. EA-External Access(pin 31), pada waktu pin ini di bri tegangan +5volt,
maka mikrokontroler AT89S52 akan mengekskusi program internal, dan
mikrokontroler AT89S52 akan berada dalam mode access external ROM
yang mulai dari alamat 0000H-FFFFH-.
5. XTALI (pin 19), sebagai masukan ke inverting ascilator amplifier dan
masukan ke internal clock operating circuit.
6. XTAL2 (pin 18), sebagai keluaran dari inverting ascilator amplifier.
7. PSEN-Programeble Stroble Enable (pin 29), merupakan sinyal yang
dikeluarkan oleh mikrokontroler AT89S52 untuk membaca external
program memori(fetching).
8. ALE-Adress Latch Enable (pin 30), suatu keluaran sinyal yang berfungsi
untuk memisahkan address bus byte rendah (A7-A0) yang sebelumnya di
multipleks data bus dalam AD7-AD0 selama mengakses external memory,
Sinyal ini berupa pulsa persegi yang keluar terus menerus dengan
frekruensi Kristal,
9. Port 0(pin 32,33,34,35,36,37,38,39), port ini dapat digunakan sebagai I/O
dua arah yang dapat di akses per bit dengan menambahkan pull-up
resistor. Port ini juga berfungsi sebagai address bus byte rendah (A7-A0)
dan data bus (D7-AD0) yang di desain secara multipleks (sehingga port ini
diberi nama AD7-D0).
10.Port 2 (pin 28,27,26,25,24,23,22,21), port ini dapat dapat digunakan
sebagai I/O dua arah yang dapat di akses per bit tanpa menambahkan
pullup resistor karena terdapat internal pull-up. Selain itu port ini
berfungsi sebagai address bus byte tinggi(A15-A8).
11.Port 1 (pin 8,7,6,5,4,3,2,1), digunakan sebagai I/O dua arah yang dapat di
akses per bit dengan internal pull-up. Untuk AT89S52 pada port P1.0 dan
P1.1 dapat dikonfirgurasikan sebagai external count input untuk
(P1.1/T2EX). Selain itu pada port P1.5(MOSI),P1.6(MISO),P1.7(SCK)
digunakan untuk pemrograman secara ISP (In-System Programmable).
12.Port 3 (pin 17,16,15,14,13,12,11,10), digunakan sebagai I/0 dua arah yang
dapat di akses per bit dengan internal pull-up. Selain itu port3 juga
mempunyai fitur-fitur special yang dapat di lihat pada table berikut.
Tabel 2.1. Fungsi khusus port 3 Mikrokontroler AT89S52
No.Pin Port Pin Nama Port Fungsi Alternatif
10 P3.0 RXD M engirim dat a unt uk port serial
Sumber:ht t p:/ / onelka.w ordpress.com/ mikrokont roler -at89s52/
2.2.1. SFR (Spesial Fungtion Register) pada mikrokontroler AT89S52
Tidak semua pada alamat SFR digunakan, alamat-alamat yang tidak
digunakan, tidak diimplementasikan pada chip. Jika dilakukan usaha
pembacaan pada alamat-alamat yang tidak terpakai tersebut akan
menghasilkan data acak dan penulisanya tidak menimbulkan efek sama sekali.
Pengguna perangkat lunak sebaiknya jangan menuliskan ‘1’ pada
lokasi-lokasi’tak bertuan’ tersebut, karena dapat digunakan untuk mikrokontroler
generasi selanjutnya. Dengan demikian, nilai-nilai reset atau non-aktif dari
2.3. Diagram Blok
Diagram blok dari mikrokontroler AT89S52 ditunjukan pada gambar
berikut ini:[5]
Gambar2.2. Diagram Blok Mikrokontroler AT89S52
2.3.1. Interrupt
Mikrokontroller AT89S52 mempunyai enam buah interrupt ,yaitu dua
buah interrupt external (INT0 dan INT1), tiga buah Timer/Counter
(T0,T1,T2), dan satu buah interrupt serial. Berikut ini gambar dari
interrupt-interrupt tersebut.[6]
Tabel 2.2.Interrupt Mikrokontroller AT89S52
Interrupt Source Alamat Vektor
IE0 0003B
Sumber:ht t p:/ / w w w .scribd.com/ doc/60296878/ ANJAR-M 3306010-PINTU
Jika terjadi suatu interrupt, maka program akan melompat kesuatu alamat
vector interrupt yang bersangkutan. Dan baru akan kembali ke program
utama, jika mendapatkan perintah RETURN. Alamat vector dari keenam
interrupt dapat di lihat pada table 2.10
Keenam interrupt ini dapat diaktifkan atau dimatikan secara individu
dengan cara men-set atau me-reset bit-bit yang ada di register IE (Interrupt
Enable) dari SFR (Spesial Fungtion Register). Bit EA berfungsi untuk
mematikan system interrupt secara keseluruhan, sedangkan untuk fungsi dari
bit-bit yang lainya dapat di lihat pada table 2.3 berikut:[7]
Tabel 2.3.Register IE(Interrupt Enable)
Symbol Position Fungtion
EA IE.7 Disable all interrupt. If EA=0, no interrupt
is acknowledged if EA=1, each interrupt source is individually enabled or disabled by setting or clearing its enable bit
.. IE.6 Not implemented, reserved for future use.*
ET2 IE.5 Enables or disables timer 2 overflow or
capture interrupt(8052 only)
ES IE.4 Enable or disable the serial interrupt
ET1 IE.3 Enables or disbles timer overflow interrupt
EX1 IE.2 Enable or desables external interrupt 1
ETO IE.1 Enables or disables timer 0 overflow
interrupt
Interrupt external (INT0 dan INT1) dapat diaktifkan dengan dua
mode,yaitu mode aktif level (level activated) dan mode aktif transisi
(transition activated). Jika INT0 atau INT1 diberi logika ‘0’ pada aktif level atau diberi perubahan transisi turun (falling edge),yaitu dari logika ‘1’ ke’0’
maka akan mengakibatkan terjadinya interrupt.
2.3.2. Komunikasi Serial
Komunikasi serial pada mikrokontroller AT89S52 pada dasarnya sama
dengan komunikasi serial pada mikrokontroller AT89C51 dan
mikrokontroller AT89C52. Pada mikrontroller AT89S52 terdapat fasilitas
komunikasi serial full duplex. Dalam mikrokontroller ini terdapat dua buah
register yang terpisah secara fisik (sehingga tidak dapat menyebabkan data
collsion),yaitu register TX(untuk mengirim data lewat transmiter),dan register
RX(untuk menerima data lewat receiver).
2.4. LCD(LM016L)
LCD yang digunakan pada tugas akhir ini adalah 16x2.Berikut penjelasan
dari LCD tersebut.[8]
2.4.1. Fitur
Fitur-fitur yang dimiliki oleh LCD tipe LM016L adalah sebagai berikut.
1. Dua baris 16 kolom untuk karakter dengan tampilan yang terdiri dari
5x7 dot matrix dengan kursor
2. Mempunyai daya 4,5-5,5v.
3. Memuat sampai 32 karakter.
5. Beragam instruction function pada BASCOM SPERTI Locate,Config
lcd,Display on/of,Cursor on blink,dan cursor no blink.
2.4.2. Deskripsi Pin
Gambar 2.4. Konfigurasi pin LCD 16X2
1. VSS(PIN 1) merupakan pin tegangan referensi 0 volt(ground).
2. VDD (pin 2) merupakan pin tegangan +5volt
3. V0 (pin 3) merupakan pin yang tidak dihubungkan
4. RS (pin 4), merupakan pin yang berfungsi untuk mereset LCD.
5. R/W(pin 5), berfungsi untuk metode read atau write
6. E(pin 6), berfungsi untuk mengaktifkan LCD.
7. D0(pin 7), merupakan pin data ke 0.
8. D1(pin 8), merupakan pin data ke 1.
9. D2(pin 9), merupakan data pin ke 2.
10.D3(pin 10), merupakan data pin ke 3.
11.D4(pin 11), merupakan data pin ke 4.
12.D5(pin 12), merupakan data pin ke 5.
13.D6(pin 13), merupakan data pin ke 6.
15.Anoda (+)(pin 15), merupakan pin tegangan +5 volt untuk backlight.
16.Katoda (-)(pin 16), mrupakan pin tegangan referensi 0 volt untuk
backlight.
Tabel 2.4. Fungsi Masing-Masing pin LCD
2.5. Keypad
Keypad yang dipakai dalam tugas akhir ini adalah keypad matrik 3x4
dengan inputan angka 0-9,*dan#. Keypad didesain aktif high. Prinsip kerjannya
adalah keypad akan aktif high,jika di tekan. Keypad 3x4 memiliki tombol
sebanyak 12 buah, yang masing-masing keypad mempunyai fungsi sebagai
berikut:
1. Keypad 0-9 : untuk input data password
2. Keypad # : untuk eksekusi password.
Keypad ini dirancang dan di buat dengan standart kualitas tertinggi.
Keypad ini memiliki kelebihan anti air dan tanpa rangkaian
elektronik,sehingga dapat dipakai dalam jangka waktu yang lama. Berikut
adalah gambar dan table spesifikasi dari keypad 3x4.
2.6. Resistor
Resistor adalah komponen dasar elektronika yang digunakan untuk
membatasi jumlah arus yang mengalir dalam suatu rangkaian. Kemampuan
resistor dalam menghambat arus listrik sangat beragam disesuaikan dengan nilai
resistansi resistor tersebut. Resistor bersifat resistif dan umumnya terbuat dari
bahan karbon. Satuan resistansi dari suatu resistor disebut Ohm atau
dilambangkan dengan simbol Ω (Omega).[9]
Gambar 2.6. Resistor
Bentuk resistor yang umum adalah seperti tabung dengan dua kaki di kiri
dan kanan. Pada badannya terdapat lingkaran membentuk cincin kode warna
untuk mengetahui besar resistansi tanpa mengukur besarnya dengan Ohm
meter. Kode warna tersebut adalah standar manufaktur yang dikeluarkan oleh EIA (Electronic Industries Association) seperti yang ditunjukkan pada tabel
dibawah.
Didalam rangkaian elektronika resistor dilambangkan dengan angka " R
"Ada beberapa jenis resistor yang ada dipasaran antara lain : Resistor
Carbon, Wirewound, dan Metal Film. Ada juga Resistor yang dapat diubah-ubah nilai resistansinya antara lain : Potensiometer dan Trimpot. Selain itu
ada juga Resistor yang nilai resistansinya berubah bila terkena cahaya
namanya LDR ( Light Dependent Resistor ) dan Resistor yang yang nilai
resistansinya berubah tergantung dari suhu disekitarnya namanya NTC (
Negative Thermal Resistance ).
Tabel 2.5. Warna Resistor
Warna Cincin Cincin I
Angka ke-1
Sumber:ht t p:/ / w w w .t ogaye.it go.com/ art ikel.html
Untuk resistor jenis karbon maupun metalfilm biasanya digunakan
resistor. Kode-kode warna itu melambangkan angka ke-1, angka ke-2, angka
perkalian dengan 10 ( multiflier ), nilai toleransi kesalahan, dan nilai qualitas
dari resistor. Kode warna itu antara lain Hitam, Coklat, Merah, Orange, Kuning, Hijau, Biru, Ungu, Abu-abu, Putih, Emas dan Perak. Warna hitam
untuk angka 0, coklat untuk angka 1, merah untuk angka 2, orange untuk
angka 3, kuning untuk angka 4, hijau untuk angka 5, biru untuk angka 6,
ungu untuk angka 7, abu-abu untuk angka 8, dan putih untuk angka 9.
Sedangkan warna emas dan perak biasanya untuk menunjukan nilai toleransi
yaitu emas nilai toleransinya 10 %, sedangkan perak nilai toleransinya 5 %.
2.7. Kondensator atau Kapasitor
Kapasitor adalah komponen elektronika yang dapat menyimpan muatan
listrik. Struktur sebuah kapasitor terbuat dari 2 buah plat metal yang dipisahkan
oleh suatu bahan dielektrik. Bahan-bahan dielektrik yang umum dikenal
misalnya udara vakum, keramik, gelas dan lain-lain. Jika kedua ujung plat metal
diberi tegangan listrik, maka muatan-muatan positif akan mengumpul pada salah
satu kaki (elektroda) metalnya dan pada saat yang sama muatan-muatan negatif
terkumpul pada ujung metal yang satu lagi.
Gambar 2.8. Wujud Asli Kapasitor
Muatan positif tidak dapat mengalir menuju ujung kutup negatif dan
sebaliknya muatan negatif tidak bisa menuju ke ujung kutup positif, karena
terpisah oleh bahan dielektrik yang non-konduktif. Muatan elektrik ini "tersimpan" selama tidak ada konduksi pada ujung-ujung kakinya. Di alam
bebas, phenomena kapasitor ini terjadi pada saat terkumpulnya muatan-muatan
positif dan negatif di awan.
Berdasarkan kegunaannya kondensator di bagi menjadi :
1. Kondensator tetap (nilai kapasitasnya tetap tidak dapat diubah)
2. Kondensator elektrolit (Electrolit Condenser = Elco)
3. Kondensator variabel (nilai kapasitasnya dapat diubah-ubah)
Gambar 2.10. Kapasitor Berukuran Kecil
Kapasitansi didefenisikan sebagai kemampuan dari suatu kapasitor untuk
dapat menampung muatan elektron. Coulombs pada abad 18 menghitung bahwa 1
coulomb = 6.25 x 1018 elektron. Kemudian Michael Faraday membuat postulat
bahwa sebuah kapasitor akan memiliki kapasitansi sebesar 1 farad jika dengan
tegangan 1 volt dapat memuat muatan elektron sebanyak 1 coulombs. Dengan
rumus dapat ditulis :
Q = C.V (2.1)
ket :
Q = Muatan elektron dalam C (coulomb)
C = Nilai kapasitansi dalam F (farads)
Untuk rangkain elektronik praktis, satuan farads adalah sangat besar
sekali. Umumnya kapasitor yang ada di pasar memiliki satuan uF (10-6 F), nF
(10-9 F) dan pF (10-12 F). Konversi satuan penting diketahui untuk memudahkan membaca besaran sebuah kapasitor. Misalnya 0.047uF dapat juga dibaca sebagai
47nF, atau contoh lain 0.1nF sama dengan 100pF.
1 Farad = 1.000.000 µF (mikro Farad)
1 µF = 1.000.000 pF (piko Farad)
Fungsi kapasitor adalah sebagai berikut :
1. Sebagai filter (penyaring) dalam rangkaian Power Supply,
2. Sebagai Pembangkit frekuensi dalam rangkaian antena ataupun dalam
rangkaian lainnya,
3. Sebagai kopling antara rangkaian yang satu dengan rangkaian yang lain,
4. Menghilangkan Loncatan api (bouncing) bila saklar dari beban di pasang.
5. Menghemat daya listrik,
6. Meredam Noise, dll
Tipe Kapasitor :
1. Kapasitor Electrostatic
2. Kapasitor Electrolytic
2.7.1. Kondensator Tetap
Kondensator tetap umumnya mempunyai dielktrikum mika, kertas
parafin dan keramik seperti kondensa dan kerafar. Kondensator tetap
merupakan kondensator yang mempunyai kapasitas tetap dalam menyimpan
elektron (tenaga listrik), misalnya kondensator mika, kondensator keramik,
kondensator milar, kondensator MKM dan kondensator elektrolit.
Kondensator tetap seperti kondensator mika, kondensator kertas, kondensator
keramik , kondensator milar, kondensator MKM dan kondensator polyster
diberi simbol :[10]
Gambar 2.11. Kondensator Polyster
Sedangkan kondensator elektrik diberi symbol
Bentuk-bentuk kondensator diperlihatkan gambar di bawah ini
:
2.7.2. Kondensator Tidak Tetap
Sedangkan yang dimaksud dengan kondensator tidak tetap adalah
disebut juga varco(variable condensator) yang dilambangkan dengan huruf
“vc” atau “vr” saja adalah kondensator yang nilai kapasitasnya dapat di
ubah atau diatur sesuai dengan keperluan. Biasanya hanya berkisar antara 0
sampai dengan 500Pf, komponen ini biasanya hanya diergunakan pada
rangkaian elektronika radio, dan jarang sekali di pakai di dalam
proyek-proyek lain.[10]
2.7.3. Prinsip Dasar dan Spesifikasi elektriknya
Kapasitor adalah komponen elektronika yang dapat menyimpan
muatan listrik. Struktur sebuah kapasitor terbuat dari 2 buah plat metal yang
dipisahkan oleh suatu bahan dielektrik. Bahan-bahan dielektrik yang umum
dikenal misalnya udara vakum, keramik, gelas dan lain-lain. Jika kedua
ujung plat metal diberi tegangan listrik, maka muatan-muatan positif akan
mengumpul pada salah satu kaki (elektroda) metalnya dan pada saat yang
sama muatan-muatan negatif terkumpul pada ujung metal yang satu lagi.
Muatan positif tidak dapat mengalir menuju ujung kutup negatif dan
sebaliknya muatan negatif tidak bisa menuju ke ujung kutup positif, karena
terpisah oleh bahan dielektrik yang non-konduktif. Muatan elektrik ini
“tersimpan” selama tidak ada konduksi pada ujung-ujung kakinya. Di alam
bebas, phenomena kapasitor ini terjadi pada saat terkumpulnya
muatan-muatan positif dan negatif di awan.[10]
2.7.4. Kapasitansi
Kapasitansi atau kapasitans adalah ukuran jumlah muatan listrik yang
disimpan (atau dipisahkan) untuk sebuah potensial listrik yang telah
sebuah kapasitor dua lempeng/pelat/keping. Jika muatan di
lempeng/pelat/keping adalah +Q dan –Q, dan V adalah tegangan listrik antar
lempeng/pelat/keping, maka rumus kapasitans adalah:[11]
(2.2)
C adalah kapasitansi yang diukur dalam Farad Q adalah muatan yang diukur dalam coulomb V adalah voltase yang diukur dalam volt
2.7.5. Tipe Kapasitor
Kapasitor terdiri dari beberapa tipe, tergantung dari bahan dielektriknya.
Untuk lebih sederhana dapat dibagi menjadi 3 bagian, yaitu kapasitor
electrostatic, electrolytic dan electrochemical.[12]
2.7.6. Kapasitor Electrostatisc
Kapasitor electrostatic adalah kelompok kapasitor yang dibuat dengan
bahan dielektrik dari kramik, film dan mika. Keramik dan mika adalah
bahan yang popular serta murah untuk membuat kapasitor yang
kapasitansinya kecil. Tersedia dari besaran pF sampai mF, yang biasanya
untuk aplikasi rangkaian yang berkenaan dengan frekuensi tinggi. Termasuk
kelompok bahan dielektrik film adalah bahan-bahan matrial seperti
polyester atau dikenal dengan sebutan mylar, polystyrene, polyprophylene, polycarbonate, metalized paper dan lainya. Mylar, MKM, MKT, adalah
contoh sebutan merek dagang untuk kapasitor dengan bahan-bahan
dielektrik film. Umumnya kapasitor kelompok ini adalah non polar.
2.7.7. Kapasitor Electrolytic
Kelompok kapasitor electrolytic terdiri dari kapasitor-kapasitor yang
bahan dielectriknya adalah lapisan metal oksida. Umumnya kapasitor yang
termasuk kelompok ini adalah kapasitor polar dengan tanda + dan _ di
proses pembuatannya menggunakan elektrolisa sehingga terbentuk kutub
positif anoda dan kutub negative katoda. Telah lama diketahui beberapa
metal seperti tantalum, aluminium, magnesium, titanium, niobium, zirconium dan seng permukaanya dapat dioksidasi sehingga membentuk
lapisan metal-oksida. Lapisan oksida ini terbentuk melalui proses
elektrolisa, seperti pada proses penyepuhanemas. Elektroda metal yang
dicelup ke dalam larutan elektrolitt lalu diberi tegangan positif ke dalam
larutan elektrolit lalu diberi tegangan positif dan larutan electrolit diberi
tegangan negative. Oksigen pada larutan electrolyte terlepas dan
mengoksidasi permukaan plat metal. Contohnya, jika digunakan aluminium
, maka akan terbentuk lapisan aluminium oksida (A10) pada permukaanya.
Gambar 2.14.Kapasitor elco
Dengan demikian berturut-turut plat metal (anoda), lapisan metal
oksida dan electrolyte (kanoda) membentuk kapasitor. Dalam hal ini lapisan
metal-oksida sebagai di elektrik dari rumus (2) diketahui besar
Kapasitansi berbanding terbalik dengan tebal elektrik. Lapisan
metal-oksida ini sangat tipis, sehinggah dengan demikian dapat dibuat
kapasitor yang kapasitansinya cukup besar. Karena alasan ekonomis dan
praktis, umumnya bahan metal yang banyak digunakan adalah aluminium
untuk mendapatkan permukaan yang luas, bahan plat aluminium ini
biasanya digulung radial sehingga dengan cara itu dapat diperoleh kapasitor
yang kapasitansinya besar. Sebagai contoh 100uf, 470uf, 4700uf dan lain-lain, yang sering juga disebut kapasitor elco.
Bahan electrolyte pada kapasitor tantalum ada yang cair tetapi ada
juga yang padat disebut electrolyte padat, tetapi sebenarnya bukan larutan
electrolyte yang menjadi elektroda negative-nya, melainkan bahan lain yaitu
manganese-dioksida. Dengan demikian kapasitor jenis ini bisa memiliki
kapasitansi yang besar namun menjadi lebih ramping dan mungil selain itu
seluruhnya padat maka waktu kerjanya (lifetime) menjadi tahan lama
kapasitor tipe ini juga memiliki arus bocor yang sangat kecil jadi dapat
dipahami mengapa kapasitor tantalum menjadi relative mahal.
2.7.8.Kapasitor Electrochemical
Satu jenis kapasitor lain adalah kapasitor electrohemical. Termasuk
kapasitor jenis ini adalah battery dan accu. Pada kenyataanya battery dan
accu adalah kapasitor yang sangat baik, karena memiliki kapasitansi yang
besar dan harus bocor yang sangat kecil. Tipe kapasitor jenis ini juga masih
dalam pengembangan untuk mendapatkan kapasitensi yang besar namun
kecil dan ringan, misalnya untuk aplikasi mobil elektrik dan telpon selular
2.8. LED(Ligh Emiting)
LED adalah semikonduktor khusus yang dirancang untuk memancarkan
cahaya apabila dialiri arus. Bila diode diberi prategangan maju, electron-electron
bebas akan jatuh kedalam lubang-lubang (hole) disekitar persambungan. Ketika
seluruh dari tingkat energy lebih tinggi ketingkat energy lebih rendah
electron-electron bebas tersebut akan mengeluarkan energy dalam bentuk radiasi. Pada
pemancar cahaya LED , energy ini memancarkan cahaya. LED ini dapat
menggantikan lampu-lampu.
Gambar 2.15. Simbol Resistor.
Pijar dalam beberapa pemakaian karena teganganya yang rendah, umurnya yang
panjang, dan dari mati ke hidup dan sebaliknya berlangsung cepat. Dioda
biasanya terbuat dari bahan silicon , yaitu bahan buram yang menghalangi
keluarnya cahaya. Sedangkan LED tersebut dari unsur-unsur seperti
gallium,arsen, dan fasfor, warna LED diantaranya adalah merah,hijau, kuning,
biru, jingga atau bening. Penurunan tegangan LED adalah dari 1,5 V sampai 2,5
V untuk arusnya antara 10 dan 150 mA(malvino,1985). Dalam rangkaian ini
menggunakan LED sebanyak 7x5 perbloknya x 10 blok jadi total keseluruhan
ada 350 buah led sebagai pengganti dot matrik.
2.9. CPU
CPU atau merupakan bagian terpenting dalam sebuah sistem komputer,
dapat dikatakan bahwa CPU merupakan otak dari komputer itu sendiri. Sebuah
komputer paling canggih sekalipun tidak akan berarti tanpa adanya CPU yang
terpasang di dalamnya. Dalam kesehariannya CPU memiliki tugas utama untuk
mengolah data berdasarkan instruksi yang ia peroleh. CPU sendiri sebenarnya
masih terbagi atas beberapa komponen yang saling bekerja sama untuk
membentuk suatu unit pengolahan. Terdapat empat komponen utama penyusun
1. Arithmetic and Logic Unit (ALU)
2. Control Unit
3. Registers
4. CPU Interconnections
2.9.1. Arithmetic and Logic Unit (ALU)
Arithmetic and Logic Unit atau sering disingkat ALU saja dalam bahasa
Indonesia kira-kira berarti Unit Logika dan Aritmatika. Bagian ini
mempunyai tugas utama untuk membentuk berbagai fungsi pengolahan data
komputer. Sering juga disebut sebagai bahasa mesin, karena terdiri dari
berbagai instruksi yang menggunakan bahasa mesin. ALU sendiri juga masih
terbagi menjadi dua komponen utama, yaitu
1. arithmetic unit (unit aritmatika), bertugas untuk menangani pengolahan
data yang berhubungan dengan perhitungan, dan
2. boolean logic unit (unit logika boolean), bertugas menangani berbagai
operasi logika.
2.9.2. Control Unit
Control Unit atau Unit Kendali, mempunyai tugas utama untuk
mengendalikan operasi dalam CPU dan juga mengontrol komputer secara
keseluruhan untuk menciptakan sebuah sinkronisasi kerja antar komponen
dalam melakukan fungsinya masing-masing. Di samping itu, control unit juga
bertugas untuk mengambil instruksi-instruksi dari memori utama dan
2.9.3. Register
Registers (jamak, dalam bahasa Indonesia menjadi register-register atau
banyak register) merupakan media penyimpanan internal CPU yang
digunakan saat pengolahan data. Registers merupakan media penyimpanan
yang bersifat sementara, artinya data hanya akan berada dalam registers saat
data tersebut dibutuhkan selama komputer masih hidup, ketika suatu data
tidak diperlukan lagi maka ia tidak berhak lagi berada di dalam
registers, dan ketika komputer dimatikan maka semua data yang berada di
dalamnya akan hilang.
2.9.4. CPU Interconections
CPU Interconnections merupakan sistem koneksi dan bus yang
menghubungkan komponen internal CPU dengan bus-bus eksternal CPU.
Unit kontrolyang mampu mengatur jalannya program. Komponen ini sudah
pasti terdapat dalam semua CPU. CPU bertugas mengontrol komputer
sehingga terjadi sinkronisasi kerja antarkomponen dalam menjalankan
fungsi-fungsi operasinya. termasuk dalam tanggung jawab unit kontrol
adalah mengambil intruksi-intruksi dari memori utama dan menentukan
jenis instruksi tersebut. Bila ada instruksi untuk perhitungan aritmatika atau
perbandingan logika, maka unit kendali akan mengirim instruksi tersebut ke
ALU. Hasil dari pengolahan data dibawa oleh unit kendali ke memori utama
lagi untuk disimpan, dan pada saatnya akan disajikan ke alat output.
Komponen internal CPU diantaranya.[13]
1.Arithmetic and Logic Unit (ALU),
2.Control Unit,
3.Registers, dan
2.10.Power Suplay
Power supply unit atau disingkat PSU adalah komponen komputer yang
memasok listrik ke komponen lain dalam komputer. Lebih khusus, power supply
unit biasanya dirancang untuk mengkonversi arus linstrik bolak-balik (AC
220-240V) menjadi arus listrik DC tegangan rendah untuk dapat dikonsumsi oleh
komponen internal komputer. Beberapa pasokan listrik memiliki tombol untuk
mengubah antara 230 V dan 115 V. Model lainnya memiliki sensor otomatis
untuk beralih tegangan input secara otomatis, atau dapat menerima tegangan
antara batas-batas tertentu.
Pasokan daya komputer yang paling umum digunakan saat ini adalah
bentuk ATX (Advanced Technology Extended). Hal ini memungkinkan pasokan
daya yang dapat saling berbeda bagi berbagai komponen di dalam komputer.
ATX juga dirancang untuk menghidupkan dan mematikan menggunakan sinyal
dari motherboard, dan memberikan dukungan untuk fungsi-fungsi modern
seperti modus stand by yang tersedia di banyak komputer. Spesifikasi terbaru
dari PSU ATX standar sampai pada awal 2010 adalah versi 2.xx.
Pasokan listrik Komputer dinilai berdasarkan daya keluaran maksimum.
Rentang daya yang tipikal adalah dari 300 W sampai 500 W untuk sistem
komputer rumah biasa. Dengan tuntutan kebutuhan pasar maka Power supply
yang digunakan oleh kebanyakan para gamer saat ini mulai dari 450 W sampai
1400 W. Sementara untuk server bisa menggunakan power supplu unit dengan
daya hingga 2 kW.
Peringkat kekuatan power supply PC tidak bersertifikat resmi hanya
sesuai dengan klaim masing-masing produsen. Artinya jika mereka menulis 500W maka belum pasti bahwa dayanya memang konstan 500W, bisa jauh lebih
rendah. Oleh karena itu ketika membeli power supply unit belilah yang
Gambar 2.16. Power Suplay
2.10.1.Efisiensi Power Suply Unit
Pasokan listrik Komputer umumnya sekitar 70-75% efisien. Itu berarti
agar power supply 75% efisien untuk menghasilkan output 75 W DC akan
memerlukan 100 W input AC dan menghilangkan sisanya 25 W berupa
panas. Pasokan listrik yang berkualitas tinggi dapat lebih dari 80% efisien;
PSU yang efisien energi lebih sedikit membuang energi menjadi panas, dan
membutuhkan aliran udara kurang dingin, dan sebagai hasilnya akan lebih
tenang. Konon kabarnya pasokan listrik Server Google lebih dari 90%
efisien, pada 2 server HP pasokan listriknya telah mencapai efisiensi 94%.
Standar PSUs yang dijual workstation server memiliki efisiensi sekitar 90%,
pada tahun 2010.
Sangat penting untuk menyesuaikan kapasitas power supply dengan
kebutuhan daya komputer. Efisiensi energi pasokan listrik akan turun secara
signifikan pada beban rendah. Umumnya efisiensi puncak beban sekitar
50-75%. Kurva bervariasi dari satu model ke model lain. Sebagai aturan praktis
untuk pasokan listrik standar biasanya tepat untuk membeli power supply
yaitu bahwa konsumsi yang dihitung dari komputer seseorang adalah sekitar
60% dari kapasitas nilai pasokan yang disediakan. Artinya konsumsi
maksimum yang dihitung dari komputer tidak melebihi peringkat kapasitas
2.11. Bascom 8051
Bascom 8051 adalah program basic compiler berbasis windows untuk
mikrokontroller keluarga 8051 seperti AT89C52,AT89S51,AT89S52 dan lain
sebagainya. Bascom 8051 merupakan pemrograman dengan bahasa tingkat
tinggi. Menggunakan Bascom 8051(Wahyudin,Didin,2007:27).
Gambar 2.17. Bascom 8051
Pada umumnya bahasa yang dipergunakan untuk memprogram
mikrokontroler adalah bahasa Assembly. Bahasa Assembly adalah bahasa
pemrograman tingkat menengah, dimana program yang dibuat lebih mendekati
bahasa mesin, sehingga pemenfaatan memori dapat dilakukan secara optimal,
namun di sisi lain pemrogramannya menjadi relatif sulit.[14]
Karena bahasa yang dipergunakan Bascom, yaitu Basic, adalah bahasa
tingkat tinggi, maka pemrograman menggunakan Bascom sangatlah mudah
untuk dipelajari. Sintaksnya tidak jauh berbeda dari Basic pada umumnya,
misalnya do-loop, for-next, while-wend, goto, gosub dan sebagainya. Selain itu
Bascom dilengkapi dengan fungsi-fungsi khusus, misalnya LCD untuk
menampilkan karakter pada LCD, PRINT untuk mengirimkan karakter ke PC
sinkron dan lain sebagainya. Fungsi-fungsi khusus tersebut jika dituliskan dalam
bahasa Assembly akan menjadi lebih panjang dan rumit, terutama karena kita
harus mengetahui register-register yang ada pada mikrokontroler .
2.11.1.Bahasa Pemrograman Mikrokontroler
Pembuatan program mikrokontroler dalam bahasa tingkat-tinggi
(high-level language, disingkat HLL), misalnya bahasa ‘C’ atau ‘BASIC’,
memungkinkan kita mengurangi waktu pengembangan secara signifikan
jika dibandingkan dengan Bahasa Assembly. Ada juga yang mengatakan,
seorang perancang yang sudah beperngalaman bisa menuliskan sejumlah
baris kode-kode yang sama per hari baik dalam C dan Assembly. Namun
perlu diingat bahwa, sebaris kode dalam C sama dengan sejumlah kode atau
baris dalam Assembly.[15]
Gambar 2.18.Alur Pemrograman Mikrokontroller
Biasanya, sebuah program yang ditulis dalam HLL akan lebih
terstruktur dibandingkan program yang sama yang ditulis dalam Assembly.
Dengan demikian, akan lebih mudah melakukan pelacakan (debugging)
Kebanyakan arsitektur mikrokontroler 8-bit dilengkapi dengan sebuah
kompailer. Bagaimanapun juga, ada perbedaan besar dalam bagaimana
efisiensi arsitektur untuk HLL, dan bagaimana kode-kode C disusun agar efisien untuk suatu arsitektur mikrokontroler tertentu. Ada yang
mengatakan bahwa arsitektur berbasis akumulator, seperti 8051 dari Intel,
bekerja dengan baik menggunakan variabel-variabel global, sedangkan
arsitektur berbasis register, seperti AVR-nya Atmel, bekerja dengan baik
menggunakan variabel-variabel lokal.
Keuntungan menggunakan variabel-variabel lokal adalah kode-kode
menjadi lebih terstruktur, dan portabilitas serta pemeliharaan kode menjadi
lebih sederhana dibandingkan penulisan kode/program yang melibatkan
banyak variabel global. Selain itu, penggunaan kembali kode akan menjadi
lebih mudah jika ditulis dengan melibatkan variabel-variabel lokal. Jika
semua parameter yang keluar masuk suatu subrutin didefinisikan didalam
pemanggilan fungsi, maka akan sangat mudah untuk menggunakan subrutin
tersebut untuk proyek baru lainnya.
Kelemahan utama penulisan program dalam HLL adalah programnya
menjadi lebih besar dan lambat dibandingkan jika ditulis dalam Bahasa
Assembly. Bagaimanapun juga, seiring dengan jumlah baris program yang
bertambah, gap ukuran antara kode yang ditulis dalam HLL dan yang ditulis
dalam Assembly menjadi mengecil. Untuk para pengguna AVR, titik temu
(antara HLL dan Assembly) kesamaan ukuran sekitar 4K. Program yang
ditulis dalam HLL umumnya tidak akan lebih cepat dibandingkan dituliskan
dalam Assembly. Jika kecepatan eksekusi pada beberapa bagian program
menjadi bagian yang kritis, solusinya (biasanya) adalah menuliskan bagian
kritis tersebut dalam Assembly, sisanya (kerangka program dan
2.11.2.Bahasa Pemrograman BASCOM-8051
Bascom-8051 adalah program kompiler menggunakan Basic berbasis
Windows yang dapat digunakan untuk mikrokontroler keluarga 8051,
misalnya AT89S51/52/55 dan AT89S2051/4051. Versi demo Bascom-8051
yang dikembangkan oleh MCS Electronic ini dapat diunduh di
www.mcselec.com secara bebas. Untuk versi demo kode yang dapat dibuat
dan dijalankan mikrokontroler dibatasi besarnya maksimal 4 kByte, namun
hal ini tidaklah menjadi masalah karena sesuai dengan kapasitas
penyimpanan program internal pada AT89S51.
2.11.3.Bagian-Bagian Basic Compiler
Ketika program Basic Compiler (BASCOM) 8051 di jalankan maka
jendela berikut akan tampil. File yang terakhir dibuka juga akan di
tampilkan.[14]
Gambar 2.19. form BASCOM-8051
Fungsi-fungsi menu pada BASCOM-8051 adalah:
2. Open File : Membuak file(Ctrl+N).
3. File Close : Untuk menutup program yang telah
terbuka(Ctrl+O).
4. File Save : Untuk menyimpan file(Ctrl+S).
5. Print Preview : Untuk melihat tampilan sebelum dicetak.
6. Print : Untuk mencetak document(Ctrl+P).
7. Exit : Untuk keluar dari program.
8. Program Compile : Untuk mengcompile program yang dibuat
outputnya bias berupa *.hex,*.bin dan lain-lain(F7).
9. Syntax Check : Untuk memeriksa kesalahan bahasa(Ctrl+F7).
10.Show Result : Untuk menampilkan hasil kompilasi
program(Ctrl+W)
Tabel 2.6. Info Show Result
Info Keterangan
Compiler Versi compiler yang digunakan
Processor Menampilkan target prosesor yang
dipilih
Date and Tme Tanggal dan waktu kompilasi
Baud Timer Timer yang digunakan untuk
menghasilkan baudrate; 0 ketika tidak ada timer yang digunakan Baud Rate dan Frekuensi Baud rate yang dipilih dan Kristal
yang digunakan
Sumber: http://www.atmel.com/dyn/resources/prod_documents/doc0313.pdf
2.11.4.Program Simulasi
BASCOM-8051 menyediakan pilihan yang dapat mensimulasikan
Gambar 2.20. Jendela Program Simulasi
Tombol play berfungsi memulai simulasi. Untuk menghentikan
proses simulasi yang sedang berjalan, gunakanlah tombol stop.
Layar biru ditengah merupakan simulasi layar komputer ketika
menggunakan perintah PRINT atau INPUT. Kita dapat melihat perubahan
variabel yang digunakan dalam program ketik pada kolom nama variabel.
Ketika program dijalankan, maka setiap perubahan variable akan
ditampilkan. Bagian lainnya adalah nilai register-register akan ditampilkan
ketika simulasi dijalankan.
Tombol berikut merupakan simulasi interrupt dari mikrokontroler .
Gambar 2.21. Tombol-tombol interrupt
Dengan menekan tombol di atas, missal INT0, program simulasi akan
mendeteksi adanya interrupt 0. Dengan catatan, interrupt 0-nya harus
diaktifkan terlebih dahulu.
Agar dapat melihat perubahan data pada setiap port atau ketika kita
ingin memberikan input pada pin-pin tertentu mikrokontroler , maka
Gambar 2.22. Jendela Simulasi LCD
Bagian atas mensimulasikan perintah-perintah yang berhubungan
dengan LCD, sebaliknya deretan LED yang dibawah menunjukkan kondisi masing-masing port yang dihubungkan secara common ground. Jika kita
ingin menggunakan hardware common anode, maka tanda checklist
dihilangkan. Untuk memberikan input pada pin-pin tertentu, kita tinggal
menekan LED yang diinginkan, maka program simulasi melakukan program
yang sedang di simulasikan. Misalnya kita menggunakan port P1.7 sebagai
input, maka kita menekan LED pada kolom 7 dan baris P1 ketika program
telah menyala.
2.11.5.Compiler
BASCOM-8051 merupakan compailer program yang digunakan untuk
mengubah bahasas c menjadi bahasa hex. BASCOME 8051 juga
menyediakan pilihan untuk memodifikasi pilihan-pilihan pada kompilasi.
Gambar 2.23. Jendela Compiler
Keterangan dari pilihan sebagai berikut :
Tabel 2.7. Keterangan Menu Pilhan
Tab Menu Option Keterangan
Output Binary file Menghasilkan file biner
HEX file Menghasilkan file hexa-decimal
DEBUG file Menghasilkan file debug dam mab yang diperlukan program simulator
Report file Menghasilkan file report Eror file Menghasilkan file eror
Old intel file Menghasilkan file old intel hex yang digunakan beberapa monitor
Comunication Baudrate Baud rate yang digunakan untuk komunikasi RS232 dengan computer Frequency Frekuensi Kristal yang digunakan
mikrokontroler
2.11.6.Hardware BASCOM-8051
Bascom 8051 menyediakan rutin-rutin yang mengatur hubungan
mikrokontroller dengan komponen hardware tambahan lainya. Hardware
tersebut harus dihubungkan dengan port yang telah di tentukan sebelumnya
secara default oleh Bascom maupun oleh pengguna.
(Wahyudin,Didin,2007). Pengaturan ini dapat dilakukan dengan mengubah
pilihan pada bagian compiler yang telah dijelaskan sebelumnya. Sebagai
contoh peraga Liquid Crystal Display (LCD) harus dihubungkan dengan
pin-pin berikut:
Tabel 2.8. Alokasi Port Untuk LCD
Praga LCD Port Pin
Sumber:ht t p:/ / w w w .scribd.com/ doc/ 88549944/ 73/ Liquid-Cryst al-Display-LCD
2.11.7.Karakter Dalam BASCOM 8051
Dalam program BASCOM, karakter dasarnya terdiri atas karakter
alphabet (A–Z dan a-z), karakter numerik (0-9), dan karakter special (lihat
Tabel 2.9. Karakter Spesial Pada BASCOM 8051
Karakter Nama Karakter Nama
Blank atau spasi : Colon
Sumber:ht t p:/ / w w w .scribd.com/ doc/ 45793925/ 2/ Dasar-Pemrograman-Bascom-8051
2.11.8.Tipe Data
Setiap variable dalam BASCOM memiliki tipe data yang menunjukkan
daya tampungnya. Hal ini berhubungan dengan penggunaan memori
mikrokontroler . Berikut adalah tipe data pada BASCOM berikut
keterangannya. Setiap variable dalam BASCOM memiliki tipe data yang
menunjukkan daya tampungnya. Hal ini berhubungan dengan penggunaan
memori mikrokontroler . Berikut adalah tipe data pada BASCOM berikut
Tabel 2.10. Tipe Data Pada BASCOM
Tipe Data
Ukuran
Range
Bit 1/8 -
Byte 1 0-255
Interger 2 -32,76-+32,767
Word 2 0-65535
Long 4 -21474836648-+2147483647
Single 4 -
Stringe Hingga 254 byte -
Sumber:ht t p:/ / fahmizaleeit s.w ordpress.com/ 2010/ 04/ 09/
mengenal-bahasa-basic-pada-bascom-avr/
2.11.9.Variabel
Variabel dalam sebuah pemrograman befungsi sebagai tempat penyimpan data atau penampung data sementara, misalnya menampung hasil
perhitungan, menampung data hasil pembacaan register, dan lain sebagainya.
Variabel merupakan pointer yang menunjuk pada alamat memori fisik di
mikrokontroler .
Sebelum digunakan, maka variabel harus dideklarasikan terdahulu. Contoh
cara mempercepat pendeklarasian sebuah variabel yang banyak adalah:
Dim nama as byte, tombol1 as integer
Dim tombol2 as bit, tombol4 as word
Dim kas as string *10
2.11.10. Alias
Dengan menggunakan alias, variabel yang sama dapat diberikan nama
yang lain. Tujuannya adalah mempermudah proses pemrograman.
Umumnya, alias digunakan untuk mengganti nama variabel yang telah baku,
LEDBAR alias P1
Tombol1 alias P0.1
Tombol2 alias P0.2
2.11.11.Kontrol Program
Keunggulan sebuah pemrograman terletak pada control program. Dengan
kontrol program, kita akan mengendalikan alur sebuah program dan menentukan
apa yang harus dilakukan oleh sebuah program ketika menemukan kondisi
tertentu. Kontrol program meliputi kontrol pertimbangan kondisi dan keputusan,
kontrol pengulangan, serta kontrol alternatif. BASCOM menyediakan beberapa
kontrol program yang sering digunakan untuk menguji sebuah kondisi,
perulangan, dan pertimbangan sebuah keputusan.
DO...LOOP
Perintah Do...Loop digunakan untuk mengulangi sebuah blok pernyataan
terus-menerus. Sintaksisnya sebagai berikut :
DO
<blok pernyataan>
Loop
2.11.12.Konstanta
Konstanta adalah besaran yang nilainya tetap. Besaran ini biasanya
berupa bilangan. Dalam matematika konstanta berarti lambang untuk
menyatakan objek yg sama dalam keseluruhan operasi matematika.
Konstanta merupakan suatu nilai tetap, berlawanan dengan variabel yang
berubah-ubah. Konstanta digunakan dalam berbagai disiplin ilmu
sains. Konstanta adalah besaran yang nilainya tetap. Besaran ini biasanya
berupa bilangan. Dalam matematika konstanta berarti lambang untuk menyatakan objek yg sama dalam keseluruhan operasi matematika.
Konstanta merupakan suatu nilai tetap; berlawanan dengan variabel yang
Contoh membuat kontanta di pemrograman bahasa c sebagai berikut:
Dim A As Const 5
Dim Bl As Const &H1001 Cara lain yang paling mudah:
Const Cbyte=&HF
Const Cint =-1000
Const Csingle=1.1
Const Cstring=”mencoba”
2.11.13. Array
Array adalah kumpulan dari nilai-nilai data bertipe sama dalam urutan
tertentu yang menggunakan sebuah nama yang sama. Nilai-nilai data di suatu
larik disebut dengan elemen-elemen larik. Letak urutan dari suatu elemen
larik ditunjukkan oleh suatu subscript atau suatu index.Menurut dimensinya,
array dapat dibedakan menjadi :
1. Array berdimensi satu
1.Setiap elemen array dapat diakses melalui index
2.Index array secara default dimulai dari 0
3.Deklarasi array :Tipe_array nama_array[ukuran]
2. Array berdimensi dua
Array dua dimensi merupakan array yang terdiri dari m buah baris dan n
buah buah kolom. Bentuknya dapat berupa matriks atau tabel.
Deklarasi array :Tipe_array nama_array [baris][kolom]
Array multidimensi merupakan array yang mempunyai ukuran lebih dari dua. Bentuk pendeklarasian array multidimensi sama saja dengan deklarasi
array dimensi satu maupun dimensi dua.
Deklarasi array : Tipe_array nama_array [ukuran 1][ukuran 2] . . . [ukuran N]
Perbedaan array dengan tipe data lain :
1. Array dapat mempunyai sejumlah nilai, sedangkan tipe data lain hanya
dihubungkan dengan sebuah nilai saja.
2. Array dapat digunakan untuk menyimpan beberapa nilai tipe data lain
data (char, int, float, double, long, dll) yang sama dengan satu nama saja.
3. Selain itu, array dapat berupa satu dimensi atau lebih, sedangkan tipe
data lain hanya berupa satu dimensi.
2.11.14.Operasi-Operasi dalam BASCOM 8051
Pada bagian ini akan dibahas tentang bagaimana cara
menggabungkan, memodifikasi, membandingkan atau mendapatkan
informasi tentang sebuah pernyataan dengan membuat atau menggunakan
operator-operator yang tersedia di BASCOM seperti berikut:
1. Operator Aritmatika
Operator aritmatika ini sangatlah penting digunakan dalam
perhitungan ,yang termasuk operator aritmatika adalah
Tabel 2.11. Operator Aritmatika
OPERATOR KETERANGAN
+ Penjumlahan
- Pengurangan
* Perkalian
/ Pembagian
2. Operator Relasi
Digunakan untuk membandingkan nilai suatu angka, hasilnya
dapat dipergunakan untuk membuat keputusan sesuai dengan program yang telah kita buat. Yang termasuk relasi adalah:
Tabel 2.12. Operator Relasi
OPERATOR RELASI PERNYATAAN
\
Sumber:ht t p:/ / zuriat iskom.tripod.com/ operat or.ht ml
3. Operator Logika
Digunakan untuk menguji sebuah kondisi atau untuk
memanipulasi bit dan operasi Boolean. Dalam BASCOM ada
empat buah operator logika yaitu AND,OR, NOT, dan XOR .
Operator logika ini juga bias digunakan untuk menguji sebuah
byte dengan pola bit tertentu, sebagai contoh:
Dim A As Byte
Kontrol program merupakan sebuah istilah dalam bahasa
pemrograman yang berarti melakukan pengontrolan pada sebuah program
pengulangan, dan peloncatan program. Fungsi dari kontrol sangat penting
dalam menulis program karena dapat menghemat penulisan program.
2.12.1.IF..THEN
Perintah kondisi atau perintah if then perintah yang digunakan
untuk melakukan pengecekan suatu kondisi abila kondisi tersebut
dipenuhi. Perintah ini berhubungan erat dengan operasi logika dan dapat
ditulis dalam dua bentuk yaitu if dengan satu baris perintah saja dan if
dengan banyak baris perintah. If dengan satu baris perintah digunakan untuk
melakukan pengecekan terhadap satu kondisi saja. Alur logika statement If ..
then dapat dilihat pada pseudocode berikut ini :
if <kondisi1 benar> then <lakukan aksi1>
else
If <kondisi2 benar> then <lakukan aksi 2>
else
if <kondisi3 benar> then <lakukan aksi 3>
else
……….
………
if <kondisi_n benar> then <lakukan aksi_n>
else
<lakukan aksi_n+1>;
Pseaudocode di atas dapat dijelaskan sebagai berikut :
1. Jika kondisi1 bernilai true maka aksi1 akan dijalankan, kemudian keluar
dari statement if ..then tanpa melakukan pengujian terhadap if ..then
berikutnya.
kondisi2. Jika kondisi2 bernilai true maka aksi2 akan dijalankan, kemudian
keluar dari statement if ..then, tanpa melakukan pengujian terhadap if ..then
berikutnya.
3. Jika kondisi1 dan kondisi2 bernilai false maka akan dilakukan pengujian
terhadap kondisi3. Jika kondisi3 bernilai true maka aksi3 akan dijalankan
kemudian keluar dari statement if ..then, tanpa melakukan pengujian terhadap
if ..then berikutnya.
4. Jika kondisi1 sampai dengan kondisi_n-1 bernilai false maka akan
dilakukan pengujian terhadap kondisi_n. Jika kondisi_n bernilai true maka
aksi_n akan dijalankan kemudian keluar dari statement if ..then, tanpa
mengerjakan aksi lainnya.
5. Jika kondisi_n bernilai true maka aksi_n akan dijalankan dan jika
kondisi_n bernilai false maka secara otomatis aksi_n+1 akan dijalankan.
Misalkan ada masalah pemrograman sebagai berikut :
Range Nilai Nilai Huruf
Contoh implementasi dari logika diatas adalah sebagai berikut :
If nilai <= 47 then nilai_huruf:=’E’
else
If nilai <= 56 then nilai_huruf=’D’
else
If nilai <= 68 then nilai_huruf:=’C’
else
else
nilai_huruf=’A’;
Hasilnya akan sama dengan perintah seperti berikut :
If (0<=nilai) and (nilai<= 47) then nilai_huruf:=’E’
else
If (47<nilai)and (nilai<= 56) then nilai_huruf:=’D’
else
If (56<nilai) and (nilai<= 68) then nilai_huruf:=’C’
else
If (68<nilai)and (nilai <= 74) then nilai_huruf:=’B’
else
nilai_huruf:=’A';
Jadi dengan mengerti alur logika suatu statement if .. then, kita dapat
memanfaatkan alur logika untuk dapat menuliskan code dengan lebih efektif.
Prinsip tersebut juga berlaku secara umum untuk statement-statement lainnya.
2.12.2.SELECT…CASE
Sebenarnya perintah SELECT CASE hampir sama seperti perintah IF.
Apabila Anda menggunakan banyak sekali perintah ELSEIF. Karena itulah,
dapat menggunakan perintah SELECT CASE sebagai alternatif. Untuk
contohnya ada di bawah ini.
Select Case <variabel>
Case <nilai1>
<kejadian jika variabel = nilai1> Case <nilai2>
<kejadian jika variabel = nilai2>
<kejadian jika variabel = nilaiN>
Case Else
BAB III
METODE PERANCANGAN SISTEM
Alat ini dirancang menggunakan mikrokontroler , dimana didalam
mikrokontroler tersebut telah diisi program yang nantinya dapat diperintah oleh
user. Prinsip kerja alat tersebut adalah pemutus arus listrik sehingga jika benar
memasukan password yang sesuai dengan program yang telah dibuat maka listrik
dapat masuk kedalam power dan sebaliknya jika password yang dimasukan salah
maka listrik tidak dapat masuk kedalam power. Untuk perancangan alat dijelaskan
dibawah sebagai berikut:
3.1. Perancangan Sistem
Masalah keamanan merupakan masalah yang tidak lepas dari dunia
teknologi saat ini. Mulai dari PDA, Notebook, PC, Internet dan produk-produk IT
lain yang membutuhkan suatu system keamanan.
Secara sederhana system ini dibuat untuk membuka atau menyalakan
computer, yang melalui mekanisme memasukan kode-kode pada alat yang dibuat
baru bisa nyala. Kode-kode tersebut sebenarnya sudah ditanam di dalam
mikrokontroler . Alat ini menggunakan mikrokontroler untuk mengolah
password yang diinputkan dan memberikan power ke power supplay. Berikut ini
adalah diagram atau langkah-langkah dari membuka computer dengan password
dengan kode menggunakan keypad 3x4.