( STUDI KASUS : POKJA INFORMATION AND COMMUNICATION TECHNOLOGY PADA BALAI BESAR METEOROLOGI DAN
GEOFISIKA WILAYAH II CIPUTAT )
Oleh :
HERMANTO
206091004055
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI
SYARIF HIDAYATULLAH
v
Wilayah II Ciputat), Dibimbing Oleh Herlino Nanang dan Victor Amrizal.
Pemakaian kelistrikan yang tidak teratur pada ruangan-ruangan suatu instansi dapat diatasi dengan cara mengontrol kelistrikan secara otomatisasi, sehingga staf tidak perlu lagi untuk khawatir akan kealpaan untuk menghidupkan dan mematikan arus listrik disetiap ruangan. Maka dari itu, penelitian ini dimaksudkan untuk membangun sebuah prototipe sistem pengendali yang dapat mengontrol kelistrikan secara otomatisasi, sentralisasi dan komputerisasi. Pengembangan prototipe ini lebih lanjut diharapkan dapat membantu staf dalam pemantauan kelistrikan ruangan yang dirasakan cukup tidak efisien jika dilakukan dengan sistem saklar yang berada disetiap ruangan. Dalam perancangannya, penulis memanfaatkan teknologi mikrokontroler AT89S51 sebagai alat bantu dalam pengontrolan kelistrikan. Dimana dalam hal ini kantor Balai Besar Meteorologi dan Geofisikas Wilayah 2 Ciputat Pokja ICT, mempunyai empat ruangan yang memiliki peralatan-peralatan yang beroperasi 24 Jam. Dalam pembuatan prototipe sistem pengendali kelistrikan ini penulis menggunakan metode pengembangan sistem model komputer (computer model), dalam pembangunannya menggunakan bahasa Assembly dan VB.NET sebagai antarmuka pemakai. Aplikasi ini pada akhirnya sebagai pengendali kelistrikan ruangan yang bersifat otomatisasi, sentralisasi, dan terkomputerisasi. Untuk implementasi pada sistem kelistrikan sesungguhnya, terdapat penambahan digital amphere meter guna melihat output kelistrikan yang dihasilkan, penambahan sikring untuk keamanannya, dan perubahan relay yang mampu memberikan daya yang besar.
Kata Kunci : Mikrokontroler, AT89S51, computer model (model komputer),
Assembly, VB.NET.
5 BAB + 127 Halaman + 16 Tabel + 66 Gambar + Pustaka + 7 Lampiran
vi
Alhamdulillah, rasa syukur penulis panjatkan kepada Allah SWT atas
rahmat dan karunianya sehingga penulis dapat menyelesaikan skripsi ini dengan
sebaik-baiknya. Shalawat serta salam senantiasa selalu tercurah kepada Nabi
Muhammad SAW beserta keluarga dan sahabat-sahabatnya.
Judul dari skripsi ini adalah ”PROTOTIPE SISTEM PENGENDALI KELISTRIKAN RUANGAN BERBASIS MIKROKONTROLER AT89S51 (STUDI KASUS : POKJA INFORMATION AND COMMUNICATION TECHNOLOGY (ICT) PADA BALAI BESAR METEOROLOGI DAN GEOFISIKA WILAYAH II CIPUTAT)”. Dalam menyusun skripsi ini, penulis menyadari bahwa skripsi ini tidak dapat terlaksana dengan baik tanpa bantuan dan
bimbingan dari semua pihak. Pada kesempatan ini, perkenankan penulis
mengucapkan terima kasih yang sebesar-besarnya kepada:
1. Bapak Dr. Syopiansyah Jaya Putra, M.SIS selaku Dekan Fakultas Sains
dan Teknologi,
2. Bapak Yusuf Durrachman, MSc., MIT selaku Ketua Program Studi
Teknik Informatika. dan Ibu Viva Arifin, MMSI., Sekretaris Program
Teknik Informatika
3. Bapak Herlino Nanang, MT. selaku Dosen Pembimbing I, Bapak Victor
Amrizal M.Kom selaku Dosen Pembimbing II, Ibu Arini MT. selaku
Dosen Penguji I, serta Bapak Ir. Bakri La Katjong, MT., MKom. Selaku
vii
selaku Electrical Engineering Pokja ICT Balai Besar Meteorologi Dan
Geofisika, sebagai pembimbing lapangan yang telah memberikan kerja
sama, bantuan dan bimbingannya semasa riset.
5. Seluruh dosen dan para staf karyawan Program Studi Teknik Informatika
Fakultas Sains dan Teknologi UIN Syarif Hidayatullah Jakarta.
6. Seluruh staf karyawan Pokja ICT Balai Besar Meteorologi Dan Geofisika.
Penulis menyadari bahwa pada skripsi ini masih terdapat banyak sekali
kekurangan. Oleh karena itu, masukkan berupa saran dan kritik yang membangun
sangat penulis harapkan demi tercapainya peningkatan atas manfaat dari skripsi
ini. Untuk itu, penulis dapat dihubungi pada hermanto_it@yahoo.com. Akhir
kata, penulis mengucapkan terima kasih yang tak terhingga dan
sedalam-dalamnya kepada semua pihak yang telah membantu penyelesaian laporan ini,
semoga Allah SWT akan membalas kebaikan kalian. Semoga skripsi ini dapat
memberi manfaat kepada semua pihak, Amiin.
Wassalam
Jakarta, Maret 2011
Penulis
xii
Lembar Persetujuan Pembimbing ... ii
Lembar Pengesahan Ujian ... iii
Lembar Pernyataan ... iv
Abstrak ... v
Kata Pengantar ... vi
Lembar Persembahan ... vii
Daftar Isi ... xi
Daftar Tabel ... xv
Daftar Gambar ... xvi
Daftar Lampiran ... xx
Daftar Istilah... xxi
BAB I PENDAHULUAN ... 1
1.1. Latar Belakang ... 1
1.2. Identifikasi Masalah ... 2
1.3. Rumusan Masalah ... 3
1.4. Batasan Masalah ... 3
1.5. Tujuan Penelitian ... 4
1.6. Manfaat Penelitian ... 5
xiii
2.1. Definisi Prototipe ... 10
2.2. Definisi Sistem ... 10
2.3. Definisi Pengendalian ... 11
2.4. Definisi Kelistrikan ... 11
2.5. Definisi Ruangan ... 12
2.6. Definisi Mikrokontroler ... 12
2.6.1. Berbagai Tipe Mikrokontroler ... 13
2.7. AT89S51 ... 14
2.7.1. Kelebihan Mikrokontroler AT89S51 ... 14
2.7.2. Arsitektur Mikrokontroler AT89S51 ... 16
2.7.3. Deskripsi Pin Mikrokontroler AT89S51 ... 17
2.7.4. Struktur Memori ... 20
2.7.5. Interupsi... 22
2.8. Metodologi Penelitian ... 23
2.8.1. Metode Pengumpulan Data ... 23
2.8.2. Metode Pengembangan Sistem ... 24
2.8.3. Pseudocode ... 26
2.8.4. Flowchart (Diagram Alur) ... 26
2.9. Bahasa Pemrograman Assembly ... 28
xiv
2.10.2. Kelebihan dan Kekurangan Visual Basic.NET ... 35
2.11. Komponen Pendukung ... 40
2.11.1.Perangkat Keras Komunikasi ... 40
2.11.2.Komponen Elektronika ... 43
2.11.3.Perangkat Listrik ... 48
BAB III METODOLOGI PENELITIAN ... 49
3.1. Metode Pengumpulan Data ... 49
3.2. Metode Pengembangan Sistem ... 53
3.3. Diagram Alur (Flowchart) Penelitian ... 55
BAB IV HASIL DAN PEMBAHASAN ... 57
4.1. Profil Balai Besar Meteorologi dan Geofisika Wilayah II Ciputat . 57 4.1.1. Gambaran Umum Badan Meteorologi Klimatologi dan Geofisika ... 57
4.1.2. Sejarah Badan Meteorologi Klimatologi dan Geofisika ... 59
4.1.3. Logo Badan Meteorologi Klimatologi dan Geofisika ... 61
4.1.4. Visi Misi Badan Meteorologi Klimatologi dan Geofisika ... 61
xv
4.2.3. Mengembangkan komputer dalam rancangan prototipe sistem
pengendali kelistrikan ruangan ... 75
4.2.4. Membuat program Assembly, hardware prototipe, dan pembuatan aplikasi antarmuka pemakai. ... 99
4.2.5. Menguji, melakukan pemeliharaan, dan mengevaluasi ptototipe sistem pengendali kelistrikan ruangan ... 113
BAB V KESIMPULAN DAN SARAN ... 125
5.1. Kesimpulan ... 125
5.2. Saran ... 126
DAFTAR PUSTAKA ... 127
xvi
Tabel 2.1 Perbandingan Mikrokontroler Atmel ... 15
Tabel 2.2 Fungsi lain dari Port 3 ... 18
Tabel 2.3 Simbol – simbol Flowchart ... 27
Tabel 2.4 Penjelasan Fungsi Tool-tool dalam toolbox ... 36
Tabel 2.5 Port DB 9 ... 41
Tabel 4.1 Pengukuran Rangkaian Catu Daya ... 101
Tabel 4.2 Pengukuran Rangkaian Mikrokontroler ... 102
Tabel 4.3 Pengukuran Rangkaian Saklar Digital ... 103
Tabel 4.4 Pengukuran Rangkaian IC Max 232 ... 104
Tabel 4.5 Pengukuran Rangkaian LED Indikator ... 105
Tabel 4.6 Pengujian Fitur Login ... 113
Tabel 4.7 Pengujian Fitur Menu Utama ... 114
Tabel 4.8 Pengujian Fitur Tab Menu Ruang-ruangan ... 116
Tabel 4.9 Pengujian Fitur Menu Help ... 118
Tabel 4.10 Pengujian Fitur Tab Menu Ruang Staff ICT ... 119
xvii
Gambar 2.1 ArsitekturAT89S51 ... 16
Gambar 2.2 Deskripsi Pin AT89S51 ... 17
Gambar 2.3 Visual Basic.NET ... 38
Gambar 2.4 Konektor DB 9 Jantan ... 41
Gambar 2.5 Konektor DB 9 Betina ... 41
Gambar 2.6 USB To Serial ... 43
Gambar 2.7 Universal Writer ... 43
Gambar 2.8 Resistor ... 44
Gambar 2.9 Kapasitor ... 45
Gambar 2.10 Elektrolit Kondensator ... 45
Gambar 2.11 Dioda ... 46
Gambar 2.12 Transistor ... 46
Gambar 2.13 Integrated Circuit ... 47
Gambar 2.14 Transformator ... 47
Gambar 2.15 Relay ... 48
Gambar 2.16 LED ... 48
Gambar 2.17 Stop Kontak ... 48
Gambar 3.1 Diagram Alur (Flowchart) Penelitian Prototipe Sistem ... 55
Gambar 3.2 Tahapan-tahapan pengembangan model komputer ... 56
xviii
Gambar 4.4 Flowchart indentifikasi sistem kelistrikan manual ruang Staff
ICT ... 69
Gambar 4.5 Flowchart indentifikasi sistem kelistrikan manual ruang verifikasi ... 70
Gambar 4.6 Flowchart indentifikasi sistem kelistrikan manual ruang server 71
Gambar 4.7 Skema Ruangan Sistem Pengendali Kelistrikan Ruangan Berbasis Mikrokontroler AT89S51 ... 73
Gambar 4.8 Flowchart proses rancangan sistem ruang tamu ... 76
Gambar 4.9 Flowchart proses rancangan sistem ruang staff ICT ... 77
Gambar 4.10 Flowchart proses rancangan sistem ruang verifikasi ... 78
Gambar 4.11 Flowchart proses rancangan sistem ruang server ... 79
Gambar 4.12 Blok Diagram Perancangan Arsitektur Sistem Pengendali Kelistrikan Ruangan ... 80
Gambar 4.13 Flowchart Program Assembly Pengendali Kelistrikan Ruangan Berbasis Mikrokontroler AT89S51 ... 84
Gambar 4.14 Rangkaian Catu Daya ... 85
Gambar 4.15 Rangkaian Mikrokontroler AT89S51 ... 87
Gambar 4.16 Rangkaian Saklar Digital ... 89
Gambar 4.17 Rangkaian Serial IC MAX 232 ... 90
xix
Gambar 4.22 Perancangan Tab Ruang Staff ICT dalam Menu Utama ... 94
Gambar 4.23 Perancangan Tab Ruang Server dalam Menu Utama ... 95
Gambar 4.24 Perancangan Tab Ruang Staff Verivikasi dalam Menu Utama .. 96
Gambar 4.25 Perancangan Menu Help ... 97
Gambar 4.26 Perancangan About Software ... 98
Gambar 4.27 Pembuatan program Menggunakan ALDS ... 99
Gambar 4.28 Pembuatan Aplikasi Dengan WH 500-800 Programmer ... 100
Gambar 4.29 Pembuatan Rangkaian Catu Daya ... 101
Gambar 4.30 Pembuatan Rangkaian Mikrokontroler AT89S51 ... 102
Gambar 4.31 Pembuatan Rangkaian Saklar Digital ... 103
Gambar 4.32 Pembuatan Rangkaian Serial IC MAX 232 ... 104
Gambar 4.33 Pembuatan Rangkaian Led Indikator ... 105
Gambar 4.34 Instalasi Visual Studio 2008 ... 106
Gambar 4.35 Form Login ... 107
Gambar 4.36 Tampilan Depan ... 109
Gambar 4.37 Tampilan Menu Ruang ... 109
Gambar 4.38 Form Help ... 110
Gambar 4.39 Form About Software ... 111
Gambar 4.40 Integrasi prototipe sistem kelistrikan ruangan ... 112
xx
Gambar 4.44 Pengujian Tampilan Tab Menu Ruang-Ruangan pada aplikasi .. 117
Gambar 4.45 Prototipe sistem dapat mengirim instruksi memutus dan
menghubungkan kelistrikan masing-masing saklar ... 117
Gambar 4.46 Tampilan Menu Help Pada Aplikasi ... 119
xxi
Lampiran I Mikrokontroler AT89S51 . ... I-1
Lampiran II Rangkaian Elektronika Prototipe Sistem Pnegendali
Kelistrikan Ruangan Berbasis Mikrokontroler AT89S51 .. II-1
Lampiran III Proses Pembuatan Program Assembly ... III-1
Lampiran IV Pembuatan Perangkat Sistem. ... IV-1
Lampiran V Pembuatan Antar Muka Sistem . ... V-1
Lampiran VI Proses Sistem Bekerja ... VI-1
Lampiran VII Source Code Assembler.. ... VII-1
xxii
1 Interrupt Suatu kejadian atau peristiwa yang menyebabkan
mikrokontroler berhenti sejenak untuk melayani interrupt tersebut.
2 Random Access Memory
(RAM)
Sebuah tipe penyimpanan komputer yang isinya dapat diakses dalam waktu yang tetap tidak memperdulikan letak data tersebut dalam memori
3 RST (Reset) RST pada pin 9 merupakan pin reset. Jika pada pin
ini diberi masukan 1 selama minimal
2 machine cycle maka system akan di-reset dan register-register internal akan berisi nilai
default tertentu dan program kembali mengeksekusi dari alamat paling awal.
4 Program Store Enable
(PSEN)
PSEN (Program Store Enable)adalah kontrol sinyal yang mengijinkan untuk mengakses program (code) memori eksternal.
5 Address Latch Enable
(ALE)
ALE (Address Latch Enable) digunakan untuk men-demultiplex address dan data bus. Ketika menggunakan program memori eksternal port 0 akan berfungsi sebagai address dan data bus. Pada setengah paruh pertama memory cycle ALE akan bernilai 1 sehingga mengijinkan penulisan alamat pada register eksternal dan pada setengah paruh berikutnya akan bernilai satu sehingga port 0 dapat digunakan sebagai data bus. ALE terdapat pada pin 30.
6 External Acces (EA) EA (External Access) yaitu akses dimana
Jika EA diberi masukan 1 maka mikrokontroler menjalankan program memori internal
saja. Jika EA diberi masukan 0 (ground) maka mikrokontroler hanya akan menjalankan program memori eksternal (PSEN akan bernilai 0). EA terdapat pada pin 31.
7 Buffer Merupakan sebuah proses komputer yang
menunjukkan perilaku yang aneh. 8 UART atau Universal
Asynchronous Receiver-Transmitter.
Bagian perangkat keras komputer yang
xxiii
11 MOV Bahasa Pemrograman Assembler dengan perintah
untuk melakukan operasi pemindahan data dari alamat register satu ke alamat register lainnya
12 SETB (Set Bit) Bahasa Pemrograman Assembler dengan perintah
untuk melakukan operasi pada bit data pada alamat yang ditunjuk.
13 CLR (Clear) Bahasa Pemrograman Assembler dengan perintah
untuk memberikan data 0 pada alamat register yang ditunjuk.
14 AJPM (Absolut Jump) Bahasa Pemrograman Assembler dengan perintah
untuk lompatan dalam sub-rutin yang sama dengan alamat memori 11bit dari alamat yang ditentukan
15 ACALL(Absolut Call) Bahasa Pemrograman Assembler dengan perintah Digunakan untuk memanggil program sub-rutin yang ditunjuk dengan jangkauan maksimal 2kbyte 16 JNB (Jump on ot Bit Set) Bahasa Pemrograman Assembler dengan perintah Perintah ini melakukan pengujian bit pada alamat bit yang ditunjuk
17 CJNE (Compare and
Jump if Not Equal)
Bahasa Pemrograman Assembler dengan perintah Melakukan perbandingan antara data sumber dengan data tujuan
18 TMP1 dan TMP2 Permulaan Pendeklarasian variable address.
19 Watchdog Timer Fasilitas yang digunakan untuk mengatasi kondisi
1
1.1 Latar Belakang
Perkembangan teknologi dalam kehidupan manusia semakin canggih, hal ini
ditandai dengan banyaknya teknologi yang mempercepat pekerjaan manusia itu
sendiri. Teknologi dapat mengubah pola pikir manusia baik dalam metode
pendidikan dan perkembangan ilmu pengetahuan lainnya. Infrastruktur
kelistrikan pun bisa dengan mudah dikendalikan dengan menggunakan teknologi.
Salah satu bentuk teknologi tersebut adalah dengan memanfaatkan teknologi
mikrokontroler (microcontroler).
Balai Besar Meteorologi dan Geofisika Wilayah II Ciputat pada Pokja
Information and Communication Technology (ICT) merupakan salah satu instansi
pemerintah yang sistem kelistrikannya menggunakan sistem genset. Akan tetapi
pendistribusian listrik dengan sistem genset tersebut belum mampu mencakup
keseluruhan ruangan Balai Besar Meteorologi dan Geofisika Wilayah II Ciputat.
Pokja ICT merupakan salah satu ruangan yang beberapa peralatannya belum
termasuk dalam sistem genset. Peralatan seperti AC, PC, lampu dan lainnya sering
menyala 24 jam tanpa digunakan untuk keperluan operasional.
Melihat kondisi hal itu, maka penulis memberikan ide yang dapat digunakan
pada berbagai keperluan. Dalam skripsi ini penulis akan merancang sebuah
AT89S51 (Studi Kasus : Pada Balai Besar Meteorologi Dan Geofisika Wilayah II Ciputat)”.
Dalam judul penelitian tersebut, sebenarnya sudah ada skripsi yang meneliti
tentang pengendalian listrik, namun dengan demikian hal yang membedakan
dalam pembuatan skripsi ini adalah prototipe sistem pengendali kelistrikan
berbasis mikrokontroler, dengan bahasa dan pemrograman yang berbeda.
Penelitian ini, penulis menggunakan bahasa Assembly, Visual Basic. Net 2008
sebagai program antarmuka, dan memanfaatkan koneksi serial menggunakan
perangkat RS 232 to USB. Dalam penelitian ini output dalam pengendali yaitu
lampu dengan output 5 Watt. Dalam penelitian sejenis (Irfan F ; 2010)
menggunakan simulasi lampu led , koneksi paralel port printer, dan pemrograman
visual basic sebagai user interface. Adapun kelebihan dari sistem yang penulis
rancang adalah penggunaaan timer yang ditambahkan dalam user interface,
sehingga mampu mengendalikan kelistrikan disesuaikan sesuai dengan waktu dan
kebutuhan pendistribusian kelistrikan.
1.2 Identifikasi Masalah
Berdasarkan permasalahan yang dipaparkan pada latar belakang, maka
penulis mengidentifikasi pokok-pokok masalah yang dihadapi adalah sebagai
berikut :
1. Sistem saklar manual dan genset yang dirasakan saat ini belum
memanfaatkan teknologi informasi, sehingga dibutuhkan sebuah
aplikasi kelistrikan ruangan yang bersifat otomatisasi, sentralisasi, dan
2. Dibutuhkan aplikasi prototipe guna mengendalikan kelistrikan agar
dapat diaplikasikan kedalam sistem nyata kelistrikan pada Balai Besar
Meterologi dan Geofisika Wilayah II Ciputat
3. Dibutuhkan waktu yang cukup banyak pada petugas, untuk bergeser
dari lokasi kerja dan mematikan kelistrikan masing-masing ruangan.
1.3 Rumusan Masalah
Sesuai dengan permasalahan yang diangkat pada latar belakang penulisan,
maka masalah yang kan dibahas dapat dirumuskan sebagai berikut :
1. Bagaimana merancang sebuah alat sebagai prototipe sistem pengendali
kelistrikan ruangan yang bersifat otomatisasi, sentralisasi, dan
terkomputerisasi?
2. Bagaimana membuktikan bahwa prototipe sistem pengendalian
kelistrikan ini sudah bekerja sebagai alat yang dirancang sebagai
pengganti ruangan-ruangan yang terdapat pada Pokja ICT Balai Besar
Meterologi dan Geofisika Wilayah II Ciputat?
1.4 Batasan Masalah
Dalam penulisan skripsi ini penulis membatasi masalah tersebut dengan
keadaan dilapangan meliputi :
1. Merancang aplikasi sistem pengendali kelistrikan secara otomatis
dan efisien, yang terdiri dari hardware dan software.
2. Pembangunan aplikasi sistem hardware tersebut memanfaatkan
teknologi mikrokontroler tipe AT89S51 diproduksi oleh ATMEL
3. Membangun aplikasi sistem software dengan menggunakan bahasa
pemrograman Assembly, dan Visual Basic. Net sebagai user
interface.
4. Pemrograman Visual Basic.NET 2008 hanya sebagai user interface
dimana mengendalikan kelistrikan ruangan pada lokasi listrik yang
dikendalikan dan menambahkan program timer sebagai otomatisasi
dan rekapitulasi yang dapat diatur sesuai kebutuhan instansi.
5. Perancangan sistem pengendali kelistrikan ruangan ini
menggunakan metode pengembangan model komputer (computer
model).
6. Membuktikan pengendalian kelistrikan ruangan berbasis
mikrokontroler AT89S51 diruangan pokja ICT yang sudah
dipasang 4 saklar dengan tegangan masing-masing 220 volt dengan
lampu output 5 Watt.
1.5 Tujuan Penelitian
Penelitian ini bertujuan untuk :
1. Merancang sebuah prototipe sistem pengendali kelistrikan berbasis
Mikrokontroler AT89S51, menggunakan bahasa Assembler, dan
pemrograman Visual Basic.Net 2008.
2. Melakukan pengetesan dan pemasangan aplikasi prototipe
pengontrolan kelistrikan ruangan secara otomatisasi, sentralisasi,
dan terkomputerisasi pada PC Staff Balai Besar Meteorologi dan
3. Melakukan pengujian efektivitas kelistrikan dengan memanfaatkan
program timer pada user interface dan empat saklar sebagai
simulasi empat ruangan pada sistem kelistrikan Balai Besar
Meteorologi dan Geofisika Wilayah II Ciputat.
1.6 Manfaat Penelitian
Dengan dibuatnya sistem pengendali kelistrikan ruangan berbasis
mikrokontroler AT89S51 ini diharapkan dapat memberikan manfaat, diantaranya :
a.Bagi Penulis
1. Menambah wawasan tentang bagaimana cara mengendalikan
listrik secara otomatisasi, sentralisasi, dan terkomputerisasi.
2. Menambah wawasan dan ilmu pengetahuan penulis khususnya
dibidang teknologi informasi, elektronika, dan listrik instalasi
dalam merancang aplikasi ini.
3. Menerapkan ilmu yang didapat penulis selama mengikuti
perkuliahan pada Teknik Informatika, Fakultas Sains dan
Teknologi, Universitas Islam Negeri Syarif Hidayatullah Jakarta.
4. Memenuhi salah satu syarat kelulusan strata satu (S1), Teknik
Informatika Fakultas Sains dan Teknologi UIN Syarif
Hidayatullah Jakarta.
b.Bagi Perusahaan
1. Kelistrikan ruangan Pokja ICT pada Balai Besar Meteorologi dan
Geofisika kini menjadi otomatisasi, sentralisasi, dan
2. Memudahkan dalam pengontrolan kelistrikan ruangan.
3. Menghemat waktu dan tenaga.
c.Bagi Universitas
1. Mengetahui kemampuan mahasiswa dalam menguasai materi
pelajaran yang diperoleh di bangku kuliah khususnya dalam
perancangan sistem hardware dan software.
2. Mengetahui kemampuan mahasiswa dalam menerapkan ilmunya
dalam pengendalian kelistrikan ruangan dan sebagai bahan
evaluasi generasi yang akan datang.
1.7 Metodologi Penelitian
Dalam penyusunan skripsi ini, diperlukan data-data informasi yang lengkap
Untuk memperoleh data dan informasi yang diperlukan, penulis menggunakan
beberapa metode sebagai berikut :
A. Metode Pengumpulan Data 1. Studi Lapangan
a) Observasi
Yaitu pengumpulan data dari informasi dengan cara
mengunjungi tempat penelitian ini dilakukan.
b) Wawancara
Yaitu dengan cara tanya jawab secara langsung dengan pihak
yang terkait pada Pokja Information and Communication
Geofisika Wilayah II untuk mengetahui permasalahan yang
dihadapi.
2. Studi Pustaka
Yaitu pengumpulan data dan informasi dengan cara mencari
sumber-sumber literatur yang digunakan untuk landasan teori dan
permasalahan mendasar dalam penelitian.
B. Metode Pengembangan Sistem
Proses pengembangan sistem yang dilakukan menggunakan model
komputer dan simulasi secara umum, dalam hal ini digunakan adalah model
komputer yaitu sebagai berikut :
1. Memahami sistem yang akan dibangun
Jika pengembang model belum mengetahui cara kerja model sistem
yang akan disimulasikan, maka pengembang konsultasi bersama
seorang ahli (pakar) dibidang sistem yang bersangkutan.
2. Mengembangkan model komputer dari sistem
Setelah pengembang mengetahui cara-cara sistem yang akan
dibangun, maka tahap berikutnya adalah memastikan kebutuhan
sistem disesuaikan dengan karakteristik tujuan pemodelan sistem.
3. Mengembangkan komputer dalam rancangan Prototipe Sistem Pengendali Kelistrikan Ruangan
Pada tahap ini, kebutuhan model komputer yang sudah lengkap
diformulasikan dalam perancangan dari tujuan pemodelan simulasi
4. Membuat program dasar Assembly, hardware prototipe dan pembuatan aplikasi antarmuka pemakai.
Tahap ini implementasi yang dihasilkan dari flowchart tahap
sebelumnya.
5. Menguji, melakukan pemeliharaan dan mengevaluasi Prototipe Sistem Pengendali Kelistrikan Ruangan
Simulasi pada dasarnya adalah menirukan sistem nyata, sehingga
tolak ukrur baik tidaknya simulasi adalah sejauh mana kemiripan
hasil simulasi dibandingkan dengan sistem nyata.
1.8 Sistematika Penulisan
Tugas akhir ini terdiri dari lima bab, dengan penjelasan tiap-tiap bab sebagai
berikut :
BAB I. PENDAHULUAN
Pada bab ini berisi tentang latar belakang, perumusan masalah,
pembatasan masalah, tujuan penelitian, manfaat penelitian,
metodologi penelitian serta sistematika penulisan.
BAB II. LANDASAN TEORI
Pada bab ini menjelaskan tentang pengenalan prototipe, sistem,
pengendalian, kelistrikan, ruangan, Mikrokontroler AT89S51,
dasar-dasar pemrograman Assembly, dan pengenalan
BAB III. METODOLOGI PENELITIAN
Pada bab ini berisi uraian tentang metodologi yang digunakan
untuk mengimplementasikan penelitian dan pengembangannya.
BAB IV. PEMBAHASAN DAN IMPLEMENTASI
Pada bab ini akan dijelaskan sejarah singkat, visi, misi, struktur
organisasi Balai Besar Meteorologi Dan Geofisika Wilayah II
Ciputat, perancangan dan pengembangan prototipe sistem
pengendali kelistrikan ruangan Mikrokontroler AT89S51,
menggunakan bahasa Assembler, dan menggunakan
pemrograman Visual Basic.NET sebagai program antarmuka
pemakai.
BAB V. PENUTUP
Pada bab ini, berisi kesimpulan dari hasil kegiatan penelitian dan
pembuatan skripsi ini, serta saran untuk pengembangan sistem
10
2.1 Definisi Prototipe
Menurut Zulkifli (2005) prototipe (prototyping) adalah pemakaian aplikasi
khusus perangkat lunak untuk membuat versi skala kecil atau perkiraan pertama
program yang direncanakan. Versi skala kecil disebut protipe, dan dapat dibuat
relatif cepat, serta kemudian dapat dilihat oleh pemakai dengan mencobanya
terlebih dahulu. Pemakai mengetes, misalnya, prosedur pemrosesan transaksi,
membuat laporan, dan memperbarui (update).
Sesudah pemakai kahir menyelesaikan pengetesan, tim pendesain dapat
mempelajari respons dan mengerjakan kembali prototipe. Dengan pengulangan
tersebut, prototipe dapat dibuat sesuai dengan keperluan pemakai dan disetujui
oleh manajemen. Biasanya pendesain akan meneruskan pembuatan prototipe
sampai menjadi sistem skala penuh. Sementara itu beberapa tingkatan dalam
proses desain dapat diserahkan pada pemakai untuk dicobakan. Sekali prototipe
dapat disetujui, maka dapat digunakan sebagai model untuk sistem skala penuh
( Zulkifli, 2005 : 191 ).
2.2 Definisi Sistem
Menurut Jogiyanto (2003) sistem (system) dapat didefinisikan dengan
pendekatan prosedur dan dengan pendekatan komponen. Dengan pendekatan
prosedur, sistem dapat didefinisikan sebagai kumpulan dari prosedur-prosedur
didefinisikan sebagai komponen yang saling berhubungan satu dengan yang
lainnya membentuk satu kesatuan untuk mencapai tujuan tertentu. Contoh sistem
yang didefinisikan dengan pendekatan ini misalnya sistem komputer yang
didefinisikan sebagai kumpulan dari perangkat keras dan perangkat lunak.
Pendekatan komponen merupakan pendekatan yang relatif baik digunakan
untuk menjelaskan suatu sistem informasi. Akan tetapi penggunaan pendekatan
ini adalah jika komponen-komponen dari sistem tidak dapat diidentifikasi dengan
jelas. Satu komponen saja tidak teridentifikasi, maka akan gagal untuk
menggambarkan sistem itu dengan baik dan sistem tersebut tidak akan dapat
mencapai tujuannya ( Jogiyanto, 2003 : 34 ).
2.3 Definisi Pengendalian
Pengendalian adalah sistem yang berfungsi sebagai pengontrol sistem yang
lain yang bersifat terpusat, dapat pula diartikan sebagai otomatisasi sebuah sistem
(Sutanto, 2004 : 8).
2.4 Definisi Kelistrikan
Jika diterjemahkan secara umum listrik adalah sumber energi yang
disalurkan melaui kabel atau penghantar lainnya. Didalam kabel akan timbul arus
listrik, yaitu muatan aliran elektron yang mengalir tiap satuan waktu
(Susanta, 2007 :5).
Jadi kelistrikan merupakan sambungan alat listrik yang sederhana dimana
minimal satu jalur tertutup yang dapat dilalui arus. Alat-alat listrik terdiri dari :
2.5 Definisi Ruangan
Menurut Suharso ruang secara umum dapat diartikan sebagai tempat yang
digunakan manusia untuk melakukan aktivitas. Sebagai contoh ruang tamu, yaitu
ruang yang digunakan untuk menerima tamu sekaligus untuk berkomunikasi
dengan orang luar. Jadi ruangan adalah kumpulan dari ruang-ruang yang berada
dalam suatu gedung yang digunakan manusia untuk melakukan aktivitas
( Suharso, 2000 : 3).
2.6 Definisi Mikrokontroler
Mikrokontroler adalah Central Processing Unit (CPU) yang disertai memori
serta sarana input-output dan dibuat dalam bentuk chip (Suhata, 2004 : 143).
Mikrokontroler merupakan sistem komputer yang seluruh atau sebagian
besar elemennya dikemas dalam satu chip IC, sehingga disebut dengan single chip
microcomputer. Mikrokontroler biasa dikelompokkan dalam satu keluarga,
masing–masing mikrokontroler mempunyai spesifikasi tersendiri namun masih kompatible dalam pemrogramannya ( Budioko, 2005 : 3).
Mikrokontroler merupakan suatu terobosan teknologi mikroprosesor dan
mikrokomputer, yang hadir memenuhi kebutuhan pasar (market need) dan
teknologi baru. Sebagai teknologi baru, yaitu teknologi semikonduktor dengan
kandungan transistor yang lebih banyak sehingga harganya menjadi lebih murah
(dibandingkan mikroprosesor). Sebagai kebutuhan pasar, mikrokontroler hadir
untuk memenuhi selera industri dan para konsumen akan kebutuhan dan
2.6.1Berbagai Tipe Mikrokontroler
Berbagai tipe mikrokontroler yang berada di kalangan dunia industri
teknologi dan informasi sebagai berikut : ( Budiharto, 2005: 8)
1. Mikrokontroler ATMEL
Mikrokontroler keluaran ATMEL dapat dikatakan sebagai
mikrokontroler terlaris dan termurah saat ini. Chip mikrokontroler ini
dapat diprogram menggunakan port paralel dan port serial. Selain itu,
dapat beroperasi hanya dengan satu chip dan beberapa komponen
dasar seperti kristal, resistor dan kapasitor. Beberapa tipe
mikrokontroler keluaran Atmel : 89C51, 89S51, 89S52, dan lain lain.
2. Mikrokontroler PIC
PIC merupakan keluarga mikrokontroler tipe RISC buatan Microchip
Technologi yang bersumber dari PIC 1650 yang dibuat oleh Divisi
Mikroelektronika General Instruments. Teknologi Microchip tidak
menggunakan PIC sebagai akronim, melainkan nama brandnya yaitu
PIC micro.
3. Mikrokontroler MAXIM
Maxim merupakan salah satu produsen chip yang focus pada
komponen digital dan komunikasi, seperti mikrokontroler, akuisisi
data, dan komponen RF (Radio Frekuensi), antara lain
2.7 AT89S51
AT89S51 adalah mikrokontroler keluaran Atmel dengan 4K byte flash
PEROM (Programmable and Erasable Read Only Memory), AT89S51
merupakan memori dengan teknologi nonvolatile memory, isi memori tersebut
dapat diisi ulang ataupun dihapus berkali-kali. Memory ini biasa digunakan untuk
menyimpan perintah berstandar kode MCS-51 sehingga memungkinkan
mikrokontroler ini untuk bekerja dalam mode single chip operation (mode operasi
keping tunggal) yang tidak memerlukan external memory (memori luar) untuk
menyimpan source code tersebut ( Andi, 2003 : 1).
2.7.1Kelebihan Mikrokontroler AT89S51
Mikrokontroler AT89S51 merupakan versi terbaru keluaran ATMEL,
dimana sebelumnya seri AT89C51 yang telah banyak digunakan.
Mikrokontroler ini berteknologi nonvolatile kerapatan tinggi dari Atmel yang
kompatibel dengan mikrokontroler standar industri MCS-51 baik pin kaki IC
maupun set perintahnya serta harganya yang cukup murah (Budiharto,
2005: 17).
Berikut ini adalah perbandingan dan kemampuan dari mikrokontroler
Tabel 2.1
Perbandingan Mikrokontroler Atmel Jenis Mikrokontroler Atmel
reprogramable flash memory,
dengan kemampuan 1.000
kali baca tulis.
4Kbyte didalam sistem
reprogramable flash memory,
dengan kemampuan 1.000 kali
baca tulis.
Bekerja pada rentang 0-33
MHz. Bekerja pada rentang 0-24 MHz.
128x8 bit RAM internal. 128x8 bit RAM internal.
32 jalur input-output yang
dapat diprogram.
32 jalur input-output yang dapat
diprogram.
Dua buah 16 bit timer-counter. Dua buah 16 bit timer-counter.
Enam sumber interupt. Enam sumber interupt.
Saluran full-duplex serial
UART. Saluran programmable serial.
Dual data pointer.
Mode pemrogramman yang
fleksibel (byte dan page
2.7.2Arsitektur Mikrokontroler AT89S51
Mikrokontroler AT89S51 dapat diimplementasikan dengan arsitektur
dibawah ini, sebagai berikut:
Gambar 2.1 Arsitektur AT89S51
(Sumber : ATMEL, 8 Bit Microcontroller With 4K Bytes in – System
2.7.3Deskripsi Pin Mikrokontroler AT89S51
Pin adalah kaki fisik dari sebuah IC AT89S51 yang memiliki 40 buah
pin dengan fungsi tersendiri yang harus diperhatikan ( Nalwan, 2003 : 2).
Berikut ini akan penulis deskripsikan pin AT89S51, sehingga dapat
dilihat pada gambar 2.2, sebagai berikut :
Gambar 2.2 Deskripsi Pin AT89S51
(Sumber : ATMEL, 8 Bit Microcontroller With 4K Bytes in – System
Programmable Flash AT89S51, 2001 : 2).
Selanjutnya akan dideskripsikan fungsi dari macam–macam pin IC AT89S51 beserta fungsinya:
1. Pin 1 sampai 8 ( Port 1)
Merupakan Port 1 yang berfungsi sebagai general purpose I/O
dengan lebar 8 bit dan tidak memiliki fungsi lain. Port 1 terdiri dari
2. Pin 9 (Port Reset)
Pin ini merupakan input untuk melakukan reset.
3. Pin 10 sampai 17 ( Port 3 )
Pin ini merupakan port 3 yang berfungsi sebagai general purpose I/O
dengan lebar 8 bit. Port 3 terdiri dari P3.0, P3.1, sampai dengan P3.7.
Fungsi lain dari port 3 terdapat pada table 2.1.
Tabel 2.2 Fungsi lain dari port 3
Pin Nama Fungsi Lain
P3.0 RXD Jalur penerimaan data pada komunikasi serial
P3.1 TXD Jalur pengiriman data pada komunikasi serial
P3.2 INT‟0 Interupsi eksternal 0 P3.3 INT‟1 Interupsi eksternal 1
P3.4 T0 Input eksternal Timer / Counter 0
P3.5 T1 Input eksternal Timer / Counter 1
P3.6 WR‟ Jalur menulis memori data eksternal strobe
P3.7 RD‟ Jalur membaca memori data eksternal strobe.
4. Pin 18 dan 19 ( Port Osclilator )
Jalur ini merupakan masukan ke penguat osilator berpenguatan
tinggi. Mikrokontroler ini memiliki seluruh rangkaian osilator yang
5. Pin 20 (Ground )
Merupakan ground dari sumber tegangan yang diberi simbol GND.
6. Pin 21 sampai 28 ( Port 2 )
Merupakan Port 2 yang berfungsi sebagai general purpose I/O
dengan lebar 8 bit. Port 2 terdiri dari P2.0,P2.1 hingga P2.7.
7. Pin 29 (Program Store Enable )
Program Store Enable (PSEN) merupakan jalur kontrol untuk
mengakses eksternal program memory. PSEN pada umumnya
dihubungkan dengan output enable pada eksternal memory. PSEN
akan bernilai low pada saat pembacaan program dari external
memory.
8. Pin 30 (Address Latch Enable )
Address Latch Enable (ALE) berfungsi sebagai demultiplexer pada
saat Port 0 bekerja sebagai data bus.
9. Pin 31 (External Access )
External access (AE) merupakan pin yang berfungsi sebagai input
kontrol. Jika EA bernilai low, maka program hanya akan dijalankan
dari eksternal program memory. Jika EA bernilai high, maka
program dijalankan dari internal program memory.
10.Pin 32 sampai 39 ( Port 0 )
Merupakan port 0 yang salah satunya berfungsi sebagai general
purpose I/O dengan lebar 8 bit. Port 0 terdiri dari P0.0, P0.1, sampai
11.Pin 40 (VCC )
Merupakan sumber tegangan positif yang diberi symbol VCC.
2.7.4Struktur Memori
AT89S51 mempunyai struktur memori yang terdiri atas
( Nalwan, 2003 : 4 ) :
1. RAM Internal
Memori sebesar 128 byte yang biasanya digunakan untuk
menyimpan variable atau data yang bersifat sementara.
2. Special Function Register
Memori yang berisi register – register yang mempunyai fungsi-fungsi khusus yang disediakan oleh mikrokontroler tersebut. Berikut
fungsi dari masing-masing register :
a. Accumulator (ACC)
ACC merupakan register akumulator yang digunakan untuk
operasi aritmatik dan operasi logika selalu menggunakan register
ini.
b. Register B
Register B digunakan pada operasi perkalian dan pembagian.
Pada perintah- perintah yang lain berfungsi seperti register pada
umumnya.
c. Program Status Word (PSW)
d. Stack Pointer (SP)
Stack Pointer merupakan register 8 bit yang menyimpan dan
mengambil dari data atau ke stack.
e. Data Pointer (DPTR)
DPTR terdiri dari high byte (DPH) dan low byte (DPL). Fungsi
utamanya adalah sebagai tempat alamat 16 bit.
f. Port 0 sampai dengan Port 3
Mikrokontroler AT89S51 mempunyai empat buah port, yaitu
Port 0, Port 1, Port 2, Port 3. Digunakan memori eksternal
maupun fungsi-fungsi special, seperti eksternal interrupt, serial
ataupun eksternal timer.
g. Serial Data Buffer
Serial Data Buffer sebenarnya merupakan 2 register yang
terpisah, transmit buffer (untuk mengirim data serial) dan receive
buffer (untuk menerima data serial).
h. Register Timer
Pasangan register (TH0 & TL0), atau (TH1 & TL1), serta (TH2
& TL2) adalah register 16 bit untuk proses perhitungan Time /
Counter 0, 1, dan 2.
i. Register Control
TCON, SCON, dan PCON berisi bit control dan status untuk
3. Flash PEROM,
Memori yang digunakan untuk menyimpan perintah-perintah
MCS51.
4. External Memory
Selain Flash PEROM dan internal RAM yang terdapat pada
mikrokontroler AT89S51, dan mempunyai memori eksternal berjenis
EEPROM (Electrically erasable programmable read only memory)
dengan kapasitas 8 Kbytes untuk menyimpan ‘user program’ yang didownload dari PC atau data. Sesuai dengan namanya maka
EEPROM dapat ditulis dan dihapus secara elektrik, mirip seperti
RAM namun bersifat non volatile sehingga data yang tersimpan
EEPROM tidak hilang meskipun catu daya dimatikan.
Mikrokontroler AT89S51 mempunyai struktur memori yang terpisah
antara RAM internal dan Flash PEROM-nya. RAM internal diberi alamat oleh
RAM Address register (Register Alamat Progam) sedangkan Flash PEROM
yang menyimpan perintah-perintah MCS-51 dialamati oleh Program Address
Register (register alamat program). Dengan adanya struktur memori yang
terpisah tersebut, walaupun RAM internal dan flash PEROM mempunyai
alamat yang sama, namun secarta fisiknya kedua memori tidak saling
berhubungan.
2.7.5Interupsi
Interupsi adalah suatu kejadian atau peristiwa yang menyebabkan
yang dijalankan pada saat melayani interupsi tersebut disebut Interrupt Service
Routine . ( Nalwan, 2003 :49 ).
2.8Metodologi Penelitian
2.8.1Metodologi Pengumpulan Data 1. Studi Lapangan
A. Observasi
Observasi atau pengamatan (observation) merupakan salah satu
teknik pengumpulan fakta/data yang cukup efektif untuk
mempelajari suatu sistem. Observasi adalah pengamatan langsung
suatu kejadian yang sedang dilakukan (Jogiyanto, 2005:623).
B. Wawancara
Wawancara (interview) telah diakui sebagai teknik pengumpulan
data atau fakta yang penting dan banyak dilakukan dalam
pengembangan sistem informasi. Wawancara memungkinkan
analis sistem sebagai pewawancara untuk mengumpukan data
secara tatap muka langsung dengan orang yang diwawancarai
(Jogiyanto, 2005:617).
2. Studi Pustaka
Yang dimaksud dengan kepustakaan adalah segala usaha yang
dilakukan oleh peneliti untuk menghimpun informasi yang relevan
dengan topic atau masalah yang akan atau sedang diteliti. Informasi
itu dapat diperoleh dari buku-buku alamiah, laporan penelitian,
ketetapan-ketetapan, buku tahunan, ensiklopedia, dan
sumber-sumber tertulis baik tercetak maupun elektronik lain (Bintarto,
2002:20).
2.8.2Metode Pengembangan Sistem
Proses pengembangan sistem yang dilakukan menggunakan model
komputer dan simulasi secara umum, dalam hal ini digunakan adalah model
komputer yaitu sebagai berikut :
1. Memahami sistem yang akan dibangun
Jika pengembang model belum mengetahui cara kerja model sistem
yang akan disimulasikan, maka pengembang konsultasi bersama
seorang ahli (pakar) dibidang sistem yang bersangkutan.
Hasil dari pemahaman sistem berupa penjelasan kata-kata, dan
flowchart kelemahan sistem sebelumnya.
2. Mengembangkan model komputer dari sistem
Setelah pengembang mengetahui cara-cara sistem yang akan
dibangun, maka tahap berikutnya adalah memastikan kebutuhan
sistem disesuaikan dengan karakteristik tujuan pemodelan sistem.
3. Mengembangkan komputer dalam rancangan Prototipe Sistem Pengendali Kelistrikan Ruangan
Pada tahap ini, kebutuhan model komputer yang sudah lengkap
diformulasikan dalam perancangan dari tujuan pemodelan simulasi
4. Membuat program dasar Assembly, hardware prototipe dan pembuatan aplikasi antarmuka pemakai.
Tahap ini implementasi yang dihasilkan dari flowchart tahap
sebelumnya. Ada beberapa bahasa komputer, namun ada juga bahasa
komputer yang tidak cocok, semua tergantung pada fasilitas apa saja
yang tersedia pada komputer yang bersangkutan utnuk mendukung
prototipe.
5. Menguji, melakukan pemeliharaan dan mengevaluasi Prototipe Sistem Pengendali Kelistrikan Ruangan
Simulasi pada dasarnya adalah menirukan sistem nyata, sehingga
tolak ukrur baik tidaknya simulasi adalah sejauh mana kemiripan
hasil simulasi dibandingkan dengan sistem nyata. Pengujian
dilakukan untuk melihat apakah sistem prototipe tersebut bekerja
sesuai apa yang diharapkan. Pemeliharaan dilakukan untuk
mencegah segala kemungkinan yang menggangu kinerja prototipe
kelistrikan., seperti pengecekan dari pihak petugas kelistrikan.
Evaluasi digunakan sebagai pelengkap dari aplikasi, penulis meminta
tanggapan dari staf (user), guna menganalisa dan melakuakn
perubahan dari segi desain dan program. Tanggapan prototipe sistem
2.8.3 Pseudocode
Menurut Jogiyanto (2003:1), Pseudo berarti imitasi atau mirip atau
menyerupai dan code menunjukkan kode dari program, berarti pseudocode
adalah kode yang mirip dengan instruksi kode program yang sebenarnya.
Pseudocode adalah kode yang mirip dengan instruksi kode program yang
sebenarnya.
Pseudocode berbasis pada bahasa pemrograman yang sesunggunya
sehingga lebih tepat digunakan untuk menggambarkan algoritma yang akan
dikomunikasikan kepada programmer. Pseudocode akan memudahkan
programmer untuk memahami dan menggunakan, karena mirip dengan
kode-kode program sebenarnya.
2.8.4 Flowchart ( Diagram Alur)
Menurut Pressman (2002:535), komputer membutuhkan hal-hal
terperinci, bahasa pemrograman bukan merupakan alat yang boleh dikatakan
baik untuk merancang sebuah algoritma awal.
Alat yang banyak dipakai untuk membuat algoritma adalah diagram alur.
Diagram alur dapat menunjukkan secara jelas arus pengendalian algoritma,
yakni bagaimana rangkaian pelaksanaan kegiatan. Suatu diagram alur
memberikan gambaran dua dimensi berupa simbol-simbol grafis.
Masing-masing simbol telah ditetapkan terlebih dahulu fungsi dan
artinya. Simbol-simbol tersebut dipakai untuk menunjukkan berbagai kegiatan
operasi dan jalur pengendalian. Diantara simbol- simbol yang akan digunakan
Tabel 2.3
Simbol-simbol Flowchart (Jogiyanto, 2003:465)
Gambar Simbol Keterangan
Simbol
Kegunaan
Simbol proses
Simbol yang menunjukkan
pengolahan yang dilakukan
oleh komputer.
Simbol input-output
Simbol yang menyatakan
proses input dan output tanpa
tergantung dengan jenis
peralatannya.
Simbol decision
Simbol untuk kondisi yang
kan menghasilkan beberapa
kemungkinan jawaban /aksi.
Simbol terminal
Simbol untuk permulaan atau
akhir dari suatu program.
Simbol connector
Simbol untuk menyatakan
input berasal dari dokumen
dalam bentuk kertas.
Simbol catatan
keterangan
Berisi catatan supaya mudah
dimengerti isi/tujuan
algoritma atau uraian data
yang akan diproses.
Simbol konektor
halaman berikutnya
Tanda hubung antara satu
simbol flowchart yang
2.9 Bahasa Pemrograman Assembly
Dalam pembuatan perangkat lunak pada mikrokontroler AT89S51 penulis
menggunakan bahasa assembly. Bahasa assembly adalah bahasa pemrograman
tingkat rendah under DOS, bahasa assembly memakai kode mnemonic untuk
menggantikan kode biner, agar lebih mudah diingat sehingga lebih memudahkan
dalam penulisan program (Kristanto, 2003:68 ).
Bahasa pemrograman tingkat tinggi lebih berorientasi kepada manusia yaitu
bagaimana agar pernyataan-pernyataan yang ada dalam program mudah ditulis
dan dimengerti oleh manusia. Sedangkan bahasa tingkat rendah lebih berorientasi
ke mesin, yaitu bagaimana agar komputer dapat langsung mengintepretasikan
pernyataan-pernyataan program.
Kelebihan Bahasa Assembly:
1. Ketika di-compile lebih kecil ukuran
2. Lebih efisien/hemat memori
3. Lebih cepat dieksekusi
Kesulitan Bahasa Assembly:
1. Dalam melakukan suatu pekerjaan, baris program relatif lebih
panjang dibanding bahasa tingkat tinggi.
2. Relatif lebih sulit untuk dipahami terutama jika jumlah baris sudah
terlalu banyak.
3. Lebih sulit dalam melakukan pekerjaan rumit, misalnya operasi
Program yang ditulis dengan bahasa assembly terdiri dari label, kode
mnemonic, Operand dan lain sebagainya, pada umumnya dinamakan sebagai
program sumber (source code) yang belum bisa diterima oleh mikrokontroler
untuk dijalankan sebagai program, tapi harus diterjemahkan dulu menjadi bahasa
mesin dalam bentuk kode biner.
Program sumber dibuat dengan program editor biasa, misalnya notepad pada
windows atau dengan aplikasi bernama ASM10, selanjutnya program sumber
diterjemahkan ke bahasa mesin dengan menggunakan program assembly. Hasil
kerja program assembly adalah program objek dan juga assembly listing.
Program objek berisikan kode-kode bahasa mesin, kode-kode bahasa mesin
inilah yang diumpankan kedalam memori mikrokontroler. Pada mikrokontroler
buatan ATMEL program objek ini diisikan ke dalam Flash PEROM yang juga ada
di dalam mikrokontroler AT89S51.
Assembly listing merupakan naskah yang berasal dari program sumber,
dalam naskah tersebut pada bagian sebelah setiap baris dari program sumber
diberi tambahan hasil terjemahan program assembly. Tambahan tersebut berupa
nomor memori program berikut dengan kode yang akan diisikan pada memori
program bersangkutan. Naskah ini sangat berguna untuk dokumentasi dan sarana
untuk menelusuri program yang di tulis.
2.9.1Struktur Program Assembly
Sarana yang ada dalam program Assembler sangat minim, tidak seperti
dalam bahasa pemrograman tingkat tinggi (high level language programming)
menentukan segalanya, menentukan letak program yang ditulisnya dalam
memori program, membuat data konstan dan tabel konstan dalam memori
program, membuat variabel yang dipakai kerja dalam memori data.dan lain
sebagainya.
2.9.2Program Sumber Assembly
Program sumber Assembler (Assembler Source Program) merupakan
kumpulan dari baris-baris perintah yang ditulis dengan program penyunting
teks (Text Editori) sederhana, misalnya program EDIT.COM dalam DOS, atau
program notepad dalam Windows. Kumpulan baris perintah tersebut biasanya
disimpan ke dalam file yang berekstensi *.ASM atau ekstensi lain misalnya
*.A51, tergantung pada program Assembler yang akan dipakai untuk
mengolah program sumber Assembler tersebut.
Setiap baris perintah merupakan sebuah perintah yang utuh, artinya
sebuah perintah tidak mungkin dipecah menjadi lebih dari satu baris. Satu
baris perintah bisa terdiri atas empat bagian, bagian pertama dikenali sebagai
label atau sering juga disebut sebagai simbol, bagian kedua dikenali sebagai
kode operasi, bagian ketiga adalah komentar. Antara bagian-bagian tersebut
dipisahkan dengan sebuah spasi atau tabulator. Secara rinci bagian-bagian
dapat dijelaskan sebagai berikut:
1. Bagian Kode Operand
Kode Operasi (operation code atau sering disingkat sebagai OpCode)
merupakan bagian perintah yang harus dikerjakan. Dalam hal ini
untuk mengatur kerja mikrokontroler. Jenis kedua dipakai untuk
mengatur kerja program assembler, sering dinamakan sebagai
assembler directive.
Kode Operasi ditulis dalam bentuk mnemonic, yaitu bentuk
singkatan-singkatan yang budah diingat, misalnya untuk keluarga
MCS-51 digunakan MOVX, MOV, ADD dan lain sebagainya.
Sedangkan kode operasi yang dikerjakan oleh program assembler
yang ada komputer atau assembler directive sangat bergantung
padaprogram assembler yang digunakan. Contoh : ORG, EQU,DB
dan lain sebagainya.
Kode operasi ini ditentukan oleh pabrik pembuat mikroprosesor /
mikrokontroler, dengan demikian setiap prosesor mempunyai kode
operasi yang berlainan.
Kode operasi berbentuk mnemonic tidak dikenal mikroprosesor /
mikrokontroler. Oleh karena itu agar program yang ditulis dengan
kode mnemonic bisa dipakai untuk mengendalikan prosesor, maka
program semacam itu diterjemahkan menjadi program yang dibentuk
dari kode operasi kode biner agar dikenali oleh mikroprosesor /
mikrokontroler.
Tugas penerjemahan tersebut dilakukan oleh program yang
2. Bagian Operand
Operand merupakan pelengkap bagian kode operasi, namun tidak
semua kode operasi memerlukan operand, dengan demikian bisa
terjadi sebuah baris perintah hanya terdiri dari kode operasi tanpa
operand. Sebaliknya ada pula kode operasi yang perlu lebih dari satu
operand, dalam hal ini antara operand satu dengan yang lain
dipisahkan dengan tanda koma.
3. Perintah-perintah Standart MCS51
Setiap mikrokontroler mempunyai konstruksi yang berlainan,
perintah atau perintah pada software untuk mengendalikan masing
-masing mikrokontroler juga berlainan, begitu juga dengan
mikrokontroler AT89S51 hanya dapat menerima software dengan
perintah-perintah yang berstandartkan MCS51. Berikut adalah
perintah-perintah standart MCS51 yang penulis gunakan dalam
pembuatan software sistem pengendali peralatan elektronik suatu
ruangan.
A. Tranfer data 1) Perintah MOV
Perintah untuk melakukan operasi pemindahan data
dari alamat register satu ke alamat register lainnya .
Contoh : mov a, #’a’
B. Logika
1) Perintah SETB (Set Bit)
Perintah ini melakukan operasi set pada bit data pada
alamat yang ditunjuk.
Contoh :
setb rly1
data bit pada relay satu diset menjadi bernilai 1.
2) Perintah CLR (Clear)
Perintah ini member ikan data 0 pada alamat register
yang ditunjuk.
Contoh :
clr rly1
data bit pada relay satu diset menjadi bernilai 0.
C. Lompatan Program
1) Perintah AJMP (Absolut Jump),
Digunakan untuk lompatan dalam sub-rutin yang
sama dengan alamat memori 11bit dari alamat yang
ditentukan.
Contoh :
ajmp sys_prog
melakukan lompatan ke subrutin program sistem
2) Perintah ACALL (Absolut Call)
Digunakan untuk memanggil program sub-rutin yang
ditunjuk dengan jangkauan maksimal 2kbyte.
Contoh :
acall ser_int
melakukan panggilan pada subrutin interupsi serial
dengan jangkauan maksimal 2kbyte.
D. Lompatan Program Bersyarat
1) Perintah JNB (Jump on ot Bit Set)
Perintah ini melakukan pengujian bit pada alamat bit
yang ditunjuk.
Contoh :
jnb sts_ser, prog1
Pada alamat status serial melakukan lompatan ke
subrutin program 1.
2) Perintah CJNE (Compare and Jump if Not Equal)
Melakukan perbandingan antara data sumber dengan
data tujuan.
Contoh :
Perintah : Cjne data tujuan, data sumber, alamat
lompat
melakukan perbandingan antara data pada akumulator
dengan data segera. Jika datanya tidak sama maka
program akan melompat ke subrutin, tapi jika datanya
sama maka program menjalankan perintah
dibawahnya.
2.10Visual Basic. NET
Visual basic. NET adalah bagian dari Visual Studio 2008. NET, yang
dikembangkan dari versi sebelumnya yaitu visual basic 6, visual basic.NET2002,
visual basic.NET 2003, (Yuswanto, 2006:4).
Visual Basic.NET menyediakan beberapa template, seperti windows
application, class library, windows control library, console application, windows
service. Didalam visual basic.NET terdapat lingkungan pengembangan yang
terintegrasi atau sering disebut IDE. Lingkungan pengembangan ini mempunyai
beberapa tool yang digunakan untuk mendesain, menjalankan dan mencari
kesalahan program dari aplikasi yang dibuat (Yuswanto, 2006:7).
2.10.1Komponen – komponen Visual Basic. NET
Komponen yang ada pada layar kerja visual basic .NET seperti pada
gambar 2.8 terdiri dari :
1. Menu Bar
Menu Bar merupakan kumpulan perintah-perintah yang
dikelompokan dalam kriteria operasinya. Daftar pilihan menu yang
Build, Debug, Data, Format, Tools, Window dan Help (Yuswanto,
2006:18).
2. Toolbar
Toolbar merupakan sekumpulan tombol yang mewakili suatu
perintah tertentu pada bahasa pemrograman berbasis window.
Tombol-tombol pada toolbar ini di gunakan untuk mempercepat
akses perintah. Pada visual basic .NET terdapat tidak kurang dari 25
toolbar yang dapat digunakan (Yuswanto, 2006:30).
3. Toolbox
Toolbox merupakan sebuah jendela dimana obyek atau kontrol user
interface ditempatkan dan digunakan untuk membentuk suatu
program berbasis windows atau web. Kontrol yang ada di toolbox
dikelompokan sedemikian rupa sesuai dengan fungsinya seperti
general, clipboard ring, windows forms components, dan data
(Yuswanto, 2006:33).
Tabel 2.4
Penjelasan Fungsi Tool-tool Dalam Toolbox
Nama Toolbox Penjelasan Fungsi
Label Menampilakan teks tetapi pemakai tidak dapat
mengubahnya secara langsung .
Status Bar Terletak pada bagian bawah form induk dan
berisi informasi tentang keadaan aplikasi
sekarang.
Text Box Menampilkan teks yang dapat diedit oleh
diubah oleh program.
CheckBox Menampilkan kotak cek dan label teks.
Umumnya digunakan untuk mengatur pilihan.
Picture Box Menampilkan file gambar seperti bitmap(.bmp,
.jpg, .gif).
Timer Untuk mengeksekusi waktu kejadian pada rutin
program termasuk interval (selang waktu)
Button Digunakan untuk memulai, menghentikan atau
menginterupsi suatu proses.
Tab Control Menyediakan halaman tab untuk
mengorganisasikan dan mengakses objek yang
dikelompokkan secara efisien.
merupakan area dimana penulis dapat menuliskan kode-kode
program visual basic .NET. Suatu kode-kode program merupakan
kumpulan dari perintah untuk menjalankan obyek yang berupa
kontrol maupun form serta logika program (Yuswanto, 2006:43).
6. Solution Explorer Window
Solution explorer window merupakan jendela yang menampilkan
aplikasi. Pada jendela ini terdapat root yang berupa nama proyek dan
cabang-cabangnya seperti references, assemblyinfo.vb, form, module,
dan class (Yuswanto, 2006:44).
7. Properties Window
Properties window di gunakan pada mode desain yang bertujuan
untuk mengatur suatu nilai pada kontrol obyek (Yuswanto, 2006:49).
Gambar 2.3 Visual basic.Net
( Sumber : Yuswanto,2006:18 )
2.10.2Kelebihan dan Kekurangan Pemrograman Visual Basic. NET
Berikut ini akan diuraikan mengapa penulis memilih program Visual
1. Menyederhanakan Pengembangan perangkat lunak
VB.NET memiliki fitur compiler yang bekerja secara background
real-time, dan daftar task/tugas untuk penanganan bug/kesalahan
program sehingga pengembang dapat langsung memperbaiki
kesalahan kode yang terjadi.
2. Mendukung Penuh OOP (Object Oriented Proggramming)
Dalam VB.NET, penulis dapat membuat kode class yang
menggunakan secara penuh konstruksi berbasis objek.
3. Menyederhanakan deployment
VB.NET mengatasi masalah seputar deployment aplikasi berbasis
windows yiatu “DLL Hell” dan registrasi COM (Component Object
Model). Secara berdampingan versioning (pengaturan versi
komponen) mencegah tertindihnya dan terkorupsinya komponen dan
aplikasi.
4. Mempermudah migrasi dari VB 6 Ke VB.NET
Interoperability COM menyediakan dua arah antara aplikasi VB6
dengan VB.NET. Wizard Upgrade pada VB. NET memungkinkan
pengembang dapat melakukan migrasi lebih dari 95% kode VB6
menjadi kode VB.NET.
Berikut ini akan diuraikan beberapa kekurangan program Visual Basic
.Net, dikarenakan ( Ario, 2003 :8) :
1. VB .NET tidak dapat berjalan di platform non-microsoft sehingga
beberapa komunitas linux yang bisa menjalankan Visual Basic.NET
pada operating system tersebut.
2. Visual Basic.NET runtime-nya yang 10 kali lebih besar dari paket
runtime VB6 serta peningkatan penggunan memory pada Visual
Basic.NET membuat Visual Basic.NET dapat dikatakan boros dalam
menggunakan resource komputer. Oleh karena itu, harus didukung
oleh resource yang memadai untuk dapat menjalankan programnya.
2.11Komponen Pendukung
2.11.1Perangkat Keras Komunikasi
Berikut akan diuraikan beberapa perangkat keras yang digunakan
sebagai komunikasi, sebagai berikut :
1. Port Serial
Port serial (serial port) adalah port yang mengirim data satu bit demi
satu bit biasanya menghubungkan perangkat-perangkat yang tidak
memerlukan transmisi data yang cepat seperti mouse, keyboard dan
modem ( Cashman, 2002 : 203 ).
Serial RS-232 adalah bentuk standar komunikasi yang telah lama ada
untuk setiap pembuatan interface yang mengacu pada fungsi
komputer. Dalam setiap proses transfer data serial, RS 232
memerlukan sebuah Data Terminal Equipment atatu sering disebut
DTE dan Data Communication Equipment atau sering disebut DCE
1 2 3 4 5
6 7 8 9
Gambar 2.4 Konektor DB 9 Jantan
( Sumber : Budiharto,2005:100)
Gambar 2.5 Konektor DB 9 betina
( Sumber : Budiharto,2005:100)
Berikut tabel penggunaan pin, nama pin, dan jenis sinyal yang
digunakan pada konektor serial DB9, sebagai berikut :
Tabel 2.5. Port DB 9
Pin Nama Sinyal Jenis
1 Data Carier Detect Input
2 Received Data (RxD) Input
3 Transmitted Data (TxD) Output
4 Data Terminal Ready (DTR) Output
5 Ground -
6 Data Set Ready (DSR) Input
7 Request To Send (RTS) Output
8 Clear To Send Input
9 Ring Indicator Input
Keterangan :
a. Pin 1 (Data Carier Detect) berfungsi untuk mendeteksi boleh
b. Pin 2 (Received Data) berfungsi sebagai jalur penerimaan
data dari DCE ke DTE.
c. Pin 3 (Transmitted Data) berfungsi sebagai jalur penerimaan
data dari DTE ke DCE..
d. Pin 4 (Data Terminal Ready) berfungsi untuk memberitahu
kesiapan terminal DTE.
e. Pin 5 (Ground) berfungsi sebagai saluran ground.
f. Pin 6 (Data Set Ready) berfungsi menyatakan bahwa status
data tersambung pada DCE.
g. Pin 7 (Request To Send ) berfungsi untuk mengirim sinyal
informasi dari DTE ke DCE bahwa akan ada data yang akan
dikirim.
h. Pin 8 (Clear To Send) berfungsi untuk memberitahu pada
DCE siap untuk menerima data.
i. Pin 9 (Ring Indicator) berfungsi untuk memberitahu pda DTE
bahwa ada terminal yang menginginkan komunikasi dengan
DCE.
2. Port Universal Serial Bus / USB Port
Port USB ( Universal Serial Bus) yaitu port yang dapat
menghubungkan sampai 127 pheriferal yang berbeda dengan sebuah
3. Universal Serial Bus (USB) to Serial RS 232 Converter
Universal serial bus (USB) to serial RS 232 converter ialah suatu
alat yang dapat mengubah sinyal USB kedalam sinyal serial yang
diteruskan kedalam port serial (Misky , 2005 : 201).
Gambar 2.6 USB To Serial
(Sumber : Data Diolah Penulis)
4. Universal Writer
Universal Writer ialah suatu alat yang dapat memasukkan program
assembler yang telah dikompile kedalam file *BIN yang kemudian
dimasukkan kedalam Mikrokontroler AT89S51 (Misky , 2005 : 210).
Gambar 2.7 Universal Writer
( Sumber: Data Diolah Penulis)
2.11.2 Komponen Elektronika
Komponen Elektronika ialah komponen-komponen yang disusun