Seminar Nasional Pengaplikasian Telematika SINAPTIKA 2010 – ISSN 2086-8251
Sistem Pengendalian Peralatan Listrik Melalui Jaringan Komputer Raka Yusuf1, Aria Yuditia2 Jurusan Teknik Informatika, Fakultas Ilmu Komputer, Universitas Mercu Buana3 JL. Raya Meruya Selatan, Kembangan, Jakarta, 11650
E-mail :
[email protected],
[email protected]
AbstrakDengan semakin berkembangnya teknologi yang telah merambah hampir ke semua aspek kehidupan, maka seperti halnya peralatan listrik yang tersebar di berbagai ruangan di sebuah gedung yang digunakan sebagai kantor perusahaan. Apabila peralatan listrik tersebut dikontrol secara manual dalam situasi dan kondisi tertentu maka akan sangat merepotkan. Apalagi jika jarak antara satu dengan yang lainnya berjauhan. Berdasarkan masalah tersebut kita dapat memanfaatkan sebuah alat pengontrol untuk mengontrol peralatan listrik melalui komputer yang ada di dalam perusahaan. Dengan pengontrolan peralatan listrik yang dapat dilakukan melalui komputer yang terhubung ke jaringan lokal, cukup membantu meringankan beban manusia. Jadi, tidak perlu repot-repot dan tidak perlu menghabiskan banyak tenaga hanya untuk menghidup-matikan peralatan listrik. Melalui aplikasi ini dihasilkan sistem yang dapat membantu atau memudahkan manusia dalam mengendalikan atau mengontrol peralatan listrik melalui jaringan komputer. Kata kunci: Pemrograman socket, Pemrograman port, Pengendalian Peralatan Listrik, Jaringan Komputer. I. PENDAHULUAN Protokol merupakan komponen utama untuk komunikasi data dalam jaringan komputer. Cakupan protokol melingkupi 7 lapisan (layer) dalam sebuah sistem jaringan komputer [4]. Lapisan-lapisan tersebut adalah sebagai berikut: a. Lapisan Fisik (Physical Layer) Lapisan fisik merupakan lapisan pertama yang berfungsi mengatur sinkronisasi pengiriman dan penerimaan data, spesifikasi mekanis dan elektris, menerapkan prosedur untuk membangun, mengirimkan data atau informasi dalam bentuk digit biner, memelihara dan memutuskan hubungan komunikasi. Pada lapisan ini terjadi hubungan secara fisik antara satu terminal dengan terminal lain atau server atau peripheral lainnya. Pada sisi pengirim, lapisan fisik menerapkan fungsi elektris, mekanis dan prosedur untuk membangun, memelihara dan melepaskan sirkuit komunikasi guna mentransmisikan informasi dalam bentuk digit biner ke sisi penerima,
b.
c.
d.
e.
f.
282
sedangkan pada sisi penerima akan menerima data dan mentransmisikan ke lapisan di atasnya. Lapisan Hubungan Data (Data Link Layer) Lapisan kedua ini memiliki tanggungjawab untuk menjalankan sejumlah fungsi tertentu, secara ringkas peran lapisan hubungan data ini adalah mempersiapkan dan membangun transmisi data. Lapisan Jaringan (Network Layer) Lapisan ketiga ini berfungsi menangani masalah jaringan komunikasi secara lebih rinci, yang memberikan layanan pengiriman data dengan menentukan rute pengiriman dan mengendalikannya sehingga tidak terjadi kemacetan dan data dapat sampai di tempat tujuan dengan baik. Pada lapisan ini, data atau informasi yang berupa pesan-pesan (message) akan dibagibagi dalam bentuk paket-paket data yang dilengkapi dengan berbagai header tertentu pada setiap paket data tersebut. Lapisan Transport (Transport Layer) Lapisan keempat ini memberikan layanan secara transparan terutama dalam hal error recovery dan data flow control. Lapisan Sesi (Session Layer) Lapisan kelima ini menerapkan suatu mekanisme kontrol dialog antara dua aplikasi. Lapisan ini bertugas untuk menyediakan sarana pembangunan hubungan dan pengontrolan terhadap kerjasama antar komputer atau program aplikasi yang sedang berkomunikasi. Layanan yang diberikan pada lapisan ini meliputi pembentukan dan pemutusan hubungan antara dua entitas presentasi dan mengatur pertukaran data, membentuk batas dan melakukan sinkronisasi operasi data antara dua entitas presentasi. Lapisan ini juga berfungsi untuk memisahkan data antar sesi dan antar aplikasi yang sedang berjalan. Lapisan Presentasi (Presentation Layer) Lapisan keenam ini berhubungan dengan sintaks data yang dipertukarkan antara entitas aplikasi yang bertujuan untuk mengatasi masalah perbedaan format penyajian data. Lapisan ini juga memberikan layanan pengelolaan pemasukan data, pertukaran, peragaan dan pengendalian struktur data serta menyediakan fasilitas untuk melakukan kompresi dan enkripsi-enkripsi data agar keamanan data dan informasi terjamin.
Seminar Nasional Pengaplikasian Telematika SINAPTIKA 2010 – ISSN 2086-8251
g.
Lapisan Aplikasi (Application Layer) Lapisan ketujuh atau lapisan paling atas ini bertugas mengatur interaksi antara pengguna komputer dengan program aplikasi yang dipakai. Lapisan ini juga melayani pemakai dengan memberikan layanan informasi yang berhubungan dengan aplikasi-aplikasi dan pengelolaannya yang meliputi fungsi inisialisasi, pemeliharaan, terminasi dan merekam data yang berhasil diperoleh selama pengoperasian aplikasi.
II. DASAR TEORI Parallel Port Port Parallel sebenarnya terdiri dari tiga bagian yaitu Data Port (DP), Printer Control (PC) dan Printer Status (PS). DP digunakan untuk mengirim data yang harus dicetak oleh printer, PC digunakan untuk mengirimkan kode-kode kontrol dari komputer ke printer, PS digunakan untuk mengirimkan kode-kode status printer ke komputer [5]. DP, PC dan PS sebenarnya adalah port-port 8 bit. Port PC adalah port baca/tulis (read/write), PS adalah port baca (read only) sedangkan port DP adalah port baca/tulis juga. Konfigurasi slot DB-25 female yang terdapat pada belakang komputer dapat dilihat pada Gambar 1. a.
Gambar 1 Konfigurasi slot DB-25 female b.
Pengaksesan Parallel Port pada Visual Basic Setelah mengetahui anatomi paralel port dan konfigurasi slot DB-25 yang terletak di belakang komputer maka cara pengaksesan paralel port melalui Visual Basic 6 adalah dengan membuat sebuah file DLL (Dynamic Link Library) yang diberi nama Port_IO.dll. Untuk menggunakannya, file DLL ini harus diletakkan dalam direktori //windows/system atau diikutkan dalam satu folder program yang telah dibuat [5].
Untuk menggunakan fungsi-fungsi yang ada dalam file DLL ini, maka lebih dahulu harus mendeklarasikan file DLL tersebut ke dalam Visual Basic. Adapun pendeklarasiannya adalah sebagai berikut: Private Declare sub Port_Out lib “Port_IO.dll” (Byval nPort As Interger, Byval nData As byte) Private Declare Function Port_In Lib”Port_IO.dll” (Byval nPort As Integer) As byte c. Diagram Arus Data Diagram arus data adalah suatu bagan untuk mewakili arus data dalam suatu sistem [1]. Bagan tersebut sangat membantu untuk memahami suatu sistem pada semua tingkat kompleksitasnya. Simbol yang digunakan untuk membuat diagram arus data dimaksudkan untuk mewakili: 1. External Entity (entitas luar) atau Boundary (batas sistem) Setiap sistem mempunyai batas sistem yang memisahkan suatu sistem dengan lingkungan luarnya. Sistem ini akan menerima input dan menghasilkan output kepada lingkungan luarnya. Entitas luar merupakan entitas di lingkungan luar sistem yang dapat berupa orang, organisasi atau sistem lainnya yang berada di lingkungan luarnya yang akan memberikan input atau menerima output dari sistem. Suatu entitas luar disimbolkan dengan notasi kotak. 2. Data Flow (arus data) Arus data di DAD diberi simbol suatu panah. Simbol panah ini menunjukkan arah aliran data yang mengalir antara proses, simpanan data dan entitas luar. 3. Process (proses) Suatu proses adalah kegiatan atau kerja yang dilakukan oleh orang, mesin atau komputer dari hasil suatu arus data yang masuk ke dalam proses untuk dihasilkan arus data yang akan keluar dari proses. Suatu proses dapat ditunjukkan dengan simbol lingkaran atau dengan simbol empat persegi panjang tegak dengan sudut-sudutnya tumpul. 4. Data Store (simpanan data) Simpanan data atau data store merupakan simpanan data yang berupa hal-hal sebagai berikut: a. Suatu file atau basis data di sistem komputer. b. Suatu arsip atau catatan manual. c. Suatu kotak tempat data di meja seseorang. d. Suatu agenda atau buku. Simpanan data di diagram arus data dapat disimbolkan dengan sepasang garis horizontal sejajar yang tertutup di salah satu ujungnya. D. Flowchart Flowchart merupakan ungkapan berbentuk gambar mengenai urutan logika dari suatu prosedur dalam pemecahan masalah. Dengan flowchart, urutan proses
283
Seminar Nasional Pengaplikasian Telematika SINAPTIKA 2010 – ISSN 2086-8251
digambarkan secara sistematis dan logis, menggunakan garis-garis dan simbol-simbol yang baku, sehingga memberikan informasi yang jelas. Karena sifatnya yang informatif serta pembuatannya yang relatif mudah, flowchart banyak digunakan sebagai model bagi proses dari suatu sistem yang sedang dirancang [2]. Flowchart disusun oleh simbol-simbol yang menggambarkan operasi, instruksi atau pengambilan keputusan yang harus dilaksanakan pada setiap tahapan proses. Simbol-simbol ini dihubungkan oleh garis aliran, berupa anak panah yang menggambarkan arah urutan proses. E. Rekayasa Perangkat Lunak Rekayasa perangkat lunak adalah disiplin ilmu yang membahas semua aspek produksi perangkat lunak, mulai dari tahap awal spesifikasi sistem sampai pemeliharaan sistem setelah digunakan. Dalam pengembangan perangkat lunak terdapat beberapa model atau paradigma umum. Oleh karena itu, dalam penulisan tugas akhir ini penulis menggunakan pengembangan perangkat lunak model air terjun (waterfall). Adapun tahap-tahap utama dari model pengembangan ini adalah sebagai berikut [3]: 1. Analisis dan definisi persyaratan Pelayanan, batasan dan tujuan sistem ditentukan melalui konsultasi dengan user sistem. Persyaratan ini kemudian didefinisikan secara rinci dan berfungsi sebagai spesifikasi sistem. 2. Perancangan sistem dan perangkat lunak Proses perancangan sistem membagi persyaratan dalam sistem perangkat keras atau perangkat lunak. Kegiatan ini menentukan arsitektur sistem secara keseluruhan. Perancangan perangkat lunak melibatkan identifikasi dan deskripsi abstraksi sistem perangkat lunak yang mendasar dan hubungan-hubungannya. 3. Implementasi dan pengujian unit Pada tahap ini, perancangan perangkat lunak direalisasikan sebagai serangkaian program atau unit program. Pengujian unit melibatkan verifikasi bahwa setiap unit telah memenuhi spesifikasinya. 4. Integrasi dan pengujian sistem Unit program atau program individual diintegrasikan dan diuji sebagai sistem yang lengkap untuk menjamin bahwa persyaratan sistem telah dipenuhi. Setelah pengujian sistem, perangkat lunak dikirim kepada pelanggan. 5. Operasi dan pemeliharaan Bagian ini merupakan fase siklus hidup yang paling lama. Sistem diinstal dan dipakai. Pemeliharaan mencakup koreksi dari berbagai error yang tidak ditemukan pada tahap-tahap terdahulu, perbaikan atas implementasi unit sistem dan pengembangan pelayanan sistem, sementara persyaratan-persyaratan baru ditambahkan. F. Windows Socket (WinSock) Sistem operasi Windows memiliki Application Programming Interface (API) untuk berkomunikasi
melalui TCP/IP yang dikenal dengan nama WinSock API. Dalam pembuatan software yang dapat berkomunikasi dengan komputer lain maka disediakan sebuah komponen ActiveX control yang bernama Winsock Control. Winsock secara khusus didefinisikan dengan bagaimana sebuah software jaringan Windows harus mengakses layanan jaringan, terutama TCP/ IP. Winsock menyediakan layanan API tunggal di mana pengembang aplikasi dan software jaringan perlu untuk menyesuaikan diri. Winsock juga didefinisikan sebagai binary interface yang menjamin sebuah aplikasi cocok pada Winsock API yang dapat berjalan pada software jaringan dari berbagai pengembang [6]. Dengan Winsock control maka programmer tidak perlu mengetahui detail TCP/IP dan pemanggilan fungsi API untuk membuat sebuah aplikasi jaringan karena programmer hanya menggunakan metode, properti atau event yang dimiliki oleh Winsock. Proses komunikasi client server menggunakan socket dapat dilihat pada Gambar 2. Client
Server
Connection Request
Accept
GetData
SendData
SendData
GetData
GetData
SendData
Close
Gambar 2. Komunikasi Client Server menggunakan Winsock III. ANALISIS DAN PERANCANGAN A. Analisis Perkembangan teknologi khususnya peralatan listrik telah merambah hampir ke semua aspek kehidupan. Seperti halnya berbagai jenis peralatan listrik seperti lampu, yang tersebar di berbagai ruangan di sebuah gedung yang digunakan sebagai hotel atau kantor perusahaan. Apabila lampu tersebut dikontrol secara manual dalam situasi dan kondisi tertentu maka akan sangat merepotkan. Apalagi jika jarak antara satu dengan yang lainnya berjauhan dan memiliki banyak tingkat. Berdasarkan masalah tersebut kita dapat memanfaatkan sebuah alat pengontrol untuk mengontrol peralatan listrik melalui komputer. Tentunya tidak efisien jika pengontrolan peralatan listrik tersebut tidak dapat dilakukan secara terpusat. Untuk mengatasi permasalahan tersebut kita dapat memanfaatkan sebuah alat pengontrol terpusat. Hal ini memang masih belum cukup efisien dan perlu dikembangkan lagi agar mendapatkan kemudahan dalam hal penggunaannya. Berdasarkan uraian tersebut, penulis bertujuan untuk membuat sebuah sistem aplikasi yang dapat memudahkan pengguna dalam mengontrol dan mengendalikan peralatan listrik
284
Seminar Nasional Pengaplikasian Telematika SINAPTIKA 2010 – ISSN 2086-8251
dari jarak jauh dengan judul “Sistem Pengendalian Peralatan Listrik melalui Jaringan Komputer”. Adapun proses dari sistem yang akan dirancang ini terbagi menjadi dua bagian yaitu: 1. Client Pada bagian ini, client harus terhubung lebih dahulu ke server dengan menginputkan IP address dan port server. Setelah client terhubung ke server maka akan terdapat indikator status lampu yang menyatakan kondisi lampu berada pada posisi on/off. Pada aplikasi client juga terdapat tombol atau switch yang berfungsi untuk menyalakan atau mematikan lampu. Jika tombol lampu dinyalakan maka status lampu pada client on dan indikator lampu pada server akan menyala. Sebaliknya, jika tombol lampu dimatikan maka status lampu pada client off dan indikator lampu pada server akan mati. 2. Server Bagian ini, server hanya menunggu perintah atau permintaan dari client. Pada aplikasi server hanya terdapat hasil dari perintah client berupa indikator lampu nyala atau mati. B. Perancangan 1. Diagram Konteks dan DAD Level 0 Diagram konteks dari Sistem Pengendalian Peralatan Listrik melalui Jaringan Komputer dapat dilihat pada Gambar 3. Dari gambar tersebut terdapat satu entitas luar yaitu user, dimana entitas user ini memberikan data nama, password dan otoritas kepada sistem. Sedangkan sistem memberikan hasil berupa tampilan client atau server.
1999: 711). Adapun tabel yang digunakan dalam sistem ini hanya berupa tabel log in untuk proses awal. Tabel Log In digunakan untuk menyimpan data user serta pengecekan password dan pilihan otoritas pada saat pengguna melakukan proses log in. Adapun fieldfield yang terdapat dalam tabel log in seperti yang terlihat pada Tabel 1 berikut ini. Tabel 1 Tabel Log In Nama Tipe Data Ukuran Deskripsi Field Kode AutoNumber Int Kode user Nama Text 25 Nama user Password Password Text 25 user 1. Client, Otoritas Number Int 2. Server mulai
input nama
input password
pilih otoritas
ada dalam database
T
belum terdaftar
Y
nama, password, otoritas
terdaftar
Sistem pengendalian peralatan listrik melalui jaringan komputer
USER
selesai
Gambar 4 Flowchart Log In
tampilan client / server, lampu on / off
mulai
Gambar 3 Diagram Konteks Sistem 2. Flowchart Untuk membuat program aplikasi yang baik maka diperlukan penggambaran secara global tentang program tersebut. Karena sifatnya yang informatif serta pembuatannya yang relatif mudah, flowchart banyak digunakan sebagai model bagi proses dari suatu sistem yang sedang dirancang. Pada Gambar 3 6 ini adalah flowchart program dari sistem yang sedang dirancang. 3. Basis Data Basis data adalah kumpulan dari data yang saling berhubungan satu dengan yang lainnya, tersimpan dalam perangkat keras komputer dan digunakan perangkat lunak untuk memanipulasinya (Jogiyanto,
285
input nama
input password
pilih otoritas
proses penyimpanan dlm database
selesai
Gambar 5 Flowchart Daftar
Seminar Nasional Pengaplikasian Telematika SINAPTIKA 2010 – ISSN 2086-8251
nama, password serta pilihan otoritas apakah sebagai client atau server. 1. Aplikasi Client Pada saat log in pengguna diharuskan mengisi nama, password dan memilih otoritas sebagai client. Aplikasi client hanya berfungsi untuk mengirimkan perintah-perintah pengendalian hardware yang dikirimkan kepada aplikasi server. Pengiriman perintah-perintah ini hanya dapat terjadi jika aplikasi client telah terhubung secara virtual dengan aplikasi server. 2. Aplikasi Sever Konsep utama dari aplikasi server adalah melayani. Dalam perangkat lunak yang telah dirancang, melayani berarti selalu stand by untuk menunggu jika terdapat aplikasi Client yang akan mengakses aplikasi server untuk mengendalikan alat yang terpasang pada komputer server. Server selalu menunggu perintah atau permintaan yang dikirimkan dari aplikasi Client.
mulai
input host / IP
input port
tidak terhubung
T
proses penyambungan ke server Y terhubung
lampu on / off
T error
Y berhasil on / off
selesai
Gambar 6 Flowchart Client
V. PENUTUP Dari beberapa uraian yang telah dibahas, maka dapat disimpulkan bahwa: 1. Untuk mengembangkan sistem pengendalian melalui jaringan lokal, jenis protokol yang digunakan adalah TCP (Transfer Control Protocol) karena data-data log penggunaan komputer harus benar-benar valid (data harus datang tepat waktu). 2. Aplikasi Server harus selalu siaga dalam keadaan listening (mendengarkan komunikasi yang berasal dari luar) setelah selesai melakukan even tertentu, sehingga aplikasi Client dapat meminta hubungan (koneksi) kepada server kapan saja. 3. Menghasilkan sistem aplikasi yang dapat membantu atau memudahkan manusia dalam mengendalikan atau mengontrol peralatan listrik melalui jaringan komputer.
mulai
terhubung
lampu on / off
berhasil on / off
selesai
Gambar 7 Flowchart Client 4. Perancangan Dialog Antar Muka Dalam menggunakan sebuah sistem aplikasi akan dipermudah dengan adanya beberapa tampilan perancangan form yang menggambarkan secara garis besar sistem yang dibuat. Adapun perancangan formform tersebut adalah sebagai berikut: a. Perancangan Form Log In b. Perancangan Form Daftar c. Perancangan Form pada Client d. Perancangan Form pada Server IV. IMPLEMENTASI A. Program Aplikasi Pembahasan pada bagian ini akan ditekankan pada bagaimana prosedur pengembangan aplikasi dalam penggunaan data pada komputer client dapat sampai ke komputer server. Pada saat program aplikasi kali pertama dijalankan, tampilan antar mukanya adalah berupa tampilan log in. Dimana pada form ini user diharapkan untuk mengisi data
VI. DAFTAR PUSTAKA [1] Jogiyanto, “Pengenalan Komputer Dasar (Ilmu Komputer, Pemrograman, Sistem Informasi dan Intelegensi Buatan)”, Andi, Yogyakarta, 1999 [2] Sutedjo; Michael, “Algoritma & Teknik Pemrograman (Konsep, Implementasi, Aplikasi)”, Andi, Yogyakarta, 2000 [3] Sommerville, Ian, “Software Engineering (Rekayasa Perangkat Lunak)”, Erlangga, Jakarta, 2003 [4] Rafiudin, Rahmat, “Panduan Membangun Jaringan Komputer Untuk Pemula”, PT. Elex Media Komputindo, Jakarta, 2003 [5] Sutadi, Dwi, “I/O BUS & Motherboard”, Andi, Yogyakarta [6] Sutedjo, Budi; dkk, “Konsep dan Aplikasi Pemrograman Client Server dan Sistem Terdistribusi”, Andi, Yogyakarta, 2006.
286