Professional Documents
Culture Documents
SI Perpustakaan - Tabel Petugas
SI Perpustakaan - Tabel Petugas
SI Perpustakaan - Tabel Petugas
Hal. 1
Hal. 2
PUBLIC SUB Form_Open() Module1.koneksi atur_tombol(TRUE, FALSE, FALSE, FALSE) isidata() bersihkan() ME.Center Txt_Password.Password = 1 flname = Application.Path & "/laporanpetugas" END SUB atur_tombol(tambah AS Boolean, simpan AS Boolean, ubah AS Boolean, hapus AS Boolean) Btn_Tambah.Enabled = tambah Btn_Simpan.Enabled = simpan Btn_Ubah.Enabled = ubah Btn_Hapus.Enabled = hapus END PUBLIC SUB Btn_Keluar_Click() ME.Close END SUB bersihkan() Txt_ID.Text = "" Txt_Nama.Text = "" Txt_Alamat.Text = "" Txt_Password.Text = "" Txt_Telepon.Text = "" Txt_Cari.Text = "" CMB_JK.Clear CMB_JK.Add("Laki-Laki") CMB_JK.Add("Perempuan") CMB_JK.Text = "" Txt_Cari.BackColor = &D0D0D0& Txt_Nama.SetFocus END SUB buat_kode() sql = "SELECT ID_Petugas FROM Tabel_Petugas ORDER BY ID_Petugas DESC" rs = Module1.db.Exec(sql)
Hal. 3
IF rs.Available THEN ID = Mid(rs[0], 3, 3) ID = Val(ID) ID = "PS" & Format(ID + 1, "0##") Txt_ID.Text = ID ELSE ID = "PS001" Txt_ID.Text = ID ENDIF END PUBLIC SUB Btn_Tambah_Click() atur_tombol(FALSE, TRUE, FALSE, FALSE) bersihkan() buat_kode() isidata() END SUB validasi() AS Boolean IF Txt_Nama.Text = "" THEN Message.Error("Nama Petugas Belum Dimasukkan", "Ok") Txt_Nama.SetFocus RETURN FALSE ELSE IF Txt_Alamat.Text = "" THEN Message.Error("Alamat Petugas Belum Dimasukkan", "Ok") Txt_Alamat.SetFocus RETURN FALSE ELSE IF Txt_Password.Text = "" THEN Message.Error("Password Belum Dimasukkan", "Ok") Txt_Password.SetFocus RETURN FALSE ELSE IF CMB_JK.Text = "" THEN Message.Error("Jenis Kelamin Belum Dipilih", "Ok") CMB_JK.SetFocus RETURN FALSE ELSE RETURN TRUE Message.Info("Data Sudah Benar", "Ok") ENDIF ENDIF ENDIF
Hal. 4
ENDIF END PUBLIC SUB Btn_Simpan_Click() IF validasi() = TRUE THEN Nama = Txt_Nama.Text Alamat = Txt_Alamat.Text Telp = Txt_Telepon.Text Password = Txt_Password.Text Password = Crypt.MD5(Password, "1234abcd") JK = CMB_JK.Text SELECT CASE JK CASE "Laki-Laki" JK = 1 CASE "Perempuan" JK = 0 END SELECT sql = "INSERT INTO Tabel_Petugas(ID_Petugas, Nama_Petugas, Alamat_Petugas, " sql = sql & "Telp_Petugas, JK_Petugas, Password) " sql = sql & "VALUES ('" & ID & "', '" & Nama & "', '" & Alamat & "','" & Telp & "', " sql = sql & "'" & JK & "','" & Password & "')" rs = Module1.db.Exec(sql) IF NOT ERROR THEN Message.Info("Data Berhasil Disimpan") atur_tombol(TRUE, FALSE, TRUE, TRUE) isidata() ENDIF ENDIF END PUBLIC SUB Btn_Ubah_Click() IF validasi() = TRUE THEN Nama = Txt_Nama.Text Alamat = Txt_Alamat.Text Telp = Txt_Telepon.Text Password = Txt_Password.Text Password = Crypt.MD5(Password, "1234abcd") JK = CMB_JK.Text SELECT CASE JK CASE "Laki-Laki" JK = 1 CASE "Perempuan" JK = 0 END SELECT
Hal. 5
= = = = = =
"UPDATE Tabel_Petugas SET Nama_Petugas = '" & Nama & "', " sql & "Alamat_Petugas = '" & Alamat & "', " sql & "Telp_Petugas = '" & Telp & "', " sql & "Password = '" & Password & "', " sql & "JK_Petugas = '" & JK & "' " sql & "WHERE ID_Petugas = '" & ID & "'"
rs = Module1.db.Exec(sql) IF NOT ERROR THEN Message.Info("Data Berhasil Di Ubah") atur_tombol(TRUE, FALSE, TRUE, TRUE) isidata() ENDIF ENDIF END PUBLIC SUB Btn_Hapus_Click() SELECT CASE Message.Question("Yakin ingin menghapus data ??? ", "Tidak", "Ya") CASE 2 sql = "DELETE FROM Tabel_Petugas " sql = sql & "WHERE ID_Petugas = '" & ID & "'" rs = Module1.db.Exec(sql) IF NOT ERROR THEN Message.Info("Data Berhasil Di Hapus") atur_tombol(TRUE, FALSE, TRUE, TRUE) isidata() bersihkan() ENDIF END SELECT END SUB isidata() DIM baris AS Integer DIM warna AS String DIM kelamin AS String Tbl_Petugas.Header = 1 Tbl_Petugas.Mode = 1 WITH Tbl_Petugas .Columns.Count = 5 .Columns[0].Title .Columns[1].Title .Columns[2].Title .Columns[3].Title .Columns[4].Title END WITH = = = = = " ID " "Nama Petugas" "Alamat Petugas" "Telepon Petugas" "Kelamin Petugas"
Hal. 6
sql = "SELECT * FROM Tabel_Petugas ORDER BY ID_Petugas" rs = Module1.db.Exec(sql) IF NOT rs.Available THEN Tbl_Petugas.Enabled = FALSE ELSE Tbl_Petugas.Enabled = TRUE ENDIF Tbl_Petugas.Rows.Count = rs.Count DO WHILE rs.Available kelamin = rs!JK_Petugas IF kelamin = 1 THEN kelamin = "Laki-Laki" ELSE kelamin = "Perempuan" ENDIF IF baris MOD 2 = 0 THEN warna = &5FFFD7& ELSE warna = &FFFFFF& ENDIF Tbl_Petugas[baris, 0].Text = rs!ID_Petugas Tbl_Petugas[baris, 0].Background = warna Tbl_Petugas[baris, 1].Text = rs!Nama_Petugas Tbl_Petugas[baris, 1].Background = warna Tbl_Petugas[baris, 2].Text = rs!Alamat_Petugas Tbl_Petugas[baris, 2].Background = warna Tbl_Petugas[baris, 3].Text = rs!Telp_Petugas Tbl_Petugas[baris, 3].Background = warna Tbl_Petugas[baris, 4].Text = kelamin Tbl_Petugas[baris, 4].Background = warna rs.MoveNext baris += 1 LOOP END PUBLIC SUB Tbl_Petugas_Click() ID = Tbl_Petugas[Tbl_Petugas.Row, 0].Text Txt_ID.Text = ID Txt_Nama.Text = Tbl_Petugas[Tbl_Petugas.Row, 1].Text Txt_Alamat.Text = Tbl_Petugas[Tbl_Petugas.Row, 2].Text Txt_Telepon.Text = Tbl_Petugas[Tbl_Petugas.Row, 3].Text CMB_JK.Text = Tbl_Petugas[Tbl_Petugas.Row, 4].Text
Hal. 7
atur_tombol(TRUE, FALSE, TRUE, TRUE) END PUBLIC SUB Btn_Cetak_Click() SELECT CASE Message.Question("Cetak ke Layar atau printer ?", "Layar", "Printer", "Batal") CASE 1 'perintah bila ingin mencetak ke layar printit(FALSE) CASE 2 'perintah bila ingin mencetak ke printer printit(TRUE) END SELECT END SUB isidata_cari() DIM baris AS Integer DIM warna AS String DIM kelamin AS String Tbl_Petugas.Header = 1 Tbl_Petugas.Mode = 1 WITH Tbl_Petugas .Columns.Count = 5 .Columns[0].Title .Columns[1].Title .Columns[2].Title .Columns[3].Title .Columns[4].Title END WITH = = = = = " ID " "Nama Petugas" "Alamat Petugas" "Telepon Petugas" "Kelamin Petugas"
sql = "SELECT * FROM Tabel_Petugas " sql = sql & "WHERE ID_Petugas LIKE '%" & Txt_Cari.Text & "%' " sql = sql & "OR Nama_Petugas LIKE '%" & Txt_Cari.Text & "%' " sql = sql & "OR Alamat_Petugas LIKE '%" & Txt_Cari.Text & "%' " sql = sql & "ORDER BY ID_Petugas " rs = Module1.db.Exec(sql) Tbl_Petugas.Rows.Count = rs.Count DO WHILE rs.Available kelamin = rs!JK_Petugas IF kelamin = 1 THEN kelamin = "Laki-Laki" ELSE kelamin = "Perempuan" ENDIF IF baris MOD 2 = 0 THEN warna = &5FFFD7& ELSE
Hal. 8
warna = &FFFFFF& ENDIF Tbl_Petugas[baris, 0].Text = rs!ID_Petugas Tbl_Petugas[baris, 0].Background = warna Tbl_Petugas[baris, 1].Text = rs!Nama_Petugas Tbl_Petugas[baris, 1].Background = warna Tbl_Petugas[baris, 2].Text = rs!Alamat_Petugas Tbl_Petugas[baris, 2].Background = warna Tbl_Petugas[baris, 3].Text = rs!Telp_Petugas Tbl_Petugas[baris, 3].Background = warna Tbl_Petugas[baris, 4].Text = kelamin Tbl_Petugas[baris, 4].Background = warna rs.MoveNext baris += 1 LOOP END PUBLIC SUB Txt_Cari_KeyPress() IF Key.Code = Key.Enter OR Key.Code = Key.Return THEN Txt_Cari.BackColor = &FFFFFF& isidata_cari() ENDIF END PUBLIC SUB Txt_Cari_LostFocus() Txt_Cari.BackColor = &D0D0D0& END PUBLIC SUB Txt_Cari_GotFocus() Txt_Cari.BackColor = &FFFFFF& Txt_Cari.SelectAll atur_tombol(TRUE, FALSE, FALSE, FALSE) END PUBLIC SUB printit(prn AS Boolean) DIM i AS Integer
Hal. 9
DIM id, nma, almt, tlp, kel AS String IF Exist(flname) THEN KILL flname OPEN flname FOR WRITE CREATE AS #hFile 'tampilkan header disini header(prn) i = 0 DO WHILE i < Tbl_Petugas.Rows.Count id = Tbl_Petugas[i, 0].Text nma = Tbl_Petugas[i, 1].Text almt = Tbl_Petugas[i, 2].Text tlp = Tbl_Petugas[i, 3].Text kel = Tbl_Petugas[i, 4].Text content(id, nma, almt, tlp, kel) i += 1 LOOP footer() CLOSE #hFile 'menampilkan laporan FLaporan.SetPath(flname) FLaporan.ShowModal END PUBLIC SUB header(prn AS Boolean) 'membuat tabel dengan perintah html+gambas PRINT #hFile, "<html>" PRINT #hFile, "<head><title>Daftar Petugas</title></head>" PRINT #hFile, "<body topmargin='10'" IF prn = TRUE THEN PRINT #hFile, " onload='window.print()'" PRINT #hFile, ">" PRINT #hFile, "<table align='center' border='1' width='750' cellpadding='4' cellspacing='0'>" PRINT #hFile, " <tr>" PRINT #hFile, " <td colspan='5' align='center'>" PRINT #hFile, " <h3>Daftar Petugas Perpustakaan</h3>" PRINT #hFile, " </td>" PRINT #hFile, " </tr>" PRINT #hFile, " <tr><td></td></tr>" PRINT #hFile, " <tr>" PRINT #hFile, " <td width='10%' align='center'><b>ID Petugas</b></td>" PRINT #hFile, " <td width='30%' align='center'><b>Nama Petugas</b></td>" PRINT #hFile, " <td width='30%' align='center'><b>Alamat Petugas</b></td>" PRINT #hFile, " <td width='15%' align='center'><b>Telepon Petugas</b></td>" PRINT #hFile, " <td width='15%' align='center'><b>Kelamin Petugas</b></td>"
Hal. 10
</tr>" <tr bgcolor = 'Green'>" <td width='10%' align='center'><b>1</b></td>" <td width='30%' align='center'><b>2</b></td>" <td width='30%' align='center'><b>3</b></td>" <td width='15%' align='center'><b>4</b></td>" <td width='15%' align='center'><b>5</b></td>" </tr>"
PUBLIC SUB content(P1 AS String, P2 AS String, P3 AS String, P4 AS String, P5 AS String) PRINT PRINT PRINT PRINT PRINT PRINT PRINT END PUBLIC SUB footer() PRINT #hFile, "</table>" PRINT #hFile, "</body>" PRINT #hFile, "</html>" END #hFile, #hFile, #hFile, #hFile, #hFile, #hFile, #hFile, " " " " " " " <tr>" <td align='center'>" & P1 & "</td>" <td>" & P2 & "</td>" <td>" & P3 & "</td>" <td>" & P4 & "</td>" <td>" & P5 & "</td>" </tr>"
Hal. 11
Hal. 12
b. Listing Program Form Petugas ' Gambas class file PUBLIC SUB SetPath(sPath AS String) WebBrowser1.Path = sPath END PUBLIC SUB Form_Resize() WebBrowser1.Move(0, 0, ME.ClientWidth, ME.ClientHeight - 68) Btn_Keluar.Move(ME.clientwidth - 130, ME.ClientHeight - 55) END PUBLIC SUB Form_Open() ME.center ME.Width = 800 WebBrowser1.Width = ME.Width WebBrowser1.JavaScript = TRUE END PUBLIC SUB Btn_Keluar_Click() ME.Close END
Hal. 13
3. Listing Module1 (Koneksi ke Database) ' Gambas module file PUBLIC db AS NEW Connection PUBLIC rs AS Result PUBLIC FUNCTION koneksi() AS Boolean db.Close db.Type = "mysql" db.Host = "localhost" db.Login = "root" db.Password = "1" db.Name = "dbPerpus" db.Open END
Hal. 14