Subscribe:

Main Menu

Kamis, Juli 31, 2008

Deploy GlassFish lewat Maven

buat yang males untuk deploy glassfish lewat web. ada cara mudah untuk mendeploy tinggal dengan satu perintah pake maven :). yaitu dengan cuma ketik mvn exec:exec. atau mungkin bisa langsung di gabung dengan compile dan package kalo projectnya belum di compile. jadi perintahnya tinggal gini

mvn compile package exec:exec

tapi sebelumnya perlu konfigurasi dulu di pom.xml nya agar maven bisa otomatis ngerti musti mendeploy ke GlassFish :). tambahannya kayak gini nech


<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>exec</goal>
</goals>
</execution>
</executions>
<configuration>
<executable>
${GLASSFISH_HOME}/bin/asadmin
</executable>
<arguments>
<argument>deploy</argument>
<argument>--user=admin</argument>
<argument>--passwordfile=${HOME}/.asadminpass</argument>
<argument>--host=localhost</argument>
<argument>--port=4848</argument>
<argument>target/${artifactId}-${version}.jar</argument>
</arguments>
</configuration>
</plugin>

di taruh di dalam tag plugins, di dalam tag build :)


<dependency>
<groupId>glassfish</groupId>
<artifactId>appserv-rt.jar</artifactId>
<version>LATEST</version>
<scope>system</scope>
<systemPath>${GLASSFISH_HOME}/lib/appserv</systemPath>
</dependency>

di taruh di dalam tag dependencies.

oh iya untuk password file musti ada kayak gini
AS_ADMIN_PASSWORD=adminadmin

NB : adminadmin itu password adminnya GlassFish.

Guake Terminal ( Yakuake di Gnome )

migrasi dari KDE ke Gnome. kangen juga ama fasilitas-fasilitas yang di sediakan KDE. kayak yakuake gitu. setelah di coba cari-cari di google. akhirnya ketemu juga program yang mirip kayak yakuake tapi jalan di Gnome. pertama nyari ketemunya "Tilda". dicoba beberapa. tapi kurasng suka ama program ini. ada beberapa trouble. :(. saya coba nyari program lain. sapa tahu ada yang lebih baik :). dan akhirnya ketemu juga. yach lumayan lebih baik lah :D. namanya Guake Terminal. kalo temen-temen mau nyoba download aja nech di sini http://www.guake-terminal.org :).




Selasa, Juli 29, 2008

Jetty di Maven

Jetty.. pertama kenal nech web server di kenalin ma mas Adith ( sang suhu :D ). enak juga sech make ini. kita bisa ngetes struts2 di web server ini, udah gak pake deploy2 kayak di glassfish. sekali enter aja jalaninnya :D. karena jetty ini udah masuk di mavennya. jadi tinggal enter udah bisa ngetes :D. masukin ke mavennya tinggal kita tambahin di pom.xml nya. sintaknya kayak gini nech :D.



<build>
<plugins>
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>maven-jetty-plugin</artifactId>
<version>6.1.10</version>
<configuration>
<scanIntervalSeconds>10</scanIntervalSeconds>
<stopKey>foo</stopKey>
<stopPort>9999</stopPort>
<connectors>
<connector
implementation="org.mortbay.jetty.nio.SelectChannelConnector">
<port>9090</port>
</connector>
</connectors>
</configuration>
<executions>
<execution>
<id>start-jetty</id>
<phase>pre-integration-test</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<scanIntervalSeconds>0</scanIntervalSeconds>
<daemon>true</daemon>
</configuration>
</execution>
<execution>
<id>stop-jetty</id>
<phase>post-integration-test</phase>
<goals>
<goal>stop</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>


Cara jalaninnya tinggal ketik mvn jetty:run :)

mungkin yang lebih lengkapnya. coba lihat aja di sini

Jumat, Juli 25, 2008

Struts2 Validation

Validasi di struts2 ternyata cukup mudah ya :D. baru ngerti enaknya pake struts :). ada dua jenis tipe validasi di struts 2. cara pertama yaitu pake XML dan kedua pake annotation.

Untuk validasi Struts2 memakai XML cukup membuat XML dengan nama yang sama dengan java class yang akan di validasi di tambahkan dengan "-validation". misalnya jika nama java class nya "Login" maka nama XML validasi nya "Login-validation.xml". terus tinggal kita isi XML validasinya sesuai dengan field atau properties dari java class nya. misalnya seperti ini. kita punya sebuah class namanya Login dg field/propeties username dan password dg masing2 bertipe String. maka XML validasinya akan seperti ini..


<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC
"-//OpenSymphony Group//XWork Validator 1.0.2//EN"
"http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">

<validators>
<field name="username">
<field-validator type="requiredstring">
<message>Username is required</message>
</field-validator>
</field>
<field name="password">
<field-validator type="requiredstring">
<message>Password is required</message>
</field-validator>
</field>
</validators>

Seharusnya begini saja sudah cukup :). nanti saat user nginputkan nilai null atau gak ada isinya. akan muncul pesan error :).

Untuk Validasi Struts 2 pake Annotation Lihat aja ini :)





















































































Annotation Description
ConversionErrorFieldValidator Annotation Checks if there are any conversion errors for a field.
DateRangeFieldValidator Annotation Checks that a date field has a value within a specified range.
DoubleRangeFieldValidator Annotation Checks that a double field has a value within a specified range.
EmailValidator Annotation Checks that a field is a valid e-mail address.
ExpressionValidator Annotation Validates an expression.
FieldExpressionValidator Annotation Uses an OGNL expression to perform its validator.
IntRangeFieldValidator Annotation Checks that a numeric field has a value within a specified range.
RegexFieldValidator Annotation Validates a regular expression for a field.
RequiredFieldValidator Annotation Checks that a field is non-null.
RequiredStringValidator Annotation Checks that a String field is not empty.
StringLengthFieldValidator Annotation Checks that a String field is of the right length.
StringRegexValidator Annotation Invokes a regular expression to validate a String field.
UrlValidator Annotation Checks that a field is a valid URL.
Validation Annotation Marker annotation for validation at Type level.
Validations Annotation Used to group validation annotations.
VisitorFieldValidator Annotation Invokes the validation for a property's object type.
CustomValidator Annotation Use this annotation for your custom validator types.


Source : http://struts.apache.org/2.0.11.2/docs/annotations.html

Kamis, Juli 24, 2008

Contoh EJB 3, Maven, GlassFish & Struts 2

Yach.. buat arsip aja. contoh kecil dari project EJB3 dan Struts2 make maven buildnya :), trus pake GlassFish untuk deploy dan di tampilkan di browser.

Pertama untuk Project EJB3 nya class2nya antara lain
  • RemovableRemote

import javax.ejb.Remote;

/**
*
* @author bastomi
*/
@Remote
public interface RemovableRemote {
public String remove(String message);

}


  • RemovableBean

import javax.ejb.Stateless;

/**
*
* @author bastomi
*/
@Stateless(name="RemovableBean", mappedName="ejb/Removable")
public class RemovableBean implements RemovableRemote{

public String remove(String message){
return message;
}
}

  • pom.xml nya kayak gini

<?xml version="1.0" encoding="UTF-8"?><project>
<modelVersion>4.0.0</modelVersion>
<groupId>EJBLatihan</groupId>
<artifactId>EJBLatihan</artifactId>
<version>1</version>
<packaging>ejb</packaging>
<description></description>

<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-ejb-plugin</artifactId>
<configuration>
<ejbVersion>3.0</ejbVersion>

</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.0.2</version>
<configuration>
<source>1.5</source>
<target>1.5</target>
</configuration>
</plugin>

</plugins>
</build>
<dependencies>
<dependency>
<groupId>org.apache.geronimo.specs</groupId>
<artifactId>geronimo-ejb_3.0_spec</artifactId>
<version>1.0</version>
<scope>compile</scope>
</dependency>
</dependencies>
</project>


untuk project Clientnya kita make Struts2. file2nya kayak gini

main
---java
|----latihan
|----HelloWorld.java
|----RemovableClient.java
---resource
|-----struts.xml
---webapp
|-----index.jsp
|-----WEB-INF
| |----web.xml
|-----latihan
|----HelloWorld.jsp

  • HelloWorld.java

package latihan;

import com.opensymphony.xwork2.Action;
import com.opensymphony.xwork2.ActionSupport;

/**
* Set welcome message.
*/
public class HelloWorld extends ActionSupport {

public String execute() throws Exception {
// setMessage(getText("nama"));
RemovableClient rem=new RemovableClient();

setMessage(rem.getRemote());
return Action.SUCCESS;
}

/**
* Provide default valuie for Message property.
*/
public static final String MESSAGE = "PesanQ";

/**
* Field for Message property.
*/
private String message;

/**
* Return Message property.
*
* @return Message property
*/
public String getMessage() {
return message;
}

/**
* Set Message property.
*
* @param message Text to display on HelloWorld page.
*/
public void setMessage(String message) {
this.message = message;
}
}

  • RemovableClient

package latihan;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;

/**
*
* @author bastomi
*/
public class RemovableClient {

public RemovableClient(){

}

public String getRemote(){
Context ctx = null;
RemovableRemote removable = null;
try {
ctx = new InitialContext();
removable = (RemovableRemote) ctx.lookup("ejb/Removable");
} catch (NamingException e) {
return e.getMessage()+"==>"+e.toString();
// TODO Auto-generated catch block
//e.prinmvntStackTrace();
}
if(removable==null){
return "Kosong";
}else
return removable.remove("Look at the server's log");

}

}

  • Struts.xml


<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<constant name="struts.enable.DynamicMethodInvocation"
value="false" />
<constant name="struts.devMode" value="false" />

<package name="latihan" namespace="/latihan" extends="struts-default">
<action name="HelloWorld" class="latihan.HelloWorld">
<result name="success">/latihan/HelloWorld.jsp</result>
</action>
</package>
</struts>


  • HelloWorld.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
Hello
<s: property value="message"/>
<br>
kok ngene yo?
<s: property value="nama"/>
</body>
</html>

  • web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app id="starter" version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns: xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<display-name>Struts Q</display-name>

<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>

<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.jsp</welcome-file>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
</web-app>

  • index.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
Welcome to My First Struts..
<br>
Mboh lebokno ngawo ae karepmu :
<s:form action="latihan/HelloWorld.action">
<s:textfield label="Masukkan nama" name="message"/>
<s:submit/>
</s:form>
</body>
</html>

  • pom.xml nya kayak gini

<?xml version="1.0" encoding="UTF-8"?><project>
<modelVersion>4.0.0</modelVersion>
<groupId>EJBClient</groupId>
<artifactId>EJBClient</artifactId>
<version>1</version>
<packaging>war</packaging>
<description></description>
<dependencies>
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-core</artifactId>
<version>2.0.11.1</version>
</dependency>
<dependency>
<groupId>EJBLatihan</groupId>
<artifactId>EJBLatihan</artifactId>
<version>1</version>
<scope>compile</scope>
</dependency>
</dependencies>

<build>
<plugins>
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>maven-jetty-plugin</artifactId>
<version>6.0.1</version>
<configuration>
<scanIntervalSeconds>10</scanIntervalSeconds>
</configuration>
</plugin>
</plugins>
</build>
</project>

Maven : Compile Project Dg JDK 1.4 , 1.5 atau 1.6

Terkadang saya ingin mengcompile Project saya dengan JDK versi 1.4. terkadang juga saya perlu menyeting project saya untuk memakai JDK versi 1.5, kadang juga 1.6. dlam maven untuk menyetting ini. tinggal kita set di pom.xml nya.
Untuk memakai JDK versi 1.4 kayak gini

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.0.2</version>
<configuration>
<source>1.5</source>
<target>jsr14</target>
</configuration>
</plugin>

;
Untuk memakai JDK versi 1.5 kayak gini

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.0.2</version>
<configuration>
<source>1.5</source>
<target>1.5</target>
</configuration>
</plugin>

Untuk JDK versi 1.6 gini

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.0.2</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>

InitialContext di EJB

Belajar EJB sempat bingung dengan InitialContext nya. jadi mikir, EJB kan di panggil oleh oleh client. nah saat manggil itu dia manggil kemana? apa ada tandanya tiap EJB itu? misalnya nech..


Context ctx = null;
RemovableRemote removable = null;
try {
ctx = new InitialContext();
removable = (RemovableRemote) ctx.lookup("ejb/Removable");
} catch (NamingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

nach contoh diatas itu buat manggil EJB Removable. nach bingungnya itu. gimana memberikan tanda bahwa EJB yang kita buat itu namanya Removable. dan didalam EJB kan pasti ada banyak jenis remote atau name jenis stateles atau apa itu ( bingung / gak ngerti namanya :D ).

Akhirnya ada pencerahan juga dari masAdith jagonya nech :) (Thanx MsAdith). jadi gini. di tiap class yang akan kita buat sebagai Stateless atau apa itu. perlu kita definisikan name ama MappedNamenya. name ini gak boleh sama di satu server. dalam arti, ada berapapun EJB gak boleh ada yang name nya sama. ntar bisa kacau. gitu kata MsAdith. :D.

jadi ntar saat di Delpoy di GlassFish, nanti akan kelihatan EJB itu mempunyai SubCOmponent apa aja. namanya apa aja. tipenya apa. nach kalo ada yang name nya sama ntar saat Deploy akan error :D. nah tiap SubComponent dalam EJB mempunyai name mappedName ama Type nya. yang di panggil di Client melalui InitialContext itu mappedName nya. :)

nah gitu :D. ehehhe...


Rabu, Juli 23, 2008

List Repository Ubuntu Hardy di indonesia.

Berikut ini Daftar / List Repository Ubuntu Hardy di indonesia.
repo.ugm.ac.id
deb http://repo.ugm.ac.id/ubuntu/ hardy main multiverse restricted universe
deb http://repo.ugm.ac.id/ubuntu/ hardy-updates main multiverse restricted universe
deb http://repo.ugm.ac.id/ubuntu/ hardy-security main multiverse restricted universe

mirror.its.ac.id (ITS, INHERENT)
deb http://mirror.its.ac.id/ubuntu hardy main multiverse restricted universe
deb http://mirror.its.ac.id/ubuntu hardy-security main multiverse restricted universe
deb http://mirror.its.ac.id/ubuntu hardy-backports main multiverse restricted universe
deb http://mirror.its.ac.id/ubuntu hardy-updates main multiverse restricted universe



kambing.ui.edu (UI, Telkom, Indosat, OpenIXP, INHERENT)
deb http://kambing.ui.edu/ubuntu hardy main restricted universe multiverse
deb http://kambing.ui.edu/ubuntu hardy-updates main restricted universe multiverse
deb http://kambing.ui.edu/ubuntu hardy-security main restricted universe multiverse
deb http://kambing.ui.edu/ubuntu hardy-backports main restricted universe multiverse
deb http://kambing.ui.edu/ubuntu hardy-proposed main restricted universe multiverse

mirror.cbn.net.id (OpenIXP)
deb http://ubuntu.cbn.net.id/Ubuntu hardy main restricted universe multiverse
deb http://ubuntu.cbn.net.id/Ubuntu hardy-updates main restricted universe multiverse
deb http://ubuntu.cbn.net.id/Ubuntu hardy-security main restricted universe multiverse
deb http://ubuntu.cbn.net.id/Ubuntu hardy-backports main restricted universe multiverse
deb http://ubuntu.cbn.net.id/Ubuntu hardy-proposed main restricted universe multiverse

komo.vlsm.org
deb http://komo.vlsm.org/ubuntu hardy main restricted universe multiverse
deb http://komo.vlsm.org/ubuntu hardy-updates main restricted universe multiverse
deb http://komo.vlsm.org/ubuntu hardy-security main restricted universe multiverse
deb http://komo.vlsm.org/ubuntu hardy-backports main restricted universe multiverse
deb http://komo.vlsm.org/ubuntu hardy-proposed main restricted universe multiverse

indika.net.id (OpenIXP)
deb http://ubuntu.indika.net.id/ hardy main restricted universe multiverse
deb http://ubuntu.indika.net.id/ hardy-updates main restricted universe multiverse
deb http://ubuntu.indika.net.id/ hardy-security main restricted universe multiverse
deb http://ubuntu.indika.net.id/ hardy-backports main restricted universe multiverse
deb http://ubuntu.indika.net.id/ hardy-proposed main restricted universe multiverse

ftp.itb.ac.id (ITB, INHERENT)
deb ftp://ftp.itb.ac.id/pub/ubuntu hardy main restricted universe multiverse
deb ftp://ftp.itb.ac.id/pub/ubuntu hardy-updates main restricted universe multiverse
deb ftp://ftp.itb.ac.id/pub/ubuntu hardy-security main restricted universe multiverse
deb ftp://ftp.itb.ac.id/pub/ubuntu hardy-backports main restricted universe multiverse
deb ftp://ftp.itb.ac.id/pub/ubuntu hardy-proposed main restricted universe multiverse

foss-id.web.id (Telkom)
deb http://dl2.foss-id.web.id/ubuntu hardy main restricted universe multiverse
deb http://dl2.foss-id.web.id/ubuntu hardy-updates main restricted universe multiverse
deb http://dl2.foss-id.web.id/ubuntu hardy-security main restricted universe multiverse
deb http://dl2.foss-id.web.id/ubuntu hardy-backports main restricted universe multiverse
deb http://dl2.foss-id.web.id/ubuntu hardy-proposed main restricted universe multiverse

Source

Struts Tags

Bagi yang udah ngerti strus. aku rasa udah pada tahu kegunaan masing2 tag nya struts. tapi bagi aku yang pemula ini :D. sangat bingung dengan tag2nya struts. setelah cari-cari akhirnya dapet juga di sini nech :D
http://struts.apache.org/1.2.x/userGuide/struts-html.html

Selasa, Juli 22, 2008

Betapa besarnya Engkau karena telah memberikan kepadaku seseorang yang dapat membuat hidupku menjadi sempurna

Ya الله, Tuhanku...
Tuhan Pemilik Semesta Alam ini...
Tuhan Pemilik Jiwa Raga ini...
Tuhan Pengatur segala hal di dunia ini...

Dengan barakah Nabi muhammad yang engkau cintai
Dengan barakah para malaikatmu yang senantiasa tunduk kepada engkau
Dengan barakah pada nabi dan rasulmu yang agung
Dengan barakah pada wali dan kekasihmu yang mulia

Hamba yang hina ini berdo'a dan memohon kepadamu
Bersujud dengan penuh harapan kepada engkau
Hamba mengakui dengan kehinaan hamba ini
Hamba mengakui, hamba ini penuh dengan lumuran dosa

Tapi musti kemana lagi hamba meminta
Musti kemana lagi hamba menghadap
Hanya engkau tuhan segala alam
Sesungguhnya engkau maha pema'af lagi maha penyayang.

Ya الله
Dengan penuh rasa harap kepada engkau
Dengan penuh rasa tunduk kepada engkau
Hamba memohon kepada engkau
Jadikanlah Hambamu yang fana ini, menjadi...



Seorang pria yang sungguh mencintaiMU lebih dari segala sesuatu.
Seorang pria yang akan meletakkannya pada posisi kedua di hatiku setelah Engkau.
Seorang pria yang hidup bukan untuk diriku sendiri tetapi untukMU.
Seorang pria yang mempunyai sebuah hati yang sungguh mencintai dan haus akan Engkau
Seorang pria yang memiliki keinginan untuk menauladani sifat-sifat Agung-Mu.
Seorang pria yang mengetahui bagi siapa dan untuk apa aku hidup, sehingga hidupku tidaklah sia-sia.
Seorang pria yang memiliki hati yang bijak bukan hanya sekedar otak yang cerdas.
Seorang pria yang tidak hanya mencintainya tetapi juga menghormatinya.
Seorang pria yang tidak hanya memujanya tetapi dapat juga menasehati ketika dia berbuat salah.
Seorang pria yang mencintainya bukan karena kecantikannya tetapi karena hatinya.
Seorang pria yang dapat menjadi sahabat terbaik untuknya dalam tiap waktu dan situasi.
Seorang pria yang dapat membuatnya merasa sebagai seorang wanita ketika berada disebelahnya.
Seorang pria yang membutuhkan dukungannya sebagai peneguhnya.
Seorang pria yang membutuhkan doanya untuk kehidupannya.
Seorang pria yang membutuhkan senyumannya untuk mengatasi kesedihanku.
Seorang pria yang membutuhkan dirinya untuk membuat hidupku menjadi sempurna.

Wahai Tuhan pemilik jasad dan tubuh ini..
Buatlah dia menjadi seorang perempuan yang dapat membuatku bangga.

Berikan dia sebuah hati yang sungguh mencintaiMU,
Sehingga dia dapat mencintaiku dengan cintaMU, Bukan mencintaiku dengan sekedar cintanya.

Berikanlah SifatMU yang lembut
Sehingga kecantikannya datang dariMU Bukan dari luar dirinya.

Berilah dia tanganMU
Sehingga dia selalu mampu berdoa untukku.

Berikanlah dia penglihatanMU
Sehingga dia dapat melihat banyak hal baik dalam diriku dan bukan hal buruk saja.

Berikan dia penuh dengan kata-kata kebijaksanaanMU dan pemberi semangat,
Sehingga dia dapat mendukungku setiap hari, dan dia dapat tersenyum padaku setiap pagi.

Dan bilamana akhirnya kami akan bertemu,
Aku berharap kami berdua dapat mengatakaan
"Betapa besarnya Engkau karena telah memberikan kepadaku seseorang yang dapat membuat hidupku menjadi sempurna ".

Aku mengetahui bahwa Engkau menginginkan kami bertemu pada waktu yang
tepat dan Engkau akan membuat segala sesuatunya indah pada waktu yang Kau tentukan.

Allahumma amiiin...


Jumat, Juli 18, 2008

Kantor Baru :)

Huff.. ternyata gak terasa juga ya... aku udah 1 bulan kerja di bogor sini. kerja di sini aku perlu banyak belajar. banyak teknologi baru yang baru di telingaq. aku memang sangat kurang dalam ilmu :D.

Jadi inget pertama ke bogor sini :). Pertama nyampek bogor.aku bingung musti langsung kemana. ada saudara tapi di cibinong. tapi bingung juga musti naek apa. kemarin sech di suruh naek angkot 08. tapi saat aku nyampek bogor. turun di baranangsiang ternyata di cari-cari gak ada angkot 08. :( jadi bingung musti kemana :(. duduk bengong agak lama sech di baranangsiang. mikir2 musti kemana ini? setelah muter2, liat2 oh.. ada pak polisi. akhirnya aku tanya ama pak pol itu :D. gimana cara ke saudaraq itu. wah tak di sangka ternyata jauh katanya :(. setelah ngobrol2 banyak. tanya2 kos. dan alhamdulilah tak disangka dan tak di duga. pak polisinya itu punya kos2an :D. dan letaknya gak jauh dari baranangsiang. dan alhamdulillah tempat kerjaku juga gak jauh dari kosQ :). alhamdulillah... semua berkat pertolongan Allah :). akhirnya ya langsung ngekos di sana :)


Hari pertama masuk, yach seperti biasa mencoba adapatasi dengan suasana baru :). kenalan dengan temen2 baru :D. kerjaan pertama yang di kasih adalah ServiceMix. :D apa itu serviceMix? kakakak.... hari pertama masuk langsung di kasih kerjaan kayak gitu an :D. jadi bingung gimana ini? apa an itu ? :D. semakin banyak di otak-atik, di lihat-lihat apa ternyata memang aku itu sangat bodoh.... bodoh banget. :D. banyak banget hal-hal yang tidak aku tahu. di sini teknologi yang dipakai rata-rata teknologi yang baru. jadi susah juga aku ngikutin. tapi ya musti bisa ngikutin.

yach akhirnya, gak salah ini. :D. keinginanku untuk mencari pengalaman di kota lain. alhamdulillah diberi oleh allah banyak pengalaman. :). banyak ilmu yang bisa aku dapat dari sini. banyak teknologi yang harus aku kuasai. Deadline ku, selama 6 bulan aku sudah harus bisa menguasai semua ilmu, teknologi yang di pakai di sini :). aku harus bisa menyerap semua ilmu yang ada :). Semangat-Semangat :)


Kamis, Juli 10, 2008

Java Reflection

Dulu saya sering bingung. saat ingin memanggil method dimana objek yang saya dapat itu belum jelas tipenya. jadi saya tidak tahu apa saja methodnya :(. dulu saya sering bingung. setelah beralih ke java. ternyata java bisa melakukannya. dengan metode yang namanya itu java reflection :D. hehehe... saya juga baru belajar nech yang namanya ginian..
setelah di pelajari ternyata asyik juga. jadi misal saya ingin jalanin class yang namanya customer gitu. saya gak perlu buat koding Customer cust=new Customer() gitu. kita bisa buatnya saat runtime. sangar gak tuch :D. hehe... dasar bastomi, kuno... baru sekarang ngerti kayak ginian :)). ternyata aku memang ketinggalan zaman. Ilmuku masih dikit bangeeet... huff... ayo terus belajar :D. sekedar buat pengingat aku. cara untuk melakukan java reflection itu kayak gini nech..

misal kita mau jalankan method getName pada Object Customer. hal pertama yang perlu kita lakukan adalah : membuat object Customer itu dulu. caranya gini nech :

yang kalo dalam coding normal kayak gini

Customer cust=new Customer();

dalam java reflection jadi kayak gini nech

Class klas=Class.forName("Customer");
Object cust=klas.newInstance();

trus... kalo misalnya kita mau jalanin method di dalam Customer kayak gini
yang kalo dalam coding normal :

cust.getName();

Method method = klas.getMethod(methodName, paramTypes);
Object retval=method.invoke(cust, args);

sudah gitu aja :D. hehehe

Kamis, Juli 03, 2008

الحمد لله على كل حال

الحمد لله على كل حال Bersyukurlah, Atas semua hal yang terjadi kepadamau. banyak di antar kita-kita. selalu mengeluh dan mengeluh, karena hanya masalah-masalah kecil. seakan-akan kita mendapatkan maslaah yang sangat besar.
Cobalah kita lihat orang di sekitar yang ternyata mendapatkan ujian yang lebih besar dari kita. tapi mereka tetap tabah menjalani nya..

Jika kamu merasa hidupmu tidak bahagia. Coba lihat foto ini..




Jika kamu merasa Pekerjaanmu terlalu berat untukmu, Bagaimana Dengan Mereka


Jika kamu merasa gaji yang kamu dapat kurang. Bagaimana dengan anak ini..


Jika menurutmu belajar itu susah. Bagaimana dengan dia.


Jika kamu merasa kalah dan mau menyerah. coba lihatlah ini


Jika kamu merasa berat dalam memikul beban hidup ini. coba lihat dia


Jika kamu terus mengeluh tentang kendaraan/transportasi kamu. coba lihat merka ini


Jika kamu merasa masyarakatmu ini tidak adil kepadamu, coba lihat nenek ini.


Source : http://forums.graaam.com/118169.html

Selasa, Juli 01, 2008

Sejarah Singkat Imam Al Baihaqi

Imam Al Baihaqi, yang bernama lengkap Imam Al-Hafith Al-Mutaqin Abu Bakr Ahmed ibn Al-Hussein ibn Ali ibn Musa Al Khusrujardi Al-Baihaqi, adalah seorang ulama besar dari Khurasan (desa kecil di pinggiran kota Baihaq) dan penulis banyak buku terkenal.

Masa pendidikannya dijalani bersama sejumlah ulama terkenal dari berbagai negara, di antaranya Iman Abul Hassan Muhammed ibn Al-Hussein Al Alawi, Abu Tahir Al-Ziyadi, Abu Abdullah Al-Hakim, penulis kitab "Al Mustadrik of Sahih Muslim and Sahih Al-Bukhari", Abu Abdur-Rahman Al-Sulami, Abu Bakr ibn Furik, Abu Ali Al-Ruthabari of Khusran, Halal ibn Muhammed Al-Hafaar, dan Ibn Busran.


Para ulama itu tinggal di berbagai tempat terpencar. Oleh karenanya, Imam Baihaqi harus menempuh jarak cukup jauh dan menghabiskan banyak waktu untuk bisa bermajelis dengan mereka. Namun, semua itu dijalani dengan senang hati, demi memuaskan dahaga batinnya terhadap ilmu Islam.

As-Sabki menyatakan: "Imam Baihaqi merupakan satu di antara sekian banyak imam terkemuka dan memberi petunjuk bagi umat Muslim. Dialah pula yang sering kita sebut sebagai 'Tali Allah' dan memiliki pengetahuan luas mengenai ilmu agama, fikih serta penghapal hadits."

Abdul-Ghaffar Al-Farsi Al-Naisabouri dalam bukunya "Thail Tareekh Naisabouri": Abu Bakr Al-Baihaqi Al Hafith, Al Usuli Din, menghabiskan waktunya untuk mempelajari beragam ilmu agama dan ilmu pengetahuan lainnya. Dia belajar ilmu aqidah dan bepergian ke Irak serta Hijaz (Arab Saudi) kemudian banyak menulis buku.

Imam Baihaqi juga mengumpulkan Hadits-hadits dari beragam sumber terpercaya. Pemimpin Islam memintanya pindah dari Nihiya ke Naisabor untuk tujuan mendengarkan penjelasannya langsung dan mengadakan bedah buku. Maka di tahun 441, para pemimpin Islam itu membentuk sebuah majelis guna mendengarkan penjelasan mengenai buku 'Al Ma'rifa'. Banyak imam terkemuka turut hadir.

Imam Baihaqi hidup ketika kekacauan sedang marak di berbagai negeri Islam. Saat itu kaum muslim terpecah-belah berdasarkan politik, fikih, dan pemikiran. Antara kelompok yang satu dengan yang lain berusaha saling menyalahkan dan menjatuhkan, sehingga mempermudah musuh dari luar, yakni bangsa Romawi, untuk menceraiberaikan mereka. Dalam masa krisis ini, Imam Baihaqi hadir sebagai pribadi yang berkomitmen terhadap ajaran agama. Dia memberikan teladan bagaimana seharusnya menerjemahkan ajaran Islam dalam perilaku keseharian.

Sementara itu, dalam Wafiyatul A'yam, Ibnu Khalkan menulis, "Dia hidup zuhud, banyak beribadah, wara', dan mencontoh para salafus shalih."

Beliau terkenal sebagai seorang yang memiliki kecintaan besar terhadap hadits dan fikih. Dari situlah kemudian Imam Baihaqi populer sebagai pakar ilmu hadits dan fikih.

Setelah sekian lama menuntut ilmu kepada para ulama senior di berbagai negeri Islam, Imam Baihaqi kembali lagi ke tempat asalnya, kota Baihaq. Di sana, dia mulai menyebarkan berbagai ilmu yang telah didapatnya selama mengembara ke berbagai negeri Islam. Ia mulai banyak mengajar.

Selain mengajar, dia juga aktif menulis buku. Dia termasuk dalam deretan para penulis buku yang produktif. Diperkirakan, buku-buku tulisannya mencapai seribu jilid. Tema yang dikajinya sangat beragam, mulai dari akidah, hadits, fikih, hingga tarikh. Banyak ulama yang hadir lebih kemudian, yang mengapresiasi karya-karyanya itu. Hal itu lantaran pembahasannya yang demikian luas dan mendalam.

Meski dipandang sebagai ahli hadits, namun banyak kalangan menilai Baihaqi tidak cukup mengenal karya-karya hadits dari Tirmizi, Nasa'i, dan Ibn Majah. Dia juga tidak pernah berjumpa dengan buku hadits atau Masnad Ahmad bin Hanbal (Imam Hambali). Dia menggunakan Mustadrak al-Hakim karya Imam al-Hakim secara bebas.

Menurut ad-Dahabi, seorang ulama hadits, kajian Baihaqi dalam hadits tidak begitu besar, namun beliau mahir meriwayatkan hadits karena benar-benar mengetahui sub-sub bagian hadits dan para tokohnya yang telah muncul dalam isnad-isnad (sandaran atau rangkaian perawi hadits).

Di antara karya-karya Baihaqi, Kitab as-Sunnan al-Kubra yang terbit di Hyderabat, India, 10 jilid tahun 1344-1355, menjadi karya paling terkenal. Buku ini pernah mendapat penghargaan tertinggi.

Dari pernyataan as-Subki, ahli fikih, usul fikih serta hadits, tidak ada yang lebih baik dari kitab ini, baik dalam penyesuaian susunannya maupun mutunya.

Dalam karya tersebut ada catatan-catatan yang selalu ditambahkan mengenai nilai-nilai atau hal lainnya, seperti hadits-hadits dan para ahli hadits. Selain itu, setiap jilid cetakan Hyderabat itu memuat indeks yang berharga mengenai tokoh-tokoh dari tiga generasi pertama ahli-ahli hadits yang dijumpai dengan disertai petunjuk periwayatannya.

Itulah di antara sumbangsih dan peninggalan berharga dari Imam Baihaqi. Dia mewariskan ilmu-ilmunya untuk ditanamkan di dada para muridnya. Di samping telah pula mengabadikannya ke dalam berbagai bentuk karya tulis yang hingga sekarang pun tidak usai-usai juga dikaji orang.

Imam terkemuka ini meninggal dunia di Nisabur, Iran, tanggal 10 Jumadilawal 458 H (9 April 1066). Dia lantas dibawa ke tanah kelahirannya dan dimakamkan di sana. Penduduk kota Baihaq berpendapat, bahwa kota merekalah yang lebih patut sebagai tempat peristirahatan terakhir seorang pecinta hadits dan fikih, seperti Imam Baihaqi.

Sejumlah buku penting lain telah menjadi peninggalannya yang tidak ternilai. Antara lain buku "As-Sunnan Al Kubra", "Sheub Al Iman", "Tha La'il An Nabuwwa", "Al Asma wa As Sifat", dan "Ma'rifat As Sunnan cal Al Athaar".

Sumber : http://www.kotasantri.com/galeria.php?aksi=DetailArtikel&artid=162