Posted by: javaoop | July 4, 2008

Rasulullah SAW dan Pengemis Yahudi Buta

Sengaja searching di google, nyari2 kisah tentang Yang Mulia Muhammad Rasulullah SAW dan akhirmya mendapatkan kisah yang sangat menyentuh hati di situs http://www.ikasmariagitma.net/v3/content/view/85/32/ . kurang lebih kisahnya sebagai berikut :

Di sudut pasar Madinah ada seorang pengemis Yahudi buta yang setiap harinya selalu berkata kepada setiap orang yang mendekatinya, “Wahai saudaraku, jangan dekati Muhammad, dia itu orang gila, dia itu pembohong, dia itu tukang sihir, apabila kalian mendekatinya maka kalian akan dipengaruhinya”.

Namun, setiap pagi Muhammad Rasulullah SAW mendatanginya dengan membawakan makanan, dan tanpa berucap sepatah kata pun Rasulullah SAW menyuapkan makanan yang dibawanya kepada pengemis itu sedangkan pengemis itu tidak mengetahui bahwa yang menyuapinya itu adalah Rasulullah SAW. Rasulullah SAW melakukan hal ini setiap hari sampai beliau wafat.

Setelah wafatnya Rasulullah SAW, tidak ada lagi orang yang membawakan makanan setiap pagi kepada pengemis Yahudi buta itu. Suatu hari sahabat terdekat Rasulullah SAW yakni Abubakar ra berkunjung ke rumah anaknya Aisyah ra yang juga merupakan isteri Rasulullah SAW dan beliau bertanya kepada anaknya itu, “Anakku, adakah kebiasaan kekasihku yang belum aku kerjakan?”

Aisyah ra menjawab, “Wahai ayah, engkau adalah seorang ahli sunnah dan hampir tidak ada satu kebiasaannya pun yang belum ayah lakukan kecuali satu saja”.
”Apakah Itu?”, tanya Abubakar RA. “Setiap pagi Rasulullah SAW selalu pergi ke ujung pasar dengan membawakan makanan untuk seorang pengemis Yahudi buta yang ada disana”, kata Aisyah ra. Keesokan harinya Abubakar ra pergi ke pasar dengan membawa makanan untuk
diberikan kepada pengemis itu. Abubakar RA mendatangi pengemis itu lalu memberikan makanan itu kepadanya. Ketika Abubakar RA mulai menyuapinya, sipengemis marah sambil menghardik, ”Siapakah kamu?” Abubakar ra menjawab, ”Aku orang yang biasa (mendatangi engkau)”. ”Bukan! Engkau bukan orang yang biasa mendatangiku”, bantah si pengemis buta itu.

”Apabila ia datang kepadaku tidak susah tangan ini memegang dan tidak
susah mulut ini mengunyah. Orang yang biasa mendatangiku itu selalu menyuapiku, tapi terlebih dahulu dihaluskannya makanan tersebut, setelah itu ia berikan padaku”, pengemis itu melanjutkan perkataannya.

Abubakar RA tidak dapat menahan air matanya, ia menangis sambil berkata
kepada pengemis itu, ”Aku memang bukan orang yang biasa datang padamu. Aku adalah salah seorang dari sahabatnya, orang yang mulia itu telah tiada. Ia adalah Muhammad Rasulullah SAW.”

Seketika itu juga pengemis itu pun menangis mendengar penjelasan Abubakar
RA, dan kemudian berkata, ”Benarkah demikian? Selama ini aku selalu menghinanya, memfitnahnya, ia tidak pernah memarahiku sedikitpun, ia mendatangiku dengan membawa makanan setiap pagi, ia begitu mulia…. ”

Pengemis Yahudi buta tersebut akhirnya bersyahadat di hadapan Abubakar ra saat itu juga dan sejak hari itu menjadi muslim.

baguskan kisahnya……

Posted by: javaoop | November 8, 2007

Remote Method Invocation (RMI) bag1

Artikel ini memperkenalkan teknologi RMI di java dan contoh sederhana penggunaan RMI di bahasa pemrograman JAVA.

RMI adalah salah satu teknologi java yang dapat di gunakan untuk membangun suatu sistem tersebar. RMI merupakan suatu mekanisme yang memungkinkan suatu computer client menggunakan suatu method dari object yang berada di computer server. RMI berbasis pada pemrograman berorientasi object.

Figure 1 : RMI layer model

Client program hanya berhubungan dengan Stub, stub secara terus menerus berhubungan dengan remote reference layer yang berhbungan dengan transport layer, transport layer ini yang mengurusi jaringan. Setelah data sampai ke transport layer server yang akan berkomunikasi dengan remote reference server yang akan memanggil bagian dari program server yang di minta client.
pada dasarnya arsitektur dari RMI dapat di gambarkan sebagai berikut :

arsitektur RMI

Arsitektur tersebut dapat di jelaskan sebagai berikut :

  1. RMI server akan mendaftarkan Remote Object (Object-object yang dapat di remote oleh client) ke RMI Registry melalui “Bind” dengan nama yang unik
  2. RMI Client yang akan menggunakan method dari Remote Object harus meminta reference Remote Object dari RMI Registry. Intinya si client harus tau object-object apa saja sih yang bisa di gunakan, jadi si client meminta list object-object itu ke RMI Registry
  3. Kemudian RMI Registry memberikan daftar Object-object yang method-method nya dapat di gunakan oleh client
  4. Setelah RMI Client mengetahui daftar object-object yang dapat di gunakan, maka RMI Client tinggal menggunakan method-methodnya.

Contoh sederhana program RMI di JAVA :

I. Buat interface Mahasiswa

import java.rmi.RemoteException;

public interface Mahasiswa extends java.rmi.Remote {

public String getNim() throws RemoteException;

public String getNama() throws RemoteException;

public String getAlamat() throws RemoteException;

public void setNim(String nim) throws RemoteException;

public void setNama(String nama) throws RemoteException;

public void setAlamat(String alamat) throws RemoteException;

}

II. Buat class implementasi dari interface Mahasiswa dengan nama MahasiswaImpl

import java.rmi.*;

import java.rmi.server.UnicastRemoteObject;

public class MahasiswaImpl extends UnicastRemoteObject implements Mahasiswa{

private String nim;

private String nama;

private String alamat;

public MahasiswaImpl() throws RemoteException{

}

public String getAlamat()throws RemoteException {

return alamat;

}

public void setAlamat(String alamat) throws RemoteException {

this.alamat = alamat;

}

public String getNama()throws RemoteException {

return nama;

}

public void setNama(String nama)throws RemoteException {

this.nama = nama;

}

public String getNim() throws RemoteException {

return nim;

}

public void setNim(String nim)throws RemoteException {

this.nim = nim;

}

}

III. Buat program Client dengan nama RMIClient

import java.rmi.Naming;

import java.rmi.RMISecurityManager;

public class RMIClient {

public static void main(String[] args) {

try {

if (System.getSecurityManager() == null) {

System.setSecurityManager(new RMISecurityManager());

}

Mahasiswa mahasiswa = (Mahasiswa) Naming.lookup(“rmi://hostname/Mahasiswa”);

mahasiswa.setNim(“613050055″);

mahasiswa.setNama(“Suparman”);

mahasiswa.setAlamat(“Sukabirus”);

System.out.println(“——Identitas Mahasiswa——– “);

System.out.println(“Nim : +mahasiswa.getNim());

System.out.println(“Nama : +mahasiswa.getNama());

System.out.println(“Alamat : +mahasiswa.getAlamat());

} catch (Exception e) {

e.printStackTrace();

}

}

}

Perhatikan sintak : Mahasiswa mahasiswa = (Mahasiswa) Naming.lookup(“rmi://hostname/Mahasiswa”);

Hostname disini di isi dengan hostname server

IV. Buat interface RMIServer

public interface RMIServer extends java.rmi.Remote

{

}

V. Buat class implementasi dari RMIServer dengan nama RMIServerImpl

import java.rmi.*;

import java.rmi.server.UnicastRemoteObject;

public class RMIServerImpl extends UnicastRemoteObject implements RMIServer {

protected RMIServerImpl() throws RemoteException {

}

public static void main(String args[]) {

try {

if (System.getSecurityManager() == null) {

System.setSecurityManager ( new RMISecurityManager() );

}

MahasiswaImpl mahasiswa = new MahasiswaImpl();

Naming.bind(“Mahasiswa”, mahasiswa);

System.out.println(“Service bound…”);

} catch (Exception e) {

e.printStackTrace();

}

}

}

VI. Buat 2 folder dengan nama RMIClient dan MRIServer

Hirarki folder sebagai berikut :

RMIClient :

- Mahasiswa.java

- Policy.java

- RMIClient.java

RMIServer :

- Mahasiswa.java

- MahasiswaImpl.java

- Java.policy

- RMIServer.java

– RMIServerImpl.java

Menjalankan Program :

  1. buka cmd dan masuk ke direktori RMIServer
  2. ketikkan javac *.java
  3. ketikkan rmic RMIServerImpl

maka di folder RMIServer akan terbentuk RMIServerImpl_Stub.class, copykan file class itu ke direktori RMIClient

  1. ketikkan rmiregistry
  2. buka cmd lagi dan masuk ke direktori RMIServer
  3. ketikkan java –Djava.security.policy=java.policy RMIServerImpl
  4. buka cmd lagi dan masuk ke direktori MRIClient
  5. ketikkan javac *.java
  6. ketikkan java –Djava.security.policy=java.policy RMIClient

tampilan hasil compilasi program :

cmd pertama :

cmd kedua

cmd ke tiga:

Reference :

[1]. http://www.developer.com/java/ent/article.php/3455311
[2].http://lecturer.ukdw.ac.id/anton/download/PEMROGRAMAN%20JARINGAN-Modul11.pdf

Categories

Follow

Get every new post delivered to your Inbox.