Anda di halaman 1dari 45

BAB II

TINJAUAN PUSTAKA

2.1 LED (Light Emite Diode)

Dioda adalah komponen elektronika yang paling


sederhana dari keluarga semikonduktor, dari simbolnya
menunjukkan arah arus dan ini merupakan sifat dioda, bahwa
dioda hanya mengalirkan arus pada satu arah atau arah maju
(forward) sedangkan pada arah sebaliknya (reverse) arus tidak
mengalir, arus hanya mengalir dari kutub Anoda ke kutub
Katoda. Satu sisi dioda disebut Anoda untuk pencatuan positif
(+), dan sisi lainnya disebut Katoda untuk pencatuan negatif
(-), yang dalam pemasangannya tidak boleh terbalik. Secara
fisik bentuk dioda seperti silinder kecil dan biasanya diberi
tanda berupa lingkaran warna putih, yang menandakan posisi
kaki Katoda.

Jenis-jenis dari dioda diantaranya : Dioda Zener, LED,


Infrared, Photodioda dan sebagainya. Dioda zener, biasanya
dipasang pada suatu rangkaian elektronika sebagai pembatas
tegangan pada nilai tertentu. LED (Light Emitting Diode),
yaitu Dioda yang dapat memancarkan sinar, bisa digunakan
sebagai lampu indikator dengan kelebihan yaitu umur aktifnya
sangat lama jika dibandingkan dengan lampu pijar. Infrared,
bentuk fisiknya sama seperti LED, perbedaan terdapat pada
outputnya, dimana infrared hanya memancarkan sinar infra merah
yang pancarannya tidak dapat terlihat oleh mata. Satu lagi
sensor yang digunakan pada alat ini adalah sensor foto dioda.

4
5

LED adalah dioda yang dapat memancarkan cahaya. LED adalah


suatu semi konduktor yang memancarkan cahaya monokromatik yang
tidak koheren ketika diberi tegangan maju. Gejala ini termasuk
bentuk elektroluminesensi. Warna yang dihasilkan bergantung
pada bahan semikonduktor yang dipakai, dan bisa juga dekat
ultraviolet, tampak, atau inframerah.

Gambar 2.3 LED

2.3 PORT DB 25

2.3 DB 25

Port paralel (DB-25) adalah salah satu jenis soket pada


personal komputer untuk berkomunikasi dengan peralatan luar
seperti printer model lama. Karena itu parallel port sering
juga disebut printer port. Perusahaan yang memperkenalkan port
ini adalah Centronic, maka port ini juga disebut dengan
Centronics port.
6

GAMBAR 2.4 DB 25

Kesederhanaan port ini dari sisi pemrograman dan antarmuka


dengan hardware membuat port ini sering digunakan untuk
percobaan-percobaan sederhana dalam perancangan peralatan
elektronika.

Penggunaan:

Printer model lama

Zip drive

Beberapa scanner

Sound cards

Webcams

Gamepads dan joystick

Pemrogram EPROM

Peralatan SCSI melalui adapter Parallel ke SCSI

Percobaan dengan TTL 12 driver

External CD-Rom/RW drives

Port paralel ini merupakan port data di komputer untuk


mentransmisi 8 bit data dalam sekali detak. Standar port
paralel yang baru ialah IEEE 1284 dimana dikeluarkan tahun
1994. Standar ini mendefinisikan 5 mode operasi sebagai
berikut :
7

1. Mode kompatibilitas

2. Mode nibble

3. Mode byte

4. Mode EPP (Enhanced parallel port)

5. Mode ECP (Extended capability port)

Tujuan Standarisasi ini adalah untuk mendesain driver dan


perlatan yang baru sehingga kompatibel dengan peralatan
lainnya dan standard parallel port sebelumnya (SPP) yang
diluncurkan pada tahun 1981.

Mode Kompatibilitas, Nibble, dan Byte digunakan sebagai


standard perangkat keras yang tersedia di port parallel
original. Sedangkan untuk EPP dan ECP membutuhkan tambahan
hardware sehingga mampu bekerja dengan kecepatan tinggi.

Mode Kompatibilitas atau sering disebut “Centronics” hanya


dapat mengirimkan data pada arah maju (dari Host ke device
external) dengan kecepatan 50 Kbyte sampai 150 Kbyte perdetik.
Untuk menerima data harus diubah modenya menjadi mode Nibble
atau Byte. Mode nibble dapat menerima 4 bit (nibble) pada
arah yang mundur, misalnya dari alat ke computer. Mode byte
menggunakan fitur bi-directional parallel untuk menerima 1
byte (8 bit) data pada arah mundur. IRQ (Interrupt Request )
pada port paralel biasanya pada IRQ5 atau IRQ7.

Penjelasan Umum port paralel


8

Port ECP dan EPP menggunakan tambahan hardware untuk


menghasilkan dan mengatur handshaking (Sinyal – Sinyal tanda
acknowledge).

Untuk mengeluarkan sebuah byte ke port parallel dengan


menggunakan Mode Kompatibel, maka software harus mempunyai
urutan kerja sebagai berikut:

1. Tuliskan data byte ke jalur Port Data


2. Cek untuk melihat apakah printer sibuk, jika sibuk, ia
tidak akan menerima data, sehingga data yang telah
ditulis akan hilang.
3. Menjadikan sinyal Strobe (pin 1) menjadi Low (=0), hal
ini berguna untuk memberitahu ke printer bahwa ada data
yang siap dikirimkan pada jalur Port Data (pin 2 s/d pin
9)
4. Jadikan kembali sinyal Strobe High (=1) setelah menunggu
kira – kira 5 microsecond dari keadaan setelah membuat
strobe low.

Hal ini membatasi kecepatan data. Sedangkan EPP dan ECP


mengizinkan hardware mengecek jika printer sibuk dan
mengeluarkan sinyal strobe atau handshaking lainnya. Ini
berrti hanya 1 instruksi I/O yang harus dilakukan yang akan
meningkatkan kecepatan Port ECP juga mempunyai kelebihan
menggunakan saluran DMA dan buffer FIFO, jadi data dapat
digeser tanpa menggunakan instruksi I/O.

Protokol EPP mempunyai 4 macam siklus transfer data yang


berbeda yaitu :

1. Siklus baca data (Data read)


2. Siklus baca alamat (Address Read)
9

3. Siklus tulis data (data write)


4. Siklus tulis alamat (address write)

Siklus data digunakan untuk mentrasfer data antara host dan


peripheral.

Siklus alamat digunakan untuk mengirimkan alamat, saluran


(channel) atau informasi perintah dan control.

Gambar 2.5 Konfigurasi PIN DB25

PIN KONEKTOR PARALEL DB25


10

Tabel 2.2 Fungsi Pin DB 25

Untuk mengeluarkan data di port parallel, gunakan fungsi


outport (8 bit ) dan outportb(16 bit).

Alamat Port

Port Paralel mempunyai 3 alamat . 3BCH ialah alamat dasar


yang diperkenalkan sejak munculnya port Paralel pada kartu
video yang kemudian tidak digunakan lagi . LPT1 ialah line
printer dengan alamat 378h, lalu LPT2 dengan alamat 278H
meskipun alamat ini dapat dirubah. Saat ini, alamat 378H dan
278H umumnya digunakan sebagai alamat port Paralel .

Alamat Penjelasan

3BCH – 3BFH Digunakan untuk paralel port di kartu video

378H – 37FH Alamat untuk LPT 1

278H – 27FH Alamat untuk LPT 2

Register-register dari Port Paralel

Semua data, kontrol, dan status dari port paralel berhubungan


dengan register-register yang ada didalam komputer. Dengan
mengakses langsung register-register tersebut, masukan dan
keluaran dari port paralel dapat diatur. Register-register
pada port paralel adalah:

Register data

Register status

Register control
11

Register
LPT1 LPT2

Register data (alamat dasar + 0) 0×378 0×278

Register status (alamat dasar + 1) 0×379 0×279

Register kontrol (alamat dasar + 2) 0×37A 0×27A

Register Data Port Parallel ( 378h )

• Bit 7 (Data 7)

• Bit 6 (Data 6)

• Bit 5 (Data 5)

• Bit 4 (Data 4)

• Bit 3 (Data 3)

• Bit 2 (Data 2)

• Bit 1 (Data 1)

• Bit 0 (Data 0)

Register Status Port Parallel ( 378h )

• Bit 7 (Busy’)

• Bit 6 (Ack)

• Bit 5 (Paper Out)

• Bit 4 (Select)
12

• Bit 3 (Error)

• Bit 2 (IRQ’)

• Bit 1 (Not Used)

• Bit 0 (Not Used)

Register Kontrol Port Parallel ( 378h )

• Bit 7 (Not Used)

• Bit 6 (Not Used)

• Bit 5 (Aktivasi Port Dwi Arah)

• Bit 4 (Aktivasi IRQ melalui jalur Ack)

• Bit 3 (Select In’)

• Bit 2 (Reset / Inisialisasi)

• Bit 1 (Autofeed’)

• Bit 0 (Strobe’)

Mode – Mode Port Parallel Dalam Bios

Saat ini kebanyakan port parallel merupakan port – port dengan


beragam mode dan normalnya dapat dikonfigurasi melalui
perangkat lunak. Mode – modenya meliputi :

a. Mode Printer (Default / Normal Mode)


13

Mode Printer merupakan mode yang paling dasar dan merupakan


port parallel standard satu arah. Tidak ada fitur dwi – arah
sehingga bit-5 pada port kontrol tidak digunakan

b. Mode Standard & Bi-directional (SPP)

Mode ini merupakan mode dwi-arah. Menggunakan mode ini berarti


bit-5 difungsikan untuk membalikkan arah port sehingga dapat
membaca kembali nilai yang diberikan pada jalur port data
parallel

c. Mode EPP1.7 and SPP

Mode ini merupakan suatu kombinasi dari mode EPP1.7 (Enhanched


Parallel Port) dan SPP. Pada mode ini diperbolehkan untuk
mengakses register – register SPP (data, status, kontrol)
serta register – register EPP. Pada mode ini juga
diperbolehkan untuk membalikkan arah port menggunakan bit-5
dari register kontrol. EPP1.7 merupakan versi awal dari EPP
yang belum dilengkapi dengan bit untuk time out

d. Mode EPP1.9 and SPP

Seperti mode sebelumnya, hanya saja EPPnya menggunakan versi


1.9 yang sudah dilengkapi dengan bit time-out

e. Mode ECP

Mode ini mempunyai kemampuan tambahan (Extended Capabilities


Port). Mode ini dapat diset melalui register kontrol tambahan
(Extended Control Register) dari ECP. Hanya saja pada mode ini
tidak tersedia mode EPP.

f. Mode ECP and EPP1.7


14

g. Mode ECP and EPP1.9

Pada kedua mode diatas, tetap menggunakan ECP yang dikombinasi


dengan EPP, akan tetapi mode EPP yang digunakan bisa
ditentukan lewat ECR (Extended Control Register)nya apakah
menggunakan Versi 1.7 atau Versi 1.9.

2.4 Pengenalan Delphi 7

Asal mula Delphi

Borland Delphi dirilis pertama kali pada bulan Februari 1995,


dan sekarang sudah mencapai perkembangannya sampai dengan
Delphi 7. Delphi merupakan bahasa pemrograman yang mudah,
karena Delphi adalah bahasa perograman tingkat tinggi (high
level) sehingga sangat memudahkan user untuk bermain-main di
tingkat ini, apa lagi bagi mereka yang malas berurusan dengan
level-level yang rendah. Pemrograman Delphi sangatlah mudah,
kita tinggal click and drag, dan jadilah program aplikasi yang
kita inginkan.

Penggunaan pascal pada Delphi

Delphi dapat disebut sebagai kakaknya pascal, karena macam-


macam syntax yang digunakan oleh pascal dapat berguna, dan
bisa digunakan lewat Delphi . Untuk mengakses pascal kita
harus mengubah compiler yang digunakan Delphi , cara
mengubahnya:

Form dan unit

Berbeda dengan pascal, pada Delphi kita akan mengenal OOP


(Object oriented programming), jadi bila pada pascal kita akan
15

melihat tampilan yang membosankan, sedangkan pada Delphi kita


bisa mengatur tampilan sesuai kemauan kita. Kita hanya menaruh
komponen-komponen yang kita inginkan pada form tersebut, dan
memfungsikan masing-masing komponen sesuai dengan yang kita
inginkan.

Unit
Setiap perubahan pada form akan berakibat perubahan pada unit
yang kita miliki, Untuk pindah dari form ke unit, anda bisa
tekan F12. Berikut ini adalah bentuk unit yang diberikan
Delphi saat pertama kita membuka sebuah form.

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls,


Forms, Dialogs;

type

TForm1 = class(TForm)

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;
16

implementation

{$R *.DFM}

end.

Komponen

Delphi telah menyediakan banyak kemudahan, yaitu dengan


disediakannya komponen-komponen. Komponen ini merupakan sebuah
procedure/program yang sudah di compile dan langsung dapat
digunakan, sesuai dengan fungsinya masing-masing.

Untuk menggunakan komponen ini kita dapat meng-klik komponen


yang diinginkan, kemudian kita klik di form, maka komponen
tersebut akan muncul di form.

Fungsi :

a. Button/ Bitbtn

Biasa digunakan sebagai tombol kendali. Perbedaan antara


bitbtn dengan btn : pada bitbtn kita dapat menyisipkan
warna pada tombol dan icon tertentu, lain halnya bila
kita menggunakan btn.

b. Panel

Panel berfungsi untuk mengelompokan komponen-komponen


didalamnya.

c. Label

Kita dapat menamakan atau memberi keterangan pada


program.
17

d. Edit

Edit berfungsi sebagai masukan data (input) dalam bentuk


string, dari bentuk string ini kita dapat mengolahnya
menjadi bentuk integer atau bentuk lainnya. Yang kemudian
dapat digunakan untuk operasi selanjutnya.

e. Chart

Data-data yang telah kita analisa, dapat kita tampilkan


ke dalam grafik, sehinga memudahkan kita untuk
menganalisanya.

f. Stringgrid

Stringgrid berguna untuk menaruh data string kedalam


bentuk kolom tabel, seperti pada Excel. Kita harus
mengubah type data ke dalam bentuk string bila data yang
ingin kita tampilkan data bukan string.

g. PopupMenu

Popup Menu berfungsi sebagai perintah yagn aktif bila


kita meng-klik kanan mouse, Untuk mengaktifkannya kita
harus mengaktifkan popup menu pada komponen yang
dinginkan, caranya : ubah pada object inspector.

h. MainMenu

Contoh main menu adalah Option pada tiap aplikasi


porgram, dengan komponen ini, kita bisa menaruh fungsi-
fungsi program seperti pada aplikasi umumnya.

i. ComboBox

Combo Box berfungsi sebagai petunjuk untuk pemilihan


berbagai masukan. Lihat contoh.
18

j. CheckBox

Bila komponen ini di check maka ada aplikasi yang bisa


disetting untuk bekerja dibawahnya.

k. RadioButton

Prinsip kerjanya hampir sama dengan check box, cuma


tampilannya saja yang berbeda.

l. Media Player

Biasa digunakan untuk mennyalakan atau memainkan musik


(format wav atau midi) dan menjalankan film (format avi).

m. Timer

Timer berfungsi sebagai jam yang telah disediakan Delphi.


Dengan timer kita juga dapat mendecode time, sehingga
dapat terjadi akusisi data.

n. Clientsocket

Digunakan di client pada saat koneksi ke server.

o. Serversocket

Digunakan di server, yang akan menyediakan layanan


koneksi ke client.

Untuk mempelajari lebih lanjut dapat dibaca pada help menu.

Object Inspector

Object inspector berguna sebagai options dari masing-masing


komponen. Dengan object inspector ini kita dapat
19

memanipulasi komponen yang kita gunakan (walaupun


sebenarnya kita juga dapat menggunakannya dengan
menuliskannya lewat text mode).

Beberapa contoh pada Propertis :

� Font

Menunjukan font yang akan kita gunakan. Dalam menu ini


juga terdapat macam-macam font berikut style dan
ukurannya.

� Caption

Merupakan judul dari form itu. Perhatikan perbedaannya


dengan name.

� Name

Merupakan nama dari komponen itu. Biasanya bila kita


mengambil sebuah komponen, Delphi otomatis menyediakan
nama sesuai dengan nama komponen tersebut. Namun nama ini
dapat dengan mudah kita ubah agar mudah mengingatnya.
Berbeda dengan caption pada caption kita tidak mengubah
nama componen, melainkan hanya mengubah juduk yang
tertera pada komponen tersebut. Sehingga bila kita ingin
menggunakan komponen tersebut, yang kita gunakan adalah
namanya, dan bukan nama pada caption.

� Enabled

Menunjukan bahwa komponen ini bisa digunakan atau tidak.


Sangat penting bila kita tidak ingin user menekan tombol
yang tidak diinginkan.

� Height

Merupakan tinggi dari komponen


20

� Width

Merupakan lebar komoponen.

� Popup menu

Fungsi ini berguna saat kita mengkilik kanan dan akan


tampil perintah. Pada penggunaanya kita mengambuil
komponen popup menu dan menset popup menu pada form.

� Auto size

Fungsi ini berisi mengenai apakah form yang kita miliki


bisa diperbesar atau tidak.

� Text

Biasanya tedapat pada komponen edit dan mask edit.


Fungsinya untuk menaruh kata-kata pada komponen ini.

� Color

Warna pada komponen. Kita dapat mengubah warna-warna tiap


komponen (hanya yang disediakan) dengan point ini.

� Visible

Berfungsi untuk menampilkan dan tidak menampilkan


komponen yang kita inginkan.

� Hint

Gerkakan kursor ke atas komponen, maka akan muncul suatu


keterangan. Keterangan ini yang disebut dengan hint.

� Borderstyle
21

Menunjukan berbagai macam bingkai yang diinginkan.

Masih banyak properti lainnya, bisa dipelajari lebih


lanjut.

Dengan Object inspector kita juga dapat menentukan event


apa yang akan kita buat dengan komponen tersebut.

Beberapa contoh event.

� Onclick

Bila kita mengklik komponen tersebut maka prosedur yang


kita inginkan akan dijalankan oleh program tersebut.

� Onkeypress

Bila kita menekan suatu key (tombol) maka komponen


tersebut akan aktif. Perlu diperhatikan pada event ini,
delphi mengenal character yang kita tekan melalui kode
yang masuk kedalam variabel key. Lihat contoh ini.
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key:
Char);

begin

if key =#13 then .....(isikan perintah)

end;
22

File-file pada Delphi .

� *.pas

Merupakan source file, disini akan disimpan kode pascal


yang kita tulis.

� *.dpr

Merupakan project file. Sebagai project file, file ini


berguna untuk meggabungkan satu atau lebih file-file
source (*.pas).

� *.dcu (Delphi compiled Unit)

Pada saat kita membuat sebuah aplikasi, Delphi akan


membuat file ini. File ini berfungsi untuk me-link-kan
kita dengan file lain (*.dcu) sehingga kita bisa membuat
beberapa form yang terhubung satu dengan yang lainnya.

� *.dfm (Delpi Form)

File ini berisi informasi mengenai data-data form.

� *.res (Windows Resources)

� *.dof (Delphi project options)

Kita dapat mengubah icon aplikasi tersebut, dan datanya


disimpan pada file ini.

� *.exe

Merupakan appllication file setelah kita compile program


23

BAB III

PERANCANGAN DAN ANALISA KERJA ALAT

3.1 Blok Diagram Proses Perancangan

Dari alat yang telah kami buat dibentuk blog diagram


seperti pada gambar diatas. Maksud nya yaitu alur terjadi
nya proses dari awal hingga akhir yang terdiri dari
seperangkat personal komputer yang digunakan sebagai
pengatur hidup dan mati nya led dan dapat mendeteksi
kondisi ruangan dimana ruangan yang sudah hidup led nya
atau masih dalam kondisi mati (gelap) akan langsung
diberitahukan langsung ke komputer, kemudian PORT Paralel
DB25 berfungsi sebagai perantara antara komponen dengan
personal komputer. Komponen yang terdiri dari trimpot
sebagai kalibrasi untuk kondisi LDR agar dapat mendeteksi
kondisi ruangan, kemudian resistor untuk pembagi arus /
penurun tegangan / pembagi tegangan / sebagai
penghambat aliran arus listrik,dan lain-lain. Papan PCB
untuk menentukan jalur negate dan positif nya komponen
dan dapat juga untuk menentukan Port berapa saja yang
digunakan pada DB25. Kemudian kabel pelangi untuk
penyambung antara PCB dengan komponen yang digunakan
24

antara nya yaitu LED, LDR, dan Port Paralel DB25. Lalu
LED untuk penerangan pada ruangan. Selanjut nya yaitu LDR
yang berfungsi sebagai pendeteksi cahaya pada ruangan
untuk memberitahukan pada computer bahwa ruangan tersebut
dalam kondisi terang ( LED dalam ruangan menyala ) atau
mati ( LED dalam ruangan mati / tidak menyala ). Pada LDR
di gunakan Power Supply ( Catu Daya ) agar LDR dapat
berfungsi sesuai dengan fungsi LDR tersebut, pada LED
tidak dibutuhkan Power Supply dikarenakan LeD sudah
memiliki tegangan dari Port Paralel DB25.

3.2 Analisa Kerja alat

Soket DB25 yang terhubung dengan computer dan


komponen digunakan sebagai perantara, agar output yang
diinginkan dapat sesuai dengan program yang telah kami
buat. Disini kami membuat program dengan menggunakan
Software Delphi7. Yang digunakan sebagai perantara antar
muka antara komputer dengan manusia ( interface ).
Yang dapat juga berfungsi untuk pengatur
( Pengontrol ) pada ruangan yang terang atau pun gelap /
dapat mendeteksi ruangan mana yang masih menyala
( hidup ) LED / lampu nya dengan menggunakan komputer
sesuai dengan tujuan pembuatan proyek yang telah kami
buat.

Program Delphi7 yang kami buat ini disesuaikan juga


dengan PORT DB25 sebagaimana masing – masing fungsi PORT
tersebut digunakan, Button yang digunakan agar user /
manusia dapat mengetahui kondisi ruangan hanya dengan
melihat inisialisasi melalui computer saja, tidak perlu
untuk memasuki ruangan tersebut.
25

Dibawah ini merupakan program pada Delphi7 yang kami


gunakan :

unit inter;

interface

uses
Windows, Messages, SysUtils, Variants, Classes,
Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls;
function Out32(wAddr:word;bOut:byte):byte; stdcall;
external 'inpout32.dll';

type
TForm1 = class(TForm)
Label1: TLabel;
Timer1: TTimer;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Timer2: TTimer;
Timer3: TTimer;
exit: TButton;
procedure Timer1Timer(Sender: TObject);

procedure Button1Click(Sender: TObject);


procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Timer2Timer(Sender: TObject);
procedure exitClick(Sender: TObject);
private
{ Private declarations }
public
function bacaport:byte;
{ Public declarations }
end;
26

var
Form1: TForm1;
TL: byte;

implementation

{$R *.dfm}

function TForm1.bacaport:byte;
var temp:byte;
begin
asm
mov dx,$379
in al,dx
mov temp,al
end;
temp:=temp shr 3;
result:=temp;
end;

procedure TForm1.Timer1Timer(Sender: TObject);


begin
if bacaport= $0F then
begin
Label1.Caption:= 'Lampu sudah Mati';
Label2.Caption:= 'Lampu sudah Mati';
Label3.Caption:= 'Lampu sudah Mati';
Label4.Caption:= 'Lampu sudah Mati';
end
else

if bacaport= $0E then


begin
Label1.Caption:= 'Lampu sudah Hidup';
Label2.Caption:= 'Lampu sudah Mati';
Label3.Caption:= 'Lampu sudah Mati';
Label4.Caption:= 'Lampu sudah Mati';
end
else
if bacaport= $0C then
begin
Label1.Caption:= 'Lampu sudah Hidup';
27

Label2.Caption:= 'Lampu sudah Hidup ';


Label3.Caption:= 'Lampu sudah Mati';
Label4.Caption:= 'Lampu sudah Mati';
end
else
if bacaport= $08 then
begin
Label1.Caption:= 'Lampu sudah Hidup ';
Label2.Caption:= 'Lampu sudah Hidup ';
Label3.Caption:= 'Lampu sudah Hidup ';
Label4.Caption:= 'Lampu sudah Mati';
end
else
if bacaport= $00 then
begin
Label1.Caption:= 'Lampu sudah Hidup ';
Label2.Caption:= 'Lampu sudah Hidup ';
Label3.Caption:= 'Lampu sudah Hidup ';
Label4.Caption:= 'Lampu sudah Hidup ';
end
else
if bacaport= $0D then
begin
Label1.Caption:= 'Lampu sudah Mati';
Label2.Caption:= 'Lampu sudah Hidup ';
Label3.Caption:= 'Lampu sudah Mati';
Label4.Caption:= 'Lampu sudah Mati';
end
else
if bacaport= $09 then
begin
Label1.Caption:= 'Lampu sudah Mati';

Label2.Caption:= 'Lampu sudah Hidup ';


Label3.Caption:= 'Lampu sudah Hidup ';
Label4.Caption:= 'Lampu sudah Mati';
end
else
if bacaport= $01 then
begin
Label1.Caption:= 'Lampu sudah Mati';
Label2.Caption:= 'Lampu sudah Hidup ';
Label3.Caption:= 'Lampu sudah Hidup ';
28

Label4.Caption:= 'Lampu sudah Hidup ';


end
else
if bacaport= $0B then
begin
Label1.Caption:= 'Lampu sudah Mati';
Label2.Caption:= 'Lampu sudah Mati';
Label3.Caption:= 'Lampu sudah Hidup ';
Label4.Caption:= 'Lampu sudah Mati';
end
else
if bacaport= $03 then
begin
Label1.Caption:= 'Lampu sudah Mati';
Label2.Caption:= 'Lampu sudah Mati';
Label3.Caption:= 'Lampu sudah Hidup ';
Label4.Caption:= 'Lampu sudah Hidup ';
end
else
if bacaport= $07 then
begin
Label1.Caption:= 'Lampu sudah Mati';
Label2.Caption:= 'Lampu sudah Mati';
Label3.Caption:= 'Lampu sudah Mati';
Label4.Caption:= 'Lampu sudah Hidup ';
end
else
if bacaport= $02 then
begin
Label1.Caption:= 'Lampu sudah Hidup ';
Label2.Caption:= 'Lampu sudah Mati';
Label3.Caption:= 'Lampu sudah Hidup ';
Label4.Caption:= 'Lampu sudah Hidup ';

end
else
if bacaport= $0A then
begin
Label1.Caption:= 'Lampu sudah Hidup ';
Label2.Caption:= 'Lampu sudah Mati';
Label3.Caption:= 'Lampu sudah Hidup ';
Label4.Caption:= 'Lampu sudah Mati';
end
29

else
if bacaport= $04 then
begin
Label1.Caption:= 'Lampu sudah Hidup ';
Label2.Caption:= 'Lampu sudah Hidup ';
Label3.Caption:= 'Lampu sudah Mati';
Label4.Caption:= 'Lampu sudah Hidup ';
end
else
if bacaport= $06 then
begin
Label1.Caption:= 'Lampu sudah Hidup ';
Label2.Caption:= 'Lampu sudah Mati';
Label3.Caption:= 'Lampu sudah Mati';
Label4.Caption:= 'Lampu sudah Hidup ';
end
else
if bacaport= $05 then
begin
Label1.Caption:= 'Lampu sudah Mati';
Label2.Caption:= 'Lampu sudah Hidup ';
Label3.Caption:= 'Lampu sudah Mati';
Label4.Caption:= 'Lampu sudah Hidup ';
end
end;

procedure TForm1.Button1Click(Sender: TObject);


begin
if button1.Caption= ‘Hidupkan' then
begin
button1.Caption:= 'Matikan';
end
else
if button1.Caption= 'Matikan' then

begin
button1.Caption:= ‘Hidupkan ';
end;
end;

procedure TForm1.Button2Click(Sender: TObject);


begin
if button2.Caption= ‘Hidupkan ' then
30

begin
button2.Caption:= 'Matikan';
end
else
if button2.Caption= 'Matikan' then
begin
button2.Caption:= ‘Hidupkan ';
end;
end;

procedure TForm1.Button3Click(Sender: TObject);


begin
if button3.Caption= ‘Hidupkan ' then
begin
button3.Caption:= 'Matikan';
end
else
if button3.Caption= 'Matikan' then
begin
button3.Caption:= ‘Hidupkan ';
end;
end;

procedure TForm1.Button4Click(Sender: TObject);


begin
if button4.Caption= ‘Hidupkan ' then
begin
button4.Caption:= 'Matikan';
end
else
if button4.Caption= 'Matikan' then
begin
button4.Caption:= ‘Hidupkan';
end;
end;

procedure TForm1.Timer2Timer(Sender: TObject);


begin

if ((button1.Caption= 'Matikan') and (button2.Caption=


'Hidupkan') and (button3.Caption= 'Hidupkan') and
(button4.Caption= 'Hidupkan')) then
31

begin //Untuk menghidupkan LED maka diberikan logika 1


(disini menggunakan byte)
TL:=(Out32($378,1));
end
else
if ((button1.Caption= 'Matikan') and (button2.Caption=
'Matikan') and (button3.Caption= 'Hidupkan') and
(button4.Caption= 'Hidupkan')) then
begin //Untuk menghidupkan LED maka diberikan logika 1
(disini menggunakan byte)
TL:=(Out32($378,3));
end
else
if ((button1.Caption= 'Matikan') and (button2.Caption=
'Hidupkan') and (button3.Caption= 'Matikan') and
(button4.Caption= 'Hidupkan')) then
begin //Untuk menghidupkan LED maka diberikan logika 1
(disini menggunakan byte)
TL:=(Out32($378,5));
end
else
if ((button1.Caption= 'Matikan') and (button2.Caption=
'Hidupkan') and (button3.Caption= 'Hidupkan') and
(button4.Caption= 'Matikan')) then
begin //Untuk menghidupkan LED maka diberikan logika 1
(disini menggunakan byte)
TL:=(Out32($378,9));
end
else
if ((button1.Caption= 'Matikan') and (button2.Caption=
'Matikan') and (button3.Caption= 'Matikan') and
(button4.Caption= 'Hidupkan')) then
begin //Untuk menghidupkan LED maka diberikan logika 1
(disini menggunakan byte)

TL:=(Out32($378,7));
end
else
32

if ((button1.Caption= 'Matikan') and (button2.Caption=


'Matikan') and (button3.Caption= 'Hidupkan') and
(button4.Caption= 'Matikan')) then
begin //Untuk menghidupkan LED maka diberikan logika 1
(disini menggunakan byte)
TL:=(Out32($378,11));
end
else
if ((button1.Caption= 'Matikan') and (button2.Caption=
'Hidupkan') and (button3.Caption= 'Matikan') and
(button4.Caption= 'Matikan')) then
begin //Untuk menghidupkan LED maka diberikan logika 1
(disini menggunakan byte)
TL:=(Out32($378,13));
end
else
if ((button1.Caption= 'Matikan') and (button2.Caption=
'Matikan') and (button3.Caption= 'Matikan') and
(button4.Caption= 'Matikan')) then
begin //Untuk menghidupkan LED maka diberikan logika 1
(disini menggunakan byte)
TL:=(Out32($378,15));
end
else
if ((button1.Caption= 'Hidupkan') and (button2.Caption=
'Matikan') and (button3.Caption= 'Hidupkan') and
(button4.Caption= 'HIdupkan')) then
begin //Untuk menghidupkan LED maka diberikan logika 1
(disini menggunakan byte)
TL:=(Out32($378,2));
end
else
if ((button1.Caption= 'Hidupkan') and (button2.Caption=
'Matikan') and (button3.Caption= 'Matikan') and
(button4.Caption= 'Hidupkan')) then
begin //Untuk menghidupkan LED maka diberikan logika 1
(disini menggunakan byte)
TL:=(Out32($378,6));
end
else
if ((button1.Caption= 'Hidupkan') and (button2.Caption=
'Matikan') and (button3.Caption= 'Hidupkan') and
(button4.Caption= 'Matikan')) then
33

begin //Untuk menghidupkan LED maka diberikan logika 1


(disini menggunakan byte)
TL:=(Out32($378,10));
end
else
if ((button1.Caption= 'HIdupkan') and (button2.Caption=
'Matikan') and (button3.Caption= 'Matikan') and
(button4.Caption= 'Matikan')) then
begin //Untuk menghidupkan LED maka diberikan logika 1
(disini menggunakan byte)
TL:=(Out32($378,14));
end
else
if ((button1.Caption= 'Hidupkan') and (button2.Caption=
'Hidupkan') and (button3.Caption= 'Matikan') and
(button4.Caption= 'Hidupkan')) then
begin //Untuk menghidupkan LED maka diberikan logika 1
(disini menggunakan byte)
TL:=(Out32($378,4));
end
else
if ((button1.Caption= 'Hidupkan') and (button2.Caption=
'Hidupkan') and (button3.Caption= 'Matikan') and
(button4.Caption= 'Matikan')) then
begin //Untuk menghidupkan LED maka diberikan logika 1
(disini menggunakan byte)
TL:=(Out32($378,12));
end
else
if ((button1.Caption= 'Hidupkan') and (button2.Caption=
'Hidupkan') and (button3.Caption= 'Hidupkan') and
(button4.Caption= 'Matikan')) then
begin //Untuk menghidupkan LED maka diberikan logika 1
(disini menggunakan byte)
TL:=(Out32($378,8));
end
else
if ((button1.Caption= 'Hidupkan') and (button2.Caption=
'Hidupkan') and (button3.Caption= 'Hidupkan') and
(button4.Caption= 'Hidupkan')) then
34

3.3 FLOWCHART LED

START

LED 1 : Hidup
LED 2 : Mati Button1
Button1
LED 3 : Mati “Matikan”
“Hidupkan”
LED 4 : Mati (Tekan) Button2,3,4
“Hidupkan”

LED 1 : Mati
Button2
LED 2 : Hidup Button2 “Matikan”
LED 3 : Mati “Hidupkan” Button1,3,4
LED 4 : Mati (Tekan)
“Hidupkan”

LED 1 : Mati
LED 2 : Mati Button3 Button3
LED 3 : Hidup “Hidupkan” “Matikan”
LED 4 : Mati (Tekan) Button1,2,4
“Hidupkan”

LED 1 : Mati
LED 2 : Mati Button4
Button4
LED 3 : Mati “Hidupkan” “Matikan”
LED 4 : Hidup (Tekan) Button1,2,3
“Hidupkan”

1
35

LED 1 : Hidup Button1,2


LED 2 : Hidup “Matikan”
Button1,2
LED 3 : Mati “Hidupkan” Button3,4
LED 4 : Mati (Tekan) “Hidupkan”

LED 1 : Hidup Button1,3


LED 2 : Mati “Matikan”
Button1,3 Button2,4
LED 3 : Hidup “Hidupkan”
LED 4 : Mati “Hidupkan”
(Tekan)

LED 1 : Hidup Button1,4


LED 2 : Mati Button1,4 “Matikan”
LED 3 : Mati “Hidupkan” Button2,3
LED 4 : Hidup (Tekan) “Hidupkan”

LED 1 : Hidup Button1,2,3


LED 2 : Hidup Button1,2, “Matikan”
LED 3 : Hidup 3
Button4
“Hidupkan”
LED 4 : Mati “Hidupkan”
(Tekan)

2
36

LED 1 : Hidup Button1,2,4


LED 2 : Hidup Button1,2,
“Matikan”
4
LED 3 : Mati Button3
“Hidupkan”
LED 4 : Hidup “Hidupkan”
(Tekan)

LED 1 : Hidup
LED 2 : Mati Button1,3, Button1,3,4
LED 3 : Hidup 4 “Matikan”
LED 4 : Hidup “Hidupkan” Button2
(Tekan) “Hidupkan”

LED 1 : Hidup
LED 2 : Hidup Button1,2,3 Button1,2,3,
LED 3 : Hidup ,4
4
“Hidupkan”
LED 4 : Hidup “Matikan”
(Tekan)

LED 1 : Mati Button2,3


LED 2 : Hidup Button2,3 “Matikan”
LED 3 : Hidup “Hidupkan”
Button1,4
(Tekan)
LED 4 : Mati “Hidupkan”

3
37

Button2,4
LED 1 : Mati Button2,4 “Matikan”
LED 2 : Hidup “Hidupkan
Button1,3
LED 3 : Mati ”
“Hidupkan”
LED 4 : Nyala (Tekan)

LED 1 : Mati Button2,3, Button2,3,4


LED 2 : Hidup 4 “Matikan”
LED 3 : Hidup “Hidupkan Button1
LED 4 : Hidup ” “Hidupkan”
(Tekan)

LED 1 : Mati
LED 2 : Mati Button3,4
Button3,4
LED 3 : Hidup “Matikan”
“Hidupkan”
LED 4 : Hidup (Tekan)
Button1,2
“Hidupkan”

LED 1 : Mati Button1,2,


3,4 Button1,2,3,
LED 2 : Mati
“Hidupkan 4
LED 3 : Mati
” “Hidupkan”
LED 4 : Mati
(Tekan)

CLOSE(END)

Gambar 3.2 : Flowchart Output


38

Anlisa nya yaitu waktu awal button 1 sampe button 4


belum ada penekanan maka kondisi ruangan mati semua dan
button 1 sampe button 4 bertuliskan “hidupkan” atau
meminta user ( manusia ) untuk mengidupkan ruangan yang
pada konsdisi awal “mati” ( gelap ).

Kemudian apa bila salah satu nya ditekan, maka


kondisi ruangan akan hidup LED ( lampu ) nya dan kondisi
button akan bertuliskan “matikan” agar user dapat
memahami kondisi pada button atau dapat meminta user
untuk memberikan penekanan apabila ruangan yang
diinginkan “mati” ( gelap ).

Sebagai contoh button 1 di tekan maka button 1 akan


bertuliskan “matikan” dan button lain nya anatar button 1
sampe button 4 tidak ditekan maka button akan bertulikan
“hidupkan” kemudian fungsi LDR pun sangat berperan aktif,
maksud nya berperan aktif yaitu memberitahu user melalui
komputer bahwa ruangan tersebut dalam kondisi “LED
( lampu ) sudah hidup” dan kodisi LDR lain nya yang
berada pada ruangan lain / yang ada pada button 2 sampe
button 4 yaitu dalam kondisi mati / gelap yang
bertuliskan “LED ( lampu ) sudah mati. Sebagaimana fungsi
LDR tersebut yang digunkan sebagai pendeteksi cahaya.

Begitu pun selanjut nya apabila dilakukan penekanan


pada button lain nya dan dapat juga dilakukan penekanan
pada button secara bersamaan dan LDR pun dapat juga
digunakan demikan secara bersamaan juga.
39

3.4 Flowchart LDR

START

Label 1 “Lampu
sudah hidup”
Label 2,3,4
LDR 1
“Lampu sudah
“Terang”
Mati”

Label 2 “Lampu
sudah hidup”
Label 1,3,4
LDR 2 “Lampu sudah
“Terang” Mati”

Label 3 “Lampu
sudah hidup”
Label 1,2,4
“Lampu sudah
LDR 3
Mati”
“Terang”

Label 4 “Lampu
sudah hidup”
Label 1,2,3
“Lampu sudah
LDR 4
“Terang”
Mati”

1
40

Label 1,2
“Lampu sudah
hidup”
LDR 1,2 Label 3,4
“Terang” “Lampu sudah
Mati”

Label 1,3
“Lampu sudah
hidup”
Label 2,4
LDR 1,3 “Lampu sudah
“Terang”
Mati”

Label 1,4
“Lampu sudah
hidup”
Label 2,3
LDR 1,4
“Lampu sudah
“Terang”
Mati”

Label 1,2,3
“Lampu sudah
hidup”
LDR 1,2,3 Label 4 “Lampu
“Terang” sudah Mati”

2
41

Label 1,2,4
“Lampu sudah
LDR 1,2,4 hidup”
“Terang” Label 3 “Lampu
sudah Mati”

Label 1,3,4
“Lampu sudah
hidup”
LDR 1,3,4 Label 2 “Lampu
“Terang” sudah Mati”

Label 2,3
“Lampu sudah
hidup”
Label 1,4
LDR 2,3
“Lampu sudah
“Terang”
Mati”

Label 2,4
“Lampu sudah
hidup”
LDR 2,4 Label 1,3
“Terang” “Lampu sudah
Mati”

3
42

Label 2,3,4
“Lampu sudah
LDR 2,3,4 hidup”
“Terang” Label 1 “Lampu
sudah Mati”

Label 3,4
“Lampu sudah
hidup”
LDR 3,4 Label 1,2
“Terang” “Lampu sudah
Mati”

Label 1,2,3,4
LDR
“Lampu sudah
1,2,3,4
“Terang” hidup”

Label 1,2,3,4
LDR 1,2,3 “Lampu sudah
“Gelap” Mati”

END

Gambar 3.2 : Flowchart Input


43

Analisa pada LDR 1 sampai LDR 4 yaitu pada kondisi awal


saat baru mulai di program pada dengan menggunakan
program delphi7 kondisi awal pada button 1 sampai button
4 yaitu bertuliskan “hidupkan” sedangkan kondisi LDR pun
demikian “LED ( lampu ) sudah mati, dikarenakan kondisi
awal pada LDR tidak mendapat cahaya / sensor tidak dapat
medeteksi cahaya yang ada sebab ruangan tersebut masih
dalam kondisi gelap / LED ( lampu ) tidak hidup.

LDR pada program menggunakan label sebagai


inisialisasi pemberitahu dari komputer terhadap user agar
user dapat memahami dimana kondisi ruangan yang terang
dan gelap sebagaimana fungsi LDR tersebut kami gunakan.
44

BAB IV

CARA PENGOPERASIAN DAN UJICOBA ALAT

4.1. Cara Pengoperasian Alat

Langkah – langkah untuk menggunakan komponen proyek


yang telah kami buat adalah sebagai berikut:

1. Hubungkan komponen proyek dengan komputer melalui


port paralel(DB25)

2. Berikan catu daya (+5V) pada rangkaian LDR

3. Jalankan program aplikasi yang telah dibuat


menggunakan software Delphi pada komputer

4. Setelah itu hidupkan salah satu button (LED) dan


lihat label dibawahnya, akan berubah menjadi
“Lampu sudah Hidup”. Begitu juga pada LED – LED
lainnya.

5. Jika kondisi button sudah dihidupkan dan lampu


LED sudah hidup tetapi label masih dalam kondisi
“Lampu sudah Mati” maka lakukan kalibrasi pada
trimpot dengan memutar kekiri atau kanan perlahan
dengan menggunakan obeng(+/-) yang kecil.
45

4.2. Uji Coba Alat

Alat yang telah kami buat telah dilakukan uji coba


sendiri/bersama teman di rumah, kemudian setelah yakin
benar, diujikan dihadapan Asisten Laboratorium. Apa bila
Asisten Laboratorium sudah menyatakan tidak ada kendala
dengan alat yang kita buat, maka siap dimaket(diberikan
rumahan untuk tempat komponen) dan bekerja dengan baik
dengan menghasilkan output seperti yang diinginkan.
46

BAB V

PENUTUP

5.1 Kesimpulan

Port DB25 digunakan sebagai penghubung atau perantara


alat dengan pc dan juga sebagai pengirim data 0-7. Dalam
pembuatan program, kami menggunakan Delphi7 sebagai software
pembantu

5.2 Saran

Dari hasil perancangan, membuat, dan uji coba dari


Pengatur Kecepatan Led, penulis memiliki beberapa saran kepada
para pembaca yang ingin membuat alat ini. Adapun saran-saran
yang diberikan antara lain:

• Saat merancang layout, pastikan jalur sudah


terancang dengan benar.
• Setelah menyablon layout pada pcb, tebalkan layout
dengan spidol untuk mencegah putusnya jalur layout
pada saat pencucian PCB.
47

LAMPIRAN
48

Anda mungkin juga menyukai