Pengecekan Nomor Kartu Kredit menggunakan Algoritma Luhn Java Programming

Ternyata dalam digit number kartu kredit itu terdapat pengecekan bila salah satu karakter diganti dengan digit lain maka akan menghasilkan kembalian false. jadi dengan itu tidak mudah dalam pemalsuan nomor kartu kredit karena nomor tersebut di buat dengan algoritma yang secure. Salah satu algoritma yang sering dipakai dalam pengecekan kartu kredit adalah algoritma Luhn (Luhn Algorithm). deskripsinya dapat dibaca disini http://en.wikipedia.org/wiki/Luhn_algorithm.

Bentuk code java untuk pengecekan menggunakan algoritma Luhn dapat dilihat dibawah, code ini saya dapat dari googlecode 😀 jadi free untuk digunakan :

public class Luhn
{
        public static boolean Check(String ccNumber)
        {
                int sum = 0;
                boolean alternate = false;
                for (int i = ccNumber.length() - 1; i >= 0; i--)
                {
                        int n = Integer.parseInt(ccNumber.substring(i, i + 1));
                        if (alternate)
                        {
                                n *= 2;
                                if (n > 9)
                                {
                                        n = (n % 10) + 1;
                                }
                        }
                        sum += n;
                        alternate = !alternate;
                }
                return (sum % 10 == 0);
        }
}

Selamat mencoba untuk belajar, siapa tahu bermanfaat dalam dunia kerja nantinya 😀
Untuk contoh programnya menyusul. hehe

Sumber : Google Code Luhn.java

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.. 😀

Aplikasi Toko Buku dengan Pemrograman Java

Assalamu’alaikum..

Sebelum saya memulai perkuliahan semester 6 kemaren, untuk mengisi waktu saya membuat aplikasi sederhana menggunakan java. didalamnya sudah ada autentifikasi dan autorisasi yaitu login serta hak akses masing masing kasir, jadi ada yang bertindak sebagai admin yang bisa melakukan input buku perubahan buku dan delete serta lain lain dan ada yang hanya sebagai kasir yang cuma bisa sebagai penjual, jadi cuma bisa buka form penjualan.

tokobuku

Aplikasi ini sudah saya uploud di di googlecode lewat subversion, jadi yang ingin melihatnya silahkan di sedot aja lewat subversion masing masing, bisa pake netbeans maupun eclipse. namun sebelumnya komputer anda harus sudah di install subversion, untuk pengguna linux terutama ubuntu, untuk install subversion cukup mudah, tinggal ketik aja di terminal

sudo apt-get install subversion

setelah itu masuk ke netbeans, klik menu team, lalu subversion, lalu checkout. dan nanti masukkan link googlecode saya.

https://bahrie127.googlecode.com/svn/trunk/

untuk username dan password tidak usah di masukkan langsung next aja, dan cari folder toko buku lalu di ok aja.. Dan juga bagi temen-temen yang ingin berkontribusi mengembangkan aplikasi ini bisa berpartisipasi, kirim aja alamat emailnya nanti saya daftarkan supaya dapat commit ke project ini(comment aja di bawah nanti saya daftarkan untuk membantu).. karena project ini masih banyak kekurangan,untuk laporannya belum saya buat, rencana mau saya buat pake jasperreport. mungkin ada temen yang lagi belajar dan ingin sekalian praktek mungkin bisa membantu disini. karena database yang saya buat sudah relasional jadi mudah nantinya untuk dibuat laporan.. 😀

database

kita sebagai programmer juga harus gaul..hehee tidak hanya di zip lalu di upload terus di download dan di unzip. kalo code kita disimpan di googlecode seperti ini, suatu saat kalo kita ingin menggunakan lagi tinggal kita checkout aja ke netbeans tanpa harus susah susah download di unzip dan configurasi ulang..hehee selamat mencoba.. 🙂

———
update 15 april 2011.

Project tokobukuapp yang ada di googlecode sudah saya update lagi bagi temen2 yang kemaren menemukan error diproses bisa di chekout ulang. dan sekaligus sudah saya buat file zip nya bagi yang blum gitu ngerti ttg subversion. dengan di download secara manual diharapkan kita semua bisa sama sama belajar.. 🙂
bila menemukan error, di Jcalendar. import aja library nya dengan cara klik kanan libraries, add jar/folder. lalu cari di folder project/dist/lib/. 😀

link download ada dibawah :

download dari github

update — 24/4/2012 —

waktu melakukan transaksi penjualan seharusnya stok barang berkurang, codenya sudah saya bikin tapi salah ketik, yang harusnya update didalam code saya tulis udpate, hingga akan terjadi error, bagi yang menemukan error disitu, rubah aja udpate menjadi update. 😀 ada di class ini https://bahrie127.googlecode.com/svn/trunk/TokoBuku/src/bahrie/tokobukuapp/implement/ImplemPenjualan.java

yang bagian ini
PreparedStatement ps2=DatabaseUtilities.getConnection().prepareStatement(“udpate buku set stok=? where id_buku=?”);

selamat berkarya 😀

update 29/08/2013
http://bahrie27.com/2013/08/29/user-guide-tokubukuapp-project/

Mudahnya membuat Aplikasi CRUD di Java dg database MySQL

Sebenarnya, sebelumnya saya pernah menulis tentang membuat aplikasi crud menggunakan java, namun yang tulis dulu itu codenya terlalu panjang dan bila dikembangkan menggunakan banyak tabel akan terasa sedikit sulit, dan sekang yang ingin saya share adalah menggunakan code baru, yang lebih sedikit class nya dan lebih ringkas codenya. nanti bisa dilhat sendiri betapa mudah dan ringkasnya kode yg saya buat serta mudah untuk dipahami.. dan yang tidak kalah penting, dalam aplikasi ini sudah mengcakup konsep MVC atau model, view, control sehingga dapat di bedakan mana yang bertugas untuk view, control dan yang mengurusi keluar masuknya data dari dan ke database. hehee..

dibawah ini tampilan antarmukanya..

antarmuka
antarmuka

pertama yang kita buat adalah databasenya. disini saya membuat database dengan nama sisteminformasi dan terdapat satu tabel yaitu tabel mahasiswa. bagi yang sudah terbiasa dengan mysql saya yakin tidak sulit untuk membuat database ini. 😀

CREATE TABLE mahasiswa (
  `nim` varchar(8) NOT NULL,
  `nama` varchar(40) NOT NULL,
  `alamat` varchar(50) NOT NULL,
  PRIMARY KEY (`nim`)
) ;

setelah itu kita buat project di netbeans dengan nama crudjava. lalu buat package untuk menampung class koneksi supaya mudah bacanya. dibawah ini code koneksi yang saya buat.. jangan lupa sebelumnya harus sudah memasukkan library mySQL jdbc connector.

package crudjava.koneksi;

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

public class DatabaseUtilities {

    private static Connection conn;

    public static Connection getConnection(){
        if(conn==null){
            try {
                DriverManager.registerDriver(new com.mysql.jdbc.Driver());
                conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/sisteminformasi","root","root");
//db nya sisteminformasi, usernya root, dan passwordnya root
            } catch (SQLException ex) {
                Logger.getLogger(DatabaseUtilities.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
        return conn;
    }
}

Lainnya

Memasukkan Frame kedalam Frame Utama melalui menu – Aplikasi Java

Maaf Judulnya yang agak membingungkan, sebab saya juga agak bingung memberi judul. Ini adalah salah satu yang sering saya lihat di tanyakan di milist dan kemaren juga ada yang tanya tentang hal ini yaitu tentang bagaimana menampilkan frime didalam frime utama melalui menu yang ada di frame utama. jadi gambarannya seperti dibawah ini :

contoh

Nah, cara membuat contoh diatas cukuplah mudah.. pertama kita membuat frame utamanya dulu. setelah itu diframe utama diberi menu bar seperti biasa dan jdesktoppane yang berfungsi menampung frame frame yang akan masuk ke frame utama. .

pane

Setelah itu akan muncul desktoppane di frame tapi blum teratur, lalu mari kita atur dengan cara klik kanan di frame dan pilih setLayout dan pilih border layout..

loyout

setelah itu hasilnya seperti ini

desktoppane ok

Selanjutnya kita buat frame baru menggunakan jinternalframe dengan cara klik kanan pada paket pilih other dan pilih GUI lalu pilih jinternalframe. gambaran seperti dibawah :

others

Lalu

jinternal

Setelah itu di beri nama sesuka anda. dalam contoh yang saya buat saya beri nama MnSatu dan MnDua.

Nanti nya di jinternalfreme minimaze,resizeble,closeble blum di sertakan. silahkan aktifkan belalui properties..

properties

Setelah frame utama jinternalframe selesai semua dibuat, sekarang saatnya menyatukannya.. dengan cara click kanan pada menu pada menu bar — satu, pilih Events — actions — actions perfome dan isi sourcecodenya —
ini untuk menu satu:

        MnSatu mSatu = new MnSatu();//membuat objek dari jinternalfreme MnSatu
        jDesktopPane1.add(mSatu);//memasukkan objek mSatu ke jdesktoppane yg ada di menu utama
        mSatu.setVisible(true);//di visible supaya muncul di dalam desktoppane.

Dan ini untuk menu dua :

        MnDua mDua = new MnDua();
        jDesktopPane1.add(mDua);
        mDua.setVisible(true);

code

Untuk selengkapnya dapat dipelajari melalui sourcecode yang sudah jadi, dapat di download dibawah ini

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

🙂

Sourcecode Maupun Tutorial yang dapat di Download

-, Aplikasi Toko Buku dengan Java : Artikel
http://bahrie127.googlecode.com/files/TokoBukuApp.zip

-. Crud java dengan Database Oracle : Artikel
http://bahrie127.googlecode.com/files/crudjava-oracle.zip

-. Crud Java-MySqL Lebih Ringkas dengan Konsep MVC : Artikel http://bahrie127.googlecode.com/files/crudjava-java.zip

-. Memasukkan Frame kedalam Frame utama : Artikel http://bahrie127.googlecode.com/files/formdidalamFormutama.zip

-. CRUD (create, read, update, delete). aplikasi desktop sederhana menggunakan JDBC(java database connection) : Artikel

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

-. Aplikasi Perpustakaan Mini. perpustakaan untuk E-book : Artikel

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

-. Aplikasi untuk belajar Java RMI, bisa dikembangkan untuk tugas sis terdistribusi maupun pemrosesan parallel : Artikel

http://bahrie127.googlecode.com/files/sisterdis-javarmi.zip

-. Aplikasi CRUD menggunakan JPA(java Persistance API) : Artikel

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

-. Materi Pelatihan Java Fundamental (berbahasa indonesia) : Artikel
http://bahrie127.googlecode.com/files/materi_pelatihan_java_fundamental.pdf

-. Materi Java Standart Edition (JSE) Berbahasa indonesia : Artikel

http://bahrie127.googlecode.com/files/jse.pdf

-. Aplikasi KRS sederhana — sistem terdistribusi : Artikel

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

-. Installer for windows Aplikasi KRS sistem terdistribusi : Artikel

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

-. Aplikasi Ujian-LAN — Pemrosesan parallel : Artikel

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

Aplikasi Desktop Crud MVC java sederhana Menggunakan JPA(Java Persistence API)

Sebelumnya saya pernah membuat aplikasi Crud sederhana namun bedanya yang dulu saya masih menggunakan jdbc untuk koneksi nya dan yang sekarang menggunakan JPA (java persistence API). Dengan menggunakan jpa proses pembuatan doa jauh lebih cepat, namun dilain sisi jpa membutuhkan resource yang lebih besar. untuk aplikasi ini saja saya lihat di properstiesnya mencapai sekitar 6Mb, oleh karena itu yang saya upload tidak beserta librarynya,hanya sourcecodenya saja. jangan lupa nanti kalau mencoba di add library jdbc connector dan eclipseLink(JPA 2.0) dibawah ini gambar librarynya..

library

bedanya JPA dengan jdbc yaitu kalau kita menggunakan jdbc kita harus membuat satu persatu dulu table didalam databasenya dulu setelah itu kita buat class yang merepresentasikan table tersebut. sedangkan kalau kita menggukan JPA kita hanya membuat database saja, sedang kan table nanti akan dibuatkan oleh jpa, dengan mengambil table dari class entity yang kita buat. jadi buat class sekaligus membuat table. kerja satu kali menjadikan 2 hasil, table dan class entity.

langsung keprakteknya aja, pertama kita buat databasenya, bisa lewat console bisa juga lewat phpmyadmin ato tools2 kesukaan anda terserah..
disini saya memberi nama database saya dengan nama crudjpa

        > create database crudjpa;

setelah itu kita buat project kita.. pertama kita membuat entity class, ini beda dengan java class. dibawah ini contohnya..
entityclass
setelah itu isi nama class dengan Mahasiswa, untuk Premary key nya Long bisa String juga bisa, tergantung kebutuhan. disini saya menggukanan String karena NIM saya analogikan sebuah String.
entity

setelah itu atur coneksi kedatabase kita dengan memilih new connection..
newconn

disini silahkan atur nama nama database, username serta password di mysql anda. kalo di code yang saya upload user dan passwordnya root dan root.
newdatabaseconnektion

setelah selesai semua mari kta masuk ke koding
pertama kita isi dulu class Mahasiswa.java yang telah kita buat..

package crudjpa.entity;

import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;

/**
 *
 * @author bahrie
 */
@Entity
public class Mahasiswa implements Serializable {

    private static final long serialVersionUID = 1L;
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private String id;
    private String nama;
    private String alamat;

    public String getAlamat() {
        return alamat;
    }

    public void setAlamat(String alamat) {
        this.alamat = alamat;
    }

    public String getNama() {
        return nama;
    }

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

    public String getId() {
        return id;
    }

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

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (id != null ? id.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof Mahasiswa)) {
            return false;
        }
        Mahasiswa other = (Mahasiswa) object;
        if ((this.id == null && other.id != null) || (this.id != null && !this.id.equals(other.id))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "crudjpa.entity.Mahasiswa[id=" + id + "]";
    }
}

Lalu buat MahasiswaDao.java untuk daonya

Lainnya

Mencari Bilangan Fibonacci Menggunakan Java

Barisan Fibonacci adalah barisan yang didifinisikan secara rekursif. Barisan fibonacci yang bertama adalah :

0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946…

sumber : Bilangan Fibonacci
jadi algoritmanya adalah bilangan di awali dari 0 dan 1 dan bilangan selanjutnya merupakan penambahan bilangan sebelumnya dengan yang sebelumnya lagi.
dan dibawah ini saya mencoba membuat sourcode dari algoritma fibonacci menggunakan java programming.

import javax.swing.JOptionPane;

public class Fibonacci {
    public static void main(String[] args) {
        int deret=Integer.parseInt(JOptionPane.showInputDialog("Masukkan berapa deret Fibonacci: "));
        int a=0;
        int b=1;
        System.out.print(deret+" deret Fibonacci: " );
        for (int i=0;i<deret;i++){
            System.out.print(a+" ");
            a=a+b;
            b=a-b;   
        }
    }
}

sourcecode diatas kalo di run hasilnya seperti dibawah ini, contoh saya tampilkan 9 deret bilangan fibonacci.

fibo

sourcecode diatas masih bisa dikembangkan lagi, yaitu variable a dan b menggunakan inputan/masukan dari keyboard karena fibonacci tidak hanya untuk angka 0 dan 1 saja, tapi untuk yg lain juga bisa.. misal 3 dan 7, dsb…
silahkan ber-eksperimen.. 🙂

Pengecekan Tahun Kabisat dari Tahun Sekian sampai Tahun Sekian Menggunakan java

Pertama kita tentukan dulu batas yang akan di jadikan patokan pengecekan dari Tahun berapa sampai tahun berapa. setelah itu dicari apalah tahun yang dimasukkan dbawah tahun batas bawah, kalo dibwah maka akan ada laporan bahwa tahun dibawah batas bawah, bila diatas batas bawah makan dicek apakah tahun tersebut diatas atau dibawah batas atas, kalau diatas batas atas maka akan ada laporan bahwa tahun diatas batas atas, bila di bawah batas atas maka tahun itu akan dicek, apakah kalo dibagi 4 mempunyai sisa 0, bila iya maka tahun yang dimasukkan tersebut adalah tahun kabisat, tapi kalau sisanya tidak 0 maka tahun tersebut bukan tahun kabisat. dibawah ini sourcecode dalam java–

import javax.swing.JOptionPane;

public class Kabisat {
    public static void main(String[] args) {
        int tahun=Integer.parseInt(JOptionPane.showInputDialog("masukkan tahun (1900-2005) : "));
        if(tahun>=1900){
            if(tahun<=2005){
                if(tahun%4==0){
                    System.out.println(tahun+" adalah tahun kabisat");
                }else{
                    System.out.println(tahun+" adalah bukan tahun kabisat");
                }
            }else{
                System.out.println("Maaf, tahun diatas 2005");
            }
        }else{
            System.out.println("Maaf, tahun inputan dibawah 1900");
        }
    }
}

source ini agak beda dengan sourcecode pada umumnya, namun algoritma ini yang saya rasa paling enak dilihat alurnya.. selamat mencoba 🙂

Mengecek Bilangan Prima menggunakan Java

Postingan ini saya buat untuk mengingat kembali algoritma supaya tidak hilang. disini saya membuat algoritma untuk mengecek sebuah bilangan apakah bilangan itu prima atau tidak. Sebelumnya kita lihat dulu pengertian dari bilangan prima itu sendiri.

Dalam matematika, bilangan prima adalah bilangan asli yang lebih besar dari 1, yang faktor pembaginya adalah 1 dan bilangan itu sendiri. 2 dan 3 adalah bilangan prima. 4 bukan bilangan prima karena 4 bisa dibagi 2. Sepuluh bilangan prima yang pertama adalah 2, 3, 5, 7, 11, 13, 17, 19, 23 dan 29.

sumber: http://id.wikipedia.org/wiki/Bilangan_prima

dan dibawah ini sourcode yang saya buat.

import javax.swing.JOptionPane;

public class Prima {
    public static void main(String[] args) {
        int angka=Integer.parseInt(JOptionPane.showInputDialog("Masukkan bilangan: "));//saya menggunakan inputan dari java swing
        boolean prima=false;
        if (angka>=2){
            prima=true;
            for(int a=2;a<angka;a++){
                if(angka%a==0){//jika dia dibagi selain 1 dan dirinya sama dengan 0 atau habis maka dia bukan prima
                    prima=false;
                    break;
                }
            }
        }
        System.out.println((prima==true?angka+" adalah bilangan prima":angka+" bukan termasuk bilangan prima"));
//ini merupakan percabangan binary jadi cuma dua kemungkinan. langsung saya taruh di System out. dan saya cek
//jika prima true maka pilihan pertama angka+ adalah bilangan perima. dan else nya yang diwakili oleh tanda : (titik dua)
//bila tidak true maka angka+ bukan termasuk bilangan prima.
    }
}

untuk algoritmanya saya langsung sertakan di sourcenya saya letakkan sebagai comment. 🙂