Setup Java9 Early Access in Mac OS X
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:
- Download the
.dmg
file fromhttps://jdk9.java.net/download/http://jdk.java.net/9/, select “Mac OS X” on “JDK” column (300+ MB file) - Install it
- Edit ~/.bash_profile and add the following line (if not exists)
#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:
Custom Exception di Java
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
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
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
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
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
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); } } |
penggunaan package, koneksi ke mysql
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
package
/*
**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
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
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
*/
koneksi ke mysql, java,the Object Oriented Programming
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
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
LookAndFeelDecorated
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
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.
leave a comment