Tuesday, June 2, 2015

Membuat Data Mahasiswa Dengan Gambas

Posted by UJIAN PAS TAHUN AJARAN 2020/2021 on 2:03 AM

1. Langsung saja kita mulai, pertam kita sediakan bahan untuk membuat Data Mahasiswa.

Nama                         Type             Group
NPM (PK)                   Label                -
Nama Mahasiswa      Label                -
Tempat Tgl                 Label                -
Alamat                        Label               -
txtnpm                        Textbox            -
txtnama_mahasiswa  Textbox            -
txtlhr                          Textbox            -
txtalamat                   Textbox            -
txtcari                        Textbox            -
btnsmpn                     Button             -
btntmbh                     Button             -  
btnhps                        Button             -
btnubah                     Button              -
btnbtl                         Button              -
btnkeluar                   Button              -
btntmpl                      Button            gbtn
btncetak                    Button             gbtn
btncari                       Button
TableView1
WebBrowser1
btnoke

 2. Tampilan form






3.Copy paste script di bawah ini

' Gambas class file

PUBLIC sql AS String
PUBLIC rsb AS Result
hfile AS File
flname AS String

PUBLIC SUB Form_Open()

  DIM dbname AS String
  DIM tbname AS String
  DIM htable AS Table
 
  txtcari.Text = "Masukkan NPM"
  ME.Caption = "Tabel Mahasiswa"
  ME.Center
 
  dbname = "kampus"
  tbname = "mahasiswa"
  flname = User.Home & "/ datamahasiswa.html "
 
  WITH Module1
  .koneksi
  IF NOT .db.Databases.Exist(dbname) THEN
  .db.Databases.Add(dbname)
  .db.Close
  .db.Name = dbname
  .db.Open
 
  IF NOT .db.Tables.Exist(tbname) THEN
  htable = .db.Tables.Add(tbname)
  htable.Fields.Add("npm ", gb.string, 20)
  htable.Fields.Add("nama_mahasiswa ", gb.varchar, 100)
  htable.Fields.Add("tempat_tgl_lahir ", gb.varchar, 50)
  htable.Fields.Add("alamat ", gb.varchar, 30)
  htable.PrimaryKey = ["npm"]
  htable.Update
  END IF
 
  ELSE
  .db.Close
  .db.Name = dbname
  .db.Open
  END IF
  END WITH
 bersbihin()
 tampilkan()

 sql = "select count(*)as jml from mahasiswa"
 rsb = Module1.db.Exec(sql)

 Label5.Text = "Jumlah Data:" & rsb!jml

END

PUBLIC SUB Form_Close()

  IF Exist(flname) THEN KILL flname
 

END

SUB bersbihin()
 
  txtnpm.Text = ""
  txtnama_mahasiswa.Text = ""
  txtlhr.Text = ""
  txtalamat.Text = ""
 
 
END

SUB tampilkan()
 
  WITH TableView1
  .Rows.Count = 0
  .Columns.Count = 4
 
  .Columns[0].Text = "NPM"
  .Columns[1].Text = "Nama Mahasiswa"
  .Columns[2].Text = "Tempat/Tgl. Lahir"
  .Columns[3].Text = "Alamat"
 
  .Columns[0].Width = "150"
  .Columns[1].Width = "300"
  .Columns[2].Width = "250"
  .Columns[3].Width = "300"
 
  END WITH
  Module1.Fill(TableView1, "select*from mahasiswa order by nama_mahasiswa")

END

PUBLIC SUB TableView1_Click()

  txtnpm.Text = TableView1[TableView1.Row, 0].Text
  txtnama_mahasiswa.Text = TableView1[TableView1.Row, 1].Text
  txtlhr.Text = TableView1[TableView1.Row, 2].Text
  txtalamat.Text = TableView1[TableView1.Row, 3].Text
  CATCH
  Message.Info("Data Masih Kosong", "Ok")
 

END

PUBLIC SUB TableView1_Data(Row AS Integer, column AS Integer)
 
  DIM arrtable[4] AS String
  arrtable[0] = "npm"
  arrtable[1] = "nama_mahasiswa"
  arrtable[2] = "tempat_tgl_lahir"
  arrtable[3] = "alamat"
  WITH Module1
 
  .rsb.MoveTo(Row)
 
  TableView1.Data.Text = Str(.rsb[arrtable[column]])
  END WITH

END

PUBLIC SUB btntmbh_Click()

  bersbihin()
  TableView1.Enabled = FALSE
  txtnpm.SetFocus

END

PUBLIC SUB btnsmpn_Click()

  IF txtnpm.Text = "" OR txtnama_mahasiswa.Text = "" OR txtlhr.Text = "" OR txtalamat.Text = "" THEN
  Message.Warning("Data belum lengkap", " Ok ")
  ELSE
  WITH Module1
 
  sql = "insert into mahasiswa values('" & txtnpm.Text & "','" & txtnama_mahasiswa.Text & "','" & txtlhr.Text & "','" & txtalamat.Text & "')"
  .db.Exec(sql)
  tampilkan()
  TableView1.Enabled = TRUE
  END WITH
  END IF
  CATCH
  Message.Info("Data sudah ada dalam database", "Ok")
  bersbihin()
  TableView1.Enabled = TRUE

END

PUBLIC SUB btncari_Click()

  sql = "select*from mahasiswa where npm='" & txtcari.Text & "'"
  rsb = Module1.db.Exec(sql)
  txtnpm.Text = rsb!npm
  txtnama_mahasiswa.Text = rsb!nama_mahasiswa
  txtlhr.Text = rsb!tempat_tgl_lahir
  txtalamat.Text = rsb!alamat
  txtnpm.SetFocus
  CATCH
  Message.Info("Data tidak ditemukan", "Ok")

END

PUBLIC SUB txtcari_GotFocus()

  txtcari.Text = ""

END

PUBLIC SUB btnhps_Click()

  SELECT Message.Question("Yakin akan menghapus", "Ya", "Tidak")
  CASE 1
  sql = "delete from mahasiswa where npm='" & txtnpm.Text & "'"
  Module1.db.Exec(sql)
  IF ERROR THEN
  Message.Info("Data berhasil dihapus", "Ok")
  tampilkan
  END IF
 
  CASE 2
  txtcari.SetFocus
  END SELECT
  bersbihin()

END

PUBLIC SUB btnubah_Click()

  sql = "update mahasiswa set npm='" & txtnpm.Text & "',nama_mahasiswa='" & txtnama_mahasiswa.Text & "',tempat_tgl_lahir='" & txtlhr.Text & "',alamat='" & txtalamat.Text & "'where npm='" & txtnpm.Text & "'"
  Module1.db.Exec(sql)

END

PUBLIC SUB btnbtl_Click()

  bersbihin()
  TableView1.Enabled = TRUE

END

PUBLIC SUB gbtn_Click()
 
  SELECT CASE LAST.tag
  CASE 1
  printit(FALSE)
  CASE 2
  printit(TRUE)
  END SELECT
 
 
END

PUBLIC SUB header(prn AS Boolean)
 
  PRINT #hfile, "<HTML>"
  PRINT #hfile, "<body topmargin='15' leftmargin='0'>"
  IF prn = TRUE THEN PRINT #hfile, "onload='window.print()'"
  PRINT #hfile, "<h3 align='center'><b>Data Mahasiswa</b></h3>"
  PRINT #hfile, "<table border='1' width='500' cellpadding='3' cellspacing='0' align='center'>"
  PRINT #hfile, "<tr>"
  PRINT #hfile, "<td align='center'><b>NPM</b></td>"
  PRINT #hfile, "<td align='center'><b>Nama Mahasiswa</b></td>"
  PRINT #hfile, "<td align='center'><b>Tempat/Tgl.Lahir</b></td>"
  PRINT #hfile, "<td align='center'><b>Alamat</b></td>"
  PRINT #hfile, "</tr>"
  
 
END

PUBLIC SUB content(p1 AS String, p2 AS String, p3 AS String, p4 AS String)
 
  PRINT #hfile, "<tr>"
  PRINT #hfile, "<td>" & p1 & " </td >"
  PRINT #hfile, "<td>" & p2 & " </td >"
  PRINT #hfile, "<td>" & p3 & " </td >"
  PRINT #hfile, "<td>" & p4 & " </td >"
  PRINT #hfile, "</tr>"
 
 
END

PUBLIC SUB footer()
 
  PRINT #hFile, "<table>"
  PRINT #hFile, "</body>"
  PRINT #hFile, "</html>"
 
END

PUBLIC SUB printit(prn AS Boolean)
 
  DIM i AS Float
  WITH Module1
  .rsb = .db.Exec("select*from mahasiswa order by nama_mahasiswa")
  IF .rsb.Count <> 0 THEN
  IF Exist(flname) THEN KILL flname
  OPEN flname FOR WRITE CREATE AS #hfile
  header(prn)
  i = 0
  WHILE i < .rsb.Count
  content(CStr(.rsb!npm), CStr(.rsb!nama_mahasiswa), CStr(.rsb!tempat_tgl_lahir), (.rsb!alamat))
  i = i + 1
  .rsb.MoveNext
  WEND
  footer
  CLOSE #hfile
  FPreview.SetPath(flname)
  FPreview.ShowModal
  END IF
  END WITH
END
PUBLIC SUB btnkeluar_Click()

  ME.Close

END


3. Buat form baru dengan nama FPreview  lalu tambahkan WebBrowser di dalm form yang kita buat tadi




PUBLIC SUB Form_Open()

  ME.Center

END

PUBLIC SUB Form_Resize()

  WebBrowser1.Move(0, 36, ME.ClientWidth, ME.ClientHeight - 70)
  Button1.Move(ME.ClientWidth - 88, ME.ClientHeight - 33, 88, 32)
 

END

PUBLIC SUB Button1_Click()

  ME.Close

END

PUBLIC SUB SetPath(sPath AS String)
 
  WebBrowser1.Path = sPath
 
END


selesai !!!!!!!
thanks sudah mengunjung blog saya !!!!
ayo undang teman teman mu juga ke blog ini. . . ?
Salam Amex.




0 comments:

Post a Comment

  • RSS
  • Delicious
  • Digg
  • Facebook
  • Twitter
  • Linkedin

Search Site