• Tidak ada hasil yang ditemukan

BAB III PEMBAHASAN. dapat dilakukan dengan bantuan dari komputer dan tenaga kerja yang

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB III PEMBAHASAN. dapat dilakukan dengan bantuan dari komputer dan tenaga kerja yang"

Copied!
54
0
0

Teks penuh

(1)

BAB III

PEMBAHASAN

3.1. Tinjauan Perusahaan

Perkembangan komputer di dunia saat ini begitu pesat, hal ini juga berdampak sangat berarti bagi sekolah SMK Pertiwi Sukamandi. Besar dari yang dikerjakan secara manual, semi otomatis sampai yang otomatis. Sementara itu dapat dilakukan dengan bantuan dari komputer dan tenaga kerja yang berkompeten disekolah sesuai dengan bidangnya.

SMK Pertiwi sukamandi merupakan sekolah swasta yang berada dibawah naungan Yayasan Pertiwi Mandiri dan beralamat di Jl. MargaMulya Gg.10 sukamandi subang. Sekolah ini terdiri dari empat jurusan bidang keahlian yaitu: a. Teknik Komputer & Jaringan (TKJ)

b. Teknik Sepeda Motor (TSM) c. Administrasi Perkantoran (AP) d. Pemasaran

Dalam tinjauan perusahaan ini berisi sejarah sekolah, struktur organisasi serta fungsi dari masing-masing bagian yang ada dalam lingkungan sekolah.

(2)

26

3.1.1. Sejarah Perusahaan

Sumber: SMK Pertiwi Sukamandi

Gambar III.1

Logo SMK Pertiwi Sukamandi

Sekolah menengah kejuruan (SMK) Pertiwi Sukamandi didirikan sejak tanggal 27 Desember 2000 oleh Bapak.H.Ecin dan mendapat surat keputusan kepala kantor wilayah Departemen Pendidikan Kota Subang. Dengan Nomor Identitas Sekolah (NIS) 30102190209 dan Nomor Pokok Sekola Nasional (NPSN) 20233686. SMK Pertiwi Sukamandi adalah sekolah yang berstatus swasta terdiri dari program Teknik Komputer&Jaringan, Teknik Sepeda Motor, Administrasi Perkantoran dan Pemasaran.

Tujuan dari SMK Pertiwi Sukamandi adalah memasuki lapangan dunia kerja dan dapat mengembangkan sikap profesional dalam lingkup bisnis dan manajemen, mampu berkompetensi dalam lingkup bisnis manajemen, menjadi tenaga kerja tingkat menengah untuk mengisi kebutuhan dunia usaha atau industri dalam lingkup keahlian bisnis dan manajemen, menjadi warga negara yang berjiwa wiraswasta yang produktif, adaktif dan kreatif.

(3)

27

SMK Pertiwi Sukamandi juga mempunyai visi dan misi yaitu sebagai berikut: 1. Misi

A. Peningkatan pembinaan akhlak dan budi pekerti siswa. B. Peningkatan mutu dan relevansi program pendidikan. C. Peningkatan profesionalisme guru dan manajemen sekolah. D. Peningkatan kualitas dan kuantitas sarana prasarana pendidikan. 2. Visi

Menyiapkan tamatan menjadi tenaga kerja tingkat menengah yang terdidik, beriman dan bertaqwa kepada Tuhan Yang Maha Esa Berakhlak mulia, berbudi pekerti luhur, trampil, berjiwa wiraswasta memiliki sikap profesional sesuai bidang keahliannya untuk mengisi kebutuhan tenaga kerja dipasar Nasional dan pasar Global.

3.1.2. Struktur Organisasi Dan Fungsi

Struktur organisasi menggambarkan suatu grafik struktur kerja dari suatu organisasi. Penggambaran ini dimaksudkan dalam melakukan tugas fungsi organisasi. Bentuk struktur organisasi yang ada pada SMK Pertiwi Sukamandi. Digambarkan sebagai berikut:

(4)

28

KETUA YAYASAN

KEPALA SEKOLAH DU/DI

DISDIK KURIKULUM KAPROG KESISWAAN HUMAS PRAKERIN BKK SARANA PRASARNA WALI KELAS SISWA GURU TATA USAHA/ BENDAHARA

Sumber: SMK Pertiwi Sukamandi ...= Garis Koordinasi _____________= Garis Komando

Gambar III.2

Struktur Organisasi SMK Pertiwi Sukamandi

Berikut ini merupakan fungsi dan wewenang dari tiap bagian yang terdapat pada struktur organisasi SMK Pertiwi Sukamandi, antara lain:

1. Disdik

a. Mengawasi jalannya kegiatan-kegiatan yayasan dan sekolah. b. Bertanggung jawab atas maju mundurnya yayasan dan sekolah. 2. Ketua Yayasan

a. Mengawasi jalannya kegiatan-kegiatan sekolah. b. Bertanggung jawab atas maju mundurnya sekolah.

(5)

29

b. Mengkoordinir, mengarahkan, mengawasi dan mengevaluasui kegiatan sekolah

c. Menentukan kebijakan sekolah d. Memimpin rapat sekolah e. Mengambil keputusan

f. Megatur administrasi sekolah

g. Melaksanakan supervisi mengenai kegiatan belajar mengajar

4. DU/DI Mengkoordinir dan mengarahkan siswa untuk melaksanakan kegiatan prakerin.

5. Kurikulum Mengatur seluruh kegiatan yang ada di sekolah, seperti ujian nasional.

6. Kaprog bertanggung jawab penuh terhadap kompetensi keahliannya.

7. Kesiswaan bertanggung jawab untuk mengarahkan keseluruh siswa kedalam kegiatan disekolah dan tata tertib sekolah.

8. Prakerin setiap siswa kelas 11 melaksanakan PKL atau Magang disetiap instansi untuk memperluas ilmu di dunia kerja.

9. BKK (Bursa Kerja Khusus), bertanggung jawab menyalurkan atau menginformasikan pekerjaan kesetiap alumni atau orang-orang ke tiap perusahaan.

10. Sarana Prasarana bertanggung jawab kepada pengadaan barang yang ada disekolah, seperti meja, komputer , kursi serta barag-barang yang diperlukan oleh pihak sekolah.

11. Tata usaha / Bendahara

(6)

30

b. Mengarsip dokumen para karyawan sekolah

c. Menghitung jam mengajar guru dan memberikan laporan kepada kepala sekolah

d. Mengawasi dan mengatur keuangan sekolah e. Mencatat pengeluaran keuangan sekolah

f. Mengurus dan membayar gaji seluruh karyawan dan guru sekolah 3.2. Tijauan Kasus

Proses pembayaran iuran pendidikan yang sedang berjalan di SMK Pertiwi Sukamandi masih dilakukan secara manual yaitu siswa datang langsung ke tempat pembayaran dengan membawa kartu iuran pendidikan dan menyerahkannya ke bagian tatausaha atau bagian administrasi sekolah lalu pihak tatausaha mencatat setiap pembayaran ke dalam buku harian dan setelah itu dicatat kedalam buku besar, masalah – masalah yang sering terjadi adalah :

1. Sering terjadinya kesalahan dalam penulisan pembayaran 2. Ketika mencari data tunggakan membutuhkan waktu yang lama 3. Adanya ketidaksaan hasil laporan pembayaran setiap semesternya

Dalam pengolahan data pembayaran iuran pendidikan dibutuhkan suatu manajemen database yang baik dengan menggunakan komputer sebagai alat bantunya. Sehingga dalam menjalankan kegiatan pengolahan data pembayaran dan pembuatan laporan pembayaran serta tunggakan akan semakin mudah dan dapat meminimalisir kesalahan dalam pengolahannya. Dalam peninjauan kasus ini, hal yang harus diperhatikan yaitu bagaimana suatupengolahan laporan pembayaran dan tunggakan menghasilkan output data yang lengkap dan akurat.

(7)

31

3.2.1. Dokumen Masukan

Dokumen masukan merupakan suatu bentuk dokumen yang digunakan oleh suatu sistem yang berasal dari lingkungan itu sendiri sebagai bahan masukan yang akan diolah untuk menghasilkan keluaran.

Dokumen masukan pada Pembayaran Iuran Pendidikan Siswa pada SMK Pertiwi Sukamandi adalah:

1. Kartu Pembayaran Iuran Pendidikan Nama Dokumen : Kartu Iuran

Fungsi : Untuk pembayaran dan tanda bukti pembayaran Iuran pendidikan.

Sumber : Siswa-siswi SMK Pertiwi Sukamandi Tujuan : Tata usaha

Media : Kartu

Jumlah : Satu Lembar

Bentuk dokumen : Lampiran A.1 2. Data Siswa

Nama Dokumen : Data Siswa

Fungsi : Untuk mengetahui data diri siswa Sumber : Siswa-Siswi SMK Pertiwi Sukamandi Tujuan : Staff TU ( Tata Usaha )

Media : Kertas

Jumlah : Satu Lembar

Bentuk dokumen : Lampiran A.2 Bentuk dokumen : Lampiran A.4

(8)

32

3. Kwitansi

Nama Dokumen : Kwitansi

Fungsi : Sebagai bukti pembayaran

Sumber : Staff Tata Usaha

Tujuan : Siswa-Siswi SMK Pertiwi Sukamandi

Media : Kertas

Jumlah : Satu Lembar

Bentuk dokumen : Lampiran A.3 3.2.2. Dokumen Keluaran

Dokumen keluaran terdiri dari proses pembayaran iuran pendidikan siswa pada SMK Pertiwi Sukamandi, hingga pembuatan laporan. Adapun dokumen keluaran tersebut adalah sebagai berikut:

1. Laporan cetak kartu iuran

Nama Dokumen : Laporan cetak kartu iuran

Fungsi : Untuk sebagai bukti pembayaran iuran Sumber : Tata Usaha

Tujuan : Siswa-siswi SMK Pertiwi Sukamandi

Media : Kertas Cetakan

Jumlah : Satu Lembar

Bentuk dokumen : Lampiran B.1

2. Laporan Pembayaran Iuran Pendidikan Pebulan

Nama Dokumen : Laporan Iuran Pendidikan Perbulan Fungsi : Data Tunggakan Iuran Pembayaran .

(9)

33

Tujuan : Arsip Pembayaran Iuran Per Tanggal

Media : Kertas Cetakan

Jumlah : Satu Lembar

Bentuk dokumen : Lampiran B.2

3.3. Analisa Kebutuhan Software

3.3.1. Analisa Kebutuhan

Analisa kebutuhan untuk program pembayaran iuran pendidikan di SMK Pertiwi Sukamandi diusulkan dengan beberapa prosedur diantaranya:

1. Bagian Admin (TataUsaha), diantaranya:

a. Admin dapat log in dengan data yang sudah ada b. Admin mengelola data master

c. Admin dapat Mengelola data administrator d. Admin dapat Melakukan transaksi pembayaran

e. Admin dapat Membuat laporan pembayaran iuran pendidikan 2. Bagian Kepala sekolah :

a. Kepala sekolah dapat melakukan mengakses manage user.

b. Kepala sekolah dapat mengakses laporan transaksi.

3.3.2. Use case Diagram

1. Definisi Aktor

Berikut adalah deskripsi pendefisian aktor pada sistem informasi pembayaran iuran pendidikan SMK Pertiwi Sukamandi :

(10)

34

Tabel III.1 Definisi Aktor

No Aktor Deskripsi

1 Admin orang yang bertugas memiliki hak akses untuk

melakukan operasi pengelolaan data

pembayaran,mengelola data siswa, data jurusan ,data kelas, mengelola data admin dan pembuatan laporan.

2 Kepala sekolah Kepala sekolah adalah orang yang diperbolehkan untuk meninjau atau mengecek laporan laporan pembayaran iuran pendidikan setiap bulannya.

2. Definisi Use case

Berikut adalah deskripsi pendefisian use case pada sistem informasi pembayaran iuran pendidikan pada SMK Pertiwi Sukamnadi :

Tabel III.2 Definisi Usecase

No Use case Deskripsi

1. Validasi Merupakan proses pengecekan hak akses siapa yang berhak mengakses proses pengolahan data pembayaran iuran pendidikan dalam kasus ini ada petugas admin dan kepala sekolah.

Login wajib untuk fungsi-fugsi yang berkaitan dengan akses perubahan ke basis data, oleh karena itu fungsi-fungsi yang melakukan perubahan basis data mengecek validasi user

(11)

35

2. Log in Merupakan proses untuk melakukan log in admin dan kepala sekolah

3. Logo ut Merupakan proses untuk melakukan logout admin dan kepala sekolah.

4. Mengelola data siswa Mengelola data siswa merupakan proses generalisasi yang meliputi, memasukan data siswa, mengubah data siswa, menghapus data siswa, mencari dan melihat data siswa.

5. Memasukan data siswa Merupakan proses memasukan data siswa kedalam basis data.

6. Mengubah data siswa Merupakan proses mengubah data siswa yang ada dalam basis data

7. Menghapus data siswa Merupakan menghapus data siswa yang ada dalam basis data.

8. Mencari data siswa Merupakan pencarian data yang ada dalam basisdata.

9. Melihat data siswa Merupakan proses penampilan data siswa yang ada di basis data.

10. Menambah data siswa Merupakan proses menambah data siswa yang ada pada basis data.

11. Mengelola kelas Mengelola data kelas merupakan proses generalisasi yang meliputi, memasukan data kelas, mengubah data siswa, menghapus data kelas, menambah dan melihat data kelas

(12)

36

12. Memasukan data kelas Merupakan proses memasukan data siswa kedalam basis data.

13. Mengubah data kelas Merupakan proses mengubah data siswa yang ada dalam basis data

14. Menghapus data kelas Merupakan menghapus data siswa yang ada dalam basis data.

15. Menambah data kelas Merupakan proses menambah data kelas yang ada pada basis data.

16. Melihat data kelas Merupakan proses penampilan data kelas yang ada di basis data.

17. Mengelola jurusan Megelola data jurusan merupakan proses generalisasi yang meliputi, memasukan jurusan, menambah jurusan ,mengubah dan menghapus. 18. Memasukan jurusan Merupakan proses memasukan data jurusan

kedalam basis data.

19. Menambah jurusan Merupakan proses menambah data jurusan kedalam basis data.

20. Mengubah juusan Merupakan proses mengubah data jurusan kedalam basis data.

21. Menghapus jurusan Merupakan proses menghapus data jurusan kedalam basis data.

22. Mengelola admin Mengelola data admin merupakan proses generalisasi yang meliputi, memasukan data

(13)

37

admin, menambah dan melihat data admin. 23. Memasukan admin Merupakan proses memasukan data admin

kedalam basis data.

24. Mengubah admin Merupakan proses mengubah data admin kedalam basis data.

25. Menghapus admin Merupakan proses menghapus data admin kedalam basis data.

26. Menambah admin Merupakan proses menambah data admin kedalam basis data.

27. Melihat admin Merupakan proses menampilkan data admin yang ada pada basis data.

28. Mengelola pembayaran Mengelola data pebayaran merupakan proses generalisasi yang meliputi, memasukan data pembayaran, mengubah data pembayaran menghapus data pembayaran ,dan melihat data pembayaran..

29. Memasukan pembayaran

Merupakan proses memasukan data pembayaran kedalam basis data.

30. Mengubah pembayaran Merupakan proses mengubah data pembayaran kedalam basis data.

31. Menghapus pembayaran

Merupakan proses menghapus data pembayaran kedalam basis data.

32. Melihat pembayaran Merupakan proses menampilkan data pembayaran kedalam basis data

(14)

38

33. Mencari data

pembayaran

Merupakan proses mencari data pembayaran yang ada dalam basis data.

3. Diagram Use case

Berikut adalah diagram use case dari sistem informasi pembayaran iuran pendidikan SMK Pertiwi Sukamandi :

Gambar III.3 Diagram

(15)

39

3.3.3. Activity Diagram

Berikut adalah diagram aktivitas dari sistem informasi pembayaran iuran pendidikan pada SMK Pertiwi Sukamandi :

1. Diagram Aktivitas antara admin dan sistem

Gambar III.4.

(16)

40

2. Diagram aktivitas antara admin dan kepala sekolah

Gambar III.5.

(17)

41

3.4. Desain

3.4.1. Software Architecture 1. Sequence Diagram

Sequence diagram bisa digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan sebagai respon dari sebuah event untuk menghasilkan output tertentu. Diagram ini juga menjelaskan bagaimana objek berinteraksi dengan objek yang lainnya yaitu dengan cara mengirim dan menerima pesan.

a. Sequence diagram untuk proses log in

Gambar III.6.

(18)

42

b. Sequence diagram untuk proses mengelola data siswa

Gambar III.7.

(19)

43

c. Sequence diagram untuk proses data kelas

Gambar III.8.

Sequence diagram untuk mengelola data kelas

Keterangan : Sequence diagram untuk mengelola data jurusan dan data adminisatrator jenis alurnya sama seperti mengelola data kelas .

(20)

44

d. Sequence Diagram untuk mengelola transaksi pembayaran

Gambar III.9

(21)

45

e. Sequence Diagram untuk memproses laporan

Gambar III.10

(22)

46

2. Class Diagram

Gambar III.11

(23)

47

Tabel III.3 Keterangan Class diagram

Nama Kelas Keterangan

Antarmuka Merupakan kelas yang menagani

Tampilan

Validasi Merupakan kelas proses yang diambil

dari pendefinisian usecase validasi

Mengelola siswa Merupakan kelas proses yang diambil

dari pendefinisian usecase mengelola siswa yang didalamnya harus juga menangani proses memasukan siswa, mengubah siswa, menghapus siswa, menambah siswa, mencari siswa dan melihat siswa.

Mengelola admin Merupakan kelas proses yang diambil

dari pendefinisian usecase mengelola admin yang didalamnya harus juga menangani proses memasukan admin, mengubah admin, menghapus admin, menambah jurusan dan melihat admin.

Mengelola jurusan Merupakan kelas proses yang diambil

dari pendefinisian usecase mengelola jurusan yang didalamnya harus juga menangani proses memasukan jurusan, mengubah jurusan, menghapus jurusan, menambah jurusan dan melihat jurusan.

Mengelola kelas Merupakan kelas proses yang diambil

dari pendefinisian usecase mengelola kelas yang didalamnya harus juga menangani proses memasukan kelas, mengubah kelas, menghapus kelas, menambah kelas dan melihat kelas. Mengelola transaksi Merupakan kelas proses yang diambil

dari pendefinisian usecase mengelola transaksi yang didalamnya harus juga

menangani proses memasukan

transaksi, mengubah transaksi, menghapus transaksi, mencari transaksi, menambah transaksi dan melihat siswa.

Siswa, jurusan, kelas, admin dan transaksi.

Merupakan kelas data yang digunakan untuk memproses segala pengaksesan .

Koneksi basis data Merupakan kelas utilitas untuk koneksi

(24)

48

3.4.2. User Interface

1. Log in merupakan halaman awal yang tampil dalam program, pada halaman ini seorang admin dalam hal ini harus mengisikan nama dan paswordnya.

Gambar III.12 Form Login 2. Menu Utama

Bagi admin yang telah memiliki akses (username), setelah admin mengisikan

password yang benar pada halaman log in halaman utama program akan

tampil. pada halaman ini selain berisikan daftar siswa juga terdapat menu-menu yang dapat diilih oleh admin untuk menentukan aktivitasnya.

(25)

49

3. Tampilan Data siswa

Gambar III.14 Form Data Siswa

4. Tampilan kelas

Gambar III.15 Form Data Kelas

5. Tampilan Jurusan

Gambar III.16 Form Data Jurusan

(26)

50

6. Tampilan Admin

Gambar III.17 Form Data Admin 7. Tampilan Transaksi pembayaran iuran pendidikan

Gambar III.18

(27)

51

8. Form cetak kartu Iuran Pendidikan

Gambar III.19

Form cetak kartu iuran pendidikan

9. Form Cetak laporan pembayaran iuran pendidikan

Gambar III.20

(28)

52

3.5. Implementasi 3.5.1. Code Generation 1. Listig program admin a. Class admin package model; import java.sql.*; import java.util.ArrayList; import java.util.logging.Level; import java.util.logging.Logger; import java.util.List; /** * * @author acer */

public class classadmin {

private Connection koneksi = null; private String Nip;

private String NamaAdmin; private String KataSandi; public classadmin() { try { Class.forName("com.mysql.jdbc.Driver"); koneksi = DriverManager.getConnection("jdbc:mysql://localhost/smkpertiwi?", "root", "");

} catch (ClassNotFoundException ex) {

Logger.getLogger(classadmin.class.getName()).log(Level.SEVERE, null, ex);

} catch (SQLException ex) { Logger.getLogger(classadmin.class.getName()).log(Level.SEVERE, null, ex); System.exit(0); } }

(29)

53

Nip = value; }

public String getNamaAdmin() { return NamaAdmin;

}

public void setNamaAdmin(String value) { NamaAdmin = value;

}

public String getKataSandi() { return KataSandi;

}

public void setKataSandi(String value) { KataSandi = value;

}

public int AdminBaru(classadmin admin) {

String sqlCmd = "insert into Admin (nip, nama_admin, kata_sandi) values(?,?,?)"; PreparedStatement ps; try { ps = koneksi.prepareStatement(sqlCmd); ps.setString(1, admin.getNip()); ps.setString(2, admin.getNamaAdmin()); ps.setString(3, admin.getKataSandi()); return ps.executeUpdate();

} catch (SQLException ex) {

Logger.getLogger(classadmin.class.getName()).log(Level.SEVERE, null, ex);

return 0; }

}

public int AdminUbah(classadmin admin) {

String sqlCmd = "UPDATE admin SET nama_admin=?, kata_sandi=? WHERE nip=?"; PreparedStatement ps; try { ps = koneksi.prepareStatement(sqlCmd); ps.setString(1, admin.getNamaAdmin()); ps.setString(2, admin.getKataSandi()); ps.setString(3, admin.getNip()); return ps.executeUpdate(); } catch (SQLException ex) {

Logger.getLogger(classadmin.class.getName()).log(Level.SEVERE, null, ex); return 0;

} }

public int AdminHapus(String kata_sandi) {

String sqlCmd = " DELETE FROM admin WHERE nip=?"; PreparedStatement ps;

(30)

54

try {

ps = koneksi.prepareStatement(sqlCmd); ps.setString(1, kata_sandi);

return ps.executeUpdate(); } catch (SQLException ex) {

Logger.getLogger(classadmin.class.getName()).log(Level.SEVERE, null, ex); return 0;

} }

public List<classadmin> listAdmin() { try {

String sqlCmd = "SELECT * FROM admin ORDER BY nip"; Statement st = koneksi.createStatement();

ResultSet tmpRs = st.executeQuery(sqlCmd); List<classadmin> ls = new ArrayList(); while (tmpRs.next()) {

classadmin admin = new classadmin(); admin.setNip(tmpRs.getString("nip")); admin.setNamaAdmin(tmpRs.getString("nama_admin")); admin.setKataSandi(tmpRs.getString("kata_sandi")); ls.add(admin); } return ls;

} catch (SQLException ex) {

Logger.getLogger(classadmin.class.getName()).log(Level.SEVERE, null, ex);

return null; }

}

public classadmin cariadmin(String nip) { try {

classadmin admin = new classadmin();

String sqlCmd = "SELECT * FROM admin WHERE nip=?"; PreparedStatement ps; ps = koneksi.prepareStatement(sqlCmd); ps.setString(1, nip); ResultSet tmpRs = ps.executeQuery(); if (tmpRs.next()) { admin.setNip(tmpRs.getString("nip")); admin.setNamaAdmin(tmpRs.getString("nama_admin")); admin.setKataSandi(tmpRs.getString("kata_sandi")); return admin; } else { return null;

(31)

55 // Logger.getLogger(classjurusan.class.getName()).log(Level.SEVERE, null, ex); return null; } } } b. Form admin package smkpertiwi; import java.awt.Dimension; import java.awt.Toolkit; import javax.swing.*; import javax.swing.table.*; import java.util.*; import model.classadmin; /** * * @author acer */

public class admin extends javax.swing.JFrame {

classadmin admin = new classadmin(); DefaultTableModel tm = null;

String nip = ""; String Aksi = "";

ImageIcon iconTambah, iconsimpan, iconEdit, iconHapus, iconkeluar, iconbatal;

/**

* Creates new form admin */

public admin() { initComponents();

Dimension d = Toolkit.getDefaultToolkit().getScreenSize(); int x = (d.width - getSize().width) / 2;

//Buat form ketengah layar

int y = (d.height - getSize().height) / 2; setLocation(x, y);

(32)

56

listadmin(); aktifButton(); }

private void listadmin() {

List<classadmin> lj = admin.listAdmin(); ListIterator it = lj.listIterator();

tm.getDataVector().removeAllElements(); while (it.hasNext()) {

classadmin jc = (classadmin) it.next();

Object[] data = {jc.getNip(),jc.getNamaAdmin(), jc.getKataSandi()}; tm.addRow(data);

} }

private void aktifButton() {

bt_hapus.setEnabled(!"".equals(nip) && tm.getRowCount() > 0 && "".equals(Aksi));

bt_ubah.setEnabled((!"".equals(nip) && tm.getRowCount() > 0) || !"".equals(Aksi)); tbadmin.setEnabled("".equals(Aksi)); iconTambah = creImageIcon("./resource/LIST-ADD.png"); iconsimpan = creImageIcon("./resource/document-save-as.png"); iconEdit = creImageIcon("./resource/edit-find-replace.png"); iconbatal = creImageIcon("./resource/edit-undo.png"); iconHapus = creImageIcon("./resource/list-remove.png"); iconkeluar = creImageIcon("./resource/system-log-out.png"); bt_hapus.setIcon(iconHapus); bt_tutup.setIcon(iconkeluar); if ("Tambah".equals(Aksi) || "Ubah".equals(Aksi)) { bt_tambah.setText("Simpan"); bt_ubah.setText("Batal"); bt_tambah.setIcon(iconsimpan); bt_ubah.setIcon(iconbatal); } else { bt_tambah.setText("Tambah"); bt_ubah.setText("Ubah"); bt_tambah.setIcon(iconTambah); bt_ubah.setIcon(iconEdit);

(33)

57

private void tampilData() { admin = admin.cariadmin(nip); tnip.setText(admin.getNip());

tnama_admin.setText(admin.getNamaAdmin()); tkata_sandi.setText(admin.getKataSandi()); }

private void bersihForm() { tnip.setText("");

tnama_admin.setText(""); tkata_sandi.setText(""); }

private ImageIcon creImageIcon(String path) {

java.net.URL imgURL = jurusan.class.getResource(path); if (imgURL != null) {

return new ImageIcon(imgURL); } else {

System.err.println("File tidak ada" + path); return null;

} }

private void tnipActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here:

}

private void tnama_adminActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here:

}

private void bt_tutupActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here:

dispose();

}

private void bt_ubahActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here:

if ("".equals(Aksi)) { Aksi = "Ubah"; tampilData(); } else { Aksi = ""; bersihForm(); } aktifButton(); }

(34)

58

private void jPanel2MouseClicked(java.awt.event.MouseEvent evt) { // TODO add your handling code here:

}

private void tbadminMouseClicked(java.awt.event.MouseEvent evt) { // TODO add your handling code here:

int row = tbadmin.getSelectedRow(); nip = (String) tm.getValueAt(row, 0); aktifButton();

}

private void bt_tambahActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here:

if ("".equals(Aksi)) { bersihForm(); Aksi = "Tambah"; tnama_admin.requestFocus(); } else { if (tnama_admin.getText().equals("") || tnama_admin.getText().equals("")) {

JOptionPane.showMessageDialog(rootPane, "Mohon isi dahulu semua data", "Galat", JOptionPane.ERROR_MESSAGE);

return; } admin.setNip(tnip.getText()); admin.setNamaAdmin(tnama_admin.getText()); admin.setKataSandi(tkata_sandi.getText()); if ("Tambah".equals(Aksi)) { if (admin.AdminBaru(admin) > 0) {

JOptionPane.showMessageDialog(rootPane, "Admin baru berhasil ditambahkan", "info", JOptionPane.INFORMATION_MESSAGE);

} }

if ("Ubah".equals(Aksi)) {

if (admin.AdminUbah(admin) > 0) {

JOptionPane.showMessageDialog(rootPane, "Admin baru berhasil diubah", "info", JOptionPane.INFORMATION_MESSAGE);

} }

Aksi = ""; bersihForm();

(35)

59

}

private void bt_hapusActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here:

if (JOptionPane.showConfirmDialog(rootPane, "Hapus Data ini?", "Konfirmasi", JOptionPane.YES_NO_OPTION) == JOptionPane.YES_OPTION) {

if (admin.AdminHapus(nip) > 0) {

JOptionPane.showMessageDialog(rootPane, "Data telah dihapus", "Info", JOptionPane.INFORMATION_MESSAGE); } Aksi = ""; nip = ""; listadmin(); aktifButton(); } }

2. Listing Program Jurusan a. Classjurusan package model; import java.sql.*; import java.util.ArrayList; import java.util.logging.Level; import java.util.logging.Logger; import java.util.List; /** * * @author acer */

public class classjurusan {

private Connection koneksi = null; private String KodeJurusan; private String NamaJurusan; public classjurusan() { try {

Class.forName("com.mysql.jdbc.Driver");

koneksi =

DriverManager.getConnection("jdbc:mysql://localhost/smkpertiwi?", "root", ""); } catch (ClassNotFoundException ex) {

Logger.getLogger(classjurusan.class.getName()).log(Level.SEVERE, null, ex);

} catch (SQLException ex) {

Logger.getLogger(classjurusan.class.getName()).log(Level.SEVERE, null, ex);

(36)

60

System.exit(0); }

}

public String getKodeJurusan() { return KodeJurusan;

}

public void setKodeJurusan(String value) { KodeJurusan = value;

}

public String getNamaJurusan() { return NamaJurusan;

}

public void setNamaJurusan(String value) { NamaJurusan = value;

}

//menambah jurusan baru kedalam database; public int JurusanBaru(classjurusan jurusan) {

String sqlCmd = "insert into jurusan (kode_jurusan, nama_jurusan) values(?,?)"; PreparedStatement ps; try { ps = koneksi.prepareStatement(sqlCmd); ps.setString(1, jurusan.getKodeJurusan()); ps.setString(2, jurusan.getNamaJurusan()); return ps.executeUpdate();

} catch (SQLException ex) {

Logger.getLogger(classjurusan.class.getName()).log(Level.SEVERE, null, ex);

return 0; }

}

public int JurusanUbah(classjurusan jurusan) {

String sqlCmd = "UPDATE jurusan SET nama_jurusan=? WHERE kode_jurusan=?"; PreparedStatement ps; try { ps = koneksi.prepareStatement(sqlCmd); ps.setString(1, jurusan.getNamaJurusan()); ps.setString(2, jurusan.getKodeJurusan());

(37)

61 Logger.getLogger(classjurusan.class.getName()).log(Level.SEVERE, null, ex); return 0; } }

public int JurusanHapus(String kode_jur) {

String sqlCmd = " DELETE FROM jurusan WHERE kode_jurusan=?"; PreparedStatement ps;

try {

ps = koneksi.prepareStatement(sqlCmd); ps.setString(1, kode_jur);

return ps.executeUpdate(); } catch (SQLException ex) {

Logger.getLogger(classjurusan.class.getName()).log(Level.SEVERE, null, ex);

return 0; }

}

//membuat daftar jurusan dan disimpan dalam sebuah list atau arraylist public List<classjurusan> listJurusan() {

try {

String sqlCmd = "SELECT * FROM jurusan ORDER BY kode_jurusan"; Statement st = koneksi.createStatement();

ResultSet tmpRs = st.executeQuery(sqlCmd); List<classjurusan> ls = new ArrayList(); while (tmpRs.next()) {

classjurusan jurusan = new classjurusan();

jurusan.setKodeJurusan(tmpRs.getString("kode_jurusan")); jurusan.setNamaJurusan(tmpRs.getString("nama_jurusan")); ls.add(jurusan);

}

return ls;

} catch (SQLException ex) {

Logger.getLogger(classjurusan.class.getName()).log(Level.SEVERE, null, ex);

return null; }

}

//cari jurusan berdasarkan kode jurusan

public classjurusan carijurusan(String kode_jurusan) { try {

classjurusan jurusan = new classjurusan();

String sqlCmd = "SELECT * FROM jurusan WHERE kode_jurusan=?"; PreparedStatement ps;

(38)

62 ps = koneksi.prepareStatement(sqlCmd); ps.setString(1, kode_jurusan); ResultSet tmpRs = ps.executeQuery(); if (tmpRs.next()) { jurusan.setKodeJurusan(tmpRs.getString("kode_jurusan")); jurusan.setNamaJurusan(tmpRs.getString("nama_jurusan")); return jurusan; } else { return null; }

} catch (SQLException ex) {

// Logger.getLogger(classjurusan.class.getName()).log(Level.SEVERE, null, ex); return null; } } }

3. Listing Program Kelas

a. Classkelas package model; import java.sql.*; import java.util.ArrayList; import java.util.logging.Level; import java.util.logging.Logger; import java.util.List; /** * * @author acer */

public class classkelas {

private Connection koneksi = null; private String kodekelas;

private String namakelas; private String kodejurusan; public classkelas() { try { Class.forName("com.mysql.jdbc.Driver"); koneksi = DriverManager.getConnection("jdbc:mysql://localhost/smkpertiwi?", "root", "");

(39)

63

} catch (SQLException ex) {

Logger.getLogger(classkelas.class.getName()).log(Level.SEVERE, null, ex); System.exit(0); } }

public String getkodekelas() { return kodekelas;

}

public void setkodekelas(String value) { kodekelas = value;

}

public String getnamakelas() { return namakelas;

}

public void setnamakelas(String value) { namakelas = value;

}

public String getkodejurusan() { return kodejurusan;

}

public void setkodejurusan(String value) { kodejurusan = value;

}

public int kelasbaru(classkelas kelas) {

String sqlCmd = "insert into Kelas (kode_kelas, nama_kelas, kode_jurusan) values(?,?,?)"; PreparedStatement ps; try { ps = koneksi.prepareStatement(sqlCmd); ps.setString(1, kelas.getkodekelas()); ps.setString(2, kelas.getnamakelas()); ps.setString(3, kelas.getkodejurusan()); return ps.executeUpdate();

} catch (SQLException ex) {

Logger.getLogger(classkelas.class.getName()).log(Level.SEVERE, null, ex); return 0; } }

(40)

64

public int kelasUbah(classkelas kelas) {

String sqlCmd = "UPDATE kelas SET nama_kelas=?, kode_jurusan=? WHERE kode_kelas=?"; PreparedStatement ps; try { ps = koneksi.prepareStatement(sqlCmd); ps.setString(1, kelas.getnamakelas()); ps.setString(2, kelas.getkodejurusan()); ps.setString(3, kelas.getkodekelas()); return ps.executeUpdate();

} catch (SQLException ex) {

Logger.getLogger(classkelas.class.getName()).log(Level.SEVERE, null, ex); return 0; } }

public int kelasHapus(String kode_kelas) {

String sqlCmd = " DELETE FROM kelas WHERE kode_kelas=?"; PreparedStatement ps;

try {

ps = koneksi.prepareStatement(sqlCmd); ps.setString(1, kode_kelas);

return ps.executeUpdate(); } catch (SQLException ex) {

Logger.getLogger(classkelas.class.getName()).log(Level.SEVERE, null, ex);

return 0; }

}

public List<classkelas> listkelas() { try {

String sqlCmd = "SELECT * FROM kelas ORDER BY kode_kelas"; Statement st = koneksi.createStatement();

ResultSet tmpRs = st.executeQuery(sqlCmd); List<classkelas> ls = new ArrayList();

while (tmpRs.next()) {

classkelas kelas = new classkelas();

kelas.setkodekelas(tmpRs.getString("kode_kelas")); kelas.setnamakelas(tmpRs.getString("nama_kelas")); kelas.setkodejurusan(tmpRs.getString("kode_jurusan")); ls.add(kelas); } return ls;

(41)

65

} }

public classkelas carikelas(String kode_kelas) { try {

classkelas kelas = new classkelas();

String sqlCmd = "SELECT * FROM kelas WHERE kode_kelas=?"; PreparedStatement ps; ps = koneksi.prepareStatement(sqlCmd); ps.setString(1, kode_kelas); ResultSet tmpRs = ps.executeQuery(); if (tmpRs.next()) { kelas.setkodekelas(tmpRs.getString("kode_kelas")); kelas.setnamakelas(tmpRs.getString("nama_kelas")); kelas.setkodejurusan(tmpRs.getString("kode_jurusan")); return kelas; } else { return null; }

} catch (SQLException ex) {

// Logger.getLogger(classjurusan.class.getName()).log(Level.SEVERE, null, ex); return null; } } } b.form kelas package smkpertiwi; import java.awt.Dimension; import java.awt.Toolkit; import javax.swing.*; import javax.swing.table.*; import java.util.List; import java.util.ListIterator; import model.classkelas; import model.classjurusan;

public class kelas extends javax.swing.JFrame { classkelas kelas = new classkelas();

classjurusan jurusan = new classjurusan(); DefaultTableModel tm = null;

(42)

66

ImageIcon iconTambah, iconsimpan, iconEdit, iconHapus, iconkeluar, iconbatal;

private String kode_kelas = "";

DefaultComboBoxModel cmjurusan; public kelas() {

initComponents();

Dimension d = Toolkit.getDefaultToolkit().getScreenSize(); int x = (d.width - getSize().width) / 2;

//Buat form ketengah layar

int y = (d.height - getSize().height) / 2; setLocation(x, y);

tm = (DefaultTableModel) tbkelas.getModel(); listkelas();

aktifButton();

classjurusan jurusan = new classjurusan();

cmjurusan = (DefaultComboBoxModel) cbkode_jurusan.getModel(); cmjurusan.removeAllElements();

listjurusan(); }

public void listjurusan() {

List<classjurusan> lj = jurusan.listJurusan(); cmjurusan.addElement(""); if (lj != null) { ListIterator it = lj.listIterator(); while (it.hasNext()) {

jurusan = (classjurusan) it.next();

cmjurusan.addElement(jurusan.getKodeJurusan() + " - " + jurusan.getNamaJurusan()); } } }

private void listkelas() {

List<classkelas> lj = kelas.listkelas(); ListIterator it = lj.listIterator();

(43)

67

Object[] data = {jc.getkodekelas(), jc.getnamakelas(), jc.getkodejurusan()};

tm.addRow(data); }

}

private void aktifButton() {

bt_hapus.setEnabled(!"".equals(kode_kelas) && tm.getRowCount() > 0 && "".equals(Aksi));

bt_ubah.setEnabled((!"".equals(kode_kelas) && tm.getRowCount() > 0) || !"".equals(Aksi)); tbkelas.setEnabled("".equals(Aksi)); iconTambah = creImageIcon("./resource/LIST-ADD.png"); iconsimpan = creImageIcon("./resource/document-save-as.png"); iconEdit = creImageIcon("./resource/edit-find-replace.png"); iconbatal = creImageIcon("./resource/edit-undo.png"); iconHapus = creImageIcon("./resource/list-remove.png"); iconkeluar = creImageIcon("./resource/system-log-out.png"); bt_hapus.setIcon(iconHapus); bt_tutup.setIcon(iconkeluar); if ("Tambah".equals(Aksi) || "Ubah".equals(Aksi)) { bt_tambah.setText("Simpan"); bt_ubah.setText("Batal"); bt_tambah.setIcon(iconsimpan); bt_ubah.setIcon(iconbatal); } else { bt_tambah.setText("Tambah"); bt_ubah.setText("Ubah"); bt_tambah.setIcon(iconTambah); bt_ubah.setIcon(iconEdit); } }

private void tampilData() {

kelas = kelas.carikelas(kode_kelas); tkode_kelas.setText(kelas.getkodekelas()); tnama_kls.setText(kelas.getnamakelas()); int Row, i; i = 0; String itemJurusan = "";

for ( i = 0; i <cmjurusan.getSize(); i++){

(44)

68 if (itemJurusan.contains(kelas.getkodejurusan())){ Row = i; break; } } cmjurusan.setSelectedItem(itemJurusan); }

private void bersihForm() { tkode_kelas.setText(""); tnama_kls.setText("");

cbkode_jurusan.setSelectedItem(""); }

private ImageIcon creImageIcon(String path) {

java.net.URL imgURL = jurusan.class.getResource(path); if (imgURL != null) {

return new ImageIcon(imgURL); } else {

System.err.println("File tidak ada" + path); return null;

} }

private void bt_tutupActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here:

dispose(); }

private void bt_ubahActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here:

if ("".equals(Aksi)) { Aksi = "Ubah"; tampilData(); } else { Aksi = ""; bersihForm(); } aktifButton(); }

private void tbkelasMouseClicked(java.awt.event.MouseEvent evt) { // TODO add your handling code here:

int row = tbkelas.getSelectedRow();

kode_kelas = (String) tm.getValueAt(row, 0); aktifButton();

}

(45)

69

Aksi = "Tambah";

tkode_kelas.requestFocus(); } else {

if (tkode_kelas.getText().equals("") || tkode_kelas.getText().equals("")) { JOptionPane.showMessageDialog(rootPane, "Mohon isi dahulu semua data", "Galat", JOptionPane.ERROR_MESSAGE);

return; }

kelas.setkodekelas(tkode_kelas.getText()); kelas.setnamakelas(tnama_kls.getText());

String[] kode_jurusan = cmjurusan.getSelectedItem().toString().split(" - "); String Kj = kode_jurusan[0].trim();

kelas.setkodejurusan(Kj); if ("Tambah".equals(Aksi)) { if (kelas.kelasbaru(kelas) > 0) {

JOptionPane.showMessageDialog(rootPane, "Kelas baru berhasil ditambahkan", "info", JOptionPane.INFORMATION_MESSAGE);

} }

if ("Ubah".equals(Aksi)) {

if (kelas.kelasUbah(kelas) > 0) {

JOptionPane.showMessageDialog(rootPane, "Kelas baru berhasil diubah", "info", JOptionPane.INFORMATION_MESSAGE);

} } Aksi = ""; bersihForm(); } aktifButton(); listkelas(); }

private void bt_hapusActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here:

if (JOptionPane.showConfirmDialog(rootPane, "Hapus Data ini?", "Konfirmasi", JOptionPane.YES_NO_OPTION) == JOptionPane.YES_OPTION) {

if (kelas.kelasHapus((String) kode_kelas) > 0) {

JOptionPane.showMessageDialog(rootPane, "Data telah dihapus", "Info", JOptionPane.INFORMATION_MESSAGE); } Aksi = ""; listkelas(); aktifButton(); }

(46)

70 b. Classsiswa package model; import java.sql.*; import java.util.ArrayList; import java.util.logging.Level; import java.util.logging.Logger; import java.util.List; /** * * @author acer */

public class classsiswa {

private Connection koneksi = null; private String nis;

private String kodekelas; private String namasiswa; private String tempatlahir; private String tanggallahir; private String jeniskelamin; private String agama; private String alamat; private String namaayah; private String namaibu; private String nomortelpon; private String alamatortu; public classsiswa(){ try { Class.forName("com.mysql.jdbc.Driver"); koneksi = DriverManager.getConnection("jdbc:mysql://localhost/smkpertiwi?", "root", ""); } catch (ClassNotFoundException ex) {

Logger.getLogger(classsiswa.class.getName()).log(Level.SEVERE, null, ex);

} catch (SQLException ex) {

Logger.getLogger(classsiswa.class.getName()).log(Level.SEVERE, null, ex); System.exit(0); } }

public String getnis() { return nis;

(47)

71

}

public String getkodekelas() { return kodekelas;

}

public void setkodekelas(String value) { kodekelas= value;

}

public String getnamasiswa(){ return namasiswa;

}

public void setnamasiswa(String value){ namasiswa = value;

}

public String gettempatlahir(){ return tempatlahir;

}

public void settempatlahir(String value){ tempatlahir = value;

}

public String gettanggallahir(){ return tanggallahir;

}

public void settanggallahir(String value){ tanggallahir = value;

}

public String getjeniskelamin(){ return jeniskelamin;

}

public void setjeniskelamin(String value){ jeniskelamin = value;

}

public String getagama(){ return agama;

}

public void setagama(String value){ agama = value;

}

public String getalamat(){ return alamat;

}

public void setalamat(String value){ alamat = value;

}

public String getnamaayah(){ return namaayah;

(48)

72

public void setnamaayah(String value){ namaayah = value;

}

public String getnamaibu(){ return namaibu;

}

public void setnamaibu(String value){ namaibu = value;

}

public String getnomortelpon(){ return nomortelpon;

}

public void setnomortelpon(String value){ nomortelpon = value;

}

public String getalamatortu(){ return alamatortu;

}

public void setalamatortu(String value){ alamatortu = value;

}

public int SiswaBaru(classsiswa siswa) {

String sqlCmd = "insert into siswa (nis, kodekelas, namasiswa, tempatlahir, tanggallahir,"

+ " jeniskelamin, agama, alamat, namaayah, namaibu, nomortelpon, alamatortu) values(?,?,?,?,?,?,?,?,?,?,?,?)"; PreparedStatement ps; try { ps = koneksi.prepareStatement(sqlCmd); ps.setString(1, siswa.getnis()); ps.setString(2, siswa.getkodekelas()); ps.setString(3, siswa.getnamasiswa()); ps.setString(4, siswa.gettempatlahir()); ps.setString(5, siswa.gettanggallahir()); ps.setString(6, siswa.getjeniskelamin()); ps.setString(7, siswa.getagama()); ps.setString(8, siswa.getalamat()); ps.setString(9, siswa.getnamaayah()); ps.setString(10, siswa.getnamaibu()); ps.setString(11, siswa.getnomortelpon()); ps.setString(12,siswa.getalamatortu()); return ps.executeUpdate();

(49)

73

return 0; }

}

public int siswaUbah(classsiswa siswa) {

String sqlCmd = "UPDATE kelas SET kodekelas=?, namasiswa=?, tempatlahir=?, tanggallahir=?,"

+ " jeniskelamin=?, agama=?, alamat=?, namaayah=?, namaibu=?, nomortelpon=?, alamatortu=?, WHERE nis=?";

PreparedStatement ps; try { ps = koneksi.prepareStatement(sqlCmd); ps.setString(1, siswa.getnis()); ps.setString(2, siswa.getkodekelas()); ps.setString(3, siswa.getnamasiswa()); ps.setString(4, siswa.gettempatlahir()); ps.setString(5, siswa.gettanggallahir()); ps.setString(6, siswa.getjeniskelamin()); ps.setString(7, siswa.getagama()); ps.setString(8, siswa.getalamat()); ps.setString(9, siswa.getnamaayah()); ps.setString(10, siswa.getnamaibu()); ps.setString(11, siswa.getnomortelpon()); ps.setString(12, siswa.getalamatortu()); return ps.executeUpdate(); } catch (SQLException ex) {

Logger.getLogger(classsiswa.class.getName()).log(Level.SEVERE, null, ex);

return 0; }

}

public int siswaHapus(String nis) {

String sqlCmd = " DELETE FROM siswa WHERE nis=?"; PreparedStatement ps;

try {

ps = koneksi.prepareStatement(sqlCmd); ps.setString(1, nis);

return ps.executeUpdate(); } catch (SQLException ex) {

Logger.getLogger(classsiswa.class.getName()).log(Level.SEVERE, null, ex); return 0; } }

public List<classsiswa> listsiswa() { try {

(50)

74

String sqlCmd = "SELECT * FROM siswa ORDER BY nis"; Statement st = koneksi.createStatement();

ResultSet tmpRs = st.executeQuery(sqlCmd); List<classsiswa> ls = new ArrayList(); while (tmpRs.next()) {

classsiswa siswa = new classsiswa(); siswa.setnis(tmpRs.getString("nis")); siswa.setkodekelas(tmpRs.getString("kodekelas")); siswa.setnamasiswa(tmpRs.getString("namasiswa")); siswa.settempatlahir(tmpRs.getString("tempatlahir")); siswa.settanggallahir(tmpRs.getString("tanggallahir")); siswa.setjeniskelamin(tmpRs.getString("jeniskelamin")); siswa.setagama(tmpRs.getString("agama")); siswa.setalamat(tmpRs.getString("alamat")); siswa.setnamaayah(tmpRs.getString("namaayah")); siswa.setnamaibu(tmpRs.getString("namaibu")); siswa.setnomortelpon(tmpRs.getString("nomortelpon")); siswa.setalamatortu(tmpRs.getString("alamatortu")); ls.add(siswa); } return ls;

} catch (SQLException ex) {

Logger.getLogger(classsiswa.class.getName()).log(Level.SEVERE, null, ex); return null; } }

public classsiswa carisiswa(String nis) { try {

(51)

75

3.5.2. Spesifikasi Hardware dan Software

Berikut ini adalah spesifikasi perangkat keras dan perangkat lunak minimum yang dibutuhkan untuk mengiplementasikan program pembayaran iuran pendidikan : 1. Spesifikasi Hardware

a. Prosesor : Pentium Dual Core CPU @2.00GHz

b. Memory : RAM DDR3 2 GB

c. Keyboard : Standard PS/2 keyboard

d. Monitor : Super VGA (800x600) dengan minimum 256 warna.

e. Mouse : ELAN PS/2 Port Smart Pad type mice and other pointing devices.

2. Spesifikasi Software

a. Sistem Operasi : Window 10

b. Editor : Netbeans IDE 8.1

c. Server :Xampp Win32-1.7.7-VC9

d. Database : Mysql

3.6. Testing

1. Pengujian terhadap halaman mengelola data admin Tabel III.4

Hasil Black Box Testing Halaman Data Admin N

o

Skenario Pengujian

Test Case Hasil yang diharapkan Hasil Pengujian Kesimpulan 1 1.

Input nama admin tidak diisi kemudian klik tombol simpan.

Nip, (kosong) Nama admin (kosong) Kata sandi (kosong) Sistem akan menolak akses dan menampilkan pesan “ Mohon isi dulu

semua data”

Sesuai harapan

(52)

76

2.

Mengetikan nip,nama admin dan kata sandi dengan benar kemudian klik tombol simpan. Nip(123456) Nama admin (Rispi) Kata sandi (121212) Sistem akan menolak akses dan menampilkan pesan “Admin baru berhasil ditambahkan” Sesuai harapan Valid

3. Pilih salah satu data admin Kemudian klik [Hapus] Konfirmasi penghapusan data dari sistem Sistem akan menolak akses dan menampilkan pesan “Hapus data ini? “

Sesuai harapan

Valid

2. Pengujian terhadap halaman mengelola data jurusan Tabel III.5

Hasil Black Box Testing Halaman Data Jurusan

N o

Skenario Pengujian

Test Case Hasil yang diharapkan

Hasil Pengujian

Kesimpulan 1. Klik tambah

kemudian input nama jurusan dan kode jurusan tidak diisi kemudian klik tombol simpan Nama jurusan, (kosong) Kode jurusan (kosong) Sistem akan menolak akses dan menampilkan pesan “ Mohon isi dulu

semua data”

Sesuai harapan

valid

2. Mengetikan nama jurusan dan kode jurusan dengan benar kemudian klik tombol simpan. Nama jurusan (pemasaran) Kode jurusan (Pn). Sistem akan menerima akses dan menampilkan pesan “Jurusan berhasil ditambahkan” Sesuai harapan valid

3. Pilih salah satu data jursan Kemudian klik [Hapus] Konfirmasi penghapusan data dari sistem Sistem akan menerima dan menampilkan pesan “Hapus data ini? “

Sesuai harapan

valid

4. Pilih kode jurusan kemudian klik ubah

Ubah data jurusan Sistem akan menerima dan menampilkan pesan “ Jurusan berhasil diubah “ Sesuai harapan valid

3. Pengujian terhadap halaman mengelola data kelas Tabel III.6

Hasil Black Box Testing Halaman Data Kelas N

o

Skenario Pengujian

Test Case Hasil yang diharapkan Hasil Pengujian Kesimpulan 1 .

Klik tambah kemudian input kode kelas, nama kelas dan jurusan tidak diisi kemudian klik tombol simpan Kode kelas, (kosong) Nama kelas (kosong) Jurusan (kosong) Sistem akan menolak akses dan menampilkan pesan “ Mohon isi dulu

semua data”

Sesuai harapan

(53)

77

2 .

Mengetikan kode kelas nama kelas dan pilih jurusan dengan benar kemudian klik tombol simpan. Kode kelas(2a) Nama kelas (perkantoran), Kode Jurusan (Ap). Sistem akan menerima akses dan menampilkan pesan “Jurusan berhasil ditambahkan” Sesuai harapan Valid 3 .

Pilih salah satu data jursan Kemudian klik [Hapus] Konfirmasi penghapusan data dari sistem Sistem akan menerima dan menampilkan pesan “Hapus data ini? “

Sesuai harapan

Valid

4 .

Pilih kode jurusan kemudian klik ubah

Ubah data jurusan Sistem akan menerima dan menampilkan pesan “ Jurusan berhasil diubah “ Sesuai harapan Valid

4. Pengujian terhadap halaman mengelola log in Tabel III.7

Hasil Black Box Testing Halaman log in N

o

Skenario Pengujian

Test Case Hasil yang diharapkan Hasil Pengujian Kesimpulan 1 .

Kode Admin dan kata sandi tidak diisi kemudian

klik tombol [Masuk]

kode admin: (kosong) kata sandi: (kosong) Sistem akan menolak dan menampilkan “kode admin dan

kata sandi tidak boleh kosong Sesuai harapan Valid 2 . Memasukkan kode admin

dan kata sandi tidak diisi

atau kosong kemudian klik tombol [Masuk] kode admin: april.debie kata sandi: (kosong) Sistem akan menolak dan menampilkan “ kode admin dan kata sandi tidak boleh kosong Sesuai harapan Valid 3 . Mengkosongkan kode admin dan kata sandi diisi

kemdian klik tombol [Masuk]] kode admin: (kosong) kata sandi: 12345678 Sistem akan menolak dan menampilkan “kode admin dan

kata sandi tidak boleh kosong ” Sesuai harapan Valid 4 Memasukkan dengan kondisi salah satu data benar dan salah satu data

salah lalu klik tombol [Masuk] kode admin: april.debie(ben ar) kata sandi: 1235678(salah) Sistem akan menolak dan menampilkan “Kode admin atau kata sandi salah”

Sesuai harapan

Valid

5 Menginputkan data yang

benar lalu klik tombol [Masuk] kode admin: apri.debie(bena r) kata sandi: 12345678(bena r) Sistem menerima akses kemudian masuk sebagai admin Sesuai harapan valid

(54)

78

5. Pengujian terhadap halaman mengelola transaksi pembayaran Tabel III.8

Hasil Black Box Testing Halaman transaksi pembayaran N

o

Skenario Pengujian

Test Case Hasil yang diharapkan Hasil Pengujian Kesimpulan 1. Klik tambah kemudian input no pembayaran,nis nama siswa, bulan, semester, tahun ajaran dan dibayar lalu klik simpan

No pembayaran (kosong) Nis (kosong) Nama siswa (kosong) Bulan (kosong) Semester (kosong) Tahun (kosong) Dibayar (kosong) Sistem akan menolak akses dan menampilkan pesan “ Mohon isi dulu

semua data” Sesuai harapan valid 2. Mengetikan no pembayaran,nis nama siswa, bulan, semester, tahun ajaran dan dibayar lalu klik simpan

No pembayaran (111) Nis (112233) Nama siswa (Rina) Bulan (01) Semester (2) Tahun (2016) Dibayar (300.000) Sistem akan menerima akses dan menampilkan pesan “Pembayaran berhasil ditambahkan” Sesuai harapan valid

3. Pilih salah satu data jpembayaran Kemudian klik [Hapus] Sistem akan menerima dan menampilkan pesan “Hapus data ini? “

Sesuai harapan

valid

4. Pilih nis kemudian klik ubah Ubah data pembayaran Sistem akan menerima dan menampilkan pesan “ Psembayaran berhasil diubah “ Sesuai harapan valid

Gambar

Gambar III.1
Gambar III.2
Tabel III.1  Definisi Aktor
Gambar III.3 Diagram  Use case Halaman Pengguna
+7

Referensi

Dokumen terkait

 Pemeriksaan  radiologis  didapatkan  foto  polos   abdomen  menunjukkan  gambaran   ground  glass  appearance   di  pinggang  kanan,  gambaran   USG

didefinisikan mengalami keracunan akut sianida bila kadar sianida serumnya  0.5 mg/L. Tapi kadar sianida serum tidak bisa dijadikan parameter untuk menentukan

Peserta mengukur benda kerja yang sudah disediakan oleh panitia dengan menggunakan alat ukur yang disediakan oleh panitia pula.. Pada tes wawancara peserta akan diwawancarai oleh

perencanaan adalah proses yang sistematis dengan mengambil suatu pilihan dari. berbagai alternatif, hal ini seperti yang dikemukakan oleh

Selain itu lidah buaya tidak menyebabkan keracunan baik pada tanaman ataupun pada hewan, sehingga dapat digunakan dalam industri dengan diolah menjadi gel, serbuk,

Puji syukur penulis panjatkan kehadirat Allah SWT yang telah memberikan rahmat dan hidayah-Nya sehingga penulis dapat menyelesaikan naskah skripsi ini dengan judul “Analisis

Lingkungan Teman Sebaya yang positif akan membawa dampak yang positif juga dalam proses belajar karena teman sebaya akan mengajak kearah yang lebih baik

Berdasrkan hasil penelitian yang dilakukan dapat disimpulkan bahwa (1) Kendala Dinas Pendapatan kota Batu dalam menerapkan sistem pajak yang benar pada pemilik