Selasa, 22 Juni 2010

Ide Soal dan Jawaban UAS Pemrograman Jaringan dan Web

Maaf teman-teman, baru bisa membuat jawaban atas soal yang saya ajukan kemaren... Hehehe... Ini bukan berarti promosi blog lho (haha), yang mau share atau nambah-nambah komen di blog ini sangat diharapkan.
Silakan disimak, dipahami, dan dimengerti sendiri. Jika masih kurang jelas, silakan baca atau unduh file/sumber yang saya sertakan di bawah, di sana ada beberapa ilustrasi yang mungkin bisa dimanfaatkan. Semoga soal yang keluar ga jauh-jauh dari ini deh... GOOD LUCK!

SOAL : 
1. Sebutkan karakteristik dari protokol TCP dan UDP!
2. Jelaskan konsep threads dan streams!
3. Apa yang membedakan antara URI, URL, dan URN ! Jelaskan!
4. Bagaimana mekanisme kerja antara socket dan port dalam pembentukan koneksi suatu jaringan?
5. Sebutkan contoh penggunaan protokol handler dalam pemrograman jaringan?
 
Jawaban : 

Nomor 1
Karakteristik TCP :
- Connection-oriented dan reliable (data dijamin secara utuh sampai tujuan)
- Dipakai untuk mentransmisikan data dalam jumlah besar
- Pengiriman lebih lambat daripada UDP, karena koneksi tidak langsung
- Untuk menjamin diperlukan komunikasi awal dengan penerima sebelum transfer data dilakukan
- Contoh aplikasi : web browser, email, file transfer

Karakteristik UDP :
- Connectionless (bekerja tidak menjamin data sampai ditujuan secara utuh)
- Biasa digunakan untuk mentransmisikan data dalam jumlah kecil pada satu waktu
- Pengiriman lebih cepat daripada TCP, karena koneksi secara langsung
- Reliabilitasnya/penjaminan data sampai pada penerima tergantung dari aplikasi
- Contoh aplikasi : domain name system (DNS), video streaming, voice over IP (VoIP)


Nomor 2
Konsep Threads :
Dalam sebuah pemrograman berorientasi object seperti halnya Program Java, kita mengenal sebuah pengontrol aliran program yang akan dieksekusi oleh komputer (Threads). Dengan adanya threads dalam pemrograman java kita dapat membuat program yang saling berurutan (sekuensial).
Thread merupakan kemampuan yang disediakan oleh Java untuk membuat aplikasi yang tangguh, karena thread dalam program memiliki fungsi dan tugas tersendiri. Dengan adanya thread, dapat membuat program yang lebih efisien dalam hal kecepatan maupun penggunaan sumber daya, karena kita dapat membagi proses dalam aplikasi kita pada waktu yang sama. Thread umumnya digunakan untuk pemrograman multitasking, networking, yang melibatkan pengaksesan ke sumber daya secara konkuren.
Secara konkrit, konsep threads dapat dilihat ketika kita mengetik sebuah dokumen di komputer dengan menggunakan text editor, dalam waktu yang bersamaan kita juga dapat mendengarkan musik, dan surfing lewat internet pada PC. Sistem operasi yang telah terinstal dalam komputer kita memperbolehkan untuk menjalankan multitaskting. Seperti itu juga sebuah program, ia juga dapat mengeksekusi beberapa proses secara bersama-sama (ibaratkan beberapa aplikasi berbeda yang bekerja pada sebuah PC). Contoh aplikasi adalah HotJava browser yang memperbolehkan untuk browsing terhadap suatu page, bersamaan dengan mendownload object yang lain, misalnya gambar, memainkan animasi, dan juga file audio pada saat yang bersamaan.

Konsep Streams :
Stream adalah representasi abstrak dari input dan output device, dimana aliran bytes akan ditransfer seperti file dalam harddisk, file pada sistem remote atau printer. Kita dapat membaca data dari input stream, yang dapat berupa file, keyboard atau komputer remote. Sedangkan untuk operasi penulisan berarti menulis data pada output stream. Package Java I/O mendukung dua tipe stream, yaitu binari dan karakter stream. Binari merupakan data berupa bit atau data binari, sedangkan karakter adalah tipe khusus untuk pembacaan dan penulisan teks/karakter.
Sedangkan ketika kita melakukan penulisan dan pembacaan data sering kita sebut dengan proses input dan output, dimana penulisan data berarti mengalirkan data ke output dan menerima atau mendapatkan data dari input. Kita mengenal, dua macam stream yaitu Stream Input dan Stream output.

Nomor 3
URI (Uniform Resource Identifier)
- Uniform Resource Identifier (URI) adalah kumpulan karakter dalam sintaks tertentu yang mengidentifikasi
sebuah resource. Resource bisa merupakan file di server tapi juga bisa merupakan email address, berita, buku, host internet, dan lain-lain.
- Sintaks : scheme:scheme-specific-part
scheme bisa berupa : data, file, http, ftp, gopher, mailto, news, telnet.
scheme-specific-part bisa berupa : //authority/path?query
Contoh : http://www.ugm.ac.id/index.php?a=1&b=2

URN (Uniform Resource Name)
- Tujuan URN adalah menghandle resource yang dimirror pada banyak tempat yang berbeda atau telah dipindah dari satu tempat ke tempat lain. URN mengidentifikasi resource itu sendiri, bukan tempat resourcenya. Jika terdapat sebuah URN, sebuah program FTP harus mengambil filenya dari mirror terdekat.
- Sebuah URN memiliki format sebagai berikut urn:namespace:resource_name.
- Sebuah namespace adalah nama dari koleksi dari resource. Sebuah resource_name adalah nama dari resource dari sebuah koleksi.
- Contohnya, URN dari urn:ISBN:1565924851 mengindentifikasikan sebuah dalam ISBN dengan identifikasi 1565924851. Dan mengacu pada sebuah buku misalnya bernama : Java Network Programming.
Masing-masing sintaks tergantung pada resource_name.ISBN namespace terdiri dari 10 atau 13 karakter, semuanya adalah digit— dengan sebuah aturan bahawa karakter terakhir berupa huruf : X (baik huruf besar / kecil).

URL (Uniform Resource Locator)
- URL (Uniform Resource Locator) : penunjuk ke suatu resource di Internet pada lokasi tertentu, misal: http://www.oreilly.com/catalog/javanp3/
- URL ada dua macam :
a. Absolute URL : contoh (img src=”http://www.ugm.ac.id/ugm.jpg”) -> tanda () diganti dengan <>
b. Relative URL : contoh (img src=”images/ugm.gif”) -> tanda () diganti dengan <>

Nomor 4
Mekanisme Port
Port adalah alamat yang membedakan koneksi TCP yang berbeda-beda pada mesin yang sama (lihat Pengalamatan TCP/IP). Port TCP adalah nomor yang mengindentifikasi koneksi dalam mesin spesifik. Semua aplikasi upper-layer yang menggunakan TCP atau UDP memiliki sebuah nomor port yang mengidentifikasikan aplikasi. Secara teori, nomor port dapat ditentukan pada sebuah mesin. nomor port dapat diubah, meskipun hal ini dapat mengakibatkan kerumitan. kebanyakan sistem mengatur sebuah file yang berisi informasi nomor port dan pasangan layanannya.
Umumnya nomor port diatas 255 disediakan untuk kebutuhan pribadi (private) pada mesin lokal, dan nomor port dibawah 255 digunakan untuk proses yang sering digunakan. Daftar nomor port yang paling sering digunakan yang dipublikasikan oleh Internet Assigned Numbers Authority.

Mekanisme Socket
Setiap sirkuit komunikasi yang masuk dan keluar lapisan TCP dikenali secara unik dengan dua kombinasi angka, yang kemudian disebut sebagai socket. Socket terdiri atas alamat IP sebuah mesin dan nomor port yang digunakan software TCP. Baik mesin pengirim dan penerima memiliki socket. Karena IP address sifatnya unik dalam internetwork, dan nomor port bersifat unik untuk setiap mesin, maka berarti nomor socket juga bersifat unik dalam internetwork. Ini memungkinkan sebuah proses berkomunikasi dengan proses lain dalam jaringan.
Dalam prosesi pengiriman, TCP pengirim meminta koneksi kepada TCP penerima dengan menggunakan nomor socket yang unik. Proses ini dapat dilihat pada gambar berikut. Misalnya jika TCP pengirim menginginkan sebuah koneksi session telnet dari nomor port 350, maka nomor socket akan terdiri atas alamat IP mesin source dengan nomor port (350), dalam message yang dikirim terdapat informasi nomor port tujuan 23 (nomor port aplikasi Telnet). Mesin penerima TCP memiliki nomor source port 23 (Telnet) dan port destination 350 (nomor port mesin pengirim).

Nomor 5
URL menggunakan sebuah protocol handler untuk mengadakan koneksi dengan server dan melakukan apapun yang protokol butuhkan untuk mendapatkan data. Sebagai contoh handler protokol HTTP mengetahui bagaimana cara berkomunikasi dengan HTTP server dan mendapatkan dokumen, FTP handler mengetahui bagaimana cara berkomunikasi dengan HTTP server dan mendapatkan file dsb. Setelah protocol handler memperoleh data, selanjutnya data tersebut akan diberikan pada content handler untuk diterjemahkan.
Cara kerja protocol handler secara sederhana yaitu, pertama URL mencari URLStreamHandler yang sesuai dengan kompoen protokol URL. URLStreamHandler kemudian menyelesaikan penguraian URL dan meneruskannya ke URLConnection ketika siap berkomunikasi dengan server. URLConnection akan membuat koneksi dengan server dan mulai menjalankan protokol komunikasi.


Sumber (thanks for all) :
- http://te.ugm.ac.id/~bimo/Kuliah/TIF314/slides/week01/PJW01_C/01-Networks%20&%20Protocols.ppt
- http://affandys.blogspot.com/2007/12/threads-stream-io-pada-java-programing.html
- http://lecturer.ukdw.ac.id/anton/download/PEMROGRAMAN%20JARINGAN-Modul2.pdf
- http://teknik-informatika.com/port-dan-socket/
- http://te.ugm.ac.id/~bimo/Kuliah/TIF314/slides/week04/PJW04_C/05-Protocol%20Handlers.pptx

3 komentar:

  1. mengenai thread, sebenarnya tiap saat kita menemuinya, bukan cuma dengan java itu, tapi ketika membuka page inipun thread itu ada...

    BalasHapus
  2. woke gan,,mantep tak doain soalnya dari sini semua,,haha

    BalasHapus