ABSTRAK
Kami nengembangkan sebuah aplikasi website untuk mengendalikan beragam peralatan yang dikendalikan melalui koneksi internet.
Aplikasi tersebut menggubakan perangkat keras dan perangkat lunak. Perangkat kerasnya merupakan kombinasi dari kontrol yang digunakan sebagai saklar, sebagai contoh dari beberapa alat adalah lampu, televisi dan kunci pintu. Untuk tujuan ini, digunakan sebuah microcontroller ATMega16 melalui paralel port.
Bagian perangkat lubak terdiri dari HTML sebagai tampilan untuk pengguna dan program dikembangkan menggunakan Borland Delphi untuk dapat disambungkan dengan perangkat keras dan HTML itu sendiri. ATMega16 diciptakan menggunakan pemrograman bahasa C.
ABSTRACT
We develop a web application to control various devices remotely via internet connection.
The application includes hardware and software. The hardware part consist combination of controls which are used as switch as to various devices are lamp, tv and door lock. For this purpose a microcontroller ATMega16 is used via parallel port.
The software part consist of HTML as the front end user interface and codes developed using Borland Delphi to communicate with the hardware and the HTML. ATMega16 is programmed using C language.
DAFTAR ISI
LEMBAR PENGESAHAN...ii
PERNYATAAN ORISINALITAS LAPORAN TUGAS AKHIR ... iii
PERNYATAAN PUBLIKASI LAPORAN TUGAS AKHIR ... iv
KATA PENGANTAR ... v
ABSTRAK.. ... vii
ABSTRACT ... viii
DAFTAR ISI ... ix
DAFTAR GAMBAR ... xiii
DAFTAR TABEL ... xv
DAFTAR PROGRAM ... xvii
BAB I PENDAHULUAN ... 1
1.1 Latar Belakang ... 1
1.2 Rumusan Masalah ... 2
1.1 Tujuan ... 2
1.1 Batasan Maslah ... 2
1.1 Sistematika Pembahasan ... 3
BAB II LANDASAN TEORI ... 5
2.1 Sistem Pengendali ... 5
2.1.1 Loop Terbuka ... 5
2.1.2 Loop Tertutup ... 6
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 ... 8
2.3 Bahasa Delphi ... 8
2.3.1 Common Getway Interface ... 9
2.4 Userport 1.0 ... 10
2.5 HTML ... 11
2.6 Web Server ... 13
2.7 Parallel Port ... 14
2.8 Komponen-Komponen Rangkaian Pengendali ... 17
2.9 Mikrokontroler ATMEGA 16 ... 19
2.9.1 Konfigurasi Pin AVR ATMEGA 16 ... 21
2.9.3 Arsitektur Mikrokontroler AVR RISC ... 26
2.9.4 Memori Program ... 26
2.9.5 Pemrograman Mikrokontroler AVR ATMEGA 16 ... 27
2.9.5.1 Penulisan Program Dalam Bahasa C ... 28
2.10 Motor Stepper ... 29
2.11 Modul Inpout32.dll ... 30
2.12 Switching Power Supply ... 31
2.13 LCD ... 31
2.14 Lampu Led ... 31
2.15 Kipas ... 31
BAB III ANALISIS DAN DESAIN ... 32
3.1 Analisis ... 32
3.2 Gambar Keseluruhan ... 32
3.2.1 Persyaratan Antarmuka Eksternal ... 33
3.2.2 Antarmuka dengan Pengguna ... 33
3.2.3 Antarmuka Perangkat Keras ... 33
3.2.4 Antarmuka Perangkat Lunak ... 34
3.2.5 Antarmuka Komunikasi ... 34
3.2.6 Fitur-Fitur Produk Perangkat Lunak ... 34
3.2.6.1 Fitur Menyalakan dan Mematikan Lampu ... 35
3.2.6.1.1 Tujuan ... 35
3.2.6.1.2 Urutan Stimulus ... 35
3.2.6.1.3 Persyaratan Fungsionalitas yang Berhubungan ... 35
3.2.6.2 Fitur Menyalakan dan Mematikan Kipas Angin ... 35
3.2.6.2.1 Tujuan ... 35
3.2.6.2.2 Urutan Stimulus ... 36
3.2.6.2.3 Persyaratan Fungsionalitas yang Berhubungan ... 36
3.2.6.3 Fitur Mengunci dan Membuka Kunci Pintu ... 36
3.2.6.3.1 Tujuan ... 36
3.2.6.31.2 Urutan Stimulus ... 36
3.2.6.3.3 Persyaratan Fungsionalitas yang Berhubungan ... 37
3.2.6.4 Fitur Menyalakan dan Mematikan Tv ... 37
3.2.6.4.1 Tujuan ... 37
3.2.6.4.2 Urutan Stimulus ... 37
3.2.6.4.3 Persyaratan Fungsionalitas yang Berhubungan ... 38
3.2.6.5 Fitur Melihat Suhu Dalam Ruangan ... 38
3.2.6.5.2 Urutan Stimulus ... 38
3.2.6.5.3 Persyaratan Fungsionalitas yang Berhubungan ... 38
3.3 Desain Perangkat Lunak ... 38
3.3.1 Pemodelan Perangkat Lunak ... 39
3.3.2 Activity Diagram ... 43
3.3.3 Desain Penyimpanan Data ... 48
3.3.3.1 Komponen Perangkat Lunak ... 48
3.3.3.2 Konsep Eksekusi ... 48
3.3.4 Desain Antarmuka ... 49
BAB IV PENGEMBANGAN PERANGKAT LUNAK ... 56
4.1 Implementasi Kelas / Modul ... 56
4.1.1 Pembagian Kelas ... 56
4.1.2 Keterkaitan Antar Kelas ... 56
4.2 Implementasi Penyimpanan Data ... 69
4.2.1 Top Down Implementasi ... 70
4.2.2 Error Handling ... 70
4.2.3 Ulasan Realisasi Fungsionalitas ... 71
4.2.3.1 Perangkat Keras ... 71
4.2.3.2 Personal Komputer ... 72
4.2.3.3 Paralel Port ... 72
4.2.3.4 AVR Microcontroller ... 72
4.2.3.5 Switching Power Supply ... 72
4.2.3.6 LCD ... 73
4.2.3.7 Motor Stepper ... 73
4.2.3.8 Lampu Led ... 73
4.2.3.9 Kipas ... 73
4.2.4 Implementasi Antarmuka ... 74
BAB V TESTING DAN EVALUASI SISTEM ... 77
5.1 Rencana Pengujian ... 77
5.1.1 Test Case ... 77
5.1.2 Uji Fungsionalitas Modul/Class ... 81
5.2 Pelaksanaan Pengujian ... 82
5.2.1 Black Box ... 82
5.3 Ulasan Hasil Evaluasi ... 87
5.3.1 Pengujian Perangkat Keras ... 87
5.3.2 Pengujian Perangkat Lunak ... 88
6.1 Kesimpulan ... 89
6.2 Saran ... 89
DAFTAR PUSTAKA ... xviii
DAFTAR GAMBAR
Gambar 2.1 Sistem Pengendali Loop Terbuka ... 5
Gambar 2.2 Sistem Pengendali Loop Tertutup ... 6
Gambar 2.3 Tampilan UserPort 1.0 ... 10
Gambar 2.4 Port Parallel pada PC ... 15
Gambar 2.5 Layout Konektor DB25 ... 15
Gambar 2.6 Relay ... 19
Gambar 2.7 Konfigurasi Pin ATMEGA 16 ... 21
Gambar 2.8 Block Diagram ATMEGA 16 ... 25
Gambar 2.9 Arsitektur Mikrokontroler AVR RISC ... 26
Gambar 2.10 Peta Memori Program AVR ATMega 16 ... 27
Gambar 2.11 Motor Stepper ... 29
Gambar 3.1 Keseluruhan Sistem Pengendalian Alat Melalui Web ... 31
Gambar 3.2 Use Case Diagram ... 38
Gambar 3.3 Activity Diagram Membuka Kunci Pintu ... 42
Gambar 3.4 Activity Diagram Menyalakan Lampu ... 43
Gambar 3.5 Activity Diagram Menyalakan Tv ... 43
Gambar 3.6 Activity Diagram Memantau Suhu ... 44
Gambar 3.7 Activity Diagram Mematikan Lampu ... 44
Gambar 3.8 Activity Diagram Mematikan Tv ... 45
Gambar 3.9 Activity Diagram Menyalakan Kipas ... 45
Gambar 3.10 Activity Diagram Mematikan Kipas ... 46
Gambar 3.11 Activity Diagram Mengunci Pintu ... 46
Gambar 3.12 Diagram Alir Sistem... 48
Gambar 3.13 Maket Pengendali Alat via Web ... 49
Gambar 3.14 Tampilan Awal Borland Delphi 7.0 ... 50
Gambar 3.15 Inpout32.dll ... 50
Gambar 3.16 index.html ... 51
Gambar 3.17 Producer.html ... 51
Gambar 3.18 Execute.html ... 52
Gambar 3.19 Authentifikasi ... 53
Gambar 3.21 Execute... 53
Gambar 3.22 Aplikasi Desktop ... 54
Gambar 4.1 Blok Diagram Sistem ... 70
Gambar 4.2 Form Login ... 73
Gambar 4.3 Form Producer ... 73
Gambar 4.4 Form Execute ... 74
Gambar 4.5 Eksekusi Desktop ... 75
DAFTAR TABEL
Tabel 2.1 Pengalamatan Register pada Port Printer... 14
Tabel 2.2 Nomor dan Nama Sinyal LPT ... 16
Tabel 2.3 Karakteristik Masing-Masing Pin pada Port Parallel ... 17
Tabel 2.4 Fungsi Khusus Port A ... 22
Tabel 2.5 Fungsi Khusus Port B ... 22
Tabel 2.6 Fungsi Khusus Port C ... 23
Tabel 2.7 Fungsi Khusus Port D ... 24
Tabel 2.8 Putaran Searah Jarum Jam Secara Full Step Mode ... 29
Tabel 2.9 Putaran Searah Jarum Jam Secara Half Step Mode ... 30
Tabel 3.1 Notasi Use Case Membuka Kunci Pintu ... 50
Tabel 3.2 Notasi Use Case Menyalakan Lampu ... 50
Tabel 3.3 Notasi Use Case Menyalakan Tv ... 50
Tabel 3.4 Notasi Use Case Memantau Suhu ... 51
Tabel 3.5 Notasi Use Case Mematikan Lampu ... 51
Tabel 3.6 Notasi Use Case Mematikan Tv ... 51
Tabel 3.7 Notasi Use Case Menyalakan Kipas ... 52
Tabel 3.8 Notasi Use Case Mematikan Kipas ... 52
Tabel 3.9 Notasi Use Case Mengunci Pintu ... 52
Tabel 5.1 Membuka Kunci Pintu ... 76
Tabel 5.2 Menyalakan Lampu ... 77
Tabel 5.3 Menyalakan Tv ... 77
Tabel 5.4 Memantau Suhu ... 78
Tabel 5.5 Mematikan Lampu ... 78
Tabel 5.6 Mematikan Tv ... 79
Tabel 5.7 Menyalakan Kipas... 79
Tabel 5.8 Mematikan Kipas ... 80
Tabel 5.9 Mengunci Pintu ... 80
Tabel 5.10 Black Box Test Mengunci Pintu ... 81
Tabel 5.11 Black Box Test Menyalakan Lampu ... 82
Tabel 5.13 Black Box Test Memantau Suhu ... 83
Tabel 5.14 Black Box Test Mematikan Lampu ... 83
Tabel 5.15 Black Box Test Mematikan Tv ... 84
Tabel 5.16 Black Box Test Menyalakan Kipas ... 85
Tabel 5.17 Black Box Test Mematikan Kipas ... 85
DAFTAR PROGRAM
Program 4.1 Index ... 56
Program 4.2 Wrong ... 57
Program 4.3 Producer ... 59
Program 4.4 Execute ... 60
Program 4.5 Authentic ... 61
Program 4.6 Execute PageProducer 1 ... 62
Program 4.7 Execute PagePorducer 2 ... 63
Program 4.8 Execute PageProducer 3 ... 64
Program 4.9 Execute PageProducer 4 ... 65
Program 4.10 CodeVisionAVR 1 ... 66
Program 4.11 CodeVisionAVR 2 ... 66
Program 4.12 CodeVisionAVR 3 ... 67
Program 4.13 Eksekusi Desktop ... 68
BAB I
PENDAHULUAN
1.1
Latar Belakang
Perkembangan internet dan komputer di zaman sekarang ini begitu
pesat dan telah banyak digunakan oleh berbagai pihak. Semua informasi
dapat ditangani dengan cepat menggunakan gabungan dari internet dan
komputer. 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.
2
1.2
Rumusan Masalah
Pada bagian ini menjelaskan tentang masalah yang akan dihadapi.
Berikut adalah masalah yang akan dihadapi :
Bagaimana cara untuk memantau kondisi rumah menggunakan
web.
Bagaimana cara untuk mengontrol peralatan rumah menggunakan
web.
1.3
Tujuan
Bagian ini merupakan tujuan dari pembuatan Sistem pengendali
alat melalui web :
Membuat aplikasi pemantau kondisi rumah menggunakan web.
Membuat alat pengontrol peralatan rumah yang dapat dikendalikan
melalui web.
1.4
Batasan Masalah
Bagian in merupakan bagian batasan masalah yang akan
dikerjakan :
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.
Pengontrolan alat hanya sebatas on / off.
Hardware pada proyek ini menggunakan rangkaian sensor dan
rangkaian relay yang diatur menggunakan transistor.
IP address yang digunakan adalah IP static.
3
1.5
Sistematika Pembahasan
Sistematika pembahasan ini membahas tentang isi dari bab-bab
yang akan dibuat :
Bab I
: Pendahuluan
Membahas tentang latar belakang, identifikasi
masalah, tujuan dan pembatasan masalah.
Bab II
: Landasan Teori
Membahas tentang teori-teori yang menunjang topik
Tugas Akhir.
Bab III
: Analisi dan Desain
Membahas tentang rancangan aplikasi Sistem
Pengendali Peralatan Alat Menggunakan Web yang
telah dibuat. Diantaranya software yang digunakan
berserta penjelasan operasi-operasi yang digunakan
serta fitur-fitur yang tersedia.
Bab IV
: Pengembangan Perangkat Lunak
Membahas tentang perangkat keras yang digunakan
dalam
pembuatan
Sistem
Pengendalian
Alat
Menggunakan
Web.
Dan
juga
menjelaskan
4
Bab V
: Testing dan Evaluasi Sistem
Menjelaskan mengenai tahapan-tahapan dalam
pengujian aplikasi. Tahapan-tahapan pengujian
aplikasi ini terdiri dari pengujian terhadap aplikasi,
perjalanan metodologi pengujian aplikasi dan ulasan
mengenai hasil evaluasi aplikasi.
Bab VI
: Kesimpulan dan Saran
Membahas
tentang
kesimpulan
dari
seluruh
BAB VI
KESIMPULAN DAN SARAN
6.1
Kesimpulan
Berdasarkan hasil pengujian pada Tugas Akhir ini maka dapat
disimpulkan beberapa hal sebagai berikut:
1. Sistem yang dirancang dan direalisasi berupa pengendali alat
melalui web berhasil direalisasikan.
2. Menjadi lebih praktis karena alat-alat yang dikendalikan dapat
dikendalikan sesuai dengan keinginan (on/off).
6.2
Saran
Setelah mengevaluasi Tugas Akhir ini, penulis berharap Tugas
Akhir ini dapat dikembangkan lebih lanjut dengan beberapa saran sebagai
berikut:
1. Untuk lebih memudahkan pengguna, pengendali alat melalui
web
ini disarankan mengunakan sensor.
2. Apabila ingin menambah alat yang akan dikontrol, maka AVR
microcontroller
harus ditambah. Hal ini dikarenakan keterbatasan
DAFTAR PUSTAKA
1. Andi. 2009.
Aplikasi Cerdas Menggunakan Delphi. Yogyakarta :
Wahana Komputer
2. Andrianto, Heri. 2008.
Pemrograman Mikrokontroler AVR ATmega
16. Bandung : Informatika
3. Komputer, Wahana. 2009.
Panduan Aplikatif dan Solusi Aplikasi
Cerdas Menggunakan Delphi. Yogyakarta : Andi
4. Cahyo,
http://blog.ub.ac.id/chayoo/2010/03/08/paralel-printer-portdb-25/, 10 Desember 2010
5. Devstopfix,
http://stackoverflow.com/questions/58621/how-do-i-hash-a-string- with-delphi, 29 Juni 2011
6. Farnell,
http://dev.emcelettronica.com/atmega128l-8-bit-microcontroller-128k-bytes-system-programmable-flash,
15
Desember 2010
7. Idungjambu,
http://idungjambu.wordpress.com/ , 10 Desember
2010
8. Jimmy,
World
of
Microcontroler
and
Microprocessor,
http://www.8051projects.net/forum-t9359.html, 12 Desember 2010
9. Layada,
http://www.ladyada.net/make/digg/programinterface.html ,
12 Desember 2010
10. Rivia,
http://rivia-mesin.blogspot.com/2010/05/pengenalan-atmega-16.html, 15 Desember 2010
11. Tjahyadi, Christianto,
http://christiantotjahyadi.files.wordpress.com,
13 Desember 2010
12. Triple-A,
http://blog.ub.ac.id/triplea/2010/03/28/parallel-port/
, 10