Membuat Sebuah Aplikasi Server-Client Sederhana dengan Java

By deptz, Sun. March 23, 2008
Categories: java, tutorial
Tags: , , , ,
6,118 views

Tugas Mata Kuliah Pemrograman Jaringan dan Piranti Bergerak sebelum mid adalah membuat sebuah aplikasi Server-client sederhana menggunakan java, dengan protokol UDP dan TCP. Yang akan menampilkan NAMA dan NIM dari pembuatnya ketika klien memintanya. Pada dasarnya, aplikasinya adalah server menunggu masukan dari klien kemudian membandingkannya dengan string NAMA atau NIM kemudian memberikan output yang sesuai, kemudian client menampilkan output yang dikirim dari server.

monggo dilanjut…

Salah satu cara untuk menerima dan mengirim data dari dan ke server atau client adalah dengan menggunakan fungsi PrintWriter dan Scanner. PrintWriter berfungsi untuk mengirimkan output stream, dan Scanner untuk menerima input stream dari dan ke server atau client.

Perbedaan antara TCP dan UDP dan aplikasinya menggunakan Java
1. Perbedaan Protokol TCP dan UDP
a. Protokol TCP
TCP( Transmission Control Protocol ) adalah salah satu jenis protokol transfer data. TCP mempunyai karakteristik sebagai protokol yang berorientasi koneksi (Connection oriented). Sebelum terjadi proses tranfer data, maka yang pertama dilakukan adalah kedua belah pihak melakukan caal request dan call accept. Protokol TCP menggunakan jalur data full duplex yang berarti antara kedua host terdapat dua buah jalur, jalur masuk dan jalur keluar sehingga data dapat dikirimkan secara simultan.
Sebuah circuit virtual disiapkan sebelum packet-packet dikirimkan. Pada masing-masing packet terdapat virual circuit identifier yang berisi alamat tujuan packet tersebut. Data yang dikirimkan dalam sebuah protokol TCP maka akan diurutkan dengan sebuah nomor urut dan akan mengharap packet positive acknowledgment. Apabila tidak ada packet positive acknowledgment, maka packet akan dikirim ulang. Oleh karena itu, protokol TCP reliable. Akan tetapi karena harus mengecek setiap packet yang dikirmkan, maka protokol TCP relatif lambat. Pada TCP, hanya bisa melakukan koneksi one-to-one dan tidak bisa melakukan koneksi one-to-many. Karena rute-rute packet sudah ditentukan sebelumnya, maka akan lebih sulit bagi jaringan untuk beradaptasi dengan kemacetan. Apabila sebuah simpul/node mengalami kerusakan/kegagalan, maka seluruh virtual circuit yang melewati simpul tersebut akan hilang.

b.Protokol UDP
UDP ( User Datagram Protocol) adalah jenis transfer data yang lain dari TCP. UDP mempunyai karateristik connectionless (tidak berbasis koneksi). Dengan kata lain, data yang dikirimkan dalam bentuk packet tidak harus melakukan call setup seperti pada TCP. Selain itu, data dalam protokol UDP akan dikirimkan sebagai datagram tanpa adanya nomor identifier. Sehingga sangat besar sekali kemungkinan data sampai tidak berurutan dan sangat mungkin hilang/rusak dalam perjalananan dari host asal ke host tujuan. Tergantung pada host penerima/tujuan, apakah akan meminta kembali pakcet yang rusak atau hilang.
Kelebihan UDP adalah pada saat digunakan pada lightweight protokol, misalnya saja DNS(Domain Name Service). Selain itu protokol UDP lebih fleksibel karena misalnya saja terjadi kemacetan pada salah satu bagian jaringan, maka datagram dapat dialihkan menghindari bagian yang mengalami kemacetan tersebut. Kemudian apabila sebuah simpul(node) mengalami kerusakan/kegagalan, maka pacekt packet berikutnya dapat menemukan jalan/rute pengganti yang melewati simpul tersebut.

2. Implementasi TCP dan UDP dalam Java
Karena UDP merupakan protokol yang connectionless ( tidak berbasis koneksi ) maka sever tidak perlu membuat objek Socket untuk setiap klien. Dengan DatagramPacket maka alamat tujuan sudah terdapat dalam packet, dan socket hanya diperlukan untuk mengetahui local port mana yang listen atau mengirimkan. Selain itu, pada protokol UDP dapat melakukan koneksi lebih dari satu remote host. Socket tidak didedikasikan sebagai sebuah single conection seperti TCP. Dan dengan sebuah DatagramSocket, maka dapat melakukan koneksi untuk menerima dan mengirimkan packet dari dan ke berbagai host.
Dari penjelasan diatas, maka dalam implementasi UDP dalam java tidak menggunakan ServerSocket dan Socket, akan tetapi menggunakan DatagramPacket dan DatagramSocket.

Dan berikut source code dari aplikasi client server TCP dan UDP.

source_code.rar

Apabila postingan ini berguna untuk anda, mohon isi comment. terimakasih.

Mohon koreksi bila ada kesalahan.

31 Responses to “Membuat Sebuah Aplikasi Server-Client Sederhana dengan Java”

  1. ABS Says:

    It’s worked….thank u…deptz……..,terima kasih…..,

  2. ex mugy Says:

    emh..
    harus mau ngajarin mpe bisa..
    gamau tau

    😛

  3. Wakidi Says:

    <?
    for($i=1;$i

  4. jo Says:

    thx a lot

  5. d3ptzz Says:

    link updated! Maaf kemarin baru saja pindah hosting. Belum ke backup file2nya.

  6. harry_kece Says:

    gw blm coba menarik juga ajarin gw donk lebih detail lagi bwt tugas nih hehehehehe
    oia kalo bwt client server trus gw bwt aplikasi penjualan pake java sama mysql ribet gak

    thanks

  7. d3ptzz Says:

    @harry_kece: saya biasanya menggunakan PHP untuk membuat aplikasi berbasis database. Tapi saya pikir tidak ada masalah kalau mau pakai Java. Asal sudah ada alur logikanya. Hehehe.. Sudah ada konektornya kan untuk ke database sqlnya?

  8. Dad0e Says:

    Hem ….
    bolh dunk diajrin lebih jaut ttg pemrogram jaringan nih …????

  9. d3ptzz Says:

    @dadoe: mari belajar bersama bro..

  10. zie Says:

    aku juga bro

  11. Patthepunk Says:

    mw tanya kan gw buat aplikasi client server voip…nah tu makalah dach gw buat connect database pake sql 2000,gmana ya bsa gak netbean???perlu gak seh Databasenya??voip yang gw buat offline kya yang ada di windows XP…gmana tuch??

  12. d3ptzz Says:

    @Patthepunk: Maaf, saya belum pernah membuat aplikasi VoIP, mungkin database diperlukan untuk keperluan mencatat log saja..

  13. Eko Praseto Hadi Says:

    malkasih ya???
    q kan coba, saya OP disalah satu warnet dan saya ingin membuatb server data client.
    apa anda tau?
    bagaimana caranya ya/

  14. d3ptzz Says:

    @Eko Praseto Hadi: maksud dari server data itu bagaimana ya? bisa diperjelas bro?

  15. aviv Says:

    maksih yaa… atas source codex
    bagus tuk nambah pengetahuan pemograman

  16. Krisma Says:

    link source code na ga isa??? ada yang tau

  17. d3ptzz Says:

    @Krisma: itu kemarin server host filenya error. tapi sekarang sudah bisa lagi. baru saja saya cek..

  18. IdeGue! Blog Says:

    keren sekali…
    salam kenal…
    :))

  19. file not found! Says:

    link file kog udah kadaluwarsa neehh…..???

  20. yan Says:

    gak sa.

  21. riska Says:

    filenya mana ini om?

  22. van Says:

    source_code.rar mna???

  23. m!t@ Says:

    wah linknya ga bisa???

  24. budi Says:

    trims banyak….

  25. budi Says:

    tapi link nya dah tidak aktif

  26. siska Says:

    link nya memang gag bisa lagi ya? padahal pengen tau source code nya 🙁

  27. siska Says:

    koq link nya gag bisa?

  28. rendy Says:

    Linknya dah mati gan, upload lagi dunk gan

  29. Yandi Says:

    Link ngak bisa mas brow.. mohon upload lagi..
    saya pengen belajar tentang UDP

  30. zic Says:

    yang udh donlud tlg dunk di upload trz di share link-nya.
    terimakasih.

  31. d3ptzz Says:

    UPDATE: LINK Sudah diperbarui.

Comments