Anda di halaman 1dari 10

TUGAS PEMOGRAMAN BERBASIS JARINGAN

Komunikasi Internet dengan JAVA

Oleh:

AILA MOLEKNIAN AYU 09 / 97847 / 3F3 Pend. Teknik Informatika

Dosen Pembimbing: Muhammad Adri, S.Pd, M.T.

Fakultas Teknik Universitas Negeri Padang 2012

Bahasa Pemrograman Java

Java adalah bahasa pemrograman yang dapat dijalankan di berbagai komputer termasuk telepon genggam. Dikembangkan oleh Sun Microsystems dan diterbitkan tahun 1995. Java tidak boleh disalah pahami sebagai JavaScript. JavaScript adalah bahasa scripting yang digunakan oleh web browser. Ada beberapa alasan mengapa Java dipilih untuk aplikasi komunikasi bergerak : 1. Java merupakan bahasa pemrograman yang aman. Hal ini disebabkan karena kode Java harus selalu dieksekusi dengan Java Virtual Machine (JVM), yang menyediakan lingkungan yang aman untuk eksekusi kode yang telah di download. Sebuah aplikasi biner dapat mengacaukan sebuah peralatan (misalnya tampilan blue screen pada handphone) namun aplikasi Java, dalam hal yang paling buruk, hanya dapat mengacaukan virtual Machine nya saja. 2. Bahasa pemrograman Java adalah bahasa yang kokoh. Penggunaan garbage collector akan mengurangi waktu yang diperlukan oleh programmer untuk menemukan kebocoran dalam penggunaan memori. Demikian pula penggunaan mekanisme exception pada Java mampu meningkatkan kemampuan programmer dalam membuat aplikasi yang kokoh. Portabilitas Java sangat berguna dalam aplikasi wireless. Pertama, dengan menulis sebuah program saja, aplikasi tersebut dapat dijalankan di berbagai peralatan. Alasan kedua, adalah karena aplikasi tersebut dapat dikirimkan ke sebuah peralatan melalui jaringan wireless (proses ini sering dinamakan overthe- air, atau OTA) provisioning. Versi awal Java ditahun 1996 sudah merupakan versi release sehingga dinamakan Java Versi 1.0. Java versi ini menyertakan banyak paket standar awal yang terus dikembangkan pada versi selanjutnya : a. java.lang: Peruntukan kelas elemen-elemen dasar. b. java.io: Peruntukan kelas input dan output, termasuk penggunaan berkas.

Komunikasi Internet dengan JAVA |

c. java.util: Peruntukan kelas pelengkap seperti kelas struktur data dan kelas kelas penanggalan. d. java.net: Peruntukan kelas TCP/IP, yang memungkinkan berkomunikasi dengan komputer lain menggunakan jaringan TCP/IP. e. java.awt: Kelas dasar untuk aplikasi antarmuka dengan pengguna (GUI) f. java.applet: Kelas dasar aplikasi antar muka untuk diterapkan pada penjelajah web.

Perkembangan Java di Bidang Komunikasi


Java telah sukses dikembangkan di berbagai bidang sejak awal pertama kali muncul hingga saat ini. Bahasa Java dalam perkembangannya memegang teguh filosofi sehingga diminati oleh banyak programmer di dunia. Hal yang membuat bahasa Java semakin diminati adalah ketika berbagai device mendukung java dengan J2ME, sehingga banyak praktisi yang berusaha menguasai Java untuk membuat aplikasi yang bisa berjalan di berbagai Mobile Device, PDA, dan Embedded System. Perkembangan Java saat ini hingga menjadi 4 platform utama, yaitu Java Card, Java Micro Edition, Java Standard Edition, dan Java Enterprise Edition. 1. Aplikasi Web Hal yang umum bahwa aplikasi web saat ini sangat umum digunakan khalayak IT, tidak hanya praktisi tapi juga khalayak umum apalagi dengan adanya social networking di dunia maya melalui browser. Hal ini mungkin dikarenakan manusia merupakan makhluk social sehingga dengan adanya social networking di dunia maya membuat masyarakat umum banyak menggunakan internet sebagai media komunikasi. Java merupakan salah satu bahasa pemrograman yang mendukung aplikasi web karena memang java dibuat untuk memberikan solusi untuk aplikasi yang berbasis jaringan. Diantaranya yang mendukung aplikasi web adalah : a. Applet b. Java (untuk aplikasi web berbasis server) c. CORBA (untuk aplikasi terdistribusi) Selain itu Java juga memiliki SDK (Software Development Kit) yaitu J2EE (Java 2 Enterprise Edition). 2. Java Web services Merupakan aplikasi web berbasis interprise yang mengunakan standart XML dan protocol tertentu dalam bertukar data dengan klien.Teknologi ini meliputi beberapa API yang dirancang untuk bekerja dengan XML seperti Jsva API for XML Based RPC (JAX-RPC),

Komunikasi Internet dengan JAVA |

Java API for XML based messaging (JAXM),Java API for XML Processing (JAXP) dan Java API for XML Binding (JAXB).

Komunikasi Internet dengan Java


A. Komunikasi Antar Proses
1. Karakteristik Komunikasi Antar Proses Pertukaran pesan antara sepasang proses bisa dilakukan dengan menjalankan dua operasi penting: send and receive. Komunikasi Sinkron dan Asinkron Komunikasi diantara proses send dan receive bisa dengan cara sinkron maupun asinkron. Pada komunikasi sinkron, proses send dan receive akan melakukan sinkronisasi pada setiap pengiriman pesan. Dalam keadaan ini kedua proses merupakan operasi blocking, yaitu jika send sedang dijalankan maka operasi receive akan di block sampai operasi send selesai. Pada komunikasi asinkron penggunaan operasi send yang bersifat nonblocking bisa berjalan prosesnya setelah pesan disimpan pada local buffer, sehingga transmisi pesan nya bisa bersamaan dengan proses send. Tujuan Pesan Pada protokol internet pengiriman pesan ditujukan pada pasangan (Internet address, local port). Local port adalah tujuan pengiriman pesan pada internal computer, memiliki format integer. Sebuah port memiliki satu penerima namun bisa menerima dari berbagai sender. Proses apapun yang mengetahui alamat port bisa mengirimkan pesan ke dalamnya. Jika klien menggunakan alamat Internet yang tetap untuk suatu servis, maka servis tersebut harus berjalan pada computer yang sama agar alamatnya tetap valid. Untuk mendukung hal ini bisa dilakukan salah satu cara berikut: Program client menunjjuk pada servis berdasarkan nama dan menggunakan nama server atau binder untuk menerjemahkan nama mereka ke lokasi server dan run time. Dengan ini servis bisa direlokasi namun tidak sepenuhnya migrasi (berpindah sementara sistem masih running).

Komunikasi Internet dengan JAVA |

Sistem

operasi

menyediakan

identifier

untuk

tujuan

pesan,

memetakannya ke dalam alamat yang berada dalam level rendah untuk mengirim pesan pada port.

Reliabilitas Komunikasi dengan reliabilitas adalah suatu komunikasi yang memiliki nilai validitas dan integritas yang baik. Suatu pesan memiliki reliabilitas baik jika ia terkirim secara utuh dan tidak ada duplikasi. Pengurutan Beberapa aplikasi membutuhkan pesan yang dapat dikirimkan dengan urutan, yaitu urutan transmisi dari sender. Pengiriman pesan yang tidak sesuai urutan dianggap gagal oleh beberapa aplikasi. 2. Socket

Komunikasi antar proses terdiri atas transmisi pesan diantara socket pada salah satu proses dan socket lain pada proses lain, seperti yang digambarkan pada gambar di atas. Untuk menerima pesan, socket harus terhubung dengan local port dan alamat internet computer. Pesan dikirim ke suatu alamat Internet dan port tertentu bisa diterima oleh proses yang socketnya terkait dengan alamat internet dan nomor port. Proses bisa menggunakan socket yang sama untuk mengirim dan menerima pesan. Proses bisa menggunakan lebih dari satu port untuk menerima pesan, namun suatu proses tidak bisa berbagi port dengan proses lain dalam computer yang sama. Namun ada perkecualian untuk proses IP multicast. Sebaliknya berapapun proses bisa mengirimkan pesan ke satu port yang sama. Setiap socket terkait dengan protokol khusus, bisa UDP atau TCP. 3. Java API untuk alamat internet

Komunikasi Internet dengan JAVA |

Java memberikan kelas untuk merepresentasikan alamat internet yaitu InetAddress. Pengguna kelas menunjuk pada computer berdasarkan Domain Name Service (DNS). Sebagai contoh, instans dari InetAddress yang mengandung alamat internet bisa dibuat dengan cara memanggil metode static, dengan memberikan hostname DNS sebagai argument.

InetAddress aComputer = InetAddress.getByName(Bruno.dcs.qmw.ac.uk)


B. KOMUNIKASI DATAGRAM UDP Sebuah datagram yang dikirim oleh UDP ditransmisikan dari proses send ke proses receive tanpa knowledgement atau cobacoba. Jika gagal, pesan bisa tidak diterima. Berikut adalah beberapa pembahasan mengenai komunikasi datagram: blocking Timeouts Beberapa proses tidak diperkenankan menunggu terlalu lama, sehingga digunakan timeout pada socket untuk membatasi waktunya. Receive from any Metode ini bisa menerima pesan dari manapun karena asalnya tidak dipertanyakan Failure Model Failure model pada UDP: Ommision failure Ketika pengiriman pesan kadangkadang terhenti begitu saja karena tidak ada sisa tempat Ordering Pesan sering terkirim sering keluar dari perintah sender Penggunaan UDP Pengiriman pesan bisa berasal dari overhead berikut: 1. Kebutuhan untuk menyimpan informasi dari source ke tujuan 2. Transmisi pesan ekstra 3. Latency pengirim Message size Blocking Ukuran pesan harus ditentukan agar bisa menyesuaikan dengan array UDP menggunakan perintah send yang non blocking dan perintah receive yang

Komunikasi Internet dengan JAVA |

Java API untuk Datagram Java API menyediakan dua kelas untuk datagram: DatagramPacket dan Datagram Socket. Format DatagramPacket terdiri atas: Array pesan Panjang pesan Alamat internet Nomor port

Send dan receive Metode ini digunakan untuk mentransmit diagram diantara sepasang

socket. setSiTimeout Metode ini akan mengeset timeout connect Metode ini digunakan untuk menghubungkan dengan port dan alamat internet yang remote. C. KOMUNIKASI DARI STREAM TCP Karakteristik dari stream TCP meliputi : Ukuran pesan Aplikasi bisa memilih seberapa banyak data yang ditulis pada sebuah stream data atau membacanya. Ukuran pesan bisa sangat kecil maupun sangat besar. Status hilang Protokol TCP menggunakan skema acknowledgement. Ketika sebuah packet terkirim pihak penerima akan memberikan acknowledgement atas semua paket yang sudah sampai. Pengaturan Flow Digunakan untuk mengatur kecepatan TCP protokol dan proses agar tetap bisa cocok. Ketika salah satu terlalu cepat maka akan diblock. Pengurutan dan penggandaan pesan Setiap pesan yang memiliki identifier yang terasosiasi pada setiap paket IP. Ini berguna untuk mendeteksi dan menolak duplikasi dan melakukan pengurutan pesan yang sampai. Tujuan Pesan

Komunikasi Internet dengan JAVA |

Sepasang proses terkomunikasi akan membuat satu kobeksi sebelum mereka melakukan komunikasi lewat stream. Komunikasi Stream melakukan metode berikut: 1. Pencocokan data Dua proses harus melakukan persetujuan atyas isi data ada sebuah stream. Jika pasangan proses tidak berkooperasi dengan benar, maka proses pembacaan bisa terjadi eror ketika menginterpretasikan data. 2. Blocking Data yang dituliskan pada stream disimpan pada antrian pada socket tujuan. Proses yang menulis data pada suatu stream akan diblock oleh TCP flow control jika data mengantri pada socket melebihi yang bisa ditampung protokolnya. 3. Thread Thread akan digunakan ketika berkomunikasi dengan klien baru. Keuntunganmenggunakan thread yang berbeda adalah server bisa melakukan blocking ketika menunggu suatu input tanpa harus mendelay klien lain. Failure Model Ketika koneksi terputus, sebuah proses akan diberitahu jika ia berusaha melakukan read atau write. Pengaruhnya adalah seperti berikut: Kegunaan TCP Banyak servis yang berjalan dengan koneksi TCP, dengan jumlah port tertentu. Termasuk protokol berikut: HTTP Hypertext transfer protocol digunakan untuk komunikasi antara browser dan web server FTP File transfer protocol digunakan untuk membuat direktori pada computer remote untuk mengakses file dan folder. File ini juga bisa ditransferkan ke computer. Proses menggunakan koneksi tidak bisa membedakan antara kesalahan jaringan dan kesalahan proses pada sisi lain Proses yang berkomunikasi tidak bisa mengetahui apakah pesan sebelumnya diterima atau tidak

Komunikasi Internet dengan JAVA |

Telnet Menyediakan akses dengan sesi ke computer remote SMTP Simple mail transfer protokol digunakan untuk mengirim mail diantara computerkomputer. Java API untuk STREAMING TCP Java API menyediakan dua kelas untuk TCP stream yaitu kelas ServerSocket dan Socket.ServerSocket digunakan oleh server untuk membuat socket pada sebuah portnya. Sedangkan Socket digunakan oleh sepasang proses yang terkoneksi. D. KOMUNIKASI SERVER-CLIENT Bentuk komunikasi didisain untuk mendukung peran dan pertukaran pesan dalam interaksi clientserver yang khusus. Pada kasus normal, komunikasi requestreply bersifat sinkron karena client memproses blok hingga reply sampai di server. Komunikasi dapat diandalkan karena reply dari server berupa knowledgement ke client. Komunikasi request reply asinkron adalah sebuah alternative yang mungkin sangat berguna dalam situasi dimana client dapat menerima reply setelahnya. E. KOMUNIKASI GRUP Dalam komunikasi grup ini dikenal multicast operation, yaitu operasi yang mengirim pesan tunggal dari proses tunggal ke suatu grup. Terdapat banyak kemungkinan untuk mengadakan komunikasi multicast. Yang paling sederhana adalah komunikasi grup yang tidak memberikan jaminan urutan dan pengiriman pesan. Pesan multicast menyediakan infrastruktur untuk mengkonstruksi sistem terdistribusi dengan karakteristik sebagai berikut : 1. Toleransi Fault berdasar services replicated Replicated service terdiri dari satu grup server. Request client adalah multicast ke seluruh anggota grup. Tiaptiap request melakukan operasi yang serupa. Apabila beberapa anggota gagal, client lain tetap dapat dilayani. 2. Menemukan discovery server dalam jaringan spontaneous Pesan multicast digunakan oleh sever dan klien untuk menentukan service discovery yang tersedia guna mendaftarkan interface atau melihat interface layanan lainnya dalam system terdistribusi. 3. Performansi yang lebih baik melalui data replikasi Data direplikasi untuk meningkatkan performansi layanan. Tiap waktu data berubah, nilai baru dimulticast ke proses untuk mengatur replica. 4. Propagasi dari event notifications

Komunikasi Internet dengan JAVA |

Multicast ke grup dapat digunakan untuk memberitahu proses ketika sesuatu terjadi. Misalnya, suatu sistem baru mungkin memberitahu user ketika pesan baru telah dikiri ke newsgroup tertentu. Sistem Jini menggunakan multicast untuk menginformasikan keberadaannya. client tertentu ketika layanan baru memberi tahu

Komunikasi Internet dengan JAVA |

10

Anda mungkin juga menyukai