Home about IT Motivation Course Sales Project About Me
Showing posts with label java. Show all posts
Showing posts with label java. Show all posts

Thursday, August 04, 2011

java: object oriented programming

di sarikan dari berbagai sumber:

Pemrograman Berorientasi Objek


Pemrograman yang menjadikan objek sebagai komponen utama dalam sistem. Objek adalah gabungan data dan fungsi, dimana sebuah objek dibuat dari sebuah kelas

Konsep OOP (Object Oriented Programming)

Kelas : mendefinisikan kerangka dari objek, yang mana objek itu diinstansiasi dari kelas
Objek : dibuat dari kelas yang mana objek memiliki data dan method
Method : Perilaku dari objek atau sebuah fungsi untuk mengerjakan tugas-tugas tertentu

Objek
Objek merupakan hasil dari sebuah kelas, diibaratkan kelas merupakan resep kue dan objek merupakan kue, Maka suatu resep kue dapat membuat beberapa kue.
Pembuatan objek dalam java adalah dengan menggunakan new ,pembuatannya sama dengan pembuatan variable.

Kelas objek = new Kelas();

Jika dalam kelas yang dibuat objek terdapat atribut/variable maka dapat dipanggil dengan cara berikut :
objek.atribut = value;

Kelas
Dalam java, kelas didefinisikan dengan kata kunci class. Contoh kelas sederhana sebagai berikut :

Code:

class Manusia{
String nama,umur;
}

Pada kode diatas kita telah membuat kelas manusia dengan atibut/variable nama dan umur.
Kita akan mencoba membuat objek dari kelas tersebut

Manusia MNS = new Manusa(); //MNS merupakan nama objek pada kelas Manusia

//mengubah nama dan umur pada kelas Manusia yang defaultnya adalah kosong menjadi ada isi nya
Code:

MNS.nama = "Kiki Oktarizky";
MNS.umur = "21 tahun";

Metode (Method)

Dalam java terdapat 2 method :
1. Fungsi : metode yang memiliki nilai kembalian jika metode tersebut dipanggil. Cara pembuatan fungsi adalah dengan menentukan nilai kembaliannya dulu lalu membuat nama method nya.
2. Prosedur : metode yang tidak memiliki nilai kembalian. Cara pembuatan nya sama dengan fungsi, namun nilai kembaliannya menggunakan kata kunci void.

Contoh :
Code:

class Dosen{
String nama;
String ambilNama(){
return nama;
}
void hapusNama(){
nama = " ";
}
}


Pada kode diatas terdapat satu buah fungsi bernama ambilNama() dan prosedur bernama hapusNama(). Untuk mengembalikan suatu fungsi harus menggunakan kata kunci return diikuti nilai yang akan dikembalikannya. Untuk mengambil nilai kembaliannya terdapat seperti kode dibawah :

Code:

Dosen DSN = new Dosen();
DSN.nama = "Bambang Siswoyo";
String nama = DSN.ambilNama();


Contoh Prosedur :
Code:

public class Rumah{
public static void meja(){
System.out.println("Ada Meja");
}
void jamDinding(){
System.out.println("Ada jam dinding");
}
}
class IsiRumah{
public static void main(String[] args){
Rumah.meja();
Rumah panggil = new Rumah();
panggil.jamDinding();
}
}


pada program diatas terdapat 2 buah prosedur bernama meja() dan jamDinding(). method meja bisa dipanggil secara langsung tanpa menggunakan objek pada class isiRumah karena ada keyword static, sedangkan method jamDinding harus dipanggil melalui objek.
Output dari program di atas adalah :

Code:

Ada Meja
Ada jam dinding

Inheritance
Inheritance merupakan kemampuan suatu kelas untuk mewariskan data dan method yang dimilikinya ke kelas lain
analogi nya bisa kita lihat dalam kehidupan sehari-hari seperti seorang anak yang mempunyai sifat yang diwarisi oleh ayah nya, dalam java kelas ayah tersebut (kelas parent) biasa disebut super class dan kelas dari yang mewarisinya disebut sub class.


Code:

//file Pegawai.java
public class Pegawai {
public long hitungGajiTotal(){
return 0;
}
}


Code:

//file Dosen.java
class Dosen extends Pegawai {
private String nip,nidn,gol,j_Struktural,j_Fungsional;
private long t_Struktural,gajiPokok,t_Fungsional,honorMengajar;
int jamMengajar;
Dosen(String nip,String nidn,String gol,String j_Struktural,String j_Fungsional,int jamMengajar
,long honorMengajar){
this.nip = nip;
this.nidn = nidn;
this.gol = gol;
this.j_Struktural = j_Struktural;
this.j_Fungsional = j_Fungsional;
this.jamMengajar = jamMengajar;
this.honorMengajar = honorMengajar;
}
public String getNip(){
return nip;
}
public String getNidn(){
return nidn;
}
public String getGol(){
return gol;
}
public long getGajiPokok(){
if(gol=="IIIA")
gajiPokok = 2000000;
else if(gol=="IIIB")
gajiPokok = 2500000;
else if(gol=="IIIC")
gajiPokok = 3000000;
else
gajiPokok = 0;
return gajiPokok;
}
public String getJ_Struktural(){
return j_Struktural;
}
public long getT_Struktural(){
if(j_Struktural=="Rektor")
t_Struktural = 10000000;
else if(j_Struktural=="Dekan")
t_Struktural = 5000000;
else if(j_Struktural=="Kaprodi")
t_Struktural = 2000000;
else
t_Struktural = 0;
return t_Struktural;
}
public String getJ_Fungsional(){
return j_Fungsional;
}
public long getT_Fungsional(){
if(j_Fungsional=="Lektor")
t_Fungsional = 1000000;
else if(j_Fungsional=="Asisten Ahli")
t_Fungsional = 700000;
else
t_Fungsional = 0;
return t_Fungsional;
}
public int getJamMengajar(){
return jamMengajar;
}
public long getHonorMengajar(){
return honorMengajar;
}
public long hitungGajiTotal(){
long gajiTotal = gajiPokok+t_Struktural+t_Fungsional+honorMengajar;
return gajiTotal;
}
}



Code:

//file PegawaiInheritance.java
public class PegawaiInheritance {
public static void main(String[] args){
Dosen dsn = new Dosen("001","NIDN001","IIIA","Rektor","Lektor",1,50000);
System.out.println("PROGRAM HITUNG GAJI\n");
System.out.println("-----------------------------------");
System.out.println("DOSEN\n");
System.out.println("Nip = "+dsn.getNip());
System.out.println("Nidn = "+dsn.getNidn());
System.out.println("Golongan = "+dsn.getGol());
System.out.println("Gaji Pokok = "+dsn.getGajiPokok());
System.out.println("Jabatan Struktural = "+dsn.getJ_Struktural());
System.out.println("Tunjangan Struktural = "+dsn.getT_Struktural());
System.out.println("Jabatan Fungsional = "+dsn.getJ_Fungsional());
System.out.println("Tunjangan Fungsional = "+dsn.getT_Fungsional());
System.out.println("Jam Mengajar = "+dsn.getJamMengajar());
System.out.println("Honor Mengajar = "+dsn.getHonorMengajar());
System.out.println("Gaji Total = "+dsn.hitungGajiTotal());
System.out.println("-----------------------------------");
}
}


Pada program diatas terdapat satu super class bernama Pegawai dan satu sub class atau kelas turunannya bernama Dosen. Disini kelas Dosen memiliki method-method beserta variable nya tersendiri beserta access modifier masing-masing dan kelas Pegawai hanya mewariskan method yang dimiliki nya yaitu hitungGajiTotal().


Information Hiding dan Encapsulation

• Information Hiding adalah
menyembunyikan attribute dan method
suatu objek dari objek lain.
• Encapsulation adalah menyembunyikan
attribute suatu objek dari objek lain.
• Attribute maupun method disembunyikan
dengan cara memberikan modifier private.

Overrriding Attribute dan Method
• Overriding adalah kemampuan suatu
subkelas untuk memodifikasi attribute dan
method milik kelas supernya (bukan private
atau final).
• Modifikasi : jumlah parameter, tipe
parameter, tipe return value, ataupun
lingkungan pemrosesan datanya

Polymorphism
• artinya bersifat poly morphy (memiliki
banyak bentuk)
• Method‐method overloading dalam kelas
yang sama
• Method‐method overloading dalam kelas
yang berbeda (kelas turunannya)

Friday, July 01, 2011

JAVA: Connection to MySQL

have 2 files:
- KoneksiMysql.java
- and menu.java

database: akademik
tabel : mahasiswa (field: nim,nama )

====================================
name: KoneksiMysql.java

//package koneksi.mysql;
import java.sql.*;

public class KoneksiMysql {
String url, usr, pwd, dbn;
public KoneksiMysql (String dbn) {
this.url = "jdbc:mysql://localhost/" + dbn;
this.usr = "root";
this.pwd = "";
}

public KoneksiMysql (String host, String user, String pass, String dbn) {
this.url = "jdbc:mysql://" + host + "/" + dbn;
this.usr = user;
this.pwd = pass;
}

public Connection getConnection() {
Connection con = null;
try {
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection(this.url, this.usr, this.pwd);
} catch (ClassNotFoundException e) {
System.out.println ("Error #1 : " + e.getMessage());
System.exit(0);
} catch (SQLException e) {
System.out.println ("Error #2 : " + e.getMessage());
System.exit(0);
}
return con;
}
/*
public static void main (String args[]) {
KoneksiMysql kon = new KoneksiMysql ("akademik");
Connection c = kon.getConnection();
}
*/
}


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

name: menu.java



import java.sql.*;
import java.io.*;

class menu {
public static void main(String args[]) throws IOException{
BufferedReader stdin=new
BufferedReader(new InputStreamReader(System.in));

String buff;
int pilih;

try {
KoneksiMysql kon = new KoneksiMysql ("akademik");
Connection c = kon.getConnection();
pilih=0;
while(pilih<5) {
System.out.println(" Menu : ");
System.out.println(" 1. Lihat Data ");
System.out.println(" 2. Tambah Data ");
System.out.println(" 3. Hapus Data ");
System.out.println(" 4. Update Data ");
System.out.println(" 5. Exit ");
System.out.print(" Pilih nomor : ");
buff = stdin.readLine();
pilih=Integer.parseInt(buff);
ResultSet hasilQuery = null;
Statement stm = c.createStatement();

switch(pilih){
case 1:
{
hasilQuery = stm.executeQuery("SELECT * FROM mahasiswa");

while (hasilQuery.next()) {
String nim_mahasiswa = hasilQuery.getString("nim");
String nama_mahasiswa = hasilQuery.getString("nama");
System.out.println(nim_mahasiswa+" -> " + nama_mahasiswa); }

break;
}
case 2:
{
String nim_t, nama_t;
System.out.print("nim : ");
nim_t = stdin.readLine();
System.out.print("nama : ");
nama_t = stdin.readLine();
String sql="INSERT into mahasiswa values('"+nim_t+"','"+nama_t+"')";
stm.executeUpdate(sql);
break;
}
case 3:
{
String nim_h;
System.out.print("nim : ");
nim_h = stdin.readLine();
String sqlh="DELETE from mahasiswa where nim = '"+nim_h+"'";
stm.executeUpdate(sqlh);
break;
}
case 4:
{
String nim_u,nama_u;
System.out.print("nim : ");
nim_u = stdin.readLine();
hasilQuery = stm.executeQuery("SELECT * FROM mahasiswa where nim = '" + nim_u + "'");
while (hasilQuery.next()) {
String nm_mahasiswa = hasilQuery.getString("nama");
System.out.println("Nama : " + nm_mahasiswa);
}

System.out.print("Nama Baru : ");
nama_u = stdin.readLine();

String sqlu="UPDATE mahasiswa set nama='" + nama_u + "' where nim = '" + nim_u + "'";
stm.executeUpdate(sqlu);
break;
}
default:
{
System.out.println("Bye");
break; }

}
}
c.close();

}
catch (Exception e) {
System.out.println("Error : "+e);
}
}
}

Thursday, June 30, 2011

JAVA: capture camera using JMF

use below script to capture camera on notebook or
Logitech USB Video Camera use JMF

name: SwingCapture.java

import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.Dimension;
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.Panel;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.image.BufferedImage;
import java.io.FileOutputStream;
import javax.media.Buffer;
import javax.media.CaptureDeviceInfo;
import javax.media.CaptureDeviceManager;
import javax.media.Manager;
import javax.media.MediaLocator;
import javax.media.Player;
import javax.media.control.FrameGrabbingControl;
import javax.media.format.VideoFormat;
import javax.media.util.BufferToImage;
import javax.swing.JButton;
import javax.swing.JComponent;
//import com.sun.image.codec.jpeg.JPEGCodec;
//import com.sun.image.codec.jpeg.JPEGEncodeParam;
//import com.sun.image.codec.jpeg.JPEGImageEncoder;
public class SwingCapture extends Panel implements ActionListener
{public static Player player = null;

public CaptureDeviceInfo di = null;
public MediaLocator ml = null;
public JButton capture = null;
public Buffer buf = null;
public Image img = null;
public VideoFormat vf = null;
public BufferToImage btoi = null;
public ImagePanel imgpanel = null;
public SwingCapture()
{setLayout(new BorderLayout());

setSize(320,550);
imgpanel = new ImagePanel();
capture = new JButton("Capture");
capture.addActionListener(this);
String str1 = "vfw:Logitech USB Video Camera:0";
String str2 = "vfw:Microsoft WDM Image Capture (Win32):0";
di = CaptureDeviceManager.getDevice(str2);
//Getting Camera Device Information
ml = di.getLocator();
//MediaLocator for Camera
try
{player = Manager.createRealizedPlayer(ml);//Creating Player
player.start();
//Start Camera Player
Component comp;
//for Getting Visual Player Component of Camera
if ((comp = player.getVisualComponent()) != null)
{
add(comp,BorderLayout.NORTH); //Add Camera to North

}
add(capture,BorderLayout.CENTER); //Add Capture Button in Between
add(imgpanel,BorderLayout.SOUTH); //Add Captured image
}
catch (Exception e)
{e.printStackTrace();
}
}
public static void main(String[] args)
{Frame f = new Frame("SwingCapture");
//Creating New Frame
SwingCapture cf = new SwingCapture();
//Main Object Create
f.addWindowListener(new WindowAdapter() //Window Closing
{public void windowClosing(WindowEvent e)
{playerclose();

//Closing Player
System.exit(0);
}
});
f.add("Center",cf);
//Adding Main Object to Frame
f.pack();

//Packing Frame
f.setSize(new Dimension(320,550));
f.setVisible(true);
}
public static void playerclose()//Function While Closing Player
{player.close();
player.deallocate();
}
public void actionPerformed(ActionEvent e)
{JComponent c = (JComponent) e.getSource();//Getting Source of Event
if (c == capture)//Capture Button Event
{FrameGrabbingControl fgc = (FrameGrabbingControl)
player.getControl("javax.media.control.FrameGrabbingControl");
buf = fgc.grabFrame();
// Grabbing a frame
btoi = new BufferToImage((VideoFormat)buf.getFormat());// Convert it to an image Buffer
img = btoi.createImage(buf); //Creating Image from Buffer
imgpanel.setImage(img);

// show the image
saveJPG(img,"c:\\test.jpg"); // save image Function
}
}
class ImagePanel extends Panel
//Panel for Displaying Cptured Image
{public Image myimg = null;
public ImagePanel()
{setLayout(null);
setSize(320,240);
}
public void setImage(Image img)
{this.myimg = img;
repaint();
}
public void paint(Graphics g)

{if (myimg != null)
{g.drawImage(myimg, 0, 0, this);
}
}
}
public static void saveJPG(Image img, String s)
{BufferedImage bi = new BufferedImage(img.getWidth(null),

img.getHeight(null), BufferedImage.TYPE_INT_RGB);
Graphics2D g2 = bi.createGraphics();
g2.drawImage(img, null, null);
FileOutputStream out = null;
try
{out = new FileOutputStream(s);
}
catch (java.io.FileNotFoundException io)
{System.out.println("File Not Found");

}
//JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
//JPEGEncodeParam param = encoder.getDefaultJPEGEncodeParam(bi);
//param.setQuality(0.5f,false);
//encoder.setJPEGEncodeParam(param);
try
{//encoder.encode(bi);
out.close();
}
catch (java.io.IOException io)
{System.out.println("IOException");
}
}
}

Wednesday, June 29, 2011

The Basic Steps to Connect Oracle and Java Program

http://www.dbapool.com/articles/011706.html

The Basic Steps to Connect Oracle and Java Program

Here, I will show you what the steps to make a connection between Oracle database and your Java program. To do this work, you need the JDBC (Java DataBase Connectivity) driver. The file name of Oracle's JDBC driver is classes12.zip or classes12.jar. By default, Oracle have included this driver at the software installation process. Its location is in the ORACLE_HOME\jdbc\lib directory. For example, if our ORACLE_HOME is C:\Oracle\Ora90 then the JDBC driver will be placed in C:\Oracle\Ora90\jdbc\lib directory.

Make sure to set the Java CLASSPATH correctly. Here is the command line to do it.
(Note: Assume the ORACLE_HOME is C:\Oracle\Ora90)

set CLASSPATH=.;C:\Oracle\Ora90\jdbc\lib\classes12.jar

or

set CLASSPATH=.;C:\Oracle\Ora90\jdbc\lib\classes12.zip

In addition, you can also set the CLASSPATH in your autoexec.bat file on your Windows operating system.

Now, just follow these steps:

STEP 1. Import the java.sql package into your program.
------------------------------------------------------

import java.sql.*;

The syntax above will import all classes in the java.sql package. If you want to import a few of them, you can write the syntax like this

import java.sql.Driver;
import java.sql.DriverManager;
import java.sql.Connection;

It only imports the Driver, DriverManager, and Connection class into your Java program.

STEP 2. Load the Oracle's JDBC driver.
--------------------------------------

There are two ways to load your JDBC driver. The first, use the forName() method of java.lang.Class class.

Class.forName("oracle.jdbc.driver.OracleDriver");

And the second way is use the registerDriver() method of DriverManager class.

DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());

STEP 3. Create a Connection object.
-----------------------------------

To create a Connection object, use the getConnection() method of DriverManager class. This method takes three parameters: URL, username, and password.

Connection conn =
DriverManager.getConnection(
"jdbc:oracle:thin:@mylaptop:1521:ORADB", // URL
"budi", // username
"Bandung" // password
);

STEP 4. Create a Statement object.
----------------------------------

The Statement object can be created by call the createStatement() method of Connection object that you made before. So, you can write the following code

Statement mystat = conn.createStatement();

STEP 5. Execute your SQL statement.
-----------------------------------

After you create a Statement object successfully, you can execute a query (SELECT statement) from your Java program using the executeQuery() method of Statement class. The result of execution process will be stored in ResultSet object, so you need to declare an object of ResultSet first. Here is the code.

ResultSet rs = mystat.executeQuery("select custno, custname from customer");

STEP 6. Display your data.
--------------------------

The next step is display your data using the looping control.

while (rs.next()) {
System.out.println(
rs.getInt(1) + // first column
"\t" + // the horizontal tab
rs.getString(2) // second column
);
}

STEP 7. Close your statement and connection.
--------------------------------------------

mystat.close();
conn.close();


Here is the complete code.

/*********************************************************************
* File name : SimpleOraJava.java

*********************************************************************/

import java.sql.*;

class SimpleOraJava {
public static void main(String args[]) throws SQLException {
DriverManager.registerDriver(
new oracle.jdbc.driver.OracleDriver()
);
String serverName = "mylaptop";
int port = 1521;
String user = "budi";
String password = "password";
String SID = "ORADB";
String URL = "jdbc:oracle:thin:@" + serverName + ":" + port + ":" + SID;
Connection conn = DriverManager.getConnection(URL, user, password);
String SQL = "SELECT CUSTNO, CUSTNAME FROM CUSTOMER";
Statement stat = conn.createStatement();
ResultSet rs = stat.executeQuery(SQL);
while (rs.next()) {
System.out.println(
rs.getInt(1) +
"\t" +
rs.getString(2)
);
}
stat.close();
conn.close();
}
}