Sistem Pengendali Peralatan Rumah Berbasis Web.

(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

Halaman

ABSTRAK ... i

ABSTRACT... ii

KATA PENGANTAR ... iii

DAFTAR ISI... v

DAFTAR GAMBAR ... ix

DAFTAR TABEL ... xi

BAB I. PENDAHULUAN ... 1

1.1 LATAR BELAKANG... 1

1.2 IDENTIFIKASI MASALAH ... 2

1.3 TUJUAN ... 2

1.4 PEMBATASAN MASALAH ... 2

1.5 SISTEMATIKA PENULISAN ... 3

BAB II. LANDASAN TEORI ... 4

2.1 SISTEM PENGENDALI ... 4

2.1.1 LOOP TERBUKA ... 4

2.1.2 LOOP TERTUTUP ... 5

2.2 BAHASA PEMROGRAMAN ... 7

2.2.1 BAHASA TINGKAT RENDAH ... 8

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

2.3.2 MENU DAN TOOLBAR... 12

2.3.3 KOMPONEN PALLETE... 12

2.3.4 OBJECTTREEVIEW... 13

2.3.5 OBJECTINSPECTOR... 14

2.3.5.1 TABPROPERTIES... 14


(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>

</table>

<label></label> <p>&nbsp;</p> </font>

</form> <br> <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> </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)

F.4. DEKLARASI PORT void main(void) { PORTA=0x00; DDRA=0x00; PORTB=0xff; DDRB=0xff; PORTC=0xff; DDRC=0xff; PORTD=0xff; DDRD=0xff; TCCR0=0x00; TCNT0=0x00; OCR0=0x00; TCCR1A=0x00; TCCR1B=0x00; TCNT1H=0x00; TCNT1L=0x00; ICR1H=0x00; ICR1L=0x00; OCR1AH=0x00; OCR1AL=0x00; OCR1BH=0x00; OCR1BL=0x00; ASSR=0x00; TCCR2=0x00; TCNT2=0x00; OCR2=0x00; MCUCR=0x00; MCUCSR=0x00; TIMSK=0x00; ACSR=0x80; SFIOR=0x00;

F.5. MAIN PROGRAM

while (1) { while(PINA.0==1) { while(PINA.2==0) { putarCW();


(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 membantu dalam perkembangan aplikasi tersebut.


(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.


(1)

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


(2)

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.


(3)

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 membantu dalam perkembangan aplikasi tersebut.


(4)

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.

83


(5)

• Perangkat lunak dapat dikembangkan dengan tidak menggunakan local host, tetapi dapat dikembangkan menggunakan Word Wide Web dan tentunya dengan memperhatikan tinggkat keamananya.

Universitas Kristen Maranatha 84


(6)

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.

Universitas Kristen Maranatha 85