PENGEMBANGAN APLIKASI PENGAMBILAN DATA SENSOR SUHU MELALUI JARINGAN KOMPUTER
Laporan Tugas Akhir
Diajukan Untuk Melengkapi Salah Satu Syarat Memperoleh Gelar Sarjana Strata Satu (S1)
Disusun Oleh: ESTI NOPIAN (01503 – 006)
PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS ILMU KOMPUTER UNIVERSITAS MERCU BUANA JAKARTA 2008
ABSTRAK
Pada awalnya sistem pengendali diimplementasikan untuk memberikan alternatif lain bagi manusia dalam menggerakkan atau menjalankan alat yang dapat dikendalikan dari titik pusat. Pada perkembangnya perancangan sistem pengendali dibuat mengikuti perkembangan teknologi dari yang menggunakan sistem manual, elektronik, dan sistem komputer. Sistem pengendali yang menggunakan komputer sebagai alat pemrosesnya memiliki pemrograman yang terstruktur dan dapat disesuaikan dengan sistem pengendaliannya. Dengan sistem pengendalian ini, kita tidak perlu lagi mendekati komputer yang terhubung dengan sensor suhu/temperatur. Berdasarkan hal tersebut maka penulis melakukan perancangan dan implementasi pengambilan data sensor suhu melalui jaringan komputer (LAN) dengan menggunakan bahasa pemrograman Visual Basic versi 6.0 dari Microsoft.
Kata kunci : Sistem Pengendalian, Pemrograman Socket, Client-Server, interface dan LAN.
i
ABSTRACT
Initially controller system implementation to give other alternative to man in moving or implements manageable equipment/device from central point. At the developing scheme of controller system is to keeps abreast of technology from using manual system, electronic, and computer system. Controller system using computer as a means of the processor having structural programming and can be adapted for the operation system. With this operation system, we no more require comes near computer that is incircuit with electrical equipment. Based on the thing hence writer does scheme and system implementation of data akuisision temperatur through local area network (LAN) by using Visual Basic programming languages version 6.0 of Microsoft.
Keyword : Controlling system, Socket programming, Client-Server, inteface, and LAN.
ii
LEMBAR PENGESAHAN
Yang bertanda tangan di bawah ini menyatakan bahwa laporan tugas akhir dari mahasiswa berikut ini : Nama
: Esti Nopian
Nim
: 01503-006
Fakultas
: Ilmu Komputer
Program Studi
: Teknik Informatika
Judul
: ”Pengembangan Aplikasi Pengambilan Data Sensor Suhu Melalui Jaringan Komputer”.
Telah disidangkan dalam sidang Tugas Akhir Teknik Informatika dan telah diperiksa dan disetujui sebagai laporan Tugas Akhir.
Menyetujui,
Raka Yusuf ST., MKom.
Dr. Rusdianto Roestam Dosen Pembimbing I
Dosen Pembimbing II
Mengetahui,
Mengesahkan,
Raka Yusuf ST., MKom.
Abdusy Syarif ST., MT.
Koordinator Tugas Akhir
Kaprodi Teknik Informatika iii
KATA PENGANTAR Bismillahirahmanirrahim Alhamdulillah, segala puji hanya milik Allah SWT yang telah memberikan rahmat dan karunia-Nya sehingga penulis dapat menyelesaikan penyusunan laporan tugas akhir ini yang telah dilaksanakan oleh penulis pada Universitas Mercu Buana, sholawat dan salam semoga selalu tercurah untuk Rasuluulah baginda nabi Muhammad SAW. Penulis menyadari bahwa proses penyusunan laporan tugas akhir ini tidak luput dari bantuan, bimbingan, motivasi, serta do’a dari berbagai pihak, baik langsung atau tidak langsung, sehingga laporan tugas akhir ini dapat terselesaikan. Dengan segala kerendahan hati penulis mengucapkan banyak terimakasih kepada: 1. Bapak dan mamah serta adikku tercinta, yang telah memberikan dukungan, doa, semangat, moril, materil dan kasih sayangnya sehingga laporan tugas akhir ini dapat terwujud. 2. Bapak Dr. Rusdianto Roestam, selaku Pembimbing Tugas Akhir I 3. Bapak Raka Yusuf, ST., MT., selaku Pembimbing Tugas Akhir II sekaligus koordinator tugas akhir jurusan teknik informatika. 4. Bapak Abdusyi Syarif, ST., MT., selaku Ketua Program Studi Teknik Informatika Universitas Mercu Buana. 5. Bapak Indrianto, ST. MT., yang telah berbaik hati memberikan banyak dukungan, pengarahan, dan referensi yang sangat membantu 6. Teman-teman RRI seperjuangan terutama Nikky Utari, Roslina Dewi dan Hendra yang selalu memberikan dukungan dan motivasi. I luv U fren iv
7. Teman-teman angkatan 2003, Azay, Farhan. Semangat terus dalam mengerjakan tugas akhirnya. 8.
Abang-abangku. Junaidi, Inung, Pakde, Putra, Dimas, Koko, Ipul, Erwin, Ical, Julian, Agus, angkatan 2002, serta ade-adeku Ryan, Putra. Terimakasih doanya.
9. Untuk Ibnu Nugraha yang selalu memotivasiku dan menyayangiku apa adanya. 10. Amirah Basyirah. K’Mike, Denty, Rahma, Rika, dan Taree, Dina. Yang terus menerus memberikan motivasi. Anak-anak UKM Al-Faruq terutama Yuli. Tengkyu Fren. 11. Untuk segenap penghuni LP2M, Bu Eliyani, Pak Prapto, Pak Kusnadi, Pak Man, Arphan dan Arif, terimakasih dukungannya. 12. Metro Mini 85, Angkot B03, B09 dan Busway. Yang dengan setia selalu menemaniku untuk bimbingan. 13. Semua pihak yang membantu dalam penyelesaian laporan tugas akhir ini. Semoga diberikan pahala oleh Allah SWT. Amin Penulis menyadari bahwa dalam penyusunan laporan ini terdapat sejumlah kekurangan, baik dari segi materi, maupun segi penyajiannya, oleh sebab itu penulis mengucapkan maaf yang sedalam-dalamnya. Penulis juga mengharapkan saran, dan kritik yang membangun. Akhir kata, semoga laporan tugas akhir ini bermanfaat bagi semua pihak yang membutuhkan. Jakarta, September 2008
Penulis
v
DAFTAR ISI
Abstrak ......................................................................................................
i
Abstract .....................................................................................................
ii
Halaman Pengesahan .................................................................................
iii
Kata Pengantar ...........................................................................................
iv
Daftar Isi.....................................................................................................
vi
Daftar Gambar ...........................................................................................
ix
Daftar Tabel ..............................................................................................
xii
BAB I PENDAHULUAN .........................................................................
1
1.1
Latar Belakang .................................................................................
1
1.2
Rumusan Masalah ............................................................................
2
1.3
Ruang Lingkup..................................................................................
2
1.4
Tujuan Pembahasan ..........................................................................
3
1.5
Metodologi Penyelesaian Masalah ...................................................
3
1.6
Sistematika Penulisan ......................................................................
4
BAB II LANDASAN TEORI ...................................................................
6
2.1 Konsep Dasar Sistem ..........................................................................
6
2.2 Dasar Sistem Pengendali .....................................................................
9
2.2.1 Sistem Pengendali Loop Terbuka ..............................................
10
2.2.2 Sistem Pengendali Loop Tertutup ..............................................
11
2.3 Model Proses Perangkat Lunak ...........................................................
14
vi
2.4 Diagram Alir Data ..............................................................................
16
2.5 Diagram Keterhubungan Entitas ..........................................................
20
2.6 Diagram Alur (Flowchart) ...................................................................
25
2.7 LAN (Local Area Network) .................................................................
26
2.7.1 Sistem Pengendalian Alat Melalui LAN.....................................
24
2.7.2 Windows Socket dan TCP/IP......................................................
30
2.8 Port Serial ............................................................................................
34
2.9 Sensor Temperatur Digital DS1621 .....................................................
38
2.10 Microsoft Visual Basic 6.0 ................................................................
39
2.11 Suhu ..................................................................................................
40
2.11.1 Satuan Suhu ..............................................................................
40
BAB III ANALISIS DAN PERANCANGAN ..........................................
42
3.1 Gambaran Umum .................................................................................
42
3.2 Identifikasi Masalah ............................................................................
45
3.2.1 Identifikasi Data yang Dibutuhkan ...................................................
45
3.2.2 Identifikasi Fungsi yang Dibutuhkan ................................................
47
3.3 Pemodelan Data ..................................................................................
50
3.4 Pemodelan Fungsi atau Proses ............................................................
51
3.5 Kamus Data .........................................................................................
53
3.6 Pemodelan Logika dengan Diagram Alur (Flowchart) .......................
54
3.7 Rancangan Antarmuka (Interface).......................................................
59
3.7.1 Rancangan Antarmuka Server.....................................................
59
3.7.2 Rancangan Antarmuka Klien ......................................................
62
vii
BAB IV IMPLEMENTASI DAN PENGUJIAN.......................................
64
4.1 Implementasi Proses ............................................................................
65
4.2 Antarmuka (Interface) Pengguna.........................................................
69
4.2.1 Antarmuka Server .......................................................................
70
4.2.2 Antarmuka Klien (Client) ...........................................................
72
4.3 Lingkungan Pengujian .........................................................................
74
4.3.1 Spesifikasi Perangkat Keras (Hardware)....................................
75
4.3.2 Spesifikasi Perangkat Lunak .......................................................
77
4.4 Skenario Pengujian...............................................................................
77
4.5 Pengujian Kotak Hitam (Black Box Testing) ......................................
80
4.6 Analisis Hasil Pengujian ......................................................................
94
BAB V KESIMPULAN DAN SARAN.....................................................
96
5.1 Kesimpulan ..........................................................................................
96
5.2 Saran ....................................................................................................
97
DAFTAR PUSTAKA ...............................................................................
98
LAMPIRAN ..............................................................................................
L
viii
DAFTAR GAMBAR
Gambar 2.1 Sistem pengendali loop terbuka .................................................. 10 Gambar 2.2 Contoh sistem pengendali loop terbuka ...................................... 10 Gambar 2.3 Sistem pengendali loop tertutup .................................................. 11 Gambar 2.4 Contoh sistem pengendali loop tertutup ...................................... 14 Gambar 2.5 Model sekuensial linier ................................................................ 16 Gambar 2.6 Notasi DAD ................................................................................. 18 Gambar 2.7 Diagram konteks sistem penanganan royalti buku ..................... 19 Gambar 2.8 Notasi ERD .................................................................................. 21 Gambar 2.9 Contoh kardinalitas satu ke satu................................................... 23 Gambar 2.10 Contoh kardinalitas satu ke banyak............................................ 23 Gambar 2.11 Contoh kardinalitas banyak ke banyak....................................... 23 Gambar 2.12 Elemen sistem pengendalian alat melalui jaringan ................... 28 Gambar 2.13 Konfigurasi sistem pengendalian ............................................... 29 Gambar 2.14 Arsitektur TCP/IP....................................................................... 34 Gambar 2.15 Konektor serial DB9 Female...................................................... 36 Gambar 2.16 Sensor IC DS1621 (thermometer digital)................................... 38 Gambar 3.1 Diagram blok sistem .................................................................... 43 Gambar 3.2 Diagram ERD data suhu............................................................... 51 Gambar 3.3 Diagram konteks pengambilan data sensor suhu ......................... 51 Gambar 3.4 Diagram level 1 pengambilan data sensor suhu .......................... 52 Gambar 3.5 Diagram alur login server............................................................. 55 ix
Gambar 3.6 Diagram alur login klien .............................................................. 55 Gambar 3.7 Diagram alur klien........................................................................ 56 Gambar 3.8 Diagram alur server..................................................................... 58 Gambar 3.9 Tampilan menu login server......................................................... 59 Gambar 3.10 Tampilan utama aplikasi pengendalian server ........................... 61 Gambar 3.11 Tampilan menu login klien ........................................................ 63 Gambar 3.12 Tampilan utama aplikasi pengendalian klien ............................ 64 Gambar 4.1 Tampilan form login server.......................................................... 71 Gambar 4.2 Tampilan utama menu pengendalian server................................. 72 Gambar 4.3 Tampilan form login klien............................................................ 73 Gambar 4.4 Tampilan utama menu pengendalian klien................................... 75 Gambar 4.5 Form Login................................................................................... 83 Gambar 4.6 Form login salah........................................................................... 84 Gambar 4.7 Form aplikasi server ..................................................................... 84 Gambar 4.8 Tidak terbaca sensor di dalam ruangan ........................................ 85 Gambar 4.9 Tidak terbaca sensor di luar ruangan............................................ 85 Gambar 4.10 Form login klien ......................................................................... 87 Gambar 4.11 Form salah login........................................................................ 88 Gambar 4.12 Form aplikasi klien..................................................................... 89 Gambar 4.13 Form tidak terkoneksi ke server ................................................. 89 Gambar 4.14 Form terkoneksi ke server .......................................................... 89 Gambar 4.15 Konversi data suhu kedalam fahrenheit ..................................... 91 Gambar 4.16 Konversi data suhu kedalam Celcius ......................................... 92 x
Gambar 4.17 Memberi tanda (check list) log data to file ................................ 93 Gambar 4.18 Mencetak data suhu.................................................................... 93 Gambar 4.19 Jika sock listener atau sock server tidak berfungsi .................... 94 Gambar 4.20 Jika sock listener atau sock server tidak terkoneksi dengan jaringan....................................................................................... 94 Gambar 4.21 Jika sock listener atau sock server terkoneksi dengan jaringan . 94 Gambar 4.22 Jika sock listener atau sock server menolak koneksi ................. 94
xi
DAFTAR TABEL
Tabel 2.1 Contoh tabel entitas mahasiswa ....................................................... 22 Tabel 2.2 Simbol diagram alur......................................................................... 25 Tabel 2.3 Alamat dan IRQ port serial ............................................................. 35 Tabel 2.4 Konfigurasi pin dan nama sinyal konektor DB9............................. 36 Tabel 3.1 Data suhu dan satuannya.................................................................. 45 Tabel 3.2 Contoh sample data suhu ................................................................. 46 Tabel 3.3 Contoh mencetak data suhu di dalam sample data .......................... 48 Tabel 4.1 Contoh mencetak data suhu di dalam sample data .......................... 70 Tabel 4.2 Skenario Pengujian .......................................................................... 81 Tabel 4.12 Data hasil pengujian menu change password klien ...................... 108 Tabel 4.13 Data hasil pengujian menu utama aplikasi pengendalian klien .... 108 Tabel 4.14 Hasil pengujian pengaksesan server dengan banyak klien ........... 109
xii
BAB I PENDAHULUAN
1.1 Latar Belakang Seiring pesatnya perkembangan teknologi di era globalisasi dan modernisasi sekarang, segala bidang relatif bisa dipandang sangat relevan berhubungan dengan komputer. Komputer adalah mesin pengolah informasi. Berjuta-juta fakta dan bagan yang berbeda dapat disimpan dalam komputer dan dapat dicari kembali apabila diperlukan. Komputer dapat juga mengerjakan perhitungan yang rumit dengan kecepatan yang luar biasa. Hanya dalam waktu beberapa detik komputer dapat melaksanakan pekerjaan yang kalau dikerjakan oleh tenaga manusia akan memakan waktu berminggu-minggu. Ini sangat mempengaruhi kinerja suatu bidang usaha, baik itu pada instansi-instansi pemerintah maupun swasta, setidaknya menunjang kelancaran kegiatan operasional dan pada akhirnya keberhasilan perusahaan atau organisasi itu sendiri. Pada perkembangannya komputer tidak hanya dijadikan sebagai media informasi atau alat hitung, malainkan juga digunakan untuk menciptakan suatu sistem
kendali yang dapat digunakan untuk mengendalikan peralatan elektronik maupun peralatan listrik. Berdasarkan hal di atas maka penulis mencoba membuat sistem untuk menampilkan data suhu/temperatur melalui jaringan dengan menggunakan
sensor
IC DS1621 (Intelligent Sensor Dallas Semiconduktor 1621) serta menggunakan bahasa pemrograman Visual Basic Versi 6.0 dari Microsoft.
1.2 Rumusan Masalah Berdasarkan latar belakang di atas penulis mencoba mengidentifikasikan masalah sebagi berikut: 1. Bagaimana mengendalikan sensor suhu yang terhubung dengan komputer server dimana pengendaliannya dilakukan oleh komputer klien? 2. Bagaimana mengkonfigurasi jaringan komputer untuk keperluan aplikasi yang akan dibuat? 3. Bagaimana teknik pengiriman data pada saat melakukan pengukuran suhu suatu benda melalui program aplikasi antara klien dan server?
1.3 Ruang Lingkup Untuk mengetahui suhu suatu benda digunakan IC DS1621 yang dilengkapi sensor suhu. Dari IC DS1621 ini didapatkan data suhu secara waktu nyata (real time) yang digunakan oleh sistem yang dibuat ini. IC DS1621 akan memberikan informasi suhu secara periodik dan terusmenerus. Kemudian apabila klien meminta informasi suhu kepada server maka server
akan mengambil suhu yang diberikan IC DS1621 untuk kemudian dikirimkan ke klien.
1.4 Tujuan Pembahasan Tujuan pembahasan ini adalah untuk: 1. Merancang aplikasi pengambilan suhu/temperatur yang dibangun untuk menghubungkan komputer server dan komputer klien terhadap sensor suhu yang dikendalikan. 2. Mengimplementasikan program pada rangkaian yang akan menjadi antarmuka antara klien-server (client-server) dan sensor suhu yang dikendalikan. 3. Mengembangkan suatu aplikasi klien-server yang dapat melayani pengendalian jarak jauh sensor suhu.
1.5 Metodologi Penyelesaian Masalah Dalam penyusunan tugas akhir ini, penulis menggunakan model rekayasa perangkat lunak yaitu model sekuensial linier sebagai metodologi penyelesaian masalah. Model tersebut berisi rangkaian aktifitas proses yang disajikan dalam proses yang terpisah, adalah sebagai berikut: 1. Pendefinisian kebutuhan Pada tahap ini akan didefinisikan kebutuhan sistem untuk menampilkan data suhu/temperatur melalui jaringan.
2. Analisa sistem Berdasarkan data-data yang dimiliki, dilakukan analisa sehingga dapat diketahui spesifikasi kebutuhan yang meliputi data input yang akan dikelola sistem, output yang harus dihasilkan dan rekayasa proses untuk menghasilkan input dan output. 3. Desain Berdasarkan hasil analisis pada tahap sebelumnya, akan dirancang sistem yamg meliputi : a. Rancangan input b. Rancangan proses c. Rancangan output d. Rancangan antar muka 4. Implementasi dan testing Pada tahap ini akan dilakukan penerapan dari hasil rancangan sistem untuk menampilkan data suhu/temperatur melalui jaringan kedalam baris-baris kode program dan juga dilakukan pengujian program. 5. Pengujian sistem Setelah perangkat lunak selesai diterapkan, pengujian sistem untuk menampilkan data suhu/temperatur melalui jaringan akan segera dimulai. 6. Operasi dan pemeliharaan Tahap ini tidak dilakukan dalam pembahasan tugas akhir ini.
1.6 Sistematika Penulisan Sistematika penulisan ini dimaksudkan agar setiap penjelasan yang ada pada setiap bab bisa saling terkait dengan bab yang lain, sehingga bisa lebih mudah dimengerti oleh pembaca. Tugas akhir ini berisi lima bab dan tiap bab terdiri dari beberapa subbab, yaitu: BAB I PENDAHULUAN Bab ini membahas mengenai latar belakang, rumusan masalah, ruang lingkup, tujuan pembahasan, metodologi peyelesaian masalah dan sistematika penulisan. BAB II LANDASAN TEORI Bab ini membahas teori yang menjadi dasar pembahasan perancangan aplikasi sistem pengambilan suhu/temperatur melalui jaringan seperti konsep dasar sistem, dasar sistem pengendali, perangkat lunak, ERD (Entity Relationship Diagram), DAD (Diagram Alir Data), pangkalan serial (serial port), LAN (Local Area Network), dan beberapa pengertian yang berkaitan dengan teori-teori yang digunakan pada perancangan ini. BAB III ANALISIS DAN PERANCANGAN Bab ini berisi analisis dan pembahasan, menjelaskan identifikasi data, identifikasi fungsi, pemodelan data, pemodelan fungsi, diagram alur (flowchart), rancangan antar muka pengguna.
BAB IV IMPLEMENTASI DAN PENGUJIAN Bab ini membahas tentang implementasi proses antar muka pengguna, lingkungan pengujian, skenario pengujian, pengujian, dan analisis pengujian. BAB V PENUTUP Bab ini berisi kesimpulan dan saran mengenai sistem untuk menampilkan data suhu/temperature melalui jaringan.
BAB II LANDASAN TEORI
2.1 Konsep Dasar Sistem Sistem merupakan jaringan kerja dari beberapa prosedur yang saling berhubungan, berkumpul bersama untuk melakukan suatu kegiatan atau untuk menyelesaikan suatu sasaran yang tertentu. Sistem itu sendiri memiliki karakterisitik atau beberapa sifat tertentu, yaitu mempunyai komponen (components), batas sistem (boundary), lingkungan luar sistem (environments), penghubung (interface), masukan (input), keluaran (output), pengolah (proses), dan sasaran suatu tujuan (goal). (Jogiyanto, 1995:775) Adapun penjelasan dari karateristik dari suatu sistem adalah sebagai berikut: a. Komponen sistem. Suatu sistem terdiri dari sejumlah komponen yang saling berinteraksi, yang artinya saling bekerja sama membentuk suatu kesatuan. Komponen-komponen sistem atau elemen-elemen sistem dapat berupa suatu subsistem atau bagianbagian dari sistem. Setiap subsistem mempunyai karakteristik dari sistem yang
menjalankan suatu fungsi tertentu dan mempengaruhi proses sistem secara keseluruhan. b. Batas sistem. Batasan sistem merupakan daerah yang membatasi antara suatu sistem dengan sistem yang lainnya atau dengan lingkungan luarnya. Batasan sistem ini memungkinkan suatu sistem dipandang sebagai suatu kesatuan dan menunjukkan ruang lingkup dari sistem tersebut. c. Lingkungan luar sistem. Lingkungan luar dari suatu sistem adalah apapun di luar batas dari sistem yang mempengaruhi cara kerja atau operasi sistem. Lingkungan luar sistem dapat bersifat
menguntungkan
dan
juga
merugikan.
Lingkungan
luar
yang
menguntungkan merupakan energi dari sistem dan dengan demikian harus dijaga dan dipelihara. Sedangkan lingkungan luar yang merugikan harus ditahan dan dikendalikan, jika tidak maka akan mengganggu kelangsungan hidup dari sistem. d. Penghubung sistem. Penghubung merupakan media penghubung antara satu subsistem dengan subsistem yang lainnya. Melalui penghubung ini memungkinkan sumber-sumber daya mengalir dari satu subsistem ke subsistem yang lainnya. Dengan adanya penghubung maka yang namanya sistem bisa berhubungan dengan dunia di luar sistem. e. Masukan Sistem. Masukan sistem adalah rangsangan atau perangsang yang diterapkan ke sebuah sistem pengontrolan dari sebuah energi luar agar menghasilkan tanggapan tertentu
dari sebuah energi sistem pengontrolan. Energi yang dimasukkan ke dalam sistem melalui alat masukan contohnya papan ketik (keyboard), tetikus (mouse), joystick, sensor, dan lain sebagainya. f. Keluaran Sistem. Keluaran sistem adalah tanggapan sebenarnya yang diperoleh dari sebuah sistem pengontrolan atau keluaran sistem juga bisa diartikan energi yang telah diproses dari sistem masukan, keluaran diolah agar menjadi yang berguna. g. Pengolah Sistem. Pengolahan adalah suatu operasi yang sengaja dibuat langsung secara terusmenerus yang terdiri dari beberapa aksi atau perubahan yang dikontrol, diarahkan secara sistematis menuju pada suatu hasil atau keadaan tertentu. Suatu sistem dapat mempunyai suatu bagian pengolah atau sistem itu sendiri sebagai pengolahnya. Pengolah yang akan merubah masukan menjadi keluaran. h. Sasaran Sistem atau Tujuan. Setiap sistem yang ada pasti mempunyai sasaran atau tujuan dibentuknya sistem tersebut, karena apalah artinya sebuah sistem jika tidak mempunyai sasaran atau tujuan yang diinginkan. Suatu sistem mempunyai tujuan atau sasaran, kalau sistem tidak mempunyai sasaran maka sistem tidak akan ada. Suatu sistem dikatakan berhasil bila mengenai sasaran atau tujuan yang diinginkan si pembuat sistem. Sasaran sistem sangat berpengaruh pada masukan dan keluaran yang dihasilkan.
2.2 Dasar Sistem Pengendali Pengendali berkaitan erat dengan strategi yang memungkinkan sebuah komputer yang berperan sebagai otak dalam sistem pengendalian mengarahkan gerakan-gerakan dari sebuah alat terkendali, dan menerima respons dari sensor yang memiliki oleh alat terkendali tersebut ke komputer. Strategi inilah yang dikenal sebagai teori pengendalian (Sugiri dan M.Supriyadi, 2005:7). Pengendalian ini telah dikembangkan dan diterapkan secara luas dalam masalah perekayasaan. Industri besar dan modern sangat memerlukan tenaga ahli perencanaan sistem pengendali dan perancangan desain sistem pengendali, termasuk teknisi profesional sebagai operator. Tidak menutup kemungkinan bahwa mereka berasal dari berbagai disiplin ilmu yang saling berhubungan karena teori sistem pengendali modern dikembangkan guna mengatasi kerumitan yang dijumpai pada berbagai sistem pengendalian yang menuntut kecepatan dan ketelitian yang tinggi dengan hasil keluaran yang optimal. Sejak tahun 1960, teori klasik yang membahas sistem satu masukan dan satu keluaran sudah tidak dapat digunakan untuk sistem pengendali yang membutuhkan banyak masukan dan banyak keluaran. Sistem pengendali dengan banyak masukan dan banyak keluaran menjadi semakin rumit sehingga untuk memecahkannya diperlukan banyak persamaan dan peralatan bantu yang memadai. Dalam sistem pengendali kita mengenal adanya sistem pengendali loop terbuka (open-loop control system) dan sistem pengendali loop tertutup (closed-loop control system).
2.2.1 Sistem Pengendali Loop Terbuka Sistem pengendali loop terbuka adalah sistem pengendali yang sinyal keluarannya tidak berpengaruh terhadap aksi pengendalian karena di dalam sistem pengendali terbuka tidak ada proses umpan balik sinyal keluaran ke dalam sinyal masukan. Dengan demikian di dalam sistem pengendali ini tidak ada proses untuk membandingkan antara sinyal keluaran dengan sinyal masukan. Gambar 2.1 adalah diagram blok untuk sistem kendali loop terbuka yang menunjukkan hubungan antara masukan dan keluaran untuk sistem pengendalian loop terbuka.
Gambar 2.1 Sistem pengendali loop terbuka. Gambar 2.1 menggambarkan bahwa di dalam sistem tersebut tidak ada proses umpan balik untuk memperbaiki keadaan alat terkendali jika terjadi kesalahan. Jadi tugas dari elemen pengendali hanyalah memroses sinyal masukan kemudian mengirimkannya ke alat terkendali. Gambar 2.2 adalah contoh dari sistem pengendali loop terbuka.
Gambar 2.2 Contoh sistem pengendali loop terbuka. Contoh yang paling sederhana adalah pada sistem pengendali lampu lalu lintas (traffic light). Keluarannya tidak diperhatikan perubahan arus lalu lintas yang
terjadi pada setiap cabang perempatan, di mana kendaraan yang boleh jalan saat lampu hijau menyala tidak harus sama dengan banyaknya kendaraan yang masuk atau antri pada cabang perempatan itu karena waktu menyala lampu sudah ditetapkan. Contoh lainnya adalah sistem pengendali dalam mesin cuci. Setelah proses perendaman, pencucian, dan pembilasan, tidak ada proses untuk mengukur hasil keluaran, misalnya kebersihan pakaian yang dicuci. Setiap loop pengendali terbuka harus dikalibrasi dengan hati-hati agar ketelitian sistem tetap terjaga dan berfungsi dengan baik. Dengan adanya gangguan sistem, baik dari dalam maupun dari luar, maka sistem pengendali loop terbuka tidak akan dapat bekerja dengan baik seperti yang diharapkan.
2.2.2 Sistem Pengendali Loop Tertutup Sistem pengendali loop tertutup adalah sistem pengendali yang sinyal keluarannya mempunyai pengaruh langsung terhadap aksi pengendaliannya. Yang menjadi ciri dari sistem pengendali tertutup adalah adanya sinyal umpan balik. Sinyal umpan balik merupakan sinyal keluaran atau suatu fungsi keluaran dan turunannya, yang diumpankan ke elemen kendali untuk memperkecil kesalahan dan membuat keluaran sistem mendekati harga yang diinginkan. Gambar 2.3 adalah diagram blok untuk sistem kendali loop tertutup.
Gambar 2.3 Sistem pengendali loop tertutup. Gambar 2.3 menyatakan hubungan antara masukan dan keluaran dari suatu loop sistem tertutup. Sinyal masukan yang sudah dibandingkan dengan sinyal umpan balik menghasilkan sinyal selisih atau sinyal kesalahan yang akan dikirimkan ke dalam elemen pengendali sehingga kemudian menghasilkan sebuah sinyal keluaran yang akan dikirim ke alat terkendali. Sinyal masukan (input) berupa masukan referensi yang akan menentukan suatu nilai yang diharapkan bagi sistem yang dikendalikan tersebut. Dalam berbagai sistem pengendalian, sinyal masukan dihasilkan oleh komputer. Lingkaran dengan tanda silang didalamnya disebut pendeteksi kesalahan (error detector). Di dalam diagram 2.3 terdapat dua sinyal yang masuk ke lingkaran, yaitu sinyal masukan dan sinyal umpan balik. Keluaran dari lingkaran ini berupa sinyal kesalahan yang nilainya merupakan selisih antara nilai sinyal masukan dengan sinyal umpan balik. Jadi sinyal kesalahan adalah perbedaan antara apa yang diinginkan dengan apa yang dihasilkan. Sinyal kesalahan ini kemudian dikirim ke elemen pengendali.
Pengendali adalah komponen-komponen pengendalian
yang bertugas
menerima sinyal kesalahan. Dari sinyal kesalahan tersebut akan dihasilkan sinyal keluaran yang akan dikirim ke alat terkendali. Dalam berbagai contoh di dalam pengendali terdapat basis data sinyal kesalahan. Basis data ini akan menghasilkan sinyal keluaran dari elemen pengendali yang berbeda-beda sesuai sinyal kesalahan yang masuk ke elemen pengendali. Alat terkendali adalah peranti yang sedang dikendalikan. Sinyal keluaran (output) yang dihasilkan oleh elemen pengendali akan menjadi dasar untuk sifat yang terjadi pada alat terkendali. Contohnya adalah motor servo mekanik, robot industri, dan lain sebagainya. Sinyal umpan balik adalah peranti yang sengaja disediakan untuk mendeteksi sinyal keluaran alat terkendali. Peranti ini dalam berbagai aplikasi praktis berupa sensor yang peka terhadap sinyal keluaran dari alat terkendali. Sinyal yang diterima oleh sensor tersebut akan dimasukkan ke dalam pendeteksi kesalahan. Sinyal pengendali tertutup dibagi menjadi dua, yaitu sistem pengendali tertutup secara manual dan sistem pengendali tertutup secara otomatis. Sistem pengendali
tertutup
manual
masih
menggunakan
operator
yang
bertugas
membadingkan sinyal keluaran dengan sinyal masukan dan kemudian memperbaiki kesalahan tersebut hingga sekecil mungkin. Contoh dari sistem pengendali loop tertutup otomatis adalah sistem pengendali servo mekanis. Bila besaran yang dikendalikan dalam sistem pengendali ini adalah besaran kecepatan, misalnya sensor yang digunakan untuk mengubah besaran mekanis menjadi besaran elektris adalah tacho meter. Sistem pengendali ini
sudah tidak menggunakan manusia lagi untuk mengamati kesalahan yang terjadi karena sudah terdeteksi secara otomatis oleh peranti mikroprosesor. Dengan demikian kesalahan yang terjadi dapat diminimalkan. Diagram blok dari sistem pengendali ini dapat dilihat pada Gambar 2.4.
Gambar 2.4 Contoh sistem pengendali loop tertutup. Contoh lain dari pengendali otomatis adalah pemanas air otomatis, sistem pemanas ruangan otomatis, dan pengendali aneka peralatan yang ada di industri.
2.3 Model Proses Perangkat Lunak Model proses untuk rekayasa perangkat lunak dipilih berdasarkan sifat aplikasi dan proyeknya, metode dan alat-alat bantu yang dipakai, dan kendali serta penyampaian yang dibutuhkan. Model yang dipergunakan dalam karya tulis ini adalah model sekuensial linier. Model sekuensial linier untuk rekayasa perangkat lunak, atau sering disebut juga dengan ”siklus kehidupan klasik” atau ”model air terjun” model sekuensial linier mengusulkan sebuah pendekatan kepada perkembangan perangkat lunak yang sistematik yang mulai pada tingkat dan kemajuan sistem pada seluruh analisis,
desain, pengujian dan pemeliharaan, menurut Roger S. Pressman (2002:37-38) model sekuensial linier melingkupi aktifitas-aktifitas sebagai berikut: 1. Rekayasa dan pemodelan sistem/informasi Pada tahapan ini dilakukan proses pengumpulan kebutuhan pengguna pada tingkatan sistem dengan sejumlah kecil analisa serta desain tingkat puncak. 2. Analisis kebutuhan perangkat lunak Proses pengumpulan kebutuhan diintensifkan dan difokuskan khususnya pada perangkat lunak. Untuk memahami perangkat lunak yang dibangun, perekayasa perangkat lunak harus memahami domain informasi, tingkah laku, unjuk kerja, dan antarmuka yang diperlukan. 3. Desain Proses multi langkah yang berfokus pada empat atribut program yang berbeda: struktur data, arsitek perangkat lunak, representasi antarmuka, dan detail prosedural. Proses desain menerjemahkan kebutuhan ke dalam representasi sebelum
perangkat lunak yang
dimulai
pemunculan
kode.
sebuah
dapat diperkirakan demi kualitas Sebagaimana
persyaratan,
desain
didokumentasikan dan menjadi bagian dari konfigurasi perangkat lunak. 4. Generasi kode Desain harus diterjemahkan ke dalam bentuk mesin yang bisa dibaca. Artinya dilakukan pengkodean (coding) berdasarkan desain yang telah di buat. 5. Pengujian Setelah kode di buat, pengujian program di mulai. Proses pengujian berfokus pada logika internal perangkat lunak, memastikan bahwa semua pernyataan sudah
diuji dan pada eksternal fungsional yaitu mengarahkan pengujian untuk menemukan kesalahan-kesalahan dan memastikan bahwa masukan yang dibatasi akan memberikan hasil aktual yang sesuai dengan hasil yang dibutuhkan. 6. Pemeliharaan Perangkat lunak akan mengalami perubahan setelah disampaikan kepada pelanggan. Perubahan akan terjadi karena kesalahan-kesalahan ditentukan, karena perangkat lunak harus disesuaikan untuk mengakomodasi perubahan-perubahan di
dalam
lingkungan
eksternalnya.
Pemeliharaan
perangkat
lunak
mengaplikasikan lagi setiap tahap program sebelumnya dan tidak membuat. Untuk lebih jelasnya lagi bisa dilihat pada Gambar 2.5.
Gambar 2.5 Model sekuensial linier.
2.4 Diagram Alir Data Diagram Alir Data atau Data Flow Diagram, selanjutnya disebut dengan DAD, menggambarkan sistem sebagai jaringan kerja antar fungsi yang berhubungan satu sama lain dengan aliran dan penyimpanan data (Pohan dan Bahri, 1997:16). DAD sering digunakan untuk menggambarkan suatu sistem yang telah ada atau sistem baru yang akan dikembangkan secara logika tanpa mempertimbangkan
lingkungan fisik dimana data tersebut mengalir atau lingkungan fisik dimana data itu akan disimpan (Jogiyanto, 2005:700). Ada empat komponen dalam model DAD, yaitu: 1. Proses. Proses menunjukkan transformasi dari masukan menjadi keluaran, dalam hal ini sejumlah masukan dapat menjadi hanya satu keluaran atau sebaliknya. Proses direpresentasikan dalam bentuk lingkaran. 2. Aliran. Aliran digunakan untuk menggambarkan gerakan paket data atau informasi dari satu bagian ke bagian lain dari sistem. Nama aliran berfungsi untuk mendefinisikan arti dari aliran itu, dan ditulis untuk mengidentifikasi aliran tersebut. Komponen ini dipresentasikan dengan menggunakan panah yang menuju ke atau dari proses. 3. Penyimpanan. Komponen ini digunakan untuk memodelkan kumpulan data atau paket data. Notasi yang digunakan adalah garis dua sejajar. 4. Terminator. Terminator mewakili entiti luar dimana sistem berkomunikasi. Umumnya mengidentifikasi terminator tidak sulit. Kadangkala terminator berupa pemakai sistem itu sendiri. Pada kasus lain pemakai berpikir bahwa dia merupakan bagian dari sistem sehingga mempermudah pemodelan untuk mengidentifikasi terminator yang relevan. Komponen ini dipresentasikan menggunakan persegi
panjang. Gambar notasi komponen-komponen dalam DAD tampak pada Gambar 2.6.
Notasi arus data Notasi terminator
atau Notasi simpan data Notasi proses Gambar 2.6
Notasi DAD.
Sejumlah petunjuk yang perlu dilakukan untuk membuat DAD yang jelas dan enak dibaca yaitu: 1. Pilih nama yang jelas maksudnya (bagi proses, aliran, penyimpanan, dan terminator). 2. Menomori proses untuk memperjelas sistematika. 3. Menggambar kembali DAD hingga beberapa kali, sehingga cukup estetik. 4. Mencegah DAD yang terlalu kompleks dan tidak perlu. 5. Menjamin konsistensi DAD tersebut secara intern ataupun model lain yang berkaitan dengan DAD.
DAD yang pertama kali digambar, dikenal dengan diagram konteks, yaitu DAD level teratas (Jogiyanto, 2005:714). Diagram konteks adalah diagram yang memperlihatkan sistem sebagai sebuah proses (Abdul Kadir, 2003:40). Tujuannya adalah memberikan pandangan umum sistem. Diagram konteks memperlihatkan
sebuah proses yang berinteraksi dengan dengan lingkungannya. Ada pihak luar yang atau lingkungan yang memberi masukan dan ada pihak yang menerima keluaran sistem. Dalam hal ini pihak luar (sering disebut terminator) dapat berupa sistem lain, suatu perangkat keras, orang atau lain sebagainya. Dari diagram konteks ini kemudian akan digambarkan lagi dengan lebih terinci lagi yang disebut dengan overview diagram (level 0). Tiap-tiap proses tersebut kemudian digambarkan lagi lebih terinci, dan seterusnya sampai tiap-tiap proses tidak dapat digambar lebih terinci lagi. Suatu diagram konteks selalu mengandung satu dan hanya satu proses saja. Proses ini mewakili proses dari seluruh sistem. Diagram konteks ini menggambarkan hubungan masukan/keluaran (input/output) antara sistem dengan dunia luarnya. Berikut contoh diagram konteks pada sistem yang dipakai untuk menangani pembayaran royalti buku yang tampak pada Gambar 2.7.
Bagian penjualan laporan penjualan daftar rencana pembayaran
Manajer Keuangan
Sistem pembayaran royalti
transfer
Bank
persetujuan bukti transfer surat pemberitahuan
Pengarang
Gambar 2.7 Diagram konteks sistem penanganan royalti buku.
2.5 Diagram Keterhubungan Entitas Diagram Keterhubungan Entitas atau Entity Relationship Diagram, selanjunya disebut ERD, adalah model konseptual yang mendeskripsikan hubungan antar penyimpanan (dalam DAD). ERD digunakan untuk memodelkan struktur data dan hubungan antar data. Model entity-relationship yang berisi komponen-komponen himpunan entitas dan himpunan relasi yang masing-masing dilengkapi dengan atribut-atribut yang merepresentasikan seluruh fakta dari real world (dunia nyata) yang ditinjau, dapat digambarkan dengan lebih sistematis dengan menggunakan ERD (Fathansyah, 2001:70). ERD menggunakan sejumlah notasi dan simbol untuk menggambarkan struktur dan hubungan antar data. Notasi-notasi simbolik di dalam ERD yang dapat digunakan adalah: 1. Persegi panjang, menyatakan himpunan entitas. 2. Lingkaran atau elips, menyatakan atribut (atribut yang berfungsi sebagai key digarisbawahi). 3. Belah ketupat, menyatakan himpunan relasi. 4. Garis (link), sebagai penghubung antara himpunan relasi dengan himpunan entitas dan himpunan entitas dengan atributnya. 5. Kardinalitas relasi dapat dinyatakan dengan banyaknya garis cabang atau dengan pemakaian angka (1 dan 1 untuk relasi satu-ke-satu, 1 dan N untuk relasi satu-kebanyak atau N dan N untuk relasi banyak-ke-banyak). Notasi ERD dapat dilihat pada Gambar 2.8.
E
Himpunan entitas e
a
R
Atribut
Himpunan relasi R
Link
Gambar 2.8. Notasi ERD.
Entitas merupakan individu yang mewakili sesuatu yang nyata (eksistensinya) dan dapat dibedakan dari sesuatu yang lain. Sekelompok entitas yang sejenis dan berada dalam lingkup yang sama membentuk sebuah himpunan entitas. Atribut mendeskripsikan karakteristik (sifat-sifat) dari entitas. Ada atribut yang dijadikan kunci (key) dan yang lainnya disebut atribut deskriptif. Atribut deskriptif adalah atribut-atribut yang tidak menjadi primary-key atau merupakan anggota dari primary-key. Pada dasarnya, kunci adalah satu atau gabungan dari beberapa atribut yang dapat membedakan semua baris data dalam tabel secara unik atau tidak boleh sama (Fathansyah, 2001:39). Ada tiga macam kunci yang dapat diterapkan pada suatu tabel, yaitu: 1. Kunci Super (Superkey). Superkey merupakan satu atau lebih atribut (kumpulan atribut) yang dapat membedakan setiap baris data dalam sebuah tabel secara unik.
2. Kunci Kandidat (Candidate-key). Candidate-key merupakan kumpulan atribut minimal yang dapat membedakan setiap baris data dalam sebuah tabel secara unik. 3. Kunci Primer (Primary-key). Primary-key dipilih dari sejumlah candidate-key, umumnya didasari oleh: a. Key tersebut lebih sering (lebih natural) untuk dijadikan sebagai acuan. b. Key tersebut lebih ringkas. c. Jaminan keunikan key tersebut lebih baik. Berikut contoh dari satu tabel entitas yang tampak pada tabel 2.1. Tabel 2.1 Contoh tabel entitas mahasiswa. Nim
nama_mhs
alamat_mhs
tgllhr_mhs
01503-006
Esti nopian
Jl. Semanan Raya No. 18A Jakarta 11850
27-Nov-1985
01503-040
Nikky Utari
Jl. Meruya Selatan No. 34 Jakarta 11650
28-Apr-1986
01503-107
Dina Fitriyah
Kompleks Bintaro Blok F4/1 Tangerang
08-Okt-1985
11852
Dari Tabel 2.1 diketahui bahwa himpunan entitasnya adalah mahasiswa, terdiri atas empat kolom (jumlah kolom menyatakan jumlah atribut) dan tiga baris (jumlah baris menyatakan jumlah entitas). Atribut dari tabel diatas adalah nim, nama_mhs, alamat_mhs, dan tgllhr_mhs. Atribut yang berfungsi sebagai primary-key adalah nim, dan atribut yang berfungsi sebagai atribut deskriptif adalah nama_mhs, alamat_mhs, dan tgllhr_mhs. Relasi menunjukkan adanya hubungan diantara sejumlah entitas yang berasal dari himpunan entitas yang berbeda. Kumpulan semua relasi di antara entitas-entitas
yang terdapat pada himpunan entitas-himpunan entitas membentuk himpunan relasi (relationship sets). Kardinalitas relasi menunjukkan jumlah maksimum entitas yang dapat berelasi dengan entitas pada himpunan entitas yang lain. Kardinalitas relasi yang terjadi diantara dua himpunan entitas dapat berupa: 1. Satu ke satu (One to one). Setiap entitas pada himpunan entitas pertama berhubungan dengan paling banyak dengan satu entitas pada himpunan entitas kedua, begitu juga sebaliknya. Contoh kardinalitas satu ke satu dapat dilihat pada Gambar 2.9. 1
1
Pasien
Tempat tidur
Di tempat
Gambar 2.9 Contoh kardinalitas satu ke satu.
2. Satu ke banyak (One to many). Setiap entitas pada himpunan entitas pertama dapat berhubungan dengan banyak entitas pada himpunan entitas kedua, dan setiap entitas pada himpunan entitas kedua berhubungan dengan paling banyak dengan satu entitas pada himpunan entitas pertama. Contoh kardinalitas satu ke banyak dapat dilihat pada Gambar 2.10. 1 Pegawai
N Bekerja
Departemen
Gambar 2.10 Contoh kardinalitas satu ke banyak.
3. Banyak ke banyak (Many to many). Setiap entitas pada himpunan entitas pertama dapat berhubungan dengan banyak entitas pada himpunan entitas kedua, dan demikian juga sebaliknya. Contoh kardinalitas banyak ke banyak dapat dilihat pada Gambar 2.11. N Pegawai
N Bekerja
Proyek
Gambar 2.11 Contoh kardinalitas banyak ke banyak. Kardinalitas relasi satu ke banyak dan banyak ke satu dapat dianggap sama, karena tinjauan kardinalitas relasi selalu dilihat dari dua sisi (dari himpunan entitas pertama ke himpunan entitas kedua dan dari himpunan entitas kedua ke himpunan entitas pertama). Dua kelompok pentahapan yang biasa ditempuh dalam pembuatan ERD, yaitu: 1. Tahap pembuatan ERD awal (preliminary design). Mendapatkan sebuah rancangan basis data minimal yang dapat mengakomodasi kebutuhan penyimpanan data terhadap sistem yang sedang ditinjau. 2. Tahap optimasi ERD (final design) Melakukan koreksi terhadap hasil tahap pertama, berupa pendekomposisian himpunan entitas, penggabungan himpunan entitas, pengubahan derajat relasi, penambahan relasi baru hingga perubahan (penambahan dan pengurangan) atribut-atribut untuk masing-masing entitas dan relasi.
Langkah-langkah teknis yang dapat dilakukan untuk menghasilkan ERD awal adalah: 1. Mengidentifikasi dan menetapkan seluruh himpunan entitas yang terlibat. 2. Menentukan atribut-atribut key dari masing-masing himpunan entitas. 3. Mengidentifikasi dan menetapkan selurtuh himpunan relasi di antara himpunan entitas-himpunan entitas yang ada beserta kunci asingnya (foreign-key). 4. Menentukan derajat atau kardinalitas relasi untuk setiap himpunan relasi. 5. Melengkapi himpunan entitas dan himpunan relasi dengan atribut-atribut deskriptif (non key).
2.6 Diagram Alur (Flowchart) Diagram alir atau flowchart adalah gambaran dalam bentuk diagram alir dari algoritma-algoritma dalam suatu program, yang menyatakan arah alur program tersebut. Tabel 2.2 adalah simbol yang digunakan dalam menggambar suatu diagram alur: Tabel 2.2 Simbol diagram alur. SIMBOL
NAMA
FUNGSI
TERMINATOR
Permulaan/akhir program
GARIS ALIR (FLOW LINE)
Arah aliran program
PREPARATION
Proses inisialisasi/pemberian harga awal
PROSES
Proses perhitungan/proses pengolahan data
INPUT/OUTPUT DATA
Proses input/output data, parameter, informasi
PREDEFINED PROCESS (SUB PROGRAM) DECISION
ON PAGE CONNECTOR OFF PAGE CONNECTOR
Permulaan sub program/proses menjalankan sub program Perbandingan pernyataan, penyeleksian data yang memberikan pilihan untuk langkah selanjutnya Penghubung bagian-bagian flowchart yang berada pada satu halaman Penghubung bagian-bagian flowchart yang berada pada halaman berbeda
2.7 LAN (Local Area Network) Local Area Network (LAN) adalah sejumlah komputer yang saling dihubungkan bersama di dalam satu areal tertentu yang tidak begitu luas, seperti di dalam satu kantor atau gedung. Secara garis besar terdapat dua tipe jaringan atau LAN, yaitu jaringan peer to peer dan jaringan Client-Server. Pada jaringan peer to peer, setiap komputer yang terhubung ke jaringan dapat bertindak baik sebagai workstation maupun server. Sedangkan pada jaringan Client-Server, hanya satu komputer yang bertugas sebagai server dan komputer lain berperan sebagai workstation. LAN dapat mendukung sejumlah pelayanan seperti: 1. Pengiriman dan pengaksesan berkas, misalnya pergerakan suatu blok data yang besar, sepertinya teks dari satu terminal ke terminal lain. 2. Grafik. 3. Pengolahan data.
4. Surat elektronik. 5. Akses ke basis data utama dan/atau ke basis data tersebar. 6. Pengolahan tersebar. LAN bekerja dikendalikan oleh software NOS (Network Operating System). Fungsi NOS adalah: a. Memungkinkan sistem operasi suatu PC dihubungkan dengan LAN untuk berkomunikasi dengan server. b. Supaya sebuah LAN dapat menghubungkan dengan LAN yang lain. Untuk menyediakan susunan pengaman yang mencegah akses yang tidak diinginkan. LAN tersusun dari beberapa elemen dasar yang meliputi komponen hardware dan software, yaitu: 1. Komponen Fisik Personal Computer (PC), Network Interface Card (NIC), Kabel, Topologi jaringan. 2. Komponen Software Sistem Operasi Jaringan, Network Adapter Driver, Protokol Jaringan.
2.7.1
Sistem Pengendalian Alat Melalui LAN Sistem pengendalian alat yang melibatkan LAN terus berkembang dewasa ini.
Dengan menggunakan sistem ini pengendalian alat dapat dilakukan dari jarak jauh (remote). Jenis alat yang dapat dikendalikan antara lain: pencetak, mikrokontroler, dan piranti-piranti lain. Untuk membentuk sistem ini diperlukan beberapa elemenelemen, yaitu:
1. Klien (Client) Merupakan komputer yang digunakan untuk mengirimkan data-data pengendalian yang akan disampaikan ke server. 2. Media Jaringan (LAN) Media jaringan akan mengantarkan data-data pengendalian untuk membentuk komunikasi antara klien dan server. 3. Server Merupakan elemen utama pada sistem ini karena server adalah komputer yang digunakan untuk menerima dan melaksanakan perintah-perintah pengendalian dari klien. 4. Alat yang dikendalikan Merupakan tujuan utama pada sistem ini yang dapat melakukan pengendalian sesuai dengan yang dimaksudkan. Pada Gambar 2.12 terlihat jelas bahwa terdapat empat elemen sistem yang digunakan untuk membangun sistem pengendalian berbasis jaringan. Alat yang dikendalikan harus diletakan pada komputer server untuk membentuk titik pusat kendali.
Gambar 2.12 Elemen sistem pengendalian alat melalui jaringan.
Setiap komputer yang berada pada jaringan tentunya mempunyai alamat yang berbeda-beda dan alamat ini biasa disebut dengan alamat IP (Internet Protocol), selain itu alamat IP adalah sebagai identitas suatu komputer untuk melakukan pengiriman dan penerimaan paket data dalam suatu jaringan. Pada Gambar 2.7 jika komputer klien ingin mengirimkan paket data untuk mengendalikan alat maka harus mengetahui alamat IP komputer yang terhubung dengan alat (dalam hal ini server) paket data pengendalian akan menerima oleh komputer server jika alamat IP dan port yang digunakan benar. Jika pengendalian dimungkinkan pada topologi jaringan bintang maka harus membutuhkan beberapa komputer klien sebagai akses untuk pengendaliannya. Lihat Gambar 2.13. Klien 1 Server Hub/Switch
Klien 2
Alat yang dikendalikan
Gambar 2.13 Konfigurasi sistem pengendalian.
Pada Gambar 2.13 paket-paket data yang dikirimkan dari klient 1 dan klien 2 dikirimkan melalui program kendali klien (aplikasi Client) kemudian dari aplikasi ini dikirimkan ke server sesuai dengan alamat IP Server yang digunakan selanjutnya
pengiriman data ini akan diterjemahkan oleh program kendali yang berada di komputer server (aplikasi Server) untuk diproses dan disampaikan ke alat yang dikendalikan dengan melalui antarmuka rangkaian pengendali. Sebagai contoh sistem pengendalian lampu listrik menggunakan LAN, pada sistem ini harus terdapat dua aplikasi yang digunakan untuk server dan untuk klien, masing-masing aplikasi ini diletakkan sesuai dengan fungsi komputer masing-masing (misalnya, fungsi komputer sebagai klien maka aplikasi yang digunakan adalah aplikasi client begitu juga sebaliknya). Jika pemakai (client) ingin mengendalikan lampu pada aplikasi klien maka pertama yang dilakukan ialah memasukkan nomor IP server yang akan digunakan, kemudian aplikasi klien akan terhubung ke aplikasi yang ada pada server, jika aplikasi sudah terhubung maka sistem pengendalian lampu ini sudah dapat dilaksanakan dengan mengirimkan perintah-perintah yang ada pada aplikasinya.
2.7.2 Winsock (Windows Socket) dan TCP/IP Socket adalah mekanisme komunikasi yang memungkinkan terjadinya pertukaran data antar program atau proses baik dalam satu mesin maupun antar mesin. Pada lingkungan sistem operasi MS Windows, kita mengenalnya dengan Winsock (Windows Socket). Komunikasi socket terutama diciptakan untuk tujuan menjembatani komunikasi antara dua buah program yang dijalankan pada mesin yang berbeda. Ini berarti dua program pada mesin yang sama dapat juga saling berkomunikasi. Kelebihan lain dari komunikasi socket adalah mampu menangani banyak klien sekaligus (multiple clients). Winsock dapat didefinisikan dan didokumentasikan oleh standar API untuk pemrograman protokol jaringan. Umunya
digunakan untuk program TCP/IP, tetapi dapat juga digunakan untuk program novell (IPX/SPX) dan protokol jaringan lainnya. Klien (client) adalah sebuah proses yang memulai suatu koneksi. Umumnya klien mengadakan koneksi dengan dengan satu server di waktu yang sama. Jika sebuah proses memerlukan hubungan dengan banyak server, maka akan menciptakan banyak klien. Server adalah suatu proses yang menjawab permintaan, umumnya server menangani banyak permintaan dari banyak klien secara serempak (banyak). Setiap koneksi dari server ke klien, dipisahkan oleh socket. Proses yang terjadi pada host lokal disebut disebut klien, klien ini membutuhkan layanan (service) untuk sebuah proses pada sebuah host yang lain, host tersebut yang dimaksud adalah server. Proses yang dilakukan oleh klien dan server memiliki jenis dan proses yang bernama sama. Sistem operasi yang sekarang digunakan sudah mendukung lingkungan yang banyak pengguna (multiuser) dan banyak pemrograman (multiprogramming). Sistem operasi dapat melakukan multi proses dalam satu buah host baik itu server maupun klien, maka perlu ditentukan titik-titik komunikasi sebagai berikut: a. Local host b. Local process c. Remote host d. Remote process Local host dan remote host memanfaatkan alamat IP, sedangkan untuk mendefinisikan proses, maka dibutuhkan identifier khusus yang disebut nomor port.
Dalam protokol TCP/IP nomor port berupa bilangan integer dari 0 sampai 65535. Nomor port dibagi dalam 3 kelompok yakni: 1. Well-known ports : nomor port ini bermula dari 0 sampai 1023. Contoh : port 80 untuk World Wide Web HTTP. 2. Registered ports : nomor port ini bermula dari 1024 sampai 49151. Contoh : port 1168 untuk VChat Conference Service. 3. Dynamic ports : nomor port ini bermula dari 49152 sampai 65535.
TCP/IP (Transmission Control Protocol/Internet Protocol) adalah salah satu jenis himpunan aturan yg memungkinkan komputer untuk berhubungan antara satu dengan yg lain (protocol) yg memungkinkan kumpulan komputer untuk berkomunikasi dan bertukar data didalam suatu jaringan (network). TCP/IP merupakan protokol jaringan, yang berada pada layer 3 dan 4. Protokol jaringan menyediakan service seperti pengalamatan, transpor data, routing, dan koneksi logical melalui jaringan. Dua komputer harus menggunakan protokol jaringan yang sama supaya program pada komputer tersebut dapat berkomunikasi. Protokol
jaringan
lainnya
yang
banyak
digunakan
adalah
Novell
IPX,
3Com/IBM/Microsoft NetBIO dan Apple AppleTalk. TCP/IP merupakan prokotol jaringan yang paling populer sekarang ini karena semua komputer mendukungnya. Model TCP/IP mempunyai 5 lapisan yang diurutkan dari atas kebawah, yaitu:
1. Lapisan Aplikasi (Application Layer) Layer Application terletak di atas pada model TCP/IP konsep 5 layer dan merupakan tempat program software memperoleh akses ke jaringan. Layer ini kira-kira sesuai dengan layer Session, layer Presentation, dan layer Application pada model OSI. Beberapa layanan dan utiliti TCP/IP beroperasi pada Layer Application. Layanan dan utiliti tersebut meliputi: a. HyperText Transfer Protocol (HTTP) b. File Transfer Protocol (FTP). FTP adalah suatu layanan Internet yang c. Simple Mail Transfer Protocol (SMTP). SMTP merupakan suatu protocolyang dipakai server mail untuk mentransfer e-mail. IIS dapat mengirimkan pesanpesan dengan memakai protocol SMTP. d. Telnet. Telnet adalah suatu protocol yang menyamai terminal yang dapat dipakai untuk me-logon ke host jaringan yang jauh. e. Domain Name System (DNS). DNS merupakan seperangkat protocol dan layanan pada suatu jaringan TCP/IP yang membolehkan para pemakai jaringan untuk mempergunakan nama-nama hierarki yang sudah dikenal ketika meletakkan host ketimbang harus mengingat dan memakai alamat IPnya. f.
Simple Network Management Protocol (SNMP). SNMP memungkinkan Anda untuk mengelola node jaringan seperti server, workstation, router, bridge, dan hub dari host sentral. SNMP dapat dipakai untuk mengonfigurasi device yang jauh, memantau unjuk kerja jaringan, mendeteksi kesalahan jaringan atau akses yang tidak cocok, dan mengaudit pemakaian jaringan.
2. Lapisan Transport (Transport Layer) Protocol-protocol transport menghadirkan sesi komunikasi di antara komputerkomputer dan menentukan tipe layanan transport entah berorientasi koneksi (TCP) ataupun berorientasi datagram yang tanpa koneksi user datagram protocol (UDP). TCP menyajikan komunikasi berorientasi koneksi yang dapat diandalkan untuk aplikasi-aplikasi yang secara khusus mentransfer sejumlah besar data pada suatu waktu. TCP juga dipakai untuk aplikasi-aplikasi yang memerlukan pengakuan bagi data yang diterima. Namun demikian, UDP menyediakan komunikasi tanpa koneksi dan tidak menjamin mampu mengirimkan paket. 3. Lapisan Network (Network Application) Bertanggung jawab menentukan alamat jaringan, menentukan rute yang harus diambil selama perjalanan, dan menjaga antrian trafik di jaringan. Data pada layer ini berbentuk paket. 4. Lapisan Datalink (Datalink Layer) Lapisan kedua dari model TCP/IP, yaitu lapisan yang bertugas mengatur hubungan antara pengirim dan penerima, dan memastikan pesan sampai ke tujuan dengan baik. Lapisan ini berfungsi untuk meningkatkan kualitas transmisi dan pengkodean impuls elektrik. Atau lapisan dalam model jaringan yang mengatur komunikasi di antara host secara spesifik. 5. Lapisan Fisik (Physical layer) Bertanggung jawab atas proses data menjadi bit dan mentransfernya melalui media, seperti kabel, dan menjaga koneksi fisik antar sistem. Pada Gambar 2.14 dibawah ini kita bisa melihat arsitektur TCP/IP.
Application
Transport
Network
Datalink
Physical
Gambar 2.14 Arsitektur TCP/IP.
2.8 Port Serial (Serial Port) Port serial ialah pengiriman data secara serial (data dikirim satu persatu secara berurutan), sehingga port serial jauh lebih lambat daripada port paralel. Serial port lebih sulit ditangani karena peralatan yang
dihubungkan ke serial port harus
berkomunikasi dengan menggunakan transmisi serial, sedang data di komputer diolah secara paralel. Oleh karena itu data dari dan ke serial port harus dikonversikan ke dan dari bentuk paralel untuk bisa digunakan. Menggunakan hardware, hal ini bisa dilakukan
oleh
Universal
Asyncronous
Receiver
Transmimeter
(UART),
kelemahannya kita butuh software yang menangani register UART yang cukup rumit dibanding pada port paralel. Konverter yang paling sering digunakan adalah RS232. RS232 pada komputer mempunyai dua jenis konektor, yaitu konektor 25 pin (DB25) dan 9 pin (DB9) yang berpasangan (jantan dan betina). Bentuk dari konektor DB25
sama persis dengan port paralel. Kelebihan dari komunikasi serial ialah panjang kabel jauh dibanding paralel karena serial port mengirimkan logika “1” dengan kisaran tegangan –3 V hingga –25 V dan logika 0 sebagai +3 Volt hingga +25 V sehingga kehilangan daya karena panjangnya kabel bukan masalah utama. Bandingkan dengan port paralel yang menggunakan level TTL berkisar dari 0 V untuk logika 0 dan +5 Volt untuk logika 1. Tapi perlu diperhatikan bahwa dalam pengiriman data serial semakin jauh jarak kirim maka kemungkinan noise atau gangguan semakin besar. Pada seperangkat komputer biasanya tersedia Communication port atau sering disebut dengan COM. Biasanya terdapat dua buah Communication port, yaitu COM1 dan COM2. Port tersebut biasanya digunakan untuk mouse. IRQ (Interrupt Request Lines) atau line-line interrupt pada COM1 dan COM 3 menggunakan IRQ4 dan COM2 dan COM4 menggunakan IRQ3, Sedangkan mouse menggunakan IRQ12. Alamat standar serial port adalah sebagaimana tampak dalam Tabel 2.3. Tabel 2.3 Alamat dan IRQ port serial Nama COM 1 COM 2 COM 3 COM 4
Alamat 3F8 2F8 3E8 2E8
IRQ 4 3 4 3
Hardware pada komunikasi serial port dibagi menjadi 2 (dua ) kelompok yaitu Data Communication Equipment (DCE) dan Data Terminal Equipment (DTE). Contoh dari DCE ialah modem, plotter, scanner dan lain lain sedangkan contoh dari DTE ialah terminal di komputer. Konektor port serial terdiri dari 2 jenis, yaitu konektor 25 pin (DB25) dan 9 pin (DB9) yang berpasangan (jantan dan betina).
Bentuk dari konektor DB25 sama persis dengan port paralel. Pada tugas akhir ini penulis menggunakan konektor DB9 female yang dapat dilihat pada Gambar 2.15.
Gambar 2.15 Konektor serial DB9 Female. Berikut ini adalah tabel penggunaan pin, nama pin, dan jenis sinyal yang digunakan pada konektor serial DB9. Tabel 2.4 Konfigurasi pin dan nama sinyal konektor DB9. Pin (DB9) 1 2 3 4 5 6 7 8 9
Nama Sinyal Data Carrier Detect Received Data (RxD) Transmitted Data(TxD) Data Terminal Ready(DTR) Ground Data Set Ready (DSR) Request To Send (RTS) Clear To Send (CTS) Ring Indicator
Jenis Input Input Output Output Input Output Input Input
Pada perancangan rangkaian pengukur suhu, penulis menggunakan konektor DB9 female. Dari sembilan pin yang ada hanya menggunakan beberapa pin diantaranya pin 3, pin 4, pin 7 dan pin 8. Adapun keterangan dari pin-pin diatas yaitu:
a. Pin 1 DCD Data Carier Detect) berfungsi untuk mendeteksi boleh atau tidaknya DTE menerima data. b. Pin 2 RxD (Received Data) berfungsi sebagai jalur penerimaan data dari DCE ke DTE. c. Pin 3 TxD (Transmitted Data) berfungsi sebagai jalur pengiriman data dari DTE ke DCE. d. Pin 4 DTR (Data Terminal Ready) berfungsi untuk memberitahu kesiapan terminal DTE. e. Pin 5 (Ground) berfungsi sebagai saluran ground. f. Pin 6 DSR (Data Set Ready) berfungsi untuk menyatakan bahwa status data tersambung pada DCE. g. Pin 7 RTS (Request to Send) berfungsi untuk mengirim sinyal informasi dari DTE ke DCE bahwa akan ada data yang akan dikirim. h. Pin 8 CTS (Clear to Send) berfungsi untuk memberitahu pada DTE bahwa DCE siap untuk menerima data. i. Pin 9 (Ring Indicator) berfungsi untuk memberitahu DTE bahwa ada terminal yang menginginkan komunikasi dengan DCE.
2.9 Sensor Temperatur Digital DS1621 Untuk mengetahui perubahan suhu atau temperatur suatu benda atau ruangan, kita dulu mempergunakan thermometer analog yang menggunakan air raksa atau alkohol. Thermometer analog ini mempunyai kekurangan baik toleransi terhadap
suhu yang diatur, maupun terjadinya kesalahan pembacaan, sehingga suhu yang akan diukur menjadi tidak akurat atau tepat. Lambat laun zaman berubah ke arah digital di mana thermometer yang tadinya analog berubah menjadi teknologi digital. Thermometer digital ini mampu membaca temperatur sampai sepersepuluh dari derajat temperatur suatu ruangan (sesuai dengan sensifitas alat) juga mampu mengkonversikan langsung skala temperatur dari Celcius ke Fahrenheit dengan sekali menekan tombol saja. Seiring dengan perkembangan zaman. Perkembangan dunia komunikasi data dengan elektronika juga berkembang dengan pesat, dan sekarang ini dengan menggunakan IC DS1621 (Integrated Circuit Dallas Semiconduktor 1621) dikombinasikan dengan perkembangan jaringan komputer, kita mampu membaca suhu atau temperatur ruangan dimanapun kita berada. IC DS1621 ditunjukkan pada Gambar 2.16.
Gambar 2.16 Sensor IC DS1621 (thermometer digital).
2.10 Microsoft Visual Basic 6.0 Microsoft Visual Basic 6.0 merupakan bahasa pemrograman yang bekerja dalam ruang lingkup MS-Windows. Microsoft Visual Basic 6.0 hampir dapat memanfaatkan seluruh kemudahan dan kecanggihan yang dimiliki oleh system operasi Windows. Secara umum kelebihan dari Microsoft Visual Basic 6.0 adalah
menyediakan komponen-komponen yang memungkinkan Anda untuk membuat program aplikasi yang sesuai dengan tampilan dan cara kerja Windows. Visual Basic adalah bahasa pemrograman tingkat tinggi yang merupakan pengembangan dari bahasa BASIC versi DOS. BASIC (Beginners’ Allpurpose Symbolic Instruction Code) merupakan bahasa pemrogaraman yang mudah dipelajari. Perintah-perintahnya mirip dengan penggunaan bahasa sehari-hari (inggris). Perusahaan-perusahaan software memproduksi bahasa BASIC dengan versi yang berbeda seperti Microsoft QBASIC, QUICKBASIC, GWBASIC, dan IBMBASICA. Perbedaan antara Visual Basic dengan bahasa BASIC adalah pemrograman BASIC masih berorientasi pada text dan program dieksekusi secara berurutan. Untuk itu bahasa BASIC disebut sebagai Interpreter. Sedangkan dalam Visual Basic dengan lingkungan grafiknya, pemrograman berorientasi object dan sudah merupakan compiler. Visual Basic program terdiri dari banyak sub program (prosedur), dimana setiap prosedur mempunyai kode tersendiri dan pada saat yang bersamaan dapat digabungkan menjadi satu. Visual Basic 6.0 adalah salah satu produk dari Microsoft Visual Studio. Visual Basic 6.0 ini adalah sebuah pemrograman berorientasi obyek, dimana semua fungsifungsi yang akan dijalankan sudah berupa kotrol yang dapat ditambahkan pada form yang akan dijalankan atau secara lazim disebut dengan darg and drop method. Seluruhnya cepat, hanya membutuhkan pemrograman yang lebih sedikit sehingga juga disebut sebagai Rapid Application Development.
Selain itu Visual Basic 6.0 juga banyak dipilih karena fitur-fitur yang dimiliki cukup lengkap untuk mendukung pemrograman yang cukup kompleks. Keinggulan lain yang dimiliki Visual Basic versi ini adalah kemampuannya dalam mengakses basis data yang tersedia dengan kelengkapan komponen-komponen antara lain ORADC dan DBG6RID. Dan alasan lain mengapa Visual Basic 6.0 banyak digunakan untu operasi interface, yaitu karena Visual Basic 6.0 telah menyediakan fungsi untuk komunikasi serial yaitu dengan menggunakan MSComm Control. MSComm Control ini sangat mudah penggunaannya sehingga sangat baik bila digunakan sebagai protocol komunikasi serial.
2.11 Suhu Suhu menunjukkan derajat panas benda. Mudahnya, semakin tinggi suhu suatu benda, semakin panas benda tersebut. Suhu menunjukkan energi yang dimiliki oleh suatu benda. Setiap atom dalam suatu benda masing-masing bergerak, baik itu dalam bentuk perpindahan maupun gerakan di tempat berupa getaran. Makin tingginya energi atom-atom penyusun benda, makin tinggi suhu benda tersebut. Suhu juga disebut temperatur.
2.11.1 Satuan Suhu Mengacu pada SI (Standard International), satuan suhu adalah Kelvin (K). Skala-skala lain adalah Celcius, Fahrenheit, dan Reamur. Pada skala Celcius, 00C adalah titik dimana air membeku dan 1000C adalah titik didih air pada tekanan 1 atmosfer. Skala ini adalah yang paling sering digunakan di dunia. Skala
Celcius juga sama dengan Kelvin sehingga cara mengubahnya ke Kelvin cukup ditambahkan 273 (atau 273.15 untuk lebih tepatnya). Skala Fahrenheit adalah skala umum yang dipakai di Amerika Serikat. Suhu air membeku adalah 320F dan titik didih air adalah 2120F. sebagai satuan baku, Kelvin tidak memerlukan tanda derajat dalam penulisannya. Misalnya cukup ditulis suhu 20K saja, tidak perlu 200K. Cara mudah untuk mengubah dari Celcius, Fahrenheit, dan Reamur adalah dengan mengingat perbandingan C: F: R = 5 : 9 : 4. Contoh: 1. 1000C pada skala Fahrenheit adalah 9/5 x 100 – 32 = 2120F 2. 770F pada skala Celcius adalah 5/9 x (77-32) = 250C
BAB III ANALISIS DAN PERANCANGAN
Pada bab ini akan diawali dengan tinjauan permasalahan, fokus kepada gambaran umum sistem pengambilan data sensor suhu yang akan dibuat. Selain itu juga akan dilakukan proses identifikasi kebutuhan data serta cara kerja atau proses pengolahan data. Hasil dari pada gambaran ini akan dipakai untuk mendapatkan
model data dari sistem ini. Setelah itu akan dibuat model dari proses yang terjadi untuk mengolah data. Perancangan akan dijelaskan berdasarkan pada hasil pemodelan dan di titik beratkan pada pembuatan diagram alur (flowchart). Pada gambaran diagram alur ini diharapkan sistem pengambilan data sensor suhu dapat di program.
3.1 Gambaran Umum Membangun sebuah sistem yang bertujuan untuk mengendalikan suhu memang suatu hal yang lumrah di zaman sekarang ini, tetapi tidak tertutup kemungkinan bila penulis membuat sistem pengambilan data suhu yang dapat dikendalikan dari jarak jauh dengan memanfaatkan jaringan komputer yang telah ada. Hal ini dapat menjadi alternatif lain pada sistem pengendalian yang berada dalam suatu apartemen, perkantoran, maupun perusahaan yang memiliki jaringan komputer. Pada tahap analisis sistem ini, semua kebutuhan perangkat lunak didefinisikan sesuai dengan sasaran yang ingin dicapai. Adapun analisis tersebut menyangkut tentang masukan (input) dan keluaran (output) dari perangkat lunak, serta mendefinisikan bagaimana proses yang berjalan pada perangkat lunak untuk menjadikan masukan yang ada menjadi keluaran yang diharapkan. Dalam hal ini, perangkat lunak yang akan dibangun adalah sistem pengendali yang dapat mengendalikan sensor suhu dari komputer dengan memanfaatkan jaringan komputer wilayah lokal atau local area network (LAN). Sistem ini bekerja dengan menggunakan jaringan klien (client) dan server, dimana server membuka koneksi dan klien melakukan koneksi terhadap server. Komputer klien akan mengirimkan perintah pengendalian yang ditujukan kepada komputer server, kemudian komputer server
akan melayani dan memproses data pengendalian untuk diteruskan ke sensor suhu yang dijadikan sebagai kendali. Pada pembahasan ini, sistem pengambilan data sensor suhu ini akan berjalan pada sistem operasi Windows. Untuk membangun sistem pengambilan data sensor suhu melalui jaringan komputer lokal (LAN) terdiri dari beberapa sub-sistem yang dirangkai menjadi satukesatuan yang utuh seperti pada Gambar 3.1. Komputer Klien
Local Area Network (LAN)
Komputer Server
Interface
Detektor Suhu
Gambar 3.1 Diagram blok sistem. Pada Gambar 3.1 ada alat detektor suhu dan juga interface ke komputer server. Detektor suhu ini akan mengambil data suhu yang kemudian oleh interface dikonversikan ke dalam bentuk ASCII. Kemudian oleh aplikasi dari komputer server akan dibaca dan disimpan dalam sebuah file, atau ditampilkan saja ke monitor (tergantung dari perintah user server). Software yang ada diserver ini akan mengambil data suhu sesuai interval waktu yang ditentukan oleh usernya server secara manual. Selain itu user server juga bisa menentukan apakah satuan suhu yang diminta dalam satuan Fahrenheit. Pada aplikasi server ini juga dilakukan proses konversi satuan suhu dari Celcius ke fahrenheit karena data suhu yang diambil oleh detektor suhu berupa Celcius. Semua data yang diambil akan didampingi dengan waktu yang didapat dari clock yang ada di komputer. Terutama yang disimpan ke file.
Komputer klien memiliki aplikasi yang akan mengambil data suhu yang disimpan di dalam server melalui wilayah jaringan lokal (LAN) dan kemudian hasilnya akan ditampilkan ke dalam monitor. Untuk mendapatkan data suhu ini, ada dua pilihan yang harus dilakukan user klien, yaitu mendapatkan satu kali data suhu hanya sekali atau mendapatkan data suhu setiap lima detik. Sesuai dengan pilihan user klien maka aplikasi klien akan meminta data suhu ke server. Permintaan ini akan tergantung kepada keadaan server, apabila
server tidak terkoneksi ke klien maka akan
menampilkan pesan bahwa tidak ada koneksi ke server. Apabila ada server terkoneksi di LAN maka aplikasi server akan menerima permintaan data suhu. Data suhu yang diminta ini didapat dari pembacaan interface dan langsung dikirim kepada klien sesuai dengan pilihan user klien (sekali atau setiap lima detik), data yang dikirim oleh server ini akan diterima oleh aplikasi klien dan ditampilkan. Perlu dicatat disini bahwa satuan suhu yang diminta tidak bisa ditentukan oleh user klien (semua tergantng pada data yang tersedia pada server).
3.2 Identifikasi Masalah Untuk mengetahui suhu ruangan atau suhu suatu benda di tempat yang jauh atau di tempat yang berbeda akan sangat riskan apabila harus datang ke tempatnya langsung sehingga akan menghabiskan waktu dan tenaga.
3.2.1 Identifikasi Data yang Dibutuhkan
Data yang menjadi masukan bagi sistem ini merupakan nilai yang dapat digunakan untuk sistem pengambilan data sensor suhu yang ingin dikendalikan dari komputer yang masih berada dalam satu jaringan lokal. Untuk lebih jelasnya, berikut ini merupakan identifikasi data yang dibutuhkan server pada sistem pengambilan data sensor suhu. 1. Nama dan kata sandi (password) Pada menu login komputer server, pengguna bisa memasukkan nama pengguna, kata sandi (password), OK, batal (cancel) dan keluar (exit). Jika nama pengguna dan kata sandi sesuai dengan data yang ada, maka pengguna dapat masuk ke menu utama aplikasi server. Tapi jika nama dan kata sandi tidak sesuai maka sistem akan mengirimkan pesan salah, dan mengulang memasukkan nama dan kata sandi dengan benar.
2.
Satuan data suhu Pada satuan data suhu ini pengguna hanya memberi tanda (check list) apabila ingin memilih satuan data suhu. Satuan data suhu yang ditampilkan program berupa satuan suhu Celcius dan Fahrenheit. Satuan suhu disini berupa data suhu yang ditampilkan dengan satuan suhunya yaitu Celcius atau Fahrenheit. Contohnya adalah pada Tabel 3.1 yaitu data suhu dan satuannya. Tabel 3.1 Data suhu dan satuannya. Durasi Waktu 16:05:41
Data sensor suhu 32,00F
16:05:42 16:05:43 16:05:44
3.
32,00F 00,00C 00,00C
Sample data suhu Pada sample data suhu ini pengguna hanya memberi tanda (check list) log to file yang juga sebagai sample data apabila ingin melihat data hasil pengukuran sensor suhu. Data hasil sensor suhu ini akan menampilkan format tanggal, durasi waktu, sensor outdoor dan sensor indoor. Durasi waktu yang digunakan disini adalah berdasarkan interval waktu yang dipilih. Program memberikan pilihan interval waktu dengan memilih interval 1 second (detik), 5 second, 30 second dan 1 menit. Sedangkan suhu diluar ruangan dan suhu didalam ruangan adalah nilai data suhu yang diukur oleh sensor suhu yang diletakkan sebelumnya, yaitu yang terletak di dalam ruangan atau di luar ruangan. Tabel 3.3 adalah contoh menampilkan data suhu dalam interval 1 second dengan
sensor suhu yang
diletakkan di dalam ruangan.
Tabel 3.2 Contoh sample data suhu. Tgl 08-22-2008 08-22-2008 08-22-2008 08-22-2008 08-22-2009
Durasi waktu 16:05:41 16:05:42 16:05:43 16:05:44 16:05:45
Sensor Outdoor -
Sensor Indoor 32,00F 32,00F 32,00F 32,00F 32,00F
Untuk identifikasi data yang dibutuhkan klien pada sistem pengambilan sensor suhu adalah sebagai berikut: 1. IP server, nama dan kata sandi (password) Pada menu login komputer klien, pengguna bisa memasukkan IP address, nama pengguna, kata sandi (password), OK, batal (cancel) dan keluar (exit). Jika IP server, nama pengguna dan kata sandi sesuai dengan data yang ada, maka pengguna dapat masuk ke menu utama aplikasi server. Tapi jika IP server nama dan kata sandi tidak sesuai maka sistem akan mengirimkan pesan salah, dan mengulang memasukkan nama dan kata sandi dengan benar.
3.2.2
Identifikasi Fungsi yang Dibutuhkan Adapun identifikasi fungsi server yang dibutuhkan dari data-data diatas adalah:
1.
Proses menyimpan nama dan kata sandi secara manual Proses ini untuk menyimpan nama dan kata sandi pengguna secara manual agar bisa diidentifikasi oleh program dengan cara memasukan nama dan kata sandi yang ditulis dalam program dan dilakukan secara manual (tidak dalam tabel database).
2.
Proses validasi nama dan kata sandi (password) Proses ini melakukan validasi dari nama pengguna dan kata sandi. Jika nama pengguna dan kata sandi sesuai dengan data yang ada didalam program, maka pengguna dapat masuk ke menu utama sistem. Tetapi jika nama pengguna dan
kata sandi tidak sesuai dengan data yang ada, maka sistem akan menampilkan pesan kesalahan dan tidak dapat masuk ke menu utama sistem. 3.
Proses membaca data suhu dari port com Pertama tama program yang akan dijalankan adalah menginiasialisasi port com, disini
program akan memeriksa apakah port com siap menerima dan
mengirimkan data dari sensor suhu atau tidak. Apabila com port siap menerima dan mengirmkan data dari sensor suhu maka com port akan mengirim alamat ke server dan mengirimkan perintah baca temperatur, lalu menset server sebagai transmitter (yaitu device yang mengirim data ke port com). Apabila port com tidak siap dengan menerima dan mengirimkan data dari sensor maka akan menampilkan pesan eror. 4.
Proses mengambil data suhu dari sensor Setelah server mengirim perintah melalui port com ke sensor suhu, maka pada sensor suhu perintah pengambilan suhu yang diterima akan dibaca dan dibandingkan. Pengalamatan menggunakan bit transfer bernilai 1 dan 0. Untuk membaca suhu yang didapat maka sensor akan menggunakan rumus, temperatur = (suhu tinggi*256+suhu rendah/128*5/10. Jika suhu tinggi lebih besar atau sama dengan 128 maka temperatur akan dikurang 256. Setelah sensor mengukur suhu, maka data suhu akan dikirimkan ke server lalu ditampilkan ke monitor.
5.
Proses konversi satuan suhu Sebelum proses ini dilakukan, pengguna terlebih dahulu memberi tanda (check list) pada pilihan satuan suhu. Satuan suhu yang dipilih berupa Fahrenheit
dan Celcius. Proses ini melakukan konversi dan penghitungan suhu ke dalam satuan suhu Fahrenheit saja karena data yang diambil oleh sensor suhu berupa Celcius. Untuk pemilihan satuan suhu ke dalam Fahrenheit, program akan menggunakan rumus Fahrenheit untuk mengkonversikannya ke dalam satuan suhu Fahrenheit. Hal ini contohnya dengan
mengkonversi satuan suhu dari
Celcius ke Fahrenheit, yaitu dengan rumus Fahrenheit=32+ 9/5*t. Dimana 32 merupakan tetapan yang sudah ditetapkan oleh Satuan Internasional (SI), 9/5 adalah perbandingan satuan suhu yaitu Fahrenheit bernilai 9 dan Celcius bernilai 5, sedangkan t adalah nilai yang akan dirubah ke dalam satuan suhu Fahrenheit. Misalnya saja pada 1000C, pada skala Fahrenheit adalah 32+9/5*100=2120F. 6.
Proses mengirim data suhu ke klien Untuk mengirim data suhu kepada klien, maka pertama-tama server akan mengaktifkan sock listener yang berfungsi untuk mendengarkan permintaan data suhu dari klien, dan mengaktifkan sock server sebagai penerima permintaan data suhu sekaligus mengirim data suhu kepada klien yang meminta.
7. Proses mencetak data suhu Proses ini melakukan pencetakan data suhu kedalam tulisan yang nantinya bisa di print atau bisa dilihat secara keseluruhan berdasarkan interval waktu yang pengguna pilih. Sebelum proses pencetakan ini dijalankan, terlebih dahulu pengguna memberi tanda (check list) pada sample data. Di dalam sample data, data suhu akan diproses kemudian mencetaknya ke dalam tulisan dengan menggunakan format tanggal, waktu, suhu di luar ruangan dan suhu di dalam ruangan. Pencetakan data sensor suhu berdasarkan interval waktu yang dipilih.
Program memberikan pilihan interval waktu dengan memilih interval 1 second (detik), 5 second, 30 second dan 1 menit. Sedangkan suhu di luar ruangan dan suhu di dalam ruangan adalah nilai yang diukur sensor suhu yang diletakkan sebelumnya, yaitu l sensor suhu yang terletak di dalam ruangan atau terletak di luar ruangan. Dibawah ini adalah penggalan programnya dan Tabel 3.3 adalah contohnya mencetak data suhu dalam interval 1 second dan nilai yang diukur sensor yang diletakkan di dalam ruangan. Tabel 3.3 Contoh mencetak data suhu di dalam sample data. Tgl 08-22-2008 08-22-2010 08-22-2008 08-22-2008 08-22-2011
Durasi waktu 16:05:41 16:05:42 16:05:43 16:05:44 16:05:45
Sensor Outdoor -
Sensor Indoor 32,00F 32,00F 32,00F 32,00F 32,00F
3.3 Pemodelan Data Pemodelan data pada sistem pengambilan data sensor suhu ini menggunakan ERD (Entity Relationship Diagram) yang memungkinkan perekayasa perangkat lunak mengindentifikasi objek data dan hubungannya dengan menggunakan notasi grafis. Pada konteks analisis terstruktur, ERD menetapkan semua data yang dimasukkan, disimpan, ditransformasi, dan diproduksi pada suatu aplikasi. Dibawah ini merupakan ERD dari sistem pengambilan data sensor suhu. Pada Gambar 3.2 dapat dipresentasikan bahwa entitas satuan data suhu dan data suhu relasinya adalah satu ke satu (1 to 1).
Satuan data suhu Data suhu
m
1
1
Gambar 3.2 Diagram ERD data suhu.
3.4 Pemodelan Fungsi atau Proses Diagram Alir Data (Data Flow Diagram) sebuah teknik grafis yang menggambarkan aliran informasi dan transformasi yang diaplikasikan pada saat data bergerak dari input menjadi output. Pemodelan fungsi pada sistem pengambilan sensor suhu terlihat pada Gambar 3.3 dan Gambar 3.4. 1.
Diagram Konteks pengambilan data sensor suhu N Admin
Nama, password& Ip server
S
User
istem Pesan valid atau tdk valid data username&passw ord
pengam Hasil validasi
Pesan valid atau tdk valid data username,passwo rd&Ip server
Display
Gambar 3.3 Diagram konteks pengambilan data sensor suhu. Pada Gambar 3.3 terdapat proses untuk pengambilan data sensor suhu, entitas admin, entitas user dan entitas display. Entitas admin memberikan masukan berupa input nama dan password untuk menjadi masukan bagi proses sistem. Sedangkan entitas user memberikan masukan
berupa input IP server, nama dan password. Apabila nama dan password tervalidasi maka membuka display. 2.
Diagram Level 1 pengambilan data sensor suhu H
N
Admin
Valida si passw
Pesan Status displa
Display
Inaform asi
Informasi
Mengi rim alamat Data nama dan password Dalam teks file
Hasil pengiriman
Ambil data suhu Suh u
Nila Konve i rsi Data sensor suhu satuan Hasil konve rsi
Cetak data suhu
Hasil cetak Kirim data suhu
Dat a suh
Use r
Gambar 3.4 Diagram DAD level 1 pengambilan data sensor suhu. Gambar 3.4 menjelaskan bahwa admin memasukkan nama dan kata sandi yang selanjutnya diproses untuk validasi nama dan kata sandi (password), proses ini juga akan menuju ke tempat penyimpanan atau memori nama dan password. Tempat penyimpanan nama dan password ini bukan
berupa
database
tapi
hanya
sebagai
tempat
untuk
lebih
membandingkan nama dan password yang tertulis pada program, yang selanjutnya nama dan password tersebut akan menuju proses validasi. Pada proses validasi password, output yang dikeluarkan ada dua jalur yaitu pesan status display dan dan informasi alamat. Pada proses pesan status display akan menghasilkan jalur yaitu berupa output informasi display yang nantinya akan membuka display sensor suhu. Pada proses pengiriman alamat adalah bahwa alamat akan diproses untuk menentukan kemana data suhu yang telah diukur akan dikirimkan. Apabila proses pengiriman alamat data suhu telah dilakukan maka data suhu akan diambil oleh sensor suhu dan mengeluarkan output berupa nilai suhu yang selanjutnya akan di simpan di tempat penyimpanan data sensor suhu yang berupa text file bukan database. Dari tempat penyimpanan data sensor suhu diberikanlah input berupa nilai suhu untuk proses konversi satuan
suhu yang akan dikonversi menjadi
satuan suhu Fahrenheit atau Celcius. Setelah data suhu dikonversikan satuan suhunya, lalu dilakukan proses pencetakan data suhu yang inputnya
berupa hasil konversi satuan suhu. Hasil konversi itu selanjutnya menjadi masukan untuk proses cetak data suhu yang outputnya adalah hasil cetak yang akan dilanjutkan dengan pengiriman kepada klien berupa output data suhu.
3.5 Kamus Data Kamus
data merupakan
sebuah
model
yang
berfungsi
membantu pelaku sistem untuk mengerti aplikasi secara detail. Setelah pemodelan dalam bentuk diagram alir data didefinisikan, selanjutnya digambarkan makna atau kandungan dari setiap aliran data dan media penyimpanan data yang ada pada diagram alur data tersebut dalam bentuk kamus data. Kamus data tersebut adalah sebagai berikut: 1. nama dan password = nama+password *media penyimpanan nama dan password yang bukan database tapi text file* 2. nama arus data
: nama dan password
penjelasan : media penyimpanan data nama dan password periode
:
setiap
kali
terjadi
penerimaan
nama
dan
password volume
: tergantung kebutuhan
struktur data : nim password
1. data sensor suhu = data+sensor suhu “media data sensor suhu yang bukan database tapi teks file” 2. nama arus data
: nilai data suhu
arus data
: tanggal+waktu+sensor indoor+sensor outdoor
penjelasan
: media penyimpanan data sensor suhu
periode
: setiap kali terjadi permintaan data
volume
: tergantung kebutuhan
struktur data
: tanggal waktu sensor indoor sensor outdoor
3.6 Pemodelan Logika dengan Diagram Alur (Flowchart) Diagram alur (flowchart) adalah gambaran dalam bentuk diagram alir dari algoritma-algoritma dalam suatu program, yang menyatakan arah alur program tersebut. Alur logika dari aplikasi sistem pengambilan data sensor suhu dapat dilihat dari diagram alur yang dibuat penulis. Diagram alur terdiri atas diagram alur login server, diagram alur login klien, diagram alur hubungan dari klien ke server dan. Diagram alur tersebut dapat dilihat pada Gambar 3.5, Gambar 3.6, Gambar 3.7 dan Gambar 3.8.
Mulai
Mulai
Validasi user
Validasi user
N If name&password true=yes
Y
If name&password true=yes
Y
N
Tampilan utama aplikasi server
Tampilan utama aplikasi klien
Selesai
Selesai
Gambar 3.5 Diagram alur login server. Gambar 3.6 Diagram alur login klien.
Pada Gambar 3.5 dan 3.6 jika validasi alamat IP server, nama pengguna, dan kata sandi pada klien dan validasi nama pengguna dan kata sandi pada server tidak berhasil, maka sistem akan memberikan pesan kesalahan kemudian kembali ke form penerima nama pengguna dan kata sandi. Jika validasi berhasil maka sistem akan menampilkan menu utama aplikasi sistem pengambilan data sensor suhu.
Mulai
Validasi user
N
I f
Y Klien meminta data suhu
N
erko
Membaca suhu di sock klien
N
Y Apakah ada datanya
Y Klien mengambil data suhu
ditampilkan
Selesai
Gambar 3.7 Diagram Alur klien Pada gambar 3.7 diagram alur klien, jika validasi IP server, nama pengguna, dan kata sandi tidak berhasil, maka sistem akan kembali ke form penerima nama pengguna dan kata sandi. Jika validasi berhasil maka klien akan meminta data suhu dari server dan jika terkoneksi dengan server maka klien akan membaca suhu di sock klien, jika tidak maka kembali meminta data suhu. Setelah membaca data data suhu di
sock klien maka di cek apakah ada datanya atau tidak, jika ada data suhu yang dikirimkan oleh server maka klien akan mengambil data suhu tersebut lalu ditampilkan. Jika tidak adanya maka akan mengulang proses membaca suhu di sock klien Pada Gambar 3.8 diagram alur server, jika validasi nama pengguna, dan kata sandi tidak berhasil, maka sistem akan kembali ke form penerima nama pengguna dan kata sandi. Setelah itu dilanjutkan dengan pembacaan data suhu dari com port, apabila com port tidak berhasil membaca maka akan diulang pembacaan data suhu lagi, jika berhasil membaca com port maka dilanjutkan dengan mengambil data suhu dari sensor, jika tidak berhasil maka proses mengulang dari mengambil data suhu dari sensor, jika berhasil maka maka dilanjutkan dengan konversi satuan suhu. Di dalam proses konversi satuan suhu dilanjutkan dengan mencetak data suhu ke monitor. Lalu dilanjutkan dengan permintaan data suhu dari klien kepada server , jika tidak ada permintaan maka server akan memproses data suhu lagi dimulai dari membaca data suhu di com port. Jika ada permintaan maka server akan memberikannya kepada klien.
A Mulai
N
Validasi user N
If nama&pass wordtrue=y es
Terkoneksi
Y Server memberika n data suhu Y Selesai Membaca data suhu dari port com N
If baca suhu dari port com
Y Mengambil data suhu dari sensor N
If mengambil data suhu dari sensor Y Konversi data suhu N Mencetak data suhu
Permintaan data dari klien
A
Gambar 3.8 Diagram alur server 3.7 Rancangan Antarmuka (Interface)
Perancangan
antarmuka
menggambarkan
bagaimana
aplikasi sistem pengendalian dapat berkomunikasi dengan dirinya sendiri serta dengan sistem yang berinteraksi dengannya. Berdasarkan diagram alur yang telah dijelaskan sebelumnya, rancangan antarmuka aplikasi pengambilan data sensor suhu di peruntukan bagi server dan klien.
3.7.1 Rancangan Antarmuka Server Tampilan
utama
untuk
aplikasi
pengguna
server
merupakan program aplikasi yang penulis rancang sebagai antarmuka grafis antara pemakai program dengan komputer. Untuk lebih jelasnya, berikut ini merupakan rancangan antarmuka server pada sistem pengambilan sensor suhu.
1. Tampilan login aplikasi server Untuk memberikan keamanan pengendalian, penulis merancanga tampilan login untuk server. Tampilan login dapat dilihat pada Gambar 3.9 dengan desain sebagai berikut: Login Server OK
User Name
Teks 1
Password
Teks 2
Cancel Exit
Gambar 3.9 Tampilan menu login server. a.
Teks 1 Digunakan untuk memasukan nama pengguna.
b.
Teks 2 Digunakan untuk memasukan kata sandi.
c.
Tombol OK Digunakan untuk menyatakan validasi dari nama pengguna dan kata sandi. Jika nama pengguna dan kata sandi sesuai dengan data yang ada, maka pengguna dapat masuk ke menu utama pengendalian. Tetapi jika nama pengguna dan kata sandi tidak sesuai dengan data yang ada, maka sistem akan menampilkan pesan kesalahan.
d.
Tombol batal (Cancel) Digunakan untuk pengguna untuk membatalkan pengisian login.
e.
Tombol keluar (Exit) Digunakan untuk keluar dari aplikasi sistem pengendalian.
2. Tampilan utama aplikasi server Tampilan antarmuka untuk pengguna server dapat dilihat pada Gambar 3.10.
Indoor
___0C Com port Com 1 Com 2 Com 3 Com 4
Outdoor
Use fahrenheit Log data to file
__0C sensor Ics
sample time
Sensor indoor
1 sec
sensor outdoor
5 sec 30 sec 1 min
Teks 1
___0C
Close
Gambar 3.10 Tampilan utama aplikasi pengendalian server. Berikut ini penjelasan dari kontrol-kontrol yang digunakan dalam membangun aplikasi ini. a. Tombol com port Digunakan untuk inisialisasi port serial. b. Tombol N. of Sensor ICs
Digunakan untuk memilih data sensor yang terletak di dalam ruangan (indoor) atau didalam dan diluar ruangan (indoor+outdoor). c. Tombol sample time Untuk melihat sample data sensor suhu.
d. Kotak tampilan hasil data suhu Untuk menampilkan hasil data sensor suhu. e. Tombol use fahrenheit dan log data to file. Digunakan untuk memberikan pilihan, apakah data mau diubah ke Fahrenheit atau tidak. Kalau iya maka data temperatur akan diubah ke Fahrenheit setelah itu data akan dicetak ke dalam teks file. Bila data tidak ingin diubah ke Fahrenheit maka hasil data yang dalam Celcius langsung dicetak. f. Teks 1 Untuk menampilkan data suhu dan status permintaan koneksi dari klien. g. Kotak Tutup (Close) Untuk menutup aplikasi
3.7.2 Rancangan Antarmuka Klien Tampilan utama untuk aplikasi pengguna klien merupakan program aplikasi yang penulis rancang sebagai antarmuka antara pemakai program dengan komputer. 1. Tampilan login aplikasi klien Untuk memberikan keamanan pengendalian, penulis merancangan tampilan login untuk klien. Tampilan login dapat dilihat pada Gambar 3.11
Login Client
No IP User Name Password
Teks 1
OK
Teks 2
Cancel
Teks 3
Exit
Gambar 3.11 Tampilan menu login klien. Berikut ini penjelasan dari kontrol-kontrol yang digunakan dalam membangun aplikasi ini. a. Teks 1 Digunakan untuk memasukan alamat IP server yang dituju. b. Teks 2 Digunakan untuk memasukan nama pengguna. c. Teks 3 Digunakan untuk memasukan kata sandi. d. Tombol OK Digunakan untuk menyatakan validasi dari teks 1 (nama pengguna) dan teks 2 (kata sandi). Jika nama pengguna dan kata sandi sesuai dengan data yang ada, maka pengguna dapat masuk ke menu utama pengendalian. Tetapi jika nama
pengguna dan kata sandi tidak sesuai dengan data yang ada, maka sistem akan menampilkan pesan kesalahan. e. Tombol batal (Cancel) Digunakan untuk pengguna untuk membatalkan pengisian login. f. Tombol keluar (Exit) Digunakan untuk keluar dari aplikasi sistem pengendalian. 2. Tampilan utama aplikasi klien Tampilan antarmuka untuk pengguna klien dapat dilihat pada Gambar 3.12.
Gambar 3.12 Tampilan utama aplikasi pengendalian klien. Berikut ini penjelasan dari kontrol-kontrol yang digunakan dalam membangun aplikasi ini. a. Header nama aplikasi Disini terdapat nama aplikasi yaitu Client. b.
Kotak Auto (5 sec) Digunakan untuk membaca data suhu selama 5 second
c.
Kotak baca suhu Digunakan untuk membaca suhu.
d.
Kotak tampilan data hasil suhu.
Digunakan untuk menampilakan hasil data sensor suhu. e. Kotak Tutup (Close) Untuk menutup aplikasi
BAB IV
IMPLEMENTASI DAN PENGUJIAN
Setelah melakukan analisis kebutuhan dan perancangan perangkat lunak, langkah selanjutnya adalah pengkodean (implementasi) dan pengujian, hal ini didasarkan pada model sekuensial linier yang digunakan pada penelitian ini. Implementasi merupakan penerapan desain (perancangan) sistem yang telah dilakukan sebelumnya ke dalam bentuk yang dapat dimengerti oleh mesin dengan spesifikasi perangkat lunak serta perangkat keras yang digunakan.
Tahap pengujian difokuskan pada logika internal perangkat lunak, yang memastikan bahwa seluruh pernyataan telah diuji, dan fungsi eksternal, yaitu pengujian yang dilakukan untuk menemukan kesalahan-kesalahan dan memastikan bahwa masukan yang didefinisikan menghasilkan keluaran yang diinginkan. Tahap pengujian ini dibagi menjadi 2 (dua) bagian yaitu berupa skenario pengujian dan pengujian (testing). Untuk lebih jelasnya dibuatkan sebuah tabel skenario pengujian, hal ini bertujuan untuk memberikan keterangan tentang apa saja yang akan diuji.
4.1 Implementasi Proses 66 Pengkodean diperlukan agar rancangan dapat diterjemahkan ke dalam bentuk mesin dan dapat dijalankan. Pad bab ini penulis akan memberikan penggalan baris program untuk beberapa proses yaitu proses menyimpan nama dan kata sandi secara manual, proses validasi nama dan kata sandi (password), proses membaca data suhu dari port com, proses mengambil data suhu dari sensor, proses konversi satuan suhu, proses mengirim data suhu ke klien, proses mencetak data suhu,
Adapun kode
program yang terdapat pada menu-menu ditas adalah sebagai berikut: 1.
Proses menyimpan nama dan kata sandi secara manual Proses ini untuk menyimpan nama dan kata sandi pengguna secara manual agar bisa diidentifikasi oleh program dengan cara memasukan nama dan kata sandi yang ditulis dalam program dan dilakukan secara manual (tidak dalam tabel database). Dibawah ini adalah penggalan programnya. Private Sub cmdOk_Click()
Dim username As String Dim password As String Dim username As String Dim password As String username = "Server" password = "123456"
2.
Proses validasi nama dan kata sandi (password) Proses ini melakukan validasi dari nama pengguna dan kata sandi. Jika nama pengguna dan kata sandi sesuai dengan data yang ada didalam program, maka pengguna dapat masuk ke menu utama sistem. Tetapi jika nama pengguna dan kata sandi tidak sesuai dengan data yang ada, maka sistem akan menampilkan pesan kesalahan dan tidak dapat masuk ke menu utama sistem. Berikut ini adalah penggalan program dari validasi nama dan kata sandi.
If txtUserName.Text = username And txtPassword.Text = password Then frm_thermometer.Show frmInsert.Hide Else MsgBox "Masukan No IP Server, User Name & Password dengan benar", vbCritical, "Login Error..."
3.
Proses membaca data suhu dari port com Pertama tama program yang akan dijalankan adalah menginiasialisasi port com, disini
program akan memeriksa apakah port com siap menerima dan
mengirimkan data dari sensor suhu atau tidak. Apabila com port siap menerima dan mengirmkan data dari sensor suhu maka com port akan mengirim alamat ke server dan mengirimkan perintah baca temperatur, lalu menset server sebagai transmitter (yaitu device yang mengirim data ke port com). Apabila port com tidak siap dengan menerima dan mengirimkan data dari sensor maka akan menampilkan pesan eror. Di bawah ini adalah penggalan programnya. Private Function temperature(address As Integer) As Double address = address * 2 On Error GoTo errors open_iic_bus MSComm1.object '/*resettiamo bene il chip*/
IIC_stop '/**/ IIC_start IIC_tx_byte &H90 + address IIC_tx_byte &HAC IIC_tx_byte &H2 IIC_start IIC_tx_byte &H90 + address IIC_tx_byte &HEE IIC_stop IIC_start IIC_tx_byte &H90 + address IIC_tx_byte &HAA IIC_start IIC_tx_byte &H91 + address
4.
Proses mengambil data suhu dari sensor Setelah server mengirim perintah melalui port com ke sensor suhu, maka pada sensor suhu perintah pengambilan suhu yang diterima akan dibaca dan dibandingkan. Untuk membaca suhu yang didapat maka sensor akan menggunakan rumus, temperatur = (suhu tinggi*256+suhu rendah/128*5/10. Jika suhu tinggi lebih besar atau sama dengan 128 maka temperatur akan dikurang 256. Setelah sensor mengukur suhu, maka data suhu akan dikirimkan ke server lalu ditampilkan ke monitor. Penggalan programnya adalah seperti dibawah ini. Private Function temperature(address As Integer) As Double temperature_int = IIC_rx_byte(1) temperature_frac = IIC_rx_byte(0) temperature = (temperature_int * 256 + temperature_frac) / 128 * 5 / 10 If temperature_int >= 128 Then temperature = temperature - 256 End If IIC_stop Exit Function
5. Proses konversi satuan suhu
Sebelum proses ini dilakukan, pengguna terlebih dahulu memberi tanda (check list) pada pilihan satuan suhu. Satuan suhu yang dipilih berupa Fahrenheit dan Celcius. Proses ini melakukan konversi dan penghitungan suhu ke dalam satuan suhu Fahrenheit saja karena data yang diambil oleh sensor suhu berupa Celcius. Untuk pemilihan satuan suhu ke dalam Fahrenheit, program akan menggunakan rumus Fahrenheit untuk mengkonversikannya ke dalam satuan suhu Fahrenheit. Hal ini contohnya dengan
mengkonversi satuan suhu dari
Celcius ke Fahrenheit, yaitu dengan rumus Fahrenheit=32+ 9/5*t. Dimana 32 merupakan tetapan yang sudah ditetapkan oleh Satuan Internasional (SI), 9/5 adalah perbandingan satuan suhu yaitu Fahrenheit bernilai 9 dan Celcius bernilai 5, sedangkan t adalah nilai yang akan dirubah ke dalam satuan suhu Fahrenheit. Misalnya saja pada 1000C, pada skala Fahrenheit adalah 32+9/5*100=2120F. Penggalan program konversi satuan suhu kedalam fahrenheit adalah seperti dibawah ini. Private Function farenheit(t As Double) farenheit = 32 + 9 / 5 * t End Function
6.
Proses mengirim data suhu ke klien Untuk mengirim data suhu kepada klien, maka pertama-tama server akan mengaktifkan sock listener yang berfungsi untuk mendengarkan permintaan data suhu dari klien, dan mengaktifkan fungsi server sebagai penerima permintaan data suhu sekaligus mengirim data suhu kepada klien yang meminta. Berikut ini penggalan program pada sock listener dan sock server.
- Pada sock listener Private Sub sockListener_ConnectionRequest Dim i '* menerima apabila ada permintaan koneksi dari client '* oleh sockListener For i = 1 To nJumlahClient If Not sockServer(i).State = sckConnected Then sockServer(i).Accept requestID
- Pada sock server Private Sub sockServer_DataArrival '* menerima permintaan data '* sekaligus mengirim data suhu ke client yang meminta If bytesTotal > 0 Then '* nSuhu adalah variabel pengganti sBuffer = CStr(nsuhu) sockServer(Index).SendData sBuffer
7. Proses mencetak data suhu Proses ini melakukan pencetakan data suhu kedalam tulisan yang nantinya bisa di print atau bisa dilihat secara keseluruhan berdasarkan interval waktu yang pengguna pilih. Sebelum proses pencetakan ini dijalankan, terlebih dahulu pengguna memberi tanda (check list) pada sample data. Di dalam sample data, data suhu akan diproses kemudian mencetaknya ke dalam tulisan dengan menggunakan format tanggal, waktu, suhu di luar ruangan dan suhu di dalam ruangan. Pencetakan data sensor suhu berdasarkan interval waktu yang dipilih. Program memberikan pilihan interval waktu dengan memilih interval 1 second (detik), 5 second, 30 second dan 1 menit. Sedangkan suhu di luar ruangan dan suhu di dalam ruangan adalah nilai yang diukur sensor suhu yang diletakkan sebelumnya, yaitu l sensor suhu yang terletak di dalam ruangan atau terletak di luar ruangan. Dibawah ini adalah penggalan programnya dan Tabel 4.1 adalah
contohnya mencetak data suhu dalam interval 1 second dan nilai yang diukur sensor yang diletakkan di dalam ruangan. Private Function log_to_file() If check_log_to_file Then Open "pc_thermometer.txt" For Append As #1 data = Date$ & Time$ & label_temperature_outside.Caption & label_temperature_indoor.Caption txtMonitor.Text = txtMonitor.Text & vbCrLf & data txtMonitor.SelStart = Len(txtMonitor.Text) Print #1, Date$, Time$, label_temperature_outside.Caption, label_temperature_indoor.Caption Close #1 End If End Function
Tabel 4.1 Contoh mencetak data suhu di dalam sample data. Tgl 08-22-2008 08-22-2012 08-22-2008 08-22-2008 08-22-2013
Durasi waktu 16:05:41 16:05:42 16:05:43 16:05:44 16:05:45
Sensor Outdoor -
Sensor Indoor 32,00F 32,00F 32,00F 32,00F 32,00F
4.2 Antarmuka (Interface) Pengguna Antarmuka pengguna memiliki peran penting untuk menghubungkan antara pengguna dengan sistem pengendalian. Antarmuka aplikasi sistem pengambilan data sensor suhu di peruntukan bagi server dan klien. 4.2.1 Antarmuka Server Aplikasi sistem pengendalian pertama kali dijalankan adalah aplikasi server, karena aplikasi ini digunakan sebagai pelayanan. Maksudnya agar aplikasi ini dapat mendengarkan jika ada koneksi dari klien. Untuk lebih jelasnya dibawah ini adalah tampilan antarmuka server. 1. Form Login
Gambar 4.1 Tampilan form login server Penjelasan tentang tombol yang ada pada tampilan login server adalah sebagai berikut: a.
Kotak pengisian nama pengguna (User Name) Adalah text box yang digunakan untuk memasukan nama pengguna, standar nama pengguna adalah ”Server”.
b.
Kotak pengisian kata sandi (Password) Adalah text box yang digunakan untuk memasukan kata sandi, standar kata sandi adalah ”123456”.
b.
Tombol OK Digunakan untuk menyatakan jika pengguna telah menyetujui kotak pengisian nama pengguna dan kata sandi.
c.
Tombol batal (Cancel) Digunakan untuk membatalkan kotak pengisian nama pengguna dan kata sandi.
d.
Tombol keluar (Exit) Digunakan untuk keluar dari aplikasi sistem pengendalian.
2.
Tampilan Utama Aplilaksi Server
Gambar 4.2 Tampilan utama menu pengendalian server. Berikut ini penjelasan dari kontrol-kontrol yang digunakan dalam membangun aplikasi ini. g. Header aplikasi dan logo Disini terdapat logo aplikasi dan nama aplikasi. h. Tombol com port Digunakan untuk inisialisasi port serial. i. Tombol N. of Sensor ICs Digunakan untuk memilih data sensor yang terletak di dalam ruangan (indoor) atau didalam dan diluar ruangan (indoor+outdoor). j. Tombol sample time Untuk melihat sample data sensor suhu. k. Kotak tampilan hasil data suhu
Untuk menampilkan hasil data sensor suhu. l. Tombol use fahrenheit dan log data to file Digunakan untuk memberikan pilihan, apakah data mau diubah ke Fahrenheit atau tidak. Kalau iya maka data temperatur akan diubah ke Fahrenheit setelah itu data akan ditampilkan. Bila data tidak ingin diubah ke Fahrenheit maka hasil data yang dalam Celcius langsung ditampilkan. m. Tombol Tutup (Close) Untuk menutup aplikasi
4.2.2 Antarmuka Klien (Client) Tampilan utama untuk aplikasi pengguna klien merupakan program aplikasi yang penulis rancang sebagai antarmuka antara pemakai program dengan komputer. Langkah selanjutnya adalah mengaktifkan aplikasi sistem pengendalian klien pada komputer yang dijadikan klien. Form login klien seperti yang telihat pada Gambar 4.3.
Gambar 4.3 Tampilan form login klien
Penjelasan tentang kontrol yang ada pada tampilan login klien adalah sebagai berikut: 1. Kotak pengisian alamat IP server Adalah text box yang digunakan untuk memasukan alamat IP server yang dituju, standar alamat IP adalah alamat IP komputer itu sendiri. 2. Kotak pengisian nama pengguna (User Name) Adalah text box yang digunakan untuk memasukan nama pengguna klien, standar namanya adalah ”Client”. 3. Kotak pengisian kata sandi (Password) Adalah text box yang digunakan untuk memasukan kata sandi, standar kata sandinya asalah ”123456”. 4. Tombol OK Digunakan untuk menyatakan jika pengguna telah menyetujui kotak pengisian nama dan kata sandi. 5. Tombol batal (Cancel) Digunakan untuk membatalkan kotak pengisian nama pengguna dan kata sandi. 6. Tombol keluar (Exit) Digunakan untuk keluar dari aplikasi sistem pengendalian. Jika pengguna telah menyetujui kota pengisian nama dan kata sandi maka sistem akan melakukan autentifikasi data. Jika data yang dimasukkan sesuai dengan data yang berada pada sistem maka selanjutnya akan tampil menu utama pengendalian klien, seperti yang terlihat pada Gambar 4.4.
Gambar 4.4 Tampilan utama menu pengendalian klien. Berikut ini penjelasan dari kontrol-kontrol yang digunakan dalam membangun aplikasi ini. 1.
Header Nama Aplikasi Disini terdapat nama aplikasi yaitu Client.
2.
Kotak Auto (5 sec) Digunakan untuk membuka komunikasi ke server.
3.
Kotak Baca Suhu Digunakan untuk membaca suhu.
4.
Kotak Tampilan Data Hasil Suhu. Digunakan untuk menampilakan hasil data sensor suhu.
5. Kotak Close (Tutup) Untuk menutup aplikasi
4.3 Lingkungan Pengujian Pada penelitian ini, implementasi dari sistem pengendalian yang akan dibangun didukung oleh berbagai elemen pendukung, seperti perangkat keras dan
perangkat lunak. Pada sub bab berikut akan dijelaskan spesifikasi kebutuhan sistem pengambilan data sensor suhu. 4.3.1 Spesifikasi Perangkat Keras (Hardware) Perangkat keras yang digunakan dalam penelitian ini sebagai lingkungan implementasi sistem pengambilan data sensor suhu. Perangkat keras cukup berpengaruh terhadap implementasi sistem pengendalian yang akan dibuat. Berikut spesifikasi kebutuhan sistem dimana sistem dibuat dan dijalankan. 1. Komputer Server Komputer server digunakan sebagai pusat untuk mengendalikan peralatan listrik, karena pada komputer server terdapat rangkaian pengendali yang digunakan untuk mengendalikan peralatan listrik. Kelengkapan dan spesifikasi komputer server yang digunakan penulis adalah: a. Prosesor Intel Pentium IV 2,8 GHz b. Motherboard ASRock c. Memori sebesar 256 Mb d. Resolusi layar 1024 x 768 e. Harddisk sebesar 40 GB f. NIC/LAN card 100Mbps VIA Fast Ethernet (On Board) g. VGA on board h. Mouse dan Keyboard standard 2. Komputer Klien
Komputer klien digunakan sebagai tempat untuk mengendalikan peralatan dari jarak jauh (remote) yang berada dalam ruang lingkup LAN. Kelengkapan dan spesifikasi komputer klien yang digunakan oleh penulis adalah: a. Prosesor Intel Pentium IV 2,8 GHz b. Motherboard ASRock c. Memori sebesar 256 Mb d. Resolusi layar 1024 x 768 e. Harddisk sebesar 40 GB f. NIC/LAN card 100Mbps VIA Fast Ethernet (On Board) g. VGA on board h. Mouse dan Keyboard standard 3. Local Area Network (LAN) Untuk menghubungkan antara komputer klien dan komputer server dibutuhkan jaringan komputer lokal yang biasa disebut local area network (LAN). Perangkat-perangkat yang digunakan untuk membangun jaringan LAN dengan topologi star adalah sebagai berikut: a. Kabel UTP DATATWIST ® 5E 1583A CATEGORY CAT5 b. Konektor RJ45 c. Switch dengan kecepatan 10/100Mbps. 4. Interface(antarmuka) Kelengkapan antarmuka (Interface) yang digunakan pada sistem pengendalian ini adalah sebagai berikut: a. Pangkalan serial (serial port) atau port mouse
b. Rangkaian pendeteksi suhu 5. Alat terkendali Sasaran dari sistem ini yaitu alat terkendali, alat terkendali ini berupa peralatan sensor untuk mengukur suhu dengan cara dikendalikan oleh klien.
4.3.2 Spesifikasi Perangkat Lunak Implementasi aplikasi sistem pengendalian peralatan listrik ini dapat berjalan pada komputer yang memiliki spesifikasi perangkat lunak sebagai berikut: 1. Sistem Operasi: Microsoft Windows XP professional Service Pack 1. 2. Microsoft Visual Basic 6.0.
4.4 Skenario Pengujian Untuk menguji aplikasi sistem pengambilan data sensor suhu yang telah dibangun, diperlukan skenario pengujian Skenario pengujian diperlukan untuk mengetahui apakah proses-proses yang ada dapat berfungsi dengan baik atau tidak. Skenario dilakukan satu persatu dalam semua kondisi yang mungkin terjadi. Pada login server nama dan password sudah ditentukan didalam program, yaitu untuk username adalah “Server” dan untuk passwordnya adalah “123456”. Apabila nama dan password tidak lengkap atau lengkap tapi tidak sesuai dengan program maka informasi akses ditolak untuk masuk ke dalam menu aplikasi server dan akan mendapatkan pesan bahwa nama dan password tidak benar. Jika nama dan password benar maka akan masuk ke dalam menu aplikasi server. Apabila user klik
cancel maka data masukan akan dibatalkan dan user memasukkan username dan password dari awal, dan jika user klik exit maka akan keluar dari menu login. Pada login klien nama dan password juga sudah ditentukan didalam program yaitu username ”Client” dan passwordnya ”123456” sedangkan IP Server misalnya adalah ”192.168.122.21”. IP server disini harus sudah diketahui oleh user terlebih dahulu, dengan bertanya pada servernya atau pada orang yang tahu. Apabila nama dan passwor tidak lengkap atau lengkap tapi tidak sesuai dengan program maka informasi akses ditolak untuk masuk ke dalam menu aplikasi server dan akan mendapatkan pesan bahwa nama dan password tidak benar. Jika nama dan password benar maka akan masuk ke dalam menu aplikasi klien. Apabila user klik cancel maka data masukan akan dibatalkan dan user memasukkan username dan password dari awal, dan jika user klik exit maka akan keluar dari menu login. Pada proses membaca data suhu dari com port, pertama tama program yang akan dijalankan adalah menginiasialisasi port com, disini program akan memeriksa apakah port com siap menerima dan mengirimkan data dari sensor suhu atau tidak .Apabila com port siap menerima dan mengirimkan data dari sensor suhu maka com port akan mengirim alamat ke server dan mengirimkan perintah baca temperatur, lalu menset server sebagai transmitter (yaitu device yang mengirim data ke port com). Apabila port com tidak siap dengan menerima dan mengirimkan data dari sensor maka akan menampilkan pesan error. Skenario pengujian proses mengambil data suhu dari sensor, pengguna dapat memeriksa apakah ada device (alat sensor yang terpasang atau tidak) dengan memberi tanda (check list) pada com port, apabila com port telah siap menerima dan
mengirimkan data, maka pengambilan data suhu dari sensor bisa dilakukan. Hal ini dengan tampilnya data suhu pada aplikasi server. Apabila temperatur tidak bisa mengambil data maka akan mengirimkan pesan error. Pada proses konversi satuan suhu user hanya memberi tanda (check list) pada use Fahrenheit. Pilihan satuan suhu yang dipilih berupa Fahrenheit dan Celcius. Proses ini melakukan konversi dan penghitungan suhu ke dalam satuan suhu Fahrenheit atau Celcius. Jika user memberi tanda (check list) pada use Fahrenheit maka data suhu akan dikonversikan ke dalam Fahrenheit, jika tidak maka data suhu akan dikonversikan ke dalam Celcius. Pada proses mencetak data suhu, terlebih dahulu user memberi tanda (check list) pada log data to file. Apabila user memberi tanda (check list) pada log data to file maka data suhu akan tercetak ke dalam tulisan secara keseluruhan berdasarkan interval waktunya dengan menggunakan format tanggal, waktu, suhu di luar ruangan dan suhu di dalam ruangan, jika tidak maka data sensor tidak tercetak ke dalam tulisan tapi hanya ditampilkan saja. Proses mengirim data suhu kepada klien, maka pertama-tama server akan mengaktifkan sock listener yang berfungsi untuk mendengarkan permintaan data suhu dari klien, dan mengaktifkan fungsi server sebagai penerima permintaan data suhu sekaligus mengirim data suhu kepada klien yang meminta. Sedangkan pada klien akan mengektifkan sock client yang berfungsi meminta data kepada server. Skenario pengujian ini terangkum dalam tabel 4.1
Tabel 4.1 Skenario Pengujian Menu yang diuji
1.Login Server
Input
Username: Server Password: 123456
Aksi
OK/Submit
Cancel Exit
2.Login Klien
IP Server: 192.168.122.21 Username: Client Password: 123456
3.Proses Konversi satuan suhu
Cek list tombol Use fahrenheit pada menu aplikasi server
4.Proses mencetak data suhu
Check list tombol log dta to file pada menu apilikasi server
5.Proses membaca data pada com port
Check list Com port
OK/Submit
Cancel
Status Tidak lengkap/ lengkap dan tidak terdaftar Lengkap terdaftar Tidak lengkap/lengkap Tidak lengkap/ lengkap dan tidak terdaftar Lengkap terdaftar Tidak lengkap/lengkap
Exit
-
Di check list
_
Tidak di check list
_
Di check list
Output/hasil yang diharapkan Informasi peringatan akses ditolak Menu utama aplikasi pengendalian server Menghapus data pengisian Mengakhiri akses aplikasi pengendalian Informasi peringatan akses ditolak Menu utama aplikasi pengendalian server Menghapus data pengisian Mengakhiri akses aplikasi pengendalian Konversi data sensor suhu ke dalam Fahrenheit Konversi data sensor suhu ke dalam Celcius Mencetak data suhu
Tidak di check list
_
Tidak mencetak data suhu
Di check list
_
Mengirim dan menerima alamat data suhu
6.Proses mengambil data pada sensor suhu 7.Proses mengirim data suhu pada klien
Check list Com port
Di check list
_
Mengambil suhu dari sensor
_
_
_
Tampilnya pesan bahwa data terkirim
4.5 Pengujian Kotak Hitam (Black Box Testing) Pengujian program aplikasi ini dilakukan dengan menggunakan metode Black Box Testing. Metode Black Box Testing ini merupakan pengujian program berdasarkan fungsi dari program. Tujuan dari metode Black Box Testing ini adalah untuk menemukan kesalahan fungsi pada program. Pengujian dengan metode Black Box Testing dilakukan dengan cara memberikan sejumlah masukkan (input) pada program aplikasi yang kemudian diproses sesuai dengan kebutuhan fungsionalnya untuk melihat apakah program aplikasi menghasilkan keluaran (output) yang diinginkan dan sesuai dengan fungsi dari program aplikasi tersebut. Bila dari input yang diberikan proses menghasilkan output yang sesuai dengan kebutuhan fungsionalnya, maka program aplikasi yang bersangkutan telah benar, tetapi bila output yang dihasilkan tidak sesuai dengan kebutuhan fungsionalnya, maka masih terdapat kesalahan pada program aplikasi tersebut. 1.
Login server
OK. CommondButton ======================================================== Private Sub cmdOk_Click() Dim username As String Dim password As String
username = "Server" password = "123456" If txtUserName.Text = username And txtPassword.Text = password Then frm_thermometer.Show frmInsert.Hide Else MsgBox "Masukan User Name & Password dengan benar", vbCritical, "Login Error..." End If End Sub =========================================================
Cancel.CommondButton ========================================================= Private Sub cmdCancel_Click() txtUserName.Text = "" txtPassword.Text = "" txtUserName.SetFocus End Sub
Exit.CommondButton
================================================== Private Sub cmdExit_Click() Unload Me End End Sub Private Sub Form_Unload(Cancel As Integer) End End Sub =========================================================
Gambar 4.5 Form Login. Pada Gambar 4.5 terlihat bahwa user yang telah memasukkan nama dan password pada form login maka sistem akan memeriksa, jika user memasukkan nama
dan password salah maka akan muncul pesan yang memberitahukan user bahwa masukan user name dan password tidak benar, dapat dilihat pada Gambar 4.6. OK. CommondButton ======================================================== Private Sub cmdOk_Click() Dim username As String Dim password As String username = "Server" password = "123456" If txtUserName.Text = username And txtPassword.Text = password Then frm_thermometer.Show frmInsert.Hide Else MsgBox "Masukan User Name & Password dengan benar", vbCritical, "Login Error..." End If End Sub =========================================================
Gambar 4.6 Form login salah Apabila user sebagai server setelah memasukkan nama dan sandi benar maka akan muncul tampilan aplikasi server seperti pada gambar 4.7
Gambar 4.7 Form aplikasi server. Pada Gambar 4.7 pada form aplikasi server terdapat tombol-tombol yang harus di beri tanda (check list). Adapun tombol-tombol itu adalah tombol com port, tombol letak sensor suhu dan tombol sample time. Pada tombol com port terdapat pilihan com port1, com port2, com port3, dan com port4. Com port ini berfungsi untuk mengetahui letak device atau alat sensor suhu yang dipasang, untuk inisialisasi com port dan untuk mengambil data suhu dari sensor suhu. Pada tombol letak sensor suhu terdapat pilihan letak sensor suhu di dalam ruangan atau letak sensor suhu yang terdapat diluar ruangan. Letak sensor suhu sudah ditentukan sebelumnya. Misalnya saja apabila user memberi tanda (check list) pada letak suhu di dalam ruangan, maka sensor akan membaca suhu yang terletak di dalam ruangan dan menampilkannya pada server. Apabila sensor suhu tidak diletakkan di dalam atau di dalam ruangan maka akan menampilkan pesan ”Unable to read internal temperatur” pada tampilan form. Begitu juga apabila sensor suhu tidak terpasang di luar ruangan maka aka menampilkan pesan “Unable read external
temperatur”. Dibawah ini penggalan program dan gambarnya (lihat gambar 4.8 dan 4.9). If t = ERROR_TEMPERATURE_NOT_READ Then MsgBox "Unable to read internal temperature", vbOKOnly, "Error" Timer1.Enabled = False label_temperature_indoor.Caption = "--.-" + unit If option_double Then t = temperature(1) If t = ERROR_TEMPERATURE_NOT_READ Then MsgBox "Unable to read external temperature", vbOKOnly, "Error" Timer1.Enabled = False label_temperature_outside.Caption = "--.-" + unit
Gambar 4.8 Tidak terbaca sensor di dalam ruangan
Gambar 4.9 Tidak terbaca sensor di luar ruangan Pada tombol sample time terdapat pilihan 1 second (detik), 5 second, 30 second dan 1 menit. Pemilihan sample time dimaksudkan untuk memberikan interval waktu pada hasil data sensor yang diukur. Misalnya saja user memberi tanda (check list) pada 5 second, maka sensor akan menampilkan data sensor suhu kepada user setiap lima detik sekali.
Apabila tombol-tombol tersebut sudah di beri tanda (check list). Maka data suhu akan ditampilkan pada kotak teks yang terdapat di bawah tombol-tombol tersebut. Selain menampilkan data suhu, kotak teks tersebut menerima permintaan data suhu dari klien. Apabila klien meminta data suhu dari server maka pada kotak teks akan menampilkan pesan “Klien terkoneksi dan siap menerima data” setelah itu akan menampilkan data suhu kepada server (lihat gambar 4.7)
2.
Login Klien
OK. CommondButton ======================================================== Private Sub Form_Load() txtNoIP = "" '"192.168.122.21" End Sub Private Sub cmdOk_Click() Dim username As String Dim password As String username = "Client" password = "123456" If txtUserName.Text = username And txtPassword.Text = password Then frm_thermometer.Show frmInsert.Hide Else MsgBox "Masukan No IP Server, User Name & Password dengan benar", vbCritical, "Login Error..." End If End Sub =========================================================
Cancel.CommondButton ========================================================= Private Sub cmdCancel_Click() txtUserName.Text = "" txtPassword.Text = "" txtUserName.SetFocus End Sub ======================================================== Exit.CommondButton
================================================== Private Sub cmdExit_Click() Unload Me
lalu
End End Sub Private Sub Form_Unload(Cancel As Integer) End End Sub =========================================================
Gambar 4.10 Form login klien Pada Gambar 4.10 terlihat bahwa user yang telah memasukkan IP server, nama dan password pada form login maka sistem akan memeriksa, jika user memasukkan IP server, nama dan password salah maka akan muncul pesan yang memberitahukan user bahwa masukan user name dan password tidak benar, dapat dilihat pada Gambar 4.11. OK. CommondButton ========================================================= Private Sub Form_Load() txtNoIP = "" '"192.168.122.21" End Sub Private Sub cmdOk_Click() Dim username As String Dim password As String username = "Client" password = "123456"
If txtUserName.Text = username And txtPassword.Text = password Then frm_thermometer.Show
frmInsert.Hide Else MsgBox "Masukan No IP Server, User Name & Password dengan benar", vbCritical, "Login Error..." End If End Sub =========================================================
Gambar 4.11 Form salah login Apabila user sebagai klien setelah memasukkan IP server, nama dan sandi benar maka akan muncul tampilan aplikasi server dan langsung terkoneksi dengan server. Apabila tidak terkoneksi maka akan tampil pesan ”Server not Connect” dapat dilihat pada gambar 4.12 dan 4.13 Close_click ======================================================= Private Sub cmdClose_Click() End Sub ======================================================== cmdGet_Click ======================================================== Private Sub cmdGet_Click() Dim sBuffer As String If Not sockClient.State = sckConnected Then MsgBox "Server NOT connected", vbInformation Exit Sub End If '* mengirim permintaan data ke server sBuffer = "get" sockClient.SendData sBuffer End Sub ===========================================================
Koneksi ke server =========================================================== Private Sub Form_Load() '* cek apakah sudah ada koneksi ke server If sockClient.State = sckConnected Or sockClient.State = sckConnecting Then MsgBox "Server Already connected", vbInformation Exit Sub End If End Sub =========================================================
Gambar 4.12 Form aplikasi klien
Gambar 4.13 Form tidak terkoneksi ke server .
Gambar 4.14 Form terkoneksi ke server .
Pada gambar 4.12 pada form aplikasi klien terlihat tombol baca suhu dan tombol yang di beri tanda (check list) yaitu auto 5 second. Jika klien klik tombol baca suhu maka form akan menmpilkan data suhu dari server, dan jika klien memberi tanda pada auto 5 second maka server akan memberikan data suhu setiap 5 menit sekali. Apabila klik tombol close maka akan keluar dari aplikasi klien.
3. Proses membaca suhu dari com port Pada proses membaca data suhu dari com port, pertama tama program yang akan dijalankan adalah menginiasialisasi port com dengan memberi tanda (check list) pada com port (lihat gambar 4.3), disini program akan memeriksa apakah port com siap menerima dan mengirimkan data dari sensor suhu atau tidak .Apabila com port siap menerima dan mengirimkan data dari sensor suhu maka com port akan mengirim alamat ke server dan mengirimkan perintah baca temperatur, lalu menset server sebagai transmitter (yaitu device yang mengirim data ke port com). Apabila port com tidak siap dengan menerima dan mengirimkan data dari sensor maka akan error. Dibawah ini penggalan programnya Private Function temperature
========================================= address = address * 2 On Error GoTo errors open_iic_bus MSComm1.object
4. Proses pengambilan data suhu dari sensor
Skenario pengujian proses mengambil data suhu dari sensor, pengguna dapat memeriksa apakah ada device (alat sensor yang terpasang atau tidak) dengan memberi tanda (check list) (lihat gambar 4.7) pada com port, apabila com port telah siap menerima dan mengirimkan data, maka pengambilan data suhu dari sensor bisa dilakukan. Hal ini dengan tampilnya data suhu pada aplikasi server. Apabila temperatur tidak bisa mengambil data maka akan mengirimkan pesan error. Berikut potongan programnya. Private Function temperature
========================================= errors: temperature = ERROR_TEMPERATURE_NOT_READ End Function
6. Konversi satuan suhu Pada proses konversi satuan suhu user hanya memberi tanda (check list) pada use Fahrenheit. Pilihan satuan suhu yang dipilih berupa Fahrenheit dan Celcius. Proses ini melakukan konversi dan penghitungan suhu ke dalam satuan suhu Fahrenheit atau Celcius. Jika user memberi tanda (check list) pada use Fahrenheit maka data suhu akan dikonversikan ke dalam Fahrenheit, jika tidak maka data suhu akan dikonversikan ke dalam Celcius.
Gambar 4.15 Konversi data suhu kedalam Fahrenheit.
Gambar 4.16 Konversi data suhu kedalam Celcius. Pada Gambar 4.15 dan 4.16 Sebelum proses ini dilakukan, user terlebih dahulu memberi tanda (check list) pada Use fahrenheit. Satuan suhu yang dipilih berupa Fahrenheit dan Celcius. Jika user memilih use Fahrenheit maka data suhu akan dikonversikan ke dalam rumus Fahrenheit dan menampilkan data suhu. Jika tidak maka data akan dikonversikan ke dalam Celcius.
6.
Proses mencetak data suhu Sebelum melakukan pencetakan data suhu, terlebih dahulu user memberi
tanda (check list) pada log data to file, kemudian data suhu akan di proses lalu mencetaknya ke dalam tulisan yang disimpan pada teks file dengan menggunakan format tanggal, waktu, suhu diluar ruangan dan suhu di dalam ruangan. Jika user tidak memberi tanda (check list) pada log data to file maka data suhu akan ditampilkan saja dan tidak tercetak ke dalam teks file.
Gambar 4.17 Memberi tanda (check list) log data to file.
Gambar 4.18 Mencetak data suhu.
7. Proses mengirimkan data suhu kepada klien. Proses mengirim data suhu kepada klien, maka pertama-tama server akan mengaktifkan sock listener yang berfungsi untuk mendengarkan permintaan data suhu dari klien, dan mengaktifkan fungsi server sebagai penerima permintaan data suhu sekaligus mengirim data suhu kepada klien yang meminta. Sedangkan pada klien akan mengaktifkan sock client yang berfungsi meminta data kepada server. Apabila sock listener dan sock server tidak berfungsi maka akan menampilkan pesan ” Use another socket port” apabila sock listener atau sock server tidak berfungsi, ”You may be not conected to the networtk” apabila tidak terkoneksi dengan jaringan, ”Already connected” apabila sock listener berhasil terkoneksi, atau ”Connection Refused or Connection Reset” apabila koneksi ditolak atau koneksi mengulang. Dapat dilihat pada gambar dibawah ini.
Gambar 4.19 Jika sock listener atau sock server tidak berfungsi
Gambar 4.20 Jika sock listener atau sock server tidak terkoneksi dengan jaringan.
Gambar 4.21 Jika sock listener atau sock server terkoneksi dengan klien
Gambar 4.22 Jika sock listener atau sock server menolak koneksi atau koneksi mengulang 4.6 Analisis Hasil Pengujian Hasil analisis yang dapat penulis berikan pada saat melakukan pengujian secara keseluruhan adalah sebagai berikut:
1. Pemasukan nama pengguna dan kata sandi harus sesuai dengan data yang berada pada registry sistem. 2. Sistem akan melakukan pengendalian dengan melihat status alat terkendali terlebih dahulu. Jika alat terkendali dalam keadaan mati (off) maka pada penekan tombol pertama sistem pengendalian akan mengirimkan pesan bahwa alat terkendali sedang mati (off) 3. Aplikasi
server
harus
dijalankan
terlebih
dahulu
sebelum
melakukan
pengendalian, karena aplikasi server ini adalah penyedia/pelayan bagi klien yang ingin melakukan pengendalian. 4. Agar aplikasi klien dan aplikasi server dapat saling berkomunikasi maka pengisian nomor port pada aplikasi klien harus sama dengan alamat dari aplikasi server. 5. Hidup (on) atau mati (off) alat terkendali dan pengiriman pesan status pengendalian menunjukkan bahwa perintah yang dikirimkan oleh klien telah berhasil diterima dan dieksekusi oleh server. 6. Jika pada saat melakukan pengendalian koneksi selalu gagal, sebaiknya melakukan pengujian koneksi jaringan terlebih dahulu.
BAB V PENUTUP
Dari hasil analisa, perancangan, implementasi dan pengujian sistem pengambilan data sensor suhu melalui jaringan komputer, dapat diperoleh beberapa kesimpulan dan saran.
5.1 Kesimpulan Berdasarkan pembahasan dan pemaparan pada bab-bab sebelumnya, maka didapatkan kesimpulan dari sistem pengambilan data sensor suhu, sebagai berikut: 1. Untuk Sistem berjalan dengan baik harus dilakukan identifikasi data, dan identifikasi fungsi dengan benar, lalu skenario pengujian dan pengujian arus benar-benar teruji untuk diproses menjadi keluaran data suhu yang diinginkan. 2. Untuk implementasi pengujian harus menggunakan setidaknya dua buah komputer, dengan ketentuan satu komputer menjalankan aplikasi klien dan satu buah komputer menjalankan aplikasi server.
3. Syarat dari kedua aplikasi (klien dan server) dapat saling berkomunikasi dengan mengirimkan data pengendalian adalah dengan alamat IP yang benar (sesuai alamat komputer dari aplikasi server yang dijalankan). 4. Aplikasi server akan menunggu datangnya koneksi dari aplikasi klien dan 97 meminta status pengendalian peralatan yang nantinya dapat dikendalikan oleh klien. Aplikasi klien akan mengirimkan status permintaan kepada server dan sebagai respon dari permintaan klien maka server memberikan. Pengiriman data pengendalian yang dilakukan oleh klien dan server adalah pengiriman data berbentuk string. 5. Aplikasi klien hanya bisa terhubung dangan satu aplikasi server pada satu waktu. 6. Sistem pengendalian pengambilan data sensor suhu yang dikendalikan antara komputer klien (client) terhubung dengan jaringan wilayah lokal. 7. Secara umum dari hasil uji coba perangkat lunak dan perangkat keras dapat diimplementasikan dengan baik sesuai dengan spesifikasi teknis rancangan yang diharapkan.
5.2 Saran Berdasarkan pembahasan dan pemaparan pada bab-bab sebelumnya, maka didapatkan saran dari sistem pengambilan data sensor suhu, sebagai berikut: 1. Pada aplikasi sistem pengendalian yang penulis buat, hanya terbatas pada satu alat sensor suhu. Alat sensor suhu dapat ditambahkan, dengan syarat adanya penambahan panjang pengiriman format data pengendalian dan komponenkomponen pengendalian.
2. Aplikasi sistem pengendalian pengambilan sensor melalui LAN ini tidak terbatas pada pengendalian sensor suhu saja, melainkan dapat digunakan untuk berbagai macam aplikasi peralatan elektronika yang mempunyai sistem kendali berbasis digital. Seperti halnya pengendali kamera, pengendali peralatan listrik, dan lain sebagainya. Hal ini dapat dilakukan dengan penambahan beberapa komponenkomponen. 3. Aplikasi ini dapat diterapkan pada perusahaan, kantor, mall, apartemen, atau lingkungan yang membutuhkan sistem pengendalian sensor suhu dalam satu area yang didalamnya terdapat jaringan komputer.
DAFTAR PUSTAKA
Jogiyanto, H. M. 1995. Pengenalan Komputer. Yogyakarta: Penerbit Andi. Jogiyanto, H. M. 2005. Analisis dan Desain Sistem Informasi: Pendekatan Terstruktur Teori dan Praktek Aplikasi Bisnis. Yogyakarta: Penerbit Andi. Pohan, Husni Iskandar dan Bahri, Kusnassriyanto Saiful. 1997. Pengantar Perancangan Sistem. Jakarta: Erlangga. Prasetia, Ratna dan Widodo, Catur Edi. 2004. Interfacing Port Paralel dan Port Serial Komputer dengan Visual Basic 6.0. Yogyakarta: Penerbit Andi. Pressman, Roger S. 1997. Software Engineering, A practitioner’s Approach. Edisi keempat. New york: McGraw-Hill Inc. Supriadi, Muhammad dan Sugiri, A.Md., S.Pd. 2006. Pemrograman Sistem Pengendalian dengan Delphi. Yogyakarta: Penerbit Andi. Suhata, ST. 2004. VB Sebagai Pusat Kendali Peralatan Elektronik. Jakarta: Elex Media Komputindo. Wahana Komputer. 2006. Menginstalasi Perangkat Jaringan Komputer. Jakarta: Elex Media Komputindo. ----[online], available:http://www.oceancontrols.com.au/controllers [2008, Juli 20] ----[online], available:http:www.tekniksoft.com [2008, Juli 25] ----[online], available:http://www.vb-bego.com [2008, Aug 10] ----[online], available: http://home.maine.rr.com [2008, Aug 15] ----[online], available: http://www.google.com [2008, Aug 17] ----[online], available: http://www.ilmukomputer.com [2008, Aug 20]
LAMPIRAN
L SERVER APLIKASI SISTEM PENGENDALIAN
1. Form Login (frmInsert.frm) Private Sub Form_Load() End Sub Private Sub cmdOk_Click() Dim username As String Dim password As String username = "Server" password = "123456" If txtUserName.Text = username And txtPassword.Text = password Then frm_thermometer.Show frmInsert.Hide Else MsgBox "Masukan User Name & Password dengan benar", vbCritical, "Login Error..." End If End Sub Private Sub cmdCancel_Click() txtUserName.Text = "" txtPassword.Text = "" txtUserName.SetFocus End Sub Private Sub cmdExit_Click() Unload Me End End Sub Private Sub Form_Unload(Cancel As Integer) End End Sub
2. Form Pengendalian Server (Frm_thermometer.frm) Option Explicit Dim data As String Dim NomorFile As Integer Private Sub Form_Load() ReadIni update_com_port update_sample_rate Dim i
'* inisialisasi port server '* mengaktifkan fungsi server sebagai listener sockListener.LocalPort = ServerPort sockListener.Listen '* mengaktifkan fungsi server sebagai penerima data For i = 1 To nJumlahClient Load sockServer(i) Next i End Sub Private Sub Form_Unload(Cancel As Integer) close_iic_bus SaveIni End Sub Private Sub label_temperature_indoor_Change() 'nSuhu = label_temperature_indoor.Caption 'Dim nsuhu As Integer Text1.Text = label_temperature_indoor.Caption 'nSuhu = Text1.Text nsuhu = Text1.Text End Sub Private Sub option_1_min_Click() update_sample_rate End Sub Private Sub option_1_min_KeyPress(KeyAscii As Integer) update_sample_rate End Sub Private Sub option_1_sec_Click() update_sample_rate End Sub Private Sub option_1_sec_KeyPress(KeyAscii As Integer) update_sample_rate End Sub Private Sub option_30_sec_Click() update_sample_rate End Sub Private Sub option_30_sec_KeyPress(KeyAscii As Integer) update_sample_rate End Sub Private Sub option_5_sec_Click() update_sample_rate End Sub Private Sub option_5_sec_KeyPress(KeyAscii As Integer) update_sample_rate End Sub Private Sub option_com1_Click() update_com_port End Sub Private Sub option_com1_KeyPress(KeyAscii As Integer) update_com_port End Sub Private Sub option_com2_Click() update_com_port End Sub
Private Sub option_com2_KeyPress(KeyAscii As Integer) update_com_port End Sub Private Sub option_com3_Click() update_com_port End Sub Private Sub option_com3_KeyPress(KeyAscii As Integer) update_com_port End Sub Private Sub option_com4_Click() update_com_port End Sub Private Sub option_com4_KeyPress(KeyAscii As Integer) update_com_port End Sub Private Sub Timer1_Timer() Dim t As Double Dim unit As String If check_farenheit Then unit = "°F" Else unit = "°C" End If t = temperature(0) If t = ERROR_TEMPERATURE_NOT_READ Then MsgBox "Unable to read internal temperature", vbOKOnly, "Error" Timer1.Enabled = False label_temperature_indoor.Caption = "--.-" + unit Else If check_farenheit Then t = farenheit(t) End If label_temperature_indoor.Caption = Format(t, "#0.0" + unit) End If If option_double Then t = temperature(1) If t = ERROR_TEMPERATURE_NOT_READ Then MsgBox "Unable to read external temperature", vbOKOnly, "Error" Timer1.Enabled = False label_temperature_outside.Caption = "--.-" + unit Else If check_farenheit Then t = farenheit(t) End If label_temperature_outside.Caption = Format(t, "#0.0" + unit) End If Else label_temperature_outside.Caption = "--.-" + unit End If If option_double Then frm_thermometer.Caption = label_temperature_indoor.Caption + " label_temperature_outside.Caption + " )" Else frm_thermometer.Caption = label_temperature_indoor.Caption End If log_to_file End Sub
( out " +
Private Function temperature(address As Integer) As Double Dim temperature_int As Long Dim temperature_frac As Long address = address * 2 On Error GoTo errors open_iic_bus MSComm1.object '/*resettiamo bene il chip*/ IIC_stop '/**/ IIC_start IIC_tx_byte &H90 + address IIC_tx_byte &HAC IIC_tx_byte &H2 IIC_start IIC_tx_byte &H90 + address IIC_tx_byte &HEE IIC_stop IIC_start IIC_tx_byte &H90 + address IIC_tx_byte &HAA IIC_start IIC_tx_byte &H91 + address temperature_int = IIC_rx_byte(1) temperature_frac = IIC_rx_byte(0) temperature = (temperature_int * 256 + temperature_frac) / 128 * 5 / 10 If temperature_int >= 128 Then temperature = temperature - 256 End If IIC_stop Exit Function errors: temperature = ERROR_TEMPERATURE_NOT_READ End Function Private Function update_sample_rate() If option_1_sec Then Timer1.Interval = 1000 ElseIf option_5_sec Then Timer1.Interval = 5000 ElseIf option_30_sec Then Timer1.Interval = 30000 ElseIf option_1_min Then Timer1.Interval = 60000 Else Timer1.Interval = 1000 End If End Function Private Function update_com_port() If MSComm1.PortOpen Then MSComm1.PortOpen = False End If If option_com1 Then MSComm1.CommPort = 1 Timer1.Enabled = True ElseIf option_com2 Then MSComm1.CommPort = 2 Timer1.Enabled = True ElseIf option_com3 Then
MSComm1.CommPort = 3 Timer1.Enabled = True ElseIf option_com4 Then MSComm1.CommPort = 4 Timer1.Enabled = True Else MSComm1.CommPort = 1 Timer1.Enabled = False End If End Function Private Function farenheit(t As Double) farenheit = 32 + 9 / 5 * t End Function Private Function log_to_file() If check_log_to_file Then Open "pc_thermometer.txt" For Append As #1 data = Date$ & Time$ & label_temperature_outside.Caption & label_temperature_indoor.Caption txtMonitor.Text = txtMonitor.Text & vbCrLf & data txtMonitor.SelStart = Len(txtMonitor.Text) Print #1, Date$, Time$, label_temperature_outside.Caption, label_temperature_indoor.Caption Close #1 End If End Function Private Sub cmdChange_Click() '* Sebagai pengganti nilai suhu server '* dan nilai ini akan dikirim oleh Client 'nSuhu = Rnd() * 100 ' nSuhu = label_temperature_indoor 'label_temperature_indoor = nSuhu End Sub Private Sub cmdClose_Click() sockListener.Close frmInsert.Show frm_thermometer.Hide 'End End Sub 'Private Sub Form_Load() ' Dim i '* inisialsiasi port server '* mengaktifkan fungsi server sebagai listener ' sockListener.LocalPort = ServerPort ' 'sockListener.Listen '* mengaktifkan fungsi server sebagai penerima data '' For i = 1 To nJumlahClient '' Load sockServer(i) '' Next i 'End Sub Private Sub sockListener_Close() ' sockListener.Close End Sub Private Sub sockListener_ConnectionRequest(ByVal requestID As Long) Dim i
'* menerima apabila ada permintaan koneksi dari client '* oleh sockListener For i = 1 To nJumlahClient If Not sockServer(i).State = sckConnected Then sockServer(i).Accept requestID NomorFile = FreeFile
Open "c:\MyFile.dat" For Append As NomorFile ‘untuk mencatat data suhu yang dikirim kpd klien data = Format(Now, "hh:mm:ss") & " Client terkoneksi dan siap menerima
data" txtMonitor.Text = txtMonitor.Text & vbCrLf & data txtMonitor.SelStart = Len(txtMonitor.Text) Print #NomorFile, data Close NomorFile
Exit For End If Next i End Sub Private Sub sockListener_Error(ByVal Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean) Dim sockState As Integer Dim strState As String Dim strMsg As String On Error Resume Next sockState = sockListener.State strState = Description strMsg = "" Select Case Number Case sckAddressInUse: strMsg = "Use Another Socket Port" Case sckAddressNotAvailable: strMsg = "You May be Not Connected to the Network" Case sckAlreadyConnected: strMsg = "Already Connected" Case sckConnectionRefused Or sckConnectionReset strMsg = "Connection Refused or Connection Reset" Case Else strMsg = strState sockListener.Close End Select MsgBox strMsg, vbOKOnly + vbCritical, "Connection Failed" End Sub
Private Sub sockServer_Close(Index As Integer) sockServer(Index).Close Unload sockServer(Index) Load sockServer(Index) End Sub Private Sub sockServer_DataArrival(Index As Integer, ByVal bytesTotal As Long) Dim sBuffer As String '* menerima permintaan data
'* sekaligus mengirim data suhu ke client yang meminta If bytesTotal > 0 Then '* nSuhu adalah variabel pengganti sBuffer = CStr(nsuhu) sockServer(Index).SendData sBuffer NomorFile = FreeFile Open "c:\MyFile.dat" For Append As NomorFile data = Format(Now, "hh:mm:ss") & " Server memberikan data suhu " txtMonitor.Text = txtMonitor.Text & vbCrLf & data txtMonitor.SelStart = Len(txtMonitor.Text) Print #NomorFile, data Close NomorFile End If End Sub Private Sub sockServer_Error(Index As Integer, ByVal Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean) Dim sockState As Integer Dim strState As String Dim strMsg As String On Error Resume Next sockState = sockServer(Index).State strState = Description strMsg = "" Select Case Number Case sckAddressInUse: strMsg = "Use Another Socket Port" Case sckAddressNotAvailable: strMsg = "You May be Not Connected to the Network" Case sckAlreadyConnected: strMsg = "Already Connected" Case sckConnectionRefused Or sckConnectionReset strMsg = "Connection Refused or Connection Reset" Case Else strMsg = strState sockServer(Index).Close End Select MsgBox strMsg, vbOKOnly + vbCritical, "Connection Failed" End Sub
3. Modul Server globals.bas Option Explicit Public Public Public Public
Const Const Const nsuhu
ERROR_TEMPERATURE_NOT_READ = 1000 ERROR_OPENING_PORT = 1 NO_ERROR = 0 As String
Public Const nJumlahClient = 10 '* port yang digunakan sebagai media komunikasi Public Const ServerPort = 8000
iic_bus.bas
Option Explicit Dim MSComm1 As Object Public Function open_iic_bus(serial_port As Object) As Integer Set MSComm1 = serial_port If Not MSComm1.PortOpen Then MSComm1.PortOpen = True MSComm1.RTSEnable = True MSComm1.DTREnable = True End If open_iic_bus = NO_ERROR Exit Function End Function Public Sub close_iic_bus() If MSComm1.PortOpen Then MSComm1.PortOpen = False End If End Sub Public Sub IIC_start() SDA_output SDA_high SCL_high SDA_low End Sub Public Sub IIC_stop() SDA_output SDA_low SCL_high SDA_high End Sub Public Function IIC_tx_byte(B As Long) As Integer Dim i As Integer For i = 0 To 7 If (B And &H80) Then IIC_tx_bit_1 Else IIC_tx_bit_0 End If B = B * 2 Next IIC_tx_byte = IIC_rx_bit End Function Public Function IIC_rx_byte(acknowledge As Integer) As Integer Dim i As Integer Dim retval As Integer For i = 0 To 7 retval = retval * 2 If IIC_rx_bit() Then retval = retval + 1 End If Next If acknowledge Then IIC_tx_bit_0 Else IIC_tx_bit_1 End If IIC_rx_byte = retval End Function Private Sub IIC_tx_bit_1() SCL_low SDA_output SDA_high
SCL_high SCL_low End Sub Private Sub IIC_tx_bit_0() SCL_low SDA_output SDA_low SCL_high SCL_low End Sub Private Function IIC_rx_bit() As Integer Dim retval As Integer SDA_input SCL_low SCL_high retval = SDA_value() SCL_low IIC_rx_bit = retval End Function Private Sub SDA_output() 'there is no real difference between SDA_output 'and SDA_input, because we have two unidirectional 'lines instead of a single bidirectional one 'This call is left here for compatibility with 'other hardware implementations MSComm1.DTREnable = True End Sub Private Sub SDA_input() 'since DATA is open-collector, putting DTR high sets it as PC input MSComm1.DTREnable = True End Sub Private Sub SCL_high() MSComm1.RTSEnable = True iic_wait End Sub Private Sub SCL_low() MSComm1.RTSEnable = False iic_wait End Sub Private Sub SDA_high() MSComm1.DTREnable = True iic_wait End Sub Private Sub SDA_low() MSComm1.DTREnable = False iic_wait End Sub Private Function SDA_value() As Integer SDA_value = MSComm1.CTSHolding End Function
Private Sub iic_wait() 'void , insert here wait code for very fast systems 'actual measured speed is 1,5 kbps on a P90... End Sub
ini_file.bas
Option Explicit
Const IniFileName = "\pc_thermometer.INI" Private IniFileDirectory As String
Declare Function GetPrivateProfileStringA% Lib "Kernel32" (ByVal ApplicationName$, ByVal KeyName$, ByVal Default$, ByVal ReturndString$, ByVal Size%, ByVal FileName$) Declare Function WritePrivateProfileStringA% Lib "Kernel32" (ByVal ApplicationName$, ByVal KeyName$, ByVal StringToWrite$, ByVal FileName$)
Public Sub WriteIniString(ByVal key As String, ByVal Value As String) If WritePrivateProfileStringA("ARB", key, Value, IniFileDirectory + IniFileName) <> True Then End If End Sub
Public Function ReadIniString(key As String, Default As String) Dim ReturnedString As String ReturnedString = Space$(128) If Not GetPrivateProfileStringA%("ARB", key, Default, ReturnedString, 128, IniFileDirectory + IniFileName) <> True Then MsgBox "INI file is invalid or does not exist." End If ReadIniString = Trim(ReturnedString) End Function Public Sub ReadIni() Dim i As Integer Dim C As Control 'useful when developing... IniFileDirectory = CurDir$ If IniFileDirectory = "D:\Dragon1\Vb\esti\skripsi\TA\program\vb" Then IniFileDirectory = "D:\Dragon1\Vb\esti\skripsi\TA\program\vb" End If 'check for INI file If Left$(ReadIniString("FileId", "None"), 5) <> "therm" Then MsgBox "Unable to find Startup file" + Chr$(13) + IniFileDirectory + "\" + IniFileName + Chr$(13) + Chr$(13) + "Using defaults", , "Error" Else On Error Resume Next For Each C In frm_thermometer.Controls C.Caption = ReadIniString("frm_thermometer." + C.Name + ".caption", C.Caption) C.Value = Val(ReadIniString("frm_thermometer." + C.Name + ".value", C.Value)) Next On Error GoTo 0 End If End Sub Public Sub SaveIni() Dim i As Integer Dim C As Control WriteIniString "FileId", "therm" On Error Resume Next For Each C In frm_thermometer.Controls WriteIniString "frm_thermometer." + C.Name + ".caption", C.Caption If TypeOf C Is CheckBox Or TypeOf C Is OptionButton Then If C.Value Then WriteIniString "frm_thermometer." + C.Name + ".value", 1 Else WriteIniString "frm_thermometer." + C.Name + ".value", 0 End If
Else WriteIniString "frm_thermometer." + C.Name + ".value", C.Value End If Next On Error GoTo 0 End Sub
APLIKASI SISTEM PENGENDALAN KLIEN
1.
Form Login (frmInsert.frm)
Private Sub Form_Load() txtNoIP = "" '"192.168.122.21" Frame1.Visible = False End Sub Private Sub cmdOk_Click() Dim username As String Dim password As String username = "Client" password = "123456" If txtUserName.Text = username And txtPassword.Text = password Then frmMain.Show frmInsert.Hide Else MsgBox "Masukan No IP Server, User Name & Password dengan benar", vbCritical, "Login Error..." End If End Sub Private Sub cmdCancel_Click() txtUserName.Text = "" txtPassword.Text = "" txtNoIP.SetFocus End Sub Private Sub cmdExit_Click() Unload Me End End Sub Private Sub Form_Unload(Cancel As Integer) End End Sub
2.
Form Pengendalian Klien (frmMain.frm)
Option Explicit Private Sub chkTimer_Click() Timer1.Enabled = chkTimer.Value End Sub Private Sub cmdClose_Click() sockClient.Close 'End frmInsert.Show frmMain.Hide End Sub
Private Sub cmdGet_Click() Dim sBuffer As String If Not sockClient.State = sckConnected Then MsgBox "Server NOT connected", vbInformation Exit Sub End If '* mengirim permintaan data ke server sBuffer = "get" sockClient.SendData sBuffer End Sub Private Sub Form_Load() '* cek apakah sudah ada koneksi ke server If sockClient.State = sckConnected Or sockClient.State = sckConnecting Then MsgBox "Server Already connected", vbInformation Exit Sub End If '* bila belum ada koneksi, lakukan koneksi '* RemoteHost diisi dengan nama PC server, atau '* menggunakan RemoteHostIP yang diisi dengan IP server sockClient.RemotePort = ServerPort sockClient.RemoteHost = "Labtk-devel" 'sockClient.RemoteHostIP = 192.168.10.110 Text1.Text = frmInsert.txtNoIP.Text 'sockClient.Connect "192.168.10.35", ServerPort sockClient.Connect Text1.Text, ServerPort End Sub Private Sub sockClient_Close() sockClient.Close End Sub Private Sub sockClient_DataArrival(ByVal bytesTotal As Long) Dim sBuffer As String '* Setelah mengirim permintaan data, server akan langsung '* mengirim data suhu dan akan dibaca oleh proses ini If bytesTotal > 0 Then sockClient.GetData sBuffer txtSuhu.Text = sBuffer End If End Sub Private Sub sockClient_Error(ByVal Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean) Dim sockState As Integer Dim strState As String Dim strMsg As String Dim sBuffer As String On Error Resume Next sockState = sockClient.State strState = Description strMsg = "" Select Case Number Case sckAddressInUse: strMsg = "Use Another Socket Port" Case sckAddressNotAvailable: strMsg = "You May be Not Connected to the Network" Case sckAlreadyConnected:
strMsg = "Already Connected" Case sckConnectionRefused Or sckConnectionReset strMsg = "Connection Refused or Connection Reset" Case Else strMsg = "error: " & strState sockClient.Close End Select MsgBox strMsg, vbOKOnly + vbCritical, "Connection Failed" End Sub Private Sub Timer1_Timer() Call cmdGet_Click End Sub
3. Modul Klien Option Explicit '* port yang digunakan sebagai media komunikasi Public Const ServerPort = 8000 Sub Main() Dim f As frmMain Set f = New frmMain f.Show End Sub