Pembimbing II : Fetty Try A., S. Kom, Penyusun : Firman Fachrudin
ABSTRAKSI
Pada rungan Teknik Informatika UPN “Veteran” Jawa Timur, perangkat penguncian pintu dan listrik masih dikontrol secara manual. Sehingga karyawan harus disibukkan dengan rutinitas peminjaman kunci analog pada Dikjar. Kerapkali tidak dapat diketahui pengguna ruang pada jam dan hari tertentu. Serta kelalaian pengguna saat pemakaian telah berakhir lupa dalam mematikan perangkat listrik yang terdapat pada ruangan. Hal ini menyebabkan pemakaian listrik tidak efisien. Untuk menyelesaikan masalah dalam penguncian pintu dan pengontrolan listrik ruangan, yaitu membuat perangkat keras dan aplikasi yang dapat mengunci pintu dan mengontrol listrik secara otomatis sesuai setting ruang dan terpusat dengan menggunakan bahasa pemrogrman Visual Basic 6.0. Dimana ruangan hanya dapat dibuka oleh karyawan yang telah memiliki kartu identitas dan perijinan berupa kartu RFID dan pengamanan sandi. Sebagai pengontrol listrik dibutuhkan mikrokontroler AT89S52 yang telah diisi program menggunakan pemrograman BASCOM-8051, untuk komunikasi data antara
mikrokontroler dengan komputer dibutuhkan kabel converter RS 232 to USB. Dengan pengujian pada perangkat keras dan aplikasi yang telah dilakukan
didapatkan bahwa aplikasi ini mampu untuk mengunci pintu suatu ruangan dengan kartu RFID dan mengontrol listrik untuk efisiensi penggunaan listrik sesuai setting penggunaan, sehingga karyawan tidak perlu disibukkan lagi dengan kegiatan menuju Dikjar untuk melakukan peminjaman kunci dan mematikan listrik saat ruang tidak digunakan. Sehingga dapat disimpulkan bahwa aplikasi dapat berfungsi dengan baik dan output sesuai dengan apa yang diharapkan dan sesuai dengan tujuan awal penelitian dan perancangan aplikasi ini.
Dengan mengucapkan puji dan syukur kehadirat Tuhan Yang Maha Esa atas
segala rahmat dan hidayah-Nya sehingga penulis dapat menyelesaikan tugas akhir yang
merupakan persyaratan untuk menyelesaikan program Strata Satu (S1) di Universitas
Pembangunan Nasional “VETERAN” Jawa Timur., dengan mengambil judul
Pengamanan Pintu Menggunakan RFID dan Pengontrolan Listrik Pada Ruang
Teknik Infor matika UPN “VETERAN” J awa Timur.
Penulis mengucapkan terima kasih yang sebesar-besarnya kepada pihak-pihak
yang telah membantu baik materiil maupun dorongan spirituil untuk menyelesaikan
penulisan tugas akhir ini, terutama kepada:
1.
Mama dan Papa penulis ( Wini Artianni dan Utoyo Effendi ) serta seluruh keluarga
yang tiada henti hentinya memberikan semangat dan dukungan demi
terselesaikannya tugas akhir ini.
2.
Bapak Ir. Sutiyono, MT selaku dekan FTI, UPN “Veteran”Jawa Timur.
3.
Ibu Dr. Ir. Ni Ketut Sari, MT selaku ketua jurusan Teknik Informatika, FTI, UPN
“Veteran” Jawa Timur
4.
Bapak Basuki Rahmat, S.Si., MT selaku dosen pembimbing 1 tugas akhir penulis
yang selalu memberikan ide dalam pengerjaan mikrokontroller penulis.
5.
Fetty Tri A, S. Kom selaku dosen pembimbing 2 tugas akhir penulis dimana tidak
selalu membimbing penulis dalam hal laporan.
6.
Seluruh Dosen Teknik Informatika UPN atas kesediaan membagi ilmunya kepada
ilham judul ini.
8.
Teman-temanku seperjuangan dan sependeritaan terutama angkatan 2005, terima
kasih atas segala bantuannya selama menjadi mahasiswa.
9.
Semua pihak yang tidak dapat penulis sebutkan satu per satu yang terlibat baik
secara langsung maupun tidak langsung demi terselesaikannya tugas akhir ini.
Penulis menyadari sepenuhnya masih banyak terdapat kekurangan dalam
penulisan Tugas Akhir ini. Oleh sebab itu kritik serta saran yang membangun dari
pembaca sangat membantu guna perbaikan dan pengembangan di masa yang akan
datang.
Akhirnya dengan ridho Tuhan YME penulis berharap semoga laporan Tugas
Akhir ini dapat memberikan manfaat bagi pembaca sekalian terutama mahasiswa di
bidang teknik komputer dan informatika.
Surabaya, 11 Juni 2011
ABSTRAK ... i
KATA PENGANTAR ... ii
DAFTAR ISI ... iv
DAFTAR GAMBAR... ix
DAFTAR TABEL ... xii
BAB I PENDAHULUAN ... 1
1.1 Latar Belakang Masalah ... 1
1.2 Perumusan Masalah ... 2
1.3 Batasan Masalah ... 3
1.4 Tujuan ... 3
1.5 Manfaat ... 4
1.6 Metodelogi Penelitian ... 4
1.7 Sistematika Penelitian ... 6
BAB II TINJ AUAN PUSTAKA ... 8
2.1 Sejarah Singkat Mengenai Teknik Informatika UPN ”Veteran” Jawa Timur ... 8
2.2 Definisi Mikrokontroler ... 10
2.2.1 Perbedaan Antara MCS-51 versi C dan S ... 11
2.2.2 Bahasa Pemprograman Mikrokontroler ... 11
2.3 Mikrokontroler AT89s52 ... 12
2.3.1 Struktur Mikrokontroller AT89s52 ... 13
2.3.2 Data Memori (EEPROM) dan RAM ... 13
2.3.3 Konfigurasi Kaki Mikrokontroller AT89S ... 14
2.4.3 Compiler Penerjemah ... 21
2.4.4 Program BASCOM 8051 ... 22
2.4.5 Karakter dalam BASCOM 8051 ... 23
2.4.6 Tipe Data ... 23
2.4.6.1 Variabel... 24
2.4.6.2 Alias ... 25
2.4.6.3 Konstanta ... 25
2.4.6.4 Array ... 26
2.4.7 Operasi-operasi dalam BASCOM 8051 ... 27
2.4.8 Kontrol Program ... 28
2.4.8.1 If...Then ... 29
2.4.8.2 Select...Case ... 29
2.4.8.3 While...End ... 30
2.4.8.4 Do...Loop ... 30
2.4.8.5 For...Next ... 30
2.4.8.6 Exit ... 31
2.4.8.7 Gosub ... 31
2.4.8.8 Goto ... 32
2.5 Pemodelan Data ... 32
2.5.1 Entity Relationship Diagram (ERD) ... 32
2.5.2 Entitas dan Attribut ... 32
2.7.1 Program Database MySQL ... 36
2.8 Visual Basic 6.0 ... 38
2.9 Flowchart ... 39
2.10 Unified Modelling Language (UML) ... 40
2.10.1 Konsep Dasar UML ... 41
2.10.2 Use Case Diagram ... 42
2.10.3 Class Diagram ... 44
2.10.4 Statechart Diagram ... 46
2.10.5 Activity Diagram ... 47
2.10.6 Squence Diagram ... 49
2.10.7 Collaboration Diagram ... 50
BAB III ANALISA DAN PERANCANGAN SISTEM ... 51
3.1 Analisa Sistem ... 51
3.2 Perancangan UML ... 52
3.2.1 UML ( Unified Modelling Language ) ... 53
3.2.1.1 Use case Diagram. ... 53
3.2.1.2 Activity Diagram. ... 54
3.3 Perancangan Database ... 3.3.1 Entity Relationship Diagram ... 63
3.3.1.1 Conceptual Data Model ( CDM ) ... 63
3.4.1 Perancangan Mikrokontroller AT89s52 ... 69
3.4.2 Flow Chart Perangkat keras ... 70
3.4.3 Perancangan Perangkat RFID dn Mikrokontroller 72
3.5 Perancangan Maket... 72
3.6 Perancangan Antarmuka ... 73
BAB IV IMPLEMENTASI SITEM. ... 76
4.1 Perangkat Pengamanan Pintu dan Pengontrolan Listrik ... 76
4.2 Maket Ruang ... 76
4.3 Transfer Aplikasi Pada Mikrokontroller ... 77
4.4 Aplikasi monitoring Penggunaan Ruang ... 79
4.4.1 Sub Menu Pengguna Ruang ... 79
4.4.2 Sub Menu Perijinan ... 80
4.4.3 Sub Menu Setting Ruang... 80
BAB V UJ I COBA DAN EVALUASI. ... 83
5.1 Pengujian Perangkat Keras ... 83
5.1.1 Pengujian Mikrokontroller AT89s52 ... 83
5.1.2 Pengujian RFID ... 84
5.1.3 Pengujian Maket... 84
5.2 Pengujian Aplikasi Monitoring ... 85
5.2.4 Laporan Penggunaan Ruang ... 87
BAB VI KESIMPULAN DAN SARAN. ... 92
6.1 Kesimpulan ... 92
6.2 Saran ... 92
Gambar 2.1 Gedung Teknik Informatika UPN “Veteran” Jawa Timur ... 9
Gambar 2.2 Alur Listrik Ruang ... 9
Gambar 2.3 Diagram Blok AT89s52 ... 12
Gambar 2.4 Alamat RAM Internal dan Flash EEPROM ... 12
Gambar 2.5 Konfigurasi Kaki AT89s52 ... 14
Gambar 2.6 Jendela program BASCOM ... 17
Gambar 2.7 Jendela program simulasi ... 19
Gambar 2.8 Tombol-tombol interruppt... 19
Gambar 2.9 Jendela Simulasi LCD ... 20
Gambar 2.10 Jendela option ... 21
Gambar 2.11 Simbol-simbol Program FlowChart ... 39
Gambar 2.12 Proses Detail FlowChart ... 40
Gambar 2.13 Contoh Use Case Diagram ... 43
Gambar 2.14 Public Dalam Class ... 44
Gambar 2.15 Run-time Dalam Class ... 45
Gambar 2.16 Package Dalam Class ... 45
Gambar 2.17 Contoh Class Diagram ... 46
Gambar 2.18 Contoh Statechart Diagram ... 47
Gambar 2.19 Contoh Activity Diagram ... 48
Gambar 2.20 Contoh Squence Diagram ... 49
Gambar 2.21 Contoh Collaboration Diagram ... 50
Gambar 3.4 Activity Diagram Ubah Sandi Operator ... 55
Gambar 3.5 Activity Diagram Menambah Operator ... 56
Gambar 3.6 Activity Diagram Merubah Operator ... 57
Gambar 3.7 Activity Diagram Menambah Pengguna ... 58
Gambar 3.8 Activity Diagram Merubah Pengguna ... 59
Gambar 3.9 Diagram Kartu Baru Pengguna ... 60
Gambar 3.10 Activity Diagram Menambah ... 60
Gambar 3.11 Activity Diagram Merubah ... 61
Gambar 3.12 Activity Diagram Kehilangan Kartu... 61
Gambar 3.13 Activity Diagram Hapus Perijinan ... 62
Gambar 3.14 Conceptual Data Model ( CDM ) ... 63
Gambar 3.15 Physical Data Model ( PDM ) ... 64
Gambar 3.16 Skema Rangkaian Mikrokontroler AT89S52 ... 69
Gambar 3.17.1 Flow Chart Penggunaan Tombol ... 70
Gambar 3.17.2 Flow Chart Mikrokontroller ... 71
Gambar 3.18 Perancangan Rangkaian Alat ... 72
Gambar 3.19 Perancangan Maket ... 72
Gambar 3.20 Perancangan Antarmuka Form Login ... 73
Gambar 3.21 Perancangan Antarmuka Form Awal ... 74
Gambar 3.22 Perancangan Antarmuka Form Ubah Sandi Operator ... 74
Gambar 3.23 Perancangan Antarmuka Form Operator ... 75
Gambar 4.3 Software ISP- Flash Programmer... 78
Gambar 4.4 Mikrokontroler Belum Terhubung ... 78
Gambar 4.5 Mikrokontroler Telah Terhubung ... 78
Gambar 4.6 Program Masuk Pada Mikrokontroler ... 79
Gambar 4.7 Form Pengguna Ruang ... 79
Gambar 4.8 Form Perijinan ... 80
Gambar 4.9 Form Setting Ruang ... 81
Gambar 5.1 Form Pengguna Ruang ... 85
Gambar 5.2 Form Perijinan ... 86
Gambar 5.3 Form Pengaturan Ruang ... 87
Gambar 5.4 Form Laporan Penggunaan Ruang ... 87
Gambar 5.5 Bentuk Laporan Penggunaan Ruang ... 88
Gambar 5.6 Bentuk Laporan Detail Perijinan ... 88
Gambar 5.7 Bentuk Laporan Perijinan Tidak Mengembalikan Kartu ... 89
Gambar 5.8 Tampilan Bila Kartu Tidak Sesuai ... 89
Gambar 5.9 Tampilan Bila Kartu Sesuai ... 90
Gambar 5.10 Bila menekan * dan memiliki sandi ... 90
Tabel 2.1 Daftar Fungsi Menu BASCOM-8051 ... 18
Tabel 2.2 Info Show Result ... 18
Tabel 2.3 Keterangan Menu Pilihan ... 21
Tabel 2.4 Tabel Alokasi Port untuk LCD... 22
Tabel 2.5 Karakter Special ... 23
Tabel 2.6 Tipe Data BASCOM ... 23
Tabel 2.7 Tabel Operator Relasi ... 27
Tabel 2.8 Bentuk Notasi dalam Power Designer ... 34
Tabel 2.9 Konsepsi Dasar UML ... 41
Tabel 3.1 Struktur Tabel Operator ... 65
Tabel 3.2 Struktur Tabel Ruang ... 65
Tabel 3.3 Struktur Tabel Pengguna ... 66
Tabel 3.4 Struktur Tabel Perijinan ... 66
Tabel 3.5 Struktur Tabel Perijinan ... 67
Tabel 3.6 Struktur Tabel Penggunaan_ruang ... 67
BAB I
PENDAHULUAN
1.1 Latar Belaka ng
Perkembangan ilmu teknologi yang pesat beberapa tahun belakangan ini
telah memacu kreatifitas umat manusia, khususnya pada perkembangan teknologi
perangkat kontrol. Hal ini terlihat dengan adanya berbagai penemuan dan
pengembangan baik pada piranti keras (hardware) maupun pada piranti lunak
(software). Meningkatnya teknologi serta penemuan ini juga berpengaruh
terhadap kebutuhan akan segi keamanan baru. Hal ini dibutuhkan karena
menyangkut keselamatan, kekayaan, keamanan, kerahasian dan hal lainnya.
Instansi seperti pada dunia pendidikan salah satunya di UPN “VETERAN”
JAWA TIMUR, pastinya memiliki ruangan yang tidak semua orang untuk bebas
masuk. Seperti ruangan kuliah, himpunan, server dan dosen tidak dapat dibuka
tanpa adanya kunci analog. Namun dalam prakteknya tidak dapat
dipertanggungjawabkan karena tidak diketahui pengguna secara terperinci bila
terjadi penyelewengan, kehilangan, penyusupan dan hal lainnya. Selain itu
ruangan yang benar-benar tidak dikhususkan menggunakan listrik selama 24 jam
penuh seperti ruangan server yang harus memerlukan listrik secara penuh untuk
menjalankannya, mengalami pemborosan dikarenakan adanya penggunaan listrik
berlebihan baik lalai maupun disengaja karena tidak adanya pengontrolan listrik.
Untuk menjaga hal tersebut maka dibutuhkan suatu sistem pengamanan
yang baik guna mencegah terjadinya penyusupan pada ruangan. Dikarenakan
ruang. Agar memenuhi hal tersebut dapat digunakan pengamanan berupa kartu
pengenal yang unik dan berbeda antara satu dengan yang lain dan dikombinasikan
dengan angka sandi bila diinginkan, sehingga hanya orang-orang tertentu saja
yang dapat mengakses ruangan tersebut dan tidak dapat disamakan dengan yang
lain. Untuk penggunaan listrik pada ruangan yang tidak membutuhkan secara
penuh dapat langsung dipadamkan ketika ruang tidak lagi digunakan. Sedangkan
ruangan yang masih membutuhkan listruk dapat tetap diaktifkan walaupun
ruangan tidak digunakan.
Dengan menggunakan RFID maka pengguna ruang dapat dibedakan
karena memiliki microchip unik antara pegguna satu dengan yang lain serta dapat
dikombinasikan dengan angka sandi bila menginginkan keamanan lebih. Saat
kartu RFID digunakan maka dapat menyimpan pada database siapa pemilik kartu
sebagai penanggungjawab pengguna ruang. Sedangkan dengan mikrokontroller
dapat mengatasi pemadaman listrik sesuai pengaturan penggunaan listrik ruangan.
1.2 Per umusan Masalah
Atas dasar latar belakang diatas, maka tugas akhir ini mempunyai
perumusan masalah sebagai berikut :
a. Bagaimana mengunci dan membuka pintu ruangan menggunakan kartu
pengenal dan angka sandi bila diinginkan, kemudian menyimpan pengguna
kartu sebagai penanggungjawab pembuka ruang.
b. Bagaimana mengontrol pemadaman penggunaan listrik saat ruang tidak
1.3 Batasan Masalah
Dalam pengerjaan tugas akhir ini, untuk mengatasi permasalahan yang ada
maka penyusun membatasi permasalahan sebagai berikut :
a. Untuk pengguna yang kehilangan kartu dapat melakukan pembuatan kartu
baru.
b. Bila tidak memiliki kartu dapat memohon perijinan dari operator dan
meminjam kartu penggunaan ruang
c. Untuk windows socket digunakan penggantian simulasi perangkat keras
berupa personal computer.
d. Pengenal kartu menggunakan perangkat RFID (Radio Frequency
Identification).
e. Untuk pengamanan pembuka pintu dan pengendalian listrik menggunakan
rangkaian mikrokontroller AT89s52.
f. Database menggunakan My SQL sebagai media menyimpan data.
g. Aplikasi monitoring menggunakan Visual Basic 6 dimana aplikasi ini berbasis
windows.
h. Untuk peragaan perangkat keras RFID, mikrokontroller AT89S52 dan aplikasi
monitoring tentang tugas akhir ini penulis menggunakan penjelasan secara
lesan dan tertulis.
1.4 Tujuan
Tujuan dari tugas akhir ini adalah meningkatkan mutu, kwalitas,
”VETERAN” JAWA TIMUR dengan menggunakan pengamanan RFID dan
pengontrolan listrik untuk efisiensi penggunaannya pada ruang di Gedung Teknik
Informatika UPN ”VETERAN” Jawa Timur.
1.5 Manfaat
Manfaat yang dapat diraih dari pembuatan tugas akhir ini antara lain :
a. Dapat memonitoring penggunaan ruang secara terperinci.
b. Penggunaan ruang dapat dipertanggung jawabkan karena dapat diketahui
pengguna ruang.
c. Memberikan pengamanan lebih pada ruangan karena menggunakan kartu
RFID.
d. Memadamkan listrik pada ruang secara otomatos saat tidak difungsikan.
e. Memberikan efisiensi penggunaan listrik pada ruang karena dapat dikontrol
berdasarkan penggunaan ruang.
1.6 Metodologi Penelitian
Dalam pembuatan Tugas Akhir ini, akan digunakan beberapa metode.
Antara lain :
a. Survei
Dilakukan dengan mengumpulkan segala macam informasi secara riset
kepustakaan, mempelajari buku yang berhubungan dengan masalah yang akan
dihadapi, dan melakukan wawancara baik lesan maupun tertulis terhadap
Fakultas Teknik Industri Universitas Pembangunan Nasional “VETERAN”
Jawa Timur untuk mendapatkan informasi dan data yang berhubungan dengan
tugas akhir ini.
b. Analisa
Menganalisa beberapa data yang diperlukan saat penggunaan ruang pada
metode kunci analog sebelumnya untuk pengerjaan dan menyempurnakan
sistem ini.
c. Perancangan Sistem
Menjelaskan tahap-tahap yang dilakukan mulai dari identifikasi permasalahan
sampai menghasilkan desain perancangan hardware, input, output dari sistem
yang akan dibuat.
d. Pengerjaan Perangkat Keras dan Program
Melakukan implementasi terhadap sistem berdasarkan hasil dari perancangan
sistem baik perangkat keras maupun perangkat lunak yang sesuai dengan
kebutuhan.
e. Uji Coba Perangkat Keras dan Program
Uji coba program dapat dilakukan pada akhir dari tahap-tahap analisa sistem
dan setelah selesainya pengerjaan perangkat keras dan program, desain sistem
dan tahap penerapan sistem atau implementasi sistem. Sasaran uji coba
program adalah untuk menemukan kesalahan-kesalahan dari perangkat keras
dan program yang mungkin terjadi baik kesalahan sistem ataupun manusia
sehingga dapat dilakukan perbaikan.
Dalam bagian akhir skripsi ini akan dibuat kesimpulan dan saran dari hasil
pembuatan sistem yang diperoleh sesuai dengan dasar teori yang mendukung
dalam pembuatan sistem tersebut yang telah dikerjakan secara keseluruhan
dan dilakukannya ujicoba sistem.
1.7 Sistematika Penulisan.
Pada penulisan laporan tugas akhir ini terdiri dari beberapa bab yang
disusun dengan sistematika penulisan sebagai berikut:
BAB I PENDAHULUAN
Bab ini berisikan Latar Belakang, Rumusan Masalah, Batasan Masalah,
Tujuan Penelitian, Manfaat Perancangan Sistem, Metode penulisan, Sistematika
Penulisan.
BAB II TINJ AUAN PUSTAKA
Bab ini menjelaskan tentang dasar teori untuk pemecahan masalah yang
berhubungan dan digunakan untuk mendukung dalam pembuatan tugas akhir ini.
BAB III ANALISA DAN PERANCANGAN SISTEM
Bab ini menjelaskan tentang metode yang digunakan dalam aplikasi
Pengamanan Pintu Menggunakan RFID Dan Pengontrolan Listrik Pada Ruang
Teknik Informatika UPN “Veteran” Jawa Timur.
BAB IV IMPLEMENTASI SISTEM
Bab ini menjelaskan tentang hasil dan pembahasan mengenai analisa
prosedur kerja pada penyusunan laporan tugas akhir baik hardware dan aplikasi
Pengamanan Pintu Menggunakan RFID Dan Pengontrolan Listrik Pada Ruang
Teknik Informatika UPN “Veteran” Jawa Timur.
Pada bab ini menjelaskan tentang pelaksanaan uji coba dari hardware dan
program yang dibuat dan akan dilakukan pengimplementasian pada maket untuk
menguji keberhasilan layaknya pada ruang yang sesungguhnya. Uji coba program
dapat dilakukan pada akhir tahap implementasi. Sasaran dari ujicoba program
adalah untuk menemukan kesalahan dari program yang mungkin terjadi sehingga
dapat segera dilakukan diperbaikan.
BAB VI PENUTUP
Bab ini berisi kesimpulan dari sistem pengontrolan yang telah dibuat dan
BAB II
TINJ AUAN PUSTAKA
2.1 Sejar ah Singkat Mengenai Teknik Infor matika UPN “Veter an” J awa
Timur
Jurusan Teknik Informatika Fakultas Teknologi Industri UPN "Veteran"
Jawa Timur didirikan dan diresmikan pada tahun akademik 2003. Tujuan
pendidikan Teknik Informatika adalah untuk menghasilkan Sarjana dalam bidang
komputer yang unggul dan mempunyai pengetahuan dasar dan keahlian yang luas
dalam bidang Teknologi Informasi, khususnya bidang Piranti Lunak (Software)
dan Perangkat Keras (Hardware).
Sejak tahun akademik 2004/2005, Jurusan Teknik Informatika yang
semula hanya memiliki 1 (satu) bidang minat Teknik Informatika, berkembang
menjadi 2 (dua) program studi baru yaitu Teknik Informatika, Sistem
Informasi. Program Studi Teknik Informatika hingga saat ini diampu oleh lebih
dari 40 orang staf Dosen dengan jumlah mahasiswa lebih dari 1340 orang. Jurusan
teknik informatika sendiri mempunyai gedung dengan 3 lantai yang terdiri dari, 8
ruang kelas, 2 ruang dosen, 1 ruang kajur dan sekjur, 3 ruang komunitas, 2 ruang
himpunan, 1 ruang dikjar dan 5 laboratorium dan semua ruangannya ber-AC.
Gedung teknik informatika ini mempunyai nama dari bahasa sansekerta yaitu Giri
Santika. Dimana secara garis besar setiap ruang memiliki 2 jalur kebel listrik yaitu
untuk listrik ruang (lampu, proyektor, komputer, dll) dan untuk AC (Air
Berikut adalah gambar gedung Teknik Informatika UPN “Veteran” Jawa Timur:
Gambar 2.1 Gedung Teknik Informatika UPN “Veteran” Jawa Timur
Berikut adalah Alur Listrik Ruang Teknik Informatika UPN “Veteran” Jawa
Timur:
2.2 Definisi Mik rokontr oler
Mikrokontroler adalah sebuah sistem komputer yang seluruh atau sebagian
besar elemennya dikemas dalam satu chip IC, sehingga sering disebut single chip
microcomputer [I]. Lebih lanjut mikrokontroler merupakan sistem komputer 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 komputer dengan mikrokontroler. Dalam
mikrokontroler, ROM jauh kebih besar dibanding RAM, sedangkan dalam
komputer atau PC RAM jauh lebih besar dibanding ROM.
Mikrokontroler umumnya dikelompokkan dalam satu keluarga. Berikut
adalah contoh-contoh keluarga mikrokontroler :
• Keluarga MCS-51
• Keluarga MC68HC05
• Keluarga MCH68HC11
• Keluarga AVR
• Keluarga PIC 8
Dalam tugas akhir ini akan mempelajari satu jenis mikrokontroler, yaitu
mikrokontroler MCS-51. Beberapa mikrokontroler yang termasuk ke dalam
keluarga MCS-51 sebgai berikut :
• AT89C51/ 52/ 53
• AT89C1051/ 2051/ 4051
• AT89S51/ 52/ 53
2.2.1 Per bedaan Antara MCS-51 ver si C da n S
Generasi awal MCS-51 adalah mikrokontroler generasi C, yaitu AT89C51
dan AT89C52. Mikrokontroler hanya dapat diprogram secara paralel sehingga
untuk memrogramnya dibutuhkan pemprograman secara khusus. Sistem demikian
mempunyai kelemahan, yaitu :
• IC mudah rusak karena sering dicabut-pasang dan kerusakan paling sering
adalah patahnya kaki IC.
• Kemungkinan terjadinya salah posisi dalam pemasangan IC sangat besar,
sehingga IC menjadi cepat rusak.
• Tidak praktis karena harus selalu mencabut dan memasang IC.
• Downloader-nya agak sulit untuk dibuat sendiri, terutama di daerah yang
fasilitasnya masih kurang, tetapi jika membeli, harganya relatif mahal.
Menyadari hal ini, ATMEL kemudian membuat mikrokontroler generasi baru,
yaitu mikrokontroler generasi S (AT89S51, AT89S52, AT89S8252, dan lain-lain)
yang sudah dilengkapi sistem pemprograman serial (ISP – In System
Programming). Sistem ISP memungkinkan mikrokontroler diprogram dalam
papan sistemnya, sehingga tidak ada proses cabut-pasang. Kemudian
downloader-nya sangat mudah dan murah dibuat sendiri.
2.2.2 Bahasa Pempr ogr aman Mikr okontroler
Secara umum, bahasa yang digunakan untuk pemprogramannya adalah
bahasa tingkat rendah, yaitu bahasa assembly. Setiap mikrokontroler memiliki
bahasa pemprogrman yang berbeda. Karena banyaknya hambatan dalam
untuk bahasa tingkat tinggi. Untuk MCS-51, bahasa tingkat tinggi yang banyak
dikembangkan antara lain BASIC, Pascal dan bahasa C.
Dalam tugas akhir ini menggunakan BASCOM-8051, yaitu compiler yang
menggunakan bahasa BASIC. Alasannya adalah bahasa BASIC relatif lebih
mudah dibanding bahasa tingkat tinggi lainnya. Kemudian compiler cukup
lengkap karena telah dilengkapi simulator untuk LED, LCD, dan monitor untuk
komunikasi serial. Dengan demikian sistem yang dibuat akan lebih mudah.
2.3 Mikr okontroler AT89S52
Mikrokontroler AT89S52 merupakan pengembangan dari mikrokontroler
standart MCS-51. Sehingga hal-hal yang terdapat dalam mikrokontroler MCS-51
juga berlaku untuk mikrokontroler AT89S52. Karena adanya fitur tambahan yang
tidak terdapat pada mikrokontroler MCS-51, maka mikrokontroler AT89S52
dapat menggantikan mikrokontroler MCS-51, tetapi tidak demikian sebaliknya.
Selain itu mikrokontroler AT89S52 memiliki daya tahan yang relatif lama.
Diagram blok mikrokontroler AT89S52 dapat dilihat pada Gambar 2.1 berikut ini
2.3.1 Str uktur Mikr okontr oler AT89S52
Mikrokontroler AT89S52 mempunyai kelengkapan sebagai berikut:
• Kompatibel dengan mikrokontroler MCS-51.
• 8 Kbyte downloadable flash memori.
• Kbyte EEPROM.
• 256 byte RAM internal.
• 32 I/O yang dapat dipakai semua.
• 2 buah timer/counter 16 bit.
• Programmable UART (serial port).
• SPI serial interface.
• Programmable watchdog timer.
• Dual data pointer.
• Tegangan operasi 2w,7 Volt sampai 6 Volt.
2.3.2 Data Memor i (EEPROM) dan RAM
Berbeda dengan mikrokontroler standart MCS-51, mikrokontroler
AT89S52 juga dilengkapi dengan data memori yang berupa EEPROM
(Electrically Erasable Programmable Read Only Memory). EEPROM yang di
tanamkan ini besarnya 2 Kbyte dan dipakai penyimpanan data. EEPROM on-chip
ini diakses dengan mengeset bit EEMEN pada register WMCON pada alamat
96H. alamat EEPROM ini adalah 000H sampai 7FFH. Instruksi movx digunakan
untuk mengakses EEPROM internal ini. Namun jika ingin mengakses data
bit EEMEN harus dibuat “0”. Sedangkan RAM yang ada pada mikrokontroler ini
adalah berkapasitas 256 byte.
Mikrokontroler AT89S52 mempunyai stuktur memori yang terpisah antara
RAM Internal dan Flash EEPROM-nya. Seperti yang tampak pada gambar 2.2.
RAM Internal dialamati oleh RAM Address Register (Register alamat RAM).
Sedangkan Flash PEROM yang menyimpan perintah-perintah MCS-51 dialamati
oleh Program Address Register (Register alamat Program). Melihat struktur
memori tersebut jelas antara RAM Internal dan Flash PEROM secara fisik
keduanya tidak saling berhubungan.
Gambar 2.4 Alamat RAM Internal dan Flash EEPROM
2.3.3 Konfigur asi Kaki Mikr okontr oler AT89S52
Gambar 2.5 Konfigurasi Kaki AT89S52. A T 8 9 S 8 2 5 2
1 2 3 4 5 6 7 8 9 1 0 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 2 0
V c c P 0 . 0 ( A D 0 ) P 0 . 1 ( A D 1 ) P 0 . 2 ( A D 2 ) P 0 . 3 ( A D 3 ) P 0 . 4 ( A D 4 ) P 0 . 5 ( A D 5 ) P 0 . 6 ( A D 6 ) P 0 . 7 ( A D 7 )
E A / V P P
2 1 2 2 2 3 2 4 2 5 2 6 2 7 2 8 2 9 3 0 3 1 3 2 3 3 3 4 3 5 3 6 3 7 3 8 3 9 4 0
A L E / P R O G P S E N P 2 . 7 ( A 1 5 )
P 2 . 1 ( A 9 ) P 2 . 2 ( A 1 0 ) P 2 . 3 ( A 1 1 ) P 2 . 4 ( A 1 2 ) P 2 . 5 ( A 1 3 ) P 2 . 6 ( A 1 4 )
P 2 . 0 ( A 8 ) ( T 2 ) P 1 . 0
( T 2 E X ) P 1 . 1 P 1 . 2 P 1 . 3 ( S S ) P 1 . 4 ( M O S I ) P 1 . 5 ( M I S O ) P 1 . 6
( S C K ) P 1 . 7
( R X D ) P 3 . 0 ( T X D ) P 3 . 1 ( I N T 0 ) P 3 . 2 ( I N T 1 ) P 3 . 3
X T A L 1 X T A L 2 ( R D ) P 3 . 7 ( W R ) P 3 . 6 ( T 1 ) P 3 . 5 ( T 0 ) P 3 . 4
G N D R S T RAM
Address
Register Program
Address Register Special Function Register RAM Internal FF 80 7F
00 Flash
EEROM 7FF
Mikrokontroler AT89S52 mempunyai 40 kaki. Adapun kegunaan dari
masing-masing kaki pada mikrokontroler ini adalah sebagai berikut :
• Port 0 (32...39)
Berfungsi sebagai I/O biasa, low order multiplex address/data ataupun
menerima kode byte pada saat Flash Programming. Pada fungsi sebagai I/O
dapat mengendalikan 8 buah TTL.
• Port 1 (1...8)
Berfungsi sebagai I/O biasa atau menerima low order address bytes selama
pada saat Flash Programming. Sebagai output, port ini dapat mengendalikan 4
buah input TTL.
• Port 2 (21...28)
Berfungsi sebagai I/O biasa atau high order address, pada saat mengakses
memori secara 16 bit. Port ini sebagai output dapat mengendalikan 4 buah
input TTL.
• Port 3 (10...17)
Sebagai I/O biasa mempunyai sifat yang sama dengan port 1 maupun port 2.
Sedangkan sebagai fungsi spesial port-port ini mempunyai keterangan sebagai
berikut :
P3.0 (RXD) : Serial input port
P3.1 (TXD) : Serial output Port
P3.2 (INT0) : External interrupt 0
P3.3 (INT1) : External interrupt 1
P3.5 (T1) : Timer/counter 1 External Input
P3.6(WR) : External data memory write strobe
P3.7(RD) : External data memory read strobe
• RST (9)
Merupakan input untuk reset. Reset akan aktif dengan memberikan input high
selama 2 cycle.
• ALE (30)
Pin ini dapat berfungsi sebagai Address Latch Enable (ALE) yang
memberikan sinyal latch low byte address pada saat mengakses memori
eksternal. ALE hanya akan aktif pada saat mengakses memori eksternal
(MOVX & MOVC).
• PSEN (29)
Program Store Enable, pin ini berfungsi pada saat mengekskusi program yang
terletak pada memori eksternal. PSEN akan aktif dua kali setiap cycle.
• EA/VPP (31)
External Access Enable, pin ini membuat mikrokontroler menjalankan
program yang ada pada memori eksternal setelah sistem di-reset, pada kondisi
low. Pada kondisi high, membuat mikrokontroler menjalankan program yang
ada pada memori internal.
• XTAL1 (19)
Masukan untuk penguat inverting asilator dan masukan rangkaian clock
• XTAL2 (18)
Keluaran dari inverting osilator.
2.4 BASCOM-8051
Basic Compiler (BASCOM-8051) adalah program Basic compiler yang
berbasis Windows untuk mikrokontroler keluarga 8051 seperti AT89C51,
AT89C2051, dan yang lainya. BASCOM-8051 merupakan pemprograman dengan
bahasa tingkat tinggi Basic yang dikembangkan dan dikeluarkan oleh MCS
Electronic.
2.4.1 Bagian-bagian BASCOM
Ketika program BASCOM-8051 dijalankan dengan mengklik ganda ikon
BASCOM-8051, maka berikut akan tampil.
Tabel 2.1 Daftar Fungsi Menu BASCOM-8051
Ikon Nama Fungsi Shor tcut
File New Membuat file baru Ctrl+N
Open File Membuka file Ctrl+N
File Save Menyimpan file Ctrl+S
File Close Menutup program yang dibuka
Ctrl+O
Save As Menyimpan dengan nama lain -
Print Preview
Melihat tampilan sebelum dicetak
-
Print Mencetak dokumen Ctrl+P
Exit Keluar dari program -
Program Compile
Mengkompile program yang dibuat. Outputnya bisa berupa *.hex, *.bin, dan lain-lain
F7
Syntax Check
Memeriksa kesalahan bahasa Ctrl+F7
Show Result
Menampilkan kompilasi program
Ctrl+W
Menu Show Result menampilkan informasi berupa:
Tabel 2.2 Info Show Result
Info Keter angan
Compiler Versi kompiler yang digunakan
Processor Menampilkan target prosesor yang dipilih
Date and time Tanggal dan waktu kompilasi
Boud Timer Timer yang digunakan untuk menghasilkan boud rate;
0 ketika tidak ada timer yang digunakan
Boud rate dan
frekuensi
Boud rate yang dipilih dan kristal yang digunakan
untuk kecepatan transfer data.
ROM Start Lokasi awal ROM
RAM Start Lokasi awal eksternal RAM
LCD Mode Mode LCD yang digunakan, 4 bit atau 8 bit
Stack Start Lokasi awal stack. Ruangan di bawah stack
digunakan untuk variable
2.4.2 Pr ogr am Simulasi
BASCOM-8051 menyediakan pilihan yang dapat mensimulasikan
program. Tampilan program simulasi adalah
Gambar 2.7 Jendela Program Simulasi
Tombol play berfungsi memulai simulasi. Untuk menghentikan proses simulasi
yang sedang berjalan, gunakan tombol stop. Layar biru di tengah merupakan
simulasi layar komputer ketika menggunakan perintah PRINT atau INPUT.
Dapat melihat perubahan variabel yang digunakan dalam program ketika pada
kolom nama variabel. Ketika program dijalankan, maka setiap perubahan variabel
akan ditampilkan. Bagian lainnya adalah nilai register-register akan ditampilkan
ketika simulasi dijalankan.
Tombol berikut merupakan simulasi interrupt dari mikrokontroler:
Dengan menekan tombol diatas, missal INT0, program simulasi akan
mendeteksi adanya interrupt 0. Dengan catatan interrupt 0-nya harus diaktifkan
terlebih dahulu.
Agar dapat melihat perubahan data pada setiap port atau ketika ingin
memberikan input pada pin-pin tertentu mikrokontroler, maka digunakan tombol
untuk menampilakn jendela sebagai berikut:
Bagian atas mensimulasikan perintah-perintah yang berhubungan dengan
LCD. Sebaliknya, deretan LCD yang dibawah menunjukan kondisi
masing-masing port yang dihubungkan secara common ground. Jika menggunakan
hardware common anode, maka tanda checklist dihilangkan. Untuk memberikan
input pada pin-pin tertentu, tinggal menekan LED yang diinginkan, maka
program simulasi akan melakukan program yang sedang disimulasikan. Misalnya
menggunakan port PI.7 sebagai input, maka menekan LED pada kolom 7 dan
baris P1 ketika program telah dijalankan. Simulasi menunjukkan sebenarnya pada
mikrokontroller bila dijalankan. Sehingga dapat disesuaikan dengan dunia nyata
apakah program berfungsi baik.
2.4.3 Compiler atau Pener jemah
BASCOM-8051 menyediakan pilihan untuk memodifikasi pilihan-pilihan
pada kompilasi. Dengan memilih menu Compiler, jendela berikut akan tampil:
Gambar 2.10 Jendela Option
Keterangan dari pilihan sebagai berikut:
Tabel 2.3 Keterangan Menu Pilihan
TAB Menu OPTION Keter angan
Output Binery file Menghasilkan file biner
HEX file Menghasilkan file hexadecimal
DEBUG file Menghasilkan file debug dan map yang diperlukan program simulator
Report file Menghasilkan file report
Error file Menghasilkan file error
Old Itel HEX Menghasilkan file old Intel Hex yang digunakan
beberapa monitor
Communication Baudrate Baud rate yang digunakan untuk komunikasi
RS232 dangan komputer
Frequency Frekuensi kristal yang digunakan mikrokontroler
SDA port Pin untuk jalur SDA yang digunakan rutin I2C
RC5 port Pin yang digunakan untuk statemen GETRC5
Lanjutan Tabel 2.3 Keterangan Menu Pilihan
2.4.4 Pr ogr am BASCOM 8051
BASCOM-8051 menyediakan rutin-rutin yang mengatur hubungan
mikrokontroler dengan komponen hardware yang tambahan lainnya. Hardware
harus dihubungkan dengan port yang telah ditentukan sebelumnya secara default
oleh BASCOM maupun oleh pengguna. Dapat melakukan pengaturan dengan
mengubah pilihan pada bagian kompiler yang telah dijelaskan diatas.
Sebagai contoh, peraga LCD harus dihubungkan dengan pin-pin berikut.
Tabel 2.4 Tabel Alokasi Port untuk LCD
Per aga LCD Por t Pin
DB7 PI.7 14
DB6 PI.6 13
DB5 PI.5 12
DB4 PI.4 11
E PI.3 6
RS PI.2 5
RW Ground 4
Vss Ground 1
Vdd Vcc 2
2.4.5 Kar akter dalam BASCOM
Dalam program BASCOM, karakter dasarnya terdiri atas karakter alphabet
(A-Z dan a-z) , karakter numerik (0-9), dan karakter special (lihat Tabel 2.5).
Tabel 2.5 Karakter Special
Kar akter Nama
Blank atau spasi
‘ Apostrophe
* Asterisk (symbol perkalian)
+ Plus sign
, Comma
- Minus sign
. Period (decimal point)
/ Slash (division symbol) will be handled as \
: Colon
“ Double quatition mark
; Semicolon
< Less than
= Equal sign (assignment symbol or relational operator)
> Greater than
\ Backslash (integer or word division symbol)
2.4.6 Tipe Data
Setiap variabel dalam BASCOM memiliki tipe data yang menunjukkan
daya tampungnya. Hal ini berhubungan dengan pengguna memori mikrokontroler.
Berikut adalah tipe data pada BASCOM berikut keterangannya.
Tabel 2.6 Tipe Data BASCOM
Tipe Data Ukuran (byte) Range
Bit 1/8 -
Byte 1 0-255
Integer 2 -32,768 - +32,767
Word 2 0 -65535
Long 4 -214748364 - + 2147483647
Single 4 -
2.4.6.1 Var iabel
Variabel dalam suatu pemograman berfungsi sebagai tempat penyimpanan
data sementara, misalnya menampung hasil perhitungan, menampung data hasil
pembacaan register, dan lain sebagainya. Variabel merupakan pointer yang
menunjukan pada alamat memori fisik di mikrokontroler.
Dalam BASCOM, ada beberapa aturan dalam penamaan sebuah variabel:
• Nama variabel maksimum terdiri atas 32 karakter.
• Karakter biasa berupa angka atau huruf.
• Nama variabel harus dimulai dengan huruf.
• Variabel tidak boleh menggunakan kata-kata yang digunakan oleh BASCOM
sebagai perintah, pertanyaan, internal, register, dan nama operator (AND, OR,
DIM, dan lain-lain).
Sebelum digunakan, maka variabel harus dideklarasikan terlebih dahulu. Dalam
BASCOM, ada beberapa cara untuk mendeklarasikan sebuah variabel. Cara
pertama adalah menggunakan pernyataan ‘DIM’ diikuti nama dan tipe datanya.
Contoh pendeklarasian menggunakan DIM sebagai berikut:
Dim nama As byt e
Dim tom bol1 As Integer
Dim tom bol2 As Wor d
Dim tom bol3 As Wor d
Dim tom bol4 As Wor d
Dim kas As s tr ing* 10
Cara mempercepat pendeklarasian sebuah variable yang banyak adalah:
Dim nama As byt e, tom bol1 As Integer
Dim tom bol2 As bit, tom bol4 As Wor d
Cara lain untuk mendeklarasikan sebuah variabel adalah menggunakan
DEFINT, DEFBIT, DEFBYTE, dan atau DEFWORD. Contohnya:
DEFBYTE nama
DEFINT tom bol1
DEFWORD tom bol2 , tom bol3 , tom bol4
Deklarasi di atas berarti nama tipe datanya adalah b yte; tombol1 tipe
datanya adalah integer; tombol2 tombol3, dan tombol4 lalu tipe datanya adalah
word.
2.4.6.2 Alias
Dengan menggunakan alias, variabel yang sama dapat diberikan nama
yang lain. Tujuannya adalah mempermudah proses pemrograman. Umumnya,
alias digunakan untuk menggantikan nama variabel yang telah baku, seperti port
mikrokontroler.
LEDBAR alias P1
tom bol1 alias P0.1
tom bol1 alias P0.2
Dengan deklarasi diatas, perubahan pada tombol1 akan mengubah kondisi P0.1.
2.4.6.3 Konstanta
Dalam BASCOM, selain variabel dikenal pula konstanta. Konstanta
merupakan variabel pula. Perbedaan dengan variabel biasa adalah nilai yang
dikandungnya tetap. Dengan konstanta, kode program dibuat akan lebih mudah
dibaca dan dapat mencegah kesalahan penulisan pada program. Misalnya, akan
agar konstanta bias dikenali oleh program. Berikut adalah cara pendeklarasian
sebuah konstanta.
Dim A Ascont 5
Dim B1 Asconst &B10 0 1
Cara lain yang lebih mudah:
Const cbyt e = &HF
Const cint = - 10 0 0
Const cs ingle = 1.1
Const cstr ing = “ tes t
2.4.6.3 Ar r ay
Dengan array, bisa menggunakan sekumpulan variabel dengan nama dan
tipe yang sama. Untuk mengakses variabel tertentu dalam array, harus
menggunakan indeks. Indeks harus berupa angka dengan tipe data byte, integer,
atau word. Artinya, nilai maksimum sebuah indeks sebesar 65535. Proses
pendeklarasian sebuah array hampir sama dengan variabel, namun perbedaan
mengikutkan jumlah elemennya. Berikut adalah contoh pemakaian array:
Dim kelas (10) As byte
Dim c As integer
For c = 1 to 10
a (c) = c
p1 = a (c)
next
Program diatas membuat sebuah array dengan nama ‘kelas’ yang berisi 10
elemen (1-10) dan kemudian seluruh elemennya diisikan dengan nilai c yang
beruntun. Untuk membacanya, menggunakan indeks di mana elemen disimpan.
Pada program diatas, elemen-elemen array-nya dikeluarkan ke port 1 dari
2.4.7 Oper asi-oper asi dalam BASCOM 8051
Selanjutnya akan membahas cara menggambungkan, memodifikasi,
membandingkan, atau mendapatkan informasi tentang sebuah pernyataan dengan
menggunakan operator-operator yang tersedia di BASCOM. Juga akan
menjelaskan pula bagaimana sebuah pernyataan terbentuk dan dihasilkan dari
operator-operator berikut:
• Oper ator Ar itmatika
Operator digunakan dalam perhitungan. Operator aritmatika meliputi +
(tambah), - (kurang), / (bagi), dan * (kali).
• Oper ator Relasi
Operator berfungsi membandingkan nilai sebuah angka dengan angka
lainnya. Seperti layaknya nilai perbandingan matematika operator relasi
menggunakan lambang-lambang yang hampir sama. Hasilnya dapat digunakan
untuk membuat keputusan sesuai dengan program yang di buat. Operator relasi ini
memiliki lambang yang hampir sama logika arit matematika seperti sama dengan
(=), ataupun lambang pembandingan seperti lebih besar (>) dan lebih kecil (<)
bahkan tidak sama dengan. Tetapi tidak semua lambang aritmatika dilambangkan
sama. Operator relasi meliputi:
Tabel 2.7 Tabel Operator Relasi
Oper ator Relasi Per nyataan
= < > < > < = > = Sama dengan Tidak sama dengan
Lebih kecil dari Lebih besar dari Lebih kecil atau sama dengan Lebih besar atau sama dengan
X =Y X < > Y
• Oper ator Logika
Operator digunakan untuk menguji sebuah kondisi atau memanipulasi
bit dan operasi bolean. Dalam BASCOM, ada empat sebuah operator logika,
yaitu AND, OR, NOT, dan XOR.
Operator logika bisa pula digunakan untuk menguji sebuah byte
dengan pola bit tertentu, sebagai contoh:
Dim A As Byte
A = 6 3 and 19
Pr int A
A = 10 or 9
Pr int A
A < 2 0 xnot 12
Pr int A
A < 2 0 not 12
Pr int A
16
11
• Oper ator Fungsi
Operator yang digunakan untuk melengkapi operator yang sederhana.
2.4.8 Kontr ol Pr ogram
Keunggulan suatu program pada kontrol program. Dengan kontrol
program, akan mengendalikan alur sebuah program dan menentukan apa
yang harus dilakukan oleh sebuah program ketika menemukan kondisi
tertentu. Kondisi program meliputi kontrol pertimbangan kondisi dan
beberapa kontrol program yang sering digunakan dalam pemrograman
dengan BASCOM.
2.4.8.1 If...Then
Dengan pernyataan if…then, dapat mengetes kondisi tertentu, kemudian
menentukan tindakan yang sesuai dengan kondisi yang diinginkan. Sintaksis
penulisannya sebagai berikut:
IF <s yar at kondisi> THEN < per nyat aan >
Sitaksis di atas digunakan jika hanya ada satu kondisi yang diuji dan hanya
melakukan satu tindakan. Jika melakukan lebih dari satu tindakan, maka
sintaksisnya adalah:
IF <s yar at kondisi> THEN
< per nyataan ke- 1>
< per nyataan ke- 2 >
.
.
< per nyataan ke- n>
END IF
2.4.8.2 Select...Case
Perintah Select…Case akan mengeksekusi beberapa blok pernyatan
tergantung pada nilai variabelnya. Perintah mirip dengan perintah if...then, namun
memiliki kelebihan, yaitu kemudahan pada penulisannya. Sintaksisnya sebagai
berikut:
SELECT CASE var iabel
CASE tes t1 : s tatem ents
CASE tes t1 : s tatem ents
CASE ELSE s tat ements
2.4.8.3 While...Wend
Perintah While…Wend akan mengeksekusi sebuah pernyataan secara
berulang ketika masih menemukan kondisi yang sama. Perintah akan berhenti jika
ada perubahan kondisi dan melakukan perintah selanjutnya. Sintaksisnya sebagai
berikut:
WHILE <s yar at kondisi>
WEND <per nyat aan>
2.4.8.4 Do...Loop
Perintah Do...loop digunakan untuk mengulangi sebuah blok pernyataan
terus-menerus. Untuk membatasi perulanganya, dapat menambahkan sebuah
syarat kondisi agar perulangan berhenti dan perintahnya menjadi Do...loop until.
Sintaksisnya sebagai berikut:
Do
<blok per nyataan>
Loop
Dengan per intah Do...loop unt il:
Do
<blok per nyataan>
Loop unt il <syar at kondis i>
2.4.8.5 For ...Next
Perintah For…Next digunakan untuk mengeksekusi sebuah blok
pernyataan secara berulang. Perintah hampir sama dengan perintah Do...loop.
Namun, pada perintah For...Next nilai awal dan akhir perulangan serta tingkat
FOR var = s tar t TO/ DOWNTO end [ STEP value]
<blok per nyataan>
Next
Untuk menaikan nilai perulangan, gunakan To, sedangkan untuk
menurunkan, gunakan Downto. Tingkat kenaikan merupakan pilihan, sehingga
menggunakannya atau tidak. Jika nilai kenaikan tidak ditentukan, maka secara
otomatis BASCOM akan menentukan nilainya, yaitu 1
2.4.8.6 Exit
Perintah Exit digunakan untuk keluar secara langsung dari blok program
For...Next, Do...loop, Sub...Endsub, While...Wend. sintaksis penulisannya adalah:
EXIT [ Do] [ For ] [ while] [ Sub]
2.4.8.7 Gosub
Dengan Gosub, program akan melompat ke sebuah label dan akan
menjalankan program yang ada dalam subrutin sampai menemui perintah return.
Perintah return akan mengembalikan program ke titik setelah perintah Gosub.
Sintaksisnya sebagai berikut:Pr int “coba rutin”
Gosub cabang
Pr int “ Hallo”
END
Cabang:
X = X + 2
X = X + len( HALLO)
Pr i nt X
RETURN
Program di atas pertama-tama akan melakukan perintah pr int ”coba
proses matematika dan pr int x. Kemudian, program akan kembali ke titik semula
dan melakukan perintah pr int ”hallo”.
2.4.8.8 Goto
Perintah GOTO digunakan untuk melakukan percabangan. Perbedaan
dengan GOSUB ialah perintah GOTO tidak memerlukan perintah return, sehingga
program tidak akan kembali ke titik di mana perintah GOTO berada.
2.5 Pemodelan Data
Model Data adalah kumpulan perangkat konseptual untuk menggambarkan
data, hubungan data, semantik (makna) data dan batasan data.
2.5.1 Entity Relationship Diagr am (ERD)
Sesuai dengan namanya, ERD dibentuk dari 2 komponen utama, yakni:
- Entitas (entity)
- Relasi (relation)
Yang dideskripsikan lebih detail dengan sejumlah attribute (properti)
2.5.2 Entitas dan Attr ibut
Entitas (entity), merupakan obyek yang mewakili sesuatu dalam dunia
nyata, baik secara fisik (mobil, rumah, manusia, pegawai dsb) ataupun secara
konsep (department, pekerjaan, mata kuliah dsb) dan dapat dibedakan antara satu
Setiap entitas pasti memiliki attribut yang mendeskripsikan karakteristik
(property) dari entitas tersebut. Penetapan attribut dari sebuah entitas berdasarkan
fakta yang ada atau berdasarkan kebutuhan. Attribut identik dengan kolom data
atau field dalam sebuah tabel.
2.5.3 Relasi
Relasi menayatakan hubungan antar entitas termasuk terhadap entitas itu
sendiri (rekursif).
a. Der ajat Kar dinalitas r elasi (Cardinality Ratio)
Kardinalitas relasi menunjukkan jumlah maksimum data entitas yang
dapat berelasi dengan entitas lain.
b. Satu ke satu (one to one)
Setiap data pada entitas A berhubungan dengan maksimal satu data pada
entitas B, begitu pula sebaliknya.
c. Satu ke Banyak (one to many)
Setiap data pada entitas A bisa berhubungan dengan banyak data pada
entitas B, tetapi data pada entitas B berhubungan maksimal hanya dengan
sebuah data di A.
d. Banyak ke Satu (many to one)
Merupakan kebalikan dari relasi satu ke banyak.
e. Banyak ke Banyak (many ke many)
Setiap data pada entitas A bisa berhubungan dengan banyak data pada entitas
B, demikian pula sebaliknya. Kardinalitas satu ke banyak maupun banyak ke
2.6 Power Designer
Struktur dari sebuah database tergantung pada model datanya. Banyak
terdapat model data, tetapi yang sering digunakan adalah model Entity
Relationship Diagram ( ERD ), dimana dengan ERD akan diterjemahkan konsep
database tentang sistem yang ada. Dengan power Designer terdapat notasi
tersendiri untuk memperjelas hubungan antar tabel. Beberapa notasi dasar pada
Power Designer :
Tabel 2.8 Bentuk Notasi dalam Power Designer
No Nama Notasi Bentuk Notasi Keter angan
1 Entitas
2 Relasi Rel ationship_1
Rel ationship_1 One-to-Many One-to-One Rel ationship_1 Relationship_1 Many-to-One Many-to-Many
3 Atribut Tag <pi>
menunjukkan
primeri key dan tag
<M> menunjukkan
mandatory.
Dalam Power Designer terdapat empat macam pemodelan yaitu :
CDM memodelkan struktur logis dari aplikasi data, tanpa tergantung pada
software DBMS atau model struktur data.
• Physical Data Model ( PDM )
PDM merupakan representasi fisik dari database yang akan dibuat dengan
mempertimbangkan DBMS yang akan digunakan, PDM dapat dihasilkan
dengan meng-generate dari CDM yang valid.
• Object Oriented Model ( OOM )
OOM memodelkan sistem dari software dengan menggunakan pendekatan
berorientasi objek untuk sebuah bahasa pemrograman. OOM yang valid dapat
dikonversi ke CDM atau PDM.
• Business Process Model ( BPM )
BPM memodelkan sarana untuk penyelesaian satu atau beberapa proses dalam
konsep praktek bisnis.
2.7 Definisi MySQL
Menurut Har is Saputro (2003) mengemukakan bahwa MySQL
merupakan database server dimana pemrosesan data terjadi di server, dan client
hanya mengirim data serta meminta data. Oleh karena pemprosesan 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
MySQL termasuk dalam kategori database manajemen sistem, yaitu database yang terstruktur dalam pengolahan dan penampilan data. Sejak
komputer dapat menangani data yang besar, database manajemen sistem
memegang peranan yang sangat penting dalam pengolahan data. Hal ini sangat
diperlukan, karena data tersebut dapat diatur sesuai dengan kebutuhan
pemakainya. MySQL merupakan Relational Database Manajemen Sistem
(RDBMS) yaitu hubungan antar tabel yang berisi data-data pada suatu database.
Hal tersebut lebih baik daripada jika semua data terkumpul menjadi satu dalam
satu tabel. Kelebihan hal di atas, yaitu 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.7.1 Pr ogr am 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
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. Kita dapat menggunakan bahasa pemrograman
tersebut untuk berinterakasi maupun berkomunikasi dengan MySQL, atau
dapat juga digunakan sebagai komponen pembentuk antarmuka (interface)
dari suatu database MySQL.
• Koneksi, kecepatan, dan keamanan membuat MySQL sangat cocok diterapkan
untuk pengaksesan database melalui internet, dengan menggunakan bahasa
pemrograman Perl atau PHP sebagai antarmukanya.
• 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 kita 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
sistem perizinan yang khusus serta password yang dimiliki setiap user dalam
bentuk data terenkripsi.
• MySQL merupakan software database yang bersifat free atau gratis, jadi kita
tidak perlu mengeluarkan uang untuk pembelian lisensi aplikasi database ini
kepada pembuat ataupun developer software. Hal ini sangat berbeda jika kita
menggunakan software database seperti IBM DB@, SQL SERVER ataupun
Oracle, karena kita harus membayar mahal untuk mendapatkan lisensinya.
2.8 Visual Basic 6.0
MS Visual Basic 6.0 for windows adalah bahasa pemrograman yang
bekerja dalam sistem operasi Microsoft Windows. VB dapat memanfaatkan
kemampuan MS-Windows secara optimal. Aplikasi ini menggunakan kata visual
dikarenakan pelopor tampilan yang mudah dipahami.
Sampai tahun 2005, versi VB terakhir adalah Micosoft Visual Basic 2005,
yang dalam versi beta disebut dengan kode “Wwidbey”. VB versi 6 sendiri di
Indonesia masih banyak digemari programmer karena tidak membutuhkan
persyaratan spesifikasi hardware yang tinggi dan paketnya cukup ringkas
sehingga program mudah dipakai. Dan beberapa alasan lainnya.
Kata “Basic’ merupakan bagian bahasa BASIC (Beginners All Purpose
Symbolic Instruction Code), yaitu sebuah bahasa pemprograman yang dalam
sejarahnya sudah banyak digunakan oleh para programer untuk menyusun
aplikasi. Visual Basic dikembangkan dari bahasa pemrograman BASIC dan
sekarang berisi banyak statemen, fungsi, dan keyword, yang beberapa diantaranya
2.9 Flowchart
Flowchart merupakan metode untuk menggambarkan tahap-tahap
pemecahan masalah dengan merepresentasikan simbol-simbol tertentu yang
mudah dimengerti, mudah digunakan dan standart.
Tujuan utama penggunaan flowchart adalah untuk menggambarkan suatu tahapan
penyelesaian masalah secara sederhana, terurai, rapi dan jelas dengan
menggunakan simbol-simbol yang standart. Tahap penyelesaian masalah yang
disajikan harus jelas, sederhana, efektif dan tepat.
Berikut ini adalah gambar dari simbol-simbol standart yang digunakan pada
program flowchart.
Proses / Perintah Input / Output Procedure
Pengujian Display Awal / Akhir Flowchart
Konektor pada
satu halaman
Konektor pada
lain halaman
Arah
Pada pengambaran program flowchart, ada dua jenis metode, yaitu conceptual
flowchart dan detail flowchart. Conceptual flowchart mengambarkan tentang
alur dari suatu pemecahan masalah secara globlal saja, sedangkan detail flowchart
menggambarkan alur pemecahan masalah secara rinci.
Contoh detail flowchart sebagai berikut :
2.10 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 [II].
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 Start
End For I=1 to jml
Input jml
I = I +1 Print I
End for
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.10.1 Konsepsi Dasar UML
Dari berbagai penjelasan secara panjang lebar yang tertulis secara
mendetail di dokumen dan buku-buku UML. Untuk mempermudah dalam
memahami teori UML sebenarnya konsepsi dasar UML bisa dirangkumkan secara
garis besar dalam tabel dibawah.
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
• Menguasai langkah-langkah dalam analisa dan pengembangan dengan 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.10.2 Use Ca se Diagr am
Use case diagram menggambarkan fungsionalitas yang diharapkan dari
sebuah sistem. Yang ditekankan adalah “apa” yang diperbuat sistem, dan bukan
dengan sistem. Use case merupakan sebuah pekerjaan tertentu, misalnya login ke
sistem, meng-create sebuah daftar belanja, dan sebagainya.
Seorang/sebuah aktor adalah sebuah entitas manusia atau mesin yang
berinteraksi dengan sistem untuk melakukan pekerjaan-pekerjaan tertentu. Use
case diagram dapat sangat membantu bila sedang menyusun requirement sebuah
sistem, mengkomunikasikan rancangan dengan klien, dan merancang test case
untuk semua feature yang ada pada sistem. Sebuah use case dapat meng-include
fungsionalitas use case lain sebagai bagian dari proses dalam dirinya. Secara
umum diasumsikan bahwa use case yang di-include akan dipanggil setiap kali use
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 :
2.10.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.
Class memiliki tiga area pokok :
• 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.14 Public Dalam Class
Class dapat merupakan implementasi dari sebuah interface, yaitu class abstrak
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. Gambar 2.15 Run-time Dalam Class
• 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.17 Contoh Class Diagram
2.10.4 Statechar t 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
Titik