• Tidak ada hasil yang ditemukan

4.1. Implementasi

4.1.3. Implementasi User Interface

4.1.4.1. Kelola DataBase

Langkah pertama yang harus dilakukan penguna adalah masuk ke halaman awal/beranda. Kemudian pilih Kelola Database ( Kelola data Penjadwalan). Aplikasi akan menampilkan halaman kelola data matakuliah, dosen, dan ruang kepada pengguna.

Gambar 4. 1 Halaman Awal/Beranda

Kelola Data Matakuliah yaitu sebuah halaman yang terdapat proses tambah, edit, hapus, dan lihat data matakuliah. Data matakuliah terdiri dari : kode matakuliah, nama matakuliah, jumlah SKS, jumlah Jam Pertemuan, semester, dan jenis matakuliah (teori/praktikum).

1. Cara menambah matakuliah.

Isi data matakuliah secara lengkap. Kemudian klik tombol simpan.

Gambar 4. 2 menambah matakuliah Kode program yang digunakan untuk menambah matakuliah :

Jika berhasil tersimpan maka akan muncul pemberitahuan berhasil tersimpan.

Gambar 4. 3 pemberitahuan berhasil.

2. Cara mengedit matakuliah.

public void tambahMataKuliah(Matakuliah matkul) throws SQLException {

PreparedStatement statement = null;

connection.setAutoCommit(false);

String sql = "insert into matakuliah

(id_matkul,kode_matakuliah,nama_matakuliah,jumlah_sks,semester,jenis,jp ) values(?,?,?,?,?,?,?)";

statement = (PreparedStatement) connection.prepareStatement(sql);

statement.setString(1, matkul.getIdMatKul()); statement.setString(2, matkul.getKodeMatKul()); statement.setString(3, matkul.getNamaMatKul()); statement.setInt(4, matkul.getJumlahSKS()); statement.setInt(5, matkul.getSemester()); statement.setString(6, matkul.getJenis()); statement.setInt(7, matkul.getJp()); statement.executeUpdate(); connection.commit(); }

Pilih tombol lihat table, terus pilih matakuliah yang ingin di edit dengan mengklik pada baris table, setelah itu silahkan ubah data, kemudian klik tombol update.

- Lihat table.

Gambar 4. 4 list matakuliah

- Update.

Gambar 4. 5 update matakuliah Kode program yang digunakan untuk edit matakuliah :

- Pemberitahuan telah ter-update

Gambar 4. 6 pemberitahuan ter-update

3. Cara menghapus matakuliah.

public void updateMataKuliah(Matakuliah matkul) throws SQLException {

PreparedStatement statement = null;

connection.setAutoCommit(false);

String sql = "update matakuliah set nama_matakuliah =?,jumlah_sks=?,jp=?, semester=?,jenis=? where id_matkul=?";

statement = (PreparedStatement) connection.prepareStatement(sql);

statement.setString(6, matkul.getIdMatKul()); statement.setString(1, matkul.getNamaMatKul()); statement.setInt(2, matkul.getJumlahSKS()); statement.setInt(3, matkul.getJp()); statement.setInt(4, matkul.getSemester()); statement.setString(5, matkul.getJenis()); statement.executeUpdate(); connection.commit(); }

Pilih tombol lihat table, terus pilih matakuliah yang ingin di hapus dengan mengklik pada baris table, kemudian klik tombol hapus.

- Lihat table.

Gambar 4. 7 list matakuliah

- Klik tombol hapus.

Kode program yang digunakan untuk hapus matakuliah :

- Pemberitahuan berhasil dihapus.

Gambar 4. 9 pemberitahuan terhapus 4. Cara melihat matakuliah.

Klik tombol lihat table, maka akan muncul seluruh data matakuliah.

public void hapusMataKuliah(String kode_makul) throws SQLException {

PreparedStatement statement = null;

connection.setAutoCommit(false);

String sql = "delete from "

+ "matakuliah where id_matkul=?";

statement = (PreparedStatement) connection.prepareStatement(sql);

statement.setString(1, kode_makul);

statement.executeUpdate();

connection.commit();

connection.close();

Gambar 4. 10 list matakuliah Kode program yang digunakan untuk lihat matakuliah :

public List<Matakuliah> getAllMataKuliah() throws SQLException {

PreparedStatement psmt = null; ResultSet rset = null;

connection.setAutoCommit(false); String sql = "select * from matakuliah";

psmt = (PreparedStatement) connection.prepareStatement(sql); rset = psmt.executeQuery();

List<Matakuliah> matkul = new ArrayList<>(); int no = 1;

while (rset.next()) {

Matakuliah mk = new Matakuliah(); mk.setId(no); mk.setIdMatKul(rset.getString(1)); mk.setKodeMatKul(rset.getString(2)); mk.setNamaMatKul(rset.getString(3)); mk.setJumlahSKS(rset.getInt(4)); mk.setJp(rset.getInt(5)); mk.setSemester(rset.getInt(6));

5. Cara import Excel data matakuliah.

Klik tombol import excel, kemudian pilih file excel 2003/2007. Dengan syarat file excel yang dipilih telah ditelah memenuhi dengan format yang telah dibuat.

- Memilih file excel, klik tombol open.

Gambar 4. 11 import excel matakuliah Kode program yang digunakan untuk import matakuliah :

mk.setJenis(rset.getString(7)); matkul.add(mk); no++; } connection.commit(); return matkul; }

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here: JFileChooser chooser = new JFileChooser();

chooser.setFileSelectionMode(JFileChooser.FILES_ONLY); chooser.setMultiSelectionEnabled(false);

FileNameExtensionFilter JExcelFilter = new FileNameExtensionFilter("Excel 2003/2007", "xls"); chooser.setFileFilter(JExcelFilter);

chooser.setAcceptAllFileFilterUsed(false); List<Matakuliah> mk = new ArrayList<>();

if (chooser.showOpenDialog(this) == JFileChooser.APPROVE_OPTION) { try {

File files = chooser.getSelectedFile(); File fileExcel = new File(files.getPath()); System.out.println(fileExcel);

Workbook w = Workbook.getWorkbook(fileExcel); // Ambil sheet pertama, nomer 0 menandakan sheet ke 1 Sheet sheet = w.getSheets()[0];

String idMatkul = ""; String KodeMatkul = ""; String namaMatkul = ""; int jumlahSKS = 0; int jp = 0; int sem = 0; String jenis = ""; int kolom = 0;

int cekJum = KontrolMataKuliah.getKoneksi().kodeotomatisSolusi(); for (int baris = 1; baris < sheet.getRows(); baris++) {

idMatkul = "M" + (cekJum + baris);

KodeMatkul = sheet.getCell((kolom), baris).getContents(); namaMatkul = sheet.getCell((kolom + 1), baris).getContents(); jumlahSKS = new Integer(sheet.getCell((kolom + 2),

baris).getContents());

jp = new Integer(sheet.getCell((kolom + 3), baris).getContents()); sem = new Integer(sheet.getCell((kolom + 4),

baris).getContents());

jenis = sheet.getCell((kolom + 5), baris).getContents(); Matakuliah m = new Matakuliah(idMatkul, KodeMatkul, namaMatkul, jumlahSKS, jp, sem, jenis);

mk.add(m); }

if (CekKodeMatkul(mk) != true) { for (int i = 0; i < mk.size(); i++) {

idMatkul = mk.get(i).getIdMatKul(); KodeMatkul = mk.get(i).getKodeMatKul(); namaMatkul = mk.get(i).getNamaMatKul();

jumlahSKS = new Integer(mk.get(i).getJumlahSKS()); jp = new Integer(mk.get(i).getJp());

sem = new Integer(mk.get(i).getSemester()); jenis = mk.get(i).getJenis();

Matakuliah m = new Matakuliah(idMatkul, KodeMatkul, namaMatkul, jumlahSKS, jp, sem, jenis);

KontrolMataKuliah.getKoneksi().tambahMataKuliah(m); }

JOptionPane.showMessageDialog(rootPane, "Berhasil diImport"); }} catch (SQLException ex) {

ex.printStackTrace();

} catch (IOException | BiffException ex) { }}}

Pemberitahuan jika berhasil diimport.

Gambar 4. 12 pemberitahuan berhasil di import. - Format excel data matakuliah.

Gambar 4. 13 format excel matakuliah

Catatan : Mengisi data dimulai dari baris ke 2. Kolom tetap seperti gambar diatas.

B. Kelola Data Dosen.

Kelola Data Dosen yaitu sebuah halaman yang terdapat proses tambah, edit, hapus, dan lihat data Dosen. Data Dosen terdiri dari : NIP dosen, nama dosen, dan status (tetap/tidak).

Isi data dosen secara lengkap. Kemudian klik tombol simpan.

Gambar 4. 14 menambah dosen Kode program yang digunakan untuk tambah dosen :

Jika berhasil tersimpan maka akan muncul pemberitahuan berhasil tersimpan.

public void tambahDosen(Dosen dsn) throws SQLException { PreparedStatement statement = null;

connection.setAutoCommit(false);

String sql = "insert into Dosen values(?,?,?)";

statement = (PreparedStatement) connection.prepareStatement(sql); statement.setString(1, dsn.getNIP()); statement.setString(2, dsn.getNamaDosen()); statement.setString(3, dsn.getStatus()); statement.executeUpdate(); connection.commit(); }

Gambar 4. 15 pemberitahuan berhasil ditambah

2. Cara mengedit data dosen.

Pilih tombol lihat table, terus pilih data dosen yang ingin di edit dengan mengklik pada baris table, setelah itu silahkan ubah data, kemudian klik tombol update.

- Lihat table.

Gambar 4. 16 list dosen

Gambar 4. 17 update dosen Kode program yang digunakan untuk edit dosen :

- Pemberitahuan telah ter-update

public void updateDosen(Dosen dsn) throws SQLException {

PreparedStatement statement = null; connection.setAutoCommit(false);

String sql = "update dosen set nama_dosen =?,status=? where nip=?"; statement = (PreparedStatement) connection.prepareStatement(sql); statement.setString(3, dsn.getNIP()); statement.setString(1, dsn.getNamaDosen()); statement.setString(2, dsn.getStatus()); statement.executeUpdate(); connection.commit(); }

Gambar 4. 18 pemberitahuan dosen ter-update 3. Cara menghapus data dosen.

Pilih tombol lihat table, terus pilih data dosen yang ingin di hapus dengan mengklik pada baris table, kemudian klik tombol hapus.

- Lihat table.

Gambar 4. 19 list dosen

Gambar 4. 20 hapus dosen Kode program yang digunakan untuk hapus dosen :

- Pemberitahuan berhasil dihapus.

Gambar 4. 21 pemberitahuan terhapus

public void hapusDosen(Dosen dsn) throws SQLException { PreparedStatement statement = null;

connection.setAutoCommit(false); String sql = "delete from "

+ "dosen where nip=?";

statement = (PreparedStatement) connection.prepareStatement(sql); statement.setString(1, dsn.getNIP());

statement.executeUpdate(); connection.commit();

4. Cara melihat data dosen.

Klik tombol lihat table, maka akan muncul seluruh data dosen.

Gambar 4. 22 list dosen Kode program yang digunakan untuk lihat dosen :

5. Cara import Excel data dosen.

Klik tombol import excel, kemudian pilih file excel 2003/2007. Dengan syarat file excel yang dipilih telah ditelah memenuhi dengan format yang telah dibuat.

public List<Dosen> getAllDosen() throws SQLException {

PreparedStatement psmt = null; ResultSet rset = null;

connection.setAutoCommit(false);

String sql = "select Nip, nama_dosen, status, substring(Nip,2) * 1 as urut from dosen order by urut asc";

psmt = (PreparedStatement) connection.prepareStatement(sql); rset = psmt.executeQuery();

List<Dosen> dsn = new ArrayList<>(); int no = 1;

while (rset.next()) {

Dosen ds = new Dosen(); ds.setId(no); ds.setNIP(rset.getString(1)); ds.setNamaDosen(rset.getString(2)); ds.setStatus(rset.getString(3)); dsn.add(ds); no++; } connection.commit(); return dsn; }

- Memilih file excel, klik tombol open.

Gambar 4. 23 import excel dosen. Kode program yang digunakan untuk import dosen :

private void jToggleButton1ActionPerformed(java.awt.event.ActionEvent evt) {

JFileChooser chooser = new JFileChooser();

chooser.setFileSelectionMode(JFileChooser.FILES_ONLY); chooser.setMultiSelectionEnabled(false);

FileNameExtensionFilter JExcelFilter = new FileNameExtensionFilter("Excel 2003/2007", "xls"); chooser.setFileFilter(JExcelFilter);

chooser.setAcceptAllFileFilterUsed(false); List<Dosen> dsn = new ArrayList<>();

try {

File files = chooser.getSelectedFile(); File fileExcel = new File(files.getPath()); System.out.println(fileExcel);

Workbook w = Workbook.getWorkbook(fileExcel); // Ambil sheet pertama, nomer 0 menandakan sheet ke 1 Sheet sheet = w.getSheets()[0];

String nip = "";

String dosen = ""; String status = ""; int kolom = 0;

for (int baris = 1; baris < sheet.getRows(); baris++) { nip = sheet.getCell(kolom, baris).getContents();

dosen = sheet.getCell((kolom + 1), baris).getContents(); status = sheet.getCell((kolom + 2), baris).getContents();

Dosen d = new Dosen(nip, dosen, status); dsn.add(d);

}

if (CekNIp(dsn) != true) {

for (int i = 0; i < dsn.size(); i++) {

Dosen d = new Dosen(dsn.get(i).getNIP(), dsn.get(i).getNamaDosen(), dsn.get(i).getStatus());

KontrolDosen.getKoneksi().tambahDosen(d); }

JOptionPane.showMessageDialog(rootPane, "Berhasil diImport"); } } catch (SQLException ex) {

ex.printStackTrace();

} catch (IOException | BiffException ex) {

} } }

Pemberitahuan jika berhasil diimport.

Gambar 4. 24 pemberitahuan berhasil di import. - Format excel data dosen.

Gambar 4. 25 format excel dosen

Catatan : Mengisi data dimulai dari baris ke 2. Kolom tetap seperti gambar diatas.

C. Kelola Data Ruang.

Kelola Data Ruang adalah proses tambah, edit, hapus, dan lihat data Ruang. Data ruang terdiri dari : kode ruang, nama ruang, kapasitas, dan jenis ruang (teori/praktikum).

1. Cara menambah data ruang.

Isi data ruang secara lengkap. Kemudian klik tombol simpan.

Gambar 4. 26 menambah ruang Kode program yang digunakan untuk tambah ruang :

Jika berhasil tersimpan maka akan muncul pemberitahuan berhasil tersimpan.

Gambar 4. 27 pemberitahuan berhasil ditambah 2. Cara mengedit data ruang.

Pilih tombol lihat table, terus pilih data ruang yang ingin di edit dengan mengklik pada baris table, setelah itu silahkan ubah data, kemudian klik tombol update.

- Lihat table.

public void tambahRuang(Ruang r) throws SQLException {

PreparedStatement statement = null; connection.setAutoCommit(false);

String sql = "insert into ruang values(?,?,?,?)";

statement = (PreparedStatement) connection.prepareStatement(sql); statement.setString(1, r.getKodeRuang()); statement.setString(2, r.getRuang()); statement.setInt(3, r.getKapasitas()); statement.setString(4, r.getJenis()); statement.executeUpdate(); connection.commit(); }

Gambar 4. 28 list ruang

- Update.

Gambar 4. 29 update ruang Kode program yang digunakan untuk edit ruang :

- Pemberitahuan telah ter-update

Gambar 4. 30 pemberitahuan ter-update

3. Cara menghapus matakuliah.

Pilih tombol lihat table, terus pilih matakuliah yang ingin di hapus dengan mengklik pada baris table, kemudian klik tombol hapus.

- Lihat table.

public void updateRuang(Ruang r) throws SQLException {

PreparedStatement statement = null; connection.setAutoCommit(false);

String sql = "update ruang set nama_ruang =?,kapasitas=?,jenis=? where kode_ruang=?";

statement = (PreparedStatement) connection.prepareStatement(sql); statement.setString(4, r.getKodeRuang()); statement.setString(3, r.getJenis()); statement.setString(1, r.getRuang()); statement.setInt(2, r.getKapasitas()); statement.executeUpdate(); connection.commit(); }

Gambar 4. 31 list ruang

- Klik tombol hapus.

Gambar 4. 32 hapus ruang Kode program yang digunakan untuk hapus ruang :

- Pemberitahuan berhasil dihapus.

Gambar 4. 33 pemberitahuan terhapus 4. Cara melihat data ruang.

Klik tombol lihat table, maka akan muncul seluruh data ruang.

Gambar 4. 34 list ruang Kode program yang digunakan untuk lihat ruang :

public void hapusRuang(Ruang r) throws SQLException {

PreparedStatement statement = null; connection.setAutoCommit(false); String sql = "delete from "

+ "ruang where kode_ruang=?";

statement = (PreparedStatement) connection.prepareStatement(sql); statement.setString(1, r.getKodeRuang());

statement.executeUpdate();

connection.commit(); }

5. Cara import Excel data ruang.

Klik tombol import excel, kemudian pilih file excel 2003/2007. Dengan syarat file excel yang dipilih telah ditelah memenuhi dengan format yang telah dibuat.

- Memilih file excel, klik tombol open.

public List<Ruang> getAllRuangSemua() throws SQLException {

PreparedStatement psmt = null; ResultSet rset = null;

connection.setAutoCommit(false);

String sql = "select * from ruang order by nama_ruang ";

psmt = (PreparedStatement) connection.prepareStatement(sql); rset = psmt.executeQuery();

List<Ruang> rg = new ArrayList<>();

int no = 1;

while (rset.next()) { Ruang r = new Ruang(); r.setId(no); r.setKodeRuang(rset.getString(1)); r.setRuang(rset.getString(2)); r.setKapasitas(rset.getInt(3)); r.setJenis(rset.getString(4)); rg.add(r);

Gambar 4. 35 import excel ruang Kode program yang digunakan untuk import ruang :

private void jToggleButton1ActionPerformed(java.awt.event.ActionEvent evt) {

JFileChooser chooser = new JFileChooser();

chooser.setFileSelectionMode(JFileChooser.FILES_ONLY); chooser.setMultiSelectionEnabled(false);

FileNameExtensionFilter JExcelFilter = new FileNameExtensionFilter("Excel 2003/2007", "xls"); chooser.setFileFilter(JExcelFilter);

chooser.setAcceptAllFileFilterUsed(false); List<Ruang> rg = new ArrayList<>();

try {

File files = chooser.getSelectedFile(); File fileExcel = new File(files.getPath()); System.out.println(fileExcel);

Workbook w = Workbook.getWorkbook(fileExcel); // Ambil sheet pertama, nomer 0 menandakan sheet ke 1 Sheet sheet = w.getSheets()[0];

String kode = "";

String ruang = ""; int kapasitas = 0; String jenis = ""; int kolom = 0;

for (int baris = 1; baris < sheet.getRows(); baris++) { kode = sheet.getCell(kolom, baris).getContents(); ruang = sheet.getCell((kolom + 1), baris).getContents();

kapasitas = new Integer(sheet.getCell((kolom + 2), baris).getContents());

jenis = sheet.getCell((kolom + 3), baris).getContents(); Ruang r = new Ruang(kode, ruang, kapasitas, jenis); rg.add(r);

}

if (CekKodeRuang(rg) != true) {

for (int i = 0; i < rg.size(); i++) {

Ruang r = new Ruang(rg.get(i).getKodeRuang(), rg.get(i).getRuang(), rg.get(i).getKapasitas(), rg.get(i).getJenis()); KontrolRuang.getKoneksi().tambahRuang(r); }

JOptionPane.showMessageDialog(rootPane, "Berhasil diImport"); }

Pemberitahuan jika berhasil diimport.

Gambar 4. 36 pemberitahuan berhasildi import - Format excel data ruang.

Gambar 4. 37 format excel ruang

Catatan : Mengisi data dimulai dari baris ke 2. Kolom tetap seperti gambar diatas.

D. Kelola Data Waktu dan Hari.

Kelola Data Waktu adalah proses lihat data waktu dan hari. Tidak bisa ditambah ataupun diedit dan dihapus. Karena data tersebut sudah pasti yaitu waktu dibagi menjadi 4 slot yaitu slot 1 (07.00-10.00), slot 2 (10.00- 13.00), slot 3 (13.00-16.00), dan slot 4 (16.00-19.00). kemudian hari yang digunakan senin sampai jumat (hanya 5 hari).

Gambar 4. 38 waktu dan hari

Kode program yang digunakan untuk lihat waktu dan hari :

public List<Hari> getAllHari() throws SQLException { PreparedStatement psmt = null;

ResultSet rset = null;

connection.setAutoCommit(false); String sql = "select * from Hari";

psmt = (PreparedStatement) connection.prepareStatement(sql); rset = psmt.executeQuery();

List<Hari> hr = new ArrayList<Hari>(); while (rset.next()) {

Hari h = new Hari();

h.setKodeHari(rset.getString(1)); h.setHari(rset.getString(2));

public List<Waktu> getAllWaktu() throws SQLException {

PreparedStatement psmt = null;

ResultSet rset = null;

connection.setAutoCommit(false);

String sql = "select * from Waktu";

psmt = (PreparedStatement) connection.prepareStatement(sql);

rset = psmt.executeQuery();

List<Waktu> wkt = new ArrayList<>();

while (rset.next()) {

Waktu w = new Waktu();

w.setKodeWaktu(rset.getString(1)); w.setJam(rset.getString(2)); wkt.add(w); } connection.commit(); return wkt; } h.setHari(rset.getString(2)); hr.add(h); } connection.commit(); return hr; }

Dokumen terkait