Beruflich Dokumente
Kultur Dokumente
TEKNIK INFORMATIKA
JAKARTA
2009
Puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Esa atas berkat, rahmat serta
kekuatan yang diberikan-Nya sehingga penulis dapat menyelesaikan Tugas ini dengan judul
“PEMROGRAMAN JARINGAN SCADA UNTUK PENERIMA, PENGANTAR DAN
PERANTARA ”.
Pada penulisan Tugas ini penulis banyak mendapat bantuan, bimbingan, pengarahan dan
saran-saran yang sangat dibutuhkan. Oleh karena itu pada kesempatan ini penulis ingin
menyampaikan terima kasih yang setulus-tulusnya kepada semua pihak yang telah membantu
selama penulisan Tugas ini. Khususnya kepada :
1. Bapak Joko Adiyanto M.Inf.Sys selaku dosen pembimbing yang telah meluangkan waktu
untuk memberikan arahan, pengetahuan, dan bimbingan kepada penulis.
2. Dosen-dosen Teknik Informatika yang telah memberikan ilmu yang sangat bermanfaat bagi
kemajuan penulis.
3. Para Staf dan Karyawan UNIVERSITAS MERCU BUANA yang telah memberi bantuan
informasi.
4. Kedua Orang Tua serta Saudara-saudara tercinta yang telah memberikan kesempatan dan
semangat yang sangat berarti kepada penulis.
5. Teman-teman yang telah membantu dalam memberi masukan dan pendapat demi
terselesainya Tugas ini.
Penulis menyadari bahwa masih banyak terdapat kekurangan pada Tugas ini, oleh karena itu
penulis mengharapkan kritik ataupun saran yang membangun dari pembaca yang nantinya akan
menjadi masukan yang berharga untuk penyempurnaan Tugas ini. Semoga Tugas ini dapat
bermanfaat bagi penulis dan tentunya bagi teman-teman yang membacanya.
Penulis
KATA PENGANTAR
DAFTAR ISI
BAB I PENDAHULUAN
BAB II SCADA
DAFTAR PUSTAKA
PENDAHULUAN
Information Technology (IT) atau teknologi informasi adalah sebagai studi, desain,
pengembangan, implementasi, dukungan terhadap manajemen dari sistem informasi berbasis
computer.
Dewasa ini perkembangan alat-alat yang mendukung Information Technology (IT) sangat
banyak. Beberapa diantaranya adalah berbentuk website, teknologi SMS (short massage service),
dan streaming video. Alat-alat tersebut sangat familiar di kalangan masyarakat umum, karena
memberikan manfaat untuk menukar informasi dan membuat suatu sistem informasi yang
dibutuhkan.
Sistem Informasi merupakan komponen-komponen yang saling berhubungan dan bekerja
sama untuk mengumpulkan, memproses, menyimpan dan mendistribusikan informasi tersebut
untuk mendukung proses pengambilan keputusan, koordinasi dan pengendalian. Sistem informasi
dapat diimplementasikan dalam berbagai macam bentuk, salah satunya adalah SCADA
(Supervisory Control And Data Acquisition).
Atas dasar hal ini maka pembahasan dibagi menjadi beberapa kelompok, dan penulis
memberikan judul “PEMROGRAMAN JARINGAN SCADA UNTUK PENERIMA,
PENGANTAR DAN PERANTARA” pada makalah ini dalam rangka memenuhi tugas yang
diberikan.
Sesuai dengan tugas yang diberikan, penulis hanya membatasi pembahasan mengenai
SCADA – Program untuk pengirim, perantara dan penerima saja.
Sistematika penulisan dari hasil penelitian ini akan diuraikan sebagai berikut :
Bab I Pendahuluan
Bab ini berisi sebagai upaya penulis untuk menjelaskan gagasan-gagasan utama penelitian.
Antara lain menguraikan latar belakang penulisan, tujuan penulisan, rumusan dan pembatasan
masalah dan juga sistematika penulisan.
Bab II SCADA
Bab ini antara lain akan menjelaskan mengenai definisi, komponen dan operasi-operasi pada
SCADA.
Bab IV Kesimpulan
Bab ini berisi kesimpulan yang pada pokoknya menyarikan hasil penelitian sesuai dengan tujuan
yang sudah ditentukan.
SCADA
Hasil yang didapat dari perancangan sistem ini kemudian dianalisa. Analisa hasil perancangan
sistem dibagi menjadi empat tahap.
1. Analisa hasil perancangan sistem yang meliputi analisa pemrograman sistem kontroling
dan analisa fungsi dari tiap-tiap komponen yang terintegrasi.
2. Analisa perangkat keras yang meliputi analisa semua komponen yang digunakan.
3. Analisa perangkat lunak yang meliputi analisa pemrograman tiap-tiap komponen sistem,
konfigurasi antar komponen komputer dengan modem, dan analisa pembuatan basis data.
Pada kenyataannya, kita membutuhkan pemantauan yang jauh lebih banyak dan kompleks
untuk pengukuran terhadap masukan dan beberapa sensor digunakan untuk pengukuran terhadap
keluaran (tekanan, massa jenis, densitas dan lain sebagainya).
Beberapa sensor bisa melakukan pengukuran kejadian secara sederhana yang bisa dideteksi
menggunakan saklar ON/OFF, masukan seperti ini disebut sebagai masukan diskrit atau masukan
digital. Misalnya untuk mengetahui apakah sebuah alat sudah bekerja (ON) atau belum (OFF),
konveyornya sudah jalan (ON) atau belum (OFF), mesinnya sudah mengaduk (ON) atau belum
(OFF), dan lain sebagainya. Beberapa sensor yang lain bisa melakukan pengukuran secara
kompleks, dimana angka atau nilai tertentu itu sangat penting, masukan seperti ini disebut masukan
analog, bisa digunakan untuk mendeteksi perubahan secara kontinu pada, misalnya, tegangan, arus,
densitas cairan, suhu, dan lain sebagainya.
Untuk kebanyakan nilai-nilai analog, ada batasan tertentu yang didefinisikan sebelumnya,
baik batas atas maupun batas bawah. Misalnya, Anda ingin mempertahankan suhu antara 30 dan 35
derajat Celcius, jika suhu ada di bawah atau diatas batasan tersebut, maka akan memicu alarm (baik
lampu dan/atau bunyi-nya). Terdapat empat alarm batas untuk sensor analog: Major Under, Minor
Under, Minor Over, dan Major Over Alarm.
Pada awalnya, SCADA melakukan komunikasi data melalui radio, modem atau jalur kabel
serial khusus. Saat ini data-data SCADA dapat disalurkan melalui jaringan Ethernet atau TCP/IP.
Untuk alasan keamanan, jaringan komputer untuk SCADA adalah jaringan komputer lokal (LAN -
Local Area Network) tanpa harus mengekspos data-data penting di Internet.
Komunikasi SCADA diatur melalui suatu protokol, jika jaman dahulu digunakan protokol
khusus yang sesuai dengan produsen SCADA-nya, sekarang sudah ada beberapa standar protokol
yang ditetapkan, sehingga tidak perlu khawatir masalah ketidakcocokan komunikasi lagi.
Karena kebanyakan sensor dan relai kontrol hanyalah peralatan listrik yang sederhana, alat-
alat tersebut tidak bisa menghasilkan atau menerjemahkan protokol komunikasi. Dengan demikian
dibutuhkan RTU yang menjembatani antara sensor dan jaringan SCADA. RTU mengubah
masukan-masukan sensor ke format protokol yang bersangkutan dan mengirimkan ke master
Sistem SCADA melakukan pelaporan status berbagai macam sensor (baik analog maupun
digital) melalui sebuah komputer khusus yang sudah dibuatkan HMI-nya (Human Machine
INterface) atau HCI-nya (Human Computer Interface). Akses ke kontrol panel ini bisa dilakukan
secara lokal maupun melalui website. Bahkan saat ini sudah tersedia panel-panel kontrol yang
TouchScreen.
2.4.4 Kontrol
Kita bisa melakukan penambahan kontrol ke dalam sistem SCADA melalui HMI-nya. Bisa
dilakukan otomasi kontrol atau otomasi proses, tanpa melibatkan campur tangan manusia.
Berikut adalah tampilan desain dasar dari 3 perangkat komputer untuk diuji dimana
komputer 1 sebagai pengirim, Komputer 2 sebagai perantara dan Komputer 3 sebagai penerima.
Berikut adalah instruksi yang harus dijalankan agar semua komputer tersebut bisa
terhubung. Menggunakan bahasa program C++ dengan diaplikasikan pada sistem operasi linux.
a. Hubungkan komputer 1 (pengirim data) dengan komputer 2 (perantara)
menggunakan null cable (+ usb to serial adapter).
b. Hubungkan komputer 2 (perantara) dengan komputer 3 dengan TCP/IP
(wifi/LAN/cross cable)
3.3.1 Pengirim.c
#include <termios.h>
#include <stdio.h>
#include <unistd.h>
#include <fcntl.h>
#include <sys/signal.h>
#include <string.h>
#include <ctype.h>
#include <stdlib.h>
#include <time.h>
#define _POSIX_SOURCE 1
#define FALSE 0
#define TRUE 1
#define NUL '\0'
void child_handler(int s)
main()
{
int fd,c;
char *dataIn;
char *dataOut;
struct termios oldtio,newtio,oldstdtio,newstdtio;
struct sigaction sa;
int sh, i;
time_t rt;
struct tm * ti;
char *buf;
char* jam;
tcgetattr(fd,&oldtio);
newtio.c_iflag = IGNPAR;
newtio.c_oflag = 0;
newtio.c_lflag = 0;
newtio.c_cc[VMIN]=1;
newtio.c_cc[VTIME]=0;
tcflush(fd, TCIFLUSH);
tcsetattr(fd,TCSANOW,&newtio);
tcsetattr(1,TCSANOW,&newtio);
tcgetattr(0,&oldstdtio);
tcgetattr(0,&newstdtio);
newstdtio.c_lflag &= ~(ICANON | ECHO);
{
case 0:
i = 0;
while(1)
{
time(&rt);
ti = localtime(&rt);
if (sh != ti->tm_sec) {
i++;
FILE *pF;
char t[41];
if (i >= 5) {
pF = fopen("/proc/acpi/thermal_zone/TZ00/temperature", "r");
fread(t, sizeof(t), sizeof(t), pF);
printf(":: mengirim :: %s%s\n", asctime((struct tm *) ti),t);
write(fd, asctime((struct tm *) ti), strlen(asctime((struct tm *)
ti)));
write(fd,t,strlen(t));
i = 0;
}
}
sh = ti->tm_sec;
}
tcsetattr(fd,TCSANOW,&oldtio);
tcsetattr(0,TCSANOW,&oldstdtio);
close(fd);
exit(0);
break;
case -1:
perror("fork");
tcsetattr(fd,TCSANOW,&oldtio);
close(fd);
exit(-1);
default:
close(0);
sa.sa_handler = child_handler;
sa.sa_flags = 0;
sigaction(SIGCHLD,&sa,NULL);
while (STOP==FALSE)
3.3.2 Perantara.c
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <termios.h>
#include <stdio.h>
#include <string.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#define FALSE 0
#define TRUE 1
#define PORT 3550
#define BACKLOG 2
main()
{
int fd,c, res, ifd, ifd2;
struct termios oldtio,newtio;
char buf[255];
struct sockaddr_in server;
struct sockaddr_in client;
int sin_size;
tcgetattr(fd,&oldtio);
bzero(&newtio, sizeof(newtio));
newtio.c_oflag = 0;
newtio.c_lflag = ICANON;
newtio.c_cc[VINTR]= 0;
tcflush(fd, TCIFLUSH);
tcsetattr(fd,TCSANOW,&newtio);
while (STOP==FALSE) {
res = read(fd,buf,255);
buf[res]=0;
printf(":: forwarding [%d byte(s)] :: %s", res, buf);
send(ifd2,buf,res,0);
if (buf[0]=='z') STOP=TRUE;
}
tcsetattr(fd,TCSANOW,&oldtio);
}
3.3.3 Penerima.c
#include <stdio.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netdb.h>
#define MAXDATASIZE 40
FILE* fData;
int OpenFile(void)
{
fData = NULL;
fData = fopen("DataKontrol.dat", "a+");
if (fData == NULL)
{
fData = fopen("DataKontrol.dat", "w+");
}
if (fData == NULL)
{
printf("Can not create/open");
return 0;
}
return 1;
}
if (OpenFile()==0)
{
return 0;
}
if ((he=gethostbyname(ptrsa.ip))==NULL){
printf("gethostbyname() error\n");
return 0;
}
server.sin_family = AF_INET;
server.sin_port = htons(ptrsa.port);
server.sin_addr = *((struct in_addr *)he->h_addr);
bzero(&(server.sin_zero),8);
while (1)
{
if ((numbytes=recv(fd,buf,MAXDATASIZE,0)) == -1)
}
if (numbytes == 0)
{
fprintf(fData,"%s\n", "server terminates");
break;
}
printf(":: receiving [%d byte(s)] :: %s", numbytes, buf);
fprintf(fData,"%s", buf);
}
close (fData);
close(fd);
}
3.3.4 Config.dat
127.0.0.1 3550
1. Pengirim :
BAB IV
PENUTUP
1. SCADA adalah suatu sistem pengakuisisian suatu data untuk digunakan sebagai control dari
sebuah obyek
2. Komponen dalam SCADA terdiri dari sensor, RTU, MTU dan jaringan komunikasi.
3. Percobaan aplikasi SCADA pada 3 komputer sebagai pengirim, perantara dan penerima
dengan menggunakan bahasa C++ untuk sistem operasi linux dan menampilkan hasil berupa
waktu dan suhu berjalan dengan sukses dengan menggunakan TCP/IP dan serial kabel
sebagai penghubung komunikasi komputer 1, komputer 2 dan komputer 3.
May dan Donald, L., Mobile’s SCADA systems reduce operating costs,
http://static.highbeam.com/p/publicworks/august011997/
mobilesscadasystemsreduceoperatingcostsalabamasupe/, HighBeam Research, Public Works, 1 Agustus 1997.
Mayer, K. dan Taylor, K., An Embedded Device Utilising GPRS for Communications; International Conference
On Information Technology and Applications, Bathurst, Australia, 25-28 November 2002.
Robotics and Automation Group, Telerobot, Department of Mechanical and Materials of Engineering, The
University of Western Australia, Nedlands 6907, Western Australia, http://telerobot.mech.uwa.edu.au/, 2004.
Tan, L. and Taylor, K., Mobile SCADA with Thin Clients - A Web Demonstration; International Conference On
Information Technology and Applications, Bathurst, Australia, 25-28 November 2002.
Taylor, K., XML and Mobile Computing; Active Server Developers Journal, Elementk Journals, Februari 2001.
Taylor, K. dan Mayer, K., TinyDB by Remote, World Conference on Integrated Design and Process Technology,
Austin, Texas, 3-6 December 2003.
Taylor, K. dan Palmer, D., Applying Enterprise Architectures and Technology To The Embedded Devices
Domain; Workshop on Wearable, Invisible, Context-Aware, Ambient, Pervasive and Ubiquitous Computing,
Adelaide, Australia, Conferences in Research and Practice in Information Technology, Vol. 21, Februari 2003.