AKUSISI DATA LEWAT PROTOCOL TCP/IP BERBASIS LABVIEW
S
UKARMANSekolah Tinggi Teknologi Nuklir-BATAN Jl. Babarsari Kotak Pos 1008, DIY 55010
Telp. 0274.489716, Faks.489715
Email:[email protected]
Abstract
Protocol TCP/IP sudah populer digunakan untuk membangun komunikasi data terutama jaringan internet. Salah-satu kelebihannya adalah memungkinkannya berbagi data dengan kontroler atau komputer lain yang letaknya berjauhan. . Pada penelitian ini penulis akan memanfaatkan jaringan LAN sebagai Protocol untuk
media akuisisi data menggunakan layer TCP menggunakan perangkat Lunak LabView. Sebuah komputer digunakan sebagai server dan sebuah komputer lagi digunakan sebagai remote/client. Data yang akan diakuisisi dilakukan oleh komputer server dan dimanipulasi menggunakan tampilan front panel LabView, Data-data tersebut kemudian dikirimkan ke komputer remote/client menggunakan program LabView melalui jaringan LAN. Data-data yang diterima di komputer remote/client ditampilkan dalam bentuk grafik. Berdasarkan hasil percobaan menunjukkan bahwa protocol jaringan pada LAN dapat digunakan untuk data akuisisi dengan baik menggunakan fungsi komunikasi TCP pada Labview.
Kata kunci : Akuisisi data, TCP/IP, protocol, Client/Server, LabView,
Abstract
TCP/IP protocol has been using famously to build data communications, mainly internet. One of benefit is possibility data sharing with a controller or a PC remote far. The research will proposed to use Local area Network (LAN) TCP layer as protocol for data acquisition, it uses Labview programming. This research consist of a Server and a client/remote computer. Data acquisition with front panel Labview done directly by server, the next the data’s send to client/remote, has displayed as graphic mode. The result show that LAN protocol unable to use media of acquisition data that use palette function TCP in LabView.
Keywords: acquisition data, TCP/IP,Protocol,Client/Server, LabView.
PENDAHULUAN
Dalam proses komunikasi data antar computer melalui internet dibutuhkan suatu protocol, yaitu kumpulan peraturan yang mengatur proses komunikasi antar piranti elektronik, salah satunya TCP/IP(transmi yang dikenal dengan protocol internet. TCP/IP merupakan suite protocol yang digunakan untuk mengirim data antar computer dalam jaringan tanpa adanya batasan perangkat keras maupun perangkat lunak[1]. Protocol ini dapat dimanfaatkan sebagai sarana pengiriman data
informasi atau kendali melalui jaringan computer.
Melalui pemprograman socket data informasi dan kendali dapat dikirimkan ke computer yang terhubung dalam jaringan yang menggunakan protocol TCP/IP. Labview merupakan salah satu program yang mendukung TCP/IP. Labview mengendalikan socket pada TCP/IP. Dalam Labview paling sedikit terdapat dua program untuk tujuan komunikasi data melalui protocol ini yaitu Program Server dan Program Client.
Internet protocol (IP), User datagram Protokol (UDP), dan Transmission Control Protocol (TCP) merupakan dasar komunikasi berbasis jaringan. TCP/IP berasal dari 2 protoko, yaitu TCP dan IP.[4].
Komunikasi TCP/IP memberikan interface yang sederhana walaupun sebenarnya sangat kompleks. Dalam penelitian ini perangkat lunak Labview digunakan sebagai tool untuk melakukan pengaturan jalur komunikasi pada protocol tersebut. Fungsi-fungsi yang ada pada perangkat lunak Labview memungkinkan untuk tujuan membangun komunikasi data. Penggunaan fungsi TCP/IP terdapat pada palette
Function,Communication,TCP. Seperti
halnya pada DAQ (data acquisition), instrumentasi dan komunikasi menggunakan port I/O, proses tersebut diawali dengan membuka koneksi, membaca dan menulis informasi dan diakhiri dengan menutup koneksi.
Pada kebanyakan komunikasi menggunakan port I/O, prosesor selalu mengawali dengan koneksi ke server disk drive, server instrument eksternal atau server DAQ. Dengan koneksi TCP/IP, computer dapat berfungsi sebagai client atau server. Diagram blok pada Gambar 1,menunjukkan aplikasi client untuk koneksi ke server remote untuk mulai membuka koneksi.
Gambar 1. Aplikasi Koneksi Client Dengan Labview
User Labview dapat membangun aplikasi menggunakan komunikasi TCP/IP, dengan menghubungkan client dan server.karena setiap user dapat terkoneksi ke server, maka perlu dilakukan pengaturan akses. Diagram blok pada
Gambar 2.,server menggunakan nilai keluaran alamat computer remote dari sebuah TCP Listen untuk menentukan apakah remote mengijinkan akses ke server.
Gambar 2. Aplikasi Koneksi Ke Server
Dalam tulisan ini akan dilakukan akuisisi data lewat protocol TCP menggunakan labview, data diambil melalui program server dan dikirimkan ke Client/computer remote untuk ditampilkan dalam bentuk grafik.
DASAR TEORI
Tinjauan Singkat Arsitektur Protocol TCP/IP
Protocol-protocol TCP/IP memberikan dukungan jaringan untuk menghubungkan
seluruh tempat dan host serta mengikuti aturan standar tentang bagaimana komputer-komputer berkomunikasi dan bagaimana jaringan-jaringan diinterkoneksikan. Protocol-protocol TCP/IP mengikuti model konsep empat layer yang dikenal sebagai model Department of Defense (DOD): Application, Transport, Internet, dan Network Interface, sebagaimana dijelaskan pada Gambar 3.
Gambar 3. Model konsep empat layer [1,3,7,8]
Layer Application
Layer Application terletak di atas pada model TCP/IP konsep empat layer dan merupakan tempat program software memperoleh akses ke jaringan[6]. 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:
1. HyperText Transfer Protocol (HTTP). HTTP adalah protocol yang dipakai untuk mayoritas komunikasi World Wide Web. Windows 2003 menghadirkan Internet Explorer sebagai client HTTP dan Internet Information Services (IIS) sebagai server HTTP.
2. File Transfer Protocol (FTP). FTP adalah suatu layanan Internet yang mentransfer file-file dari satu komputer ke komputer lain. Internet Explorer dan FTP utiliti yang termasuk command-line bertindak sebagai client FTP. IIS menyediakan server FTP. 3. Simple Mail Transfer Protocol (SMTP).
SMTP merupakan suatu protocol yang dipakai server mail untuk mentransfer e-mail. IIS dapat mengirimkan pesan-pesan dengan memakai protocol SMTP.
4. Telnet. Telnet adalah suatu protocol yang menyamai terminal yang dapat dipakai untuk me-logon ke host jaringan yang jauh. Telnet menawarkan para pemakai suatu kapabilitas dalam mengoperasikan program-program secara jauh dan memudahkan administrasi yang jauh. Telnet secara praktis memang disediakan untuk semua sistem operasi dan mengurangi integrasi dalam lingkungan jaringan yang heterogen. Windows 2003 memberikan baik server maupun client Telnet.
5. 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 IP-nya. DNS sangat banyak dipakai di Internet dan pada kebanyakan perusahaan pribadi dewasa ini. Saat Anda memakai Web browser, aplikasi Telnet, utiliti FTP, atau utiliti TCP/IP mirip lainnya di Internet, maka Anda mungkin sedang memakai sebuah server DNS. Windows 2003 menyediakan juga server DNS.
6. 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. Network Application API
TCP/IP Microsoft menyediakan dua interface bagi aplikasi-aplikasi jaringan untuk memakai layanan-layanan stack protocol TCP/IP:
1. WinSock. Implementasi Windows 2003 sangat banyak memakai Socket API (application programming interface). Socket API adalah mekanisme standar untuk mengakses layanan-layanan datagram dan session pada TCP/IP.
2. NetBIOS. Suatu API standar yang dipakai sebagai suatu mekanisme inter-process communication (IPC) di lingkungan Windows. Meskipun NetBIOS dapat dipakai untuk menyediakan koneksi standar ke protocol-protocol yang mendukung layanan-layanan penyampaian pesan dan penamaan NetBIOS, misalnya TCP/IP dan NetBEUI, namun NetBIOS disertakan di dalam Windows 2003 terutama sekali untuk mendukung aplikasi-aplikasi peninggalan. Layer Transport
Protocol-protocol transport menghadirkan sesi komunikasi di antara
komputer-komputer dan menentukan tipe layanan transport entah berorientasi koneksi (TCP) ataupun berorientasi datagram yang tanpa koneksi (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.
Aplikasi-aplikasi yang memakai UDP secara khusus mentransfer sejumlah kecil data pada suatu waktu. Pengiriman data yang dapat diandalkan merupakan tanggung jawab aplikasi. Layer Transport pada model DOD kira-kira sesuai dengan Layer Transport pada model OSI. Layer Internet
Protocol-protocol Internet meng-encapsulate paket-paket menjadi datagram Internet dan mengoperasikan semua algoritma routing yang diperlukan. Fungsi-fungsi routing yang dikerjakan Layer Internet memang dibutuhkan untuk memungkinkan host meng-interoperate dengan jaringan-jaringan lain. Layer Internet kira-kira sesuai dengan Layer Network pada model OSI. Lima protocol yang diimplemen-tasikan pada layer ini:
1. Address Resolution Protocol (ARP), yang menentukan alamat hardware pada host. 2. Reverse Address Resolution Protocol
(RARP), yang menyediakan resolusi alamat kebalikan pada host yang menerima. (Walaupun Microsoft tidak mengimplementasikan protocol RARP, namun bisa ditemukan sistem-sistem milik vendor lain dan dicantumkan juga di sini demi kelengkapan).
3. Internet Control Message Protocol (ICMP), yang mengirimkan pesan-pesan kesalahan ke IP ketika terjadi problem.
4. Internet Group Management Protocol (IGMP), yang menginformasikan router tentang ketersediaan anggota-anggota pada grup multicast.
5.
Internet Protocol (IP), yang
mengalamatkan dan meroute
paket-paket.
Layer Interface Network
Model yang paling mendasar adalah Layer Interface Network. Masing-masing tipe local area network (LAN), tipe metropolitan area network (MAN), tipe WAN, dan tipe dial-up, misalnya Ethernet, Token Ring, Fiber Distributed Data Interface (FDDI), dan ARCnet, mempunyai persyaratan yang berbeda
untuk pengkabelan, pembuatan sinyal, dan penyandian data. Layer Interface Network menetapkan persyaratan yang ekuivalen dengan Layer Data Link dan Layer Physical pada model OSI. Layer Interface Network bertanggung jawab untuk mengirimkan dan menerima frame, yang merupakan paket-paket informasi yang ditransmisikan pada suatu jaringan sebagai suatu unit tunggal. Layer Interface Network meletakkan frame pada jaringan dan mengeluarkan frame dari jaringan.
Perangkat Lunak Labview Untuk Membangun Aplikasi Komunikasi
Biasanya Socket digunakan untuk interfacing antara program aplikasi dengan jaringan (networks) melalui protocol TCP/IP (Quasy H, 2000). Didalam layer OSI socket merupakan interface antara layer TCP/IP dengan program aplikasi.
Socket terdiri atas alamat IP dan Port. Alama IP adalah nomor alamat computer dalam sebuah jaringan, sedangkan Port adalah jenis layanan dalam protocol TCP/IP. port didefinisikan dengan nomor antara 1 sampai dengan 65535. Beberapa layanan port untuk proses umum misalnya port 25 untuk SMTP, port 23 untuk Telnet port 21 untuk FTp dan sebagainya. Alamat port sisanya dapat digunakan untuk user misalnya untuk akusisi data yang didefinisikan sendiri.
Pada umumnya socket memiliki tiga (3) tipe yaitu stream socket, datagram socket dan raw socket. Socket dapat diatur untuk menyediakan sebuah layanan handal (reliable), pelayanan stream oriented (connection oriented stream service), terdapat juga layanan menggunakan userdatagram (connectionless datagram service) dan raw socket yang biasa digunakan untuk mengirim pesan ICMP lewat jaringan[1].
Pemrograman socket merupakan pemrograman untuk client/server. Dalam model ini client/server, sebuah aplikasi dibagi menjadi dua bagian yaitu client dan sever. Client adalah program yang mengirim permintaan pada server dan menunggu responnya. Server adalah program yang berjalan menyediakan layanan,
retrieve data, dan memanipulasi data serta
menangani tugas komputasi dari sisi client. Client menampilkan informasi dan mengumpulkan informasi ke user.
Pada kebanyakan aplikasi yang dilakukan terutama dengan LabView adalah menulis dan membaca suatu nilai. Komunikasi adalah proses yang berjalan terus menerus yang melibatkan sebuah protocol. Misalnya sebuah client mengirim 4 perintah dengan 8 bit integer ke sebuah server terdiri dari :
1. Mendapatkan data dan konfirmasi 2. Mengirimkan data
3. Mendapatkan status 4. Menutup koneksi
Diagram blok pada Gambar 4 merupakan proses koneksi yang dilakukan secara terus menerus menggunakan while Loop. Koneksi diawali dengan cek validasi koneksi untuk mengetahui terjadinya koneksi. Setelah terjadi koneksi proses pembacaan byte data yang dikirimkan dari port TCP/IP. proses pembacaan ini cara menahan (hold) dan menguji ke-4 perintah dari client. Jika tidak ada perintah dari client maka data ditunggu sampai periode waktu tertentu, secara default diikuti dengan mengirimkan status True.
Gambar 4. Proses Koneksi Secara Kontinu Dilakukan Menggunakan While Loop
Pada Gambar 5., setiap case menangani perintah tertentu terhadap apa yang dikirimkan oleh server. Setiap case mengirim /meneruskan informasi ke setiap terminal dalam unit case, agar dapat diproses leabih lanjut / dihentikan. setiap suatu proses selesai maka nilai status dikembalikan menjadi false. Setelah menyelesaikan loop, server akan menutup koneksi dengan client. Arsitektur seperti ini memungkinkan untuk dapat mengembangkan komunikasi jaringan yang lebih kompleks.
Nomor Protokol di dalam IP
No Keterangan 1 ICMP 2 Internet Group Management Prot 3 Gateway to Gateway Prot (GGP)
4 IP in IP
6 TCP 17 UDP 89 OSPF
TCP adalah Transmission Control Protocol. TCP berada di atas IP yang bertugas untuk mengirim paket dengan fungsi-fungsi yang sangat berguna antara lain[5]:
1. Streams. TCP data terorganisir sebagai stream of bytes, seperti file. Bentuk-bentuk datagram tidak akan kelihatan di sini.
2. Reliable delivery. Sequence numbers digunakan untuk mengurutkan data-data yang dikirim dan diterima. TCP akan mengirim lagi suatu data yang rusak atau hilang.
3. Network adaptation. TCP secara dinamis mempelajari tunda (delay) pengiriman akibat jaringan dan berusaha memaksimumkan throughput tanpa
membebani jaringan tersebut.
4. Flow control. TCP mengatur data buffers, dan koordinasi dengan trafik sehingga buffer-nya tidak pernah overflow. Pengirim yang cepat akan memperlambat kirimannya untuk menyesuaikan dengan penerima.
TCP merupakan end-to-end reliable connection, yang IP sendiri belum support.
Koneksi TCP sering dikenal dengan nama “socket”. Socket dapat dianggap sebagai pipa penghubung bi-directional antara dua host. Untuk menyambung socket diperlukan IP penerima dan nomor port-nya. Ports (bisa dianggap layanan) memungkinkan suatu host menghubungi host lain dengan lebih dari satu hubungan (lebih dari satu layanan). Pada Gambar 6 ditunjukkan proses baca tulis pada proses pengiriman data melalui buffer TCP.
Gambar 6. Proses Write/Read Pada TCP
TCP Format
Pada Gambar 7, ditunjukkan format TCp dalam suatu paket data
.
Options (variable) Data Checksum SrcPort DstPort HdrLen 0 Flags UrgPtr AdvertisedWindow SequenceNum Acknowledgment 0 4 10 16 31
Gambar 7. Format TCP Dalam Paket Data[2]
1. Source dan Destination port, merupakan aplikasi (layanan), bersamaan dengan IP address disebut juga dengan Socket.
2. Seq. Number (SN), nomor urutan. Sebagai contoh, jika SN suatu segment = 1343 dan segment tersebut berisi data 512 octets, maka segment selanjutnya akan mempunyai SN = 1856 (=1343+512).
3. Ack Number (AN), menunjukkan next paket yang diharapkan diterima oleh destination. Jika Source menerima AN yang tidak cocok dengan next SN-nya (milik Source), maka Source tahu ada paket yang hilang (rusak) dan tahu juga paket mana yang hilang (rusak) tersebut.
4. Header length(4 bit), panjang Header dalam 32 bit
6. Flag (6 bit), digunakan untuk data flow dan connection control. Flag meliputi Urgent (URG), ACK, Push (PSH), Reset (RST), Synchronize (SYN), dan Final (FIN).
a. URG = Urgent pointer field in use
b. ACK = Indicates whether frame contains acknowledgement
c. PSH = Data sudah di “pushed”. It should be delivered to higher layers right away. d. RST = Koneksi di-Reset (diulangi dari
awal)
e. SYN = Untuk memulai koneksi f. FIN = Untuk mengakhiri koneksi
7. Adv. Window, untuk flow control, menunjukkan berapa bytes yang akan dikirim setelah ACK diterima.
8. Cheksum, meliputi Header dan Data
9. Urgent pointer, menunjukkan posisi urgent data pada TCP paket (URG harus diset = 1) 10. Each connection identified with 4-tuple:
(SrcPort, SrcIPAddr, DsrPort, DstIPAddr)
11. Sliding window + flow control
a. acknowledgment, SequenceNum,
AdvertisedWinow
b. Flags (SYN, FIN, RESET, PUSH,
URG, ACK )
12. Checksum
pseudo header + TCP header + data
METODOLODI PENELITIAN Alat dan Bahan
Peralatan yang digunakan dalam penelitian ini adalah PC. sedangkan bahan yang digunakan ethernet Card,Kabel UTP, Switch Hub dan perangkat lunak Labview.
Jalannya Penelitian
1. PC (personal computer) disiapkan yang sudah terpasang kartu interface Jaringan (NIC).
2. Kabel UTP disambungkan ke Switch Hub, dan pastikan bahwa computer sudah saling terhubung secara jaringan.
3. Alamat IP client diatur dan ditentukan misalnya, 192.168.1.195
4. Alamat IP server diatur dan ditentukan misalnya 192.168.1.45
5. Koneksi antar computer diperiksa menggunakan perintah Ping <alamat yang dituju>, misalkan ping 192.168.1.45, yang merupakan alamat computer server atau sebaliknya.
6. Program dibuat seperti Gambar 1 untuk dijalankan pada computer clien.
7. Program dibuat seperti Gambar 2. Untuk dijalankan server.
8.
Data pada server diubah-ubah, maka
data juga akan ditampilkan pada client.
HASIL DAN PEMBAHASAN.
Untuk melakukan koneksi jaringan antar PC dapat dilakukan dengan bantuan program pada windows menggunakan dos prompt, untuk mengetahui alamat computer yang sedang bekerja/yang digunakan. Perintah untuk itu adalah ipconfig sehingga akan ditampilan alamat computer yang digunakan/yang telah diatur. Demikian halnya untuk mengetahui alamat computer yang ada pada server. Nampak bahwa pada Gambar 7. Alamat (IP) yang digunakan adalah 192.168.1.41,.alamat ini kemudian digunakan sebagai IP server, yang akan dijalankan program seperti Gambar 8.
Gambar 8. Tampilan Untuk Memeriksa Alamat Computer Yang Sedang Digunakan
Gambar 9. Tampilan Front Panel Program Pada Server
Pada Gambar 9., Nampak bahwa data akusisinya berasal dari slider, yang dapat dinaik/turunkan untuk mengubah data yang akan dikirimkan ke computer client. Local IP adalah alamat internet protocol yang digunakan
yaitu 192.168.1.41. Tombol disconnect client merupakan tombol yang digunakan untuk melakukan koneksi kembali jika terjadi komunikasi yang terputus. Komunikasi dapat saja terjadi karena beban jaringan yang tinggi.
Gambar 10. Tampilan Wiring Diagram Program Server
Pada Gambar 10, program front panel dalam bentuk wiring diagram, yang merupakan realisasi program komunikasi yang ada pada server. Dalam program ini dilakukan proses pembacaan alamat server (alamat port local)
yang digunakan, , alamat client, penulisan data (write) dan diakhiri dengan menutup koneksi (close).
Program yang dijalankan pada client, ditunjukkan pada Gambar 11. ditunjukkan hasil
pengubahan data dari server, kemudian data diterima oleh client dan ditampilkan dalam bentuk grafis.sumbu Y grafis, menunjukkan data, sementara sumbu X grafis menunjukkan waktu
Gambar 11. Hasil Eksekusi Tampilan Data Pada Client
KESIMPULAN
TCP/IP adalah standar komunikasi data yang digunakan oleh komunitas internet dalam tukar-menukar data dari satu komputer ke komputer lain. Standar diperlukan agar antar komputer terjadi kesepakatan tentang tatacara pengiriman dan penerimaan data sehingga data dapat dikirimkan dan diterima dengan benar.
Berdasarkan hasil percobaan yang telah
dilakukan dapat disimpulkan sebagai
berikut :
Pertama, telah dapat dilakukan
akusisi data melalui protocol jaringan
TCP/IP menggunakan perangkat lunak
LabView. kedua, kegagalan koneksi dapat
terjadi hal ini menyebabkan komunikasi
data akan terputus., ketiga. Server yang
digunakan masih sederhana karena
menggunakan 1 client.
SARAN
Program yang dilakukan ini hanya merupakan koneksi antara 2 komputer, oleh karena itu perlu dilakukan koneksi untuk banyak client (multiple client).
DAFTAR PUSTAKA
1. MARCHUK, M, 1995, “Building Internet Applications With Visual Basic”, QUE Corporation, Indianapolis.
2. HIDAYAT , R, 2005, ”Jaringan Komputer” ,Teknik Elektro UGM, tidak dipublikasikan, Yogyakarta.
3. SUMARYONO, S, 2005, ”Jaringan TCP/IP”, Teknik Elektro UGM, tidak dipublikasikan, yogyakarta
4. http://zone.ni.com/devzone/cda/tut/p/id/2710 (diakses tanggal 14 Juli 2008)
5. http://www.te.ugm.ac.id/~risanuri/jarkom (diakses tanggal 15 juli 2008)
6. http://wssid.org/blogs/tutang/archive/2007/02/2 3/mengenal-lebih-jauh-arsitektur-protocol-tcp-ip.aspx (diakses tanggal 21 juli 2008) 7. http://wilis.himatif.or.id/download/tcpIp.rtf
(diakses 17 Juli 2008)
8. http://onno.vlsm.org/v11/ref-ind-1/network (diakses 18 Juli 2008).