Mikrokontroller sebagai pengendali kelistrikan gedung Kantor SMK YPM 2 Sepanjang dengan Timer kontrol.

(1)

SEPANJANG DENGAN TIMER KONTROL

SKRIPSI

Disusun Oleh : MARYUDHA RI PUTRA

NPM. 0534010025

Kepada

JURUSAN TEKNIK INFORMATIKA

FAKULTAS TEKNOLOGI INDUSTRI - FTI

UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN“

JAWA TIMUR


(2)

SEPANJANG DENGAN TIMER KONTROL

SKRIPSI

Diajukan Untuk Memenuhi Sebagai Persyaratan Dalam Memperoleh Gelar Sarjana Komputer

Program Studi Teknik Informatika

Disusun Oleh :

MARYUDHA RI PUTRA

NPM. 0534010025

Kepada

JURUSAN TEKNIK INFORMATIKA

FAKULTAS TEKNOLOGI INDUSTRI - FTI

UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN“

JAWA TIMUR


(3)

MIKROKONTROLLER SEBAGAI PENGENDALI

KELISTRIKAN GEDUNG KANTOR SMK YPM 2

SEPANJANG DENGAN TIMER KONTROL

Disusun Oleh :

MARYUDHA RI PUTRA

NPM. 0534010025

Telah Disetujui Untuk Mengikuti Ujian Negara Lisan Gelombang II Tahun Akademik 2010 / 2011

Pembimbing Utama

Basuki Rahmat, S.Si., MT.

NPT. 369 070 602 09

Pembimbing Pendamping

Achmad Junaidi, S.Kom

NPT. 378 110 401 99

Mengetahui,

Ketua Program Studi Teknik Informatika Fakultas Teknologi Industri

Universitas Pambangunan Nasional ”Veteran” Jawa Timur

Basuki Rahmat, S.Si., MT.

NPT. 369 070 602 09


(4)

MIKROKONTROLLER SEBAGAI PENGENDALI

KELISTRIKAN GEDUNG KANTOR SMK YPM 2

SEPANJANG DENGAN TIMER KONTROL

Disusun Oleh :

MARYUDHA RI PUTRA

NPM. 0534010025

Telah Dipertahankan di Hadapan dan Diterima Oleh Tim Penguji Skripsi Program Studi Teknik Informatika Fakultas Teknologi Industri

Universitas Pembangunan Nasional “Veteran” Jawa Timur Pada Tanggal 26 November 2010

Pembimbing, Tim Penguji,

1. 1.

Basuki Rahmat, S.Si., MT. Moh. Irwan Afandi, ST. Msc.

NPT. 369 070 602 09 NPT. 37607 070 220

2. 2.

Achmad Junaidi, S.Kom. I Made Kamisutara S.Kom.,M.Kom

NPT. 378 110 401 99

3.

Syurfah Ayu, S.Kom

NPT. 385 011 000 2941

Mengetahui,

Dekan Fakultas Teknologi Industri Universitas Pembangunan Nasional “Veteran”

Jawa Timur

Ir. Sutiyono, MT.

NIP. 19600713 198703 1 001


(5)

Pembimbing II : Achmad Junaidi, S. Kom Penyusun : Maryudha RI Putra

ABSTRAKSI

Pada gedung kantor SMK YPM 2 Sepanjang, perangkat listrik masih dikontrol secara manual sehingga karyawan harus disibukkan dengan rutinitas naik turun tangga untuk mematikan lampu, maka tidak jarang karyawan sering lupa untuk mematikan lampu, hal ini menyebabkan pemakaian listrik tidak efisien. Untuk menyelesaikan masalah dalam pengontrolan listrik, yaitu membuat aplikasi yang dapat mengontrol listrik secara otomatis dan terpusat dengan metode penjadwalan dengan menggunkan bahasa pemrogrman Delphi 7.0. Dimana jadwal disimpan pada database untuk menjadwalkan atau mengatur kapan listrik aktif dan kapan listrik padam sesuai kebutuhan. Sebagai pengontrol listrik dibutuhkan mikrokontroler ATMega 16 yang telah diisi program menggunakan pemrograman

Codevision AVR, untuk komunikasi data antara mikrokontroler dengan komputer

dibutuhkan kabel converter RS 232 ke USB.

Dengan pengujian pada aplikasi yang telah dilakukan didapatkan bahwa aplikasi ini mampu untuk mengontrol listrik suatu ruangan dengan metode penjadwalan, sehingga karyawan tidak perlu disibukkan lagi dengan kegiatan naik turun tangga untuk memadamkan atau mematikan listrik (lampu). Sehingga dapat disimpulkan bahwa aplikasi dapat berfungsi dengan baik dan keluarannya sesuai dengan apa yang diharapkan dan sesuai dengan tujuan awal penelitian dan perancangan aplikasi ini.

Kata Kunci : Pengontrol Listrik , Mikrokontroler ATMega 16


(6)

Abstraksi... i

Daftar Isi ... ii

Daftar Gambar...v

Daftar Tabel ... vii

BAB I PENDAHULUAN 1.1. Latar Belakang ...1

1.2. Rumusan Masalah ...2

1.3. Batasan Masalah ...3

1.4. Tujuan Penelitian ...3

1.5. Manfaat Penelitian ...3

1.6. Metodologi Penelitian ...4

1.7. Sistematika Penulisan ...5

BAB II TINJAUAN PUSTAKA 2.1. Sejarah Singkat SMK YPM 2 Taman Sidoarjo...8

2.2. Devinisi Mikrokontroler ...11

2.2.1. Perbedaan Antara Mikrokontroller Type AVR dengan Type MCS-51...12

2.3. Mikrokontroler ATMega 16...14

2.3.1. Konfigurasi Mikrokontroler AT Mega 16...16

2.3.2. Deskripsi Pin ...18

2.3.3. Memory ATMega 16...21

2.4. Sistem Saklar dan Sensor ...21

2.5. Sistem Transceiver ...21

2.6. Casing...22

2.7. Miniatur Bangunan Gedung...22

2.8 Serial Data RS-232 atau COM1...22

2.8 1. Standart Konektor ...22

2.8.2. Converter USB Ke Serial RS-232...23


(7)

2.11.Definisi MySQL...25

2.11.1. Program DataBase MySQL ...26

2.12.Delphi 7...28

2.12.1.Mengenal Delphi 7...28

2.13.Unified Modelling Language (UML)...30

2.13.1.Konsepsi Dasar UML...30

2.13.2.Use Case Diagram...32

2.13.3.Class Diagram ...33

2.13.4.Statechart Diagram...36

2.13.5.Aktivity Diagram ...37

2.13.6.Sequence Diagram ...38

2.13.7.Collaboration Diagram...39

BAB III ANALISA DAN PERANCANGAN SISTEM...41

3.1 Analisa Sistem... 41

3.1.1Blok Diagram Interface... 42

3.2 Perancangan Database... 44

3.2.1UML (Unified Modelling Language)... 44

3.2.1.1 Use Case Diagram ... 44

3.2.1.2 Activity Diagram ... 46

3.2.1.3 Sequence Diagram ... 50

3.2.1.4 Class Diagram... 51

3.3 Perancangan Hardware... 52

3.3.1Perencanaan Mikrokontroler ATMega 16 ... 54

3.3.1.1 Driver Lampu LED... 56

3.3.1.2 Sensor Cahaya ... 56

3.4 Perancangan Antarmuka ... 57

BAB IV IMPLEMENTASI SISTEM ...62

4.1 Sistem Pengontol Listrik ...62


(8)

4.1.1.2 Menu Registrasi Operator ...63

4.1.1.3 Menu Utama...65

4.1.1.4 Menu Jadwal Ruang...66

4.1.1.5 Menu Perijinan ...68

4.1.1.6 Menu Laporan ...69

BAB V UJICOBA DAN EVALUASI ...70

5.1 Ujicoba Hardware...70

5.1.1 Pengujian Mikrokontroler ATMega 16...70

5.1.2 Koneksi Software Dengan Kabel Converter USB ke RS 232 ...71

5.1.3 Pengisian Program Pada Mikrokontroler ...72

5.2 Ujicoba Aplikasi ...74

5.2.1 Ujicoba Form Jenis Ruang...75

5.2.2 Ujicoba Form Jadwal Ruang...77

5.2.3 Ujicoba Form Utama ...80

5.2.4 Ujicoba Cetak Laporan ...81

BAB VI KESIMPULAN DAN SARAN ...84

6.1. Kesimpulan ...84

6.2. Saran...84

DAFTAR PUSTAKA ...85


(9)

Gambar 2.1. Gedung Kelas SMK YPM 2 Sepanjang ...9

Gambar 2.2. Gedung Kantor SMK YPM 2 Sepanjang ...10

Gambar 2.3. Denah Gedung Kantor SMK YPM 2 Sepanjang ...10

Gambar 2.4. Blok Diagram Mikrokontroler ATMega 16 ...14

Gambar 2.5. Pin – Pin ATMega 16...14

Gambar 2.6. IDE Delphi ...29

Gambar 2.7. Contoh Use Case Diagram ...33

Gambar 2.8. Public Dalam Class ...34

Gambar 2.9. Run-time Dalam Class...34

Gambar 2.10. Package Dalam Class...35

Gambar 2.11. Contoh Class Diagram ...36

Gambar 2.12. Contoh Statechart Diagram ...37

Gambar 2.13. Contoh Activity Diagram ...38

Gambar 2.14. Contoh Sequence Diagram...39

Gambar 2.15. Contoh Collaboration Diagram ...40

Gambar 3.1. Blok Diagram Interface...42

Gambar 3.2. Proses Serah Terima Data ...43

Gambar 3.3. Use Case Diagram...45

Gambar 3.4. Activity Diagram Login...46

Gambar 3.5 Activity Diagram Ubah Jadwal Distribusi Arus...47

Gambar 3.6 Activity Diagram Perijinan ...48

Gambar 3.7 Activity Diagram Print Laporan ...49

Gambar 3.8 Sequnce Diagram Aplikasi Simulasi pengontrol ...50

Gambar 3.9 Class Diagram ...51

Gambar 3.10 Skema Rangkaian Mikrokontroler AT Mega16...54

Gambar 3.11 Pemetaan Port Pada Gedung kantor SMK YPM 2 Sepanjang ...55

Gambar 3.12 Skema Rangkaian Driver Lampu LED ...56

Gambar 3.13 Skema Rangkaian Sensor Cahaya ...57

Gambar 3.14 Login ke System...58

Gambar 3.15 Perancangan Antarmuka Form Utama ...58


(10)

Gambar 3.18 Perancangan Antarmuka Form Perijinan ...60

Gambar 3.19 Perancangan Antarmuka Form Laporan ...61

Gambar 4.1 Form Login Operator ...62

Gambar 4.2 Form Form Registrasi Operator...64

Gambar 4.3 Form Utama ...65

Gambar 4.4 Form Jadwal Ruang ...67

Gambar 4.5 Form Perijinan ...68

Gambar 4.6 Form Laporan...69

Gambar 5.1 Form Setting Portcom ...71

Gambar 5.2 Software CodeVisionAVR ...72

Gambar 5.3 Mikrokontroler Belum Terhubung ...73

Gambar 5.4 proses transfer ke Mikrokontroler ...73

Gambar 5.5 Program Masuk Pada Mikrokontroler...74

Gambar 5.6 Form Pengaturan Jadwal Ruang ...75

Gambar 5.7 Form Jenis Ruang...76

Gambar 5.8 Hasil Uji Coba Tampak Atas ...76

Gambar 5.9 Form Jadwal Ruang ...79

Gambar 5.10 Form Utama ...80

Gambar 5.11 Hasil Uji Coba Tampak Atas ...80

Gambar 5.12 Form Laporan...81

Gambar 5.13 Laporan Perijinan ...81

Gambar 5.14 Laporan Jadwal Aktif ...82

Gambar 5.15 Miniatur Ruang kantor Tampak Atas...82

Gambar 5.16 Rangkaian Mekanik Tampak Atas ...83


(11)

Tabel 2.1 Jenis Microcontroller Keluarga AVR ...11

Tabel 2.2 Konfigurasi Pin Port ...18

Tabel 2.3 Konsepsi Dasar UML ...31

Tabel 5.1 Pengujian Rangkaian Mikrokontroler ATmega 16 ...71

Tabel 5.2 Default Jam Ruang Guru I ...77

Tabel 5.3 Default Jam Ruang Guru II...77

Tabel 5.4 Default Jam Ruang Kamar Mandi ...77

Tabel 5.5 Default Jam Ruang Istirahat...78

Tabel 5.6 Default Jam Ruang Musollah...78

Tabel 5.7 Default Jam Ruang KepSek ...78

Tabel 5.8 Default Jam Ruang Administrsi...79

Tabel 5.9 Default Jam Ruang Tengah...79


(12)

BAB I PENDAHULUAN

1.1 Latar Belakang

Perkembangan dunia semakin hari semakin pesat. Peralatan-peralatan modern saat ini banyak diciptakan, dan hampir sebagian besar peralatan yang tercipta baik untuk keperluan rumah tangga, perkantoran, pertokoan maupun industri pemakaiannya menggunakan tenaga listrik, yang juga berarti kebutuhan akan listrik terus meningkat. Tak lepas dari itu persediaan listrik saat ini sangatlah terbatas, hal itu dituntut untuk menghemat penggunaan listrik, itu dapat dilakukan dengan menggunakan secara optimal sesuai dengan kebutuhan, yang sekaligus akan menghemat biaya pengeluaran penggunaan listrik yang telah ada.

Sampai saat ini juga banyak bangunan gedung kantor yang belum memiliki pengendali listrik terpusat dan juga belum memanfaatkan perkembangan teknologi secara optimal terutama teknologi mikrokontroller sehingga untuk memantau dan mengontrol pemakaian listrik pada suatu waktu dibagian gedung atau ruangan kantor sekolah masih dikontrol dan dipantau oleh seorang petugas yang berjaga, bisa dibayangkan apabila bangunan tersebut relatif besar, luas dan mempunyai banyak ruangan juga banyak lantai, sangat tidak efisien waktu yang dibutuhkan seorang petugas yang berjaga hanya untuk memantau atau mengecek penggunaan listrik pada bangunan gedung tersebut.


(13)

Selama ini perangkat listrik yang digunakan di ruangan kantor SMK YPM 2 berbasis analog masih digunakan untuk perangkat listrik elektronika sederhana. Perangkat analog tersebut masih menggunakan saklar analog untuk mengaktifkan dan mematikannya. Melihat kasus tersebut kiranya diperlukan sebuah solusi untuk mengatasi masalah yang sedang dihadapi oleh kantor SMK YPM 2 yaitu dengan memberikan sebuah aplikasi yang dapat mengontrol listrik pada ruangan kantor SMK YPM 2 tersebut. Sehingga nantinya diharapkan adanya perbaikan dalam hal pemantauan listrik pada ruangan kantor tersebut. Pada penerapan sebuah aplikasi yang dapat mengontrol listrik pada ruangan kantor secara otomatis (terpusat). Untuk mensetting waktu pada computer agar dapat diubah, digunakan program Delphi yang dimasukkan dengan menggunakan komunikasi serial yaitu kabel yang dihubungkan melalui port serial pada komputer ke mikokontroler yang berguna untuk mentransmisi data.

1.2 Perumusan Masalah

Berdasarkan latar belakang masalah yang ada diatas, digunakan rumusan masalah sebagai berikut :

1. Bagaimana merancang sebuah alat sebagai pengendali kelistrikan pada gedung kantor SMK YPM 2 Sepanjang yang bersifat terpusat dengan menggunakan Mikrokontroler AT Mega16, pemrograman Delphi.

2. Bagaimana mempermudah pengontrolan listrik dari aplikasi yang akan dibuat?


(14)

1.3 Pembatasan Masalah

Pembahasan yang dilakukan dalam penyusunan laporan Tugas Akhir mempunyai beberapa batasan masalah, diantaranya:

a. Pada penerapan yang sesungguhnya dilakukannya simulasi sistem pengendalian kelistrikan pada sebuah miniatur bangunan kantor SMK 2 YPM sepanjang.

b. Pada system ini pembahasan dititik beratkan pada penjadwalan waktu jam padam dan jam aktif.

c. Pada sistem listrik tidak bisa diaktifkan dan tidak dapat dipadamkan secara manual.

1.4 Tujuan Penelitian

1. Merancang sebuah Interface sistem pengendali kelistrikan dengan Mikrokontroler Atmel AT Mega16, pemrograman Delphi 7. Sehingga dapat menghasilkan pengendali dan pemantau pemakaian listrik yang lebih canggih.

2. Melakukan pengujian efektivitas sebuah alat simulasi pengendalian kelistrikan pada sebuah miniatur bangunan kantor SMK YPM 2 sepanjang.

1.5 Manfaat Tugas Akhir

Tugas Akhir mengenai Penggunaan Micro Controller Sebagai Pengendali Kelistrikan Pada Gedung Kantor SMK YPM 2 Sepanjang Dengan Timer Kontrol mempunyai berbagai manfaat yang bisa dirasakan


(15)

baik oleh mahasiswa, akademik maupun pemakai. Manfaat tersebut antara lain :

1. Mahasiswa

Tugas Akhir ini sangat berguna dan bermanfaat bagi mahasiswa dalam menambah pengetahuan serta pengalaman praktis, juga merupakan ujian bagi mahasiswa untuk dapat menerapkan ilmu-ilmu yang selama ini mahasiswa terima dari bangku perkuliahan serta untuk meningkatkan kualitas mahasiswa.

2. Akademik

Sebagai tolak ukur keberhasilan proses belajar mengajar yang dapat digunakan sebagai bahan evaluasi bagi pihak akademik dan sebagai referensi bagi mahasiswa dalam penelitian lebih lanjut yang berkaitan dengan studi yang dibahas dalam laporan Tugas Akhir ini.

3. Pemakai

Manfaat yang dapat diperoleh memudahkan pengendalian kelistrikan juga dapat mengoptimalkan kebutuhan listrik sekaligus dapat meningkatkan keamanan.

1.6 Metodologi Penelitian

Dalam penyusunan Laporan Tugas Akhir ini menggunakan metode penelitian sebagai berikut :


(16)

Menganalisa masalah-masalah yang akan disajikan dan mengumpulkan data atau informasi.

2. Studi Pustaka

Mendapatkan semua teori-teori dasar yang dibutuhkan dalam memecahkan masalah yang merupakan sumber referensi bagi penulis dalam mengambil langkah pengamatan dan melengkapi data.

3. Observasi

Observasi merupakan aktivitas melakukan pengamatan dan analisa terhadap kondisi sebenarnya di lapangan kemudian akan diberikan solusinya.

4. Perancangan Pembuatan

Menggunakan teori-teori dasar perangkat lunak, dasar elektronika dan komputer menggunakan logika berpikir untuk menghasilkan aplikasi yang akan dibuat yang mampu menjalankan fungsi yang diinginkan untuk mencapai tujuan penelitian.

1.7 Sistematika Penulisan

Tugas akhir ini terdiri dari enam bab, dengan penjelasan tiap-tiap bab sebagai berikut :

BAB I PENDAHULUAN

Pada bab ini berisi tentang Latar Belakang, Perumusan Masalah, Pembatasan Masalah, Tujuan Tugas Akhir, Manfaat Tugas Akhir, Metodologi Penelitian serta Sistematika Penulisan Tugas Akhir.


(17)

BAB II DASAR TEORI

Pada bab ini menjelaskan tentang teori perangkat keras dan perangkat lunak, dan perancangan casing sehingga dapat diketahui rencana yang akan dikerjakan

BAB III ANALISA DAN PERANCANGAN SISTEM

Pada bab ini akan menguraikan dan memberikan penjelasan mengenai perancangan perangkat keras, perancangan perangkat lunak, perancangan casing sehingga dapat diketahui rencana yang akan dikerjakan

BAB IV IMPLEMENTASI SISTEM

Pada bab ini menjelaskan implementasi dari program yang telah dibuat meliputi lingkungan implementasi, implementasi proses dan implementasi antarmuka.

BAB V UJI COBA

Pada bab ini menjelaskan tentang pelaksanaan uji coba dari pelaksanaan uji coba dari program yang dibuat.

BAB VI PENUTUP

Bab ini berisi kesimpulan dan saran dari penulis untuk pengembangan sistem.


(18)

DAFTAR PUSTAKA

Pada bagian ini akan dipaparkan tentang sumber-sumber literatur yang digunakan dalam pembuatan laporan tugas akhir ini.

LAMPIRAN

Pada bagian ini berisi tentang keseluruhan konfigurasi pada pembuatan aplikasi ini.


(19)

BAB II

TINJAUAN PUSTAKA

Pada bab II ini akan dibahas beberapa teori dasar untuk menunjang penyelesaian tugas akhir ini.

2.1 Sejarah Singkat SMK YPM 2 Taman Sidoarjo

SMK YPM 2 Taman Sidoarjo didirikan sejak 14 april 1987 dan operasionalnya pada tahun 1988 dengan jumlah siswa 65 anak yang dibagi dalam 2 ( dua ) jurusan yaitu Jurusan Tata Boga & Tata Busana. Semula bernama SMKK YPM Taman Sepanjang.

Pada Akreditasi pertama tahun 1995 berhasil mendapatkan status disamakan, Kemudian pada tahun 1996 nama SMKK YPM Taman Sepanjang berubah menjadi SMK YPM 2 Taman Sidoarjo berkembang menjadi 3 ( tiga ) jurusan baru yaitu Jurusan Tata Busana, Jurusan Restoran dan Jurusan Akomodasi Perhotelan. Pada Akreditasi ulang tahun 2000 juga tetap mendapatkan status Disamakan. Sedangkan pada tahun 2008 Akreditasi Ulang mendapat status terakreditasi "A". Program belajar mengajar hingga saat ini diampu oleh 23 guru dengan jumlah siswa 442 orang. Jumlah lulusan hingga tahun 2009 adalah 130 yang telah tersebar di berbagai bidang pekerjaan. SMK YPM 2 mempunyai gedung dengan 3 lantai, 10 ruang kelas, 2 ruang guru, 1 ruang kepala sekolah, 1 ruang OSIS, 1 ruang audio visual, 1 ruang praktikum tata busana, 1 ruang praktikum akomodasi perhotelan, dan 2 ruang praktikum restoran.

Untuk melaksanakan misi sekolah tersebut di atas, maka arah tujuan yang akan dicapai oleh sekolah ditetapkan sebagai berikut :


(20)

 Meningkatkan kompetensi lulusan agar mampu bersaing dipasar global serta mampu mengambil peran positif dalam kehidupan bermasyarakat.  Mengembangkan manajemen berbasis sekolah yang dikelola secara

terbuka, profesional dan bertanggung jawab.

 Meningkatkan kualitas tenaga kependidikan melalui pelatihan, pemagangan dan sertifikasi.

 Membina hubungan dan jalinan kerjasama dengan pihak-pihak yang terkait.

 Meningkatkan kualitas dan kuantitas sarana dan prasarana pendidikan.  Menggali sumber dana untuk mendukung pelaksanaan program kerja

sekolah.

Berikut adalah gambar gedung Kelas dan kantor SMK YPM 2 Taman Sidoarjo :


(21)

 

Gambar 2.2 Gedung Kantor SMK YPM 2 Taman Sepanjang Berikut adalah Gambar Denah gedung Kantor SMK YPM 2 terletak di depan Gedung kelas SMP YPM 1.


(22)

2.2 Definisi Mikrokontroller

Mikrokontroller adalah sebuah sistem komputer yang seluruh atau

sebagian besar elemennya dikemas dalam satu chip IC, sehingga sering disebeut

single chip microcomputer. Lebih lanjut mikrokontroller merupakan system

computer yang mempunyai satu atau atau beberapa tugas yang sangat spesifik, berbeda dengan PC yang memiliki beberapa fungsi. Perbedaan lainnya adalah perbandingan RAM dan ROM yang sangat berbeda antara computer dengan mikrokontroler. Dalam mikrokontroler, ROM jauh kebih besar dibanding RAM, sedangkan dalam computer atau PC RAM jauh lebih besar dibanding ROM.

Mikrokontroller umumnya dikelompokkan dalam satu keluarga. Dalam

tugas akhir ini akan mempelajari satu jenis mikrokontroller, yaitu mikrokontroller AT Mega16

Tabel 2.1 jenis microcontroller keluarga AVR:

TinyAVR ClasicAVR (AVR) MegaAVR

ATtiny13 AT90S2313 ATmega103

ATtiny22 AT90S2323 ATmega128

ATtiny22L AT90S2333 ATmega16 ATtiny2313 AT90S4414 ATmega162 ATtiny2313V AT90S4433 ATmega168

ATtiny26 AT90S8515 ATmega8535

Keseluruhan seri AVR ini pada dasarnya memiliki organisasi memori dan set instruksi yang sama ( sehingga dengan demikian jika penulis telah mahir menggunakan salah satu seri AVR, untuk beralih ke seri yang lain akan relative mudah ). Perbedaan antara tinyAVR, clasicAVR dan megaAVR pada kenyataannya hanya merefleksikan tambahan-tambahan fitur yang ditawarkannya


(23)

saja ( misal adanya tambahan ADC internal pada seri AVR tertentu, jumlah Port I/O serta memori yang berbeda, dan sebagainya

2.2.1 Perbedaan Antara Mikrokontroller Type AVR dengan Type MCS-51 Berdasarkan informasi, ternyata banyak dari mereka yang masih memakai mikrokontroller tipe MCS52 (AT89S51/52). Padahal sekarang ATMEL telah memperkenalkan Mikrokontroller generasi baru type AVR sebagai pengganti dari Type MCS51.

Berikut fitur-fitur yang terdapat di AVR

 Kecepatan

Untuk mengeksekusi 1 buah instruksi mikrokontroller AVR hanya memerlukan 1 clock sedangkan MCS51 dalam hal ini AT89S51 memerlukan 12 clock. Jadi jelas AVR lebih cepat dari MCS51.

 Bahasa Pemrograman

Bahasa pemrograman yang digunakan oleh AVR adalah bahasa C (salah

satunya, red). Sehingga lebih mudah dipahami daripada bahasa assembly.

Memang bahasa assembly lebih dekat ke bahasa mesin sehingg lebih cepat eksekusinya. Tapi, pihat Atmel telah mengoptimasi bahasa C yang dipakai untuk AVR sehingga lebih cepat dan efisien.

 Memory yang lebih besar

Untuk keluarga mikrokontroller AVR sudah banyak yang memiliki memory internal yang relatif besar. Misal untuk seri ATmega16 : 16 Kb (Flash memory), 512 Bytes (eeprom), 1 Kb (RAM). sedangkan untuk AT89S51 memiliki 4 Kb (Flash memory), 128 bytes (RAM). Dari sini


(24)

terlihat kalau kapasitas memory AVR lebih besar daripada AT89S51. Dan lagi, AVR sudah punya EEPROM internal sehingga penulis tidak perlu memakai EEPROM eksternal sebagaimana kalau penulis pakai AT8951.

 Efisiensi Hardware

Untuk sumber clock AVR telah menyediakannya secara terintegrasi. Karena didalam AVR sudah ada XTAL yang bisa diaktifkan sehingga penulis tidak perlu memakai XTAL lagi. Untuk nilainya bisa penulis kalibrasi sendiri apakah 4 Mhz, 1Mhz atau lainnya. Sebagai catatan untuk kebutuhan akurasi XTAL eksternal masih perlu dipakai. Tapi kalau akurasi tidak terlalu signifikan saya rasa cukup Xtal internal.Bagi yang memerlukan ADC untuk konversi sinyal analog ke digital penulis tidak perlu lagi memakai ADC eksternal (ADC 0804) karena untuk AVR seri ATmega 16 sudah ada ADC internal 10 bit.

 Fitur-fitur tambahan

Mikrokontroler AVR memiliki fitur-fitur tambahan lainnya yang tidak terdapat di mikrokontroller AT89S51. Diantaranya :

 RTC dengan oscilator terpisah  PWM (Pulse Width Modulation)  ADC 10 bit internal

 Master/slave SPI Serial interface  On chip analog comparator


(25)

2.3 Mikrokontroller AT Mega16

AVR ATMEGA16 merupakan seri microcontroller CMOS 8-bit buatan Atmel, berbasis arsitektur RISC (Reduced Instruction Set

Computer). Hampir semua instruksi dieksekusi dalam satu siklus clock.

AVR mempunyai 32 register general-purpose, timer/counter fleksibel dengan mode compare, interrupt internal dan eksternal, serial UART,

programmable Watchdog Timer, dan mode power saving, ADC dan PWM

internal. AVR juga mempunyai In-System Programmable Flash on-chip yang mengijinkan memori program untuk diprogram ulang dalam system menggunakan hubungan serial SPI. AT Mega16. AT Mega16 mempunyai

throughput mendekati 1 MIPS per MHz membuat disainer sistem untuk

mengoptimasi konsumsi daya versus kecepatan proses.

Gambar 2.4 Blok Diagram Microcontroller ATMEGA16 (www.atmel.com, search: ATMEGA16.)


(26)

Beberapa keistimewaan dari AVR ATMega16 antara lain:

1. High – performance, low – power AVR® 8-bit Microcontroller

2. Advanced RISC Architecture

130 Powerful Instructions – Most Single Clock Cycle Execution

32 x 8 General Purpose Fully Static Operation

Up to 16 MIPS Throughput at 16 MHz

On – chip 2 – cycle Multiplier

3. Nonvolatile Program and Data Memories

8K Bytes of In – System Self – Programmable Flash

Optional Boot Code Section with Independent Lock Bits

512 Bytes EEPROM

512 Bytes Internal SRAM

Programming Lock for Software Security

4. Peripheral Features

Two 8 – bit Timer/Counters with Separate Prescalers and Compare Mode

Two 8 – bit Timer/Counters with Separate Prescalers and Compare Modes

One 16 – bit Timer/Counter with Separate Prescaler, Compare Mode, and Capture Mode

Real Time Counter with Separate Oscillator

Four PWM Channels

8 – channel, 10 – bit ADC

Byte-oriented Two – wire Serial Interface


(27)

5. Special Microcontroller Features

Power – on Reset and Programmable Brown – out Detection

Internal Calibrated RC Oscillator

External and Internal Interrupt Sources

Six Sleep Modes: Idle, ADC Noise Reduction, Power-save, Powerdown, Standby and Extended Standby

6. I/O and Package

32 Programmable I/O Lines

40 – pin PDIP, 44 – lead TQFP, 44 – lead PLCC, and 44 – pad MLF 7. Operating Voltages

2.7 – 5.5V for Atmega16L

4.5 – 5.5V for Atmega16 8. Speed Grades

0 – 8 MHz untuk ATmega16L

0 – 16 MHz untuk ATmega16

2.3.1 Konfigurasi Microcontroller AT MEGA16

Pin-pin pada AT Mega16 dengan kemasan 40-pin DIP (dual inline

package) ditunjukkan oleh gambar. Guna memaksimalkan performa, AVR

menggunakan arsitektur Harvard (dengan memori dan bus terpisah untuk program dan data).


(28)

Gambar 2.5 Pin-pin AT Mega16 kemasan 40-pin

ATMega16 mempunyai empat buah port yang bernama PortA, PortB,

PortC, dan PortD. Keempat port tersebut merupakan jalur bidirectional dengan

pilihan internal pull-up. Tiap port mempunyai tiga buah register bit, yaitu DDxn, PORTxn, dan PINxn. Huruf ‘x’mewakili nama huruf dari port sedangkan huruf ‘n’ mewakili nomor bit. Bit DDxn terdapat pada I/O address DDRx, bit PORTxn terdapat pada I/O address PORTx, dan bit PINxn terdapat pada I/O address PINx. Bit DDxn dalam register DDRx (Data Direction Register) menentukan arah pin. Bila DDxn diset 1 maka Px berfungsi sebagai pin output. Bila DDxn diset 0 maka Px berfungsi sebagai pin input.Bila PORTxn diset 1 pada saat pin terkonfigurasi sebagai pin input, maka resistor pull-up akan diaktifkan. Untuk mematikan resistor pull-up, PORTxn harus diset 0 atau pin dikonfigurasi sebagai pin output. Pin port adalah tri-state setelah kondisi reset. Bila PORTxn diset 1 pada saat pin terkonfigurasi sebagai pin output maka pin port akan berlogika 1. Dan bila PORTxn diset 0 pada saat pin terkonfigurasi sebagai pin output maka pin port


(29)

akan berlogika 0. Saat mengubah kondisi port dari kondisi tri-state (DDxn=0, PORTxn=0) ke kondisi output high (DDxn=1, PORTxn=1) maka harus ada kondisi peralihan apakah itu kondisi pull-up enabled (DDxn=0, PORTxn=1) atau kondisi output low (DDxn=1, PORTxn=0). Biasanya, kondisi pull-up enabled dapat diterima sepenuhnya, selama lingkungan impedansi tinggi tidak memperhatikan perbedaan antara sebuah strong high driver dengan sebuah

pull-up. Jika ini bukan suatu masalah, maka bit PUD pada register SFIOR dapat diset 1

untuk mematikan semua pull-up dalam semua port. Peralihan dari kondisi input

dengan pull-up ke kondisi output low juga menimbulkan masalah yang sama.

Penulis harus menggunakan kondisi tri-state (DDxn=0, PORTxn=0) atau kondisi output high (DDxn=1, PORTxn=0) sebagai kondisi transisi.

Tabel 2.2 Konfigurasi pin port

2.3.2 Deskripsi Pin

A. VCC

Tegangan suplai VCC digital.

B. GND Ground


(30)

Port A berfungsi sebagai input analog ke A / D Converter. Port A juga berfungsi sebagai aku bi – directional 8 – bit / O port, jika A / D

Converter tidak digunakan. Pin Port dapat memberikan internal pull-up resistor (dipilih untuk setiap bit). Port output A buffer memiliki

karakteristik drive simetris dengan kedua tenggelam tinggi dan kemampuan sumber. Ketika pin PA0 untuk PA7 digunakan sebagai masukan dan secara eksternal ditarik rendah, mereka akan sumber saat ini jika pull-up resistor internal diaktifkan. Port A pin yang tri – lain ketika kondisi reset menjadi aktif, bahkan jika jam tidak berjalan. D. Port B (PB7..PB0)

Port B merupakan bi – directional I 8 – bit / O port dengan resistor pull – up internal (dipilih untuk masing-masing bit). Itu Port B memiliki karakteristik output buffer drive simetris dengan kedua tenggelam tinggi dan sumber kemampuan. Sebagai masukan, Port B pin yang ditarik rendah eksternal akan sumber arus jika pull-up Resistor diaktifkan. Port B pin yang tri-lain ketika kondisi reset menjadi aktif, bahkan jika jam tidak berjalan.

E. Port C (PC7..PC0)

Port C adalah yang saya bi – directional 8 – bit / O port dengan resistor pull-up internal (dipilih untuk setiap bit). Itu Port C buffer output memiliki karakteristik drive simetris dengan kedua tenggelam tinggi dan sumber kemampuan. Sebagai masukan, Port C pin yang ditarik rendah eksternal akan sumber arus jika pull – up Resistor diaktifkan. Port C pin yang tri – lain ketika kondisi reset menjadi aktif,


(31)

bahkan jika jam tidak berjalan. Jika antarmuka JTAG diaktifkan, pull – up resistor pada pin PC5 (TDI), PC3 (TMS) dan PC2 (TCK) akan diaktifkan ulang bahkan jika terjadi.

F. Port D (PD7..PD0)

Port D adalah aku bi – directional 8 – bit / O port dengan resistor pull-up internal (dipilih untuk setiap bit). Itu Output buffer Port D memiliki karakteristik drive simetris dengan kedua tenggelam tinggi dan sumber kemampuan. Sebagai masukan, Port D pin yang ditarik rendah eksternal akan sumber arus jika pull-up Resistor diaktifkan. Pelabuhan pin D tri-lain ketika kondisi reset menjadi aktif, bahkan jika jam tidak berjalan.

G. RESET

Input Reset. Tingkat rendah pada pin ini lebih lama dari panjang pulsa minimum akan menghasilkan ulang, bahkan jika jam tidak berjalan. H. XTAL1

Masukan ke Osilator amplifier pembalik dan masukan untuk rangkaian operasi jam internal.

I. XTAL2

Output dari amplifier Osilator pembalik.

J. AVCC

AVCC merupakan pin tegangan suplai untuk Port A dan A / D

Converter. Perlu eksternal terhubung untuk VCC, bahkan jika ADC

tidak digunakan. Jika digunakan ADC, harus terhubung dengan VCC melalui filter low-pass.


(32)

K. AREF

Aref adalah pin analog referensi bagi A / D Converter.

2.3.3 Memory AT MEGA16

Arsitektur memori dalam ATmega16 AVR memiliki dua ruang memori utama, memory data dan ruang memori program. Selain itu, fitur ATmega16 juga mempunyai memori EEPROM (Electrically Erasable Programmable Read Only Memory) untuk penyimpanan data. Semua memori terdiri dari tiga ruang yang linear dan teratur. AT mega16 berisi 512 byte data memori EEPROM, yang diatur secara terpisah pada ruang data, di mana byte tunggal dapat dibaca dan ditulis. EEPROM memiliki daya tahan sekurang – kurangnya 100.000 menulis / menghapus siklus. Jadi dalam proses penjadwalan semua perangkat elektronik yang akan dijadwalkan dalam system secara otomatis akan masuk dan disimpan ke dalam memori EEPROM tersebut.

2.4 Sistem Saklar dan Sensor

Sistem Saklar dan sensor adalah sistem yang menangani semua pensaklaran dan sensor arus listrik, isi dari sistem saklar dan sensor ini terdiri dari rangkaian pensaklaran dan sensor arus listrik. Sistem ini bertugas mendeteksi adanya arus yang terdapat pada ujung distribusi kabel, terpakai tidaknya arus listrik.

2.5 Sistem Transceiver

Sistem Transceiver adalah sistem yang bertugas mengirim paket data dari mikrokontroler AT Mega16 ke COM1 dan menerima paket data dari COM1 untuk disampaikan kepada mikrokontroller AT Mega16.


(33)

2.6 Casing

Casing adalah suatu kotak yang berfungsi melindungi rangkaian dari segala gangguan luar, bagian luar casing terdapat konektor-konektor untuk menghubungkan antar Mikrokontroler dan COM1, bahan casing terbuat dari Mika bening yang dibentuk sedemikian rupa dengan dipanaskan agar mudah dalam pemasangan dan pengecekan jika terjadi kerusakan.

2.7 Miniatur Bangunan Gedung

Miniatur Bangunan Gedung Kantor SMK YPM 2 Sepanjang adalah sebuah miniatur gedung kantor tanpa atap yang dibuat menyerupai gedung kantor yang sesungguhnya dan terbuat dari Mika bening. Miniatur gedung ini nantinya digunakan untuk Percobaan interface Pengendali Kelistrikan Gedung Kantor SMK YPM 2 Sepanjang.

2.8 Serial Data RS-232 atau COM1

Serial RS-232 adalah bentuk standart komunikasi yang telah lama ada untuk setiap pembuatan interface yang mengacu pada fungsi komputer. Serial RS232 pada komputer tidak lain adalah COM1 atau COM2. ada beberapa kriteria penting yang terdapat pada RS-232, diantaranya :

2.8.1 Standart Konektor

Gambar 2.6 Konektor standar RS232

Keterangan:

a. RI (Kaki no 1) Ring Indicator b. RXD (Kaki no 2)

Terminal untuk menerima data 1 2 3 4 5


(34)

c. TXD (Kaki no 3)

Terminal untuk mengirim data

d. DTK (Kaki no 4) Data Terminal Ready e. Gnd (Kaki no 5) Grounding

f. DSR (Kaki no 6) Data Set Ready g. CTS (Kaki no 8) Clear to Send h. RTS (Kaki no 9) Request To Send

2.8.2 Converter USB ke serial RS-232

Jika PC atau Laptop yang akan digunakan tidak menyediakan atau kurang menyediakan port serial, dapat diatasi dengan menggunakan port USB. Begitu pula dengan perangkat keras yang akan dibangun, selain dapat menggunakan port serial RS232 nantinya juga dapat menggunakan port USB. Cara untuk merubah port USB agar dapat berkomunikasi layaknya melalui port RS232 misalnya adalah, dengan menggunakan IC FT232. IC ini adalah IC USB UART. Secara garis besar IC ini berfungsi untuk merubah data USB yang berasal dari port USB menjadi data serial dengan level tegangan. Sehingga dengan menggunakan IC FT232 para pengguna dapat melakukan komunikasi data serial (UART) melalui port USB. Semua proses handshaking , enumerasi dan lain-lain yang diperlukan agar dapat menggunakan port USB telah ditangani oleh IC FT232 tersebut, sehingga memudahkan pengguna untuk menggunakannya. Telah tersedia output dengan pin out standar RS232 dengan level tegangan, sedangkan pada input telah tersedia pin input untuk port USB. Pada PC telah tersedia software driver agar IC tersebut dapat digunakan sebagai Virtual port COM. Sehingga pada proses develop software untuk PC juga relative mudah, tidak perlu membuat software driver lagi.


(35)

Pengguna dapat menggunakan port COM virtual yang telah tersedia untuk dapat melakukan komunikasi data serial.

2.9 Pengenalan Software

Dalam melakukan pemrograman banyak software yang dapat digunakan seperti Pinneacle, BASCOM-8051, AVR Studio-4 dan BASCOM-AVR, CodeVision-AVR.

Dalam perancangan sistem kendali rumah penulis menggunakan bahasa pemrograman Basic dengan menggunakan software CodeVision AVR. dan untuk menanamkan software yang telah dibuat dalam bahasa pemograman pada

mikrokontroler adalah ISP PGM. Dari program yang telah dibuat yaitu dari Codevision AVR akan ditanamkan dalam mikrokontroler AT Mega16.

2.10 CodeVision AVR

Program CodeVision AVR adalah program yang berbasis Windows untuk mikrokontroler At Mega16, At Mega32 ,At Mega8, At Mega 8535, At Mega 128, At Mega 64, At tiny 2313, dan yang lainnya. CodeVision AVR merupakan sebuah

cross-compiler C, Integrated Development Environtment (IDE), dan Automatic

Program Generator yang didesain untuk mikrokontroler buatan Atmel seri AVR.

CodeVision AVR dapat dijalankan pada system operasi Windows 95, 98, Me, NT4,

2000, dan XP. Cross-compiler C mampu menerjemahkan hampir semua perintah dari bahasa ANSI C, sejauh yang diijinkan oleh arsitektur dari AVR, dengan tambahan beberapa fitur untuk mengambil kelebihan khusus dari arsitektur AVR.


(36)

IDE mempunyai fasilitas internal berupa software AVR Chip In-System Programmer yang memungkinkan penulis untuk melakukan transfer program kedalam chip mikrokontroler setelah sukses melakukan kompilasi / asembli secara otomatis. Software In-System Programmer didesain untuk bekerja dengan Atmel STK500/AVRISP/AVRProg, Kanda Systems STK200+/300, Dontronics DT006,

Vogel Elektronik VTEC-ISP, Futurlec JRAVR dan MicroTronics ATMega

programmers / development boards.

2.11 Definisi MySQL

Menurut Haris Saputro (2003) mengemukakan bahwa MySQL merupakan database server dimana pemrosesan data terjadi di server, dan client hanya mengirim data serta meminta data. Oleh karena pemrosesan terjadi di

server sehingga pengaksesan data tidak terbatas. Pengaksesan dapat dilakukan

dimana saja oleh siapa saja dengan catatan komputer telah terhubung ke server. Lain halnya dengan database desktop di mana segala pemrosesan data seperti penambahan data ataupun penghapusan data harus dilakukan pada komputer yang bersangkutan.

MySQL termasuk dalam kategori database manajemen sistem, yaitu database

yang terstruktur dalam pengolahan dan penampilan data. Sejak komputer dapat menangani data yang besar, database manajemen sistem memegang peranan yang sangat penting dalam pengolahan data. Hal ini sangat diperlukan, karena data tersebut dapat diatur sesuai dengan kebutuhan pemakainya. MySQL merupakan

Relational Database Manajemen Sistem (RDBMS) yaitu hubungan antar tabel

yang berisi data-data pada suatu database. Hal tersebut lebih baik daripada jika semua data terkumpul menjadi satu dalam satu tabel. Kelebihan hal di atas, yaitu


(37)

dapat mempercepat pencarian suatu tabel. Tabel-tabel tersebut di link oleh suatu relasi yang memungkinkan untuk mengkombinasikan data dari beberapa tabel ketika seorang user menginginkan menampilkan informasi dari suatu database.

2.11.1 Program Database MySQL

Ada beberapa alasan mengapa MySQL menjadi program database yang sangat popular dan digunakan oleh banyak orang. Alasan-alasan tersebut diantaranya ialah :

MySQL merupakan database yang memiliki kecepatan yang tinggi dalam

melakukan pemrosesan data, dapat diandalkan dan mudah digunakan serta mudah dipelajari. Mengapa mudah digunakan? Sebab MySQL telah banyak digunakan di belahan bumi manapun sehingga jika mempunyai masalah dengan database tersebut, dapat bertanya kepada banyak orang (pengguna yang lain) melalui internet maupun orang di sekitar yang siap membangun menyelesaikan masalah tersebut serta dukungan manual maupun referensi yang banyak bertebaran di internet.

MySQL mendukung banyak bahasa pemrograman seperti C, C++, Perl, Phython, Java, dan PHP. Penulis dapat menggunakan bahasa pemrograman

tersebut untuk berinterakasi maupun berkomunikasi dengan MySQL, atau dapat juga digunakan sebagai komponen pembentuk antarmuka (interface) dari suatu database MySQL.

Koneksi, kecepatan, dan keamanan membuat MySQL sangat cocok diterapkan untuk pengaksesan database melalui internet, dengan menggunakan bahasa pemrograman Perl atau PHP sebagai antarmukanya.


(38)

MySQL dapat melakukan koneksi dengan client menggunakan protocol TCP/IP, Unix socket (Unix), atau Named Pipes (NT).

MySQL dapat menangani database dengan skala yang sangat besar dengan

jumlah record mencapai lebih dari 50 juta, dapat menampung 60 ribu tabel, dan juga bisa menampung 5 milyar baris data. Selain itu, batas indek pada tiap tabel dapat menampung mencapai 32 indek.

Dalam hal relasi antartabel pada suatu database, MySQL menerapkan metode yang sangat cepat yaitu dengan menggunakan metode one-sweep multijoin.

MySQL sangat efisien dalam mengelola informasi yang penulis minta yang

berasal dari banyak tabel sekaligus.

Multiuser, yaitu dalam satu database server pada MySQL dapat diakses oleh

beberapa user dalam waktu yang sama tanpa mengalami konflik atau crash. Security yang dimiliki database MySQL dikenal baik, karena memiliki lapisan

sekuritas seperti level subnetmask, nama host dan izin akses user dengan sistem perizinan yang khusus serta password yang dimiliki setiap user dalam bentuk data terenkripsi.

MySQL merupakan software database yang bersifat free atau gratis, jadi

penulis tidak perlu susah-susah mengeluarkan isi kantong untuk hanya sekedar membayar lisensi kepada pembuat software. Hal ini sangat berbeda jika penulis menggunakan software database seperti IBM DB@ ataupun

Oracle, karena penulis harus membayar mahal untuk mendapatkan


(39)

2.12 Delphi 7

Delphi muncul dari bahasa pemrograman yang cukup popular yaitu pascal sejak saat itu , mulai dirilis beberapa versi pascal diantaranya turbo pascal

yang dirilis oleh Borland internasional pada tahun 1983. turbo pascal versi pertama hanya dapat dijalankan pada lingkungan operasi DOS.

Latar belakang munculnya Delphi adalah mengembangkan bahasa pascal yang bersifat visual. hal ini dikarenakan pemrograman windows dengan turbo

pascal dirasa cukup sulit. Hasil dari pengembangan tersebut adalah dirilisnya Delphi 1 pada tahun 1995.

Delphi dan bahasa pemrograman visual lainnya merupakan bahasa

pemrograman yang menerapkan konsep pemrograman event driven. pada pemrograman event driven sebuah aplikasi bekerja berdasarkan kejadian tertentu , kejadian ini dapat berupa masukan dari aplikasi, user, atau peralatan lainnya seperti printer, clock , dan lain-lain.

2.12.1 Mengenal Delphi

Layaknya software visual lainnya (visual basic) , Delphi juga memiliki IDE (integrated development environtment) atau lingkungan pengembangan tersendiri . melalui IDE , dapat dilakukan desain form, penulisan kode program maupun melakukan pembaharuan aplikasi . IDE Delphi dapat dibagi menjadi tujuh bagian yaitu.

1. menu : memiliki kegunaan seperti halnya pada aplikasi windows lainnya. Segala sesuatu yang berhubungan dengan IDE Delphi dapat dilakukan melalui menu.


(40)

2. speed bar : sering disebut toolbar, berisi kumpulan tombol pada menu yang sering digunakan (shortcut).

3. component palette : berisi kumpulan icon komponen-komponen VCL (visual component library) dan komponen – komponen non VCL. Komponen merupakan pustaka yang digunakan untuk membangun aplikasi.

4. form designer : merupakan tempat perancangan GUI atau jendela aplikasi.

5. code explorer : berfungsi untuk menuliskan code program yang dituliskan dalam bentuk pernyataan-prnyataan bahasa object pascal.

6. object tree view : berisi daftar komponen yang ditambahkan atau diletakkan pada suatu form aplikasi.

7. object inspector : digunakan untuk mengatur property dan metode sebuah komponen.


(41)

2.13 Unified Modelling Language (UML)

Unified Modelling Language (UML) adalah sebuah "bahasa" yg telah menjadi standar dalam industri untuk visualisasi, merancang dan mendokumentasikan sistem piranti lunak. UML menawarkan sebuah standar untuk merancang model sebuah sistem.

Dengan menggunakan UML dapat membuat model untuk semua jenis aplikasi piranti lunak, dimana aplikasi tersebut dapat berjalan pada piranti keras, sistem operasi dan jaringan apapun, serta ditulis dalam bahasa pemrograman apapun. Tetapi karena UML juga menggunakan class dan operation dalam konsep dasarnya, maka ia lebih cocok untuk penulisan piranti lunak dalam bahasa-bahasa berorientasi objek seperti C++, Java, C# atau VB.NET. Walaupun demikian, UML tetap dapat digunakan untuk modeling aplikasi prosedural dalam VB atau C.

Seperti bahasa-bahasa lainnya, UML mendefinisikan notasi dan

syntax/semantik. Notasi UML merupakan sekumpulan bentuk khusus untuk

menggambarkan berbagai diagram piranti lunak. Setiap bentuk memiliki makna tertentu, dan UML syntax mendefinisikan bagaimana bentuk-bentuk tersebut dapat dikombinasikan. Notasi UML terutama diturunkan dari 3 notasi yang telah ada sebelumnya: Grady Booch OOD (Object-Oriented Design), Jim Rumbaugh OMT (Object Modeling Technique), dan Ivar Jacobson OOSE (Object-Oriented Software Engineering).

2.13.1 Konsepsi Dasar UML

Dari berbagai penjelasan rumit yang terdapat di dokumen dan buku-buku UML. Sebenarnya konsepsi dasar UML bisa dirangkumkan dalam tabel dibawah.


(42)

Tabel 2.3 Konsepsi Dasar UML

Abstraksi konsep dasar UML yang terdiri dari structural classification, dynamic

behavior, dan model management, bisa dipahami dengan mudah apabila melihat

gambar diatas dari Diagrams. Main concepts bisa dipandang sebagai term yang akan muncul pada saat membuat diagram. Dan view adalah kategori dari diagaram tersebut.

Untuk menguasai UML, sebenarnya cukup dua hal yang harus diperhatikan:  Menguasai pembuatan diagram UML


(43)

Seperti juga tercantum pada tabel diatas UML mendefinisikan diagram-diagram sebagai berikut:

a. use case diagram b. class diagram c. statechart diagram d. activity diagram e. sequence diagram f. collaboration diagram g. component diagram h. deployment diagram

2.13.2 Use Case Diagram

Use case diagram menggambarkan fungsionalitas yang diharapkan dari

sebuah sistem. Yang ditekankan adalah “apa” yang diperbuat sistem, dan bukan “bagaimana”. Sebuah use case merepresentasikan sebuah interaksi antara aktor dengan sistem. Use case merupakan sebuah pekerjaan tertentu, misalnya login ke sistem, meng-create sebuah daftar belanja, dan sebagainya.

Seorang/sebuah aktor adalah sebuah entitas manusia atau mesin yang berinteraksi dengan sistem untuk melakukan pekerjaan-pekerjaan tertentu. Use

case diagram dapat sangat membantu bila sedang menyusun requirement sebuah

sistem, mengkomunikasikan rancangan dengan klien, dan merancang test case untuk semua feature yang ada pada sistem. Sebuah use case dapat meng-include fungsionalitas use case lain sebagai bagian dari proses dalam dirinya. Secara umum diasumsikan bahwa use case yang di-include akan dipanggil setiap kali use


(44)

case yang meng-include dieksekusi secara normal. Sebuah use case dapat di-include oleh lebih dari satu use case lain, sehingga duplikasi fungsionalitas dapat

dihindari dengan cara menarik keluar fungsionalitas yang common. Sebuah use

case juga dapat meng-extend use case lain dengan behaviour-nya sendiri.

Sementara hubungan generalisasi antar use case menunjukkan bahwa use case yang satu merupakan spesialisasi dari yang lain.

Contoh use case diagram :

Gambar 2.7 Contoh Use Case Diagram

2.13.3 Class Diagram

Class adalah sebuah spesifikasi yang jika diinstansiasi akan menghasilkan

sebuah objek dan merupakan inti dari pengembangan dan desain berorientasi objek. Class menggambarkan keadaan (atribut/properti) suatu sistem, sekaligus menawarkan layanan untuk memanipulasi keadaan tersebut (metoda/fungsi).

Class diagram menggambarkan struktur dan deskripsi class, package dan

objek beserta hubungan satu sama lain seperti containment, pewarisan, asosiasi, dan lain-lain.


(45)

 Nama (dan stereotype)  Atribut

 Metoda

Atribut dan metoda dapat memiliki salah satu sifat berikut :

Private, tidak dapat dipanggil dari luar class yang bersangkutan

Protected, hanya dapat dipanggil oleh class yang bersangkutan dan anak-anak

yang mewarisinya

Public, dapat dipanggil oleh siapa saja

Gambar 2.8 Public Dalam Class

Class dapat merupakan implementasi dari sebuah interface, yaitu class abstrak

yang hanya memiliki metoda. Interface tidak dapat langsung diinstansiasikan, tetapi harus diimplementasikan dahulu menjadi sebuah class. Dengan demikian

interface mendukung resolusi metoda pada saat run-time.

Sesuai dengan perkembangan class model, class dapat dikelompokkan menjadi

package. Juga dapat membuat diagram yang terdiri atas package.


(46)

Hubungan Antar Class

Asosiasi, yaitu hubungan statis antar class. Umumnya menggambarkan

class yang memiliki atribut berupa class lain, atau class yang harus

mengetahui eksistensi class lain. Panah navigability menunjukkan arah

query antar class.

 Agregasi, yaitu hubungan yang menyatakan bagian (“terdiri atas..”).  Pewarisan, yaitu hubungan hirarkis antar class. Class dapat diturunkan

dari class lain dan mewarisi semua atribut dan metoda class asalnya dan menambahkan fungsionalitas baru, sehingga ia disebut anak dari class yang diwarisinya. Kebalikan dari pewarisan adalah generalisasi.

Hubungan dinamis, yaitu rangkaian pesan (message) yang di-passing dari satu class kepada class lain. Hubungan dinamis dapat digambarkan dengan menggunakan sequence diagram yang akan dijelaskan kemudian.

Contoh class diagram :


(47)

Gambar 2.11 Contoh Class Diagram

2.13.4 Statechart Diagram

Statechart diagram menggambarkan transisi dan perubahan keadaan (dari

satu state ke state lainnya) suatu objek pada sistem sebagai akibat dari stimuli yang diterima. Pada umumnya statechart diagram menggambarkan class tertentu (satu class dapat memiliki lebih dari satu statechart diagram).

Dalam UML, state digambarkan berbentuk segiempat dengan sudut membulat dan memiliki nama sesuai kondisinya saat itu. Transisi antar state umumnya memiliki kondisi guard yang merupakan syarat terjadinya transisi yang bersangkutan, dituliskan dalam kurung siku. Action yang dilakukan sebagai akibat dari event tertentu dituliskan dengan diawali garis miring.

Titik awal dan akhir digambarkan berbentuk lingkaran berwarna penuh dan berwarna setengah.


(48)

Contoh statechart diagram :

Gambar 2.12 Contoh Statechart Diagram

2.13.5 Activity Diagram

Activity diagrams menggambarkan berbagai alir aktivitas dalam sistem

yang sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir. Activity diagram juga dapat menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi.

Activity diagram merupakan state diagram khusus, di mana sebagian besar state adalah action dan sebagian besar transisi di-trigger oleh selesainya state

sebelumnya (internal processing). Oleh karena itu activity diagram tidak menggambarkan behaviour internal sebuah sistem (dan interaksi antar subsistem) secara eksak, tetapi lebih menggambarkan proses-proses dan jalur-jalur aktivitas dari level atas secara umum.

Sebuah aktivitas dapat direalisasikan oleh satu use case atau lebih. Aktivitas menggambarkan proses yang berjalan, sementara use case menggambarkan bagaimana aktor menggunakan sistem untuk melakukan


(49)

aktivitas. Sama seperti state, standar UML menggunakan segiempat dengan sudut membulat untuk menggambarkan aktivitas. Decision digunakan untuk menggambarkan behaviour pada kondisi tertentu. Untuk mengilustrasikan proses-proses paralel (fork dan join) digunakan titik sinkronisasi yang dapat berupa titik, garis horizontal atau vertikal.

Activity diagram dapat dibagi menjadi beberapa object swimlane untuk

menggambarkan objek mana yang bertanggung jawab untuk aktivitas tertentu. Contoh activity diagram tanpa swimlane:

Gambar 2.13 Contoh Activity Diagram

2.13.6 Sequence Diagram

Sequence diagram menggambarkan interaksi antar objek di dalam dan di


(50)

digambarkan terhadap waktu. Sequence diagram terdiri atar dimensi vertikal (waktu) dan dimensi horizontal (objek-objek yang terkait).

Sequence diagram biasa digunakan untuk menggambarkan skenario atau

rangkaian langkah-langkah yang dilakukan sebagai respons dari sebuah event untuk menghasilkan output tertentu. Diawali dari apa yang men-trigger aktivitas tersebut, proses dan perubahan apa saja yang terjadi secara internal dan output apa yang dihasilkan. Masing-masing objek, termasuk aktor, memiliki lifeline vertikal.

Message digambarkan sebagai garis berpanah dari satu objek ke objek lainnya.

Pada fase desain berikutnya, message akan dipetakan menjadi operasi/metoda dari

class. Activation bar menunjukkan lamanya eksekusi sebuah proses, biasanya

diawali dengan diterimanya sebuah message. Untuk objek-objek yang memiliki sifat khusus, standar UML mendefinisikan icon khusus untuk objek boundary,

controller dan persistent entity.

Contoh sequence diagram :

2.13.7 Collaboration Diagram

Collaboration diagram juga menggambarkan interaksi antar objek seperti sequence diagram, tetapi lebih menekankan pada peran masing-masing objek dan

bukan pada waktu penyampaian message. Setiap message memiliki sequence Gambar 2.14 Contoh Sequence Diagram


(51)

number, di mana message dari level tertinggi memiliki nomor 1. Messages dari

level yang sama memiliki prefiks yang sama.


(52)

BAB III

ANALISA DAN PERANCANGAN SISTEM

 

3.1 Analisis Sistem

Dari analisis permasalahan yang telah dilakukan, maka akan dirancang suatu aplikasi simulasi pengontrol listrik yaitu dengan melakukan perancangan dan pembuatan sistem. Hal tersebut dilakukan untuk menggambarkan arus data dalam aplikasi secara terstruktur dan jelas, serta menggambarkan proses yang terjadi pada aplikasi, sehingga dapat menjadi sarana dokumentasi sistem yang baik.

Aplikasi simulasi pengontrol listrik ini sangat diperlukan guna membantu kelancaran pengaturan listrik diruang kantor SMK YPM 2. Dalam aplikasi berbasis desktop ini, hak akses untuk seorang operator adalah mengubah nama pengguna dan Password, penghapusan dan pengubahan jadwal arus distribusi, melakukan penjadwalan yaitu mengatur hari, jam aktif dan jam padam untuk listrik pada ruang kantor SMK YPM 2, dan mencetak laporan jika diperlukan.

Di dalam aplikasi ini jadwal dibuat selama satu minggu penuh dan tidak pernah berhenti selama 24 jam. Jadwal dibuat ketika aplikasi pertama berjalan. Jika terjadi sesuatu hal yang tidak diinginkan contohnya listrik mati disebabkan karena gangguan dari gardu pusat atau PLN, program ini akan tetap berjalan ketika komputer mati, Jadi dalam proses penjadwalan perangkat elektronik yang akan dijadwalkan dalam system secara otomatis akan masuk dan disimpan ke dalam memori EEPROM (Electrically Erasable Programmable Read Only

Memory) tersebut, jadi jadwal yang telah disetting tidak mereset ulang ketika


(53)

komputer mati tetapi akan disimpan kedalam EEPROM. Dan akan dipanggil kembali ketika program telah aktif.

Seorang operator berperan penting dalam berjalannya aplikasi ini. Tanpa ijin dari staf Kantor SMK YPM 2 operator tidak bisa melakukan edit jadwal, karena untuk setting jadwal arus listrik sifatnya rahasia.

3.1.1 Blok Diagram Interface

Blok Diagram Interface adalah bagian-bagian dan alur kerja sistem yang bertujuan untuk menerangkan cara kerja dan alur kerja sistem tersebut secara garis besar berupa gambar dengan tujuan agar sebuah sistem dapat lebih mudah dimengerti dan dipahami. Gambar blok diagram interface Pengendali Kelistrikan Gedung Kantor SMK YPM 2 Sepanjang yang akan kita buat adalah sebagai berikut :

Gambar 3.1 Blok diagram interface

Cara Kerja Blok Diagram :

Blok diagram diatas terbagi atas 3 bagian, yaitu personal komputer (Laptop), Mikrokontroler ATMega 16, dan perangkat (sensor cahaya,Keluaran Arus Listrik(Lampu). Bagian Mikrokontroler tersebut terhubung dengan COM pada komputer (Laptop) dengan media transmisi kabel serial. COM difungsikan

Serial

I/O

Perangkat Lampu Sensor

Cahaya

COM

MIKROKONTROLLER ATMega 16


(54)

oleh Software Pengendali Kelistrikan Gedung agar dapat berkomunikasi dengan mikrokontroler. Software Pengendali Kelistrikan Gedung Kantor SMK YPM 2 Sepanjang pada komputer di sini bersifat aktif yang berarti memerintah dan menanyakan status kondisi pada mikrokontroler, sebaliknya mikrokontroler di sini bersifat pasif yang berarti mengirimkan paket data balasan jika ditanya status kondisi dirinya atau perintah oleh software Pengendali Kelistrikan Gedung Kantor SMK YPM 2 pada komputer.

Pada sistem nantinya terdapat proses yang paling utama yaitu penerimaan perintah langsung atau penjadwalan perangkat yang diakses dari komputer (Laptop) dan diteruskan kepada mikrokontroler ATMEGA16 dengan penghubung RS 232 yang nantinya akan menyalakan atau mematikan lampu. Setelah alat dieksekusi baru alat akan mengembalikan kepada mikrokontroler untuk memberi laporan kepada user bahwa lampu tersebut dalam dalam kondisi menyala atau tidak.

User Mikrokontroler Alat

Peralatan elektronic AT Mega16

RS 232 PC

lampu AT Mega16

RS 232

Gambar 3.2 Proses Serah Terima Data Delphi 7


(55)

Keterangan dari gambar di atas :

Seorang operator dengan menggunakan PC yang sudah diprogram dengan

Delphi 7 mengirimkan data jadwal melalui komunikasi RS232 yang dihubungkan

dengan Mikrokontroler tipe AT Mega16, dimana mikrokontroler sudah diisi program untuk mematikan dan menyalakan lampu, dihubungkan dengan beberapa peralatan listrik kemudian lampu akan menyala dan padam sesuai jadwal yang diinputkan oleh operator. Laporan apakah lampu sudah padam atau nyala kembali melalui komunikasi RS232 yang dihubungkan dengan AT Mega16 memeberikan laporan melalui program Delphi di PC.

3.2 Perancangan Database

Membuat alur database untuk menyimpan data yang dibutuhkan sistem, sehingga data dapat tersimpan secara teratur.

3.2.1 UML (Unified Modelling Language)

Unified Modelling Language (UML) adalah sebuah "bahasa" yg telah

menjadi standar dalam industri untuk visualisasi, merancang dan mendokumentasikan sistem piranti lunak. UML menawarkan sebuah standar untuk merancang model sebuah sistem.

3.2.1.1Use Case Diagram

Use case diagram menggambarkan fungsionalitas yang diharapkan dari

sebuah sistem. Yang ditekankan adalah “apa” yang diperbuat sistem, dan bukan “bagaimana”. Sebuah use case merepresentasikan sebuah interaksi antara aktor


(56)

dengan system. Seorang/sebuah aktor adalah sebuah entitas manusia atau mesin yang berinteraksi dengan sistem untuk melakukan pekerjaan-pekerjaan tertentu.

Use case diagram dapat sangat membantu bila sedang menyusun requirement

sebuah sistem, mengkomunikasikan rancangan dengan klien, dan merancang test

case untuk semua feature yang ada pada sistem. Sebuah use case dapat meng-include fungsionalitas use case lain sebagai bagian dari proses dalam dirinya.

Secara umum diasumsikan bahwa use case yang di-include akan dipanggil setiap kali use case yang meng-include dieksekusi secara normal

Gambar 3.3 Use Case Diagram

Login

Ubah Jadwal Distribusi Arus

Print laporan Perijinan Baru Operator


(57)

Operator merupakan aktor. Operator sebagai aktor karena pengguna sistem dalam sebuah proses yang di lakukan dalam kerja sistem control. interaksi antara antara Operator dan system adalah sebagai berikut : Login, ubah jadwal distribusi arus, perijinan, cetak laporan.

3.2.1.2 Activity Diagram

Activity diagram menggambarkan berbagai alir aktivitas dalam sistem

yang sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir.

 Pada aktivitas login terdapat kegiatan sebagai berikut :

Gambar 3.4 Activity Diagram Login

Agar dapat menggunakan aplikasi, Seorang operator harus memasukkan User ID dan Password secara benar, apabila tidak, operator tidak akan bisa menggunakan aplikasi dan system akan terus meminta agar memasukkan user ID

Inputkan User ID dan Password

T

Validasi User ID dan Password

Sesuai

Y

System Operator


(58)

dan Password secara benar. Jika user ID dan Password yang telah dimasukkan benar, maka operator masuk ke dalam system dan siap menggunakan aplikasi.

 Pada aktivitas ubah jadwal Distribusi Arus

Gambar 3.5 Activity Diagram ubah jadwal Distribusi Arus

Kegiatan utama dari seorang operator adalah mengubah jadwal yang telah diinputkan pertama kali ketika jadwal pertama kali dibuat. Operator hanya melakukan ubah data jadwal yang telah dibuat. Untuk melakukan pengubahan data jadwal ruang , operator melihat tampilan menu file, langkah sebelum masuk ke program setting jadwal yaitu klik menu file dan pilih menu jadwal, kemudian

Pilih menu jadwal Liat Tampilan

Menu

Ubah Jam Aktif , Jam padam

Tampilan Setting jadwal pada Ruangan

Simpan

Sesuai..

T

Y

System. Operator.


(59)

operator masuk ke dalam system sudah kondisi dimana tampilan setting pada ruangan yang berfungsi untuk merubah jadwal distribusi arus pada ruangan tersebut sesuai dengan kebutuhan dalam satu Minggu, operator dapat mensetting jam padam dan jam aktif sesuai keinginan. Jika tidak sesuai, operator bisa mengulanginya dengan melakukan cara awal. Jika data yang diubah sudah sesuai sistem akan menyimpan pengubahan data tersebut dan menyimpan pada database.

 Pada aktivitas perijinan

Gambar 3.6 Activity Diagram Perijinan

Menu perijinan dibuat bertujuan untuk membuat jadwal baru diluar jadwal yang telah ada, contohnya Guru atau siswa yang ingin melakukan Kegiatan diluar jam sekolah misalnya ekstrakulikuler, istighosah, dan lain-lain. Untuk dapat melakukan perijinan, operator masuk pada menu perijinan. Klik menu perijinan, masukkan nama Ruangan, keterangan, jam aktif dan jam padam. Jika perijinan

Liat Tampilan menu Awal

Klik Menu Perijinan

Masukkan nama ruangan,keterangan , jam aktif ,jam padam

Sim pan

Sesuai Y T

System Operator


(60)

tidak sesuai operator bisa mengulanginya dengan melakukan cara seperti awal, jika perijinan sesuai sistem akan menyimpan pada database

 Pada aktivitas print laporan

Gambar 3.7 Activity Diagram Print Laporan

Untuk print laporan, operator masuk pada menu laporan, pilih laporan yang akan diprint atau hanya dilihat sesuai keinginan. Pada laporan jadwal akan dicetak pada jadwal yang disetting terakhir, sedangkan pada laporan perijinan terdapat dua menu yang dapat dipilih yaitu laporan perijinan keseluruhan atau dari tanggal. Untuk melihat laporan yang diinginkan klik tombol view, maka sistem

klik Menu laporan

pil ih jadwal di stribusi atau peri jinan ( Ruangan , dari tanggal )

Klik Lihat Menampilkan

Laporan

Sesuai.

Print Y T System. Operator.


(61)

akan menampilkan laporan. Jika ingin mencetak, klik view lanjutkan dengan cetak.

3.2.1.3Sequence Diagram

Sequence diagram menggambarkan interaksi antar objek di dalam dan di

sekitar sistem (termasuk pengguna, display, dan sebagainya) berupa message yang digambarkan terhadap waktu. Sequence diagram terdiri atar dimensi vertikal (waktu) dan dimensi horizontal (objek-objek yang terkait). Sequence diagram biasa digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan sebagai respons dari sebuah event untuk menghasilkan output tertentu

Berikut adalah gambar sequence diagram aplikasi simulasi pengontrol listrik :

: Operator

Login Form Tabel

mas ukkan nam a operator dan pas s word Validas i login Aktivitas s elanjutnya

Ubah dis tribus i arus pada ruang

Sim pan perubahan

Liat data yang telah dirubah Laporan

Liat atau print laporan


(62)

3.2.1.4Class Diagram

Pada class diagram memodelkan class-class apa saja yang terlibat dalam system serta bagaimana interaksi antar class. Pada class-class tersebut didefinisikan operasi-operasi apa saja yang bisa dilakukan. Pada class jadwal baru memiliki beberapa atribut jadwal baru dimana dari jadwal baru disesuaikan dengan masing-masing fungsi.

Pada class operator memiliki atribut/form isian yang harus diisi pengguna yaitu memasukkan nama operator, memasukkan user pengguna, memasukkan password. Pada class operator Memiliki operasi/eksekusi yang dilakukan tiap

Gambar 3.9 Class Diagram password

nama password insert()

(f rom Logical View) jenis ruang keterangan ruangan update() ruang nama ruangan insert() perijinan

nama penanggung jawab jam aktif jam padam tanggal ijin keterangan ijin insert() update()

(from Logical View)

operator nama operator user

password insert() (f rom Logical View)

jadwal baru tanggal input keterangan jadwal minggu jam aktif minggu jam padam senin jam aktif senin jam padam selasa jam aktif selasa jam padam rabu jam aktif rabu jam padam kamis jam aktif kamis jam padam jum'at jam aktif jum'at jam padam sabtu jam aktif sabtu jam padam insert()

update() delete()


(63)

menu login yaitu hasil input data akan mengakses kedalam atribut/form jadwal baru dan perijinan.

Pada class perijinan memiliki atribut isian yang harus diisi jika pengguna bertujuan untuk membuat jadwal baru diluar jadwal yang telah ada yaitu memasukkan nama penanggung jawab, jam aktif, jam padam, tanggal ijin, keterangan ijin. Pada Class perijinan akan diakses kedalam atribut operator.

Pada class jadwal baru memiliki atribut isian yang harus diisi pengguna yaitu memasukkan tanggal input, memasukkan keterangan jadwal, memasukkan penjadwalan jam aktif dan jam padam selama 1 (satu) minggu penuh ( minggu, senin, selasa, rabu, kamis, jum’at, sabtu ). Pada Class jadwal baru akan diakses kedalam atribut operator.

Pada class ruang memiliki atribut isian yang harus diisi pengguna yaitu memasukkan nama ruangan. Yang nantinya akan digunakan untuk pengaturan jadwal.

Pada class password memiliki atribut isian yang harus diisi pengguna yaitu memasukkan password. Yang nantinya akan digunakan untuk masuk kedalam sytem pengaturan jadwal baru.

Pada class jenis ruang memiliki atribut isian yang harus diisi pengguna yaitu memasukkan keterangan ruangan. Yang nantinya digunakan untuk memberi informasi keterangan tiap ruangan.

3.3 Perancangan Hardware

Untuk merealisasikan sistem yang telah dibuat diatas, dibuhkan beberapa


(64)

Personal Computer (PC)/ Laptop

PC sebagai media transfer dari program Codevision AVR ke Mikrokontroler, Laptop sebagai media berjalannya aplikasi simulasi pengontrol listrik yang dihubungkan ke mikrokontroler.

 Kabel Converter to USB Serial ke port RS 232

Karena pada laptop tidak mempunyai port RS 232, penulis menggunakan kabel ini untuk menghubungkan laptop dan

Mikrokontroller

 Miniatur Gedung Kantor

Untuk obyek pengontrol penulis merancang sebuah miniatur gedung Kantor SMK YPM 2 yang terbuat dari papan kayu ( Triplek ).

 Mikrokontroler AT Mega16

Sebagai pengontrol sistem untuk mematikan dan menyalakan lampu.  Lampu / LED

Sebagai media untuk mengetahui apakah listrik di suatu ruangan telah mati atau sudah menyala.

 Catu Daya

Dalam sistem nantinya penulis menggunakan adaptor 5V yang digunakan untuk mikrokontroller.


(65)

3.3.1 Perencanaan Mikrokontroler AT Mega16


(66)

Perancangan hardware untuk merealisasikan tugas akhir ini menggunakan mikrokontroler yang berfungsi sebgai pengontrol listrik. Pada desain board yang dibuat konektor port sebagai input dan output untuk sistem yang telah dirancang. Pada mikrokontroler port A, port B, port C, port D, port C sebagai output untuk menyalakan lampu. Sebagai power untuk mikrokontroller penulis menggunakan adaptor 5 Volt. Setiap port pada mikro kontroler mempunyai 8 pin yang mempunyai fungsi yang sama. Kecuali port A adanya ADC (Analog Digital Converter). Berikut adalah pemetaan port dan pin pada gedung kantor SMK YPM 2 Taman Sepanjang. Berikut adalah pemetaan port dan pin pada gedung kantor SMK YPM 2 Taman Sepanjang.

Gambar 3.11 Pemetaan Port Pada Gedung kantor SMK YPM 2 taman Sepanjang

R 1 R 2

R 3 R 4

R 5 R 6

R 7


(67)

3.3.1.1 Driver Lampu LED

Pada rancangan ini bagian saklar untuk menyalakan dan mematikan lampu menggunakan relay. Keuntungan relay adalah biaya pembuatan relatif lebih murah daripada Driver triac. Kerugian relay adalah ada kontak mekanik sehingga menimbulkan percikan bunga api.

Jenis relay yang dipilih adalah seri 351 yang mempunyai arus maksimal 1 A dan tegangan maksimal 220 V. Untuk menyulut relay digunakan transistor BC618 sebagai saklar untuk melewatkan negatif dari mikrokontroler.

Gambar 3.12 Skema Rangkaian Driver Lampu LED

3.3.1.2 Sensor Cahaya

Sensor cahaya pada rancangan ini difungsikan untuk mendeteksi keadaan lampu apakah sedang menyala atau padam. Sensor cahaya yang digunakan adalah LDR yang mempunyai sensivitas cukup baik terhadap perubahan intensitas cahaya. Nilai resistansi LDR akan sangat besar


(68)

sampai ratusan kilo ohm saat gelap dan berubah menjadi hanya beberapa puluh saja saat terang.

Untuk mendapatkan keluaran dari sensor berupa tegangan level TTL yang stabil maka ditambahkan dengan rangkaian pengkondisi sinyal. Rangkaian ini berupa komparator menggunakan IC PC817, yang berkerja dengan arus yang rendah dan didesain dengan tegangan kerja yang beragam, dari standard ±15V dapat diubah ke ± 5V.

Gambar 3.13 Skema Rangkaian Sensor Cahaya

3.4 Perancangan Antarmuka

Perancangan antarmuka merupakan perancangan halaman aplikasi yang berinteraksi langsung antara pengguna dan sistem. Dalam aplikasi ini hanya menampilkan perancangan antarmuka untuk operator. Karena operator adalah pengguna dari aplikasi ini yang berinteraksi langsung dengan sistem. Sebagai contoh perancangan antarmuka setiap proses yang ada, adalah sebagai berikut :


(69)

Perancangan form utama pada aplikasi nantinya akan tampak pada Gambar 3.15

Form utama ini adalah tempat memonitor setiap jadwal untuk mengetahui kondisi

lampu setiap ruangan.

Masukkan nama operator dan password untuk masuk aplikasi

Nama operator Password

Masuk batal Gambar 3.14 Login ke System


(70)

Form jadwal ruang adalah form untuk mengatur jadwal setiap ruangan

selama satu minggu penuh.


(71)

Form register adalah form untuk menambah data operator dan yang

mengakses form ini.

Form perijinan berguna bagi pihak sekolah yang akan ijin menggunakan

ruang untuk menyalakan lampu di luar jadwal yang ada.

Gambar 3.18 Perancangan Antarmuka Form Perijinan Penanggung jawab :

Ruang :

Keterangan :

Jam aktif :

Jam padam :

NAMA: JABATAN:

User ID :

Password : Ulangi Password :


(72)

Form laporan adalah form untuk melihat atau mencetak setiap laporan

berdasarkan jadwal, perijinan secara keseluruhan atau berdasarkan tanggal.

Gambar 3.19 Perancangan Antarmuka Form Laporan Jadwal

Perijinan Keseluruhan Dari tanggal


(73)

BAB IV

IMPLEMENTASI SISTEM

4.1 Sistem Pengontrol Listrik

Sistem pengontrol listrik ini pada dasarnya terdiri dari dua bagian utama. pertama software sebagai pengolah data jadwal dan sebagai pengirim data ke mikrokontroler. Kedua hardware mikrokontroler ATMega 16 yang berfungsi untuk menyalakan dan mematikan lampu.

4.1.1 Aplikasi Simulasi Pengontrol Listrik

Software program pengontrol listrik ini terdiri dari beberapa form yang

yang saling mendukung agar dapat mengolah data jadwal dengan baik. Untuk lebih jelasnya tiap-tiap form akan dijelaskan pad sub bab di bawah ini.

4.1.1.1Menu File

Form ini berguna untuk mengidentifikasikan operator yang akan masuk ke

dalam program. Dalam memasukkan nama operator dan kata sandi harus benar agar operator bisa masuk dalam program.

Gambar 4. 1 Form Login Operator


(74)

Source Code Login begin

if UserEdit.Text='' then begin

Application.MessageBox('User ID Belum diisi','Peringatan',MB_OK or MB_ICONError);

goto ulang; end; // nama pengguna atau kata sandi belum di isi

if PasswEdit.Text='' then begin

Application.MessageBox('Password Belum diisi','Peringatan',MB_OK or MB_ICONError);

goto ulang; end; // kata sandi atau nama pengguna belum di isi

if not Form1.ADOLogin.Eof then begin

Form1.Panel1.Visible:=true; Form1.Panel2.Visible:=true;

Form1.BtnLogin.Caption:='LogOut'; end;

4.1.1.2Menu Registrasi Operator

Menu registrasi operator berfungsi untuk mendaftar data operator. Untuk form daftar operator merupakan pendaftaran operator baru, menu ini adalah hak akses dari seorang operator, operator tidak dapat mengakses program. Agar dapat mengakses, seorang operator harus melakukan register dahulu. menu ini berfungsi untuk menambah data operator.

pertama pengguna memasukkan nama, jabatan, user id, kemudian memasukkan password selanjutnya veryfikasi password, Dan terakhir menekan tombol OK untuk mengirim data ke database.


(75)

Source Code Register

procedure TForm14.BtnOkClick(Sender: TObject); label ulang;

begin

if PasswEdit.Text=sEdit2.Text then begin Form1.ADOLogin.Append;

Form1.ADOLoginpassw.Value:=PasswEdit.Text; Form1.ADOLoginUser.Value:=UserEdit.Text; Form1.ADOLogin.Post;

BtnCncl.Click; end

else Application.MessageBox('Konfirmasi Password Salah','Peringatan',MB_OK or

MB_ICONError); // nama pengguna atau kata sandi salah

ulang:

end;

procedure TForm14.BtnCnclClick(Sender: TObject); begin

Form14.Close;

end;


(76)

4.1.1.3Menu Utama

Form utama adalah form dimana operator masuk ke program aplikasi simulasi

pengontrol listrik. Fungsi utama dari form ini adalah sebagai tempat monitoring jadwal ruang yaitu mengetahui aktif dan padamnya kondisi listrik. Pada form ini terdapat 6 menu yaitu file (keluar, tutup aplikasi), pengguna (Sign Up, Login), Setting (pengaturan jadwal ruang), perijinan, laporan kemudian tombol bypass. Tombol button ini digunakan ketika sistem tidak mengikuti penjadwalan.


(1)

end; end;

pr ocedur e TFor m 2.sBit Bt n2Click( Sender : TObj ect ) ; begin

ruang: = 0; For m 2.Close; end;

pr ocedur e TFor m 2.For m Show ( Sender : TObj ect ) ; begin

Tim er 2.Enabled: = t r ue;

For m 1.Tim er 2.Enabled: = false; count : = 0;

end;

pr ocedur e TFor m 2.For m Close( Sender : TObj ect ; var Act ion: TCloseAct ion) ; begin

For m 1.Tim er 2.Enabled: = t rue; end;

pr ocedur e TFor m 2.Tim er2Tim er ( Sender : TObj ect ) ; begin

I nc( count ) ;

if count > 1 t hen begin ruang: = 0;

sSpeedBut t on1.Click ; Tim er 2.Enabled: = false;

end; end;

pr ocedur e TFor m 2.sBit Bt n4Click( Sender : TObj ect ) ; var i,har i: int eger ;

j am x,m nt x,dat a: st r ing; begin

Label32.Capt ion: = 'Ruang '+ I nt ToSt r ( r uang) ; For m 2.Capt ion: = I nt ToSt r ( r uang) ;

ADOQ[ r uang] .Close;

ADOQ[ r uang] .Connect ionSt r ing: = For m 1.ADOConnect ion2.Connect ionSt r ing; ADOQ[ r uang] .SQL.Clear ;

ADOQ[ r uang] .SQL.Add( 'select * fr om R'+ I nt ToSt r ( r uang) ) ; ADOQ[ r uang] .Open;

adoQ[ ruang] .Fir st ; for i: = 0 t o 6 do begin

if adoQ[ r uang] .FieldByNam e( 'Jdw l_1') .Value= '1' t hen cbox[ 1+ i* 3] .Checked: = Tr ue

else cbox[ 1+ i* 3] .Checked: = false;

if adoQ[ r uang] .FieldByNam e( 'Jdw l_2') .Value= '1' t hen cbox[ 2+ i* 3] .Checked: = Tr ue


(2)

else cbox[ 2+ i* 3] .Checked: = false;

if adoQ[ r uang] .FieldByNam e( 'Jdw l_3') .Value= '1' t hen cbox[ 3+ i* 3] .Checked: = Tr ue

else cbox[ 3+ i* 3] .Checked: = false;

j am _on[ 1+ i* 3] .Value: = adoQ[ r uang] .FieldByNam e( 'Tim eOn_1') .Value; j am _on[ 2+ i* 3] .Value: = adoQ[ r uang] .FieldByNam e( 'Tim eOn_2') .Value; j am _on[ 3+ i* 3] .Value: = adoQ[ r uang] .FieldByNam e( 'Tim eOn_3') .Value; j am _off[ 1+ i* 3] .Value: = adoQ[ r uang] .FieldByNam e( 'Tim eOff_1') .Value; j am _off[ 2+ i* 3] .Value: = adoQ[ r uang] .FieldByNam e( 'Tim eOff_2') .Value; j am _off[ 3+ i* 3] .Value: = adoQ[ r uang] .FieldByNam e( 'Tim eOff_3') .Value; adoQ[ ruang] .Next ;

end;

ADOQ[ r uang] .Close;

ADOQ[ r uang] .Connect ionSt r ing: = For m 1.ADOConnect ion1.Connect ionSt r ing; ADOQ[ r uang] .Open;

end; end.

Source Code Form Perizinan unit Unit 4;

int erface uses

Window s, Messages, SysUt ils, Var iant s, Classes, Gr aphics, Cont r ols, For m s, Dialogs, St dCt r ls, sEdit , sSpinEdit , But t ons, sBit Bt n, Ex t Ct r ls, sPanel,

Gr ids, DBGr ids, sGr oupBox, DB, ADODB, sRadioBut t on, acPNG, sCom boBox, DBCt r ls, sLabel, Mask, sMaskEdit , sCust om Com boEdit , sTooledit , sMem o; t ype

TFor m 4 = class( TFor m ) PnlSisw a: TsPanel; Label1: TLabel; I m age1: TI m age; Bt nHps: TsBit Bt n; Bt nOk: TsBit Bt n;

GBoxSet Kls: TsGr oupBox; sLabel1: TsLabel;

sLabel2: TsLabel; sLabel4: TsLabel; sLabel5: TsLabel; sLabel6: TsLabel; sLabel3: TsLabel;


(3)

sEdit 3: TsEdit ;

sCom boBox1: TsCom boBox; sMem o1: TsMem o;

sTim ePicker 1: TsTim ePicker ; sTim ePicker 2: TsTim ePicker ; sEdit 1: TsEdit ;

Tim er 1: TTim er ;

pr ocedur e Bt nHpsClick( Sender : TObj ect ) ; pr ocedur e Bt nOkClick( Sender : TObj ect ) ; pr ocedur e Tim er 1Tim er ( Sender : TObj ect ) ; pr ocedur e For m Show ( Sender : TObj ect ) ; pr iv at e

{ Pr ivat e declar at ions } public

{ Public declar at ions } end;

var

For m 4: TFor m 4; m enux: int eger ; st at us: st r ing; im plem ent at ion uses unit 1;

{ $R * .dfm }

pr ocedur e TFor m 4.Bt nHpsClick( Sender : TObj ect ) ; begin

For m 4.Close; end;

pr ocedur e TFor m 4.Bt nOk Click( Sender : TObj ect ) ; var no: int eger ;

label ulang; begin

if sEdit 3.Text = '' t hen begin

Applicat ion.MessageBox ( 'Penanggung Jawab Belum diisi','Per ingat an',MB_OK or MB_I CONEr r or ) ;

got o ulang; end;

if sCom boBox1.Text = '' t hen begin

Applicat ion.MessageBox ( 'Ruang Belum diisi','Per ingat an',MB_OK or MB_I CONEr r or ) ;

got o ulang; end;

if sMem o1.Text = '' t hen begin

Applicat ion.MessageBox ( 'Ket erangan Belum diisi','Peringat an',MB_OK or MB_I CONEr r or ) ;


(4)

For m 1.Tim er 2.Enabled: = False; For m 1.ADOQuer y9.SQL.Clear ; For m 1.ADOQuer y9.Close;

For m 1.ADOQuer y9.SQL.Add( 'select * fr om izin') ; For m 1.ADOQuer y9.Open;

{ no: = 0;

For m 1.ADOQuer y9.Fir st ;

w hile not For m 1.ADOQuer y9.Eof do begin I nc( no) ;

For m 1.ADOQuer y9.Next ; end; }

pr ocedur e TFor m 4.Tim er1Tim er ( Sender : TObj ect ) ; begin

sEdit 1.Tex t : = Dat eToSt r ( Dat e) ; end;

pr ocedur e TFor m 4.For m Show ( Sender : TObj ect ) ; begin

sEdit 3.Tex t : = For m 1.sLabel4.Capt ion; sCom boBox1.Text : = '';

sTim ePicker 1.Text : = '00: 00: 00'; sTim ePicker 2.Text : = '00: 00: 00'; sMem o1.Text : = '';

end; end.

Source Code Form Cet ak Laporan unit Unit 6;

int erface uses

Window s, Messages, SysUt ils, Var iant s, Classes, Gr aphics, Cont r ols, For m s, Dialogs, Grids, DBGr ids, sBut t on, Mask, sMaskEdit , sCust om Com boEdit , sTooledit , St dCt r ls, sCom boBox, sEdit , sLabel, sGr oupBox, But t ons, sBit Bt n, acPNG, Ext Ct rls, sPanel, DB, ADODB, sRadioBut t on, sCheckBox, RpRave, RpDefine, RpCon, RpConDS;

var

For m 6: TFor m 6; im plem ent at ion uses unit 1;


(5)

{ $R * .dfm }

pr ocedur e TFor m 6.sRadioBut t on2Click( Sender : TObj ect ) ; begin

I f sRadioBut t on2.Checked= t r ue t hen begin

sDat eEdit 1.Enabled: = t rue; sDat eEdit 2.Enabled: = t rue; end;

end;

pr ocedur e TFor m 6.sRadioBut t on1Click( Sender : TObj ect ) ; begin

I f sRadioBut t on1.Checked= t r ue t hen begin

sDat eEdit 1.Enabled: = False; sDat eEdit 2.Enabled: = False; end

end;

pr ocedur e TFor m 6.sBit Bt n2Click( Sender : TObj ect ) ; begin

For m 6.Close; end;

pr ocedur e TFor m 6.sRadioBut t on4Click( Sender : TObj ect ) ; begin

if sRadioBut t on4.Checked= t r ue t hen begin sRadioBut t on2.Enabled: = Tr ue;

sRadioBut t on1.Enabled: = Tr ue; end;

end;

pr ocedur e TFor m 6.sRadioBut t on3Click( Sender : TObj ect ) ; begin

if sRadioBut t on3.Checked= t r ue t hen begin sRadioBut t on2.Enabled: = false;

sRadioBut t on1.Enabled: = false; end;

end;

pr ocedur e TFor m 6.sBit Bt n3Click( Sender : TObj ect ) ; begin

if sRadioBut t on3.Checked= t r ue t hen begin Rv Pr oj ect 1.Execut e;

Rv Pr oj ect 1.Execut eRepor t ( 'RUANG.r av') ; end;

if( sRadioBut t on4.Check ed= t rue) and

( sRadioBut t on1.Check ed= t rue) t hen begin ADOQuery1.Close;


(6)

ADOQuer y1.SQL.Clear ;

ADOQuery1.SQL.Add( 'SELECT * FROM izin') ; ADOQuery1.Open;

RvPr oj ect 2.Execut e;

RvPr oj ect 2.Execut eRepor t ( 'I ZI N.r av') ; end;

if( sRadioBut t on4.Check ed= t rue) and

( sRadioBut t on2.Check ed= t rue) t hen begin ADOQuery1.Close;

ADOQuer y1.SQL.Clear ;

ADOQuery1.SQL.Add( 'SELECT * FROM izin WHERE t anggal> = : p1 and t anggal< = : p2') ;

ADOQuer y1.Par am et er s.Par am Values[ 'p1'] : = sDat eEdit 1.Dat e; ADOQuer y1.Par am et er s.Par am Values[ 'p2'] : = sDat eEdit 2.Dat e; ADOQuery1.Open;

RvPr oj ect 2.Execut e;

RvPr oj ect 2.Execut eRepor t ( 'I ZI N.r av') ; end;

end; end.