PENGENDALI UTAMA PADA PEMODELAN
RUMAH PINTAR BERBASIS VISUAL BASIC 6.0
TUGAS AKHIR
Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik Elektro
Disusun oleh :
Eva Marta Riyana
NIM : 025114009
PROGRAM STUDI TEKNIK ELEKTRO
FAKULTAS TEKNIK
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
BASED ON VISUAL BASIC 6.0
A FINAL PROJECT
Submitted For The Partial Fulfillment Of The Requirements For The Degree Of Electrical Engineering Of
Electrical Engineering Program Study
By :
Eva Marta Riyana
NIM : 025114009
ELECTRICAL ENGINEERING STUDY PROGRAM
FACULTY OF ENGINEERING
SANATA DHARMA UNIVERSITY
YOGYAKARTA
“ Saya menyatakan dengan sesungguhnya bahwa TA yang saya tulis ini tidak memuat karya atau bagian karya orang lain, kecuali yang telah disebutkan di dalam daftar pustaka sebagaimana layaknya sebuah karya ilmiah “
Yogyakarta,…. Pebruari 2007 Penulis
“Percayalah kepada TUHAN dengan segenap hatimu, dan janganlah
bersandar kepada pengertianmu sendiri”
(Amsal 2:5)
“Apapun juga yang kamu perbuat, perbuatlah dengan segenap hatimu seperti
untuk TUHAN dan bukan untuk manusia”
Puji dan syukur penulis hanturkan kepada Tuhan Yesus Kristus atas berkat, rahmat dan bimbinganNya sehingga penulis dapat menyelesaikan Tugas Akhir ini dengan baik. Dalam penulisan Tugas Akhir ini penulis banyak mendapat bantuan, sehingga laporan ini dapat selesai pada waktunya. Oleh karena itu pada kesempatan ini penulis ingin menyampaikan ucapan terima kasih yang sebesar-besarnya kepada orang tuaku (Alm) Th. Miniasih, (Alm) Syachril Thalib; ELWI; kakak-kakakku Irwan Subrata, Dewi Ariani; serta Keponakanku Candra dan Karin tersayang yang terus mendukung sampai diselesaikannya Tugas Akhir ini.
Pada kesempatan ini penulis mengucapkan banyak terima kasih kepada:
1. Bapak Ir. Tjendro atas ide-ide, nasehat dan bimbingannya selama penyusunan Tugas Akhir ini.
2. Bapak Martanto, S.T, M.T atas bimbingannya selama penyusunan Tugas Akhir ini..
3. Pimpinan Fakultas Teknik, Ketua Jurusan Teknik Elektro beserta Staf Dosen dan karyawan.
4. ELWI yang sudah mendukungku dikala aku jatuh dan kasih sayangnya serta perhatian yang tak henti-hentinya.
5. Bapak KETUT sekeluarga, TIKA dan Lina Faniwati (cie Fang-fang), terimakasih atas dukungan moral dan apapun yang diberikan pada saya.
6. Adik ku DINA, makasih buat pinjaman komputer serta dukungan yang tiada henti dan Teman Baik ku yang selalu ada buat aku “BUTET”.
7. Teman-teman seperjuangan “ANDRI, GALUH, NENDI”
8. Staff Perpustakaan Universitas Sanata Dharma Yogyakarta, Terutama untuk mbak NING makasih buat dukungan serta nasihatnya.
9. Teman-teman P3W LENTA, ELLEN, TH, DORA, VIA, ARI.
telah membantu bertukar pikiran juga memberikan dorongan semangat dalam susah dan bahagia.
Tugas Akhir ini baru permulaan dan masih perlu banyak pembenahan. Oleh karena itu kritik dan saran yang membangun dari semua pihak diterima penulis dengan senang hati. Harapan penulis semoga Tugas Akhir ini bermanfaat bagi para pembacanya.
Yogyakarta,….. Pebruari 2007
HALAMAN JUDUL DALAM BAHASA INDONESIA …….……….… i
HALAMAN JUDUL DALAM BAHASA INGGRIS ….…..…...……….… ii
HALAMAN PERSETUJUAN ………..………...………. ii
HALAMAN PENGESAHAN ……….…. iv
HALAMAN PERNYATAAN KEASLIAN KARYA ……….………..… v
HALAMAN PERSEMBAHAN ………...………...…. vi
MOTTO ………...… vii
KATA PENGANTAR ………..………...…...…...……. viii
DAFTAR ISI ……….………..….…. x
DAFTAR GAMBAR ………..……… xii
DAFTAR TABEL ………...………. xv
INTISARI ………... xvi
ABSTRACT ………..… xvii
BAB I. Pendahuluan 1.1 Judul ………..……….... 1
1.2 Latar Belakang Masalah ………..…….… 1
1.3 Tujuan dan Manfaat Penelitian ………..…….….. 2
1.4 Batasan Masalah ………..…….… 2
1.5 Metodologi Penelitian ………..….… 3
BAB II. Dasar Teori 2.1 Visual Basic 6.0 ………...…. 4
2.1.1 Visual Basic 6.0 Enterprise Edition ………...…... 5
2.1.2 Pemrograman Visual Basic 6.0 ………...….. 6
2.1.2.1 Variabel………7
2.1.2.2 Kontrol Program ……….... 8
2.2.1 Karakteristik Sinyal Port Serial………..………. 17
2.2.2 Konfigurasi Port Serial ………... 18
2.3 RS – 232………..… 20
2.4 Bluetooth ……… 20
2.4.1 Pengertian Bluetooth……… 20
2.4.2 Aplikasi dan Layanan ………. 21
2.4.3 Diskripsi Umum Sistem Bluetooth ………. 22
2.4.4 Spread Spectrum ………. 23
2.4.5 Karakteristik Radio ………. 25
2.4.6 Komunikasi RF Pada Spektrum Frekuensi 2.4 Ghz ………...…… 26
2.4.7 Time Slot ………. 27
2.4.8 Protokol Bluetooth ……….. 28
2.4.9 TM-306 Bluetooth USB Dongel ………. 30
BAB III. Rancangan Penelitian 3.1 Perancangan Layout ……….... 31
3.2 Perancangan Piranti Lunak Pusat Pengendali Pada Pemodelan Rumah Pintar……… 31
3.2.1 Menu Password………...………. 33
3.2.2 Menu Informasi ………... 36
3.2.2.1Informasi Lampu ……….. 36
3.2.3 Pengendali Sistem Keamanan ………...…….. 39
3.2.4 Pengendalian Arah Putaran Rumah ……… 40
3.2.5 Menu “Help” ……….. 41
3.2.6 Bank data Program ……….. 42
4.2 Program Utama ……….……….. 48
4.3 Menu Informasi ……….…….. 55
BAB V. Kesimpulan dan Saran
5.1 Kesimpulan ……….………. 61
5.2 Saran ………...………. 61
DAFTAR GAMBAR
Gambar 2-1. Pengiriman huruf ‘A’ tanpa bit paritas ………..………….. 16
Gambar 2-2. Level Tegangan RS232 pada pengiriman huruf ‘A’ tanpa bit paritas …. 17 Gambar 2-3. Konektor serial DB-9 pada bagian belakang CPU ……….. 18
Gambar 2-4. Bentuk Gelombang Logic TTL Atau CMOS …….……….…. 20
Gambar 2-5. Bentuk Gelombang Logic RS-232 ……….……….. 20
Gambar 2-6. Contoh Modul Aplikasi Beberapa Bluetooth ………... 22
Gambar 2.7. Blok Fungsional Sistem Bluetooth ……….. 23
Gambar 2.8. Bentuk Format Data Sistem TDMA ……… 25
Gambar 2.9. Time Slot Pada Bluetooth ……….... 27
Gambar 2.10. Layer-Layer Pada Sistem Bluetooth ……….... 29
Gambar 3-1. Perancangan Peralatan ……….……… 31
Gambar 3-2. Flowchart Program Secara Keseluruhan ………..……… 32
Gambar 3-3. Flowchart “Enter Password” pada menu utama pada keadaan default .... 33
Gambar 3-4. Flowchart Proses Membuka Pintu Utama Melalui Bluetooth ……….…. 34
Gambar 3-5. Flowchart menu “ganti password” ……….………….. 35
Gambar 3-6. Flowchart Menu Informasi secara keseluruhan ………... 36
Gambar 3-7. Flowchart Pengendalian Lampu ……….. 37
Gambar 3-8. Pemasangan bluetooth pada model rumah pintar ……….... 38
Gambar 3-9. Flowchart Informasi Keamanan ……….39-40 Gambar 3-10. Flowchart Pengendali Arah Putaran Model Rumah ……….... 41
Gambar 3-11. Flowchart Fungsi Menu “HELP” ……….… 42
Gambar 3-12. Flowchart Bank data Informasi ………... 43
Gambar 3-13 . Flowchart “LOG OUT” ………... 44
Gambar 4-1. Tampilan “Masukkan Password” ………...……….. 46
Gambar 4-2. Tampilan “Bank Data” ………. 47
Gambar 4-3. Tampilan “Program Utama” ……… 48
Gambar 4-4. Posisi pemodelan rumah saat keadaan default ………. 49
Gambar 4-8. Data alarm aktif yang dikirim oleh program ... 53
Gambar 4-9. Tampilan bank data saat alarm aktif, dengan jendela tertutup dan pendeteksi asap tidak aktif ... 54
Gambar 4-10. Menu informasi ……… ………... 55
Gambar 4-11. Tampilan hyper terminal saat program meminta status lampu pada pengendali lampu ………. 56
Gambar 4-12. Tampilan “Bank data” saat menerima data dari pengendali lampu otomatis ………56
Gambar 4-13. Tampilan “Menu informasi” menampilkan status lampu yang menyala . 57 Gambar 4-14. Tampilan model rumah saat semua lampu menyala ……….... 57
Gambar 4-15. Menu “Ganti Password” ………... 59
Gambar 4-16. Tampilan “Akses” ……… 59
Tabel 2-1. Tipe data pada Visual Basic 6.0 ……….…... 7
Tabel 2-2. Deklarasi implisit ………... 8
Tabel 2-3. Fungsi-fungsi Manipulasi String ……….… 12
Tabel 2-4. Fungsi-fungsi Konversi Data ………... 13
Tabel 2-5. Operator Matematik ………. 14
Tabel 2-6. Operator Perbandingan ………...……..14
Tabel 2-7. Operator Logika ………... 15
Tabel 2-8. Konfigurasi pin dan nama sinyal konektor serial DB-9 ……….. 18
Tabel 2-9. Nama register yang digunakan beserta alamatnya ………... 19
Tabel 2-10. Karakteristik Radio Bluetooth Sesuai Dengan Dokumen Bluetooth SIG 26 Tabel 2-11. Batas Frekuensi Serta Kanal RF Yang Digunakan Oleh Beberapa Negara ……….……. 27
Tabel 2-12. Protokol-Protokol Dan Layer-Layer pada Stack Protokol Bluetooth …. .28 Tabel 3-1. Tabel data yang dikirim/diterima serial pada pengendalian lampu ……. 38
Tabel 3-2. Data yang dikomunikasikan secara serial ………...………. 39
Tabel 3-2. Tabel data yang dikirim untuk menentukan arah mata angin ………….. 41
Tabel 4-1. Tabel posisi pemodelan rumah pintar dan tampilan program ……… 49-51 Tabel 4-2. Kondisi keamanan rumah yang mungkin terjadi pada model rumah ….. 54
Intisari
“Home Sweet Home” dari peribahasa ini dapat diketahui bahwa rumah merupakan pusat kegiatan, tempat berkumpul, dan tempat untuk saling berbagi dengan seluruh anggota keluarga. Dengan demikian kenyamanan, keamanan, merupakan faktor penting yang harus ada di dalam rumah. Bahkan di jaman yang semakin modern ini, gaya hidup, keefisienan menjadi salah faktor yang di perhitungkan oleh pemilik rumah. Oleh karena, dalam penelitian ini dibuat sebuah pemodelan rumah otomatis, yang diharapkan bisa memenuhi faktor-faktor di atas. Dalam pengoperasian rumah ini di butuhkan piranti lunak yang mendukung dalam penggunaannya, yaitu dengan membuat piranti lunak yang “user friendly”. Pembuatan piranti lunak ini menggunakan bahasa pemrograman Visual Basic 6.0.
Fakor keamanan pada program ini didukung dengan adanya password pada program, maupun password yang di kirim melalui bluetooth.Dalam program pengendali rumah pintar ini, yang dapat dikendalikan antara lain adalah perputaran rumah, alarm (aktif atau tidak). Selain itu program ini juga menampilkan informasi keadaan rumah pintar, informasi yang ditampilkan berupa satus pintu, satus alarm, status arah putaran rumah. Informasi yang didapatkan merupakan proses komunikasi serial dengan mikrokontroler pada rumah pintar.
Pengendalian Password melalui bluetooth akan membuka pintu secara otomatis. Dengan pemilihan menu pada program utama dapat mengendalikan arah putaran rumah dan otomatisasi alarm. Pada menu tambahan ditampilkan status informasi keadaan rumah pintar.
Kata Kunci:
Abstract
“Home Sweet home” from this proverb we know that home is a center of activity, a place to share with our family. So, pleasant and secure is an important factor in every home. Even in this modern period, life style and efficiency are important factor too. Because of that, are needed a home which have a factor like on top. From the research, can make a modeling from that home. To operate this home needed a “user friendly” software. The making of this software using Visual basic 6.0 language.
A security factor in this program are support password in a program, although password are sending from bluetooth. All information constitute serial comminucation with microcontroler at smart home modeling.
Password control from bluetooth it will open the door automatically. Home direction and alarm can be control in main menu. Information menu show every change in smart home modeling.
Keyword:
BAB I
PENDAHULUAN
1.1
Judul
PENGENDALI UTAMA PADA PEMODELAN RUMAH PINTAR BERBASIS VISUAL BASIC 6.0
1.2
Latar Belakang Masalah
Dalam perkembangan dunia teknologi yang semakin modern, pengaturan secara manual telah digantikan dengan sistem otomatis yang terbukti dapat meningkatkan efisiensi kerja dan waktu. Sistem otomatis ini pun dapat diterapkan dalam kehidupan sehari-hari, bahkan dapat pula diaplikasikan dengan bidang ilmu yang lain.
“Home Sweet Home” dari peribahasa ini dapat diketahui bahwa rumah merupakan pusat kegiatan, tempat berkumpul, dan tempat untuk saling berbagi dengan seluruh anggota keluarga. Dengan demikian kenyamanan, keamanan, merupakan faktor penting yang harus ada di dalam rumah. Bahkan di jaman yang semakin modern ini, gaya hidup, keefisienan menjadi salah faktor yang di perhitungkan oleh pemilik rumah. Oleh karena, dalam penelitian ini dibuat sebuah pemodelan rumah otomatis, yang diharapkan bisa memenuhi faktor-faktor di atas. Dalam pengoperasian rumah ini di butuhkan piranti lunak yang mendukung dalam penggunaannya, yaitu dengan membuat piranti lunak yang “user friendly”. Pembuatan piranti lunak ini menggunakan bahasa pemrograman Visual Basic 6.0.
Piranti lunak pada model rumah pintar akan mengatur sistem keamanan, sistem penerangan, dan sistem rotasi rumah. Selain sistem-sistem tersebut, pada piranti model rumah pintar terdapat sistem pembuka kunci otomatis dengan sistem bluetooth. Solenoid
pada pemodelan rumah pintar akan terbuka (terjadi pemutusan arus) apabila password
ini diharapkan dapat menjadi solusi untuk setiap masalah yang terjadi di dalam rumah, dan menjadikan rumah menjadi benar-benar “Home Sweet Home”
1.3
Tujuan dan Manfaat Penelitian
Tujuan dari penelitian ini adalah membuat sebuah piranti lunak yang gampang digunakan pada model rumah pintar dan piranti lunak yang mengendalikan kunci otomatis dengan menggunakan bluetooth.
Beberapa manfaat yang diharapkan bisa didapatkan dari penelitian ini adalah sebagai berikut:
1. Mempermudah pengaturan model rumah pintar dengan piranti lunak yang user friendly.
2. Memperketat keamanan pada model rumah pintar dengan menggunakan kunci
bluetooth.
3. Bagi masyarakat diharapkan dari penelitian ini dapat menjadi acuan untuk menerapkan sistem model rumah pintar ini dalam rumah yang sesungguhnya, sehingga dapat membantu penghuni rumah untuk menciptakan kemanan, kenyamanan bahkan tuntutan gaya hidup pada jaman modern ini.
1.4
Batasan Masalah
Untuk membatasi masalah pada penelitian “Pengendali utama pada Pemodelan Rumah Pintar Berbasis Visual Basic 6.0”, maka perlu diketahui spesifikasi piranti lunak ini terlebih dahulu. Program ini digunakan untuk pengaturan putaran rumah, menampilkan informasi keadaan lampu, dan menampilkan informasi keamanan rumah (kondisi jendela, pintu dan kondisi detektor asap). Basis dari piranti lunak ini adalah bahasa pemrograman Visual Basic 6.0. Dikomunikasikan secara serial dengan pemodelan rumah pintar. Pada pengiriman kode kunci rumah menggunakan bluetooth (bluetooth
yang dipakai adalah bluetooth dari TEKRAM TM – 306 Bluetooth USB Dongel).
Pengiriman kode menggunakan tipe telefon genggam tertentu yang mempunyai fasilitas
1.5
Metodologi Penelitian
Laporan tugas akhir ini ditulis berdasarkan hasil perancangan, pengamatan dan penelitian yang telah dilakukan. Metodologi penulisan ini terdiri dari:
- Perumusan masalah.
- Pengumpulan dokumen pendukung.
- Perancangan untuk menyelesaikan masalah.
- Pengambilan data melalui percobaan dan pengamatan.
BAB II
DASAR TEORI
2.1.
Visual Basic 6.0
Visual Basic 6.0 (atau yang sering di singkat VB 6.0) adalah perangkat lunak untuk menyusun program aplikasi yang bekerja dalam lingkungan sistem operasi
Windows [1]. Visual Basic 6.0 menggunakan bahasa pemrograman even drive, program menunggu sampai adanya respon dari pemakai yang berupa kejadian tertentu, misal tombol diklik, objek mendapatkan fokus, kehilangan fokus, dan lain sebagainya. Dengan kecanggihan yang ditawarkan oleh Visual Basic 6.0 kita akan merasakan begitu mudahnya menyusun program aplikasi dengan tampilan grafis yang menawan. Tiga edisi
Visual Basic 6.0 yang dikeluarkan oleh Microsoft ialah Standard Edition, Profesional Edition dan Enterprise Edition. Berikut ini adalah penjelasan tentang ketiga edisi tersebut.
1. Standard Edition
Standard Edition sangat tepat bagi pemula yang ingin mempelajari Visual Basic 6.0.
Program ini memiliki fasilitas sebagai berikut:
- Kemampuan aplikasi 32 bit yang berjalan pada Microsoft Windows 9x dan Windows NT untuk pemula.
- Terdiri atas kontrol – kontrol, seperti grid, tab dan data bound. - Termasuk Learn Visual Basic Now dan Online Help.
- Microsoft Developer Network CD yang berisi dokumentasi. 2. Profesional Edition
Digunakan oleh profesional canggih yang sudah cukup mendalami Visual Basic 6.0.
Tidak terdapat banyak perbedaan dengan Standard Edition, hanya ada beberapa tambahan yaitu:
a. ActiveX Control, termasuk Internet Control. b. IIS (Internet Information Server).
3. Enterprise Edition
Untuk membuat aplikasi yang bersifat server based. Program – program aplikasi standard dapat berjalan baik jika menggunakan versi ini. Fasilitas tambahannya yaitu:
a. Aplikasi Performance Explorer.
b. Pendukung Microsoft Transaction Server 2.0. c. Visual Component Manager.
d. SQL (Structured Query Language) Debugging. e. Visual Database Tool.
2.1.1 Visual Basic 6.0 Enterprise Edition
Ada 13 jenis proyek yang bisa dibuat dengan menggunakan Visual Basic 6.0
Enterprise Edition, yaitu: 1. Standard EXE
Proyek Standard EXE merupakan proyek yang paling umum digunakan. Proyek ini manghasilkan file EXE yang dapat eksekusi secara langsung. Proyek jenis ini langsung dilengkapi dengan form.
2. ActiveX EXE
Proyek ActiveX EXE digunakan untuk membuat komponen ActiveX yang bisa dieksekusi secara langsung.
3. ActiveX DLL
Proyek ActiveX DLL digunakan untuk membuat komponen ActiveX yang berupa DLL (Dynamic Link Library).
4. ActiveX Control
Proyek ActiveX Control digunakan untuk membuat kontrol ActiveX, yaitu komponen yang dapat disisipkan dari suatu program aplikasi.
5. VB Application Wizard
6. VB Wizard Manager
Proyek VB Wizard Manager digunakan untuk membangun sebuah wizard, yakni kumpulan informasi dari pengguna yang akan dikumpulkan untuk membangun sebuah aplikasi.
7. Data Project
Proyek ini identik dengan jenis proyek STANDARD EXE, namun disini kontrol untuk akses database langsung ditambahkan secara otomatis.
8. IIS Aplication
Proyek ini digunakan untuk membangun sebuah aplikasi yang akan dijalankan pada web server IIS (Internet Information Server).
9. Addin
Dengan proyek Addin, anda dapat membuat add-ins baru. Add-ins merupakn perintah yang dapat ditambahkan pada menu Visual Basic.
10.ActiveX Document DLL
Proyek ini akan menghasilkan sebuah dokumen ActiveX, dalam format DLL. 11.ActiveX Document EXE
Proyek ini akan menghasilkan sebuah dokumen ActiveX, dalam format EXE 12.DHTML Application
DHTML ( Dynamic Hypertext Markup Language) Application merupakan jenis proyek yang memudahkan untuk membuat satu halam DHTML.
13.VB Enterprise Edition Control
Proyek ini pada dasarnya sejenis dengan proyek STANDARD EXE, hanya disini semua tool untuk Visual Basic 6.0 Enterprise Edition akan diaktifkan.
2.1.2
Pemrograman Visual Basic 6.0
sendiri, Visual Basic 6.0 juga telah menyediakan banyak sekali fungsi – fungsi yang siap pakai. Fungsi ini dapat dipakai hanya dengan memanggil nama fungsi tersebut beserta argumennya yang harus dilewatkan. Print dan InputBox merupakan salah satu contoh fungsi yang disediakan oleh Visual Basic 6.0 yang sering dipakai. Pada pemrograman
Visual Basic 6.0 terdapat kontrol seperti If….Then….Else, Select….Case, Do….Loop, For….Next, GoTo dan Exit yang memudahkan dalam membuat suatu program. Selain itu pada pemrograman Visual Basic 6.0 juga telah tersedia beberapa operator yang dapat digunakan yaitu operator matematik, operator perbandingan dan operator logika.
2.1.2.1 Variabel
Dalam melakukan pemrograman akan selalu memerlukan tempat penyimpanan data, misalnya untuk menampung data hasil perhitungan, menampung data hasil pembacaan register, atau lainnya. Tempat penyimpanan itu dinamakan Variabel yang merupakan pointer yang menunjuk pada alamat memori fisik tertentu di komputer.
a. Tipe Data dan Deklarasi Variabel
Tabel 2-1. Tipe data pada Visual Basic 6.0 [2] Tipe Data Ukuran Byte Range
Integer 2 byte -32.768 sampai 32.767
Long Integer 4 byte -2.147.483.648 sampai 2.147.483.647 Single-precision
floating point
4 byte -3,402823 E38 sampai 3,402823 E38 Double-precision
floating point
8 byte -1,79769313486232 D308 sampai 1,79769313486232 D308
Currency 8 byte -922337203685477,5808 sampai
922337203685477,5807 String 1 byte per karakter 0 sampai 65.535
Boolean 2 byte True atau False
Date 8 byte 1 januari 100 sampai 31 Desember 9999
Byte 1 byte 0 sampai 255
Variant 16 byte untuk angka, 22 byte + 1 byte per karakter untuk string
Semua tipe data
Berkut ini adalah tipe data pada Visual Basic 6.0 beserta ukuran byte dan range
tipe data tersebut. Tipe data ditunjukkan pada tabel 2-1.
Pada Visual Basic 6.0 terdapat dua cara untuk mendeklarasikan sebuah variabel, yaitu dengan cara deklarasi eksplisit dan deklarasi implisit. Deklarasi eksplisit menggunakan pernyataan “DIM” diikuti nama dan tipe datanya, sedanglan deklarasi implisit menggunakan simbol di belakang nama variabel yang merepresentasikan tipe data yang digunakan.
Contoh penggunaan deklarasi eksplisit:
Dim Nama As String
Dim Angka As Integer
Pada Deklarasi implisit digunakan simbol yang merepresentasikan tipe data yang digunakan. Tabel 2-2 adalah tabel simbol yang digunakan dan contoh pemakaiannya.
Tabel 2-2. Deklarasi implisit [2]
Tipe Data Simbol karakter Contoh pemakaian
Integer % Angka%=100
Long Integer & Angka&=2147483647
Single ! Angka!= 2147483647000
Double # Konstanta_Pi#=3.1415926535
Currency @ Saldo@=1000.50
String $ Nama$=”pipit”
2.1.2.2 Kontrol Program
Kontrol program pada Visual Basic 6.0 meliputi kontrol pertimbangan kondisi dan keputusan , kontrol pengulangan serta kontrol penyaluran alternatif. Dan kontrol-kontrol nya adalah sebagai berikut:
a. If……Then
Pernyataan ini adalah untuk mentes suatu kondisi tertentu dan kemudian menentukan suatu tindakan jika kondisi tersebut di penuhi. Sentak penulisan:
If <syarat kondisi> Then <Pernyataan>
Bisa juga, jika menggunakan multiple-line, sebagai berikut:
If <syarat kondisi> Then
<pernyataan kedua>
•
•
<pernyataan ke-n>
End If
b. If…..Then…..Else
Pernyataan ini hampir sama dengan pernyataan If…Then, yaitu digunakan untuk mentes kondisi tertentu. Hanya saja, jika suatu kondisi tidak terpenuhi, maka alur program akan mengeksekusi pernyataan yang lain. Berikut sentak
penggunaanya:
If <syarat kondisi 1> Then
<blok Pernyataan pertama>
ElseIf <syarat kondisi 2> Then
<blok Pernyataan kedua>
•
•
ElseIf <syarat kondisi n> Then
<blok Pernyataan ke-n>
Else
<blok Pernyataan >
End If
c. Select …. Case
Pada dasarnya perintah ini sama dengan perintah If …. Then …. Else, yaitu akan mengeksekusi satu blok pernyataan dari beberapa pilihan blok pernyataan. Hanya saja penulisannya lebih ringkas dan lebih mudah dimengerti. Sentak penulisannya adalah sebagai berikut:
Select Case <kondisi yang diuji>
Case <syarat kondisi 1>
<blok pernyataan pertama>
Case <syarat kondisi 2>
•
•
Case Else
<blok pernyataan ke-n>
End Select
d. Do …. Loop
Perintah Do …. Loop digunakan untuk perulangan suatu blok pernyataan sampai dipenuhi syarat kondisi yang ditetapkannya. Sentak penulisannya adalah sebagai berikut:
Do While <syarat kondisi> <blok pernyataan>
Loop
e. For …. Next
Perintah ini sama dengan melakukan perulangan seperti perintah Do …. Loop, tetapi dengan For …. Next bisa ditentukan nilai awal dan nilai akhir perulangan serta nilai kenaikannya. Sentak penggunaanya adalah sebagai berikut:
For <nama_variabel> = <nilai_awal> To
<nilai akhir> [Step <nilai_kenaikan>]
<blok pernyataan>
Next [<nama_variabel>]
f. GoTo
Perintah GoTo digunakan untuk melakukan percabangan ke suatu baris label tertentu. Dengan perintah GoTo, program dapat langsung melompat ke baris tertentu sehingga kode-kode program yang dilewatinya tidak akan dieksekusi. Sentak penulisannya adalah sebagai berikut:
GoTo <nama_label>
<blok pernyataan>
<nama_label>:
tertentu jika ditemui error. Error dapat terjadi karena kesalahan logika program kita, kesalahan perhitungan (misal pembagian dengan nol), kesalahan yang disebabkan oleh perangkat keras, maupun kesalahan lainnya. Penanganan error dalam programan adalah sangat penting karena error dapat menyebabkan program berhenti dan dapat menyebabkan komputer menjadi hang. Sentak penulisannya adalah sebagai berikut:
On Error GoTo <nama_label> <blok pernyataan>
<nama_label>:
g. Exit
Perintah exit digunakan untuk keluar secara langsung dari blok program For …. Next, Do …. Loop, Sub Procedure, atau Function Procedure. Sentak
penulisannya adalah sebagi berikut:
f. Exit Do, digunakan untuk keluar dari blok program Do …. Loop g. Exit For, digunakan untuk keluar dari blok program For …. Next h. Exit Sub, digunakan untuk keluar dari sub procedure
i. Exit Function, digunakan untuk keluar dari Function Procedure 2.1.2.3 Prosedur
Blok-blok komponen yang lebih kecil dari pecahan program disebut prosedur. Prosedur sangat berguna dalam penggunaan tugas yang sama secara berulang-ulang. Dengan prosedur akan lebih mudah men-debug program karena dapat melakukan pengujian per prosedur.
a. Sub Procedure
Sub Procedure adalah blok kode yang dijalankan sebagai tanggapan atas terbentuknya even, baik even itu merupakan even pemanggilan dari prosedur lain maupun even yang yang terjadi dari pemakaian program, misal even penekanan tombol kiri mouse. Sentak penulisannya adalah sebagai berikut:
[private/public] [Static] Sub
<nama_prosedur> (argumen)
<blok pernyataan>
b. Function Procedure
Function Procedure sebenarnya hampir sama dengan sub procedure, tetapi Function Procedure ini akan mengembalikan nilai tertentu setelah pemanggilannya. Sentak penilisannya adalah sebagai berikut:
[private/Public] [Static] Function
<nama_prosedur> (argumen) [As tipe data]
<blok pernyataan>
End sub
Ada beberapa fungsi disediakan oleh Visual Basic 6.0 yang sering digunakan dalam pemrograman, antara lain:
1. Fungsi-fungsi Manipulasi String
Tabel 2-3. Fungsi-fungsi Manipulasi String [2]
Nama fungsi Keterangan Contoh penggunaan
Len Menentukan panjang sebuah string Len (“Pipit”) Menghasilkan 5 Ucase Mengubah huruf string menjadi huruf
besar.
Ucase (“Pipit”)
Menghasilkan “PIPIT” Lcase Mengubah huruf string menjadi huruf
kecil.
Len (“PIPIT”)
Menghasilkan “pipit” Right Menghasilkan karakter yang dihitung
dari sisi kanan string.
Right (“abcdefg”,3) Menghasilkan “efg” Left Menghasilkan karakter yang dihitung
dari sisi kiri string.
Left (“abcdefg”,3) Menghasilkan “abc” Mid
Menghasilkan karakter yang dihitung dari tengah-tengah string dimulai dari titik awal tertentu.
Mid (“abcdefg”,3,3) Menghasilkan “cde” String Mengulangi karakter string String (3,”a”)
Menghasilkan “aaa” Asc Menghasilkan kode ASCII tertentu. Asd (“A”)
Menghasilkan 65 Chr Menghasilkan karakter untuk kode
ASCII.
Chr $ (65) Menghasilkan “A” Trim Menghasilkan karakter dengan
menghilangkan karakter space-nya.
Trim$(“ <a> ”) Menghasilkan “<a>” Str Menghasilkan karakter yang
mempresentasikan angka numerik.
Str$(-12.34)
Menghasilkan “-12.34” InStr Mencari titik awal dari sebuah string
dalam string besar.
InStr (“abcdf”, “cd”) Menghasilkan 3 Val Menghasilkan angka numerik yang
terkandung dalam string.
Fungsi-fungsi dalam kelompok menipulasi string ini biasa digunakan untuk tugas-tugas yang berhubungan dengan pemrosesan string. Pada tabel 2-3 merupakan fungsi-fungsi tersebut dan contoh penggunaannya. 2. Fungsi-Fungsi Konversi Data
Fungsi-fungsi dalam kelompok konversi data ini biasa digunakan untuk konversi data.
Tabel 2-4. Fungsi-fungsi Konversi Data [2] Nama
fungsi Keterangan Contoh Penggunaan
CInt
Mengembalikan nilai integer dan membulatkan pecahan ke integer tertinggi.
Cint (“12.34”) ‘Menghasilkan 12 CStr Mengembalikan nilai string. CStr (12.34)
‘Menghasilkan “12,34” Cbyte Mengembalikan nilai byte, nilai
maksimumnya adalan 255.
Cbyte (“12.5”) ‘Menghasilkan 13
Fix
Memotong bagian fraksial, tetapi untuk bilangan negatif akan mengembalikan nilai yang lebih besar atau sama dengan bilangan tersebut. Fix (1.23) ‘Menghasilkan 1 Fix (-1.23) ‘Menghasilkan –1 Int
Memotong bagian fraksial, tetapi untuk bilangan negatif akan mengembalikan nilai yang lebih kecil atau sama dengan bilangan tersebut. Int (1.23) ‘Menghasilkan 1 Int (-1.23) ‘Menghasilkan –2 Hex
Mengembalikan nilai heksa-desimal dari nilai numerik yang dilewatkan.
Hex (10) ‘Menghasilkan “A”
2.1.2.4 Operator
a. Operator Matematik
Operator matematik digunakan untuk meakukan operasi perhitungan matematik. Dalam Visual Basic 6.0, jika suatu ekspresi mempunyai operator lebih dari satu kategori, maka operator matematik yang akan dievaluasi lebih dahulu dilanjutkan dengan operator perbandingan, dan yang terakhir operator logika. Tabel 2-5 adalah operator matematik dimulai dari hirarki paling tinggi ke paling rendah.
Tabel 2-5. Operator Matematik [2]
Operator Operasi Contoh Pemakaian ^ Pemangkatan Nilai%=2^2 ‘Menghasilkan 4
- Tanda Negatif Nilai%=-5
‘Menghasilkan angka –5
*,/ Perkalian dan pembagian Nilai%=(2*6)/4 ‘Menghasilkan 3 \ Pembagian integer Nilai%=10\3 ‘Menghasilkan 3 Mod Modulus (sisa pembagian) Nilai%=10 mod 3
‘Menghasilkan 1 +,- Penambahan dan pengu
rangan
Nilai%=10+3-2 ‘Menghasilkan 11 & Penggabungan string Teks$=”ab”&”cd”
‘Menghasilkan “abcd” b. Operator Perbandingan
Operator perbandingan digunakan untuk membandingkan suatu ekspresi dengan ekspresi lain yang mengasilkan nilai boolean (False atau True). Tabel 2-6 adalah operator perbandingan pada Visual Basic 6.0.
Tabel 2-6. Operator Perbandingan [2]
Operator Operasi Contoh Pemakaian
= Sama dengan Nilai = (2+1) = 3 ‘Menghasilkan True <> Tidak sama dengan Nilai = (2+1) <> 3‘Menghasilkan False
< Lebih kecil Nilai = 1 < 2 ‘Menghasilkan True > Lebih besar Nilai = 1 > 2 ‘Menghasilkan False <= Lebih kecil atau sama dengan Nilai = 1 <= 2 ‘Menghasilkan True >= Lebih besar atau sama dengan Nilai = 1 >= 2 ‘Menghasilkan False Like Mempunyai ciri yang sama
Sentak penggunaannya adalah sebagai berikut.
result = <ekspresi1> operator_perbandingan
<ekspresi2>
result = <objek1> Is <objek2> result = <string> Like <pattern> c. Operator Logika
Operator logika digunakan untuk mengekspresikan satu atau lebih ekspresi logika yang akan menghasilkan nilai boolean. Tabel 2-7 adalah operator logika dimulai dari hirarki paling tinggi ke paling rendah beserta tabel kebenarannya.
Tabel 2-7. Operator Logika [2]
Tabel Kebenaran Operasi Operator Keterangan
Operan Hasil Not True False Not
Akan menghasilkan nilai kebalikan dari nilai ekspresi
operan. Not False True
True And True True True And False False False And True False And
Akan menghasilkan nilai True hanya jika ekspresi operan keduanya bernilai
logika True. False And False False True Or True True True Or False True False Or True True Or
Akan menghasilkan nilai True jika salah satu ekspresi operannya bernilai logika
True. False Or False False
True Xor True False True Xor False True False Xor True True Xor
Akan menghasilkan nilai True jika ekspresi operannya bernilai logika berbeda.
False Xor False False True Eqv True True True Eqv False False False Eqv True False Eqv
Akan menghasilkan nilai True jika ekspresi operannya bernilai logika sama.
False Eqv False True True Imp True True True Imp False False False Imp True True Imp
Akan menghasilkan nilai False jika ekspresi operan sebelah kiri operator bernilai logika True dan sebelah
2.2
Port Serial
Dikenal dua cara komunikasi data secara serial, yaitu komunikasi data serial secara sinkron dan komunikasi data serial secara asinkron [2]. Pada komunikasi data serial sinkron, clock dikirimkan bersama-sama dengan data serial, sedangkan komunikasi data serial secara asinkron, clock tidak dikirimkan bersama data serial, tetapi dibangkitkan secara sendiri-sendiri baik pada sisi pengirim (transmitter) maupun pada sisi penerima (receiver). Pada IBM PC kompatibel port serialnya termasuk jenis asinkron. Komunikasi data serial ini dikerjakan oleh UART (Universal Asynchronous Reciver/Transmitter). IC UART dibuat khusus untuk mengubah data paralel menjadi data serial dan menerima data serial yang kemudian diubah kembali menjadi data paralel. IC UART 8250 dari Intel merupakan salah satunya. Selain berbentuk IC mandiri, berbagai maecam mikrokontroler ada yang dilengkapi UART, misalnya keluarga mikrokontroler MCS51 (termasuk AT89C2051).
Pada UART, kecepatan pengiriman data (baud rate) dan fase clock pada sisi Tx dan pada sisi Rx harus sinkron. Untuk itu diperlukan sinkronisasi antara Tx dan Rx. Hal ini dilakukan oleh bit ‘Start’ dan bit ‘Stop’. Ketika saluran pengirim dalam keadaan kondisi nol, keluaran UART adalah dalam keadaan logika ‘1’. Ketika Tx ingin mengirimkan data, output UART akan diset lebih dahulu ke logika ‘0’ untuk waktu satu bit. Sinyal ini pada Rx akan dikenali sebagai sinyal ‘Start’ yang digunakan untuk mensinkronkan fase clocknya sehingga sesuai dengan fase clock Tx. Selanjutnya, data akan dikirimkan secara serial dari bit paling rendah (bit0) sampai bit tertinggi (bit7). Selanjutnya, akan dikirim sinyal ‘Stop’ sebagai akhir dari pengiriman data serial. Cara pemberian kode data yang disalurkan tidak ditetapkan secara pasti. Berikut adalah contoh pengiriman huruf ‘A’ dalam format ASCII (41 heksa/1000001 biner) tanpa bit paritas.
5V
0V S
T
A
R
T
1 0 0 0 0 0 1 0
S
T
O
P
Kecepatan transmisi (baud rate) dapat dipilih bebas dalam rentang tertentu. Baud
rate yang umumnya dipakai adalah 110, 135, 150, 300, 600, 1200, 2400, dan 9600
(bit/detik). Dalam komunikasi data serial, baud rate dari kedua alat yang berhubungan
harus diatur pada kecepatan yang sama. Selanjutnya harus ditentukan panjang data (6, 7
atau 8 bit), paritas (genap, ganjil atau tanpa paritas), dan jumlah bit ‘Stop’ (1, 1½ , atau 2
bit).
2.2.1
Karakteristik Sinyal Port Serial
Standar sinyal komunikasi serial yang banyak digunakan adalah standar RS232.
Standar ini hanya menyangkut komunikasi data antara komputer (Data Terminal
Equipment – DTE) dengan alat-alat pelengkap komputer (Data Circiut Terminating
Equipment – DCE).
Standar sinyal RS232 memiliki ketentuan level tegangan sebagi berikut:
1. Logika ‘1’ disebut ‘Mark’ terletak antara –3 Volt hingga –25 Volt.
2. Logika ‘0’ disebut ‘Space’ terletak antara +3 Volt hingga +25 Volt.
3. Daerah tegangan antara –3 Volt hingga +3 Volt adalah invalid level, yaitu
daerah tegangan yang tidak memiliki level logika pasti sehingga harus
dihindari. Demikian juga, level tegangan lebih negatif dari –25 Volt atau lebih
positif dari +25 Volt juga harus dihindari karena tegangan tersebut dapat
merusak line driver pada saluran RS232.
Gambar 2.2 berikut adalah conto level tegangan RS232 pada pengiriman
huruf ‘A’ dalam format ASCII tanpa bit paritas.
S T A R T S T O P 1 0 0 0 0 0 1 0 +25V 0V -25V
2.2.2
Konfigurasi Port Serial
Gambar 2.3 adalah gambar konektor port serial DB-9 pada bagian belakan CPU.
Pada komputer IBM PC kompatibel biasanya terdapat dua konektor DB-9 yang dinamai
COM1 dan COM2.
Gambar 2-3. Konektor serial DB-9 pada bagian belakang CPU [2]
Tabel 2-8. Konfigurasi pin dan nama sinyal konektor serial DB-9 [2]
Nomor Pin Nama Sinyal Direction Keterangan
1 DCD In Data Carrier Detect/
Received Line Signal Detect
2 RxD In Receive Data
3 TxD Out Transmit Data
4 DTR Out Data Terminal Ready
5 GND - Ground
6 DSR In Data Set Ready
7 RST Out Request to Send
8 CTS In Clear to Send
9 RI In Ring Indicator
Keterangan mengenai fungsi saluran RS232 pada konektor DB-9 adalah sebagai berikut:
1. Received Line Signal Detect, dengan saluran ini DCE memberitahukan ke DTE
bahwa pada terminal masukan ada data masuk.
2. Receive Data, digunakan DTE menerima data dari DCE.
3. Transmit Data, digunakan DTE mengirimkan data dari DCE.
4. Data Terminal Ready, pada saluran ini DTE memberitahukan kesiapan
terminalnya.
6. Ring Indicator, pada saluran ini DCE memberitahu ke DTE bahwa sebuah
stasiun menghendaki hubungan dengannya.
7. Clear To Send, dengan saluran ini DCE memberitahukan bahwa DTE boleh
mengirimkan data.
8. Reques To Send, dengan saluran ini DCE diminta mengirim data oleh DTE.
9. DCE Ready, sinyal aktif pada saluran ini menunjukkan bahwa DCE sudah siap.
Untuk dapat menggunakan port serial kita perlu mengetahui alamatnya. Biasanya
tersedia dua port serial pada CPU, yaitu COM1 dan COM2. Base address COM1
biasanya adalah 1016 (3F8h) dan COM2 biasanya 760 (2F8h). Alamat tersebut adalah
alamat yang biasa digunakan, tergantung dari komputer yang digunakan. Tepatnya kita
bisa melihat pada peta memori tempat menyimpan alamat tersebut, yaitu memori
0000.0400h untuk base address COM1 dan memori 0000.0402h untuk base address
COM2.
Tabel 2-9. Nama register yang digunakan beserta alamatnya [2]
Nama Register COM1 COM2
TX Buffer 3F8h 2F8h
RX Buffer 3F8h 2F8h
Baud rate Divisor Latch LSB 3F8h 2F8h Baud rate Divisor Latch MSB 3F9h 2F9h Interrupt Enable Register 3F9h 2F9h Interrupt Identification Register 3FAh 2FAh Line Control Register 3FBh 2FBh Modem Control Register 3FCh 2FCh Line Status Register 3FDh 2FDh Modem Status Register 3FEh 2FEh
Setelah mengetahui base address-nya, maka dapat menentukan alamat
register-register yang digunakan untuk komunikasi port serial ini. Tabel register-register-register-register beserta
alamatnya dapat dilihat pada tabel 2-9.
Keterangan mengenai fungsi register-register tersebut adalah sebagai berikut:
• RX Buffer, digunakan untuk menampung dan menyimpan data dari DCE.
• TX Buffer, digunakan untuk menampung dan menyimpan data yang akan
dikirim ke port serial.
• Baud rate Divisor Latch LSB, digunakan untuk menampung byte bobot
• Baud rate Divisor Latch MSB, digunakan untuk menampung byte bobot
rendah untuk pembagi clock pada IC UART sehingga tootal angka pembagi
adalah 4 byte yang dapat dipilih dari 0001h sampai FFFFh.
2.3
RS – 232
RS-232 digunakan untuk mengkonversi data, data dalam bentuk level tegangan
232 ke data level tegangan TTL [3]. Pengiriman diubah kedalam level tegangan
RS-232. Data dalam tegangan TTL ditunjukkan di gambar 2-4 dan data dalam level tegangan
RS-232 ditunjukkan pada gambar 2-5.
1
2
3
4
5
6
0
7
S T A R TLogic ‘1’
Logic ‘2’ S
T
O
P +5V
0V
Gambar 2-4. Bentuk Gelombang Logic TTL Atau CMOS [3]
1
2
3
4
5
6
0
7
S T A R T Mark Space S T O P -10V 10VGambar 2-5. Bentuk Gelombang Logic RS-232 [3]
0 sampai 7 merupakan data (isi data) yang akan dikirim.
Pada komunikasi RS-232 memiliki logika high ‘1’ dengan range tegangan antara
–5V s/d –10V dan untuk logika low ‘0’ dengan range tegangan antara +5V s/d +10V.
Panjang kabel yang dapat digunakan dalam komunikasi RS-232 sekitar 15m, dengan
kecepatan data maksimal 200kbits/s. RS-232 merupakan komunikasi serial “point to
point”
2.4
Bluetooth
2.4.1 Pengertian Bluetooth
Bluetooth adalah sebuah teknologi komunikasi wireless (tanpa kabel) yang
beroperasi dalam pita frekuensi 2,4 GHz unlicensed ISM (Industrial, Scientific and
menyediakan layanan komunikasi data dan suara secara real-time antara host-host
bluetooth dengan jarak jangkauan layanan yang terbatas [4]. Bluetooth sendiri dapat
berupa card yang bentuk dan fungsinya hampir sama dengan card yang digunakan untuk
wireless local area network (WLAN) dimana menggunakan frekuensi radio standar IEEE
802.11, hanya saja pada bluetooth mempunyai jangkauan jarak layanan yang lebih
pendek dan kemampuan transfer data yang lebih rendah.
Pada beberapa negara terdapat perbedaan penggunaan frekuensi dan channel
untuk Bluetooth ini. Seperti di Amerika dan Eropa, frekuensi yang digunakan adalah dari
2400–2483,5 yang berarti menggunakan 79 channel. Cara perhitungannya sebagai
berikut : untuk RF Channel yang bekerja frekuensi f = 2402+k MHz, di mana k adalah
jumlah channel yang digunakan yaitu : 0 sampai dengan 78 = 2402+79 = 2481 MHz.
Kemudian ditambah dengan pengawal frekuensi yang diset pada 2 MHz sampai dengan
3,5 MHz untuk lebar pita gelombang 1 MHz, sehingga totalnya menjadi 2481+2,5 =
2483,5 MHz.
Pada dasarnya bluetooth diciptakan bukan hanya menggantikan atau
menghilangkan penggunaan kabel didalam melakukan pertukaran informasi, tetapi juga
mampu menawarkan fitur yang baik untuk teknologi mobile wireless dengan biaya yang
relatif rendah, konsumsi daya yang rendah, interoperability yang menjanjikan, mudah
dalam pengoperasian dan mampu menyediakan layanan yang bermacam-macam. Untuk
memberi gambaran yang lebih jelas mengenai teknologi bluetooth yang relatif baru ini,
berikut diuraikan tentang sejarah munculnya bluetooth dan perkembangannya, teknologi
yang digunakan pada sistem bluetooth dan aspek layanan yang mampu disediakan, uraian
tentang perbandingan metode modulasi spread spectrum FHSS (Frequency Hopping
Spread Spectrum) yang digunakan oleh bluetooth dibandingkan dengan metode spread
spectrum DSSS (Direct Sequence Spread Spectrum) serta interferensi bluetooth dengan
ponsel.
2.4.2 Aplikasi dan Layanan
Protokol bluetooth menggunakan sebuah kombinasi antara circuit switching dan
data asinkron dan suara sinkron. Setiap kanal suara mendukung sebuah kanal suara
sinkron 64 kb/s. Kanal asinkron dapat mendukung kecepatan maksimal 723,2 kb/s
asimetris, dimana untuk arah sebaliknya dapat mendukung sampai dengan kecepatan 57,6
kb/s. Sedangkan untuk mode simetris dapat mendukung sampai dengan kecepatan 433,9
kb/s.
Sebuah perangkat yang memiliki teknologi wireless bluetooth akan mempunyai
kemampuan untuk melakukan pertukaran informasi dengan jarak jangkauan sampai
dengan 10 meter (~30 feet), bahkan untuk daya kelas 1 bisa sampai pada jarak 100 meter.
Sistem bluetooth menyediakan layanan komunikasi point to point maupun komunikasi
point to multipoint. Produk bluetooth dapat berupa PC card atau USB adapter yang
dimasukkan ke dalam perangkat. Perangkat-perangkat yang dapat diintegerasikan dengan
teknologi bluetooth antara lain : mobile PC, mobile phone, PDA (Personal Digital
Assistant), headset, kamera digital, printer, router dan masih banyak peralatan lainnya.
Aplikasiaplikasi yang dapat disediakan oleh layanan bluetooth ini antara lain : PC to PC
file transfer, PC to PC file synch (notebook to desktop), PC to mobile phone, PC to PDA,
wireless headset, LAN connection via ethernet access point dan sebagainya. Contoh
modul aplikasi beberapa peralatan yang kemungkinan dapat menggunakan teknologi
bluetooth dapat dilihat seperti Gambar 2-6 dibawah ini.
2.4.3 Diskripsi Umum Sistem Bluetooth
Sistem bluetooth terdiri dari sebuah radio transceiver, baseband link Management
dan Control, Baseband (processor core, SRAM, UART, PCM USB Interface), flash dan
voice code. sebuah link manager. Baseband link controller menghubungkan perangkat
keras radio ke baseband processing dan layer protokol fisik. Link manager melakukan
aktivitas-aktivitas protokol tingkat tinggi seperti melakukan link setup, autentikasi dan
konfigurasi. Secara umum blok fungsional pada sistem bluetooth secara umum dapat
dilihat pada Gambar 2-7 dibawah ini.
Gambar 2.7 Blok Fungsional Sistem Bluetooth [4]
2.4.4
Spread Spectrum
Bagaimana data bisa bergerak di udara? Wireless LAN mentransfer data melalui
udara dengan menggunakan gelombang elektromagnetik dengan teknologi yang dipakai
adalah Spread-Sprectum Technology (SST). Dengan teknologi ini memungkinkan
beberapa user menggunakan pita frekuensi yang sama secara bersamaan. SST ini
merupakan salah satu pengembangan teknologi Code Division Multiple Access (CDMA).
Dengan urutan kode (code sequence) yang unik data ditransfer ke udara dan diterima oleh
tujuan yang berhak dengan kode tersebut. Dengan teknologi Time Division Multiple
Access (TDMA) juga bisa diaplikasikan (data ditransfer karena perbedaan urutan
a. Direct Sequence Spread Spectrum (DSSS), sinyal ditranfer dalam pita frekuensi tertentu yang tetap sebesar 17 MHz. Prinsip dari metoda direct
sequence adalah memancarkan sinyal dalam pita yang lebar (17 MHz) dengan
pemakaian pelapisan (multiplex) kode/signature untuk mengurangi interferensi
dan noise. Untuk perangkat wireless yang bisa bekerja sampai 11M bps
membutuhkan pita frekuensi yang lebih lebar sampai 22 MHz. Pada saat sinyal
dipancarkan setiap paket data diberi kode yang unik dan berurut untuk sampai
di tujuan, di perangkat
tujuan semua sinyal terpancar yang diterima diproses dan difilter sesuai dengan
urutan kode yang masuk. Kode yang tidak sesuai akan diabaikan dan kode yang
sesuai akan diproses lebih lanjut.
b. Frequency Hopping Spread Spectrum (FHSS), sinyal ditransfer secara
bergantian dengan menggunakan 1MHz atau lebih dalam rentang sebuah pita
frekuensi tertentu yang tetap. Prinsip dari metoda frequency hopping adalah
menggunakan pita yang sempit yang bergantian dalam memancarkan sinyal
radio. Secara periodik antara 20 sampai dengan 400ms (milidetik) sinyal
berpindah dari kanal frekuensi satu ke kanal frekuensi lainnya.
Pita 2.4GHz dibagi-bagi kedalam beberapa sub bagian yang disebut channel/kanal.
Salah satu standar pembagian kanal ini adalah sistem ETSI (European
Telecommunication Standard Institute) dengan membagi kanal dimulai dengan kanal 1
pada frekuensi 2.412MHz, kanal 2 2.417MHz, kanal 3 2.422MHz dan seterusnya setiap
5MHz bertambah sampai kanal 13.
Dengan teknologi DSSS maka untuk satu perangkat akan bekerja menggunakan 4
kanal (menghabiskan 20MHz, tepatnya 17MHz). Dalam implementasinya secara normal
pada lokasi dan arah yang sama hanya 3 dari 13 kanal DSSS yang bisa dipakai. Parameter
lain yang memungkinkan penggunaan lebih dari 3 kanal ini adalah penggunaan antena
(directional antenna) dan polarisasi antena itu sendiri (horisontal/vertikal). Penggunaan
antena Omni-directional akan membuat sinyal ditransfer ke seluruh arah (360 derajat).
Teknologi FHSS ditujukan untuk menghindari noise/gangguan sinyal pada saat
lebih baik untuk transfer data. Kondisi ini menjadikan satu keuntungan dibandingkan
dengan DSSS.
Gambar 2.8 Bentuk Format Data Sistem TDMA [5]
2.4.5 Karakteristik Radio
Bluetooth mempunyai beberapa karakteristik yang akan memberikan ciri-ciri
dibandingkan dengan teknologi lainnya. Pada tabel 2.10 dibawah ini dituliskan beberapa
karaketristik radio bluetooth sesuai dengan dokumen Bluetooth SIG (Special Interest
Tabel 2.10 Karakteristik Radio Bluetooth Sesuai Dengan Dokumen Bluetooth SIG [4]
2.4.6 Komunikasi RF Pada Spektrum Frekuensi 2.4 Ghz
Sistem Bluetooth bekerja pada frekuensi 2.402GHz sampai 2.480GHz, dengan 79
kanal RF yang masing-masing mempunyai spasi kanal selebar 1 MHz, menggunakan
sistem TDD (Time-Division Duplex). Secara global alokasi frekuensi bluetooth telah
tersedia, namun untuk berbagai negara pengalokasian frekuensi secara tepat dan lebar
pita frekuensi yang digunakan berbeda. Penggunaan spektrum frekuensi 2.4 GHz secara
global belum diatur. Namun ada beberapa persyaratan yang harus diikuti dalam
penggunaannya. Hal ini meliputi :
a. Spektrum dibagi menjadi 79 kanal frekuensi (walaupun beberapa negara seperti
Perancis dan Spanyol hanya menyediakan 23 kanal frekuensi saja).
b. Bandwidth dibatasi sampai 1 MHz per kanal.
c. Penggunaan frekuensi hopping dalam metode pengiriman datanya
d. Interferensi harus dapat diatasi dan ditangani dengan baik.
Komunikasi RF banyak menggunakan spektrum frekuensi ini, seperti
HomeRFTM(sebuah spesifikasi untuk komunikasi RF dalam lingkungan perumahan); dan
juga IEEE 802.11 menggunakan spektrum ini untuk spesifikasi dari teknologi Wireless
LAN. Oven microwave juga beroperasi dalam range frekuensi ini, karena spektrum
frekuensi ini belum dilisensikan, maka banyak teknologi yang menggunakannya,
persyaratan dan pengalamatan mutlak diperlukan bagi teknologi yang menggunakan
spektrum 2.4 GHz ini. Komunikasi bluetooth didesain untuk memberikan keuntungan
yang optimal dari tersedianya spektrum ini dan mengurangi interferensi RF. Semuanya
itu akan terjadi karena bluetooth beroperasi menggunakan level energi yang rendah.
Batas frekuensi serta kanal RF yang digunakan oleh beberapa negara dapat dilihat pada
Tabel 2.11 dibawah ini.
Tabel 2.11 Batas Frekuensi Serta Kanal RF Yang Digunakan Oleh Beberapa Negara [4]
2.4.7 Time Slot
Kanal dibagi dalam time slot-time slot, masing-masing mempunyai panjang 625
µs. Time slot-time slot tersebut dinomori sesuai dengan clock bluetooth dari master
piconet (Beberapa slave yang terhubung dengan sebuah master dinamakan piconet).
Batas penomoran slot dari 0 sampai dengan 227-1 dengan panjang siklus 227. Di dalam
time slot, master dan slave dapat mentransmisikan paket-paket dengan menggunakan
skema TDD (Time-Division Duplex), seperti pada Gambar 2.9 dibawah ini. Master hanya
memulai melakukan pentransmisiannya pada nomor time slot genap saja sedangkan slave
2.4.8 Protokol Bluetooth
Protokol-protokol bluetooth dimaksudkan untuk mempercepat pengembangan
aplikasi-aplikasi dengan menggunakan teknologi bluetooth. Layer-layer bawah pada
stack protokol bluetooth dirancang untuk menyediakan suatu dasar yang fleksibel untuk
pengembangan protokol yang lebih lanjut. Protokol-protokol yang lain seperti RFCOMM
diambil dari protokol-protokol yang sudah ada dan protokol ini hanya dimodifikasi
sedikit untuk disesuaikan dengan kepentingan bluetooth. Pada protokolprotokol layer atas
digunakan tanpa melakukan modifikasi. Dengan demikian, aplikasi-aplikasi yang sudah
ada dapat digunakan dengan teknologi bluetooth sehingga interoperability akan lebih
terjamin.
Bluetooth Special Interest Group (SIG) telah mengembangkan spesifikasi bluetooth yang
berisi tentang protokol yang akan digunakan dalam teknologi bluetooth ini. Protokol
dasar bluetooth adalah Bluetooth Radio, Baseband dan Link Manager Protocol (LMP)
yang disebut protokol inti. Sedangkan protokol yang ada di atasnya adalah
protokol-protokol terapan yang dapat diadaptasikan pada arsitektur protokol-protokol bluetooth dan telah
dikembangkan oleh organisasi lain seperti ETSI. Radio, baseband dan LMP ekivalen
dengan lapis fisik dan data link pada lapis protokol OSI. Stack protokol bluetooth dapat
dibagi ke dalam empat layer sesuai dengan tujuannya. Berikut protokol-protokol dalam
layer-layer di dalam stack protokol bluetooth yang tertera pada Tabel 2.12 dan Gambar
2.10 dibawah ini.
Gambar 2.10 Layer-Layer Pada Sistem Bluetooth [4]
Protokol inti bluetooth berisi protokol yang secara spesifik dikembangkan oleh
bluetooth SIG. RFCOMM dan TCS Binary juga dikembangkan oleh Bluetooth SIG
namun berdasarkan spesifikasi dari ETSI 07.10 dan rekomendasi ITU-T nomor Q.931.
Protokol inti bluetooth adalah persyaratan yang mutlak ada di semua perangkat teknologi
Bluetooth sedangkan protokol lainnya digunakan sesuai keperluan. Layer-layer pada
sistem bluetooth dapat dilihat seperti Gambar 2.4 diatas.
Tiga buah lapisan fisik yang sangat penting dalam protokol arsitektur Bluetooth ini
adalah [4]:
a. Bluetooth radio, adalah lapis terendah dari spesifikasi Bluetooth. Lapis ini
mendefinisikan persyaratan yang harus dipenuhi oleh perangkat tranceiver yang
beroperasi pada frekuensi 2,4 GHz ISM.
b. Baseband, lapis yang memungkinkan hubungan RF terjadi antara beberapa unit
Bluetooth membentuk piconet. Sistem RF dari bluetooth ini menggunakan
frekuensi-hopping-spread spectrum yang mengirimkan data dalam bentuk paket
pada time slot dan frekuensi yang telah ditentukan, lapis ini melakukan prosedur
pemeriksaan dan paging untuk sinkronisasi transmisi frekuensi hopping dan clock
c. LMP, Link Manager Protocol, bertanggung jawab terhadap link set-up antar perangkat Bluetooth. Hal ini termasuk aspek securiti seperti autentifikasi dan
enkripsi dengan pembangkitan, penukaran dan pemeriksaan ukuran paket dari
lapis baseband.
2.4.9
TM-306
Bluetooth
USB
Dongel
Bluetooth dari TEKRAM ini mempunyai spesifikasi teknis sebagai berikut[6]:
- Bluetooth v1.2 compliant
- USB v1.1 compliant
- Date Rate sampai 723 Kbps
- Jangkauan operasi sampai 100 meter (kelas1)
- Lebar frekuensi 2.400 ∼ 2.4385 GHz (lebar frekuensi ISM)
BAB III
RANCANGAN PENELITIAN
Perancangan program pusat pengendali pada pemodelan rumah pintar dibagi secara umum menjadi beberapa menu program, antara lain: menu password, menu informasi, pengendali putaran model rumah, menu “HELP” dan bank data sebagai pendukung penyimpanan data program sementara.
3.1
Perancangan Layout
Perancangan layout meliputi perancangan piranti lunak pengendali pemodelan rumah pintar yang merupakan program utama dari keseluruahn rangkaian pemodelan rumah pintar. Piranti lunak pengendali pemodelan rumah pintar ini, akan mengatur bagian yang akan diproses. Bluetooth (bluetooth yang dipakai adalah bluetooth dari TEKRAM TM – 306 Bluetooth USB Dongel)yang di hubungkan dengan program utama akan mengendalikan solenoid pada pintu utama.
Komunikasi yang digunakan adalah komunikasi serial antara komputer dengan pemodelan rumah pintar.
Komputer
Pemodelan Rumeh Pintar
Gambar 3-1. Perancangan Peralatan
3.2
Perancangan Piranti Lunak Pusat Pengendali Pada Pemodelan Rumah
Pintar
pengendali sistem keamanan jendela. Sedangkan yang bersifat informatif adalah menu informasi yang menyajikan perubahan pada model rumah serta memiliki bank data sebagai pendukung untuk penyimpanan data sementara.
Menu password terdiri dari beberapa fungsi, antara lain adalah password untuk masuk kedalam program, password untuk membuka pintu utama, dan menu penggatian password itu sendiri. Menu informasi merupakan pusat informasi dari keadaan model rumah pintar, antara lain menampilkan informasi lampu mana yang mati/menyala, informasi keamanan rumah (jendela ada yang terbuka atau tidak,pintu sedang terbuka atau tertutup, dan kondisi detektor asap menyala atau mati) dan juga menampilkan informasi perputaran model rumah. Dan bank data merupakan tempat penyimpanan informasi yang nantinya akan di tampilkan ke dalam “form” informasi.
Selain itu program ini dilengkapi menu “HELP”, sehingga apabila pengguna memiliki masalah dalam penggunaan program maka dengan menu “HELP” ini dapat menemukan solusinya. Setiap perubahan yang terjadi akan selalu tersimpan dalam bank data, sehingga apabila pengguna sudah merasa cukup menggunakan program pengendali ini, pengguna dapat langsung menekan tombol “Log Out” dan keluar dari program.
START
Menu Password
END Menu Informasi
Pengendali putaran arah mata angin model rumah
Menu “HELP”
Log Out
Pengendali sistem keamanan
1
1
3.2.1 Menu Password
Saat program di jalankan, tampilan yang pertama kali muncul adalah tampilan “Enter Password”. Ketika password yang dimasukkan pada program sama dengan
password yang default maka akan muncul tampilan program utama untuk pengendalian pemodelan rumah pintar ini. default Password pada program ini dapat diganti oleh pengguna setelah masuk kedalam program utama. default Password pertama kali di set 0000.
START
Membaca Tombol Pada Tampilan Form
Enter ditekan
?
Kode =0000
?
A Ya
Tidak
Ya
Tidak Masukkan Kode Program
Kode =2103
?
Tidak
Ya
Password 2103 merupakan master password yang ada pada program ini, sehingga apabila pengguna program lupa dengan password yang dibuatnya, program ini akan tetap dapat dibuka menggunakan master password ini. Password rahasia masuk ke program utama dan password rahasia pintu otomatis sama, sehingga pengguna akan lebih mudah mengingat karena hanya satu password rahasia saja. Selain itu pengguna dapat menekan “help” apabila kurang paham pada penggunaan program ini.
Pada pemodelan rumah pintar ini menggunakan bluetooth untuk membuka kunci rumah otomatis. Apabila pengguna akan masuk kedalam rumah maka pengguna hanya tinggal mengirimkan password yang terakhir tersimpan atau default Password melalui
bluetooth yang ada pada telepon seluler. Password yang dikirim akan dicocokkan dengan
password yang terakhir tersimpan pada program / master password, apabila cocok maka program utama akan mengirim data untuk membuka pintu utama.. Data yang dikirm ke pengatur saklar untuk membuka solenoid adalah 41h (ASCII “A”/solenoid off).
Password sama
?
Membaca password yang dikirim melalui telepon selular
START
Membandingkan password yang dikirim dengan password yang terakhir tersimpan/master password
Mengirim data 41h ke pengatur saklar pintu utama
Pintu utama secara otomatis membuka
END
Ya
Tidak
A
A
Mengirim data 4h ke bank data
.
Pada saat pintu terbuka, maka dari pengendali pintu akan mengirimkan data 21h, yang akan memberikan informasi pada pengguna bahwa pintu dalam sedang terbuka.
Saat tombol “ganti password” ditekan, maka akan ditampilkan form “ganti password”. Dalam form ini terdapat 2 (dua) TextBox dan tombol “ok”. TextBox pada form ini digunakan untuk menuliskan password lama dan password baru, sehingga bila tombol “ok” ditekan, maka secara otomatis password varu akan tersimpan dalam database. Dan password yang baru ini lah yang digunakan untuk membuka program maupun membuka pintu otomatis. Tapi apabila password lama yang dimasukkan oleh pengguna salah, maka akan ada peringatan yang ditampilkan.
Membaca TextBox Password lama
Membaca TextBox Password baru
Membaca tombol ”ok”
Tombol “ok” ditekan?
Pass lama = 0000/2103
?
Menyimpan password yang baru dalam bank data
END
Mengeluarkan perintah ulang tulis password lama
Ya
Tidak Tidak
Ya START
3.2.2
Menu Informasi
Fungsi yang bersifat informatif ini digunakan untuk memantau setiap perubahan yang terjadi pada pemodelan rumah pintar. Setiap perubahan akan selalu dikomunikasikan secara serial. Sehingga dengan adanya fungsi informasi pengguna akan lebih mudah memantau kondisi rumahnya.
START
Memeriksa perubahan yang terjadi pada pemodelan rumah pintar
Ada perubahan
?
Memperbaharui informasi yang terdapat pada form “informasi”
Tidak Ya
Gambar 3-6. Flowchart Menu Informasi secara keseluruhan
Informasi yang yang akan ditampilkan pada menu ini antara lain: lampu diruangan mana yang sedang nyala/mati, kondisi jendela (terbuka/tertutup), arah mata angin rumah. Untuk informasi. Informasi putaran arah model rumah dan sistem keamanan akan di jelaskan pada sub bab pengendalian putaran dan sistem keamanan.
3.2.2.1
Informasi Lampu
hidup. Dan setiap ada perubahan maka akan disimpan ke dalam bank data dan menampilkannya pada “form” informasi.
Mengirim perintah untuk mengotomatisasi lampu
Ada perubahan
?
END
Menerima informasi dari pengendali lampu
Menyimpan informasi dan perubahannya ke bank data
Cek informasi dari pengendali lampu Ya
Tidak START
Gambar 3-7. Flowchart Pengendalian Lampu
Tabel 3-1. Tabel data yang dikirim/diterima serial pada pengendalian lampu Data Dikirim Data Diterima Lampu Keterangan ASCII
4Eh Meminta status lampu N
61h - a
62h 1 b
63h 2 c
64h 1,2 d
65h 3 e
66h 1,3 f
67h 2,3 g
68h 1,2,3 h
69h 4 i
6Ah 1,4 j
6Bh 2,4 k
6Ch 1,2,4 l
6Dh 4,3 m
6Eh 1,3,4 n
6Fh 2,3,4 o
70h 1,2,3,4 p
Pemasangan bluetooth untuk mendukung sistem keamanan pada model rumah pintar dapat dilihat pada gambar 3-8 di bawah ini:
Komputer
Pemodelan Rumeh Pintar
Bluetooth
Telefon genggam
3.2.3
Pengendali Sistem Keamanan
Pengendali sistem keamanan terdiri dari pengendali jendela yang dapat diatur secara aktif dan tidak aktif. Secara aktif berarti sistem keamanan jendela dan detektor asap aktif, sehingga apabila jendela terbuka maka tanda peringatan akan berbunyi, begitu juga apabila detektor asap mendeteksi adanya asap dalam rumah tersebut. Secara tidak aktif berarti sistem kemanan jendela tidak aktif tetapi detektor asap tetap aktif. Sehingga apabila jendela dibuka maka tanda peringatan tidak akan berbunyi. Setiap waktu program akan memeriksa ada perubahan atau tidak dengan mengirimkan informasi untuk meminta keadaan jendela dan detektor asap. Setiap perubahan akan disimpan di bank data program, setelah itu baru di tampilkan ke dalam “form” informasi.
Tabel 3-2. Data yang dikomunikasikan secara serial
Data Dikirim Data Diterima Keterangan ASCII
42h Alarm jendela tidak aktif B
43h Alarm jendela aktif C
31h Tidak ada asap 1
32h Ada asap 2
33h Tidak ada asap, jendela terbuka 3 34h Tidak ada asap, jendela tertutup 4 35h Ada asap, jendela terbuka 5 36h Ada asap, jendela tertutup 6
Membaca CheckBox START
Mengirim data meminta informasi keadaan jendela
Menerima data informasi keadaan jendela
Jendela aktif
? Ya
Tidak
3 2
Mengirim data meminta informasi keadaan jendela
A