Java Communication API
Java Communication API
Dalam contoh program sederhana di atas, dibutuhkan setidaknya ribuan system calls
per detik. Oleh karena itu Kebanyakan programmer membuat aplikasi dengan
menggunakan Application Programming Interface (API). Dalam API itu terdapat fungsi-
fungsi atau perintah-perintah untuk menggantikan bahasa yang digunakan dalam
system calls dengan bahasa yang lebih terstruktur dan mudah dimengerti oleh
programmer. Fungsi yang dibuat dengan menggunakan API tersebut kemudian akan
memanggil system calls sesuai dengan sistem operasinya. Tidak tertutup kemungkinan
nama dari system calls sama dengan nama di API.
System call interface ini berfungsi sebagai penghubung antara API dan system call
yang dimengerti oleh sistem operasi. System call interface ini akan menerjemahkan
perintah dalam API dan kemudian akan memanggil system calls yang diperlukan. Untuk
membuka suatu file tersebut user menggunakan program yang telah dibuat dengan
menggunakan bantuan API, maka perintah dari user tersebut diterjemahkan dulu oleh
program menjadi perintah open(). Perintah open() ini merupakan perintah dari API dan
bukan perintah yang langsung dimengerti oleh kernel sistem operasi. Oleh karena itu,
agar keinginan user dapat dimengerti oleh sistem operasi, maka perintah open() tadi
diterjemahkan ke dalam bentuk system call oleh system call interface. Implementasi
perintah open() tadi bisa bermacam-macam tergantung dari sistem operasi yang
digunakan.
B. Identifikasi Port
Internet Address
Kelas java.net.InetAddress adalah level tingkat tinggi dari java untuk representasi
sebuah alamat IP, baik IPv4 dan IPv6. Hal ini digunakan oleh sebagian besar kelas-kelas
jaringan lainnya, termasuk Socket, ServerSocket, URL, DatagramSocket,
DatagramPacket, dan lain-lain. Umumnya, itu mencakup nama host dan alamat IP.
Ketiga metode ini dapat membuat koneksi ke server DNS lokal untuk mengisi informasi
dalam objek InetAddress. Metode lainnya di kelas ini, seperti getAddress () dan
getHostName (), sebagian besar bekerja dengan informasi yang diberikan oleh salah
satu dari tiga metode.
Contoh Program
import java.net.*;
class myAddress
{
public static void main (String args[])
{
try
{
InetAddress address = InetAddress.getLocalHost();
System.out.println(address);
}
catch (UnknownHostException e)
{
System.out.println("Could not find this computer's address.");
}
}
}
Port
Nomor-nomor di bawah angka 1024 merupakan port yang umum digunakan dan
ditetapkan oleh IANA (Internet Assigned Number Authority). Tabel berikut ini
(ContohWellKnownPort) menyebutkan beberapa port TCP yang telah umum digunakan.
import java.net.*;
import java.io.*;
public class myport
{
public static void main(String[] args)
{
Socket theSocket;
String host = "localhost";
for (int i = 0; i <=100; i++)
{
try
{
theSocket = new Socket(host, i);
System.out.println("There is a server on port " + i + " of "
+ host);
}
catch (UnknownHostException e)
{
System.err.println(e);
break;
}
catch (IOException e)
{}
}
}
}
import java.net.*;
import java.io.*;
public class serverport
Sebuah socket dilengkapi dengan alamat, yang terdiri atas IP address tujuan dan
nomor port. Alamat IP dapat menggunakan alamat jaringan lokal (LAN) maupun
alamat internet. Jadi socket dapat digunakan untuk IPC pada LAN maupun Internet.
Nomor port merupakan bilangan bulat yang digunakan untuk membedakan layanan-
layanan yang berjalan pada komputer server yang sama. Pengguna layanan
menggunakan nomor port ini untuk menghubungi komputer server dengan workstation
(client). Dengan menggunakan nomor port yang standar, komunikasi dapat terjadi antar
beberapa komputer dari jarak jauh untuk mengerjakan berbagai layanan jaringan,
karena baik pengirim maupun penerima saling mengetahui ke mana data harus dikirim
menggunakan nomor port tersebut. Sebagai contoh, semua sistem menggunakan
nomor port 23 untuk aplikasi TELNET atau port 80 untuk aplikasi website. Oleh karena
pada perancangan sistem akan dibuat suatu jenis layanan baru dengan memanfaatkan
socket, maka dapat dibuat nomor port tersendiri untuk aplikasi tersebut.
memungkinkan program untuk menyimpan status objek ke dalam sebuah file, kemudian
dibaca kembali dari file ke memori atau dikirimkan melalui jaringan.
Staff.java
import java.io.*;
public class Staff implements Serializable{
String nama;
String divisi;
int umur;
public Staff(String nama, String divisi, int umur)
{
this.nama=nama;
this.divisi=divisi;
this.umur= umur;
}
public void print()
{
System.out.println("Data Staff: ");
System.out.println("Nama : " + nama);
System.out.println("Divisi : " + divisi);
System.out.println("Umur : "+ umur);
}
ObjectClient.java
import java.net.*;
import java.io.*;
public class ObjectClient{
private static int SRV_PORT = 5000;
private static ObjectOutputStream os=null;
ObjectServer.java
import java.net.*;
import java.io.*;
public class ObjectServer {
private static int SRV_PORT=5000;
private static ObjectInputStream is=null;
Bahasa pemrograman java mendukung komponen RS232 tersebut yang disebut dengan
javacommapi yang terdiri dari comm.jar, javax.comm.properties, dan win32com.dll
yang dapat diunduh/download pada web site
http://java.sun.com/products/javacomm/index.jsp. Untuk system operasi Ms. Windows
2000 dan XP, hasil install-an sering kali bermasalah. Cara penanganannya adalah
sebagai berikut:
1. Copy comm.jar pada direktori <install-an>\jre\lib\ext
2. Copy win32com.dll pada direktori <install-an>\jre\bin
3. Copy javax.comm.properties pada direktori <install-an>\jre\lib
Hal-hal yang perlu diketahui pada komunikasi yaitu kecepatan pengiriman, data bits,
parity, stop bits, dan flow control.
1. Kecepatan pengiriman, 300 bps sampai dengan 921600
2. Data bits, 5 sampai dengan 8 bits
3. Parity terdiri dari even, odd dan none
4. Stop bits, 1, 1.5 dan 2
5. Flow Control None
Properties RS232
Pada salah satu contoh program pada web site www.sun.com untuk menggunakan alat
RS232 adalah SimpleRead.java dan SimpleWrite.java. SimpleRead.java adalah program
untuk membaca data yang didapatkan dari RS232 dan SimpleWrite.java adalah program
untuk mengirimkan data melalui RS232. Dengan catatan kecepatan, data bit, stop bit,
dan parity harus sama antara satu dengan lainnya
Daftar pustaka:
risdawati.staff.gunadarma.ac.id
heri.staff.unisbank.ac.id
thesis.binus.ac.id
johan.big.net.id