Welcome to Abdul Malik Ikhsan's Blog

Setup Java9 Early Access in Mac OS X

Posted in Tutorial Java by samsonasik on January 7, 2017

I have a chance to try latest Java9 development build 151, and I am very glad to have it successfully installed in my system. I am using OS X “El Capitan” (you may have latest: Mac OS X “Sierra” which I think will not be different for a way to install it). Here is the steps I did to get it works:

#JAVA
export JAVA_HOME=$(/usr/libexec/java_home)
export PATH=$JAVA_HOME/bin:$PATH
  • Apply ~/.bash_profile setting that has been modified by run command
$ source ~/.bash_profile

That’s it! Now, I can see it works:

java9-command-os-x

Custom Exception di Java

Posted in Tutorial Java by samsonasik on April 29, 2009

Bosan dengan nama Exception yang itu-itu aja (padahal mah, karena yang diketahui emang itu-itu aja, xi..xi..xi..), kita bisa lho, membuat custom exception sendiri, dengan blok penanganan error sendiri, caranya dengan menurunkan kelas Exception. contoh :

/**
 *
 * @author samsonasik
 */
public class SalahTulisException  extends Exception{   
    private String eksepsi;

    public SalahTulisException() {
        super();
        this.eksepsi = "";
    }

    public SalahTulisException(String e) {
        super();
        this.eksepsi = e;
    }

    @Override
    public String getMessage() {
        return this.eksepsi;
    }

}

Nah, sekarang kita coba test:

/**
*
* @author samsonasik
*/

public class Main {

//method validasi
public void validateNama(String n) throws SalahTulisException {
if (n.equals("samsonasik")) {
System.out.println("ganteng");
} else {
throw new SalahTulisException("salah tulis nama");
}
}

public static void main(String args[]){

Main m = new Main();
try {
m.validateNama("boys");
} catch(SalahTulisException e) {
System.out.println(e.getMessage());
}

}

}

Penggunaan ArrayList<Object> dalam Java

Posted in Tutorial Java by samsonasik on December 22, 2008

Kali ini, saya akan membahas tentang bagaimana menyimpan object ke dalam sebuah array dan bagaimana implementasi untuk menampilkannya.
ok, saya buat contoh kelas yg akan dibuat ArrayList:

class Barang{
    int id;
    String kd,nm;

    public Barang(int id, String kd, String nm)
    {
        this.id = id;
        this.kd = kd;
        this.nm = nm;
    }
    
    public int getId()
    {
       return id;
    }
    
    public String getKd()
    {
       return kd;
    }
    
    public String getNm()
    {
       return nm;
    }
}

——-
Nah, sekarang, kita buat kelas untuk menampilkannya :

import java.util.ArrayList;

public class TampilData{

    ArrayList<Barang> tampung;
    
    public TampilData()
    {
        //instansiasi
        tampung = new ArrayList<Barang>();
    }
    
    public void isiData(int id,String kd,String nm)
    {
        tampung.add(new Barang(id,kd,nm));
    }
    
    public void showData()
    {
        for(Barang barang:tampung)
        {
            System.out.println("id brg : "+barang.getId()+""+", kd brg : "+barang.getKd()+""+", nm brg : "+barang.getNm());
        }
    }

    public static void main(String args[])
    {
        TampilData td = new TampilData();

        td.isiData(1,"01","topi");
        td.isiData(2,"02","kemeja");
        td.isiData(3,"03","sepatu");
        td.isiData(4,"04","sandal");

        td.showData();
    }
}

———————————
**kelas Barang
Kita mempunyai kelas Barang yang terdiri dari 3 member variable yg diisi pada waktu object nantinya diinstansiasi(diisi pada konstruktor).

**kelas TampilData
–> Dengan memanggil paket class ArrayList, kita bisa menggunakan method2 seperti get(), add(), size() , dan lain sebagainya.
–> Di dalam kelas TampilData, kita buat sebuah member variable bernama tampung yg digunakan untuk menampung object yg dibentuk dari kelas Barang, dengan format
ArrayList<Barang> tampung;
–> method add digunakan untuk mengisi data ke dalam object ArrayList, sedangkan get digunakan untuk menampilkan data.
————

semoga bermanfaat 🙂

Modul Java

Posted in Tutorial Java by samsonasik on February 18, 2008

Modul Java 1
Modul Java 2
Modul Java 3
Modul Java 4
Modul Java 5
Punten ye…, :), link download-nya dipindahin, he..he..,, hemat storage.

Membuat file *.jar

Posted in Tutorial Java by samsonasik on October 27, 2007

File jar adalah file hasil compress dari file-file *.class di java yang telah kita buat, untuk mengeksekusi kita tinggal double klik aja, seperti file exe, berikut contohnya :
Misalkan kita punya 3 kelas, yaitu kelas Manusia,kelas Programmer yang merupakan turunan manusia, dan kelas Samsonasik si wujud manusia itu .
________________________
class Manusia{
 String nama;
 void setNama(String n){
  this.nama=n;
 }
 String getNama(){
  return nama;
 }
 String makan(){
  return “nyam…nyam…”;
 }
}
_________________________
class Programmer extends Manusia{
 String coding(){
  return “lieur….”;
 }
}
____________________
import javax.swing.*;
class Samsonasik{
 public static void main(String args[]){
  JFrame.setDefaultLookAndFeelDecorated(true);
  JFrame f=new JFrame(“Latihan *.jar “);

  JLabel l=new JLabel();
  l.setBounds(20,20,400,20);
  Programmer p=new Programmer();
  p.setNama(“Abdul Malik Ikhsan”);
  l.setText(p.getNama()+” sedang “+p.coding()+” dan makan, “+p.makan());
  
  f.getContentPane().add(l);
  
  f.getContentPane().setLayout(null);
  f.setBounds(250,250,450,70);
  f.setResizable(false);
  f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  f.setVisible(true);
 }
}

//compile file di atas …
—————————————-
Nah, cara membuat file *.jar-nya, kita siapkan dulu file MANIFEST.MF, kalau kita tidak punya, ya membuat sendiri file MANIFEST.MF, berdasarkan program di atas, berarti main classnya class Samsonasik

Manifest-Version: 1.0
Created-By: 1.5.0_01 (Sun Microsystems Inc.)
Main-Class: Samsonasik

____________________________
Berikut cara mengkompress menjadi file *.jar
buka command prompt :
————————————-
F:\java\wordpress>jar cvfm Samsonasik.jar MANIFEST.MF *.class
added manifest
adding: Manusia.class(in = 464) (out= 286)(deflated 38%)
adding: Programmer.class(in = 273) (out= 213)(deflated 21%)
adding: Samsonasik.class(in = 1252) (out= 792)(deflated 36%)
__________
Selamat mencoba 🙂

Contoh asosiasi dalam Java

Posted in Tutorial Java by samsonasik on August 23, 2007

class Mhs {
String nama;
int umur;
public Mhs(String n, int u) {
nama=n;umur=u;
}
void display() {
System.out.print(nama+” “+umur);
}
}

—————
class Mk {
String nama;
int sks;
public Mk(String n,int u) {
nama=n;sks=u;
}
void display() {
System.out.print(” “+nama+” “+sks);
}
}
—————————-
class Reg {
Mhs m;
Mk k;
public Reg(Mhs m, Mk k) {
this.m=m;
this.k=k;
}
public void display() {
m.display();
k.display();
}
public static void main(String[] a) {
Mhs m1=new Mhs(“Budi”,20);
Mhs m2=new Mhs(“Dewi”,18);
Mk k1=new Mk(“PTI”,2);
Mk k2=new Mk(“PSI”,3);
Reg r1=new Reg(m1,k1);
Reg r2=new Reg(m1,k2);
Reg r3=new Reg(m2,k1);
Reg r4=new Reg(m2,k2);
r1.display();
r2.display();
r3.display();
r4.display();
}
}

sumber : Pak Tedjo Darmanto.

ImageIcon pada Swing

Posted in Tutorial Java by samsonasik on August 11, 2007

Kita siapkan dulu, buku.png dan button.png
————–

Code:
import javax.swing.*;
import java.awt.*;public class ContohImageIcon extends JFrame{
public static void main(String args[]){
JFrame.setDefaultLookAndFeelDecorated(true);
JFrame f=new JFrame(“Contoh Image Icon”);
f.setBounds(100,100,400,200);ImageIcon icon=new ImageIcon(“buku.png”);
f.setIconImage(icon.getImage());
f.setResizable(false);ImageIcon icon2=new ImageIcon(“button.png”);
JButton button=new JButton(“Tombol Bergambar”,icon2);
button.setBounds(65,50,270,50);
f.getContentPane().add(button);
f.getContentPane().setLayout(null);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
}
}


icon.jpg

penggunaan package, koneksi ke mysql

Posted in Tutorial Java by samsonasik on May 17, 2007

Pertama, kita buat database bernama jurnal,dengan tabel bernama jurnal, yang field-fieldnya tgl, masuk dan keluar, isi tabel tersebut.
selanjutnya, kita buat file untuk memanggil koneksi,
/**
*simpan file ini pada folder open
*simpan dengan nama connect.java
*/

package open;
import java.sql.*;

public class connect
{
private String driver=”com.mysql.jdbc.Driver”;
private String koneksi=”jdbc:mysql://localhost/jurnal”;
private String user=”root”;
private String pass=””;

protected Connection con;
protected Statement st;
protected ResultSet rs;

public connect(){}

public void buatkoneksi()throws Exception{
try{
Class.forName(driver);
con=DriverManager.getConnection(koneksi,user,pass);
}catch(Exception e){
System.out.println(“driver tidak ketemu\nada kesalahan koneksi”);
}
}

public boolean gettampiljurnal() throws Exception{
st=con.createStatement();
rs=st.executeQuery(“select * from jurnal”);
return (rs!=null);
}

public boolean getnext()throws Exception{
return rs.next();
}

public String getfield(String f)throws Exception{
return rs.getString(f);
}
}
*******************
compile file di atas
*******************
di luar folder, kita buat file untuk memanggil file koneksi di atas
/**
*simpan dengan nama jurnalmysql.java
*/

import java.sql.*;
import open.connect;
class jurnalmysql extends connect
{
public static void main(String args[])throws Exception{
connect c=new connect();
c.buatkoneksi();
if (c.gettampiljurnal())
{
System.out.println(“tgl masuk keluar saldo”);
int saldo=0;
int saldoakhir=0;
while (c.getnext())
{
String tgl=c.getfield(“tgl”);
int masuk=Integer.parseInt(c.getfield(“masuk”));
int keluar=Integer.parseInt(c.getfield(“keluar”));
saldo=(masuk-keluar);
saldoakhir=saldoakhir+saldo;
System.out.println(“”+tgl+” “+masuk+” “+keluar+” “+saldoakhir);
}
System.out.println(“==============================”);
System.out.println(“saldo “+saldoakhir);
}
}
}
***************
compile dan run file di atas
***************
Berikut hasil running-nya
sharpupload.jpg

package

Posted in Tutorial Java by samsonasik on May 9, 2007

/*
**simpan file ini pada folder manusia
*/

package manusia;
public class orang{
String nama;
public void isinama(String n){this.nama=n;}
public String tampilnama(){return nama;}
}
/*
**simpan file ini pada folder animal
*/

package animal;
public class hewan{
String panggilan,minum,terbang;
public void memanggil(String me){this.panggilan=me;}
public void menerbang(String mn){this.terbang=mn;}
public void editminum(String m){this.minum=m;}
public String implementasiminum(){return minum;}
public String implementasipanggil(){return panggilan;}
public String implementasiterbang(){return terbang;}
}

/*
**sekarang kita buat file untuk memanggil sifat dari dua kelas di atas
*/

import manusia.orang;
import animal.hewan;
class panggilduakelas{
public static void main(String args[]){
orang o=new orang();
hewan h=new hewan();
o.isinama(“samsonasik”);
h.memanggil(“meong…”);
h.editminum(“sruput”);
h.menerbang(“wusss…wuss…”);
System.out.println(“”+o.tampilnama()+” sedang minum,…”+h.implementasiminum() );
System.out.println(“”+h.implementasipanggil()+” sedang terbang,…”+h.implementasiterbang());
}
}

java koneksi postgresql

Posted in Tutorial Java by samsonasik on April 27, 2007

pertama, kita buat dulu database di postgresql, misalnya namanya “coba”, isinya ada tabel dengan nama barang, field-fieldnya kode_barang,nama_barang,dan harga, setelah itu download driver postgresql di http://jdbc.postgresql.org/download.html , extract di folder tempat file *.java kita,,
berikut syntaxnya :
/*
**this software is opensource
**created by Abdul Malik Ikhsan
**if you modify, you may delete this lisence
*/

import java.sql.*;
class connect
{
 public static void main(String args[]){
  try{
   Class.forName(“org.postgresql.Driver”);
  }catch(Exception e){
   System.out.print(“driver tidak ketemu”);
  }

  try{
   String koneksi=”jdbc:postgresql://localhost/coba”;
   String user=”samsonasik”; //superuser postgresql
   String pass=”123456″; //password superuser
   Connection con=DriverManager.getConnection(koneksi,user,pass);
Statement st=con.createStatement();
ResultSet rs=st.executeQuery(“select * from barang”);

int no=0;
while (rs.next())
{
 no++;
 String kb=rs.getString(“kode_barang”);
 String nb=rs.getString(“nama_barang”);
 int hb=rs.getInt(“harga”);

 System.out.println(no+”.   “+kb+”        “+nb+”      “+hb);
}

 }catch(Exception e){
   System.out.print(“koneksi salah”);
  } }
}

JRadioButton

Posted in Tutorial Java by samsonasik on April 13, 2007

import javax.swing.*;
import java.awt.event.*;
public class radio
{
public static void main(String args[]){
JFrame.setDefaultLookAndFeelDecorated(true);
JFrame f=new JFrame();
f.setTitle(“harga barang”);
f.setBounds(20,20,300,200);
f.getContentPane().setLayout(null);

JRadioButton r1=new JRadioButton(“mobil”);
r1.setBounds(20,20,60,20);
f.getContentPane().add(r1);

JRadioButton r2=new JRadioButton(“motor”);
r2.setBounds(20,50,60,20);
f.getContentPane().add(r2);

JLabel label=new JLabel();
label.setText(“Harga”);
label.setBounds(90,20,60,20);
f.getContentPane().add(label);

final JTextField t=new JTextField(“”);
t.setBounds(90,50,90,20);
f.getContentPane().add(t);

ButtonGroup g=new ButtonGroup();
g.add(r1);
g.add(r2);

/*
**event ketika radiobutton diklik
*/

r1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
int harga=50000000;
t.setText(“”+harga);
}});

r2.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
int harga=12000000;
t.setText(“”+harga);
}});

/*
**Ketika di close, proses run berhenti
*/

f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
/*
**Tampilkan
*/

f.setVisible(true);
}}

/*
**Berikut hasil runningnya
*/

upload-radio.jpg

koneksi ke mysql, java,the Object Oriented Programming

Posted in Tutorial Java by samsonasik on April 6, 2007

di bawah terdapat contoh aplikasi untuk menampilkan jurnal :
pertama kita buat database jurnal , dan tabel jurnal, lebih rinci sebagai berikut :
mysql>create datatabase jurnal;
mysql>use jurnal;
mysql>create table jurnal(tgl date, masuk int, keluar int);
mysql>insert into jurnal values(‘2007-01-01’,1000,500);
mysql>insert into jurnal values(‘2007-01-02’,2000,1000);
===============================
nah, sekarang, kita buat programmnya, pertama kita buat base class, baru setelah itu derived class-nya, berikut base class-nya :

/* Simpan di jurnal.java
**This software is Copyleft by Abdul Malik Ikhsan
**Free to modify, if you modify, you may delete this lisence
**contact : samsonasik@gmail.com
**https://samsonasik.wordpress.com
*/

class jurnal
{
int masuk,keluar;
void setmasuk(int x)
{
this.masuk=x;
}
void setkeluar(int y)
{
this.keluar=y;
}
int getmasuk()
{
return masuk;
}
int getkeluar()
{
return keluar;
}
}
//*********************************
sedang untuk derived class untuk menampilkannya, programmnya sebagai berikut
/* Simpan di tampiljurnalmysqll.java
**This software is Copyleft by Abdul Malik Ikhsan
**Free to modify, if you modify, you may delete this lisence
**contact : samsonasik@gmail.com
**https://samsonasik.wordpress.com
*/

import java.sql.*;
class tampiljurnalmysql extends jurnal
{
public static void main(String args[]){

try{
Class.forName(“com.mysql.jdbc.Driver”).newInstance();
} catch (Exception e) {
System.out.println(“tidak dapat loading driver”);
System.exit(1); }

try{
String koneksi=”jdbc:mysql://localhost/jurnal”;
String user=”root”;
String pass=””;
Connection con = DriverManager.getConnection(koneksi,user,pass);
Statement st = con.createStatement();
String sql=”select * from jurnal order by tgl”;

ResultSet rs=st.executeQuery(sql);

jurnal x=new jurnal();
System.out.println(“=======Jurnal Harian======”);
System.out.println(“no   tgl           masuk        keluar     saldo”);
int no=0;
int saldosaturecord=0;
int saldosemuarecord=0;
while (rs.next())
{
no++;

Date tgl=rs.getDate(“tgl”);

int masuk=rs.getInt(“masuk”);
x.setmasuk(masuk);
int keluar=rs.getInt(“keluar”);
x.setkeluar(keluar);
saldosaturecord=masuk-keluar;
//loop saldo dengan menambahkan saldo next record
//dengan record sebelumnya
saldosemuarecord=saldosemuarecord+saldosaturecord;

System.out.println(no+”   “+tgl+”      “+x.getmasuk()+”     “+x.getkeluar()+”     “+saldosemuarecord+””);
}
System.out.println(“==============================”);
System.out.println(“saldo total   “+saldosemuarecord);
}
catch(SQLException ee){
System.out.println(“ada kesalahan pada koneksi”);
}

}}

Awt event

Posted in Tutorial Java by samsonasik on April 5, 2007

import javax.swing.*;
import java.awt.event.*;
class satu
{
public static void main(String args[])
{
JFrame.setDefaultLookAndFeelDecorated(true);
JFrame frame=new JFrame();
frame.setTitle(“satu”);
frame.setBounds(50,50,450,200);

JLabel l=new JLabel(“Nama anda: “);
l.setBounds(20,50,70,30);
frame.getContentPane().add(l);
frame.getContentPane().setLayout(null);

final JTextField t=new JTextField();
t.setText(“”);
t.setBounds(100,50,200,30);
frame.getContentPane().add(t);

JLabel l2=new JLabel(“Alamat : “);
l2.setBounds(20,90,70,30);
frame.getContentPane().add(l2);
frame.getContentPane().setLayout(null);

final JTextField t2=new JTextField();
t2.setText(“”);
t2.setBounds(100,90,200,30);
frame.getContentPane().add(t2);

JButton b=new JButton(“OK”);
b.setBounds(300,90,100,30);
frame.getContentPane().add(b);

b.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
JOptionPane.showMessageDialog(null,”Halo ” +t.getText()+”\nAlamat anda di “+t2.getText()); //ditulis dalam satu baris
System.exit(0);
}});
frame.getContentPane().setLayout(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);

}
}//Berikut tampilan programmnya

javaswingupload1.jpg
javaswing2upload.jpg

LookAndFeelDecorated

Posted in Tutorial Java by samsonasik on March 6, 2007

import javax.swing.*;

public class MyContainer{
public static void main(String args[]){
/*mengeset Dekorasi window */

JFrame.setDefaultLookAndFeelDecorated(true);
JFrame container=new JFrame(“Window cakep”);

container.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
container.setSize(300,100);
container.setLocation(200,200);
container.setVisible(true);
}
}

setting classpath java bermasalah

Posted in Tutorial Java by samsonasik on March 2, 2007

saya pernah coba set path dan classpath java
set path=c:\program files\java\jdk1.5.0_01\bin;
set classpath=c:\program files\java\jdk1.5.0_01\lib;
setelah dijalankan hasilnya seperti ini :
Exception in thread “main” java.lang.NoClassDefFoundError: com/sun/tools/javac/M
ain
=============
saya dikasih tahu teman saya, katanya set classpath-nya harus diganti menjadi:
set classpath=.\;c:\program files\java\jdk1.5.0_01\lib; dan bisa, saya sendiri masih belum donk, untuk apa .\  itu?tapi yg jls, dengan cara ini bisa jalan.