Halaman

Senin, 26 Agustus 2024

Karakteristik UDP

UDP (User Datagram Protocol) adalah salah satu protokol komunikasi di dalam suite protokol Internet yang memiliki karakteristik sebagai berikut:

  1. Connectionless: UDP adalah protokol yang tidak membutuhkan koneksi antara pengirim dan penerima sebelum pengiriman data. Hal ini berbeda dengan TCP (Transmission Control Protocol) yang membutuhkan sesi koneksi terlebih dahulu.

  2. Unreliable: UDP tidak menjamin bahwa data yang dikirim akan sampai ke tujuan. Tidak ada mekanisme pengaturan ulang paket atau retransmisi jika paket hilang selama pengiriman. Oleh karena itu, tidak ada jaminan keandalan dalam pengiriman data.

  3. Tidak ada kontrol aliran dan kontrol kesalahan: UDP tidak menyediakan mekanisme kontrol aliran (flow control) atau kontrol kesalahan (error control). Ini berarti tidak ada pengendalian untuk memastikan bahwa data diterima dalam urutan yang benar atau bahwa data bebas dari kesalahan.

  4. Kecepatan tinggi: Karena UDP tidak melakukan proses handshaking, retransmisi, dan kontrol aliran, maka protokol ini lebih cepat dan memiliki latensi yang lebih rendah dibandingkan dengan TCP. Hal ini membuat UDP cocok untuk aplikasi yang membutuhkan kecepatan tinggi dan toleran terhadap kehilangan data, seperti streaming video, game online, dan VoIP (Voice over IP).

  5. Menggunakan port: UDP menggunakan nomor port untuk mengidentifikasi aplikasi atau layanan yang berbeda pada host. Setiap paket UDP mengandung header yang berisi informasi tentang port sumber dan tujuan.

  6. Paket Datagram: UDP mengirimkan data dalam bentuk paket yang disebut datagram. Setiap datagram adalah unit independen yang dikirim tanpa koneksi sebelumnya, dan masing-masing datagram dapat mengambil jalur yang berbeda untuk mencapai tujuan.

Karena sifatnya yang sederhana dan cepat, UDP sering digunakan dalam aplikasi yang memprioritaskan kecepatan dan efisiensi di atas keandalan data.

 

Protokol lapisan aplikasi model TCP/IP

Protokol yang beroperasi pada lapisan aplikasi model TCP/IP adalah protokol yang digunakan untuk komunikasi langsung dengan aplikasi pengguna. Beberapa protokol yang beroperasi di lapisan aplikasi TCP/IP antara lain:

  1. HTTP (Hypertext Transfer Protocol): Digunakan untuk transfer data web (halaman web).
  2. HTTPS (HTTP Secure): Versi aman dari HTTP menggunakan SSL/TLS untuk enkripsi.
  3. FTP (File Transfer Protocol): Digunakan untuk transfer file antara klien dan server.
  4. SMTP (Simple Mail Transfer Protocol): Digunakan untuk mengirim email.
  5. IMAP (Internet Message Access Protocol): Digunakan untuk mengambil email dari server.
  6. POP3 (Post Office Protocol version 3): Digunakan untuk mengambil email dari server.
  7. DNS (Domain Name System): Digunakan untuk memetakan nama domain ke alamat IP.
  8. Telnet: Digunakan untuk akses remote ke perangkat atau server.
  9. SSH (Secure Shell): Digunakan untuk akses remote yang aman.
  10. TFTP (Trivial File Transfer Protocol): Digunakan untuk transfer file sederhana tanpa otentikasi.
  11. DHCP (Dynamic Host Configuration Protocol): Digunakan untuk pemberian alamat IP dinamis.
  12. SNMP (Simple Network Management Protocol): Digunakan untuk manajemen jaringan.
  13. NTP (Network Time Protocol): Digunakan untuk sinkronisasi waktu jaringan.
  14. LDAP (Lightweight Directory Access Protocol): Digunakan untuk layanan direktori seperti autentikasi.

Protokol-protokol ini memungkinkan aplikasi pengguna untuk berinteraksi melalui jaringan, mengirim dan menerima data, serta menyediakan berbagai layanan yang beroperasi di atas infrastruktur jaringan TCP/IP.


Ringkasan TCP dan UDP

 UDP adalah sistem pengiriman 'upaya terbaik' yang tidak memerlukan pengakuan penerimaan. UDP lebih disukai dengan aplikasi seperti streaming audio dan VoIP. Pengakuan akan memperlambat pengiriman dan pengiriman ulang tidak diinginkan. Paket mengambil jalur dari sumber ke tujuan. Beberapa paket mungkin hilang tetapi biasanya tidak terlihat.

Paket TCP mengambil jalur dari sumber ke tujuan. Namun, masing-masing paket memiliki nomor urut. TCP memecah pesan menjadi potongan-potongan kecil yang dikenal sebagai segmen. Segmen diberi nomor secara berurutan dan diteruskan ke proses IP untuk dirakit menjadi paket. TCP melacak jumlah segmen yang telah dikirim ke host tertentu dari aplikasi tertentu. Jika pengirim tidak menerima pengakuan dalam jangka waktu tertentu, ia menganggap bahwa segmen tersebut hilang dan mengirimkannya kembali. Hanya bagian pesan yang hilang yang dikirim ulang, bukan seluruh pesan.

Ketika pesan dikirimkan menggunakan TCP atau UDP, protokol dan layanan yang diminta diidentifikasi oleh nomor port. Port adalah pengenal numerik dalam setiap segmen yang digunakan untuk melacak percakapan tertentu antara klien dan server. Setiap pesan yang dikirim oleh host berisi port sumber dan tujuan.

Ketika pesan diterima oleh server, server harus dapat menentukan layanan mana yang diminta oleh klien. Klien dikonfigurasikan sebelumnya untuk menggunakan port tujuan yang terdaftar di internet untuk setiap layanan.

Port ditetapkan dan dikelola oleh organisasi yang dikenal sebagai ICANN. Port dibagi menjadi tiga kategori dan jumlahnya berkisar dari 1 hingga 65.535:

Port Terkenal - Port tujuan yang dikaitkan dengan aplikasi jaringan umum diidentifikasi sebagai port terkenal. Port ini berada dalam kisaran 1 hingga 1023.

Port Terdaftar - Port 1024 hingga 49151 dapat digunakan sebagai port sumber atau tujuan. Port ini dapat digunakan oleh organisasi untuk mendaftarkan aplikasi tertentu seperti aplikasi IM.
Port Pribadi - Port 49152 hingga 65535 sering digunakan sebagai port sumber. Port ini dapat digunakan oleh aplikasi apa pun.

Nomor port sumber dibuat secara dinamis oleh perangkat pengirim untuk mengidentifikasi percakapan antara dua perangkat. Proses ini memungkinkan beberapa percakapan terjadi secara bersamaan. Merupakan hal yang umum bagi perangkat untuk mengirim beberapa permintaan layanan HTTP ke server web secara bersamaan. Setiap percakapan HTTP terpisah dilacak berdasarkan port sumber.

Klien menempatkan nomor port tujuan di segmen tersebut untuk memberi tahu server tujuan layanan apa yang diminta. Server dapat menawarkan lebih dari satu layanan secara bersamaan, seperti layanan web pada port 80 pada saat yang sama saat ia menawarkan pembentukan koneksi FTP pada port 21.

Koneksi TCP yang tidak dapat dijelaskan dapat menimbulkan ancaman keamanan yang besar. Koneksi tersebut dapat menunjukkan bahwa sesuatu atau seseorang terhubung ke host lokal. Terkadang perlu diketahui koneksi TCP aktif mana yang terbuka dan berjalan pada host jaringan. Netstat adalah utilitas jaringan penting yang dapat digunakan untuk memverifikasi koneksi tersebut. Perintah netstat digunakan untuk mencantumkan protokol yang digunakan, alamat lokal dan nomor port, alamat asing dan nomor port, serta status koneksi.

Saya pernah memesan beberapa perabot dari salah satu toko daring tersebut. Barang-barang itu dikirim kepada saya dalam tiga kotak berbeda, dalam kurun waktu dua minggu. Saya tidak khawatir ada yang hilang karena saya menerima pembaruan email yang merinci lokasi setiap kotak di sepanjang rutenya dari toko ke rumah saya. Contoh itu seperti TCP. Di sepanjang rute, ada pemeriksaan bawaan untuk memastikan bahwa apa yang perlu dikirim benar-benar terkirim, dan dalam urutan yang benar.

Masih diperlukan UDP dalam jaringan. Saya tidak akan menikmati streaming film yang berhenti selama beberapa menit sambil menunggu jaringan mengirimkan adegan berikutnya. Dapatkah Anda memikirkan analogi yang tepat untuk UDP?

 

netstat -an

Perintah Windows yang akan menampilkan protokol yang digunakan, alamat lokal dan nomor port, alamat asing dan nomor port, serta status koneksi adalah:

netstat -an
 

Penjelasan opsi perintah:

  • netstat: Menampilkan statistik protokol jaringan dan koneksi jaringan.
  • -a: Menampilkan semua koneksi aktif dan port yang mendengarkan.
  • -n: Menampilkan alamat dan nomor port dalam format numerik (tanpa menyelesaikan nama host).

Dengan menjalankan netstat -an, Anda akan mendapatkan output yang mencakup:

  • Protokol (TCP atau UDP)
  • Alamat lokal dan nomor port
  • Alamat asing dan nomor port
  • Status koneksi (seperti LISTENING, ESTABLISHED, TIME_WAIT, dll.)

 

Nomor Port FTP, HTTP, dan TFTP

FTP, HTTP, dan TFTP adalah protokol jaringan yang menggunakan port tertentu. Berikut adalah nomor port yang digunakan oleh masing-masing aplikasi:

  1. FTP (File Transfer Protocol):

    • Port 21 untuk kontrol (mengirim perintah dan menerima respon).
    • Port 20 untuk data (transfer data dalam mode aktif).
  2. HTTP (Hypertext Transfer Protocol):

    • Port 80 untuk layanan web standar.
  3. TFTP (Trivial File Transfer Protocol):

    • Port 69 untuk transfer file sederhana dan tidak memerlukan otentikasi.

Jadi, grup port yang mencakup nomor port untuk aplikasi FTP, HTTP, dan TFTP adalah: 20, 21, 69, dan 80.

Memperbaiki Tipe Data

Eksekusi program Anda dapat gagal jika data Anda berada dalam format yang salah.

Anda perlu memastikan bahwa skor yang dimasukkan oleh pengguna disimpan sebagai bilangan bulat.

age = int(input())
print(type(age))

Kode tersebut akan menampilkan <class 'int'>

 x = 15
print(type(x))

Perintah str() dapat membantu Anda dengan penggabungan.

Operasi matematika antara bilangan bulat dan bilangan pecahan menghasilkan bilangan pecahan.

x = 9
y = 3.0
print(x+y)

Kode ini akan menampilkan float.

print(12/6)

Pelajaran yang Dapat Dipetik

Anda mempelajari bahwa:

🌟 Anda dapat menggunakan konversi tipe data eksplisit untuk menghindari bug dalam program Anda

🌟 int() memastikan bahwa input pengguna diperlakukan sebagai bilangan bulat

🌟 str() dapat membantu Anda menggabungkan angka dengan teks

Sabtu, 24 Agustus 2024

Konversi Data

Data dapat datang dalam format yang salah. Data dari survei dan formulir web dapat sampai kepada Anda dengan masalah kualitas.

Instruksi input() selalu mengubah input pengguna menjadi string, apa pun yang dimasukkan pengguna.

project_budget = input()

Anda dapat mengonversi data dari satu jenis ke jenis lain untuk memperbaiki masalah kualitas data. Instruksi int() mengonversi semua jenis nilai menjadi bilangan bulat.

Anda dapat menggunakan instruksi int() untuk mengubah input pengguna menjadi bilangan bulat.

a = input()
b = int(input())

age = int(input())

Ada situasi ketika Anda memerlukan nilai untuk diperlakukan sebagai float. Instruksi float() mengubah nilai menjadi float.

a = 3
b = float(a)
print(b)

Dengan cara yang sama, Anda dapat memastikan bahwa nilai diubah menjadi string dengan instruksi str().

Instruksi int(), str(), dan float() adalah contoh konversi eksplisit, yang berarti instruksi tersebut dilakukan oleh instruksi yang diberikan oleh programmer (seperti Anda).

x = input()
y = input()
print(x+y)

Pelajaran yang Dapat Dipetik
Anda mempelajari bahwa:

🌟 Anda dapat mengubah tipe data suatu nilai dengan int(), float(), dan str()

🌟 terdapat konversi tipe data implisit dan eksplisit dalam Python

🌟 Instruksi str(), int(), float() merupakan konversi eksplisit 
    

Jumat, 23 Agustus 2024

Pemeriksaan Tipe Data

Data hadir dalam berbagai bentuk dan rupa. Menangani data dalam format yang salah dapat mengakibatkan hilangnya atau rusaknya data.

a = "note"
b = "book"
print(a+b)

Data dapat datang kepada Anda dalam format yang salah. Anda dapat menggunakan instruksi type() untuk memeriksa tipe data yang disimpan dalam suatu variabel.

balance = "780"
type(balance)

balance = 234.3
print(type(balance))

Pembagian dua bilangan bulat selalu menghasilkan bilangan float.

x = 9
y = 3

print(x / y)

Pelajaran yang Dapat Dipetik  

Anda mempelajari bahwa: 

🌟 instruksi type() digunakan untuk memeriksa tipe data 

🌟 pembagian dua bilangan bulat selalu menghasilkan float  

Tipe Data

Data hadir dalam berbagai bentuk dan rupa. Komputer memperlakukan berbagai jenis data dengan cara yang berbeda.

String adalah tipe data untuk sepotong teks. Tanda kutip memberi tahu komputer bahwa suatu nilai perlu disimpan sebagai string.

Komputer menyimpan dan memproses berbagai jenis angka. Bilangan bulat adalah bilangan bulat tanpa titik desimal. Bilangan bulat bisa positif, negatif, atau nol.

Float adalah tipe data untuk angka dengan tempat desimal, bisa positif atau negatif.

Cara komputer beroperasi dengan nilai bergantung pada tipe data.

Bila Anda menggunakan operator penjumlahan + dengan nilai string, kedua string tersebut akan digabungkan. Ini dikenal sebagai penggabungan.

a = "basket"
b = "ball"
print(a+b)

Apa pun dalam tanda kutip akan diperlakukan sebagai string, bahkan angka.

var = "360"

Anda tidak akan dapat melakukan operasi matematika jika angka diapit tanda kutip. Angka akan dianggap sebagai string.

print("360" + "360")

Pelajaran yang Dapat Dipetik 

 Anda mempelajari bahwa: 

🌟 Komputer menyimpan dan memproses berbagai tipe data secara berbeda 

🌟 String adalah tipe data untuk teks 

🌟 Integer dan float adalah tipe data untuk angka       

Rabu, 21 Agustus 2024

Masukan dan Keluaran

 

Program komputer dirancang untuk berinteraksi dengan pengguna dan dunia luar.

Input adalah informasi apa pun yang masuk ke komputer. Menekan sebuah tombol dan mengklik sebuah tombol adalah contoh input.

Instruksi input() adalah cara termudah untuk memungkinkan pengguna memasukkan nilai ke dalam program Anda.

user_entry = input()

Output adalah cara komputer berkomunikasi dengan dunia luar. Pesan yang ditampilkan di layar dan suara dari speaker adalah contoh keluaran.

Instruksi print() yang sudah Anda ketahui adalah cara termudah untuk membuat program komputer Anda menghasilkan output.

Penyedot debu robot mengeluarkan bunyi bip saat macet. Suara ini adalah contohnya sebuah output.

Penyedot debu robot dilengkapi dengan sensor yang membantunya menavigasi lingkungannya dan mendeteksi rintangan.

Informasi yang datang dari sensor adalah contohnya sebuah input

Program komputer dapat memiliki banyak input dan output.  

username = "zombie"
points = 50
lives = 3
print(points)
print(lives)

Pelajaran yang Dapat Dipetik Anda berhasil! 

Anda mempelajari bahwa:  

🌟 input dan output membantu mesin berkomunikasi dengan dunia luar  

🌟 instruksi input() memungkinkan pengguna memasukkan nilai ke dalam program Anda  

🌟 instruksi print() digunakan untuk menghasilkan keluaran