Halaman

Subscribe:

Main Menu

Sabtu, Mei 31, 2008

Bingung

Siang dan terik panas pada siang ini
Kering dan kaaunya hati ini
Bimbang akan keputusan hati
Membuat gusar rasa dalam diri

Akankah bisa aku lakukan
Semua hal yang musti kulakukan
Untuk megurangi kegelisahan
Tapi timbul kegelisahan yang berlainan

Jumat, Mei 30, 2008

Subversion ( SVN )

History sebuah pekerjaan, tentunya akan sangat diperlukan jikalau suatu saat kita harus melihat atau bahkan menggunakan kembali data lama yang sudah kita edit. tentunya ini sangat merepotkan jika harus setiap membuat atau mengedit sebuah project kita harus membackup dengan mengkopy ke tempat lain dulu agar kita bisa menyimpan history pekerjaan kita. hal ini aku alami ketika harus di hadapkan dalam membuat sebuah proyek akhirq di D4 IT PENS ITS.

Untungnya ada sebuah software yang ya bisa dikatakan sangat bagus dan berguna coz dengannya aku bis dengan mudah melihat data project yang telah aku edit... bahkan aku bisa melihat perbedaannya dimana?? hehehee....

Nama softwarenya yaitu Subversion atau dengan nama pendeknya SVN. SVN adalah suatu software opensource yang dapat mengatur proses pengembangan perangkat lunak yang dilakukan oleh suatu kelompok pemrogram yang terpisah menjadi runut dan teratur

Cara memakainya mudah.....

untuk anda pengguna ubuntu atau debian tinggal apt-get install subversion beres dach .

trus pertama2 buat sebuah project svnnya dengan cara

svnadmin create

nah setelah itu.. agar lebih mudah install aja gui svn nya yaitu rapidsvn..

dengan rapidsvn chekoutlah project svn, dengan cara klik node di bagian kiri trus klik kanan -> chekout

isi kotak pertama dengan letak ditektori project svn yang td dibuat

kotak kedua untuk letak direktori hasil

trus OK

udah selesai . mudahkan..???

nah ketika sudah ngedit atau menambah sebuah file... klik file yang diubah biasanya ditandai dengan warna merah... trus commit...

untuk melihat data yang sebelumnya pilih menu update

Nah mudah kan ?? hehehe.........

Voice Processing

Hari ini aq mencoba bermain2 dengan pengenalan suara... ato biasa dikenal Voice Processing, tapi hasilnya masih Kacau gmana ya???

Frekuensi sampleq = 12000 Hz itu berarti 12000 sample per detik
1 Frame = 20 ms atau 0.02 detik itu berarti
1 dtk =12000
0.02 = ?
jml Sample dlm satu frame= 12000 * 0.02 / 1 = 240 sample

Panjang Rekaman = 0.9 detik
bearti
jumlah sample= 12000 * 0.9 /1 = 10800 sample
Jumlah Frame = 10800 / (240/2) = 90 frame // Ket : Framenya balapan :D

Untuk perhitungan pertama dengan java hasilnya kok gini ??

==============================
Ini Hasilnya bagus.. tapi jumlah frame kok beda jauh dengan perhitungan.......???
----------------------------------------------------------------------------
11059
2
88464
audioFormat.getFrameRate()=12000.0
audioFormat.getSampleRate()=12000.0
audioFormat.getFrameSize()=2
audioFormat.getSampleSizeInBits()=16
audioFormat.isBigEndian()=false
Jumlah Sample=5529
Jumlah Frame=46
=============================

trus aku akali aja biar jumlah samplenya sama... aku anggap sample size nya 8 , heheh....

hasilnya kayak gini...

============================

Hasilnya Jelek.... :( nilainya beda jauh dengan yang asli... aku plot hasilnya kacau
---------------------------------------------------------------------
11059
2
88464
audioFormat.getFrameRate()=12000.0
audioFormat.getSampleRate()=12000.0
audioFormat.getFrameSize()=2
audioFormat.getSampleSizeInBits()=16
sample size diganti 8
audioFormat.isBigEndian()=false
Jumlah Sample=11058
Jumlah Frame=92
==============================

Aku baru nget gimana kalo dianggap framenya itu juga balapan ???

Hasilnya kayak gini

=========================

Frame Dianggap Balapan :D
Hasil = BAgus Cuman frame yang belakang kok nilainya nol trus ???
Angka nol di mulai 2765 kenapa kok 2765 ???
---------------------------------------------------------------------
11059
2
88464
audioFormat.getFrameRate()=12000.0
audioFormat.getSampleRate()=12000.0
audioFormat.getFrameSize()=2
audioFormat.getSampleSizeInBits()=16
audioFormat.isBigEndian()=false
Jumlah Sample=11058
Jumlah Frame=92
==================================

I'Rab

I’rab itu adalah berubahnya akhir-akhir kalimat karena perbedaann amil-amil yang masuk atasnya baik secara lafadz atau taqdir. Bagian i’rab itu ada empat, yaitu rafa’, nashab, khofadh atau jar, dan jazm.

Setiap isim itu bisa rafa’, nashab, khafad dan tidak bisa jazm

Setiap fi’il itu bisa rafa’, nashab, jazm, dan tidak bisa khofadh.

Contoh Store Procedure di Pl/Pgsql


CREATE OR REPLACE FUNCTION
namaStoreProcedure(Parameter)
RETURNS SETOF
returnValue AS
$BODY$
DECLARE
Letak Deklarasi variabel
BEGIN
Letak Programnya disini
RETURN NEXT
returnValue;
END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE;

TIPS SETTING POSTGRES

Yach maklum saya sering lupa jadi naruh contekan kecil dari pengalaman otak-atik postgresql, yach sapa tahu besok-besok berguna :D hehehehe...

super user linux : root
super user postgresql : postgres

pada habis install, user "postgres" belum ada password

konfigurasi pgsql:
=======================
#vi /etc/postgresql/8.1/main/pg_hba.conf

$psql -U postgres postgres
postgres# alter role postgres encrypted password 'asdf';

restart daemon
# /etc/init.d/postgresql-8.1 restart

buat PL/PGSQL:
createlang -U postgres plpgsql template1


Create dbLink
psql -U postgres template1 < /usr/share/postgresql/8.1/contrib/dblink.sql

Data base default
postgres (database default)
tempalate1(baceman: ketika kita membuat sebuah database baru,berarti dia menduplikat database template1)

help
\?
\h

Menjalankan postgres pertama kali
pada saat pertama postgres di install belum ada password untuk user utama(postgres)
edit file pg_hba.conf
ada beberapa tipe
ident -> server kaya irc dll
md5 -> pake password encrypt
trust -> ga pake password
password -> pake password tanpa encrypt
ganti semua tipe menjadi trust
restart daemon postgree
# /etc/init.d/postgresql-8.1 restart
masuk pgsql
#psql – U postgres postgres
edit tabel pg_user
contoh isi tabel pg_user
usename | usesysid | usecreatedb | usesuper | usecatupd | passwd | valuntil | useconfig
----------+----------+-------------+----------+-----------+----------+----------+-----------
postgres | 10 | t | t | t | ******** | |
(1 rows)
kita tidak tahu password dari user postgres untuk itu kita ganti passwordnya
postgres=# alter role postgres encrypted password 'asdf'
kembalikan tipe di pg_hba.conf menjadi seperti semula (yaitu md5)
postgree sudah siap dipakai ....

User
untuk mengetahui siapa saja user yang ada :
postgres=#select * from pg_user;
untuk menambah user baru
Syntax:
CREATE ROLE name [ [ WITH ] option [ ... ] ]

where option can be:

SUPERUSER | NOSUPERUSER
| CREATEDB | NOCREATEDB
| CREATEROLE | NOCREATEROLE
| CREATEUSER | NOCREATEUSER
| INHERIT | NOINHERIT
| LOGIN | NOLOGIN
| CONNECTION LIMIT connlimit
| [ ENCRYPTED | UNENCRYPTED ] PASSWORD 'password'
| VALID UNTIL 'timestamp'
| IN ROLE rolename [, ...]
| IN GROUP rolename [, ...]
| ROLE rolename [, ...]
| ADMIN rolename [, ...]
| USER rolename [, ...]
| SYSID uid
untuk menghapus user
Syntax:
DROP ROLE name [, ...]
DataBase
untuk membuat database baru
Syntax:
CREATE DATABASE name
[ [ WITH ] [ OWNER [=] dbowner ]
[ TEMPLATE [=] template ]
[ ENCODING [=] encoding ]
[ TABLESPACE [=] tablespace ]
[ CONNECTION LIMIT [=] connlimit ] ]
menghapus database
Syntax:
DROP DATABASE name

BACKUP
Sintaks
#pg_dump -U user1 -f /tmp/backup.sql tesdb

RESUME
ada dua cara
1.dari command prompt langsung
sintaks : psql -U user1 tesdb < /tmp/backup.sql 2.dari psql sintaks : \i /tmp/backup.sql

DBLINK
menampilkan tabel dari database lain
select t1.* from dblink('dbname=aktest user=itats password=123','select mhsid from mhs',false) t1(mhsid varchar);

Kamis, Mei 29, 2008

Yang Di CInta

Aku mencintai Zat yang membuatku sadar akan anugerah, yang berbagai macam karunia-Nya menyebabkanku dikenai kewajiban, yang dekat dengan segenap kalbu, yang mengabulkan orang-orang yang membutuhkan

Rabu, Mei 28, 2008

Mengatur Presisi di BigDecimal

Dulu saya bingung untuk mengatur presisi dari BigDecimal di java. untuk mengatur presisi di java BigDecimal, kita bisa memakai MathContext

berikut contoh pengunaannya

    final int NUM_DIGITS = 500;
MathContext hiPrecision = new MathContext(NUM_DIGITS);

BigDecimal result = new BigDecimal(0, hiPrecision);
BigDecimal one = new BigDecimal(1, hiPrecision);

result = result.add(one, hiPrecision);
Atau dengan pake setScale aja.
Caranya gini

subtotal=subtotal.setScale(0,BigDecimal.ROUND_HALF_UP);

Kamis, Mei 22, 2008

Struts

Aku rasa sudah banya tahu apa itu Struts. Cuma aku yang ktinggalan zaman :D. Baru mengenal Struts, heheh.... :D. Struts adalah FrameWork Open Source yang di pakai untuk membangun aplikasi berbasis Web. yang sudah terinstregasi dengan standard technologi seperti Servlet, Java Beans dan Java Server Pages.
Struts memiliki banyak keuntungan bagi pengembang web aplikasi. juga sangat cocok dalam penerapan MVC di aplikasi berbasis web. Arsitektur Model-View-Controller adalah sebuah pola yang terbukti membangun proyek secara lebih efektif. Hal itu dilakukan dengan memilah komponen antara Model, View dan Controller pada bagian – bagian dalam proyek. Struts sangat bagus untuk Arsitektur ini. Berikut Arsitektur dari Struts.

Macam-Macam Kalam

Al kalam adalah Lafadz yang tersusun yang berfaedah dengan bahasa arab. Kalam itu ada tiga bagian : Isim, fi’il, dan huruf yang memiliki arti.
Isim itu dikenal dengan khafadh, tanwin, dan kemasukan alif dan lam. Dan huruf khafadh itu adalah :

مِنْ, وَإِلَى, وَعَنْ, وَعَلَى, وَفِي, وَرُبَّ, وَالْبَاءُ, وَالْكَافُ, وَاللَّام

dan huruf qasam (sumpah) yaitu waw, ba dan ta.
Fiil itu dikenal dengan huruf

ِقَدْ, وَالسِّينِ وَسَوْفَ وَتَاءِ اَلتَّأْنِيثِ اَلسَّاكِنَة

(ta ta’nits yang mati) ِ
Huruf itu adalah sesuatu yang tidak sah bersamanya petunjuk isim dan petunjuk fi’il.

Selasa, Mei 20, 2008

Jalankan File Executable di java

private String Jalankan(String perintah) throws IOException {
Process p = Runtime.getRuntime().exec(perintah);
InputStream stdoutStream = new BufferedInputStream(p.getInputStream());

StringBuffer buffer= new StringBuffer();
for (;;) {
int c = stdoutStream.read();
if (c == -1) break;
buffer.append((char)c);
}
String outputText = buffer.toString();

stdoutStream.close();

return outputText;
}

Ketaatan sejati

Ketaatan sejati adalah demi ketaatan itu sendiri, bukan karena mengharap surga atau takut pada neraka.

(Rabi'ah al-Adawiyah)

Cinta dan Kesenangan

Jika seseorang mencintai orang lain karena memberinya kesenangan, seharusnya ia tidak menganggap bahwa ia mencintai orang tersebut sama sekali. Cinta, pada kenyatannya adalah, kendati hal ini tidak disadari, ditujukan pada kesenangan. Sumber kesenangan merupakan sasaran perhatian sekunder, dan hal itu dirasakan hanya karena persepsi mengenai kesenangan tidak cukup baik dikembangkan untuk mengenali dan menggambarkan perasaan yang sebenarnya.

Sabtu, Mei 17, 2008

Hash MD5 di java

Hash, aku rasa temen2 udah pada tahu apa itu Hash. biasanya itu di pake untuk keamanan jaringan komputer atau jaringan, atau apa aja lah :D

dalam database biasanya udah ada fungsi Hashnya, Hash yang paling terkenal adalah MD5. di java juga ada method untuk mendapatkan Hash. Yaitu MessageDigest. cara pengunaanya cukup mudah. berikut adalah contoh function untuk mendapatakan Hash tipe MD5 dengan java :

public static String getMD5_Hash(String text) throws NoSuchAlgorithmException, UnsupportedEncodingException{
String retval = null;
MessageDigest md;
md = MessageDigest.getInstance("MD5");
byte[] md5hash = new byte[32];
md.update(text.getBytes("iso-8859-1"), 0, text.length());
md5hash = md.digest();
return convertToHex(md5hash);
}

Dalam MessageDigest dikenal beberapa Hash antara lain : MD5, MD2, SHA-1, SHA-256, SHA-384, SHA-512.
Jadi kalo mau ganti method / program di atas menjadi Hash SHA-1 tinggal ganti aja

md = MessageDigest.getInstance("MD5");
Menjadi

md = MessageDigest.getInstance("SHA-1");

Begitu juga kalo memakai jenis Hash Yang lain :)

Jumat, Mei 16, 2008

Request For Muslim

Permintaan Untuk Semua Muslim
  • Jangan menulis "Mosque" Tapi tulislah "Masjid" Karena Sesungguhnya arti dari Mosque=mosquitos ( Nyamuk ).
  • Jangan menulis "Mecca" Tapi tulislah "Makkah" Karena Sesungguhnya arti dari Mecca=house of wines ( Rumah anggur/minumam yang memabukkan).
  • Jangan menulis "Mohd" Tapi tulislah "Muhammad" Karena Sesungguhnya arti dari Mohd=the dog with big mouth ( Anjing ber mulut besar).
  • Jangan Menulis "4JJI" Tapi Tulislah "ALLAH SWT" Karena Sesungguhnya arti dari 4JJI=4 Judas, Jesus, Isa almasih
  • Jika ingin memotong kata "Assalamualaikum" tulislah "Asslm" jangan "Ass" Karena Ass=donkey( Keledai ),

Kamis, Mei 15, 2008

Akuntansi.. pelajaran yang tidak aku sukai

Sekarang di kantor lagi buat program untuk accounting. dan kebetulan yang nanganin aku. jadi ya perlu belajar akunting juga. padahal kalo inget dulu pas SMA. aku bener-bener gak mau masuk IPS karena ada pelajaran akuntansi yang super membingungkan. hahaha.... :D. tiap hari ngitung jumlah uang tapi gak pernah megang uangnya, hehehe.. eh lha kok sekarang malah buat program akuntansi. mati aku. hufff.....

Di pikir-pikir bisa gak ya? Ribet juga sech akunting, tapi setelah di dalami lebih, aturan dasar dalam akuntansi tetep sama kok. gak ribet-ribet juga :D. hehehe.... sekarang bisa bilang gitu. cobak kemarin... kakakak..... ;)

udahlah tetep semangat. chayo2 :D, aku pasti bisa, hehehe....

Rabu, Mei 14, 2008

Install Lan Card Motherboard ASUS P5GC-MX

1.Copy folder Atl2Linux_v0.2.40.0 dari CD kedalam folder anda
misal ditaruh di /home/bastomi/tmp


2.Masuk terminal ketik
cd /home/tmp/l2-linux-v1.0.40.4/src


3. Masuk sebagai user root

root@server:~/tmp/l2-linux-v1.0.40.4/src# make install
make: Warning: File `Makefile' has modification time 5.7e+07 s in the future
make -C /lib/modules/2.6.20-15-generic/build SUBDIRS=/home/active/tmp/l2-linux-v1.0.40.4/src modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.20-15-generic'
make[2]: Warning: File `/home/active/tmp/l2-linux-v1.0.40.4/src/Makefile' has modification time 5.7e+07 s in the future
CC [M] /home/active/tmp/l2-linux-v1.0.40.4/src/at_main.o
CC [M] /home/active/tmp/l2-linux-v1.0.40.4/src/at_hw.o
CC [M] /home/active/tmp/l2-linux-v1.0.40.4/src/at_param.o
CC [M] /home/active/tmp/l2-linux-v1.0.40.4/src/at_ethtool.o
CC [M] /home/active/tmp/l2-linux-v1.0.40.4/src/kcompat.o
LD [M] /home/active/tmp/l2-linux-v1.0.40.4/src/atl2.o
make[2]: warning: Clock skew detected. Your build may be incomplete.
Building modules, stage 2.
MODPOST 1 modules
LD [M] /home/active/tmp/l2-linux-v1.0.40.4/src/atl2.ko
make[1]: Leaving directory `/usr/src/linux-headers-2.6.20-15-generic'
gzip -c ../atl2.7 > atl2.7.gz
# remove all old versions of the driver
find /lib/modules/2.6.20-15-generic -name atl2.ko -exec rm -f {} \; || true
find /lib/modules/2.6.20-15-generic -name atl2.ko.gz -exec rm -f {} \; || true
install -D -m 644 atl2.ko /lib/modules/2.6.20-15-generic/kernel/drivers/net/atl2/atl2.ko
/sbin/depmod -a || true
install -D -m 644 atl2.7.gz /usr/share/man/man7/atl2.7.gz
man -c -P'cat > /dev/null' atl2 || true
man:
cannot write to /var/cache/man/cat7/atl2.7.gz in catman mode
atl2.
make: warning: Clock skew detected. Your build may be incomplete.
root@server:~/tmp/l2-linux-v1.0.40.4/src# ls /lib/modules/2.6.20-15-generic/kernel/drivers/net/at
at1700.ko atl2/ atp.ko
root@server:~/tmp/l2-linux-v1.0.40.4/src# ls /lib/modules/2.6.20-15-generic/kernel/drivers/net/atl2/
atl2.ko
root@server:~/tmp/l2-linux-v1.0.40.4/src# modprobe atl2
root@server:~/tmp/l2-linux-v1.0.40.4/src#
4.Agar Lan Card dapat terbaca saat Reboot, harus di tambahkan di /etc/modules.conf kalo gak ada di situ cobak cari di /etc/modprobe.conf kalo gak ada lagi cari di /etc/modprobe.d/aliases
tambahkan script ini

aliases eth0 atl2


5. restart

Selasa, Mei 13, 2008

Inittab di ubuntu

Dulu saya kebingungan saat pertama pindah di ubuntu Edgy, ternyata file /etc/inittab gak ada. bilangnya "no such file or directory". lah terus gimana nich ? jadi kebingungan juga sech, kok bisa gak ada. ternyata setelah di cek kesana sini ternyata emang bener.

Ubuntu gak mau pake inittab lagi untuk ngatur service saat startup atau shutdown. tapi dia make yang lain, ubuntu memberinya nama upstart. sebagai gantinya inittab. letak file - filenya ada di /etc/even.d/

mungkin kita akan kebingungan juga saat lihat isi dari upstart, gimana cara make nya? setelah di lihat sana - sini tentunya pake paman google :D. ternyata cara makenya itu gini.

di dalam folder upstart atau /etc/even.d itu kan ada banyak folder tuch. nah folder tty? itu untuk settingan masalah tty?, jadi untuk folder tty3 misalnya itu untuk setting2 yang di pake tty3.kalo folder rc? itu untuk menunjukkan apa saja yang perlu di jalankan untuk runlevel ?. jadi misalnya foler rc3 itu untuk menunjukkan program apa aja yang perlu di jalankan di runlevel 3

nah untuk ganti komputer itu mau pake runlevel berapa? pake aja perntah runlevel :)

Syamsuddin Sumatrani Sufi Legendaris dari Nangroe Aceh

Sejak lama Aceh telah dikenal sebagai satu-satunya daerah yang aksentuasi keislamannya paling menonjol. Selain menonjolnya warna keislaman dalam kehidupan sosio-kultur di sana, ternyata di Serambi Mekah ini pernah tersimpan pula sejumlah Sufi ternama semisal Samsuddin Sumatrani.

Syamsuddin Sumatrani adalah salah satu tokoh sufi terkemuka yang telah turut mengguratkan corak esoteris pada wajah Islam di Aceh. Sayangnya perjalanan hidup sang sufi ini sulit sekali untuk dirangkai secara utuh. Hal ini selain karena tidak ditemukannya catatan otobiografisnya, juga karena langkanya sumber-sumber akurat yang dapat dirujuk.

Bahkan tidak kurang peneliti seperti Prof. Dr. Azis Dahlan yang pernah mengadakan penelitian untuk disertasinya, merasa kesulitan dengan langkanya sumber-sumber mengenai tokoh sufi yang satu ini. Diantara sumber tua yang dapat dijumpai mengenai potret Syamsuddin Sumatrani adalah Hikayat Aceh, Adat Aceh, dan kitab Bustanu al-Salathin. Itupun tidak memotret perjalanan hidupnya secara terinci. Meski demikian, dari serpihan-serpihan data historis yang terbatas itu kiranya cukuplah bagi kita untuk sekedar memperoleh gambaran akan kiprahnya berikut spektrum pemikirannya.

Mengenai asal-usulnya, tidak diketahui secara pasti kapan dan di mana ia lahir. Perihal sebutan Sumatrani yang selalu diiringkan di belakang namanya, itu merupakan penisbahan dirinya kepada “negeri Sumatra” alias Samudra Pasai. Sebab memang di kepulauan Sumatra ini tempo doeloe pernah berdiri sebuah kerajaan yang cukup ternama, yakni Samudra Pasai. Itulah sebabnya ia juga adakalanya disebut Syamsuddin Pasai.

Sabtu, Mei 10, 2008

Abu Yazid Al Busthami - Raja Para Mistik

Abu Yazid Thoifur bin Isa bin Surusyan al-Busthami, lahir di Bustham terletak di bagian timur Laut Persi. Meninggal di Bustham pada tahun 261 H/874 M. Beliau merupakan salah seorang Sulton Aulia, yang juga sebagai salah satu Syeikh yang ada dalam silsilah dalam thoriqoh Sadziliyah dan beberapa thoriqoh yang lain. Kakek Abu Yazid merupakan penganut agama Zoroaster. Ayahnya adalah salah satu di antara orang-orang terkemuka di Bustham.

Kehidupan Abu Yazid yang luar biasa bermula sejak ia masih berada dalam kandungan. "Setiap kali aku menyuap makanan yang kuragukan kehalalannya", ibunya sering berkata pada Abu Yazid, "engkau yang masih berada didalam rahimku memberontak dan tidak mau berhenti sebelum makanan itu kumuntahkan kembali". Pernyataan itu dibenarkan oleh Abu Yazid sendiri. Setelah sampai waktunya, si ibu mengirim Abu Yazid ke sekolah untuk mempelajari Al Qur-an. Pada suatu hari gurunya menerangkan arti satu ayat dari surat Luqman yang berbunyi, "Berterima kasihlah kepada-Ku dan kepada kedua orang tuamu". Ayat ini sangat menggetarkan hati Abu Yazid, ia lalu meletakkan batu tulisnya dan berkata kepada gurunya, "ijinkanlah aku pulang, ada yang hendak kukatakan pada ibuku". Si guru memberi ijin, Abu Yazid lalu pulang kerumah. Ibunya menyambut dengan kata-kata,"Thoifur, mengapa engkau sudah pulang ? Apakah engkau mendapat hadiah atau adakah sesuatu kejadian istimewa ?". "Tidak" jawab Abu Yazid, "Pelajaranku sampai pada ayat dimana Allah memerintahkan agar aku berbakti kepada-Nya dan kepada engkau wahai ibu. Tetapi aku tak dapat mengurus dua rumah dalam waktu yang bersamaan. Ayat ini sangat menyusahkan hatiku. Maka wahai ibu, mintalah diriku ini kepada Allah sehingga aku menjadi milikmu seorang atau serahkanlah aku kepada Allah semata sehingga aku dapat hidup untuk Dia semata". "Anakku" jawab ibunya, "aku serahkan engkau kepada Allah dan kubebaskan engkau dari semua kewajibanmu terhadapku. Pergilah engkau menjadi hamba Allah.

Jumat, Mei 09, 2008

DateFormat dalam java

Terkadang kita juga butuh untuk memproses tanggal. sesuai dengan tampilan keinginan kita. dalam java kita bisa memanfaatkan Class java.text.DateFormat dan lain2. berikut ini adalah contoh penggunaannya :

import java.text.DateFormat;
import java.util.Date;

public class DateFormatExample1 {

public static void main(String[] args) {
// Make a new Date object. It will be initialized to the current time.
Date now = new Date();

// See what toString() returns
System.out.println(" 1. " + now.toString());

// Next, try the default DateFormat
System.out.println(" 2. " + DateFormat.getInstance().format(now));

// And the default time and date-time DateFormats
System.out.println(" 3. " + DateFormat.getTimeInstance().format(now));
System.out.println(" 4. " +
DateFormat.getDateTimeInstance().format(now));

// Next, try the short, medium and long variants of the
// default time format
System.out.println(" 5. " +
DateFormat.getTimeInstance(DateFormat.SHORT).format(now));
System.out.println(" 6. " +
DateFormat.getTimeInstance(DateFormat.MEDIUM).format(now));
System.out.println(" 7. " +
DateFormat.getTimeInstance(DateFormat.LONG).format(now));

// For the default date-time format, the length of both the
// date and time elements can be specified. Here are some examples:
System.out.println(" 8. " + DateFormat.getDateTimeInstance(
DateFormat.SHORT, DateFormat.SHORT).format(now));
System.out.println(" 9. " + DateFormat.getDateTimeInstance(
DateFormat.MEDIUM, DateFormat.SHORT).format(now));
System.out.println("10. " + DateFormat.getDateTimeInstance(
DateFormat.LONG, DateFormat.LONG).format(now));
}
}
Hasil
> java DateFormatExample1
1. Tue Nov 04 20:14:11 EST 2003
2. 11/4/03 8:14 PM
3. 8:14:11 PM
4. Nov 4, 2003 8:14:11 PM
5. 8:14 PM
6. 8:14:11 PM
7. 8:14:11 PM EST
8. 11/4/03 8:14 PM
9. Nov 4, 2003 8:14 PM
10. November 4, 2003 8:14:11 PM EST

Terkadang juga kita butuh mendapatkan nilai tanggal dari input data String. nah kita bisa manfaatin class tadi juga. caranya kayak gini nech

import java.text.DateFormat;
import java.text.ParseException;
import java.util.Date;

public class DateFormatExample2 {

public static void main(String[] args) {
// Make a String that has a date in it, with MEDIUM date format
// and SHORT time format.
String dateString = "Nov 4, 2003 8:14 PM";

// Get the default MEDIUM/SHORT DateFormat
DateFormat format =
DateFormat.getDateTimeInstance(
DateFormat.MEDIUM, DateFormat.SHORT);

// Parse the date
try {
Date date = format.parse(dateString);
System.out.println("Original string: " + dateString);
System.out.println("Parsed date : " +
date.toString());
}
catch(ParseException pe) {
System.out.println("ERROR: could not parse date in string \"" +
dateString + "\"");
}
}
}
Hasil
> java DateFormatExample2
Original string: Nov 4, 2003 8:14 PM
Parsed date : Tue Nov 04 20:14:00 EST 2003

Lyrics to Aku Di Sampingmu by Indra:

kulihat engkau diam
larut hening dalam
sepi hatimu

kutahu engkau lelah
berat tuk melangkah
kemana arah mu

reff :

tenanglah tenang
aku disampingmu selalu
ada menjagamu

tenanglah tenang
aku disisimu selalu
ada menuntunmu

pejamkan matamu
jangan pernah ragu
untuk melangkah

raihlah semua
angan dan mimpimu
isilah waktumu

back to reff.

sandarkanlah kepalamu di bahuku
menangislah..........

back to reff 2x

tenanglah tenang
aku disisimu selalu
ada menjagamu

Rabu, Mei 07, 2008

Pantai Harapan

Dalam kehidupanku ini
Kuimpikan sebuah pantai harapan
Yang memberiku kebahagiaan
Yang memberiku ketenangan

Dalam perjalananku mencari pantai harapan
Banyak rintangan dan cobaan
Banyak persyaratan dan kewajiban
yang semuanya harus dapat diselesaikan

perjalananku di lautan yang penuh ombak dan badai
membuatku terasa muntah mual seakan aku tak sanggup menjalaninya lagi
besarnya ombak kuatnya badai
seakan membuat kaki ini tak mampu berdiri lagi

setelah keletihan yang begitu payah
rasa hati tak kuat berlanjut
kudapatkan sebuah jalan yang indah
jalan yang ditempuh sebagian kecil pelancong menuju pantai harapan

tapi jalan ini membutuhkan persiapan
persiapan yang cukup kuat lebih dari jalan sebelumnya
jika saja aku kalah dalam perjalanan ini
hancurlah sudah diriku tak dapat sampai pada pantai harapanku

kusiapkan hati dan jiwa ku
kemantapkan tekadku melewati jalan ini
kucari seorang pelancong yang benar-benar memahami jalan ini
sebagai petunjuk bagiku untuk melewati jalan ini

dan akhirnya kudapatkan pelancong itu
beliau membimbingku menuntunku menuju pantai harapan
dilewatkan aku kedalam samudra lautan
melewati bawahnya ombak besar yang ganas dan badai yang keras

dan baru kurasakan betapa indahnya perjalanan ini
betapa indahnya dasar samudra ini
ombak dan badai yang dulu kurasakan sebagai beban
hari ini kurasakan sebagai pemandangan yang indah bagiku

ternyata dengan memasuki lautan yang ganas
kudapatkan keindahan dibaliknya
kurasakan kesenangan dalam perjalanan ini
betapa indahnya perjalanan ini

tapi aku tidak boleh terlena dengan keindahan ini
sehingga melupakan tujuan akhirku
yaitu pantai harapan
pantai yang lebih indah dari perjalanan ini

akankah aku dapat bertahan
dalam perjalanan yang penuh godaan ini
kuatkanlah hati ini tuhan
biarkan aku menuju keistanamu

Image Processing di java

Lanjuatan Artikel Sebelumnya Buat Picture Box di java. dengan komponen yang telah di buat dulu. kita bisa mengambar dengan mudah di java :D. dengan kata lain kita bisa memakainya untuk Image Processing di Java. atau untuk Sound Processing Di java. Artikel yang sekarang kita coba pake untuk Image Processing di java dulu y.. :)

Dulu sudah buat komponen picture box nah di komponen itu bisa kita edit2 atau tambahin nech. tidak hanya nampilin image. misal kita mau gambar garis. tinggal kita tambahin aja method drawLine,draw Oval atau pun lainnya. kita manfaatin tuch method2nya Graphics. antara lain

draw3DRect(int x, int y, int width, int height, boolean raised)
drawArc(int x, int y, int width, int height, int startAngle, int arcAngle)
drawBytes(byte[] data, int offset, int length, int x, int y)
drawChars(char[] data, int offset, int length, int x, int y)
drawImage(Image img, int x, int y, Color bgcolor, ImageObserver observer)
drawImage(Image img, int x, int y, ImageObserver observer)
drawImage(Image img, int x, int y, int width, int height, Color bgcolor, ImageObserver observer)
drawImage(Image img, int x, int y, int width, int height, ImageObserver observer)
drawImage(Image img, int dx1, int dy1, int dx2, int dy2, int sx1, int sy1, int sx2, int sy2, Color bgcolor, ImageObserver observer)
drawImage(Image img, int dx1, int dy1, int dx2, int dy2, int sx1, int sy1, int sx2, int sy2, ImageObserver observer)
drawLine(int x1, int y1, int x2, int y2)
drawOval(int x, int y, int width, int height)
drawPolygon(int[] xPoints, int[] yPoints, int nPoints)
drawPolygon(Polygon p)
drawPolyline(int[] xPoints, int[] yPoints, int nPoints)
drawRect(int x, int y, int width, int height)
drawRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight)
drawString(AttributedCharacterIterator iterator, int x, int y)
drawString(String str, int x, int y)
fill3DRect(int x, int y, int width, int height, boolean raised)
fillArc(int x, int y, int width, int height, int startAngle, int arcAngle)
fillOval(int x, int y, int width, int height)
fillPolygon(int[] xPoints, int[] yPoints, int nPoints)
fillPolygon(Polygon p)
fillRect(int x, int y, int width, int height)
fillRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight)

dan lain-lain.. tinggal kita butuhnya apa :)

oh iya. yang paling penting dalam image processing itu kan, gimana agar kita bisa dapetin RGB dari pixel tertentu. nah untuk itu ada caranya. tadi saat drawImage. imagenya di simpen dalam variabel aja. eh tunggu dulu. jenis image tadi apa dulu? java.awt.image atau BufferedImage?
kalo jenisnya image buatin method kayak gini untuk dapetin RGB nya

public void handlesinglepixel(int x, int y, int pixel) {
int alpha = (pixel >> 24) & 0xff;
int red = (pixel >> 16) & 0xff;
int green = (pixel >> 8) & 0xff;
int blue = (pixel ) & 0xff;
// Deal with the pixel as necessary...
}

public void handlepixels(Image img, int x, int y, int w, int h) {
int[] pixels = new int[w * h];
PixelGrabber pg = new PixelGrabber(img, x, y, w, h, pixels, 0, w);
try {
pg.grabPixels();
} catch (InterruptedException e) {
System.err.println("interrupted waiting for pixels!");
return;
}
if ((pg.getStatus() & ImageObserver.ABORT) != 0) {
System.err.println("image fetch aborted or errored");
return;
}

kalo jenisnya BufferedImage kita bisa langsung dapetin RGBnya dengan
BufferedImage.getRGB(x, y);
kalo jenisnya selain itu. berarti musti kita convert ke jenis ini. image atau BufferedImage :)

udahlah aku rasa itu aja dulu :).

Senin, Mei 05, 2008

Linux Terminal Server Project ( LTSP )

Jadi inget dulu. aku pertama masuk kerja. langsung di suruh bikin LTSP. padahal aku belum begitu mengerti apa itu LTSP dan bagaimana cara bikinnya.
berikut sedikit cara installasi LTSP yang saya kerjakan dulu :D
  1. Download dulu installer ltspnya. downloadnya disini nich
    http://ltsp.mirrors.tds.net/pub/ltsp/isos/ltsp-4.2u2-0.iso
  2. Terus mounting dulu ltsp hasil downloadnya
    jangan lupa pake parameter loop dengan tipe iso9660. kayak gini nech
    ali@bastomi:/home/bastomi# mount -t iso9660 ltsp-4.2u2-0.iso /mnt/loop/ -o loop
  3. install program ltspnya
    masuk ke direktori /mn/loop/ltsp-utils
    lalu install ltsp-utilsnya :). kalo anda pake varian debian pake aja yang *.deb. kalo pake varian slackware pake aja yang *.tgz, atau pake *.rpm yang pake varian redhat
  4. setelah di install jalankan ltsp-utilsnya pake perntah kayak gini nech
    ali@bastomi:/home/bastomi# ltspadmin
  5. nah akan tampil 4 pilihan
    LTSP Administration Utility

    Install/Update LTSP Packages
    Configure the installer options
    Configure LTSP

    Quit the administration program
  6. Pilih Configure LTSP dulu. terus Show Status
    Interface IP Address Netmask Network Broadcast Used
    eth0 192.168.1.252 255.255.255.0 192.168.1.0 192.168.1.255 <-----

    Service Installed Enabled Running Notes
    dhcpd Yes no Yes Version 3
    tftpd Yes Yes Yes Has '-s' flag
    portmapper Yes Yes Yes
    nfs Yes Yes Yes
    xdmcp Yes Yes Yes gdm Using: gdm

    File Configured Notes
    /etc/hosts Yes
    /etc/hosts.allow Yes
    /etc/exports Yes
    /opt/ltsp/i386/etc/lts.conf Yes

    grep: /etc/inittab: No such file or directory
    Argument "(value of initdefault in /etc/inittab)" isn't numeric in printf at /usr/sbin/ltspcfg line 164, line 2.
    Use of uninitialized value in printf at /usr/sbin/ltspcfg line 164, line 2.
    Configured runlevel: 0
    Current runlevel: 2 (output of the 'runlevel' command)

    Installation dir...: /opt/ltsp

  7. nah pastikan semua service yang ada sudah di install dan running
  8. setelah itu semua beres tinggal Install/Update LTSP Package
  9. kalo udah.. seharusnya udah bisa. kalo belum bisa coba cek lagi service2nya. mukin ada yang belum running atau bagaimana gitu



Ranting - Ranting dalam Pohon islam

Terdapat banyak hadits yang menerangkan kondisi umat, yang akan terpecah kedalam golongan-golongan dan kelompok-kelompok. Sebagian besar dari hadits tersebut menyatakan bahwa umat Islam akan terbagi dalam 73 golongan, tetapi hanya satu golongan yang akan selamat. Semoga Allah SWT menjadikan kita bagian dari golongan yang selamat.
Rosulullah SAW diriwayatkan telah bersabda :
“Demi jiwaku yang ada di tangan-Nya. Umatku akan terpecah menjadi 73 golongan, 72 akan masuk nereka. Para shahabat bertanya : “Siapa golongan yang selamat ya Rosulullah?”
Rosulullah menjawab : “Al-Jamaa’ah.”

Diriwayatkan oleh Abu Hurairoh bahwa Rosulullah SAW bersabda :
“Orang-orang Yahudi terbagi dalam 71 golongan atau 72 golongan dan Nasrani pun demikian. Umatku akan terpecah menjadi 73 golongan.” (HR. Tirmidzi, Hadits no. 2564)

Abdullah Ibnu Amru meriwayatkan bahwa Rosulullah SAW bersabda :
“Umatku akan menyerupai Bani Israil selangkah demi selangkah. Bahkan jika seseorang dari mereka menyetubuhi ibunya secara terang-terangan, seseorang dari umatku juga akan mengikutinya. Kaum Bani Israil terpecah menjadi 72 golongan. Umatku akan terpecah menjadi 73 golongan, seluruhnya akan masuk neraka, hanya satu yang masuk surga.” Kami (para shahabat) bertanya, “Yang mana yang selamat ?” Rosulullah SAW menjawab, “ Yang mengikutiku dan para shahabatku.” (HR.Tirmidzi, Hadits no.2565. Juga diriwayatkan dengan kalimat yang sama oleh Abu Salamah dan Abu Hurairoh dalam Kitab Al Fitan dari Sunan Ibnu Majah, hadits no.3981)

Dalam sharah Tirmidzi, Imam Ahwazi berkata :
‘Jawaban dari hadits ini yaitu hadits dari Abdullah bin Amru bahwa, ‘seluruh golongan itu masuk neraka dan satu yang masuk surga’ dan ini menjadi satu bukti dari Rosulullah SAW bahwa Beliau memberitahukan kita hal-hal yang ghaib. Dan golongan yang selamat itu adalah Ahlussunnah wal Jamaa’ah.’


Dan sudah terbukti pada saat ini banyak bermunculan golongan-golongan dan kelompok-kelompok yang tidak jarang satu sama lain sering menimbulkan bentrokan yang di sebabkan masalah yang sangat kecil. ada pula sebagian golongan yang terang - terangan dan jelas sangat bertentangan dengan ajaran islam, yang berlandaskan al-qur'an dan hadits.

Hal ini semakin membuatku bingung manakah golonan yang sesuai dengan ahlus sunah wal jama'ah. yang sesuai dg yang diutarakan hadits diatas. begitu banyaknya golongan, begitu banyak jama'ah yang mengatakan dirinyalah yang paling benar dibandingkan yang lain. satu sama lain selalu adu pendapat dan argumen yang menyatakan dirinya yang paling benar.

hari demi hari permasalahan ini terus menganjal di dalam hatiku. sampai akhirnya ada seorang guru yang menjadi pembimbing ku, yang menuntunku ke jalan yang terang.

beliau mengatakan: "Agama ini seperti sebuah pohon besar, pohon yang memiliki begitu banyak cabang dan ranting-ranting yang kecil. satu sama lain saling menguatkan. semakin banyak cabang dan rantingnya, maka pohon itu akan semakin rindang dan sejuk untuk sandaran istirahat saat matahari di atas ubun-ubun kepala.
Tapi ada juga beberapa jenis cabang yang menyedot inti sari dari pohon ini. itu lah yang dinamakan benalu. benalu selalu menghisap inti sari dari pohon. mencuri makanan dari pohon itu. dan membuat pohon itu semakin hilang kekuatannya.
Benalu pun begitu banyak macamnya. ada yang serupa dengan daunnya sehingga sulit untuk membedakan apakah itu benalu atau bukan? tapi ada juga benalu yang sangat berbeda rupanya. bentuk dan warnyanya. benalu yang semacam ini dapat dengan mudah dikenali. benalu2 inilah yang merusak islam. yang harus kita singkirkan dari islam."

aku bertanya: Tapi bagaimanakah kita bisa mengenali dengan pasti yang manakah benalu itu? sedangakan ada benalu yang begtu mirip dengan pohonnya?

beliau mengatakan : "untuk mengetahui benalu pertama kita harus mengerti dulu ciri2 dari pohon kita. yaitu
pohon islam hanya mempunyai satu akar yaitu alqur'an dan hadits, berarti ranting atau cabang yang tidak satu akar dengan pohon yaitu al'quran dan hadits berarti itu benalu. yang paling utama adalah tujuan di tanamnya pohon itu adalah agar menghasilkan buah. buah dari pohon islam adalah takwa kepada allah. jika ada cabang atau ranting yang tidak memliki buah seperti ini. maka perlu di curigai apakah itu benalu atau bukan?. tapi ingat jangan kamu langsung menuduh kalo itu ranting yang salah. dan beranggapan bahwa dirimulah yang paling benar. ingat orang yang merasa dirinya suci sebenarnya dia tidak suci."

lalu apa yang musti saya lakukan?

ikutilah para ulama' akhirat. yang mengabdikan dirinya untuk kehidupan akhirat. ulama yang memiliki garis keturunan nabi muhamad. insya'allah engkau akan di bimbingnya menuju jalan kepada allah.. Amiin... :)

Jumat, Mei 02, 2008

Suka - Duka Jadi Programmer

Suka

1. Setelah lulus kuliah, cari kerja gampang. Demand posisi programmer sangat tinggi beberapa tahun terakhir ini.

Duka

1. Setelah kerja, belajar dan belajar dan belajar yang tidak pernah selesai. Ada teknologi baru, belajar. Ada yang baru lagi, belajar lagi. Intinya, ga pernah berhenti belajar. Cape deh… Kapan bisa bilang, “Get a life man…”

2. Deadline dan deadline dan deadline yang tiada pernah berhenti. Selesai satu projek, pindah ke projek lain. Selesai satu deadline, pindah ke deadline lain.

3. Kalau lagi senggang, trus browsing, trus dilihat bagian keuangan, trus dijutekin. “Emangnya gue ngegaji lo buat browsing… Ngapain kek. Kerja apa kek.” Lah, kalau emang ga ada kerjaan, masa mo nyari-nyari kerjaan. Iseng amat.

4. Tiap hari kerjanya duduk. Banyak duduk, perut buncit. Perut buncit, cewe lari.

5. (Lagi)Tiap hari kerjanya duduk. Banyak duduk, kena wasir. Kena wasir, lihat darah -> pingsan.

6. (Lagi)Tiap hari kerjanya duduk. Banyak duduk dan banyak kerja, rambut jadi gondrong, berjenggot, berkumis sehingga penampilan jadi dekil. Penampilan dekil, cewe menjauh. Lagi-lagi cewe pada lari.

7. Posisi kerjaan hanya : Junior Programmer dan Senior Programmer. Sudah, mandek. Mo bisa punya mobil, otomatis cari side job.

8. Kalau aplikasi buatannya eror, dicaci maki. Ga bakal dibayar. Kalau tidak muncul eror, dicari-cari sampai muncul. Duh, eror kok dicari-cari. Dah lah bayar aja invoice nya…

9. Dah tahu kerjaannya didepan komputer, kantor masih saja nyuruh pake baju berkerah. Padahal, kalau ketemu klien, yang menghadapi mereka adalah orang marketing atau project manager. Duh… Risih.

10. Program mau selesai, klien minta nambah ini itu. Katanya biar ini itu. Ga dikerjain, nanti bisa mengganggu operasional ini itu. Kalau ga dikerjain, ga mau dibayar. Kalau projek ga dibayar, gaji bisa telat. Jahat-jahatnya GAJI bisa ga dibayar.

…Dukanya banyak ternyata. So, jangan jadi programmer yah…

Kamis, Mei 01, 2008

Mendapatkan Informasi Sistem dg Java

Terkadang dalam program kita butuh untuk mendapatkan informasi tentang komputer yang kita pakai. misalnya jenis operating system itu. ip addressnya, dll

nah berikut perintah2 sederhana di java itu untuk mendapat informasi sistem :)

Mendapatkan IP Adress
InetAddress.getLocalHost().getHostAddress()
Java Runtime Environment version
System.getProperty("java.version")

Java Runtime Environment vendor
System.getProperty("java.vendor")
Java vendor URL
System.getProperty("java.vendor.url")
Java installation directory
System.getProperty("java.home")

Java Virtual Machine specification version
System.getProperty("java.vm.specification.version")

Java Virtual Machine specification vendor
System.getProperty("java.vm.specification.vendor")

Java Virtual Machine specification name
System.getProperty("java.vm.specification.name")

Java Virtual Machine implementation version
System.getProperty("java.vm.version")

Java Virtual Machine implementation vendor
System.getProperty("java.vm.vendor")

Java Virtual Machine implementation name
System.getProperty("java.vm.name")

Java Runtime Environment specification version
System.getProperty("java.specification.version")

Java Runtime Environment specification vendor
System.getProperty("java.specification.vendor")

Java Runtime Environment specification name
System.getProperty("java.specification.name")

Java class format version number
System.getProperty("java.class.version")

Java class path
System.getProperty("java.class.path")

List of paths to search when loading libraries
System.getProperty("java.library.path")

Default temp file path
System.getProperty("java.io.tmpdir")

Name of JIT compiler to use
System.getProperty("java.compiler")

Path of extension directory or directories
System.getProperty("java.ext.dirs")

Operating System name
System.getProperty("os.name")

Operating System architecture
System.getProperty("os.arch")

Operating System version
System.getProperty("os.version")

File separator ("/" on UNIX)
System.getProperty("file.separator")

Path separator (":" on UNIX)
System.getProperty("path.separator")

Line separator ("\n" on UNIX)
System.getProperty("line.separator")

User's account name
System.getProperty("user.name")

User's home directory
System.getProperty("user.home")

User's current working directory
System.getProperty("user.dir")

Mendapatkan tanggal hari ini

Calendar.getInstance().getTime().getTime())

Dan Lain-Lain :D.