Dalam dunia jaringan komputer, dua protokol komunikasi yang paling umum digunakan adalah TCP (Transmission Control Protocol) dan UDP (User Datagram Protocol). Meskipun keduanya berfungsi untuk mengirim data melalui jaringan, TCP dan UDP memiliki perbedaan mendasar dalam cara kerja, keandalan, dan penggunaannya.
Pengertian TCP dan UDP
-
TCP (Transmission Control Protocol):
TCP adalah protokol komunikasi yang bersifat connection-oriented. Artinya, sebelum data dikirim, harus ada koneksi yang dibentuk antara pengirim dan penerima. TCP menjamin bahwa data yang dikirim akan sampai secara utuh dan berurutan. -
UDP (User Datagram Protocol):
UDP adalah protokol komunikasi yang bersifat connectionless. Pengiriman data dilakukan tanpa membangun koneksi terlebih dahulu, dan tidak ada jaminan bahwa data akan sampai ke tujuan.

Perbedaan TCP dan UDP
Aspek | TCP | UDP |
---|---|---|
Tipe koneksi | Connection-oriented | Connectionless |
Keandalan | Sangat andal, menjamin data sampai berurutan | Tidak andal, tidak menjamin pengiriman |
Kecepatan | Lebih lambat karena ada proses validasi | Lebih cepat karena minim proses validasi |
Overhead | Lebih besar | Lebih kecil |
Urutan data | Data dikirim secara berurutan | Tidak menjamin urutan data |
Koreksi kesalahan | Ya (acknowledgment dan retransmission) | Tidak ada |
Contoh penggunaan | Web, email, file transfer (HTTP, FTP, SMTP) | Streaming video, VoIP, game online (DNS, VoIP) |
Contoh Implementasi TCP
Contoh: Web Browser (HTTP/HTTPS)
Ketika kamu membuka sebuah website, browser menggunakan protokol HTTP yang berjalan di atas TCP. Protokol ini memastikan bahwa setiap bagian halaman web—gambar, teks, dan skrip—dikirim dengan lengkap dan urut.
# Contoh client TCP sederhana dengan Python
import socket
client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client.connect(('example.com', 80))
client.send(b"GET / HTTP/1.1\r\nHost: example.com\r\n\r\n")
response = client.recv(4096)
print(response.decode())
client.close()
Contoh Implementasi UDP
Contoh: Aplikasi Game Online atau Streaming
Aplikasi seperti game online atau panggilan video menggunakan UDP agar komunikasi cepat meski ada sedikit kehilangan data.
# Contoh client UDP sederhana dengan Python
import socket
client = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
client.sendto(b"Hello, server!", ('127.0.0.1', 12345))
data, addr = client.recvfrom(1024)
print("Received from server:", data.decode())
client.close()
Kesimpulan
Pemilihan antara TCP dan UDP tergantung pada kebutuhan aplikasi:
- Gunakan TCP jika data harus sampai dengan lengkap dan berurutan, seperti dalam pengiriman file atau web browsing.
- Gunakan UDP jika kecepatan lebih penting daripada keandalan, seperti dalam video streaming atau game online.