SlideShare a Scribd company logo
1 of 10
LAPORAN PRAKTIKUM JARINGAN KOMPUTER
SOCKET PROGRAMMING: UDP ECHO CLIENT/SERVER
(PYTHON)
LUSIANA DIYAN NINGRUM (2210181051)
2 D4 TEKNIK KOMPUTER B
POLITEKNIK ELEKTRONIKA NEGERI SURABAYA
SURABAYA
2020
SOCKET PROGRAMMING: UDP ECHO CLIENT/SERVER
(PYTHON)
A. TUJUAN
1. Mahasiswa dapat menjelaskan konsep jaringan berbasis client-server
2. Mahasiswa dapat menjelaskan konsep pemrograman socket berbasis UDP
3. Mahasiswa dapat menjelaskan cara kerja program UDP echo client/server
B. PENDAHULUAN
User Datagram Protocol (UDP) merupakan protokol yang bersifat
connectionless. UDP tidak dapat menjamin pengiriman maupun urutan paket. Sealain
itu juga tidak ada mekanisme handshaking. Sehingga, reliabilitas UDP tidak sebaik
TCP. UDP menyediakan checksum untuk integritas data dan port number sebagai
pengalamatan. UDP diperlukan untuk aplikasi yang membutuhkan komunikasi efisien
dan cepat tanpa mempermasalahkan packet loss.
Pada gambar 1 menunjukkan proses pengiriman data untuk komunikasi
menggunakan protokol UDP. Bila dilihat pada gambar ataupun pada prosedur
percobaan, pada sisi server tidak ada proses listen dan accept seperti pada TCP.
Namun, hanya ada proses bind untuk menghubungkan socket dengan port dan proses
menunggu pesan yang dikirim dari client. Sedangkan pada sisi client menggunakan
sendto() untuk mengirimkan pesan secara langsung ke server, dan recvfrom() untuk
menerima pesan balasan dari server.
Gambar 1. UDP Socket
C. PROSEDUR PERCOBAAN
1. Buatlah program echo server
2. Buatlah program echo client
3. Jalankan program server.py terlebih dulu. Tampilkan hasil pengujian anda.
(Catatan : port tersebut adalah port server, dimana client nantinya akan
menggunakan port tersebut agar terhubung ke server, gunakan non privileged
ports)
4. Jalankan program echo client secara terpisah terminal atau command prompt dari
program echo server. Tampilkan hasil pengujian anda.
Sedangkan pada server akan tampil seperti berikut:
Beberapa saat kemudian akan tampil tulisan seperti berikut pada sisi client
5. Pada pengujian di prosedur 3 dan 4 menggunakan localhost, anda dapat juga
menggunakan host yang berbeda dengan menyesuaikan IP address tujuan.
6. Lakukan packet analysis menggunakan aplikasi Wireshark untuk mengamati
pengiriman datamenggunakan protokol UDP
7. Lakukan packet analysis menggunakan aplikasi Wireshark untuk mengamati
pengiriman data menggunakan protokol TCP, gunakan program TCP socket pada
praktikum sebelumnya
8. Lakukan analisa dari pengamatan yang sudah anda lakukan menggunakan
protokol TCP dan UDP. Jelaskan apa saja yang dapat anda analisa dari capture
paket pada Wireshark, dan apa saja perbedaan pada paket data yang dikirimkan
menggunaakan TCP dan UDP.
ANALISA
Jaringan client server didefinisikan sebagai suatu arsitektur jaringan komputer dimana
perangkat client melakukan proses meminta data, dan server yang memiliki tugas untuk
memberikan respon berupa data terhadap request tersebut. Perangkat client biasanya berupa
perangkat komputer dengan aplikasi software jaringan yang telah terinstal guna untuk
meminta dan menerima data melalui jaringan. Server merupakan sebuah komputer yang
dirancang khusus untuk melayani client dengan memproses request yang telah diterima dari
client lalu kemudian mengirimkan kembali respon data kepada client melalui jaringan. Server
menyimpan informasi dan data yang kompleks yang mungkin dibutuhkan client, oleh karena
itu biasanya server terdiri dari komputer dengan performa yang tinggi baik dari segi
pemrosesan maupun dari segi memori, hal tersebut agar server mampu melayani request dari
banyak client secara bersamaan.
Socket programming adalah pemrograman yang menggunakan socket. Socket ini
semacam terowongan/tunnel yang bisa dipakai untuk komunikasi/pertukaran arah secara
bolak-balik. Dengan socket programming, komunikasi dapat terjalin antara bahasa
pemrograman yang berbeda, antara tingkatan user yang berbeda, bahkan antar komputer yang
berbeda atau gabungan ketiganya.
Secara garis besar langkah–langkah yang dilakukan pada client adalah sebagai berikut
dimulai dengan membuka koneksi client ke server, yang di dalamnya adalah membuat socket
dengan perintah socket(), kemudian melakukan pengalamatan ke server. Setelah itu
melakukan komunikasi (mengirim dan menerima data), dengan menggunakan perintah
recvfrom() dan sendto(). Dan terakhir menutup hubungan dengan perintah close(). Untuk
menampilkan hasil pada terminal menggunakan perintah echo().
Sama halnya dengan langkah – langkah yang dilakukan pada client, untuk membuat
server yang harus dilakukan antara lain dimuali dengan membuat socket dengan perintah
socket(). Melakukan komunikasi (mengirim dan menerima data), dengan menggunakan
perintah recvfrom() dan sendto( ). Dan untuk menampilkan hasil pada terminal menggunakan
perintah echo().
Jaringan komputer dalam melakukan pengiriman data bisa diilustrasikan sebagai
pengiriman surat. Supaya surat bisa terkirim secara benar maka alamat pengirim dan
penerima harus tertulis dengan jelas dan lengkap. Begitu juga dalam koneksi di socket,
diperlukan variable yang dipakai untuk menyimpan address client dan server.
Proses dari kerja aplikasi yang menggunakan UDP adalah untuk bisa melakukan
koneksi client server, program server harus berjalan terlebih dahulu. UDP memiliki sebuah
saluran (channel) yang berguna untuk menghubungkan host antar host untuk saling berkirim
informasi. Channel ini kemudian disebut dengan port UDP. Agar dapat terhubung dengan
protokol UDP, aplikasi pada komputer terlebih dahulu perlu menyediakan alamat IP serta
nomor port UDP dari host yang ingin dituju. Port UDP ini berguna sebagai sebuah
multiplexed message queue. Artinya, port UDP tersebut kemudian mampu bekerja dengan
menerima beberapa pesan secara bersamaan. Setiap port UDP memiliki identifikasi dengan
nomor yang unik, namun memiliki pembagian tersendiri seperti yang telah dijelaskan
sebelumnya. Pada kehidupan sehari-hari UDP dianalogikan seperti proses pengiriman pesan
pada alat komunikasi telepon selular dengan menggunakan fasilitas SMS (Short Messsage
Service) dimana kita tidak harus selalu berada ditempat untuk menunggu pesan karena pesan
yang dikirim melalui fasilitas SMS akan sampai sekalipun telepon selular itu tidak diaktifkan.
Wireshark adalah program Network Protocol Analyzer atau penganalisa protokol
jaringan yang lengkap. Program ini dapat merakam semua paket yang lewat serta menyeleksi
dan menampilkan data tersebut sedetail mungkin. Wireshark bekerja dengan cara merekam
semua paket yang melewati interface yang dipilih (Interface adalah perangkat penghubung
antar jaringan, bisa melalui wifi atau ethernet / lan card). Hasil rekaman tadi dapat dianalisa.
disini kita dapat memfilter protocol apa yang kita inginkan seperti tcp, http, udp dan
sebagainya. Wireshark juga dapat mencatat cookie, post dan request.
KESIMPULAN
Berdasarkan praktikum dan analisa dapat ditarik kesimpulan sebagai berikut :
1. Jaringan client server merupakan suatu arsitektur jaringan komputer dimana perangkat
client melakukan proses meminta data, dan server yang memiliki tugas untuk
memberikan respon berupa data terhadap request tersebut.
2. User Datagram Protocol (UDP) merupakan protokol yang bersifat connectionless
sehingga client tidak membangun koneksi ke server sebelum mengirim data – client
hanya mengirim data secara langsung.
TUGAS PERTANYAAN
1. Jelaskan beberapa keunggulan protokol UDP
 Dapat disiarkan dengan cepat karena tidak memerlukan handshaking
 Koneksi lebih cepat karena mereka tidak perlu bernegosiasi (berjabat tangan) dan juga
pengirimannya tidak berurutan
 Hemat memori karena tanpa memecah data, membuat acknowledge, dan lainnya
2. Sebutkan beberapa contoh penerapan protokol UDP pada pengiriman data di
jaringan internet, serta jelaskan mengapa aplikasi tersebut menggunakan UDP.
UDP adalah kependekan dari User Datagram Protocol metupakan bagian dari internet
protocol. Dengan UDP, aplikasi komputer dapat mengirimkan pesan kepada komputer
lain dalam jaringan lain tanpa melakukan komunikasi awal. UDP melakukan
komunikasi secara sederhana dengan mekanisme yang sangat minimal. UDP
digunakan untuk komunikasi yang sederhana seperti query DNS (Domain Name
System), NTP (Network Time Protocol), DHCP (Dinamic Host Configuration
Protocol), dan RIP (Routing Information Protocol).
Pada query DNS, komputer meminta informasi suatu data dari suatu domain kepada
DNS server. Data ini mungkin alamat web server, alamat mail server dan data-data
yang lain terkait domain. DNS server akan membalas dengan memberikan informasi
yang diinginkan client Pada NTP, client meminta informasi waktu kepada NTP
server. NTP server akan membalas waktu pada saat itu. Dengan demikian maka client
akan memiliki system waktu yang akurat. Pada DHCP, client akan menghubungi
DHCP server untuk meminta alamat IP untuk dia pakai sendiri. DHCP server akan
memberikan informasi alamat IP supaya digunakan oleh client tersebut. Pada RIP,
server RIP akan melakukan broadcast informasi routing kepada router-router yang
lain.
UDP cocok untuk pengiriman informasi yang lebih menekankan kecepatan daripada
kehandalan. Contoh aplikasi ini adalah audio streaming dan video streaming.
3. Jelaskan perbedaan TCP dan UDP
Perbedaan TCP UDP
Jenis Koneksi
Connection-oriented : semua
paket data yang dikirimkan
akan diperiksa kembali. Jika
terdapat informasi yang
hilang / tidak sesuai dengan
paket yang dikirimkan, maka
paket data akan dikirimkan
kembali.
Connectionless : semua paket
data dikirimkan tanpa adanya
pengecekan hingga semua
data sampai ke tujuan. Hal
ini menyebabkan, jika ada
informasi yang hilang akan
diabaikan.
Basis koneksi
Connection based :
pengiriman paket data
melalui internet dari satu
komputer ke komputer lain.
(dalam jaringan)
Not connection based : paket
data akan langsung
dikirimkan ke tujuan. (host-
to-host tidak dalam jaringan
TCP/IP)
Penggunaan
Cocok untuk aplikasi yang
memerlukan keandalan tinggi
dengan waktu yang kurang
cepat.
Cocok untuk aplikasi yang
membutuhkan transmisi
cepat, efisien dan
mengijinkan adanya sedikit
informasi yang hilang.
Contoh aplikasi / port
Telnet, FTP (File Transfer
Protocol), SMTP (Simple
Mail Transfer Protocol)
Game, DNS (Domain Name
System), SNMP (Simple
Network Management
Protocol), Remote Procedure
Call (RPC), Lightweight
Directory Access Protocol
(LDAP), TFTP dan SunRPC.
Overhead
Digunakan untuk
memaksimalkan performansi.
Membutuhkan overhead
yang lebih kecil.
Ukuran header 20 byte 8 byte
Pembuatan koneksi
Membutuhkan three-way-
handshake*.
Tidak membutuhkan
pembuatan koneksi.
Keandalan (reliability)
Data terjamin akan sampai
sesuai urutannya dan tidak
ada data yang hilang (utuh).
Tidak terjamin data akan
sama persis dengan yang
dikirimkan.
Besar paket
Dapat mengijinkan transfer
dengan data yang besar per
paketnya.
Hanya mengijinkan transfer
data untuk data kecil per
paketnya.
Keamanan
Menawarkan keamanan yang
lebih baik untuk spoofing
attack.
Tidak dapat menawarkan
keamanan pada data yang
dikirimkan.
Data flow control Memiliki flow control. Tidak memiliki flow control.
Karakteristik
TCP adalah protokol yang
memiliki karakteristik
berdasarkan koneksi atau
berorientasi koneksi.
UDP tidak berbasis koneksi
Komunikasi
TCP memungkinkan
beberapa komputer berbeda
UDP kurang dapat
diandalkan dalam
untuk berkomunikasi dan
bertukar data.
memfasilitasi komunikasi
tanpa koneksi antara
beberapa komputer host,
yang berada di jaringan TCIP
/ IP.
Port
TCP menggunakan port yang
mengadopsi bilangan bulat
16-bit (antara 0-65535), yang
harus unik atau berbeda antar
port.
UDP menggunakan port
integer 16-bit tetapi juga
dibagi menjadi tiga bagian,
yaitu port 1-1023 untuk port
terkenal, port 1024-49151
untuk port terdaftar, dan
sisanya untuk port ephemeral
di nomor 49152-65535.
Transmisi Data
TCP dapat menggunakan
jalur data dupleks penuh,
yang berarti bahwa antara
titik masuk dan keluar data
dipisahkan menjadi dua
baris. Sehingga proses
pengiriman dan penerimaan
dapat dilakukan secara
bersamaan.
UDP dapat mengirim data
dalam bentuk paket
datagram, tanpa nomor
pengenal. Ini berarti bahwa
kemungkinan besar data
yang diperoleh tidak
berurutan, dan mungkin
rusak atau bahkan hilang
selama proses pengiriman
dari host asli ke tujuan.

More Related Content

What's hot

Intermediate code kode antara
Intermediate code   kode antaraIntermediate code   kode antara
Intermediate code kode antaraGunawan Manalu
 
Deteksi dan koreksi kesalahan lengkap
Deteksi dan koreksi kesalahan lengkapDeteksi dan koreksi kesalahan lengkap
Deteksi dan koreksi kesalahan lengkapMuhammad Love Kian
 
LAPORAN TUGAS AKHIR PERANCANGAN APLIKASI KNOWLEDGE BASE SYSTEM UNTUK INSTRUKS...
LAPORAN TUGAS AKHIR PERANCANGAN APLIKASI KNOWLEDGE BASE SYSTEM UNTUK INSTRUKS...LAPORAN TUGAS AKHIR PERANCANGAN APLIKASI KNOWLEDGE BASE SYSTEM UNTUK INSTRUKS...
LAPORAN TUGAS AKHIR PERANCANGAN APLIKASI KNOWLEDGE BASE SYSTEM UNTUK INSTRUKS...Uofa_Unsada
 
Teori bahasa-dan-otomata
Teori bahasa-dan-otomataTeori bahasa-dan-otomata
Teori bahasa-dan-otomataBanta Cut
 
UML Aplikasi Rental Mobil
UML Aplikasi Rental MobilUML Aplikasi Rental Mobil
UML Aplikasi Rental MobilDwi Mardianti
 
Modul 4 representasi pengetahuan
Modul 4   representasi pengetahuanModul 4   representasi pengetahuan
Modul 4 representasi pengetahuanahmad haidaroh
 
Materi 3 Finite State Automata
Materi 3   Finite State AutomataMateri 3   Finite State Automata
Materi 3 Finite State Automataahmad haidaroh
 
Menyederhanakan fungsi boolean dengan menggunakan metode quin1
Menyederhanakan fungsi boolean dengan menggunakan metode quin1Menyederhanakan fungsi boolean dengan menggunakan metode quin1
Menyederhanakan fungsi boolean dengan menggunakan metode quin1BAIDILAH Baidilah
 
Transport Layer: Protocol UDP dan Protocol TCP
Transport Layer: Protocol UDP dan Protocol TCPTransport Layer: Protocol UDP dan Protocol TCP
Transport Layer: Protocol UDP dan Protocol TCPMateri Kuliah Online
 
Pertemuan 1 konsep dasar pemrograman berorientasi objek
Pertemuan 1 konsep dasar pemrograman berorientasi objekPertemuan 1 konsep dasar pemrograman berorientasi objek
Pertemuan 1 konsep dasar pemrograman berorientasi objekI Putu Arya Dharmaadi
 
MODUL AJAR ADMINISTRASI INFRASTRUKTUR JARINGAN - SWITCHING & ROUTING (PPG TKI...
MODUL AJAR ADMINISTRASI INFRASTRUKTUR JARINGAN - SWITCHING & ROUTING (PPG TKI...MODUL AJAR ADMINISTRASI INFRASTRUKTUR JARINGAN - SWITCHING & ROUTING (PPG TKI...
MODUL AJAR ADMINISTRASI INFRASTRUKTUR JARINGAN - SWITCHING & ROUTING (PPG TKI...Walid Umar
 
Kelompok 2 multiplexing dan demultiplexing
Kelompok 2 multiplexing dan demultiplexingKelompok 2 multiplexing dan demultiplexing
Kelompok 2 multiplexing dan demultiplexingFahmi Dhimas
 
Monitoring Protokol ICMP (ping) dengan Wireshark
Monitoring Protokol ICMP (ping) dengan WiresharkMonitoring Protokol ICMP (ping) dengan Wireshark
Monitoring Protokol ICMP (ping) dengan WiresharkHanif Yogatama
 
Arsitektur komputer von neumann
Arsitektur komputer von neumannArsitektur komputer von neumann
Arsitektur komputer von neumannMochammed Safri
 
Sistem input output
Sistem input outputSistem input output
Sistem input outputKruduk Bisa
 

What's hot (20)

02.logika
02.logika02.logika
02.logika
 
Intermediate code kode antara
Intermediate code   kode antaraIntermediate code   kode antara
Intermediate code kode antara
 
Pushdown Automata
Pushdown Automata Pushdown Automata
Pushdown Automata
 
Deteksi dan koreksi kesalahan lengkap
Deteksi dan koreksi kesalahan lengkapDeteksi dan koreksi kesalahan lengkap
Deteksi dan koreksi kesalahan lengkap
 
LAPORAN TUGAS AKHIR PERANCANGAN APLIKASI KNOWLEDGE BASE SYSTEM UNTUK INSTRUKS...
LAPORAN TUGAS AKHIR PERANCANGAN APLIKASI KNOWLEDGE BASE SYSTEM UNTUK INSTRUKS...LAPORAN TUGAS AKHIR PERANCANGAN APLIKASI KNOWLEDGE BASE SYSTEM UNTUK INSTRUKS...
LAPORAN TUGAS AKHIR PERANCANGAN APLIKASI KNOWLEDGE BASE SYSTEM UNTUK INSTRUKS...
 
Teori bahasa-dan-otomata
Teori bahasa-dan-otomataTeori bahasa-dan-otomata
Teori bahasa-dan-otomata
 
UML Aplikasi Rental Mobil
UML Aplikasi Rental MobilUML Aplikasi Rental Mobil
UML Aplikasi Rental Mobil
 
Manajemen Input Output
Manajemen Input OutputManajemen Input Output
Manajemen Input Output
 
Modul 4 representasi pengetahuan
Modul 4   representasi pengetahuanModul 4   representasi pengetahuan
Modul 4 representasi pengetahuan
 
Materi 3 Finite State Automata
Materi 3   Finite State AutomataMateri 3   Finite State Automata
Materi 3 Finite State Automata
 
Menyederhanakan fungsi boolean dengan menggunakan metode quin1
Menyederhanakan fungsi boolean dengan menggunakan metode quin1Menyederhanakan fungsi boolean dengan menggunakan metode quin1
Menyederhanakan fungsi boolean dengan menggunakan metode quin1
 
Transport Layer: Protocol UDP dan Protocol TCP
Transport Layer: Protocol UDP dan Protocol TCPTransport Layer: Protocol UDP dan Protocol TCP
Transport Layer: Protocol UDP dan Protocol TCP
 
Sistem Operasi Komputer
Sistem Operasi KomputerSistem Operasi Komputer
Sistem Operasi Komputer
 
Pertemuan 1 konsep dasar pemrograman berorientasi objek
Pertemuan 1 konsep dasar pemrograman berorientasi objekPertemuan 1 konsep dasar pemrograman berorientasi objek
Pertemuan 1 konsep dasar pemrograman berorientasi objek
 
MODUL AJAR ADMINISTRASI INFRASTRUKTUR JARINGAN - SWITCHING & ROUTING (PPG TKI...
MODUL AJAR ADMINISTRASI INFRASTRUKTUR JARINGAN - SWITCHING & ROUTING (PPG TKI...MODUL AJAR ADMINISTRASI INFRASTRUKTUR JARINGAN - SWITCHING & ROUTING (PPG TKI...
MODUL AJAR ADMINISTRASI INFRASTRUKTUR JARINGAN - SWITCHING & ROUTING (PPG TKI...
 
Persentasi Konfigurasi Mikrotik
Persentasi Konfigurasi MikrotikPersentasi Konfigurasi Mikrotik
Persentasi Konfigurasi Mikrotik
 
Kelompok 2 multiplexing dan demultiplexing
Kelompok 2 multiplexing dan demultiplexingKelompok 2 multiplexing dan demultiplexing
Kelompok 2 multiplexing dan demultiplexing
 
Monitoring Protokol ICMP (ping) dengan Wireshark
Monitoring Protokol ICMP (ping) dengan WiresharkMonitoring Protokol ICMP (ping) dengan Wireshark
Monitoring Protokol ICMP (ping) dengan Wireshark
 
Arsitektur komputer von neumann
Arsitektur komputer von neumannArsitektur komputer von neumann
Arsitektur komputer von neumann
 
Sistem input output
Sistem input outputSistem input output
Sistem input output
 

Similar to Socket Programming UDP Echo Client Server (Python)

Part 3 & 4 Networking Programming.pdf
Part 3 & 4 Networking Programming.pdfPart 3 & 4 Networking Programming.pdf
Part 3 & 4 Networking Programming.pdfAiAdhi
 
Aplikasi Chatting dengan Client-Server Menggunakan Protokol TCP
Aplikasi Chatting dengan Client-Server Menggunakan Protokol TCPAplikasi Chatting dengan Client-Server Menggunakan Protokol TCP
Aplikasi Chatting dengan Client-Server Menggunakan Protokol TCPSyauqina Idzni Adzhani
 
Protokol_jaringan.ppt
Protokol_jaringan.pptProtokol_jaringan.ppt
Protokol_jaringan.pptdivaarmeylia
 
Rizkitecrkerjainternet 131119222943-phpapp02
Rizkitecrkerjainternet 131119222943-phpapp02Rizkitecrkerjainternet 131119222943-phpapp02
Rizkitecrkerjainternet 131119222943-phpapp02rizkiinrl
 
Bab jenis protokol jaringan
Bab jenis protokol jaringanBab jenis protokol jaringan
Bab jenis protokol jaringankrisdjayanti1
 
Kajian kes datagram analisis dengan wireshark
Kajian kes   datagram analisis dengan wiresharkKajian kes   datagram analisis dengan wireshark
Kajian kes datagram analisis dengan wiresharkMad Qiyud
 
Rizkitecrkerjainternet 131119222943-phpapp02
Rizkitecrkerjainternet 131119222943-phpapp02Rizkitecrkerjainternet 131119222943-phpapp02
Rizkitecrkerjainternet 131119222943-phpapp02rizkiinrl
 
Marauli te,cr kerja internet
Marauli te,cr kerja internetMarauli te,cr kerja internet
Marauli te,cr kerja internetmarauli
 
Tugas praktikum xi tkj 2 abdul gofur
Tugas praktikum xi tkj 2 abdul gofurTugas praktikum xi tkj 2 abdul gofur
Tugas praktikum xi tkj 2 abdul gofurbayu april
 
Tugas praktikum abdul ghofur XI TKJ 2
Tugas praktikum abdul ghofur XI TKJ 2Tugas praktikum abdul ghofur XI TKJ 2
Tugas praktikum abdul ghofur XI TKJ 2shendy achmadputra
 
Tugas praktikum abdul ghofur XI TKJ 2
Tugas praktikum abdul ghofur XI TKJ 2Tugas praktikum abdul ghofur XI TKJ 2
Tugas praktikum abdul ghofur XI TKJ 2abdul ghofur
 
Jaringan Komputer : Konsep TCP/IP
Jaringan Komputer : Konsep TCP/IPJaringan Komputer : Konsep TCP/IP
Jaringan Komputer : Konsep TCP/IPAchmad Solichin
 
Wika te,cr kerja internet
Wika te,cr kerja internetWika te,cr kerja internet
Wika te,cr kerja internetwikandika
 

Similar to Socket Programming UDP Echo Client Server (Python) (20)

Part 3 & 4 Networking Programming.pdf
Part 3 & 4 Networking Programming.pdfPart 3 & 4 Networking Programming.pdf
Part 3 & 4 Networking Programming.pdf
 
Aplikasi Chatting dengan Client-Server Menggunakan Protokol TCP
Aplikasi Chatting dengan Client-Server Menggunakan Protokol TCPAplikasi Chatting dengan Client-Server Menggunakan Protokol TCP
Aplikasi Chatting dengan Client-Server Menggunakan Protokol TCP
 
Kelompok 6
Kelompok 6Kelompok 6
Kelompok 6
 
Kelompok 6
Kelompok 6Kelompok 6
Kelompok 6
 
Transport layer
Transport layerTransport layer
Transport layer
 
TRANSPORT LAYER UDP TCP
TRANSPORT LAYER UDPTCPTRANSPORT LAYER UDPTCP
TRANSPORT LAYER UDP TCP
 
Protokol_jaringan.ppt
Protokol_jaringan.pptProtokol_jaringan.ppt
Protokol_jaringan.ppt
 
Rizkitecrkerjainternet 131119222943-phpapp02
Rizkitecrkerjainternet 131119222943-phpapp02Rizkitecrkerjainternet 131119222943-phpapp02
Rizkitecrkerjainternet 131119222943-phpapp02
 
Bab jenis protokol jaringan
Bab jenis protokol jaringanBab jenis protokol jaringan
Bab jenis protokol jaringan
 
Kajian kes datagram analisis dengan wireshark
Kajian kes   datagram analisis dengan wiresharkKajian kes   datagram analisis dengan wireshark
Kajian kes datagram analisis dengan wireshark
 
rizkii
rizkiirizkii
rizkii
 
rizki ppt
rizki pptrizki ppt
rizki ppt
 
Rizkitecrkerjainternet 131119222943-phpapp02
Rizkitecrkerjainternet 131119222943-phpapp02Rizkitecrkerjainternet 131119222943-phpapp02
Rizkitecrkerjainternet 131119222943-phpapp02
 
Marauli te,cr kerja internet
Marauli te,cr kerja internetMarauli te,cr kerja internet
Marauli te,cr kerja internet
 
Transpot layer
Transpot layerTranspot layer
Transpot layer
 
Tugas praktikum xi tkj 2 abdul gofur
Tugas praktikum xi tkj 2 abdul gofurTugas praktikum xi tkj 2 abdul gofur
Tugas praktikum xi tkj 2 abdul gofur
 
Tugas praktikum abdul ghofur XI TKJ 2
Tugas praktikum abdul ghofur XI TKJ 2Tugas praktikum abdul ghofur XI TKJ 2
Tugas praktikum abdul ghofur XI TKJ 2
 
Tugas praktikum abdul ghofur XI TKJ 2
Tugas praktikum abdul ghofur XI TKJ 2Tugas praktikum abdul ghofur XI TKJ 2
Tugas praktikum abdul ghofur XI TKJ 2
 
Jaringan Komputer : Konsep TCP/IP
Jaringan Komputer : Konsep TCP/IPJaringan Komputer : Konsep TCP/IP
Jaringan Komputer : Konsep TCP/IP
 
Wika te,cr kerja internet
Wika te,cr kerja internetWika te,cr kerja internet
Wika te,cr kerja internet
 

More from Lusiana Diyan

Komunikasi Bisnis yang Efektif
Komunikasi Bisnis yang EfektifKomunikasi Bisnis yang Efektif
Komunikasi Bisnis yang EfektifLusiana Diyan
 
Berkomunikasi dalam Tim
Berkomunikasi dalam TimBerkomunikasi dalam Tim
Berkomunikasi dalam TimLusiana Diyan
 
Berkomunikasi di Dunia dengan Keragaman
Berkomunikasi di Dunia dengan KeragamanBerkomunikasi di Dunia dengan Keragaman
Berkomunikasi di Dunia dengan KeragamanLusiana Diyan
 
Menulis Pesan Bisnis
Menulis Pesan BisnisMenulis Pesan Bisnis
Menulis Pesan BisnisLusiana Diyan
 
Kemampuan Berkomunikasi 6 - Menyelesaikan Pesan Bisnis
Kemampuan Berkomunikasi 6 - Menyelesaikan Pesan BisnisKemampuan Berkomunikasi 6 - Menyelesaikan Pesan Bisnis
Kemampuan Berkomunikasi 6 - Menyelesaikan Pesan BisnisLusiana Diyan
 
Menulis Pesan Bisnis
Menulis Pesan BisnisMenulis Pesan Bisnis
Menulis Pesan BisnisLusiana Diyan
 
Vocabulary Engineering Enrichment 3
Vocabulary Engineering Enrichment 3Vocabulary Engineering Enrichment 3
Vocabulary Engineering Enrichment 3Lusiana Diyan
 
Vocabulary Engineering Enrichment 2
Vocabulary Engineering Enrichment 2Vocabulary Engineering Enrichment 2
Vocabulary Engineering Enrichment 2Lusiana Diyan
 
Vocabulary Engineering Enrichment
Vocabulary Engineering EnrichmentVocabulary Engineering Enrichment
Vocabulary Engineering EnrichmentLusiana Diyan
 
DESIGN THINGKING & PROJECT MANAGEMENT
DESIGN THINGKING & PROJECT MANAGEMENTDESIGN THINGKING & PROJECT MANAGEMENT
DESIGN THINGKING & PROJECT MANAGEMENTLusiana Diyan
 
Tutorial Membuat Simple Crane Menggunakan Coppeliasim
Tutorial Membuat Simple Crane Menggunakan CoppeliasimTutorial Membuat Simple Crane Menggunakan Coppeliasim
Tutorial Membuat Simple Crane Menggunakan CoppeliasimLusiana Diyan
 
CRUD pada Android Studio menggunakan MySQL
CRUD pada Android Studio menggunakan MySQLCRUD pada Android Studio menggunakan MySQL
CRUD pada Android Studio menggunakan MySQLLusiana Diyan
 
Kontrol LED melalui Web Server
Kontrol LED melalui Web ServerKontrol LED melalui Web Server
Kontrol LED melalui Web ServerLusiana Diyan
 
Akses GPIO pada Raspberry Pi
Akses GPIO pada Raspberry PiAkses GPIO pada Raspberry Pi
Akses GPIO pada Raspberry PiLusiana Diyan
 
Building A Simple Robot in VREP
Building A Simple Robot in VREPBuilding A Simple Robot in VREP
Building A Simple Robot in VREPLusiana Diyan
 
Tutorial Menggunakan Software Eagle
Tutorial Menggunakan Software EagleTutorial Menggunakan Software Eagle
Tutorial Menggunakan Software EagleLusiana Diyan
 
Proses Rekayasa Perangkat Lunak
Proses Rekayasa Perangkat LunakProses Rekayasa Perangkat Lunak
Proses Rekayasa Perangkat LunakLusiana Diyan
 
Produk Rekasaya Perangkat Lunak
Produk Rekasaya Perangkat LunakProduk Rekasaya Perangkat Lunak
Produk Rekasaya Perangkat LunakLusiana Diyan
 
Open Loop Analog Control System - Motor DC
Open Loop Analog Control System - Motor DCOpen Loop Analog Control System - Motor DC
Open Loop Analog Control System - Motor DCLusiana Diyan
 

More from Lusiana Diyan (20)

Komunikasi Bisnis yang Efektif
Komunikasi Bisnis yang EfektifKomunikasi Bisnis yang Efektif
Komunikasi Bisnis yang Efektif
 
Berkomunikasi dalam Tim
Berkomunikasi dalam TimBerkomunikasi dalam Tim
Berkomunikasi dalam Tim
 
Berkomunikasi di Dunia dengan Keragaman
Berkomunikasi di Dunia dengan KeragamanBerkomunikasi di Dunia dengan Keragaman
Berkomunikasi di Dunia dengan Keragaman
 
Menulis Pesan Bisnis
Menulis Pesan BisnisMenulis Pesan Bisnis
Menulis Pesan Bisnis
 
Kemampuan Berkomunikasi 6 - Menyelesaikan Pesan Bisnis
Kemampuan Berkomunikasi 6 - Menyelesaikan Pesan BisnisKemampuan Berkomunikasi 6 - Menyelesaikan Pesan Bisnis
Kemampuan Berkomunikasi 6 - Menyelesaikan Pesan Bisnis
 
Menulis Pesan Bisnis
Menulis Pesan BisnisMenulis Pesan Bisnis
Menulis Pesan Bisnis
 
Vocabulary Engineering Enrichment 3
Vocabulary Engineering Enrichment 3Vocabulary Engineering Enrichment 3
Vocabulary Engineering Enrichment 3
 
Vocabulary Engineering Enrichment 2
Vocabulary Engineering Enrichment 2Vocabulary Engineering Enrichment 2
Vocabulary Engineering Enrichment 2
 
Vocabulary Engineering Enrichment
Vocabulary Engineering EnrichmentVocabulary Engineering Enrichment
Vocabulary Engineering Enrichment
 
DESIGN THINGKING & PROJECT MANAGEMENT
DESIGN THINGKING & PROJECT MANAGEMENTDESIGN THINGKING & PROJECT MANAGEMENT
DESIGN THINGKING & PROJECT MANAGEMENT
 
Tutorial Membuat Simple Crane Menggunakan Coppeliasim
Tutorial Membuat Simple Crane Menggunakan CoppeliasimTutorial Membuat Simple Crane Menggunakan Coppeliasim
Tutorial Membuat Simple Crane Menggunakan Coppeliasim
 
CRUD pada Android Studio menggunakan MySQL
CRUD pada Android Studio menggunakan MySQLCRUD pada Android Studio menggunakan MySQL
CRUD pada Android Studio menggunakan MySQL
 
Kontrol LED melalui Web Server
Kontrol LED melalui Web ServerKontrol LED melalui Web Server
Kontrol LED melalui Web Server
 
Installasi NodeMCU
Installasi NodeMCUInstallasi NodeMCU
Installasi NodeMCU
 
Akses GPIO pada Raspberry Pi
Akses GPIO pada Raspberry PiAkses GPIO pada Raspberry Pi
Akses GPIO pada Raspberry Pi
 
Building A Simple Robot in VREP
Building A Simple Robot in VREPBuilding A Simple Robot in VREP
Building A Simple Robot in VREP
 
Tutorial Menggunakan Software Eagle
Tutorial Menggunakan Software EagleTutorial Menggunakan Software Eagle
Tutorial Menggunakan Software Eagle
 
Proses Rekayasa Perangkat Lunak
Proses Rekayasa Perangkat LunakProses Rekayasa Perangkat Lunak
Proses Rekayasa Perangkat Lunak
 
Produk Rekasaya Perangkat Lunak
Produk Rekasaya Perangkat LunakProduk Rekasaya Perangkat Lunak
Produk Rekasaya Perangkat Lunak
 
Open Loop Analog Control System - Motor DC
Open Loop Analog Control System - Motor DCOpen Loop Analog Control System - Motor DC
Open Loop Analog Control System - Motor DC
 

Socket Programming UDP Echo Client Server (Python)

  • 1. LAPORAN PRAKTIKUM JARINGAN KOMPUTER SOCKET PROGRAMMING: UDP ECHO CLIENT/SERVER (PYTHON) LUSIANA DIYAN NINGRUM (2210181051) 2 D4 TEKNIK KOMPUTER B POLITEKNIK ELEKTRONIKA NEGERI SURABAYA SURABAYA 2020
  • 2. SOCKET PROGRAMMING: UDP ECHO CLIENT/SERVER (PYTHON) A. TUJUAN 1. Mahasiswa dapat menjelaskan konsep jaringan berbasis client-server 2. Mahasiswa dapat menjelaskan konsep pemrograman socket berbasis UDP 3. Mahasiswa dapat menjelaskan cara kerja program UDP echo client/server B. PENDAHULUAN User Datagram Protocol (UDP) merupakan protokol yang bersifat connectionless. UDP tidak dapat menjamin pengiriman maupun urutan paket. Sealain itu juga tidak ada mekanisme handshaking. Sehingga, reliabilitas UDP tidak sebaik TCP. UDP menyediakan checksum untuk integritas data dan port number sebagai pengalamatan. UDP diperlukan untuk aplikasi yang membutuhkan komunikasi efisien dan cepat tanpa mempermasalahkan packet loss. Pada gambar 1 menunjukkan proses pengiriman data untuk komunikasi menggunakan protokol UDP. Bila dilihat pada gambar ataupun pada prosedur percobaan, pada sisi server tidak ada proses listen dan accept seperti pada TCP. Namun, hanya ada proses bind untuk menghubungkan socket dengan port dan proses menunggu pesan yang dikirim dari client. Sedangkan pada sisi client menggunakan sendto() untuk mengirimkan pesan secara langsung ke server, dan recvfrom() untuk menerima pesan balasan dari server. Gambar 1. UDP Socket
  • 3. C. PROSEDUR PERCOBAAN 1. Buatlah program echo server 2. Buatlah program echo client
  • 4. 3. Jalankan program server.py terlebih dulu. Tampilkan hasil pengujian anda. (Catatan : port tersebut adalah port server, dimana client nantinya akan menggunakan port tersebut agar terhubung ke server, gunakan non privileged ports) 4. Jalankan program echo client secara terpisah terminal atau command prompt dari program echo server. Tampilkan hasil pengujian anda. Sedangkan pada server akan tampil seperti berikut: Beberapa saat kemudian akan tampil tulisan seperti berikut pada sisi client 5. Pada pengujian di prosedur 3 dan 4 menggunakan localhost, anda dapat juga menggunakan host yang berbeda dengan menyesuaikan IP address tujuan.
  • 5. 6. Lakukan packet analysis menggunakan aplikasi Wireshark untuk mengamati pengiriman datamenggunakan protokol UDP
  • 6. 7. Lakukan packet analysis menggunakan aplikasi Wireshark untuk mengamati pengiriman data menggunakan protokol TCP, gunakan program TCP socket pada praktikum sebelumnya 8. Lakukan analisa dari pengamatan yang sudah anda lakukan menggunakan protokol TCP dan UDP. Jelaskan apa saja yang dapat anda analisa dari capture paket pada Wireshark, dan apa saja perbedaan pada paket data yang dikirimkan menggunaakan TCP dan UDP. ANALISA Jaringan client server didefinisikan sebagai suatu arsitektur jaringan komputer dimana perangkat client melakukan proses meminta data, dan server yang memiliki tugas untuk memberikan respon berupa data terhadap request tersebut. Perangkat client biasanya berupa perangkat komputer dengan aplikasi software jaringan yang telah terinstal guna untuk meminta dan menerima data melalui jaringan. Server merupakan sebuah komputer yang dirancang khusus untuk melayani client dengan memproses request yang telah diterima dari client lalu kemudian mengirimkan kembali respon data kepada client melalui jaringan. Server menyimpan informasi dan data yang kompleks yang mungkin dibutuhkan client, oleh karena itu biasanya server terdiri dari komputer dengan performa yang tinggi baik dari segi pemrosesan maupun dari segi memori, hal tersebut agar server mampu melayani request dari banyak client secara bersamaan. Socket programming adalah pemrograman yang menggunakan socket. Socket ini semacam terowongan/tunnel yang bisa dipakai untuk komunikasi/pertukaran arah secara bolak-balik. Dengan socket programming, komunikasi dapat terjalin antara bahasa pemrograman yang berbeda, antara tingkatan user yang berbeda, bahkan antar komputer yang berbeda atau gabungan ketiganya. Secara garis besar langkah–langkah yang dilakukan pada client adalah sebagai berikut dimulai dengan membuka koneksi client ke server, yang di dalamnya adalah membuat socket dengan perintah socket(), kemudian melakukan pengalamatan ke server. Setelah itu melakukan komunikasi (mengirim dan menerima data), dengan menggunakan perintah
  • 7. recvfrom() dan sendto(). Dan terakhir menutup hubungan dengan perintah close(). Untuk menampilkan hasil pada terminal menggunakan perintah echo(). Sama halnya dengan langkah – langkah yang dilakukan pada client, untuk membuat server yang harus dilakukan antara lain dimuali dengan membuat socket dengan perintah socket(). Melakukan komunikasi (mengirim dan menerima data), dengan menggunakan perintah recvfrom() dan sendto( ). Dan untuk menampilkan hasil pada terminal menggunakan perintah echo(). Jaringan komputer dalam melakukan pengiriman data bisa diilustrasikan sebagai pengiriman surat. Supaya surat bisa terkirim secara benar maka alamat pengirim dan penerima harus tertulis dengan jelas dan lengkap. Begitu juga dalam koneksi di socket, diperlukan variable yang dipakai untuk menyimpan address client dan server. Proses dari kerja aplikasi yang menggunakan UDP adalah untuk bisa melakukan koneksi client server, program server harus berjalan terlebih dahulu. UDP memiliki sebuah saluran (channel) yang berguna untuk menghubungkan host antar host untuk saling berkirim informasi. Channel ini kemudian disebut dengan port UDP. Agar dapat terhubung dengan protokol UDP, aplikasi pada komputer terlebih dahulu perlu menyediakan alamat IP serta nomor port UDP dari host yang ingin dituju. Port UDP ini berguna sebagai sebuah multiplexed message queue. Artinya, port UDP tersebut kemudian mampu bekerja dengan menerima beberapa pesan secara bersamaan. Setiap port UDP memiliki identifikasi dengan nomor yang unik, namun memiliki pembagian tersendiri seperti yang telah dijelaskan sebelumnya. Pada kehidupan sehari-hari UDP dianalogikan seperti proses pengiriman pesan pada alat komunikasi telepon selular dengan menggunakan fasilitas SMS (Short Messsage Service) dimana kita tidak harus selalu berada ditempat untuk menunggu pesan karena pesan yang dikirim melalui fasilitas SMS akan sampai sekalipun telepon selular itu tidak diaktifkan. Wireshark adalah program Network Protocol Analyzer atau penganalisa protokol jaringan yang lengkap. Program ini dapat merakam semua paket yang lewat serta menyeleksi dan menampilkan data tersebut sedetail mungkin. Wireshark bekerja dengan cara merekam semua paket yang melewati interface yang dipilih (Interface adalah perangkat penghubung antar jaringan, bisa melalui wifi atau ethernet / lan card). Hasil rekaman tadi dapat dianalisa. disini kita dapat memfilter protocol apa yang kita inginkan seperti tcp, http, udp dan sebagainya. Wireshark juga dapat mencatat cookie, post dan request. KESIMPULAN Berdasarkan praktikum dan analisa dapat ditarik kesimpulan sebagai berikut : 1. Jaringan client server merupakan suatu arsitektur jaringan komputer dimana perangkat client melakukan proses meminta data, dan server yang memiliki tugas untuk memberikan respon berupa data terhadap request tersebut.
  • 8. 2. User Datagram Protocol (UDP) merupakan protokol yang bersifat connectionless sehingga client tidak membangun koneksi ke server sebelum mengirim data – client hanya mengirim data secara langsung. TUGAS PERTANYAAN 1. Jelaskan beberapa keunggulan protokol UDP  Dapat disiarkan dengan cepat karena tidak memerlukan handshaking  Koneksi lebih cepat karena mereka tidak perlu bernegosiasi (berjabat tangan) dan juga pengirimannya tidak berurutan  Hemat memori karena tanpa memecah data, membuat acknowledge, dan lainnya 2. Sebutkan beberapa contoh penerapan protokol UDP pada pengiriman data di jaringan internet, serta jelaskan mengapa aplikasi tersebut menggunakan UDP. UDP adalah kependekan dari User Datagram Protocol metupakan bagian dari internet protocol. Dengan UDP, aplikasi komputer dapat mengirimkan pesan kepada komputer lain dalam jaringan lain tanpa melakukan komunikasi awal. UDP melakukan komunikasi secara sederhana dengan mekanisme yang sangat minimal. UDP digunakan untuk komunikasi yang sederhana seperti query DNS (Domain Name System), NTP (Network Time Protocol), DHCP (Dinamic Host Configuration Protocol), dan RIP (Routing Information Protocol). Pada query DNS, komputer meminta informasi suatu data dari suatu domain kepada DNS server. Data ini mungkin alamat web server, alamat mail server dan data-data yang lain terkait domain. DNS server akan membalas dengan memberikan informasi yang diinginkan client Pada NTP, client meminta informasi waktu kepada NTP server. NTP server akan membalas waktu pada saat itu. Dengan demikian maka client akan memiliki system waktu yang akurat. Pada DHCP, client akan menghubungi DHCP server untuk meminta alamat IP untuk dia pakai sendiri. DHCP server akan memberikan informasi alamat IP supaya digunakan oleh client tersebut. Pada RIP, server RIP akan melakukan broadcast informasi routing kepada router-router yang lain. UDP cocok untuk pengiriman informasi yang lebih menekankan kecepatan daripada kehandalan. Contoh aplikasi ini adalah audio streaming dan video streaming.
  • 9. 3. Jelaskan perbedaan TCP dan UDP Perbedaan TCP UDP Jenis Koneksi Connection-oriented : semua paket data yang dikirimkan akan diperiksa kembali. Jika terdapat informasi yang hilang / tidak sesuai dengan paket yang dikirimkan, maka paket data akan dikirimkan kembali. Connectionless : semua paket data dikirimkan tanpa adanya pengecekan hingga semua data sampai ke tujuan. Hal ini menyebabkan, jika ada informasi yang hilang akan diabaikan. Basis koneksi Connection based : pengiriman paket data melalui internet dari satu komputer ke komputer lain. (dalam jaringan) Not connection based : paket data akan langsung dikirimkan ke tujuan. (host- to-host tidak dalam jaringan TCP/IP) Penggunaan Cocok untuk aplikasi yang memerlukan keandalan tinggi dengan waktu yang kurang cepat. Cocok untuk aplikasi yang membutuhkan transmisi cepat, efisien dan mengijinkan adanya sedikit informasi yang hilang. Contoh aplikasi / port Telnet, FTP (File Transfer Protocol), SMTP (Simple Mail Transfer Protocol) Game, DNS (Domain Name System), SNMP (Simple Network Management Protocol), Remote Procedure Call (RPC), Lightweight Directory Access Protocol (LDAP), TFTP dan SunRPC. Overhead Digunakan untuk memaksimalkan performansi. Membutuhkan overhead yang lebih kecil. Ukuran header 20 byte 8 byte Pembuatan koneksi Membutuhkan three-way- handshake*. Tidak membutuhkan pembuatan koneksi. Keandalan (reliability) Data terjamin akan sampai sesuai urutannya dan tidak ada data yang hilang (utuh). Tidak terjamin data akan sama persis dengan yang dikirimkan. Besar paket Dapat mengijinkan transfer dengan data yang besar per paketnya. Hanya mengijinkan transfer data untuk data kecil per paketnya. Keamanan Menawarkan keamanan yang lebih baik untuk spoofing attack. Tidak dapat menawarkan keamanan pada data yang dikirimkan. Data flow control Memiliki flow control. Tidak memiliki flow control. Karakteristik TCP adalah protokol yang memiliki karakteristik berdasarkan koneksi atau berorientasi koneksi. UDP tidak berbasis koneksi Komunikasi TCP memungkinkan beberapa komputer berbeda UDP kurang dapat diandalkan dalam
  • 10. untuk berkomunikasi dan bertukar data. memfasilitasi komunikasi tanpa koneksi antara beberapa komputer host, yang berada di jaringan TCIP / IP. Port TCP menggunakan port yang mengadopsi bilangan bulat 16-bit (antara 0-65535), yang harus unik atau berbeda antar port. UDP menggunakan port integer 16-bit tetapi juga dibagi menjadi tiga bagian, yaitu port 1-1023 untuk port terkenal, port 1024-49151 untuk port terdaftar, dan sisanya untuk port ephemeral di nomor 49152-65535. Transmisi Data TCP dapat menggunakan jalur data dupleks penuh, yang berarti bahwa antara titik masuk dan keluar data dipisahkan menjadi dua baris. Sehingga proses pengiriman dan penerimaan dapat dilakukan secara bersamaan. UDP dapat mengirim data dalam bentuk paket datagram, tanpa nomor pengenal. Ini berarti bahwa kemungkinan besar data yang diperoleh tidak berurutan, dan mungkin rusak atau bahkan hilang selama proses pengiriman dari host asli ke tujuan.