Presentasi OOP (Inheritence Database ke MySQL dan Oracle)

Alhamdulillah bisa ngeblog lagi.. disini saya ingin menshare hasil presentasi saya kemaren di matakuliah Object Oriented Programming.. disini saya membahas tentang Inheritence atau turunan. jadi pertama saya punya class Database dan kelas tersebut saya turunkan ke kelas DbMySQL dan kelas DbOracle. Jadi dikelas Database tersebut sudah terdapat 3 method yaitu konfigurasi, insert, dan select. untuk insert dan select sendiri dalam mysql dan oracle querynya sama jadi dapat langsung dibuat di database dan nanti tinggal di turunkan. sedangkan untuk konfigurasi pastinya beda antara mysql dan oracle, jadi untuk methode konfigurasi saya bikin abstrak jadi nanti untuk di klas DbMysql dan DbOracle dapat diimplement sendiri dengan cara konfigurasi masing2 database. Disini saya hanya menyediakan satu tabel yaitu tabel matakuliah untuk dijadikan simulasinya..
jadi di mysql dan oracle sama-sama terdapat tabel matakuliah. jadi langkah pertama membuat database dikedua jenis database tersebut dengan diisi tabel matakuliah. lalu membuat class Matakuliah yang isi parameternya id,nama,dosen serta jangan lupa setter getternya

public class Matakuliah {
    
    private String id;
    private String nama;
    private String dosen;

    public Matakuliah() {
    }

    public String getDosen() {
        return dosen;
    }

    public void setDosen(String dosen) {
        this.dosen = dosen;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getNama() {
        return nama;
    }

    public void setNama(String nama) {
        this.nama = nama;
    }
       
}

setelah itu buat class Database sebagai kelas induk

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;

public abstract class Database {
    
    abstract public Connection getKonfigurasi();
    
    public void insert(Matakuliah mk){
        try {
            PreparedStatement ps=getKonfigurasi().prepareStatement("insert into matakuliah values(?,?,?)");
            ps.setString(1, mk.getId());
            ps.setString(2, mk.getNama());
            ps.setString(3, mk.getDosen());
            ps.executeUpdate();
        } catch (SQLException ex) {
            Logger.getLogger(Database.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
    
    public void getAll(){
        try {
            Statement st=getKonfigurasi().createStatement();
            ResultSet rs=st.executeQuery("select *from matakuliah");
            List<Matakuliah> list=new ArrayList<Matakuliah>();
            while(rs.next()){
                Matakuliah mk=new Matakuliah();
                mk.setId(rs.getString("id"));
                mk.setNama(rs.getString("nama"));
                mk.setDosen(rs.getString("dosen"));
                list.add(mk);
            }
            
            for(Matakuliah mk : list){
                System.out.println("");
                System.out.println("-------------------");
                System.out.println("ID Matakuliah : "+mk.getId());
                System.out.println("Nama Matakuliah : "+mk.getNama());
                System.out.println("Dosen : "+mk.getDosen());
                System.out.println("-------------------");
            }
        } catch (SQLException ex) {
            Logger.getLogger(Database.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
}

lalu buat class DbMySQL untuk turunan dari class Database

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;

public class DbMySQL extends Database{
    private Connection conn;
    @Override
    public Connection getKonfigurasi() {
        try {
            try {
                Class.forName("com.mysql.jdbc.Driver").newInstance();
                String db="jdbc:mysql://localhost:3306/presentasi";
                String user="root";
                String pass="root";
                conn=DriverManager.getConnection(db, user, pass);
                return conn;
            } catch (SQLException ex) {
                Logger.getLogger(DbMySQL.class.getName()).log(Level.SEVERE, null, ex);
                return null;
            } catch (ClassNotFoundException ex) {
                Logger.getLogger(DbMySQL.class.getName()).log(Level.SEVERE, null, ex);
                return null;
            }
        } catch (InstantiationException ex) {
            Logger.getLogger(DbMySQL.class.getName()).log(Level.SEVERE, null, ex);
            return null;
        } catch (IllegalAccessException ex) {
            Logger.getLogger(DbMySQL.class.getName()).log(Level.SEVERE, null, ex);
            return null;
        }
    }
    
}

buat class DbOracle sebagai turunan dari class Database

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;

public class DbOracle extends Database{
    private Connection conn;
    @Override
    public Connection getKonfigurasi() {
        try {
            try {
                Class.forName("oracle.jdbc.OracleDriver").newInstance();
                String db="jdbc:oracle:thin:@localhost:1521:XE";
                String user="bah";
                String pass="teh";
                conn=DriverManager.getConnection(db, user, pass);
                return conn;
            } catch (SQLException ex) {
                Logger.getLogger(DbOracle.class.getName()).log(Level.SEVERE, null, ex);
                return null;
            } catch (ClassNotFoundException ex) {
                Logger.getLogger(DbOracle.class.getName()).log(Level.SEVERE, null, ex);
                return null;
            }
        } catch (InstantiationException ex) {
            Logger.getLogger(DbOracle.class.getName()).log(Level.SEVERE, null, ex);
            return null;
        } catch (IllegalAccessException ex) {
            Logger.getLogger(DbOracle.class.getName()).log(Level.SEVERE, null, ex);
            return null;
        }
    }
    
}

setelah itu buat class untuk simulasinya atau untuk demo program nya..

import java.util.Scanner;

public class DemoDatabase {

    public static void main(String[] args) {
        int status;
        int pilihanMysql = 0;
        int pilihanOracle = 0;
        boolean keluar = false;
        boolean keluarAll=false;
        Database db;
        do{
        System.out.println("=====PRESENTASI MATAKULIAH OOP=======");
        System.out.println("");
        System.out.println("Pilih Database yang ingin di pakai ?");
        System.out.println("1. MySQL");
        System.out.println("2. ORACLE");
        System.out.println("3. Keluar");
        System.out.print("Pilih nomor : ");
        Scanner scan;
        scan = new Scanner(System.in);
        status = Integer.parseInt(scan.nextLine());
        do {
            if (status == 1) {
	    keluar=false;
                db = new DbMySQL();
                System.out.println("");
                System.out.println("Database MySQL");
                System.out.println("==============");
                System.out.println("1. Insert data");
                System.out.println("2. Lihat data");
                System.out.println("3. Keluar");
                System.out.print("pilih : ");
                scan = new Scanner(System.in);
                pilihanMysql = Integer.parseInt(scan.nextLine());
                if (pilihanMysql == 1) {
                    Matakuliah mk = new Matakuliah();
                    System.out.print("Masukkan ID Matakuliah : ");
                    scan = new Scanner(System.in);
                    mk.setId(scan.nextLine());
                    System.out.print("Masukkan Nama Matakuliah : ");
                    scan = new Scanner(System.in);
                    mk.setNama(scan.nextLine());
                    System.out.print("Masukkan Dosen : ");
                    scan = new Scanner(System.in);
                    mk.setDosen(scan.nextLine());
                    db.insert(mk);
                    System.out.println("");
	        System.out.print("Semua Data Matakuliah Di Database Oracle");
	        db.getAll();
                } else if (pilihanMysql == 2) {
	        System.out.println("");
	        System.out.print("Semua Data Matakuliah Di Database MySQL");
                    db.getAll();
                
                } else if (pilihanMysql == 3) {
                    keluar = true;
                } else {
                    System.out.println("pilihan salah");
                }
            } else if (status == 2) {
	    keluar=false;
                db = new DbOracle();
                System.out.println("");
                System.out.println("Database Oracle");
                System.out.println("==============");
                System.out.println("1. Insert data");
                System.out.println("2. Lihat data");
                System.out.println("3. Keluar");
                System.out.print("pilih : ");
                scan = new Scanner(System.in);
                pilihanOracle = Integer.parseInt(scan.nextLine());
                if (pilihanOracle == 1) {
                    Matakuliah mk = new Matakuliah();
                    System.out.print("Masukkan ID Matakuliah : ");
                    scan = new Scanner(System.in);
                    mk.setId(scan.nextLine());
                    System.out.print("Masukkan Nama Matakuliah : ");
                    scan = new Scanner(System.in);
                    mk.setNama(scan.nextLine());
                    System.out.print("Masukkan Dosen : ");
                    scan = new Scanner(System.in);
                    mk.setDosen(scan.nextLine());
                    db.insert(mk);
	        System.out.println("");
	        System.out.print("Semua Data Matakuliah Di Database Oracle");
                    db.getAll();

                } else if (pilihanOracle == 2) {
	        System.out.println("");
	        System.out.print("Semua Data Matakuliah Di Database Oracle");
                    db.getAll();

                } else if (pilihanOracle == 3) {
                    keluar = true;
                    
                } else {
                    System.out.println("pilihan salah");
                }
            }else if(status==3){
                keluarAll=true;
            }
        } while (keluar == false);
        }while(keluarAll==false);
    }
}

program ini nantinya masih jalan di console/terminal/cmd saja jadi belum ada tampilan GUI namun sudah dapat digunakan untuk melakukan proses insert serta select dari database database tersebut.

dibawah ini tampilan running program di console : dapat juga di jalankan di cmd sebab java itu multiplatform tinggal di compile dan dijalankan.

db

untuk source dapat didownload di bawah ini :
oh ya untuk driver mysql dan oracle nya itu saya exstrack dari driverJdbc .jar yang mysql dan oracle miliki.. karena ini masih manual jalan di console maka untuk mengimport drivernya pun saya lakukan dengan cara manual dengan cara mengekstraknya. 😀

http://bahrie127.googlecode.com/files/PresentasiPBO.zip

selamat Belajar java beserta Database, serta memahami OOP pastinya.. 😀

Kisah Release Party Ubuntu 11.04 Natty (STTA)

Release party atau party menyambut release nya ubuntu yang terbaru adalah acara rutin yang diadakan oleh Komunitas Ubuntu Jogja maupun komunitas ubuntu lain yang ada di seluruh dunia. Release ini dilakukan tiap 6 bulan sekali dan pada release party ubuntu 11.04 Sekolah Tinggi Teknologi Adisutjipto Yogyakarta mendapat kehormatan sebagai Tuan Rumah penyelengara release ubuntu yang ada di Jogja, yang didukung oleh Sekolah Tinggi Teknologi Adisutjipto, Komunitas Ubuntu Jogja, Kepatihan, dan Sponsor-sponsor lainnya. Acaranya berjalan sangat meriah karena dihadiri oleh lebih dari 250 perserta dari mahasiswa STTA sendiri dan dari kampus2 yang ada di jogja dan sekitar jogja.

backdrop

registrasi

Pukul 08.00-09.00 WIB adalah registrasi ulang para peserta yg mendaftar secara online. dan acara resmi dibuka pada pukul 09.00 WIB yang isi dengan pertama sambutan oleh ketua Jurusan Teknik Informatika Sekolah Tinggi Teknologi Adisujipto Yogyakarta Bapak Hero Wintolo S.T, M.Kom,

acara dimulai

lalu sambutan dari perwakilan komunitas ubuntu jogja yaitu Saudara Hendra Indriyanto. Setelah itu masuk ke Topik Pertama yaitu Pengenalan Ubuntu dan Internet sehat yang dibawakan oleh Saudara Hendra dari Komunitas Ubuntu jogja. Dalam topik ini banyak dicritakan sejarah ubuntu, secarah codename nya ubuntu, serta kelebihan-kelebihan ubuntu lainnya. Lalu masuk ke internet sehat. disini kita dikasih tahu bagaimana cara supaya sehat dalam berselancar di internet, sehat dalam artian bebas virus, malware, bebas dari pornografi serta bebas dari penipuan yang sering terjadi di dunia internet. Topik selanjut adalah Keamanan Wareless hotspot dan hacking dengan ubuntu yang dibawakan oleh Darman dan Aji Kisworo dari ubuntu jogja. Disini kita dikasih tahu gimana cara nya hacking dengan ubuntu, diberitahu nama-nama toolsnya dan cara pemakaiannya seperti kismet dan lainnya. dan mereka seperti sedang curhat betapa lamanya dalam melakukan cracking sebuah hostpot walaupun hasil akhirnya belum tentu didapat.hehehe

presentasi

Setelah itu masuk ke tema terakhir yaitu membangun wireless hostpot dengan Ubuntu yang dibawakan oleh Iqbal Muhammad. disini kita di kasih tahu langkah langkah bagaimana caranya kita membangun sebuah hotspot yang aman dengan memakai ubuntu. Dan tidak kalah seru di tiap topik diselingi oleh banyak pertanyaan dari berbagai perwakilan kampus maupun instansi diluar kampus. dan juga pastinya doorprise bagi mereka yang beruntung. dan tidak lupa siangnya dapat makan siang dari jogchick. 😀

bertanya

banyak

dorprese

terakhir ditutup dengan penyerahan souvenir berupa miniatur pesawat bagi para pembicara. serta pengambilan sertifikat dari panitia kepada para peserta yang telah berpartisipasi.. acara secara resmi ditutup pada pukul 14.30 WIB.
Sekian sedikit kisah dari Penyelenggaraan Release party Ubuntu Natty yang diselenggarakan di STT Adisutjipto Yogyakarta. Ucapan terimakasih setinggi-tingginya saya haturkan kepada panitia yang gigih mengawal acara dari pra acara sampai pasca acara selesai, serta terimakasih kepada Komunitas Ubuntu Jogja yang memberikan support penuh dalam acara ini. selamat melanjutkan aktifitas yang lain kawan-kawan.. 🙂

kawan-kawan

Saiful Bahri (08)
https://bahrie27.wordpress.com/

Merubah Port Jetty Maven di Linux

Apa itu jetty apa itu maven saya rasa yg sedang cari tutorial ini pasti sudah tahu, bagi yang tidak sengaja membaca artikel ini dapat di googling apa itu jetty dan maven, tapi yg berbahasa indonesia sperti jarang atau hampir tidak ada.. hehehe
Nah, saya nulis tentang merubah port jetty karena pengalaman tadi malam saat saya menjalan project java dari maven yg memerlukan server jetty namun port defaultnya jetty yaitu 8080 sudah dipake oleh oracle di localhost, sehingga mau tidak mau saya harus merubah port jetty atau merubah port oracle supaya jetty dapat starter, dan stelah saya googling-googling akhirnya dapet cara untuk merubah port jetty dan tidaklah susah.. tinggal mengetikkan satu baris di dalam terminal dan jangan lupa menjalankan jetty didalam root program yang ingin dijalankan.ini codenya :

mvn -Djetty.port=9999 jetty:run

yang artinya nanti portnya berubah menjadi 9999 yang dari sebelumnya 8080. cukup sekian semoga bisa membantu yang sedang belajar maven.. Semangat 😀

Pendaftaran Release Party Ubuntu 11.04 Jogja

release party

PENDAFTARAN

INFORMASI

Merubah Tampilan Java Desktop

Dalam postingan kali ini saya ingin berbagi cerita tentang bagaimana membuat tampilan java desktop supaya menjadi lebih cantik karena secara default tampilan java tidak gitu enak di pandang (kotak kotak), namun cukup menambakan sedikit source dan mengimport sedikit library tampilan java bisa berubah menjadi wah, jauh dari yg dbayakan dan diomongkan orang orang kalo tampilan java itu jelek dan lebih bagus pemrograman ini dan itu. dibawah ini nanti saya kasih screenshotnya. 😀

default
tampilan default java

mac
tampilan mac

aero
tampilan Aero

grapite
tampilan graphite

acry
tampilan acry

Tampilan tampilan diatas sangatlah mudah dipasang hanya tinggal menambahkan code dibawah ini dibawah main nya java,
namun sebelumnya anda harus mengimport dulu library JTatto.jar kedalam library program. kalo lewat IDE Netbeans atau Eclipse cukup mudah cara memasukkan librarynya. untuk JTatto.jar nya dapat di download di http://jtatto.net/

try {
           UIManager.setLookAndFeel(new BernsteinLookAndFeel());
        } catch (UnsupportedLookAndFeelException ex) {
            Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
        }

Contoh code lengkap class Main.java nya :

public class Main {

    public static void main(String[] args) {
        try {
           UIManager.setLookAndFeel(new BernsteinLookAndFeel());
        } catch (UnsupportedLookAndFeelException ex) {
            Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
        }
        SwingUtilities.invokeLater(new Runnable() {

            public void run() {
                Mahasiswa mhs=new Mahasiswa();
                mhs.setVisible(true);
            }
        });
    }

}

Untuk LookAndFeel lainnya dapat dilihat dibawah ini:

lookandfeel
Look And Feel

Selamat mencoba tampilan baru dan Enjoy dengan pemrograman java Desktop.. semoga pemrograman menjadi semakin menyenangkan.. 😀

—–
oh ya jtatto.jar juga sudah saya sertakan dalam library aplikasi toko buku yang sudah saya upload di googlecode.. sudah ada di postingan sebelumnya..

http://bahrie127.googlecode.com/files/LibTokoBuku.zip