03 May 2012

Tugas Pemrograman Jaringan

SOAL
1. Jelaskan secara singkat apa yang anda ketahui tentang UDP
2. Jelaskan perbedaan TCP dan UDP
3. Berikan contoh aplikasi –aplikasi yang menggunakan protokol UDP, dan jelaskan bagaimana kerja aplikasi tersebut.
4. Bagaimana konsep Client Server dalam jaringan komputer
5. Jelaskan secara singkat apa yang anda ketahui tentang Protokol Transport.
6. Dalam protokol transport terdapat dua protokol utama yaitu TCP and UDP, jelaskan perbedaan TCP dan UDP.
7. Berikan contoh aplikasi –aplikasi yang menggunakan protokol TCP, dan jelaskan bagaimana kerja aplikasi tersebut.
8. Jelaskan langkah dan prinsip kerja socket programming untuk komunikasi dua arah

JAWAB
1.   UDP (Unit Datagram Protocol) adalah protocol connectionless message-based yang lebih sederhana. Di protocol connectionless, tidak ada usaha yang dibuat untuk koneksi end-to-end. Koumikasi dicapai dengan mengirimkan informasi satu arah, dari source ke destination tanpa mengecek untuk melihat apakah tujuan masih ada, atau apakah koneksi disiapkan untuk menerima informasi. Paket UDP melewati jaringan dalam unit-unit yang berdiri sendiri.
Ciri-ciri UDP adalah:
  • Tidak terpercaya
    Ketika pesan dikirimkan, tidak dapat diketahui apakah akan sampai tujuan. Paket dapat hilang di jalan. Tidak ada konsep acknoweledgment, retransimission, dan timeout.
  • Tidak terurutJika dua pesan dikirimkan ke penerima yang sama, urutan sampainya tidak dapat diprediksi.
  • Lightweight
    Tidak ada pemesanan pesan, tidak ada pelacakan koneksi, dll. Layer transport yang kecil yang didesain di atas IP.
  • Datagrams
    Paket yang dikirimkan secara individu dan dijamin akan utuh jika sampai. Paket-paket memiliki batas-batas yang pasti, dan tidak dipisan dan dibagi ke dalam data stream yang mungkin ada
2. • Berbeda dengan TCP, UDP merupakan connectionless dan tidak ada keandalan, windowing, serta fungsi untuk memastikan data diterima dengan benar. Namun, UDP juga menyediakan fungsi yang sama dengan TCP, seperti transfer data dan multiplexing, tetapi ia melakukannya dengan byte tambahan yang lebih sedikit dalam header UDP.
• UDP melakukan multiplexing UDP menggunakan cara yang sama seperti TCP. Satu-satunya perbedaan adalah transport protocol yang digunakan, yaitu UDP. Suatu aplikasi dapat membuka nomor port yang sama pada satu host, tetapi satu menggunakan TCP dan yang satu lagi menggunakan UDP—hal ini tidak biasa, tetapi diperbolehkan. Jika suatu layanan mendukung TCP dan UDP, ia menggunakan nilai yang sama untuk nomor port TCP dan UDP.
• UDP mempunyai keuntungan dibandingkan TCP dengan tidak menggunakan field sequence dan acknowledgement. Keuntungan UDP yang paling jelas dari TCP adalah byte tambahan yang lebih sedikit. Di samping itu, UDP tidak perlu menunggu penerimaan atau menyimpan data dalam memory sampai data tersebut diterima. Ini berarti, aplikasi UDP tidak diperlambat oleh proses penerimaan dan memory dapat dibebaskan lebih cepat. Pada tabel, Anda dapat melihat fungsi yang dilakukan (atau tidak dilakukan) oleh UDP atau TCP.

3.Contoh protokol aplikasi yang menggunakan UDP :
• DNS (Domain Name System) 53
• SNMP, (Simple Network Management Protocol) 161, 162
• TFTP (Trivial File Transfer Protocol) 69
• SunRPC port 111.

DNS menggunakan relasi client – server untuk resolusi nama. Pada saat client mencari satu host, maka ia akan mengirimkan query ke server DNS. Query adalah satu permintaan untuk resolusi nama yang dikirimkan ke server DNS.
  1. Pada komputer Client, sebuah program aplikasi misalnya http, meminta pemetaan IP Address (forward lookup query). Sebuah program aplikasi pada host yang mengakses domain system disebut sebagai resolver, resolver menghubungi DNS server, yang biasa disebut name server.
  2. Name server meng-cek ke local database, jika ditemukan, name server mengembalikan IP Address ke resolver jika tidak ditemukan akan meneruskan query tersebut ke name server  root server.
  3. Terakhir barulah si client bisa secara langsung menghubungi sebuah website / server yang diminta dengan menggunakan IP Address yang diberikan oleh DNS server.

4.jaringan Client Server merupakan model konektivitas pada jaringan yang membedakan fungsi computer sebagai Client dan Server. pada hal ini menempatkan sebuah komputer sebagai Server. Nah Server ini yang bertugas memberikan pelayanan kepada terminal-terminal lainnya tang terhubung dalam system jaringan atau yang kita sebut Clientnya. Server juga dapat bertugas untuk memberikan layanan berbagi pakai berkas (file server), printer (printer server), jalur komunikasi (server komunikasi). Pada model arsitektur ini, Client tidak dapat berfungsi sebagai Server, tetapi Server dapat berfungsi menjadi Client (server non-dedicated). Prinsip kerja pada arsitektur ini sangat sederhana, dimana Server akan menunggu permintaan dari Client, memproses dan memberikan hasil kepada Client, sedangkan Client akan mengirimkan permintaan ke Server, menunggu proses dan melihat visualisasi hasil prosesnya. Sistem Client Server ini tidak hanya diperuntukkan bagi pembangunan jaringan komputer skala luas. Sistem ini menggunakan protokol utama Transmision Control Protocol/Internet Protocol (TCP/IP), sedangkam sistem operasi yang digunakan antara lain Unix, Linux dan Windows NT.
 
 
5.Protokol adalah kesepakatan atau standar yang mengatur koneksi atau komunikasi data antar device berbeda. contoh protokol antara lain IP, UDP, TCP, DHCP, HTTP, FTP, Telnet, SSH, POP3, SMTP, IMAP, etc. Layer transport data, menggunakan protocol seperti UDP, TCP dan/atau SPX (Sequence Packet eXchange, yang satu ini digunakan oleh NetWare, tetapi khusus untuk koneksi berorientasi IPX). Layer transport adalah pusat dari mode-OSI. Layer ini menyediakan transfer yang reliable dan transparan antara kedua titik akhir, layer ini juga menyediakan multiplexing, kendali aliran dan pemeriksaan error serta memperbaikinya.untuk lebih jelas bisa dilihat di no 6
 
 
6.TCP : TCP/IP TCP singkatan dari 'Transmission Control Protocol' dan hampir semua sistem operasi modern kompatibel dengan protocol ini. TCP adalah dasar dari koneksi, Hal ini berarti melakukan suatu koneksi langsung antara dua komputer untuk melakukan transfer data antara kedua host. Suatu paket mengandung header dan data gram, pada bagian header dari paket akan mengandung informasi penting tentang : Source Port Destination Port Sequence number Acknowledgement number Header Length (Standard 20 Bytes) Flags (syn, ack, psh, fin, rst, urg) Window size Checksum IP_v4 or IP_v6 Header Length DSF Total Length Identification Flags (Set Fragment bit or not) Fragment Offset TTL Protocol (this case TCP) Header checksum Source IP Destination Ip UDP : User Datagram Protocol, adalah TCP yang connectionless. Hal ini berarti bahwa suatu paket yang dikirim melalui jaringan dan mencapai komputer lain tanpa membuat suatu koneksi. Sehingga dalam perjalanan ke tujuan paket dapat hilang karena tidak ada koneksi langsung antara kedua host, jadi UDP sifatnya tidak realibel, tetapi UDP adalah lebih cepat dari pada TCP karena tidak membutuhkan koneksi langsung. Perbedaanya : • Berbeda dengan TCP, UDP merupakan connectionless dan tidak ada keandalan, windowing, serta fungsi untuk memastikan data diterima dengan benar. Namun, UDP juga menyediakan fungsi yang sama dengan TCP, seperti transfer data dan multiplexing, tetapi ia melakukannya dengan byte tambahan yang lebih sedikit dalam header UDP. • UDP melakukan multiplexing UDP menggunakan cara yang sama seperti TCP. Satu-satunya perbedaan adalah transport protocol yang digunakan, yaitu UDP. Suatu aplikasi dapat membuka nomor port yang sama pada satu host, tetapi satu menggunakan TCP dan yang satu lagi menggunakan UDP—hal ini tidak biasa, tetapi diperbolehkan. Jika suatu layanan mendukung TCP dan UDP, ia menggunakan nilai yang sama untuk nomor port TCP dan UDP. • UDP mempunyai keuntungan dibandingkan TCP dengan tidak menggunakan field sequence dan acknowledgement. Keuntungan UDP yang paling jelas dari TCP adalah byte tambahan yang lebih sedikit. Di samping itu, UDP tidak perlu menunggu penerimaan atau menyimpan data dalam memory sampai data tersebut diterima. Ini berarti, aplikasi UDP tidak diperlambat oleh proses penerimaan dan memory dapat dibebaskan lebih cepat. Pada tabel, Anda dapat melihat fungsi yang dilakukan (atau tidak dilakukan) oleh UDP atau TCP.
 
 
7.Cotnohnya FTP . dan cara kerjanya : FTP (File Transfer Protocol) adalah sebuah protokol Internet yang berjalan di dalam lapisan aplikasi yang merupakan standar untuk pentransferan berkas (file) komputer antar mesin-mesin dalam sebuah internetwork. Protokol ini masih digunakan hingga saat ini untuk melakukan pengunduhan (download) dan penggugahan (upload) berkas-berkas komputer antara klien FTP dan server FTP.  Sebuah server FTP diakses dengan menggunakan Universal Resource Identifier (URI) dengan menggunakan format ftp://namaserver. Klien FTP dapat menghubungi server FTP dengan membuka URI tersebut.
Untuk prosesnya dapat dilihat dari gambar berikut ini :
 
 
saf
 
 
 
 
Sebelum membuat koneksi, port TCP nomor 21 di sisi server akan “mendengarkan” percobaan koneksi dari sebuah klien FTP dan kemudian akan digunakan sebagai port pengatur (control port) untuk (1) membuat sebuah koneksi antara klien dan server, (2) untuk mengizinkan klien untuk mengirimkan sebuah perintah FTP kepada server dan juga (3) mengembalikan respons server ke perintah tersebut. Sekali koneksi kontrol telah dibuat, maka server akan mulai membuka port TCP nomor 20 untuk membentuk sebuah koneksi baru dengan klien untuk mentransfer data aktual yang sedang dipertukarkan saat melakukan pengunduhan dan penggugahan.
FTP hanya menggunakan metode autentikasi standar, yakni menggunakan username dan password yang dikirim dalam bentuk tidak terenkripsi. Pengguna terdaftar dapat menggunakan username dan password-nya untuk mengakses, men-download, dan meng-upload berkas-berkas yang ia kehendaki. Umumnya, para pengguna terdaftar memiliki akses penuh terhadap beberapa direktori, sehingga mereka dapat membuat berkas, membuat direktori, dan bahkan menghapus berkas. Pengguna yang belum terdaftar dapat juga menggunakan metode anonymous login, yakni dengan menggunakan nama pengguna anonymous dan password yang diisi dengan menggunakan alamat e-mail.
8. socket dua arah merupakan mekanisme komunikasi yang memungkinkan terjadinya  pertukaran data antar program atau proses baik dalam satu mesin maupun antar mesin agar lebih jelas dapat dilihat pada gambar dibawah ini : 
 
 
asd
 
 
 
Di dalam kotak menunjukkan system call/function yang dibutuhkan untuk
koneksi/komunikasi, misal socket(), bind(), listen(), connect(), dll. Secara garis
besar langkah – langkah yang dilakukan pada client dan server adalah sebagai
berikut :
1.   Langkah – langkah dasar di client :
a.   Membuka koneksi client ke server, yang di dalamnya adalah :
9   Membuat socket dengan perintah socket()
9   melakukan pengalamatan ke server.
9   Menghubungi server dengan connect() 
b.   Melakukan komunikasi (mengirim dan menerima data), dengan
menggunakan perintah write()  dan  read() 
c.   Menutup hubungan dengan perintah close() ; 
2.   Langkah – langkah dasar di server :
a.   Membuat socket dengan perintah socket()
b.   Mengikatkan socket kepada sebuah alamat network dengan perintah
bind()
c.   Menyiapkan socket untuk menerima koneksi yang masuk dengan
perintah  listen() 
d.   Menerima koneksi yang masuk ke server dengan perintah accept()
e.   Melakukan komunikasi (mengirim dan menerima data), dengan
menggunakan perintah write()  dan  read()

Tugas Pemograman Jaringan Latihan 8

ObjectInputStream

ObjectServer.java
Aplikasi berikut adalah aplikasi untuk data diamana terdapat server, client dan data. Langkah pertama ketik script ObjectServer.java seperti diatas untuk server sebagai penerima data dari client.
ObjectClient.java
Kemudian ketikan script ObjectClient.java yang mempunyai objek stream untuk pengiriman data staff pegawai computer Server.
Staff.java
Script di atas merupakan script untuk  pencetakan Data Staff yang berisi Nama, Divisi dan Umur. Pencetakan data staff sesuai dengan new Staff yang ada pada script ObjectClient.java

Output Server Awal
Output Client Awal
Output Client Kirim
  Output Server Terima

 
 
 

Tugas Pemograman Jaringan Latihan 7

smtpClient.java





Tugas ke 7 masih berhubungan dengan telnet. selanjut eksekusi file smtpClient.java sehingga menghasilkan output seperti di bawah ini


Tugas Pemograman Jaringan Latihan 6

Telnet Server

Percobaan kali ini saya menggunakan telnet. Telnet adalah program sederhana untuk membuka koneksi ke suatu socket. Telnet membutuhkan akses jaringan internet, jadi pc harus terkoneksi dengan internet untuk mencoba demo kali ini. Jalankan program telnet dan buka koneksi socket ke pc dengan menggikuti perintah di bawah ini.





 Setelah koneksi soket tersambung, ketikan script dibawah yang pertama HELO. Kemudian ketikan alamat email pribadi seperti contoh dibawah. Jika koneksi soket berhasil maka tuliskan script SUBJECT yang berisi pesan percobaan kirim email.

Output

 

Tugas Pemograman Jaringan Latihan 5

Demo D1-5 server
Listing untuk server diatas berfungsi dimana server sebagai pusat dari semua client. saat program server dijalankan maka akan muncul pesan "Aplikasi Server Hidup..." saat server telah hidup. Output
client
listing diatas merupakan listing untuk client, disin client akan mencoba mengirimkan pesan ke server dan pesan tersebut akan dibalas oleh server. output dari program tersebut seperti dibawah ini. Output

Tugas Pemograman Jaringan Latihan 4

Demo D1-4
Program yang kali ini ialah program untuk mengetahui IP Address dengan menginput hostname. Untuk menjalankan program ini maka kita harus mengetik beberapa perintah berikut dalam command prompt. untuk mengkompile javac [namafile].java untuk merunning java [namafile]

Tugas Pemograman Jaringan Latihan 3

Demo D1-3
Pada aplikasi akan menampilkan IP lokal dengan IP komputer yang lain. Untuk menjalankan programnya dengan menggunakan command prompt. Untuk mengkompile Ketik javac [namafile].java Kemudian untuk merunning ketik java [namafile] Sehingga pada output akan mencetak IP lokal yaitu 10.10.10.2 dengan host name home-2de4ab80e1 . Dan akan mencetak IP komputer yang lain yaitu 10.10.10.1 dengan host name fap-52e8973149d . Tampilan Output seperti dibawah ini : Output

Tugas Pemograman Jaringan Latihan 2

Demo D1-2
Pada program ini akan ditampilkan host name pada komputer. untuk mengkompile Ketik javac [namafile].java untuk running Kemudian ketik java [namafile] Dan pada output nya akan mencetak getName adalah home-2de4ab80e1. Tampilan Output seperti dibawah ini: Output

02 May 2012

Tugas Pemrograman Jaringan Latihan 1

Demo D1-1
program ini untuk melihat ip yang sedang digunakan oleh komputer.untuk mengkompile programnya dengan cara : ketik javac [namafile].java dan untuk runing program dengan cara: ketik java [namafile] Dan pada output nya akan mencetak getIP yaitu 10.10.10.2 tampilan output seperti di bawah ini. Output