Tuesday, November 3, 2009

Pass by Reference di Java

Istilah ini sering kita jumpai pada saat kita akan membuat suatu fungsi. Pass by value dan pass by reference dikenal antara lain di Pascal, C, C++. Bagaimana dengan java. Di java hanya dikenal konsep pass by value. terus bagaimana jika kita ingin menerapkan konsep pass by reference di java? Konsep ini dapat diimplementasikan dengan bantuan objek. 

Perhatikan contoh berikut:
public class Tukar {
   public static void menukar(int a, int b) {
      int c;
      c=a;a=b;b=c;
   }
  public static void main(String[] arg) {
      int x=9,y=8;
      menukar(x,y);
      System.out.println("Nilai x = "+x);
      System.out.println("Nilai y = "+y);
   }
}

Bandingkan dengan contoh berikut:
public class Tukar1 {
   int a,b;
   public static void menukar(Tukar1 t) {
      int c;
      c=t.a;t.a=t.b;t.b=c;
   }
  public static void main(String[] arg) {
      Tukar1 tkr=new Tukar1();
      tkr.a=9;tkr.b=8;
      menukar(tkr);
      System.out.println("Nilai a = "+tkr.a);
      System.out.println("Nilai b = "+tkr.b);
   }
}

Friday, October 30, 2009

Input data ke Console dengan Java

Walaupun sepele ternyata banyak juga yang memerlukan ini. Input ke Console membutuhkan class BufferedReader yang ada pada package java.io
Contoh berikut dapat dicoba:

import java.io.*;
public class InputDt {
 public static void main(String[] args) 
  BufferedReader x=new BufferedReader(new InputStreamReader(System.in));
  String b1="",b2="";
  System.out.print("Masukkan bilangan pertama = ");
  try { b1=x.readLine();}
  catch(IOException e) {}
  System.out.print("Masukkan bilangan kedua   = ");
  try { b2=x.readLine();}
  catch(IOException e) {}
  int bil1,bil2,bil3;
  bil1=Integer.parseInt(b1);
  bil2=Integer.parseInt(b2);
  bil3=bil1+bil2;
  System.out.println("Hasil penjumlahan = "+bil3);
 }
}

Program diatas digunakan untuk menjumlahkan dua angka yang diinputkan dari keyboard. Semua input selalu bertipe string, sehingga pada saat akan dijumlah harus diubah dahulu menjadi tipe int/long/float/double.
Mengubah String menjadi integer, Integer.parseInt
Mengubah String menjadi Long, Long.parseLong
Mengubah String menjadi float, Float.parseFloat
Mengubah String menjadi double, Double.parseDouble

Friday, May 15, 2009

Friday, May 8, 2009

Mendapatkan MetaData suatu Database dengan Java

Dalam suatu database yang sudah kita buat, kadang kita ingin mengetahui metadatanya. Langkah yang harus dilakukan, pertama seperti biasa lakukan registrasi driver dan koneksi ke database (seperti postingan sebelumnya). Selanjutnya kita buat objek class DatabaseMetaData dengan pernyataan sbb:

DatabaseMetaData dbmd=con.getMetaData();
dimana con adalah objek class Connection yang sudah dibuat sebelumnya.

Untuk mendapatkan nama-nama tabel yang ada dalam database buat objek class ResultSet dengan pernyataan sbb:

ResulSet rs=dbmd.getTables(null,null,null, new String[] {"TABLE"});

Nama-nama tabel yang ada diperoleh dari fungsi getString("TABLE_NAME"). Sedangkan untuk mendapatkan nama field, tipe data dan lebar data dari masing-masing tabel digunakan pernyataan sbb:

ResultSet rs1=dbmd.getColumns(null,null, nama_tabel,null);

Fungsi yang digunakan untuk mengetahui
nama field, tipe data dan lebar data adalah getString("KONSTANTA"), dimana KONSTANTA yang digunakan adalah sbb:

COLUMN_NAME untuk nama field
TYPE_NAME untuk tipe data
COLUMN_SIZE untuk lebar data

Nb: Databasenya pake MySql

Friday, March 27, 2009

Koneksi MySQL dengan Java

Untuk dapat memulai database programming dengan Java (menggunakan Server database MySQL), langkah persiapan yang harus dilakukan adalah:
1. Pastinya Java sudah terinstalasi dong.
2. Demikian Juga MySQL, harus sudah diinstalasi.
3. Download konektor Java dengan MySQL dan copykan di lokasi instalasi java pada sub direktori lib.
4. Setting Environment Variabel untuk:
System variabel untuk lokasi dimana java dan javac berada (di instalasi java pada subdirektori bin).
System variabel untuk lokasi dimana conector java berada
(di instalasi java pada subdirektori lib).
User variabel untuk classpath.

Untuk koneksi dapat menggunakan class berikut:


Saturday, February 28, 2009

Median Filtering

Ada dua cara yang dilakukan dalam peningkatan kualitas citra. Pertama adalah dengan point processing, dan kedua adalah mask processing. Jika pada point processing dilakukan operasi terhadap masing-masing piksel, maka pada mask processing dilakukan operasi terhadap suatu jendela ketetanggaan pada citra. Selanjutnya diterapkan (melakukan konvolusi) suatu mask terhadap jendela tersebut.
Salah satu penerapan mask processing adalah median filtering. Median Filtering merupakan salah satu teknik peningkatan kualitas citra dalam domain spasial. Metode ini termasuk dalam kategori non linear filtering. Cara kerjanya hampir sama dengan mean filtering. Pada mean filtering dalam setiap piksel output diatur ke tingkat rata-rata dari nilai-nilai piksel dalam mask yang ditentukan. Namun, dengan median filtering, nilai piksel output ditentukan oleh median dari lingkungan mask yang ditentukan.

Median dicari dengan melakukan pengurutan terhadap nilai piksel dari mask yang sudah ditentukan, kemudian dicari nilai tengahnya. Cara kerjanya dapat dijelaskan sebagai berikut:


Dengan menggunakan citra diatas, diambil 3x3 mask filtering. Nilai masing-masing piksel yang bertetanggaan setelah diurutkan adalah sebagai berikut:
115, 119, 120, 123, 124, 125, 126, 127, 150

Hasil pengurutan tersebut mendapatkan nilai median 124. Nilai median ini digunakan untuk menggantikan nilai pusat mask, sehingga nilai 150 akan diganti dengan 124. Berikut hasil perbandingan beberapa proses median filtering dengan menggunakan noise salt and pepper dengan konstanta 0.1 0.2 0.3 0.4 dan 0.5 dengan menggunakan mask 3x3 dan 9x9.


Tuesday, January 13, 2009

Skrip Matlab untuk Eliminasi Gauss

Eliminasi Gauss adalah salah satu metode yang digunakan untuk menyelesaikan system persamaan linear. Dari sistem persamaan linear yang diketahui, kita buat suatu matrik yang berisi koefisien variabel-variabel yang tidak diketahui beserta konstannya. nah...matrik ini kita ubah menjadi matrik segitiga... dan akhirnya kita ubah lagi menjadi matrik satuan.
Bagaimana caranya? Yakni menggunakan OPERASI ELEMENTER BARIS. Apa pula ini. Kita bisa menjumlahkan/mengurangi suatu baris dengan k kali baris lainnya, dan kita bisa juga kalikan satu baris dengan k. k adalah konstanta real.
Ilustrasinya dapat dilihat sebagai berikut:Dari persamaan diatas kita mendapatkan matrik seperti di bawah ini:
Nah...nantinya matrik tersebut harus kita bawa ke bentuk berikut (Matrik Segitiga).. yang ini kita pilih Matrik Segitiga Atas. Sebenarnya kalo mau Matrik Segitiga Bawah juga bisa... Pokoknya mana yang enak lah....
Berikutnya matrik segitiga tersebut kita buat menjadi matrik diagonal. Akhirnya diubah menjadi matrik satuan.
Berikut ini adalah skrip untuk mengubah matrik menjadi matrik diagonal.

Dan skrip berikut digunakan untuk mengubah matrik diagonal menjadi matrik satuan.