32
PEMROGRAMAN JARINGAN SCADA UNTUK PENGIRIM, PERANTARA DAN PENERIMA UNIVERSITAS MERCU BUANA TEKNIK INFORMATIKA JAKARTA 2009 Group : * Chairul Muttaqin 41506110045 * Gatot Arie Wibowo 41506110161 * Nurholifah 41506110098 UMB PKSM Pemrograman Sistem Jaringan

Makalah Program Sistem Jaringan

Embed Size (px)

Citation preview

Page 1: Makalah Program Sistem Jaringan

PEMROGRAMAN JARINGAN

SCADA UNTUK PENGIRIM, PERANTARA DAN

PENERIMA

UNIVERSITAS MERCU BUANA

TEKNIK INFORMATIKA

JAKARTA

2009

Group : * Chairul Muttaqin 41506110045

* Gatot Arie Wibowo 41506110161

* Nurholifah 41506110098

* Yenny Surinah 41506110110

UMB PKSM Pemrograman Sistem Jaringan

Page 2: Makalah Program Sistem Jaringan

KATA PENGANTAR

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.

Jakarta, July 2009

Penulis

UMB PKSM Pemrograman Sistem Jaringan

Page 3: Makalah Program Sistem Jaringan

DAFTAR ISI

KATA PENGANTAR

DAFTAR ISI

BAB I PENDAHULUAN

1.1 Latar Belakang Penulisan ....................................................................................5

1.2 Tujuan Penulisan .................................................................................................5

1.3 Rumusan Masalah ...............................................................................................6

1.4 Pembatasan Masalah ...........................................................................................6

1.5 Sistematika Penulisan ..........................................................................................6

BAB II SCADA

2.1 Definisi SCADA .......................................................................................................7

2.2 Tahapan Perancangan SCADA .................................................................................7

2.3 Komponen SCADA ..................................................................................................8

2.4 Hubungan Yang Terjadi Dalam SCADA ..................................................................9

2.4.1 Akuisisi Data ....................................................................................................9

2.4.2 Komunikasi Data ..............................................................................................9

2.4.3 Penyajian Data ...............................................................................................10

2.4.4 Kontrol 10

2.5 Istilah-istilah Dalam SCADA .................................................................................10

BAB III APLIKASI SCADA PADA JARINGAN TCP/IP

3.1 Desain Aplikasi SCADA .........................................................................................12

3.2 Cara Kerja ...............................................................................................................12

3.3 Sourche Code Program ...........................................................................................13

3.3.1 Pengirim.c ......................................................................................................13

3.3.2 Perantara.c ......................................................................................................16

3.3.3 Penerima.c ......................................................................................................19

3.4 Tampilan Hasil ........................................................................................................22

UMB PKSM Pemrograman Sistem Jaringan

Page 4: Makalah Program Sistem Jaringan

BAB III PENUTUP

4.1 Kesimpulan .............................................................................................................24

DAFTAR PUSTAKA

UMB PKSM Pemrograman Sistem Jaringan

Page 5: Makalah Program Sistem Jaringan

BAB I

PENDAHULUAN

1.1 Latar Belakang Penulisan

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.

1.2 Tujuan Penulisan

Penelitian bertujuan menjawab tiga pokok pernyataan sebagai berikut :

1. Untuk dapat memahami definisi SCADA.

2. Untuk bisa memahami komponen yang ada di dalam SCADA.

3. Untuk bisa memberikan contoh dalam program C++ untuk bagian pengirim, perantara dan

penerima.

UMB PKSM Pemrograman Sistem Jaringan

Page 6: Makalah Program Sistem Jaringan

1.3 Rumusan Masalah

1. Apakah yang dimaksud dengan SCADA ?

2. Jelaskan komponen yang ada pada SCADA ?

3. Berikanlah contoh programnya dalam bahasa C++ ?

1.4 Pembatasan Masalah

Sesuai dengan tugas yang diberikan, penulis hanya membatasi pembahasan mengenai

SCADA – Program untuk pengirim, perantara dan penerima saja.

1.5 Sistematika Penulisan

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 III Contoh Program SCADA Dalam C++

Bab ini berisi contoh program dari pengirim, perantara, penerima dalam bahasa C++, beserta

display hasilnya.

Bab IV Kesimpulan

Bab ini berisi kesimpulan yang pada pokoknya menyarikan hasil penelitian sesuai dengan tujuan

yang sudah ditentukan.

UMB PKSM Pemrograman Sistem Jaringan

Page 7: Makalah Program Sistem Jaringan

BAB II

SCADA

2.1 Definisi SCADA

SCADA (SUPERVISORY CONTROL AND DATA ACQUISITION ) adalah suatu sistem

pengakuisisian suatu data untuk digunakan sebagai control dari sebuah obyek. Sistem SCADA yang

paling sederhana yang mungkin bisa dijumpai di dunia adalah sebuah rangkaian tunggal yang

memberitahu anda sebuah kejadian (event). Sebuah sistem SCADA skala-penuh mampu memantau

dan (sekaligus) mengontrol proses yang jauh lebih besar dan kompleks.

2.2 Tahapan Perancangan SCADA

Tahapan dalam merancang suatu sistem berbasis SCADA adalah :

1. Tahap studi awal

Tahap awal merupakan tahap identifikasi masalah yang ada dan penentuan tujuan yang

ingin dicapai dalam penelitian.

2. Tahap inisialisasi

Pada tahap insialisasi dilakukan studi literatur dan studi lapangan.

3. Tahap kreatif

Tahap ini merupakan proses pembuatan program untuk PLC (Programmable Logic

Controller) dan pembuatan perangkat lunak Human Machine Interface dilakukan secara

paralel.

4. Tahap pengujian dan analisa

5. Tahap kesimpulan dan saran.

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.

UMB PKSM Pemrograman Sistem Jaringan

Page 8: Makalah Program Sistem Jaringan

4. Analisa kelebihan dan kekurangan sistem. Analisa ini meliputi keunggulan dari produk

yang dibuat dan kekurangan yang ada dalam sistem yang telah terintegrasi.

Kesimpulan yang dapat diambil dari perancangan sistem ini adalah telah terintegrasinya

sistem SCADA dengan memanfaatkan seluruh perangkat yang ada sehingga memberikan

kemudahan pengamatan, pencatatan dan pelaporan pada saat implementasi.

2.3 Komponen SCADA

Sebuah sistem SCADA memiliki 4 (empat) fungsi , yaitu:

1. Akuisisi Data,

2. Komunikasi data jaringan,

3. Penyajian data, dan

4. Kontrol (proses).

Fungsi-fungsi tersebut didukung sepenuhnya melalui 4 (empat) komponen SCADA, yaitu:

1. Sensor (baik yang analog maupun digital) dan relai kontrol yang langsung berhubungan

dengan berbagai macam aktuator pada sistem yang dikontrol.

2. RTUs (Remote Telemetry Units). Merupakan unit-unit “komputer” kecil (mini),

maksudnya sebuah unit yang dilengkapi dengan sistem mandiri seperti sebuah komputer,

yang ditempatkan pada lokasi dan tempat-tempat tertentu di lapangan. RTU bertindak

sebagai pengumpul data lokal yang mendapatkan datanya dari sensor-sensor dan

mengirimkan perintah langsung ke peralatan di lapangan.

3. Unit master SCADA (Master Terminal Unit - MTU). Merupakan komputer yang

digunakan sebagai pengolah pusat dari sistem SCADA. Unit master ini menyediakan HMI

(Human Machine Iterface) bagi pengguna, dan secara otomatis mengatur sistem sesuai

dengan masukan-masukan (dari sensor) yang diterima.

4. Jaringan komunikasi, merupakan medium yang menghubungkan unit master SCADA

dengan RTU-RTU di lapangan.

UMB PKSM Pemrograman Sistem Jaringan

Page 9: Makalah Program Sistem Jaringan

2.4 Hubungan Yang Terjadi Dalam SCADA

2.4.1 Akuisisi 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.

2.4.2 Komunikasi Data

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

UMB PKSM Pemrograman Sistem Jaringan

Page 10: Makalah Program Sistem Jaringan

SCADA, selain itu RTU juga menerima perintah dalam format protokol dan memberikan sinyal

listrik yang sesuai ke relai kontrol yang bersangkutan.

Gambar Contoh Jaringan pada Sistem SCADA

2.4.3 Penyajian Data

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.

2.5 Istilah-istilah dalam SCADA

a. ASCII : American Standard Code for Information Interchange. ASCII

mendefinisikan pola rangkaian bit yang menotasikan karakter-karakter alfa

numeris, kontrol, dan simbol-simbol khusus.

b. COM : Communication. Port Com adalah suatu port yang digunakan untuk

menyediakan komunikasi serial.

c. EEPROM : Electrically Erasable Programmable Read Only Memory. EEPROM dapat

menyimpan data walau satu dayanya off. Data bisa dihapus dengan suatu

sengatan listrik.

d. IO : Input and Output.

UMB PKSM Pemrograman Sistem Jaringan

Page 11: Makalah Program Sistem Jaringan

e. IP : Internet Protocol. Suatu protocol yang bersifat packet switched

yang membentukbasis transmisi data pada Internet.

f. KB : KiloBytes. Satu kilobyte = 1024 bytes.

g. PIC : Programmable Interrupt Control.

h. RS-232 : Suatu protokol komunikasi serial yang umum digunakan.

i. RTUs : Remote Telemetry Units.

j. TCP : Transmission Control Protocol. Suatu protokol koneksi primer pada

Internet, berada di atas IP.

UMB PKSM Pemrograman Sistem Jaringan

Page 12: Makalah Program Sistem Jaringan

BAB III

APLIKASI SCADA PADA JARINGAN TCP/IP

3.1 Desain Aplikasi SCADA

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.

Komputer1 Komputer2 Komputer3

(Pengirim) (Perantara) (Penerima)

3.2 Cara Kerja

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)

c. Simpan file config.dat di komputer 3 dan diubah data IP address didalamnya dengan

data IP dari komputer 2, dan juga port yang digunakan.

d. Pada komputer 1 dan 2, cek posisi USB to Serial port (ttyUSB0/1/2/...etc)

UMB PKSM Pemrograman Sistem Jaringan

NULL CABLE

TCP/IP LAN

Page 13: Makalah Program Sistem Jaringan

e. Pada komputer 1 dan 2, lakukan: "sudo chmod 777 /dev/ttyUSBx", x = posisi USB

to Serial adapter.

f. Compile perantara.c di komputer 2 -> "gcc -o perantara.o perantara.c"

g. Compile penerima.c di komputer 3 -> "gcc -o penerima.o penerima.c"

h. Compile pengirim.c di komputer 1 -> "gcc -o pengirim.o pengirim.c"

i. Jalankan perantara.o di komputer 2 -> "./perantara.o"

j. Jalankan penerima.o di komputer 3 -> "./penerima.o"

k. Jalankan pengirim.o di komputer 1 -> "./pengirim.o"

3.3 Sourche Code Program

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 BAUDRATE B38400

#define MODEMDEVICE "/dev/ttyUSB0"

#define ENDMINITERM 2

#define _POSIX_SOURCE 1

#define FALSE 0

#define TRUE 1

#define NUL '\0'

volatile int STOP=FALSE;

void child_handler(int s)

{

STOP=TRUE;

}

UMB PKSM Pemrograman Sistem Jaringan

Page 14: Makalah Program Sistem Jaringan

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;

fd = open(MODEMDEVICE, O_RDWR | O_NOCTTY);

if (fd <0) {perror(MODEMDEVICE); exit(-1); }

tcgetattr(fd,&oldtio);

newtio.c_cflag = BAUDRATE | CRTSCTS | CS8 | CLOCAL | CREAD;

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);

tcsetattr(0,TCSANOW,&newstdtio);

{

case 0:

UMB PKSM Pemrograman Sistem Jaringan

Page 15: Makalah Program Sistem Jaringan

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)

{

read(fd,&dataIn,30);

write(1,&dataIn,30);

}

UMB PKSM Pemrograman Sistem Jaringan

Page 16: Makalah Program Sistem Jaringan

wait(NULL);

break;

}

}

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 BAUDRATE B38400

#define MODEMDEVICE "/dev/ttyUSB0"

#define _POSIX_SOURCE 1

#define FALSE 0

#define TRUE 1

#define PORT 3550

#define BACKLOG 2

volatile int STOP=FALSE;

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;

if ((ifd=socket(PF_INET, SOCK_STREAM, 0)) == -1 ){

printf("socket() error\n");

return 0;

UMB PKSM Pemrograman Sistem Jaringan

Page 17: Makalah Program Sistem Jaringan

}

memset(&server, '\0', sizeof(struct sockaddr_in));

server.sin_family = PF_INET;

server.sin_port = htons(PORT);

server.sin_addr.s_addr = INADDR_ANY;

if(bind(ifd,(struct sockaddr*)&server,sizeof(struct sockaddr))==-1)

{

printf("bind() error\n");

return 0;

}

if(listen(ifd,BACKLOG) == -1){

printf("listen() error\n");

return 0;

}

sin_size=sizeof(struct sockaddr_in);

if ((ifd2 = accept(ifd,(struct sockaddr *)&client,&sin_size))==-1)

{

printf("accept() error\n");

return 0;

}

fd = open(MODEMDEVICE, O_RDWR | O_NOCTTY );

if (fd <0) {perror(MODEMDEVICE); exit(-1); }

tcgetattr(fd,&oldtio);

bzero(&newtio, sizeof(newtio));

newtio.c_cflag = BAUDRATE | CRTSCTS | CS8 | CLOCAL | CREAD;

newtio.c_iflag = IGNPAR | ICRNL;

newtio.c_oflag = 0;

newtio.c_lflag = ICANON;

newtio.c_cc[VINTR]= 0;

newtio.c_cc[VQUIT]= 0;

newtio.c_cc[VERASE]= 0;

newtio.c_cc[VKILL]= 0;

newtio.c_cc[VEOF] = 4;

UMB PKSM Pemrograman Sistem Jaringan

Page 18: Makalah Program Sistem Jaringan

newtio.c_cc[VTIME]= 0;

newtio.c_cc[VMIN] = 1;

newtio.c_cc[VSWTC]= 0;

newtio.c_cc[VSTART]= 0;

newtio.c_cc[VSTOP]= 0;

newtio.c_cc[VSUSP]= 0;

newtio.c_cc[VEOL] = 0;

newtio.c_cc[VREPRINT] = 0;

newtio.c_cc[VDISCARD] = 0;

newtio.c_cc[VWERASE] = 0;

newtio.c_cc[VLNEXT] = 0;

newtio.c_cc[VEOL2]= 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;

typedef struct

{

char ip[15];

UMB PKSM Pemrograman Sistem Jaringan

Page 19: Makalah Program Sistem Jaringan

int port;

} serveraddress;

int OpenConfiguration(serveraddress* sa)

{

FILE* fConf;

fConf = fopen("config.dat", "r");

if (fConf == NULL)

{

printf("config.dat is not available");

return 0;

}

fscanf(fConf, "%s %d", sa->ip, &sa->port);

return 1;

}

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;

}

int main()

{

int fd, numbytes;

UMB PKSM Pemrograman Sistem Jaringan

Page 20: Makalah Program Sistem Jaringan

char buf[MAXDATASIZE];

struct hostent *he;

struct sockaddr_in server;

serveraddress ptrsa;

OpenConfiguration(&ptrsa);

if (OpenFile()==0)

{

return 0;

}

if ((he=gethostbyname(ptrsa.ip))==NULL){

printf("gethostbyname() error\n");

return 0;

}

if ((fd=socket(AF_INET, SOCK_STREAM, 0))==-1){

printf("socket() 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);

if(connect(fd, (struct sockaddr *)&server,sizeof(struct sockaddr))==-1){

printf("connect() error\n");

return 0;

}

while (1)

{

if ((numbytes=recv(fd,buf,MAXDATASIZE,0)) == -1)

{

printf("recv() error\n");

break;

UMB PKSM Pemrograman Sistem Jaringan

Page 21: Makalah Program Sistem Jaringan

}

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

3.4 Tampilan hasil

1. Pengirim :

UMB PKSM Pemrograman Sistem Jaringan

Page 22: Makalah Program Sistem Jaringan

2. Perantara :

UMB PKSM Pemrograman Sistem Jaringan

Page 23: Makalah Program Sistem Jaringan

3. Penerima :

BAB IV

PENUTUP

UMB PKSM Pemrograman Sistem Jaringan

Page 24: Makalah Program Sistem Jaringan

4.1 Kesimpulan

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.

UMB PKSM Pemrograman Sistem Jaringan

Page 25: Makalah Program Sistem Jaringan

DAFTAR PUSTAKA

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.

UMB PKSM Pemrograman Sistem Jaringan