Anda di halaman 1dari 22

PERTEMUAN 2

Pengenalan Basis Data Pada Java


Menggunakan Mysql

Objektif :
1. Praktikan Dapat Memahami Dasar-Dasar Basis Data
2. Praktikan Dapat Menggunakan Software Basis Data MySQL
3. Praktikan Dapat Menghubungkan Java Dengan MySQL
4. Praktikan Dapat Membuat Contoh Program Java Dengan Memanfaatkan Basis Data

Page 28
2.1. Pengenalan Basis Data
 Pengertian Basis Data
Sekumpulan data yang terintegrasi yang diorganisasi untuk memenuhi kebutuhan para
pemakai di dalam suatu organisasi.

 Komponen Basis Data


Basis data memiliki empat komponen, yaitu :
1. Hardware (perangkat keras)
Hardware merupakan komponen basis data yang terdiri dari semua peralatan
perangkat keras pada komputer yang dapat digunakan untuk mengolah sistem basis data,
yaitu :
- Perangkat untuk penyimpanan basis data (harddisk, flashdisk, cd)
- Perangkat yang digunakan sebagai alat input (keyboard, scanner)
- Perangkat yang digunakan sebagai alat output (printer, monitor)
- Perangkat yang digunakan untuk komunikasi data (ethernet card, modem)

2. Software (perangkat lunak)


Software dalam komponen basis data merupakan perangkat lunak yang berfungsi
sebagai suatu perantara antara pemakai (user) dengan data yang ada pada database.
Software tersebut dapat berupa :
- DBMS (Database Management System), yaitu suatu sistem manajemen basis data
yang mampu menangani akses terhadap suatu database
- Sistem operasi

3. Data
Data merupakan suatu fakta atau kejadian yang bersifat secara nyata dan dapat diolah
untuk menjadi suatu informasi. Ciri-ciri data dalam suatu basis data adalah data dapat
disimpan secara terintegrasi dan dapat dipakai bersama-sama.

4. User

Page 29
User merupakan komponen basis data yang merupakan pengguna dari suatu sistem
basis data. User tersebut terdiri dari 3 klasifikasi, yaitu :
- Database Administrator (DBA), yaitu orang yang bertugas untuk mengelola sistem
basis data secara keseluruhan.
- Programmer, yaitu orang yang bertugas untuk membuat program aplikasi yang
mengakses suatu basis data dengan menggunakan suatu bahasa pemrograman
- End user, yaitu orang yang mengakses suatu basis data melalui suatu terminal dengan
menggunakan query-language atau suatu program aplikasi yang telah dibuatkan oleh
programmer.

 Macam-macam Software Basis Data


Beberapa software basis data yang sering digunakan dalam suatu aplikasi, yaitu:
- MS SQL Server - Microsoft Access
- IBM DB2 - PostgreSQL
- Oracle - Firebird
- MySQL - Sybase

2.2. Pengenalan Mysql


 Apa itu MySQL?
MySQL merupakan salah satu sistem manajamen basis data SQL (Structure Query
Language) yang memiliki sifat open source karena dapat diunduh secara gratis yang dibuat oleh
Ulf Michael Wedenius. MySQL mendukung beberapa fitur seperti penggunaan secara bersama-
sama (multi-user) dan multithreaded.

 Kelebihan MySQL
Berikut ini merupakan keunggulan dari MySQL yang didapatkan ketika
menggunakannya :
- Sintaks yang mudah dipahami
- Pengaksesan basis data yang mudah
- Didukung bahasa pemrograman c, c++, java, perl, php, dan bahasa pemrograman
lainnya

Page 30
Berikut adalah contoh program lengkap untuk melakukan koneksi kedalam basis data pada
MySQL :

package javaapplication1;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class JavaApplication1 {


public static void main(String[] args) {

Connection conn = null;


try{
System.out.println("Connecting...");

String url = "jdbc:mysql://localhost/javadb";


String user = "root";
String password = "";
conn = DriverManager.getConnection(url, user, password);

System.out.println("Connected");

}catch(SQLException e){
System.out.println(e.getMessage()); }
}
}

Pada bagian url dimasukkan alamat basis data yang digunakan untuk program pada mysql yang
dapat diakses oleh pengguna. User merupakan bagian untuk username yang ada pada mysql, dan
password merupakan bagian sandi yang digunakan untuk mengakses mysql namun bagian ini
dapat dikosongkan apabila tidak menggunakan password.

Page 39
2.5. Contoh Penggunaan MySQL pada Java
 Masukkan dan tampilkan data

package manipulasidata;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.ResultSet;
import java.sql.PreparedStatement;

public class ManipulasiData {


Connection conn = null;
String url = "jdbc:mysql://localhost/javadb";
String user = "root";
String password = "";
Statement st = null;
ResultSet rs = null;
PreparedStatement pst = null;

public static void main(String[] args) {


ManipulasiData app = new ManipulasiData();

app.masukanData();
app.showData(); }

public void masukanData() {


System.out.println("**MASUKKAN DATA**");
try {
conn = DriverManager.getConnection(url, user, password);
String query = "INSERT INTO product(idproduct,name,price) VALUES(?,?,?)";
pst = conn.prepareStatement(query);

for (int i = 1; i <= 10; i++) {


pst.setInt(1, i);
pst.setString(2, "product-" + i);
pst.setFloat(3, new Float(0.23 * i));
pst.executeUpdate(); }

System.out.println("==============================");
System.out.println("**BERHASIL MASUKKAN DATA**");

} catch (SQLException e) { System.out.println(e.getMessage());


} finally {

System.out.println("==============================");

Page 42
try {
if (pst != null) { pst.close(); }
if (conn != null) { conn.close(); }

} catch (SQLException e) { System.out.println(e.getMessage()); }


}
}

public void showData() {

System.out.println("**TAMPILKAN DATA**");
System.out.println("==============================");
System.out.println("idproduct"+"\t"+"name"+"\t"+"\t"+"\t"+"price");
try {
conn = DriverManager.getConnection(url, user, password);
pst = conn.prepareStatement("SELECT * FROM product");
rs = pst.executeQuery();

while (rs.next()) {
System.out.print(rs.getInt("idproduct"));
System.out.print("\t"+"\t");
System.out.print(rs.getString("name"));
System.out.print("\t"+"\t");
System.out.println(rs.getFloat("price")); }

} catch (SQLException e) { System.out.println(e.getMessage());


} finally {

System.out.println("==============================");
try {
if (rs != null) { rs.close();}
if (pst != null) { pst.close(); }
if (conn != null) { conn.close(); }

} catch (SQLException e) { System.out.println(e.getMessage()); }


}
}
}

Page 43
app.editData(5);
app.showData(); }

public void editData(int id) {

System.out.println("**EDIT DATA**");
System.out.println("edit data id : 3" );
try {
conn = DriverManager.getConnection(url, user, password);
String query = "UPDATE product SET price=? WHERE idproduct=3";
pst = conn.prepareStatement(query);

pst.setFloat(1, new Float(3.0));


pst.executeUpdate();
System.out.println("==============================
");
System.out.println("**BERHASIL EDIT DATA**");

} catch (SQLException e) {
System.out.println(e.getMessage());
} finally {

System.out.println("==============================");
try {
if (pst != null) { pst.close(); }
if (conn != null) { conn.close(); }

} catch (SQLException e) { System.out.println(e.getMessage()); }


}
}
}

Page 45
String user = "root";
String password = "";
Statement st = null;
ResultSet rs = null;
PreparedStatement pst = null;

public static void main(String[] args) {


ManipulasiData app = new ManipulasiData();

app.hapusData(7);
}

public void hapusData(int id) {

System.out.println("**HAPUS DATA");
System.out.println("hapus data id : 2");
try {
conn = DriverManager.getConnection(url, user, password);
String query = "DELETE FROM product WHERE idproduct=2" ;
pst = conn.prepareStatement(query);
pst.executeUpdate();

System.out.println("==============================");
System.out.println("**BERHASIL HAPUS DATA**");

} catch (SQLException e) { System.out.println(e.getMessage());


} finally {

System.out.println("==============================");
try {
if (pst != null) { pst.close(); }
if (conn != null) { conn.close(); }

} catch (SQLException e) { System.out.println(e.getMessage()); }


}
}
}

Page 47
ketika terjadi perubahan nilai. Namun semua perintah tersebut dapat digunakan juga untuk
mengeksekusi semua proses delete, insert, update maupun select.

Perintah insert merupakan perintah pada SQL yang digunakan untuk memasukkan data
kedalam suatu tabel. Pada bagian values, data yang dimasukkan diwakilkan dengan symbol tanda
tanya (?) untuk menunjukkan bahwa disediakannya parameter untuk berapa jumlah data yang
akan dimasukkan. Data yang dimasukkan ada 10 dengan melihat bagian perintah for.
Perintah update merupakan perintah pada SQL yang digunakan untuk mengubah isi dari
suatu data yang ada dalam suatu tabel. Pada bagian set terdapat symbol tanda tanya yang
mewakili parameter data yng akan dimasukkan.
pst.setFloat(1,new Float(3.0)); merupakan parameter yang akan dieksekusi untuk
bagian update karena digunakan untuk memasukkan data yang baru .

app.masukkanData();
app.editData();
app.hapusData();
app.showData();
merupakan kode program yang digunakan untuk mengeksekusi setiap method yang dipanggil.
Kemudian terdapat perintah conn.close yang merupakan perintah untuk memutus koneksi
kedalam basis data.

Page 49

Anda mungkin juga menyukai