Selasa, 08 Mei 2012

Tugas Pemrograman Jaringan


 Pertanyaan...


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 ?






Jawaban :


1.UDP merupakan layanan transfer yang tidak dapat diandalkan dengan mengirimkan paket datagrams per kelompok antar server dan client tanpa pemeriksaan.



Karakteristik UDP:


  • 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 terurut Jika dua pesan dikirimkan ke penerima yang sama, urutan sampainya tidak dapat diprediksi. htweight 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.Perbedaan  TCP Dan UDP

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.Salah satu contoh protokol aplikasi yang menggunakan UDP ialah DNS (Domain Name System).
Cara Kerja DNS (Domain Name System),Secara sederhana cara kerja DNS bisa dilihat pada gambar berikut ini:


4.Client-Server adalah arsitektur jaringan yang memisahkan client(biasanya aplikasi yang menggunakan GUI ) dengan server. Masing-masing client dapat meminta data atau informasi dari server.

Karakteristik Server
1.       Pasif
2.       Menunggu request
3.       Menerima request, memproses mereka dan mengirimkan balasan berupa service

Karakteristik Client
1.       Aktif
2.       Mengirim request
3.       Menunggu dan menerima balasan dari server

Sistem client server didefinisikan sebagai sistem terdistribusi, tetapi ada beberapa perbedaan karakteristik yaitu :
1. Service(layanan)
·         Hubungan antara proses yang berjalan pada mesin yang berbeda
·         Pemisahan fungsi berdasarkan ide layanannya.
·         Server sebagai provider, client sebagai konsumen

2.Sharing resources (sumber daya)
·         Server bisa melayani beberapa client pada waktu yang sama, dan meregulasi akses bersama untuk share sumber daya dalam menjamin konsistensinya.

3.Asymmetrical protocol (protokol yang tidak simetris )
·         Many-to-one relationship antara client dan server.Client selalu menginisiasikan dialog melalui layanan permintaan, dan server menunggu secara pasif request dari client.
4.Transparansi lokasi
·         Proses yang dilakukan server boleh terletak pada mesin yang sama atau pada mesin yang berbeda melalui jaringan.Lokasi server harus mudah diakses dari client.

5.Mix-and-Match
·         Perbedaan server client platforms

6.Pesan berbasiskan komunikasi
·         Interaksi server dan client melalui pengiriman pesan yang menyertakan permintaan dan jawaban.

7.Pemisahan interface dan implementasi
·         Server bisa diupgrade tanpa mempengaruhi client selama interface pesan yang diterbitkan tidak berubah.

5.Dalam  suatu  jaringan  komputer,  terjadi  sebuah  proses  komunikasi  antar entiti  atau  perangkat-perangkat  yang  ada  pada  jaringan  tersebut.  Untuk berkomunikasi,  mengirim  dan  menerima  antara  dua  entiti  dibutuhkan  pengertian diantara  kedua  belah  pihak.  Pengertian  inilah  yang  dikatakan  sebagai  protokol. Jadi  protokol  adalah  himpunan  aturan-aturan  yang  mengatur  komunikasi  data. Protokol  mendefinisikan  apa  yang  dikomunikasikan,  bagaimana  dan  kapan terjadinya komunikasi.

Protokol transport terdiri dari TCP dan UDP :

Protokol TCP ( Transmission Control Protocol ) adalah salah satu jenis protokol transfer data,sedangkan UDP ( User Datagram Protocol) adalah jenis transfer data yang lain dari TCP. UDP mempunyai karateristik connectionless (tidak berbasis koneksi)

6. UDP
UDP menyediakan layanan transfer yang tidak dapat diandalkan dengan mengirimkan paket datagrams per kelompok antar server dan client tanpa pemeriksaan.
Keuntungan UDP :
- Simple, tidak menyediakan utility untuk memastikan koneksi.
- Fleksibel, dapat mengirim pesan ke beberapa penerima pesan meskipun dengan adanya operasi lain yang sedang berjalan. 
- Efisien, paket yang dikirim untuk koneksi data hanya sedikit.
- Cepat, data dapat langsung dikirim tanpa pemeriksaan koneksi.
- Kemampuan Broadcast, dapat mengirim ke beberapa penerima sekaligus dalam sekali kirim.
Kelemahan UDP :
- Banyak data yang hilang.
- Banyak kesalahan pengiriman.

TCP
TCP menyediakan layanan transfer yang dapat diandalkan dengan mengirimkan paket datagrams per kelompok antar server dan client dengan pemeriksaan.
Keuntungan TCP:
- Mampu menangani paket yang hilang
- Mampu menangani kedatangan paket ganda.
- Dapat mengatasi penerimaan paket secara beriringan.
- Menyediakan alur penerimaan paket.
- Data yang diterima dapat diepercaya dan diandalkan.
Kelemahan TCP :
- Waktu lebih lama.
- Paket yang dikirim besar.

7.Hampir keseluruhan aplikasi jaringan menggunakan TCP, standar aplikasi yangmenggunakan TCP antara lain :
  • Telnet
  • File Transfer Protocol (FTP)
  • Simple Mail Transfer Protocol (SMTP)
  • Hyper-Text Transfer Protocol (HTTP)

Cara kerja HTTP :

Bila kita mengklik link hypertext atau kita mengetikkan suatu alamat atau URL pada internet browser, maka Anda sedang mentransfer URL ke browser, dan Dari URL ini browser Anda tahu server mana yang akan dihubungi dan file apa yang diminta kemudian web browser akan mengirimkan perintah HTTP ke web server. Web server selanjutnya akan menerima perintah ini dan melakukan aktivitas sesuai dengan perintah yang diminta oleh web browser. Hasil aktivitas tadi akan dikirimkan kembali ke web browser untuk ditampilkan kepada kita.

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 : 
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 :
b. Membuat socket dengan perintah socket()
c. melakukan pengalamatan ke server.
d. Menghubungi server dengan connect()
e. Melakukan komunikasi (mengirim dan menerima data), dengan menggunakan perintah write() dan read()
f. 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()









`


Selasa, 01 Mei 2012

Pemrograman Jaringan


Pemrograman Jaringan

Pada kali ini kita akan belajar mengenai beberapa cara untuk mengetahui IP address dan lainnya pada Command Prompt ( CMD ) dengan menggunakan bahasa java.Berikut terdapat beberapa tutorial contoh yang dapat dipraktekan....
==Demo D1-1==

Pada Demo D1-1, ialah tutorial  untuk mendapatkan IP address komputer (PC) yang anda gunakan .Langkah pertama ialah ketikkan source code dibawah ini pada notepad, edit plus, atau source editor lainnya, dengan nama file getIP.java :

Langkah kedua ialah buka command prompt untuk  mengkompilasi source code diatas

ketik javac [namafile].java (untuk mengcompile program)
·         javac getIP.java
kemudian ketik java [namafile] (untuk me-running program)
·         java getIP


Maka akan menghasilkan  IP sebuah komputer (PC) yang anda gunakan .dengan alamat IP 127.0.0.1 merupakan alamat IP ketika komputer (PC).

==Demo D1-2==

Pada Demo D1-2, ialah tutorial  untuk mengetahui nama komputer (PC) yang anda gunakan .Langkah pertama ialah masih sama dengan sebelumnya dengan ketikkan source code dibawah ini pada notepad, edit plus, atau source editor lainnya, dengan nama file getName.java


Langkah kedua ialah buka command prompt untuk  mengkompilasi source code diatas
ketik javac [namafile].java (untuk mengcompile program)
·         javac getName.java
kemudian ketik java [namafile] (untuk me-running program)
·         java getName

Maka akan menghasilkan  nama sebuah komputer (PC) yang anda gunakan .dengan nama sony_vaio adalah nama komputer (PC) anda.



==Demo D1-3==
Pada Demo D1-3, ialah tutorial  untuk mengetahui nama komputer (PC) yang anda gunakan dengan memasukan (input) IP address.Langkah pertama ialah masih sama dengan sebelumnya dengan ketikkan source code dibawah ini pada notepad, edit plus, atau source editor lainnya, dengan nama file IPtoName.java



Langkah kedua ialah buka command prompt untuk  mengkompilasi source code diatas
ketik javac [namafile].java (untuk mengcompile program)
·         javac IPtoName.java
kemudian ketik java [namafile] (untuk me-running program)
·         java IptoName

Maka akan menghasil nama dari komputer (PC) yang anda gunakan, dimana sebelum mendapatkan nama PC, user diminta untuk memasukan alamat IP PC tersebut.ketika anda memasukan/meng-input alamat IP PC anda dengan benar, maka akan muncul nama PC yang anda gunakan .


==Demo D1-4==
Pada Demo D1-4, ialah tutorial  untuk mengetahui IP address dengan memasukan (input) nama komputer (PC) yang anda gunakan.Langkah pertama ialah masih sama dengan sebelumnya dengan ketikkan source code dibawah ini pada notepad, edit plus, atau source editor lainnya, dengan nama file NsLookup.java


Langkah kedua ialah buka command prompt untuk  mengkompilasi source code diatas
ketik javac [namafile].java (untuk mengcompile program)
·         javac NSLookup.java
kemudian ketik java [namafile] (untuk me-running program)
·         java NSLookup

Maka akan menghasilkan alamat IP dari nama komputer (PC) yang sebelumnya anda input dengan benar yaitu alamat IPnya "127.0.0.1"

==Demo D1-5==
Pada Demo D1-5, ialah tutorial  untuk membuat aplikasi client server TCP sederhana. Server akan membuat soket server dan menerima permintaan koneksi dari satu client saja. Setelah itu server akan menunggu data yang dikirim oleh client. Jika pesan yang dikirim oleh client adalah “salam” maka server akan membalas mengirim pesan “salam juga” . ketikkan source code dibawah ini pada notepad, edit plus, atau source editor lainnya, dengan nama file simpleServer.java



nama file simpleClient.java : 

  
Langkah kedua ialah buka command prompt untuk  mengkompilasi source code diatas
ketik javac [namafile].java (untuk mengkompilasi program)
·          javac simpleServer.java
·         javac simpleClient.java
kemudian ketik java [namafile] (untuk me-running program tersebut)
·         java simpleServer
·         java simpleClient

Maka akan menghasilkan Jika pesan yang dikirim oleh client adalah “salam” maka server akan membalas mengirim pesan “salam juga” .

     

==Demo D1-7==
Pada Demo D1-7, ialah tutorial  untuk Tutorial ini akan membuat kelas Staff yang berisi informasi data pegawai. Data staff akan dikirimkan dari suatu aplikasi client ke aplikasi server lewat soket. ketikkan source code dibawah ini pada notepad, edit plus, atau source editor lainnya, dengan nama file Staff.java :

nama file ObjectServer.java : 




nama file ObjectClient.java

Langkah kedua ialah buka command prompt untuk  mengkompilasi source code diatas
ketik javac [namafile].java (untuk mengkompilasi program)
>> javac ObjectServer.java
>> javac ObjectClient.java
kemudian ketik java [namafile] (untuk me-running program tersebut)
>> java ObjectServer
>> java ObjectClient

Maka akan menampilkan data pegawai yang akan diisi nantinya :