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 :

Rabu, 28 Maret 2012

Mengenal Kinerja Komputasi dengan Parallel Processing


Kali ini saya akan mencoba membahas tentang Kinerja Komputasi dengan Pararel Processing,sebelumnya ada yang tau tentang pemrosesan pararel???atau Komputasi Paralelgimana??? Nah,saya jelasin deh walaupun saja juga dapet ngumpulin jadii satu dari internet juga,hehe..Semoga dapat membantu yang sedang mengerjakan tugas mengenai Kinerja Komputasi dengan Parallel Processing...Cekidoot...

Pemrosesan Paralel yaitu pengolahan informasi yang menekankan pada manipulasi data-data elemen secara simultan, untuk mempercepat komputasi dari sistem komputer dan menambah jumlah keluaran yang dapat dihasilkan dalam jangka waktu tertentu. Komputer Paralel yaitu komputer yang memiliki kemampuan untuk melakukan pengolahan paralel.Untuk melakukan perhitungan komputasi dengan menggunakan 2 atau lebih CPU/Processor dalam suatu komputer yang sama atau komputer yang berbeda dimana dalam hal ini setiap instruksi dibagi kedalam beberapa instruksi kemudian dikirim ke processor yang terlibat komputasi dan dilakukan secara bersamaan disebut dengan Parallel komputasi. Software yang betugas untuk pembagian proses komputasi digunakan Message Parsing Interface (MPI).


Ada dua teknik yang berbeda untuk mengakses data di unit memori, yaitu shared memory address dan message passing. Berdasarkan cara mengorganisasikan memori ini komputer paralel dibedakan menjadi shared memory parallel machine dan distributed memory parallel machine.Prosesor dan memori ini didalam mesin paralel dapat dihubungkan (interkoneksi) secara statis maupun dinamis. Interkoneksi statis umumnya digunakan oleh distributed memory system (sistem memori terdistribusi). Interkoneksi dinamis umumnya menggunakan switch untuk menghubungkan antar prosesor dan memori.

Komunikasi data pada sistem paralel memori terdistribusi, memerlukan alat bantu komunikasi. Alat bantu yang sering digunakan oleh sistem seperti PC Jaringan pada saat ini adalah standar MPI (Message Passing Interface) atau standar PVM (Parallel Virtual Machine) yang keduanya bekerja diatas TCP/IP communication layer. Kedua standar ini memerlukan fungsi remote access agar dapat menjalankan program pada masing-masing unit prosesor.
Salah satu protocol yang dipergunakan pada komputasi parallel adalah Network File System (NFS), NFS adalah protokol yang dapat membagi sumber daya melalui jaringan. NFS dibuat untuk dapat independent dari jenis mesin, jenis sistem operasi, dan jenis protokol transport yang digunakan. Hal ini dilakukan dengan menggunakan RPC.Kegunaan dari NFS pada komputasi parallel adalah untuk melakukan sharing data sehingga setiap node slave dapat mengakses program yang sama pada node master. Software yang diperlukan untuk Parallel komputasi adalah PGI CDK, dimana aplikasi ini telah dilengkapi dengan Cluster Development Kit dimana software ini telah memiliki feature yang lengkap bila ingin melakukan komputasi dengan parallel prosessing karena software ini telah mensupport MPI untuk melakukan perhitungan komputasi.


Nah,sekarang kita bahas tentang komputasi paralel.Komputasi paralel adalah salah satu teknik melakukan komputasi secara bersamaan dengan memanfaatkan beberapa komputer secara bersamaan. Biasanyadiperlukan saat kapasitas yang iperlukan sangat besar, baik karena harus mengolah data dalam jumlah besar ataupun karena tuntutan proses komputasi yang banyak. Untuk melakukan aneka jenis komputasi paralel ini diperlukan infrastruktur mesin paralel yang terdiri dari banyak komputer yang dihubungkan dengan jaringan dan mampu bekerja secara paralel untuk menyelesaikan satu masalah. Untuk itu diperlukan aneka perangkat lunak pendukung yang biasa disebut sebagai middleware yang berperan untuk mengatur distribusi pekerjaan antar node dalam satu mesin paralel. Selanjutnya pemakai harus membuat pemrograman paralel untuk merealisasikan komputasi Pemrograman paralel adalah teknik pemrograman komputer yang memungkinkan eksekusi perintah/operasi secara bersamaan baik dalam komputer dengan satu (prosesor tunggal) ataupun banyak (prosesor ganda dengan mesin paralel) CPU. Tujuan utama dari pemrograman paralel adalah untuk meningkatkan performa komputasi. Semakin banyak hal yang bisa dilakukan secara bersamaan (dalam waktu yang sama), semakin banyak pekerjaan yang bisa diselesaikan. 
Parallel processing berbeda dengan multitasking, yaitu satu CPU mengeksekusi beberapa program sekaligus. Parallel processing disebut juga parallel computing.

 
Contoh diatas struktur pengiriman permintaan dan jawaban dari parallel processing.Saya kira cukup penjelasannya tentangKinerja Komputasi dengan Pararel Processing,semoga dapat membantu anda dalam hal komputasi dan pararel processing,,Terima kasih sudah meluangkan waktunya untuk menengok sedikit blog ini...(^^,)


Referensi :
-Google Search Engineer
-http://muannastasyiithoh.wordpress.com/2011/03/15/kinerja-komputasi-dengan-paralel-processing/
-http://sulistiyo.web.id/index.php?option=com_content&view=article&id=13:kinerja-komputasi-dengan-parallel-processing&catid=28:current-users&Itemid=44