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
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
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.
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,
Dekan Fakultas Teknologi Industri Universitas Pembangunan Nasional “Veteran”
Jawa Timur
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
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
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
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
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
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
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
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.
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
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
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 :
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,
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
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
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 :
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 :
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.
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
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
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
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.
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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.
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
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
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
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.
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.
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 :
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
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
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
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
number, di mana message dari level tertinggi memiliki nomor 1. Messages dari
level yang sama memiliki prefiks yang sama.
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
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
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
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
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
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
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
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
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.
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
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