Anda di halaman 1dari 12

LABORATORIUM JARINGAN KOMPUTER

FAKULTAS ILMU KOMPUTER


UNIVERSITAS BRAWIJAYA
Nama
NIM
Kelas
Bab
Jenis Tugas
Asisten

: Vera Rusmalawati
: 135150201111194
:A
: Teori dan Aplikasi Dasar Jaringan Komputer
: Latihan Praktikum
: Imam Syafii Al Ghozaly
Luluk Mukarromah

2.3.2 Hasil Pengamatan Praktikum dengan TCP


1. Jelaskan apa yang terjadi ketika program server-tcp dijalankan ? Screenshots running
python server-tcp.py dan jelaskan

Setelah membuka command promp dan masuk kedalam folder tempat file servertcp.py kemudian ketik syntax Python server-tcp.py yaitu yang digunakan untuk
mengcompile file server-tcp.py, pada screenshoot diatas tidak ada kesalahan dan
muncul tulisan The server is ready to receive berarti server sudah berhasil
dicompile.
2. Pada baris program server-tcp jelaskan maksud dari masing-masing baris. Salin
source code server-tcp.py dan jelaskan per baris source code tersebut

Baris ke-1: melakukan import socket


Baris ke-2: inisialisasi port server yang digunakan yaitu port 12000 (bukan well
known port)

LABORATORIUM JARINGAN KOMPUTER


FAKULTAS ILMU KOMPUTER
UNIVERSITAS BRAWIJAYA
Baris ke-3: inisialisasi socket yang dipakai di sisi server dengan parameter AF_INET
yang menandakan pemakaian IPv4, dan SOCK_STREAM yang menandakan
penggunaan protocol jaringan TCP
Baris ke-4: memanggil method bind digunakan untuk proses binding port dengan no
port 12000, parameter alamat server dikosongi karena menggunakan computer yang
sama untuk server serta client
Baris ke-5: server akan mulai listening artinya sudah siap menerima perintah dari
klien dengan nilai 1 berarti max jumlah klien yang bisa dilayani oleh server ini
Baris ke-6: mencetak informasi The server is ready to receive
Baris ke-7: perulangan selama menerima sambungan dari client
Baris ke-8: inisialisasi 2 variabel yang akan digunakan untuk menerima request dari
client yaitu connectionSocket dan addr untuk menyimpan alamat client
Baris ke-9: variabel sentence digunakan untuk menyimpan data dari client, dengan
max panjang data yang dapat diterima adalah 1024
Baris ke-10: data yang disimpan dalam variabel sentence akan diubah menjadi huruf
capital (dengan method upper), kemudian hasil pengubahan disimpan dalam variabel
capitalizedSentence
Baris ke-11: menggunakan connectionSocket data yang diubah akan dikirim kembali
ke sisi client
Baris ke-12: memutuskan sambungan dengan client menggunakan method close
3. Jelaskan apa yang terjadi ketika program klien-tcp dijalankan (hanya menjalankan
klient-tcp tanpa menjalankan server-tcp) ? Screenshots running python klien-tcp.py
dan jelaskan

Saat program klien-tcp.py dicompile muncul pesan kesalahan dan program tidak
dapat dicompile saat mengeksekusi baris ke-5 karena client tidak dapat melakukan
three-way-handshake dengan server yang diinginkan dikarenakan server dalam
keadaan mati
4. Pada baris program klien-tcp jelaskan maksud dari masing-masing baris. Salin source
code klien-tcp.py dan jelaskan per baris source code tersebut

LABORATORIUM JARINGAN KOMPUTER


FAKULTAS ILMU KOMPUTER
UNIVERSITAS BRAWIJAYA

Baris ke-1: melakukan import socket


Baris ke-2: inisialiasi variabel serverName, disini client menggunakan server
localhost
Baris ke-3: inisialisasi variabel serverPort merupakan port server yang dituju, harus
sama dengan port yang digunakan oleh server
Baris ke-4: inisialisasi variabel clientSocket dengan memanggil fungsi socket dengan
parameter AF_INET merupakan IPv4 dan SOCK_STREAM protocol yang digunakan
adalah protocol TCP
Baris ke-5: client melakukan request ke server localhost dengan no port 12000 dengan
menggunakan fungsi connect
Baris ke-6: menggunakan fungsi raw_input, program meminta inputan user dan
menyimpan inputan tersebut ke dalam variable sentence
Baris ke-7: menggunakan koneksi dari clientSocket, client mengirimkan nilai variable
sentence ke sisi server
Baris ke-8: client menerima pesan balasan dari sisi server dan menyimpannya dalam
variabel modifiedSentence dengan maximum karakter adalah 1024
Baris ke-9: menampilkan informasi isi pesan yang diterima dari server (isi variabel
modifiedSentece) kepada user
Baris ke-10: memutuskan sambungan ke server menggunakan fungsi close
5. Apa yang terjadi ketika program klien-tcp dan server-tcp dijalankan secara
bersamaan, dan apa yang terjadi ketika pada klien-tcp menuliskan kata halo?
Screenshots running server-tcp.py dan klien-tcp.py

Program klien akan bisa dicompile karena server aktif, setelah dituliskan kata halo
maka client akan mengirimkan data halo dan dibalas dengan hasil ubahan ke huruf
capital dan ditampilkan ke monitor

LABORATORIUM JARINGAN KOMPUTER


FAKULTAS ILMU KOMPUTER
UNIVERSITAS BRAWIJAYA
2.4.2. Hasil Pengamatan Praktikum dengan UDP
1. Jelaskan apa yang terjadi ketika program server-udp dijalankan? Screenshots running
python server-udp.py dan jelaskan

Setelah membuka command promp dan masuk kedalam folder tempat file serverudp.py kemudian ketik syntax Python server-udp.py yaitu yang digunakan untuk
mengcompile file server-udp.py, pada screenshoot diatas tidak ada kesalahan dan
muncul tulisan The server is ready to receive berarti server sudah berhasil
dicompile.
2. Pada baris program server-udp jelaskan maksud dari masing-masing baris. Salin
source code server-udp.py dan jelaskan per baris source code tersebut

Baris ke-1: melakukan import socket


Baris ke-2: inisialisasi port server yang digunakan yaitu port 12000 (bukan well
known port)
Baris ke-3: inisialisasi socket yang dipakai di sisi server dengan parameter AF_INET
yang menandakan pemakaian IPv4, dan SOCK_DGRAM yang menandakan
penggunaan protocol jaringan UDP
Baris ke-4: memanggil method bind digunakan untuk proses binding port dengan no
port 12000, parameter alamat server dikosongi karena menggunakan computer yang
sama untuk server serta client
Baris ke-5: mencetak informasi The server is ready to receive, tidak perlu proses
listening karena UDP bersifat connectionless
Baris ke-6: perulangan selama menerima sambungan ke client
Baris ke-7: inisialisasi 2 variabel yang akan digunakan untuk menyimpan pesan dari
client (variabel message) dan clientAddress digunakan untuk menyimpan alamat
client, panjang data maksimumyang dapat ditampung adalah 2048
Baris ke-8: variabel modifiedSentence digunakan untuk menyimpan hasil ubahan
variable message menjadi huruf besar dengan menggunakan fungsi upper

LABORATORIUM JARINGAN KOMPUTER


FAKULTAS ILMU KOMPUTER
UNIVERSITAS BRAWIJAYA
Baris ke-9: data yang disimpan dalam variabel modifiedSentence dikirim kembali ke
client
3. Jelaskan apa yang terjadi ketika program klien-udp dijalankan (hanya menjalankan
klient-udp tanpa menjalankan server-udp) ? Screenshots running python klien-udp.py
dan jelaskan

Saat program klien-tcp.py dicompile berhasil menampilkan sampai perintah untuk


menginputkan kalimat, namun setelah kalimat diinputkan dan dienter muncul pesan
kesalahan dan program tidak dapat dicompile karen saat mengeksekusi baris ke-7
karena server yang diinginkan tidak ada (mati)
4. Pada baris program klien-udp jelaskan maksud dari masing-masing baris. Salin source
code klien-udp.py dan jelaskan per baris source code tersebut

Baris ke-1: melakukan import socket


Baris ke-2: inisialiasi variabel serverName, disini client menggunakan server
localhost
Baris ke-3: inisialisasi variabel serverPort merupakan port server yang dituju, harus
sama dengan port yang digunakan oleh server
Baris ke-4: inisialisasi variabel clientSocket dengan memanggil fungsi socket dengan
parameter AF_INET merupakan IPv4 dan SOCK_DGRAM protocol yang digunakan
adalah protocol UDP
Baris ke-5: menggunakan fungsi raw_input, program meminta inputan user dan
menyimpan inputan tersebut ke dalam variable sentence

LABORATORIUM JARINGAN KOMPUTER


FAKULTAS ILMU KOMPUTER
UNIVERSITAS BRAWIJAYA
Baris ke-6: menggunakan koneksi dari clientSocket, client mengirimkan nilai variable
sentence ke sisi server (tanpa three-way-handshake)
Baris ke-7: client menerima pesan balasan dari sisi server dan menyimpannya dalam
variabel modifiedMessage dengan maximum karakter yang dapat diterima adalah
2048
Baris ke-8: menampilkan informasi isi pesan yang diterima dari server (isi variabel
modifiedMessage) kepada user
Baris ke-9: memutuskan sambungan ke server menggunakan fungsi close
5. Apa yang terjadi ketika program klien-udp dan server-udp dijalankan secara
bersamaan, dan apa yang terjadi ketika pada klien-udp menuliskan kata halo?
Screenshots running server-udp.py dan klien-udp.py

Program akan menampilkan hasil ubahan inputan user menjadi huruf capital
HALO

LABORATORIUM JARINGAN KOMPUTER


FAKULTAS ILMU KOMPUTER
UNIVERSITAS BRAWIJAYA
Nama
NIM
Kelas
Bab
Jenis Tugas
Asisten

: Vera Rusmalawati
: 135150201111194
:A
: Teori dan Aplikasi Dasar Jaringan Komputer
: Tugas Praktikum
: Imam Syafii Al Ghozaly
Luluk Mukarromah

Tugas
Modifikasi source code server TCP dan UDP sehingga ketika client mengirimkan
NIM kalian, server akan membalas dengan dengan nama yang sesuai dengan NIM yang
dikirim klien dan jika client mengirimkan selain NIM kalian, server akan membalas dengan
"Maaf anda tidak dikenal" sebanyak 1 kali.
Tulislah source code dari masing-masing program dengan menggunakan protokol
TCP dan UDP beserta penjelasan per baris.
Screenshot saat server sedang berjalan dan client sudah menerima kedua balasan dari
server (balasan nama dan "Maaf anda tidak dikenal")
1. Source code menggunakan protocol TCP
a) server-tcp-tugas.py

Baris ke-1: melakukan import socket


Baris ke-2: inisialisasi port server yang digunakan yaitu port 12000 (bukan well
known port)
Baris ke-3: inisialisasi socket yang dipakai di sisi server dengan parameter AF_INET
yang menandakan pemakaian IPv4, dan SOCK_STREAM yang menandakan
penggunaan protocol jaringan TCP
Baris ke-4: memanggil method bind digunakan untuk proses binding port dengan no
port 12000, parameter alamat server dikosongi karena menggunakan computer yang
sama untuk server serta client
Baris ke-5: server akan mulai listening artinya sudah siap menerima perintah dari
klien dengan nilai 1 berarti max jumlah klien yang bisa dilayani oleh server ini

LABORATORIUM JARINGAN KOMPUTER


FAKULTAS ILMU KOMPUTER
UNIVERSITAS BRAWIJAYA
Baris ke-6: mencetak informasi The server is ready to receive
Baris ke-7: perulangan selama menerima sambungan dari client
Baris ke-8: inisialisasi 2 variabel yang akan digunakan untuk menerima request dari
client yaitu connectionSocket dan addr untuk menyimpan alamat client
Baris ke-9: variabel sentence digunakan untuk menyimpan data dari client, dengan
max panjang data yang dapat diterima adalah 1024
Baris ke-10: pengecekan isi variabel sentence, apakah isinya sama dengan
135150201111194
Baris ke-11: jika nilai pengecekan bernilai true (baris 10) maka variabel response
bernilai Vera Rusmalawati
Baris ke-12: jika nilai pengecekan bernilai false
Baris ke-13: maka nilai variabel response adalah Maaf Anda tidak dikenal
Baris ke-14: mengirimkan nilai variabel response ke sisi client
Baris ke-15: mengakhiri sambungan dengan client
b) klien-tcp-tugas.py

Baris ke-1: melakukan import socket


Baris ke-2: inisialiasi variabel serverName, disini client menggunakan server
localhost
Baris ke-3: inisialisasi variabel serverPort merupakan port server yang dituju, harus
sama dengan port yang digunakan oleh server
Baris ke-4: inisialisasi variabel clientSocket dengan memanggil fungsi socket dengan
parameter AF_INET merupakan IPv4 dan SOCK_STREAM protocol yang digunakan
adalah protocol TCP
Baris ke-5: client melakukan request ke server localhost dengan no port 12000 dengan
menggunakan fungsi connect
Baris ke-6: menggunakan fungsi raw_input, program meminta inputan user berupa
NIM dan menyimpan inputan tersebut ke dalam variable sentence
Baris ke-7: menggunakan koneksi dari clientSocket, client mengirimkan nilai variable
sentence ke sisi server
Baris ke-8: client menerima pesan balasan dari sisi server dan menyimpannya dalam
variabel message dengan maximum karakter adalah 1024
Baris ke-9: menampilkan informasi isi pesan yang diterima dari server (isi variabel
message) kepada user
Baris ke-10: memutuskan sambungan ke server menggunakan fungsi close
2. Source code menggunakan protocol UDP

LABORATORIUM JARINGAN KOMPUTER


FAKULTAS ILMU KOMPUTER
UNIVERSITAS BRAWIJAYA
a) server-udp-tugas.py

Baris ke-1: melakukan import socket


Baris ke-2: inisialisasi port server yang digunakan yaitu port 12000 (bukan well
known port)
Baris ke-3: inisialisasi socket yang dipakai di sisi server dengan parameter AF_INET
yang menandakan pemakaian IPv4, dan SOCK_DGRAM yang menandakan
penggunaan protocol jaringan UDP
Baris ke-4: memanggil method bind digunakan untuk proses binding port dengan no
port 12000, parameter alamat server dikosongi karena menggunakan computer yang
sama untuk server serta client
Baris ke-5: mencetak informasi The server is ready to receive, tidak perlu proses
listening karena UDP bersifat connectionless
Baris ke-6: perulangan selama menerima sambungan ke client
Baris ke-7: inisialisasi 2 variabel yang akan digunakan untuk menyimpan pesan dari
client (variabel sentence) dan addr digunakan untuk menyimpan alamat client,
panjang data maksimum yang dapat ditampung adalah 2048
Baris ke-8: pengecekan isi variabel sentence, apakah isinya sama dengan
135150201111194
Baris ke-9: jika nilai pengecekan bernilai true (baris 10) maka variabel response
bernilai Vera Rusmalawati
Baris ke-10: jika nilai pengecekan bernilai false
Baris ke-11: maka nilai variabel response adalah Maaf Anda tidak dikenal
Baris ke-12: data yang disimpan dalam variabel response dikirim kembali ke client
b) klien-udp-tugas.py

Baris ke-1: melakukan import socket

LABORATORIUM JARINGAN KOMPUTER


FAKULTAS ILMU KOMPUTER
UNIVERSITAS BRAWIJAYA
Baris ke-2: inisialiasi variabel serverName, disini client menggunakan server
localhost
Baris ke-3: inisialisasi variabel serverPort merupakan port server yang dituju, harus
sama dengan port yang digunakan oleh server
Baris ke-4: inisialisasi variabel clientSocket dengan memanggil fungsi socket dengan
parameter AF_INET merupakan IPv4 dan SOCK_DGRAM protocol yang digunakan
adalah protocol UDP
Baris ke-5: menggunakan fungsi raw_input, program meminta inputan user berupa
NIM dan menyimpan inputan tersebut ke dalam variable message
Baris ke-6: menggunakan koneksi dari clientSocket, client mengirimkan nilai variable
message ke sisi server (tanpa three-way-handshake)
Baris ke-7: client menerima pesan balasan dari sisi server dan menyimpannya dalam
variabel messageReply, dengan maximum karakter yang dapat diterima adalah 2048
Baris ke-8: menampilkan informasi isi pesan yang diterima dari server (isi variabel
messageReply) kepada user
Baris ke-9: memutuskan sambungan ke server menggunakan fungsi close
3. Screenshoot HASIL
a) Menggunakan protocol TCP

b) Mengunakan protocol UDP

Nama
NIM
Kelas
Bab
Jenis Tugas
Asisten

Kesimpulan

: Vera Rusmalawati
: 135150201111194
:A
: Teori dan Aplikasi Dasar Jaringan Komputer
: Kesimpulan Praktikum
: Imam Syafii Al Ghozaly
Luluk Mukarromah

LABORATORIUM JARINGAN KOMPUTER


FAKULTAS ILMU KOMPUTER
UNIVERSITAS BRAWIJAYA
1. Jelaskan perbedaan dan cara kerja dari protokol TCP dan UDP!
Perbedaan dari protocol TCP dan UDP adalah :
a) TCP memiliki sifat reliable jadi paket data dipastikan sampai ke sisi penerima,
sedangkan UDP unreliable karena lebih mengutamakan realtime
b) TCP bersifat connection oriented sehingga sebelum berkomunikasi TCP selalu
memulai dengan three-way-handshake sedangkan UDP connectionless
c) TCP bersifat full-duplex yaitu sender bisa jadi receiver dan sebaliknya (proses
pengiriman pesan)
d) TCP mengirimkan pesan secara berurutan dan diterima berurutan sedangkan UDP
tidak
e) TCP memiliki layanan flow control dimana proses pengiriman pesan akan
menyesuaikan dengan kemampuan penerima menerima pesan tersebut
Cara kerja dari protocol TCP adalah
a. Pertama, datagram dibagi-bagi ke dalam bagian-bagian kecil yang sesuai dengan
ukuran bandwith (lebar frekuensi) dimana data tersebut akan dikirimkan.
b. Pada lapisan TCP, data tersebut lalu dibungkus dengan informasi header yang
dibutuhkan
c. Setelah datagram dibungkus dengan header TCP, datagram tersebut dikirim
kepada lapisan IP
d. IP menerima datagram dari TCP dan menambahkan headernya sendiri pada
datagram tersebut lalu mengarahkan datagram tersebut ke tujuannya.
e. Komputer penerima melakukan proses-proses perhitungan, ia memeriksa
perhitungan checksum yang sama dengan data yang diterima.
f. Jika kedua perhitungan tersebut tidak cocok berarti ada error sewaktu pengiriman
dan datagram akan dikirimkan kembali.
Cara kerja dari protocol UDP adalah
a. Paket berisi port client dan port sumber berbentuk file misalnya txt dikirimkan ke
server dalam UDP header
b. UDP tujuan membaca nomor port tujuan dan memproses data
c. Paket asli memiliki port tujuan sehingga server dapat mengirimkan data kembali
ke ftfp client
d. Untuk point 3 dan 4 berulang lagi saat server menerima file txt dari client
e. saat aplikasi yang ingin mengirim data, UDP tidak akan mem-buffer atau memfragmen data.
f. Karena UDP tidak mem-fragmen data, jika data yang lebih besar dari MTU,
lapisan IP yang harus mem-fragmen nya
2. Jelaskan maksud dari socket dan port!
Socket adalah interface pada jaringan yang menjadi titik komunikasi antarmesin pada
Internet Protocol, dan tentunya tanpa komunikasi ini, tidak akan ada pertukaran data
dan informasi jaringan, agar socket dapat berkomunikasi dengan socket lainnya, maka
socket butuh diberi suatu alamat unik sebagai identifikasi yaitu IP Address dan no
port. Port adalah mekanisme yang mengizinkan sebuah komputer untuk mendukung
beberapa sesi koneksi dengan komputer lainnya dan program di dalam jaringan.
Dengan adanya no port dan IP address data yang dikirimkan antar computer tidak
akan tertukar.

LABORATORIUM JARINGAN KOMPUTER


FAKULTAS ILMU KOMPUTER
UNIVERSITAS BRAWIJAYA
3. Jelaskan macam-macam port dan contoh nomor portnya (well-known port, registered
port, dynamic/private port)!
- Well-known port adalah no port yang telah ditetapkan oleh IANA untuk layanan
tertentu, dari 0 1023, port ini tidak boleh digunakan karena sudah digunakan
untuk layanan tertentu. Contohnya : port 80 untuk protocol HTTP, port 21 untuk
control dan 20 untuk pengiriman data pada protocol FTP, port 25 untuk protocol
SMTP.
- Registered Port adalah port-port yang digunakan oleh vendor-vendor komputer
atau jaringan yang berbeda untuk mendukung aplikasi dan sistem operasi yang
mereka buat. Registered port juga diketahui dan didaftarkan oleh IANA tapi tidak
dialokasikan secara permanen, sehingga vendor lainnya dapat menggunakan port
number yang sama. Range registered port berkisar dari 1024 hingga 49151 dan
beberapa port di antaranya adalah Dynamically Assigned Port.
- Dynamically Assigned Port merupakan port-port yang ditetapkan oleh sistem
operasi atau aplikasi yang digunakan untuk melayani request dari pengguna sesuai
dengan kebutuhan. Dynamically Assigned Port dipilih random dari 1024 hingga
65536
4. Jelaskan apa yang dimaksud dengan pemrograman socket!
Socket programming merupakan pemrograman yang agar satu program bisa
berinteraksi dengan program lainnya (server dan klien) dalam satu jaringan, biasa
disebut juga dengan pemrograman jaringan.

Anda mungkin juga menyukai