Halaman

Subscribe:

Main Menu

Rabu, Mei 07, 2008

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.