• Tidak ada hasil yang ditemukan

Sistem Pengendali Peralatan Rumah Berbasis Web.

N/A
N/A
Protected

Academic year: 2017

Membagikan "Sistem Pengendali Peralatan Rumah Berbasis Web."

Copied!
42
0
0

Teks penuh

(1)

SISTEM PENGENDALI PERALATAN RUMAH

MENGGUNAKAN WEB

HOUSE DEVICES CONTROLLED SYSTEM USING WEB

Daniel Stefanus / 0727016

Jurusan Sistem Komputer, Fakultas Teknik, Universitas Kristen Maranatha

Jalan Prof. Dr. Suria Sumantri 65

Bandung 40164, Indonesia

ABSTRAK

Pada jaman sekarang ini, teknologi sudah semakin berkembang. Pengendalian yang merupakan aspek penting dalam teknologi juga semakin berkembang. Dengan didukung oleh teknologi yang sudah maju, pengendalian dapat dikembangkan menjadi sebuah aplikasi yang berguna. Salah satunya dengan Sistem Aplikasi Pengendalian Peralatan Rumah Menggunakan Web.

Sistem Pengendalian Peralatan Rumah menggunakan Web ini terdiri dari perangkat keras dan perangkat lunak. Perangkat keras terdiri dari rangkaian pengendali yang digunakan sebagai saklar elektronik untuk mengendalikan lampu taman, lampu dalam dan alarm. ATMega 16 digunakan untuk pengendali kunci pintu. Kemudian, rangkaian sensor berfungsi untuk mengetahui kondisi alat yang dikontrol, seperti sensor cahaya dan sensor infra merah. Kemudian Parallel port digunakan untuk menyampaikan data dari komputer ke perangkat keras lainnya. Sedangkan perangkat lunak yang digunakan terdiri dari HTML, sebagai antarmuka dengan pengguna, Borland Delphi yang digunakan untuk membuat program pengendali dan Code Vision yang digunakan untuk memprogram ATMega16.

Tugas akhir ini telah diterapkan pada maket dan diuji tingkat keberhasilannya. Dalam pengujian pengendalian setiap alatnya, program ini dapat dikatakan berhasil 100% dan pengujian pemantauan alat menggunakan sensor pun berhasil 100%. Namun hasil dari pembuatan tugas akhir ini masih dapat dikembangkan lebih lanjut dengan tidak menggunakan localhost, melainkan menggunakan jaringan internet

(2)

SISTEM PENGENDALI PERALATAN RUMAH

MENGGUNAKAN WEB

HOUSE DEVICES CONTROLED SYSTEM USING WEB

Daniel Stefanus / 0727016

Jurusan Sistem Komputer, Fakultas Teknik, Universitas Kristen Maranatha

Jalan Prof. Dr. Suria Sumantri 65

Bandung 40164, Indonesia

ABSTRACT

In this era, technology has been growing. Control system which the important aspects of technology is also growing. Supported by advanced technology, control system can developed into a useful application. One of them with House Devices Controlled System Using Web.

House Devices Controlled System Using Web consists of hardware and software. The hardware consists of a series of controllers circuit are used as electronic switches for control yard lamp, room lamp and alarm. ATMega 16 is used to control door locks. And then sensor circuit that used to determine the condition of controlled devices such as light sensor and infrared sensor. And then parallel port used to send data from computer to other hardware. While the software used consists of HTML, as the interface with users, Borland Delphi is used to make the controller program and code vision used to program ATMega16.

This final project has been applied to model and tested the level of success. In the test of control of each device, this program was successful 100% and monitoring test devices using sensors also successfully 100%. However, the results of this final creation can still be developed further by not using local host, but using the internet network

(3)

DAFTAR ISI

2.2.2 BAHASA TINGKAT MENENGAH... 8

2.2.3 BAHASA TINGKAT TINGGI... 9

2.3 BAHASA DELPHI ... 9

2.3.1 MENJALANKAN DELPHI... 10

(4)

2.3.5.2 TABEVENT... 15

2.3.6 EDITWINDOW... 16

2.3.7 STRUKTUR PROGRAM BAHASA DELPHI ... 17

2.3.8 PROCEDURE... 18

2.3.9 FUNCTION... 19

2.3.10 PROSES PENGULANGAN ... 20

2.3.11 IN LINE ASSEMBLER... 21

2.4 USERPORT... 23

2.5 HTML ... 24

2.6 WEBSERVER... 28

2.7 PARALLELPORT... 29

2.8 KOMPONEN – KOMPONEN RANGKAIAN PENGENDALI... 34

2.9 RANGKAIAN PEMANTAU ... 39

2.10 MIKROKONTROLER ATMEGA 16 ... 40

2.10.1 KONFIGURASI PIN ATMEGA16... 42

2.10.2 BLOK DIAGRAM ATMEGA 16 ... 47

2.10.3 ARSITEKTUR MIROKONTROLER AVR RISC ... 48

2.10.4 MEMORI PROGRAM ... 49

2.10.5 PEMROGRAMAN MIKROKONTROLER AVRATMEGA 16 ... 50

2.10.5.1 PENULISAN PROGRAM DALAM BAHASA C ... 50

2.11 MOTOR STEPPER... 52

BAB III. PERANCANGAN DAN PEMODELAN ... 54

3.1 PERANCANGAN PERANGKAT KERAS ... 54

3.1.1 BLOK DIAGRAM ... 54

3.1.2 SKEMATIK RANGKAIAN ... 55

3.1.2.1 RANGKAIAN PENGENDALI ... 55

3.1.2.2 RANGKAIAN SENSOR ... 57

3.1.2.3 RANGKAIAN AVR ATMEGA 16 ... 59

3.2 PERANCANGAN PERANGKAT LUNAK ... 60

3.2.1 DIAGRAM ALIR ... 60

(5)

BAB IV. HASIL PENELITIAN... 65

4.1 UJI COBA ALAT ... 65

4.2 DATA PENGAMATAN ... 78

4.2.1 PERCOBAAN PENGENDALIAN LAMPU DALAM KONDISI NORMAL ... 78

4.2.2 PERCOBAAN PENGENDALIAN LAMPU DALAM KONDISI PUTUS ... 79

4.2.3 PECOBAAN MENYALAKAN ALARM... 80

4.2.4 PECOBAAN BUKA TUTUP PINTU ... 81

4.2.5 PERCOBAAN PENDETEKSIAN BENDA DENGAN SENSOR IR ... 82

BAB V. PENUTUP... 83

5.1 KESIMPULAN... 83

5.2 SARAN ... 83

DAFTAR PUSTAKA ... 85 LAMPIRAN

I. LAMPIRAN A... A-1 A.1. FILE INDEX.HTML... A-1

II. LAMPIRAN B... B-1 B.1. FILE PRODUCER.HTML ... B-1

III. LAMPIRAN C ... C-1 C.1. FILE EXECUTE.HTML ... C-1

IV. LAMPIRAN D ... D-1 D.1. DEKLARASI FILE AUTHETIC.EXE ... D-1 D.2. FUNCTION BACA PORT... D-2 D.3. PROCEDUREGETDEVICESTATUS... D-2

(6)

D.4. OBJECT WEBMODULE EVENT ON ACTION... D-3 D.5. OBJECT PAGEPRODUCER1 EVENT ON TAG HTML.... D-3

V. LAMPIRAN E... E-1 E.1. DEKLARASI FILE EXECUTE.EXE ... E-1 E.2.FUNGTION BACA PORT... E-2 E.3.FUNGTION BACA PORT1... E-2 E.4.PROCEDURE TULIS PORT... E-3 E.5.OBJECT WEBMODULE1 EVENT ON ACTION... E-3 E.6.PROCEDURE GET DEVICE STATUS... E-4 E.7.OBJECT PAGEPRODUCER1 EVENT ON TAG HTML... E-5

VI. LAMPIRAN F ... F-1 F.1. MEMASUKAN LIBRARY... F-1 F.2. PROCEDURE PUTAR MOTOR SEARAH JARUM JAM... F-1 F.3. PROCEDURE PUTAR MOTOR BERLAWANAN

JARUM JAM ... F-1 F.4. DEKLARASI PORT ... F-2 F.5. MAINPROGRAM... F-2

VII. LAMPIRAN G ... G-1 G.1. PEMBUATAN PCB ... G-1 G.2. RANGKAIAN PENGENDALI UNTUK DC... G-2 G.3. RANGKAIAN PENGENDALI UNTUK AC... G-2 G.4. RANGKAIAN SENSOR CAHAYA ... G-3 G.5. RANGKAIAN SENSOR IR ... G-3 G.6. RANGKAIAN ALARM... G-4 G.7. RANGKAIAN ATMEGA 16... G-4

(7)

DAFTAR GAMBAR

Halaman

Gambar 2.1 Sistem Pengendali Loop Terbuka ... 5

Gambar 2.2. Sistem Pengendali Loop Tertutup ... 6

Gambar 2.3. Shortcut Borland Delphi 7 ... 10

Gambar 2.4. Tampilan Awal Borland Delphi ... 11

Gambar 2.5. Menu dan Toolbar... 12

Gambar 2.6. ComponentPallete... 12

Gambar 2.7. ObjectTreeView... 13

Gambar 2.8. TabProperties pada ObjectInspector... 14

Gambar 2.9. TabEvent pada ObjectInspector... 15

Gambar 2.10. Tab Code Editor pada Edit Window... 16

Gambar 2.11. Tampilan UserPort 1.0 ... 24

Gambar 2.12. PortParallel pada PC... 31

Gambar 2.13. Layout Konektor DB25 ... 31

Gambar 2.14. Simbol Resistor ... 35

Gambar 2.15. Simbol Dioda... 35

Gambar 2.16. Simbol Transistor NPN dan PNP ... 36

Gambar 2.17 Relay... 38

Gambar2.18 Pemancar dan penerima pada sensor infrared... 39

Gambar 2.19 LDR... 40

Gambar 2.20 Konfigurasi Pin ATMEGA16 ... 42

Gambar 2.21 Block Diagram ATMega 16 ... 47

Gambar 2.22 Arsitektur Mikrokontroler AVR RISC ... 48

Gambar 2.23 Peta Memori Program AVR ATMega 16 ... 49

Gambar 2.24 MotorStepper... 52

Gambar 3.1 Blok Diagram Pengendali Peralatan Rumah Menggunakan Web... 54

Gambar 3.2 Rangkaian Pengendali dengan Sumber DC... 56

Gambar 3.3 Rangkaian Pengendali dengan Sumber AC... 56

(8)

Gambar 3.4 Ilustrasi penggunaan Sensor Infrared ... 57

Gambar 3.5 Rangkaian Sensor Infrared... 57

Gambar 3.6 Rangkaian Sensor Cahaya ... 58

Gambar 3.7 Rangkaian Kunci Pintu... 59

Gambar 3.8 Diagram alir software Pengendali Peralatan Rumah Menggunakan Web... 61

Gambar 3.9 Sub Program Kunci Pintu... 63

Gambar 4.1 Tampilan FormLogin... 65

Gambar 4.2 Tampilan Form Akses Ditolak ... 65

Gambar 4.3 Tampilan Form Pengontrolan... 66

Gambar 4.4 Sensor IR pada saat Aktif ... 67

Gambar 4.5 Tampilan Form pada saat Sensor IR Aktif ... 67

Gambar 4.6 Sensor IR pada saat Tidak Aktif... 68

Gambar 4.7 Tampilan Form pada saat Sensor IR Tidak Aktif... 68

Gambar 4.8 Alat Pengendali Lampu dan Sensor Cahaya ... 69

Gambar 4.9 Tampilan Form ketika Menyalakan Lampu ... 69

Gambar 4.10 Lampu Menyala... 70

Gambar 4.11 Tampilan Form setelah Lampu Menyala ... 70

Gambar 4.12 Tampilan Form ketika Mematikan Lampu ... 71

Gambar 4.13 Lampu Mati ... 71

Gambar 4.14 Tampilan Form ketika Lampu Mati ... 72

Gambar 4.15 Keadaan Ketika lampu Dicabut / Putus... 72

Gambar 4.16 Tampilan Form ketika Lampu Putus... 73

Gambar 4.17 Alat Pengendali Alarm dan Rangkaian umpan balik ... 73

Gambar 4.18 Tampilan Form ketika Menyalakan Alarm ... 74

Gambar 4.19 Alarm Berbunyi... 74

Gambar 4.20 Tampilan Form Setelah Alarm Berbunyi ... 75

Gambar 4.21 Kunci Pintu Terbuka... 76

Gambar 4.22 Tampilan Form ketika Kunci Pintu Terbuka ... 76

Gambar 4.23 Pintu Terkunci ... 77

Gambar 4.24 Tampilan Form ketika Pintu Terkunci... 77

(9)

DAFTAR TABEL

Halaman

Tabel 2.1. Pengalamatan Register pada PortPrinter... 30

Tabel 2.2 Nomor dan Nama Sinyal LPT ... 32

Tabel 2.3 Karakteristik Masing – Masing Pin pada PortParallel... 33

Tabel 2.4 Kode Warna Resistor ... 35

Tabel 2.5. Fungsi Khusus Port A ... 43

Tabel 2.6. Fungsi Khusus Port B ... 44

Tabel 2.7. Fungsi Khusus Port C ... 45

Tabel 2.8. Fungsi Khusus Pin D... 46

Tabel 2.9 Putaran Searah jarum jam secara FullStepMode ... 52

Tabel 2.10 Putaran Searah jarum jam secara HalfStepMode ... 53

Tabel 4.1 Percobaan Menyalakan Lampu ... 78

Tabel 4.2 Percobaan Menyalakan Lampu pada saat Keadaan Lampu Putus... 79

Tabel 4.3 Percobaan Menyalakan Alarm... 80

Tabel 4.4 Percobaan Membuka dan Mengunci Pintu ... 81

Tabel 4.5 Percobaan Pendeteksian Benda... 82

(10)

LAMPIRAN A

SYNTAX PADA FORM LOGIN

A.1. FILE INDEX.HTML

<html>

<head>

<meta http-equiv="Content-Type" content="text/html;

charset=iso-8859-1">

<title>Daniel's WebSite</title>

</head>

<body>

<body bgcolor="black">

<font color = "#555555">

<h1><p align="center">

You Are Invite Daniel's WebSite

</h1>

<br><br>

<br><br>

<br><br>

<form name = "form1" method = "post" action = "cgi-bin/authentic.exe">

<font size = "5">

Log In

</font>

<br>

<table width = "313" border = "0">

<tr>

<td width = "92"><font color = "#555555"> User Name </font></td>

(11)

<td width = "211"><input type = "text" name = "username"></td>

</tr>

<tr>

<td><font color = "#555555">Password</font></td>

<td><input type = "password" name = "password"></td>

</tr>

<tr>

<td>&nbsp;</td>

<td><input type = "submit" name = "Submit" value = "Submit"></td>

</tr>

<p align = "center">

<font color="#555555" size="1" face="Verdana, Arial, Helvetica,

sans-serif">©2009-2010™

Niel Corporated, Inc.</font>

</p>

</body>

</html>

(12)

LAMPIRAN B

SYNTAX PADA FORM PENGONTROLAN PERTAMA

B.1. FILE PRODUCER.HTML

<html>

<head>

<meta http-equiv="Content-Type" content="text/html;

charset=iso-8859-1">

<title>Daniel's WebSite</title>

<style type = "text/css">

<!--

.style1 {color: #ff0000}

.style2 {color: #555555}

.style3 {color:#0000ff}

-->

</style>

</head>

<body>

<body bgcolor = "black">

<form name = "form1" method = "post" action = "execute.exe">

<br>

<br>

<p class = "style2" align = "center"> Selamat Datang <span class =

"style3"> <#username> </span>

di Fasilitas <span class = "style1"> Web Device Controller </span></p>

<p align = "center">

<br><br>

(13)

<table width = "30%" border = "1">

<tr>

<td width = "12.5%"><div align = "center" class = "style1">Nama

Alat</div></td>

<td width = "12.5%"><div align = "center" class =

"style1">Status</div></td>

<td width = "5%"><div align = "center" class = "style1">Switch

Alat</div></td>

</tr>

<tr>

<td class = "style2"> Pintu </td>

<td class = "style2"><#status_kulkas></td>

<td><div align = "center">

<select name = "kulkas">

<option value = "on">on</option>

<option value = "off">off</option>

</select>

</div></td>

</tr>

<tr>

<td class = "style2">Lampu </td>

<td class = "style2"><#status_ac></td>

<td><div align = "center">

<select name = "ac">

<option value = "on">on</option>

<option value = "off">off</option>

</select>

</div></td>

</tr>

(14)

<tr>

<td class = "style2">Yard Lamp</td>

<td class = "style2"><#status_Lampu></td>

<td><div align = "center">

<select name = "lampu">

<option value = "on">on</option>

<option value = "off">off</option>

</select>

</div></td>

</tr>

<tr>

<td class = "style2">Alarm</td>

<td class = "style2"><#status_alarm></td>

<td><div align = "center">

<select name = "alarm">

<option value = "on">on</option>

<option value = "off">off</option>

</select>

</div></td>

</tr>

</table>

<table width = "30%" border = "1">

<tr>

<td width = "12.5%"><div align = "left" class = "style2">Sensor

IR</div></td>

<td width = "17.5%"><div align = "center" class =

"style2"><#status_SensorIR></div></td>

<tr>

(15)

</table>

<br><br>

</p>

<p align = "center"> <span class = "style2">Tekan </span>

<span class = "style3">Execute </span><span class = "style2">untuk

mengeksekusi setting alat baru,atau </span>

<a href = "http://localhost/index.html" target="_self">Logout</a>

<span class = "style2">untuk keluar</span></p>

<p align = "center">

<input type = "submit" name = "Submit" value = "Execute">

</p>

</form>

<br><br>

<br><br>

<br><br>

<br><br>

<p align = "center">

<font color="#555555" size="1" face="Verdana, Arial, Helvetica,

sans-serif">©2009-2010™

Niel Corporated, Inc.</font>

</body>

</html>

(16)

LAMPIRAN C

SYNTAX PADA FORM PENGONTROLAN KEDUA

C.1. FILE EXECUTE.HTML

<html>

<head>

<meta http-equiv="Content-Type" content="text/html;

charset=iso-8859-1">

<title>Daniel's WebSite</title>

<style type = "text/css">

<!--

.style1 {color: #ff0000}

.style2 {color: #555555}

.style3 {color:#0000ff}

-->

</style>

</head>

<body>

<body bgcolor = "black">

<form name = "form1" method = "post" action = "execute.exe">

<br>

<br>

<p class = "style2" align = "center"> Setting Status Telah Berubah</p>

<p align = "center">

<br><br>

<table width = "30%" border = "1">

<tr>

(17)

<td width = "12.5%"><div align = "center" class = "style1">Nama

Alat</div></td>

<td width = "12.5%"><div align = "center" class =

"style1">Status</div></td>

<td width = "5%"><div align = "center" class = "style1">Switch

Alat</div></td>

</tr>

<tr>

<td class = "style2"> Pintu </td>

<td class = "style2"><#status_kulkas></td>

<td><div align = "center">

<select name = "kulkas">

<option value = "on">on</option>

<option value = "off">off</option>

</select>

</div></td>

</tr>

<tr>

<td class = "style2">Lampu </td>

<td class = "style2"><#status_ac></td>

<td><div align = "center">

<select name = "ac">

<option value = "on">on</option>

<option value = "off">off</option>

</select>

</div></td>

</tr>

<tr>

(18)

<td class = "style2">Yard Lamp</td>

<td class = "style2"><#status_Lampu></td>

<td><div align = "center">

<select name = "lampu">

<option value = "on">on</option>

<option value = "off">off</option>

</select>

</div></td>

</tr>

<tr>

<td class = "style2">Alarm</td>

<td class = "style2"><#status_alarm></td>

<td><div align = "center">

<select name = "alarm">

<option value = "on">on</option>

<option value = "off">off</option>

</select>

</div></td>

</tr>

</table>

<table width = "30%" border = "1">

<tr>

<td width = "12.5%"><div align = "left" class = "style2">Sensor

IR</div></td>

<td width = "17.5%"><div align = "center" class =

"style2"><#status_SensorIR></div></td>

<tr>

</table>

(19)

<br><br>

</p>

<p align = "center"> <span class = "style2">Tekan </span>

<span class = "style3">Execute </span><span class = "style2">untuk

mengeksekusi setting alat baru,atau </span>

<a href = "http://localhost/index.html" target="_self">Logout</a>

<span class = "style2">untuk keluar</span></p>

<p align = "center">

<input type = "submit" name = "Submit" value = "Execute">

</p>

</form>

<br>

<br>

<br>

<br>

<br>

<br>

<br>

<br>

<p align = "center">

<font color="#555555" size="1" face="Verdana, Arial, Helvetica,

sans-serif">©2009-2010™

Niel Corporated, Inc.</font>

</body>

</html>

(20)

LAMPIRAN D

SYNTAX PADA FILE AUTHENTIC.EXE

D.1. DEKLARASI FILE AUTHETIC.EXE

unit Umain;

interface

uses

SysUtils, Classes, HTTPApp, HTTPProd;

type

TWebModule1 = class(TWebModule)

PageProducer1: TPageProducer;

procedure WebModule1AuthentifikasiAction(Sender: TObject;

Request: TWebRequest; Response: TWebResponse; var Handled:

Boolean);

procedure PageProducer1HTMLTag(Sender: TObject; Tag: TTag;

const TagString: String; TagParams: TStrings;

var ReplaceText: String);

private

{ Private declarations }

public

{ Public declarations }

kulkas,ac,lampu,alarm,username,sensor :string;

procedure get_device_status;

function baca_port :byte;

(21)

end;

var

WebModule1: TWebModule1;

implementation

{$R *.dfm}

D.2. FUNCTION BACA PORT

function TWebModule1.baca_port : byte;

var temp : byte;

begin

asm

mov dx,$379

in al,dx

mov temp,al

end;

temp:=temp xor $7F;

result:= temp;

end;

D.3. PROCEDURE GET DEVICE STATUS

procedure TWebModule1.get_device_status;

begin

if(baca_port and $10)=$10 then kulkas :='on' else kulkas :='off';

if(baca_port and $20)=$20 then ac :='on' else ac :='off';

if(baca_port and $40)=$40 then lampu :='on' else lampu :='off';

if(baca_port and $80)=$80 then alarm :='on' else alarm :='off';

(22)

if(baca_port and $08)=$08 then sensor :='on' else sensor :='off';

end; object

D.4. OBJECT WEBMODULE1 EVENT ON ACTION

procedure TWebModule1.WebModule1AuthentifikasiAction(Sender:

TObject;

Request: TWebRequest; Response: TWebResponse; var Handled:

Boolean);

var

password :string;

begin

username := request.ContentFields.Values ['username'];

password := request.ContentFields.Values ['password'];

if((username = 'Daniel') and (password = '0727016')) or ((username =

'Guest') and (password = 'guest')) then

begin

pageproducer1.htmlFile :='producer.html';

response.Content:=pageproducer1.content;

end

else

response.Content := 'Access Denied...You Are hacker';

end;

D.5. OBJECT PAGEPRODUCER1 EVENT ON TAG HTML

procedure TWebModule1.PageProducer1HTMLTag(Sender: TObject;

Tag: TTag;

const TagString: String; TagParams: TStrings; var ReplaceText: String);

begin

get_device_status;

(23)

if CompareText(TagString,'username') = 0 then replacetext := username;

if CompareText(TagString,'status_kulkas') = 0 then replacetext := kulkas;

if CompareText(TagString,'status_ac') = 0 then replacetext := ac;

if CompareText(TagString,'status_lampu') = 0 then replacetext := lampu;

if CompareText(TagString,'status_alarm') = 0 then replacetext := alarm;

if CompareText(TagString,'status_SensorIR') = 0 then replacetext :=

sensor;

end;

end.

(24)

LAMPIRAN E

SYNTAX PADA FILE EXECUTE.EXE

E.1. DEKLARASI FILE EXECUTE.EXE

unit Umain2;

interface

uses

SysUtils, Classes, HTTPApp, HTTPProd;

type

TWebModule1 = class(TWebModule)

PageProducer1: TPageProducer;

procedure WebModule1executeAction(Sender: TObject;

Request: TWebRequest; Response: TWebResponse; var Handled:

Boolean);

procedure PageProducer1HTMLTag(Sender: TObject; Tag: TTag;

const TagString: String; TagParams: TStrings;

var ReplaceText: String);

private

{ Private declarations }

public

{ Public declarations }

data_status : byte;

kulkas, ac, lampu, sensor, alarm : string;

procedure get_device_status;

(25)

procedure tulisport(data:byte);

function bacaport:byte;

function bacaport1:byte;

end;

var

WebModule1: TWebModule1;

implementation

{$R *.dfm}

E.2. FUNGTION BACA PORT

function TWebModule1.bacaport: byte;

var temp : byte;

begin

asm

mov dx,$379

in al, dx

mov temp,al

end;

temp := temp shr 3;

result := temp;

end;

E.3. FUNGTION BACA PORT1

function TWebModule1.bacaport1: byte;

var temp : byte;

begin

(26)

asm

mov dx,$379

in al, dx

mov temp,al

end;

temp := temp xor $7F;

result := temp;

end;

E.4. PROCEDURE TULIS PORT

procedure TWebModule1.tulisport(data : byte);

begin

asm

mov dx, $378

mov al,data

out dx, al

end;

end;

E.5. OBJECT WEBMODULE1 EVENT ON ACTION

procedure TWebModule1.WebModule1executeAction(Sender: TObject;

Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);

var kulkas,ac,lampu,alarm : string;

begin

//kulkas dipasang pada LPT (port status) pada alamat $01

//ac dipasang pada LPT (port status) pada alamat $02

//lampu dipasang pada LPT (port status) pada alamat $04

//alarm dipasang pada LPT (port status) pada alamat $08

(27)

//baca data pada lpt port status

data_status :=bacaport;

//ambil request field yg dikimkan user

kulkas :=request.ContentFields.ValueFromIndex[0];

ac :=request.ContentFields.ValueFromIndex[1];

lampu :=request.ContentFields.ValueFromIndex[2];

alarm :=request.ContentFields.ValueFromIndex[3];

//nyalakan alat dan matikan alat sesuai dgn opsi yg dimasukan user

if kulkas ='on' then data_status := data_status or 01 else data_status :=

data_status xor 01;

if ac ='on' then data_status := data_status or 02 else data_status := data_status

xor 02;

if lampu ='on' then data_status := data_status or 04 else data_status :=

data_status xor 04;

if alarm ='on' then data_status := data_status or 08 else data_status :=

data_status xor 08;

//jika telah selesai menentukan alat yang aktif atau non aktif kemudan tulis port

tulisport(data_status);

//bacaport yg menunjukan status alat

data_status := bacaport;

//masuakn file execute.html ke page producer untuk ditampilkan ke user

pageproducer1.HTMLFile :='execute.html';

response.content:= pageproducer1.content;

end;

E.6. PROCEDURE GET DEVICE STATUS

procedure TWebModule1.get_device_status;

begin

//kulkas dipasang pada LPT (port status) pada alamat $01

(28)

//ac dipasang pada LPT (port status) pada alamat $02

//lampu dipasang pada LPT (port status) pada alamat $04

//alarm dipasang pada LPT (port status) pada alamat $08

if(bacaport1 and $10)=$10 then kulkas :='on' else kulkas :='off';

if(bacaport1 and $20)=$20 then ac :='on' else ac :='off';

if(bacaport1 and $40)=$40 then lampu :='on' else lampu :='off';

if(bacaport1 and $80)=$80 then alarm :='on' else alarm :='off';

if(bacaport1 and $08)=$08 then sensor :='on' else sensor :='off';

end;

E.7. OBJECT PAGEPRODUCER1 EVENT ON TAG HTML

procedure TWebModule1.PageProducer1HTMLTag(Sender: TObject; Tag:

TTag;

const TagString: String; TagParams: TStrings; var ReplaceText: String);

begin

get_device_status;

//pindah text yg berformat <#xxxx> pada file html untuk diganti dgn isi

masing2 variable

if CompareText(TagString,'status_kulkas') = 0 then replacetext := kulkas;

if CompareText(TagString,'status_ac') = 0 then replacetext := ac;

if CompareText(TagString,'status_lampu') = 0 then replacetext := lampu;

if CompareText(TagString,'status_alarm') = 0 then replacetext := alarm;

if CompareText(TagString,'status_SensorIR') = 0 then replacetext := sensor;

end;

end.

(29)

LAMPIRAN F

SYNTAX PADA ATMEGA 16

F.1. MEMASUKAN LIBRARY

#include <mega16.h> #include <delay.h>

F.2. PROCEDURE PUTAR MOTOR SEARAH JARUM JAM

void putarCW() {

PORTB = 0b11111110; delay_ms(30);

PORTB = 0b11111101; delay_ms(30);

PORTB = 0b11111011; delay_ms(30);

PORTB = 0b11110111; delay_ms(30);

}

F.3. PROCEDURE PUTAR MOTOR BERLAWANAN JARUM JAM

void putarCCW() {

PORTB = 0b11110111; delay_ms(30);

PORTB = 0b11111011; delay_ms(30);

PORTB = 0b11111101; delay_ms(30);

PORTB = 0b11111110; delay_ms(30);

}

(30)
(31)

}

if(PINA.2==1)PORTC = 0xBF; }

while(PINA.0==0) {

while(PINA.4==0) {

putarCCW(); }

if(PINA.4==1)PORTC = 0xFD; }

}; }

(32)

LAMPIRAN G

FOTO – FOTO ALAT

G.1. PEMBUATAN PCB

(33)

G.2. RANGKAIAN PENGENDALI UNTUK DC

G.3. RANGKAIAN PENGENDALI UNTUK AC

(34)

G.4. RANGKAIAN SENSOR CAHAYA

G.5. RANGKAIAN SENSOR IR

(35)

G.6. RANGKAIAN ALARM

G.7. RANGKAIAN ATMEGA 16

(36)
(37)

BAB I

PENDAHULUAN

1.1 LATAR BELAKANG

Pada zaman sekarang ini penggunaan komputer dalam

kehidupan sehari – hari sudah tidak dapat dipungkiri lagi

keberadaannya, apalagi dengan perkembangan internet yang

telah banyak digunakan oleh berbagai pihak. Semua informasi

dapat ditangani dengan cepat. Sebagai contoh, hampir di setiap

kantor, pabrik, pertokoan, instansi pemerintah bahkan hampir di

setiap rumah pun sudah menggunakan komputer dan teknologi

internet yang bertujuan untuk memudahkan para pengguna

melakukan pekerjaannya. Dengan teknologi internet, ruang dan

waktu seakan tidak lagi menjadi batasan. Dengan internet sangat

memungkinkan untuk mengakses informasi dari mana saja dan

kapan saja.

Perkembangan internet tidak berhenti hanya sampai pada

penyampaian informasi saja. Dalam hal pengendalian, internet

juga mempunyai andil yang cukup besar. Jika teknologi internet ini

diterapkan di rumah tentunya akan menjadi sebuah aplikasi yang

berguna. Maka dari itu dengan proyek Smart House berbasis

internet ini sangat memungkinkan untuk mengakses peralatan

1

(38)

2

Universitas Kristen Maranatha

rumah dari mana saja dan kapan saja. Selain itu aplikasi ini

mempunyai kemampuan untuk memantau kondisi rumah melalui

sensor yang terpasang.

1.2 IDENTIFIKASI MASALAH

• Bagaimana cara membuat aplikasi untuk memantau kondisi

rumah menggunakan web?

• Bagaimana cara membuat alat untuk mengontrol peralatan

rumah menggunakan web?

1.3 TUJUAN

• Untuk membuat aplikasi pemantau kondisi rumah

menggunakan web.

• Untuk membuat alat pengontrol peralatan rumah

menggunakan web.

1.4 PEMBATASAN MASALAH

• Proyek ini menggunakan program Delphi, HTML, User Port 1.0

dan Apache Webserver.

Webserver pada proyek ini masih menggunakan LocalHost.

• Aplikasi ini hanya sebatas pengontrolan alat dan pemantauan

kondisi rumah dengan sensor.

(39)

3

Universitas Kristen Maranatha

• Hardware pada proyek ini menggunakan rangkaian sensor dan

rangkaian relay yang diatur menggunakan transistor.

1.5 SISTEMATIKA PENULISAN

Bab I : Pendahuluan

Membahas tentang latar belakang, identifikasi

masalah, tujuan dan pembatasan masalah.

Bab II : Kerangka Teoritis

Membahas tentang teori-teori yang menunjang topik

Tugas Akhir.

Bab III : Perancangan dan Pemodelan

Membahas tentang rancangan aplikasi Pengendali

Peralatan Rumah Menggunakan Web yang telah

dibuat.

Bab IV : Hasil Dan Pembahasan

Membahas tentang hasil dari aplikasi Pengendali

Peralatan Rumah Menggunakan Web yang telah

dibuat.

Bab V : Kesimpulan dan Saran

Membahas tentang kesimpulan dari seluruh

pembahasan topik serta saran yang mungkin

(40)

BAB V

KESIMPULAN DAN SARAN

5.1 KESIMPULAN

Berdasarkan data pengamatan dan analisi data, Tugas Akhir

ini dapat disimpulkan sebagai berikut :

• Sistem Pengendalian Peralatan Rumah Menggunakan Web

telah berhasil direalisasikan dan berjalan dengan baik.

• Program pengendalian dan alat pengendali dapat berjalan

secara sinkron. Dengan tingkat keberhasilan pengontrolan dan

pemantauan alat sebesar 100%.

5.2 SARAN

Berdasarkan hasil evaluasi, Tugas Akhir ini dapat

dikembangkan lebih lanjut dengan beberapa saran sebagai berikut :

• Perangkat keras dan alat yang dikendalikan dapat ditambah

sesuai dengan kebutuhan. Seperti ditambahnya Web Cam

untuk mendapatkan kondisi visual dari alat yang dikendalikan.

(41)

• Perangkat lunak dapat dikembangkan dengan tidak

menggunakan local host, tetapi dapat dikembangkan

menggunakan Word Wide Web dan tentunya dengan

memperhatikan tinggkat keamananya.

(42)

DAFTAR PUSTAKA

1. Andrianto, Heri. 2008. Pemrograman Mikrokontroler AVR ATmega 16.

Bandung : Informatika

2. Komputer, Wahana. 2009. Panduan Aplikatif dan Solusi Aplikasi Cerdas

Menggunakan Delphi. Yogyakarta : Andi

3. Supriyadi, Moh & Sugiri, A.Md., S.PD. 2006. Program Sistem Pengendali

dengan Delphi. Yogyakarta : Andi.

4. Supriyadi, Muhammad. 2005. Pemrograman IC PPI 8255 Menggunakan

Delphi. Yogyakarta : Andi.

Referensi

Dokumen terkait

Tako đ er je analizirana mogu ć ost postizanja 100% obnovljivog otoka, budu ć i su sve potrebe za toplinskom energijom što se ti č e pripreme tople vode ve

[r]

Hasil penelitian ini menunjukkan bahwa: (1) Terdapat pengaruh positif dan signifikan Kompensasi terhadap Kinerja Pegawai di Dinas Kelautan dan Perikanan di

(Suatu hal yang dapat diterapkan secara umum untuk semua persaingan tidak jujur atau curang dalam perdagangan dan bisnis, tetapi terutama diterapkan pada praktik berusaha

Dari gambar 2.1 dapat dilihat bahwa jarak aman yang akan dihitung jarak dari titik gangguan ke garis lingkaran yang berwarna biru atau biasa disebut dengan Arc flash

Program Jaminan Sosial bagi Tenaga Kerja Harian Lepas, Borongan dan Perjanjian Kerja Waktu Tertentu pada Sektor Jasa Konstruksi yang diatur melalui Keputusan Menteri Tenaga Kerja

Hasil dari penelitian adalah terdapat pengaruh yang signifikan menejemen mutu ISO 9001:2008 dan kepemimpinan kepala sekolah secara bersama-sama terhadap terhadap

Merupakan suatu latihan yang digunakan dengan gerakan yang dihasilkan oleh tenaga/ kekuatan dari luar tanpa adanya kontraksi otot atau aktifitas otot. Semua gerakan yang