Saturday, July 4, 2015

Identitas Calon Dengan Gambas

 1. kita buat dulu module1 untuk koneksi database







Lalu kelik 2x pada module1 copy paste script di bawah

PUBLIC db AS NEW connection

PUBLIC rsF AS result
PUBLIC rsP AS Result
PUBLIC sql AS String

PUBLIC FUNCTION koneksi() AS Boolean
  db.CLOSE
  db.type = "MySQL"
  db.host = "localhost"
  db.login = "root"
  db.password = ""
  db.OPEN
 
 
END
PUBLIC SUB Fill1(tbv1 AS TableView, sql AS String)
 
  DIM i AS Float
  rsF = db.Exec(sql)
 
  WITH rsF
  tbv1.Rows.count = 0
  IF .count <> 0 THEN 
  tbv1.Columns.count = .fields.count
  tbv1.Rows.Count = .count
  ENDIF
 
 
END WITH
END
PUBLIC SUB Fill2(tbv2 AS TableView, sql AS String)
 
  DIM i AS Float
  rsP = db.Exec(sql)

  WITH rsP
  tbv2.Rows.count = 0
  IF .count <> 0 THEN 
  tbv2.Columns.count = .fields.count
  tbv2.Rows.Count = .count
  ENDIF
 
 
END WITH
END
2. Buatlah tampilan Form seperti di bawah ini








Lalu copy paste script dibawah ini
 




PUBLIC sql AS String
PUBLIC rsF AS result
PUBLIC rs AS result
hfile AS File
flname AS String

SUB tampilkan()
WITH TableView1
.Rows.count = 0
.Columns.count = 17
.Columns[0].Text = "Nomor Peserta"
.Columns[1].Text = "Nama"
.Columns[2].Text = "Tempat"
.Columns[3].Text = "Tanggal Lahir"
.Columns[4].Text = "Jenis Kelamin"
.Columns[5].Text = "Pekerjaan"
.Columns[6].Text = "Alamat Lengkap Calon"
.Columns[7].Text = "Agama"
.Columns[8].Text = "Tinggi Badan"
.Columns[9].Text = "Berat Badan"
.Columns[10].Text = "Suku"
.Columns[11].Text = "Bangsa"
.Columns[12].Text = "Pendidikan Terakhir"
.Columns[13].Text = "Jurusan"
.Columns[14].Text = "Tahun Lulus"
.Columns[15].Text = "Nilai Nem/Huan"
.Columns[16].Text = "Nomor Hp"

END WITH
Module1.Fill1(TableView1, "select * from calon order by nop")
END
SUB aturtombol(tambah AS Boolean, ubah AS Boolean, hapus AS Boolean, simpan AS Boolean, batal AS Boolean, keluar AS Boolean, cari AS Boolean)
 
  btntambah.enabled = tambah
  btnubah.enabled = ubah
  btnhapus.enabled = hapus
  btnsimpan.enabled = simpan
  btnbatal.enabled = batal
  btnkeluar.enabled = keluar
  btncari.enabled = cari
 
END
SUB aturtext(nop AS Boolean, nama AS Boolean, tempat AS Boolean, tgl AS Boolean, jk AS Boolean, pekerjaan AS Boolean, alamat AS Boolean, agama AS Boolean, tinggi AS Boolean, berat AS Boolean, suku AS Boolean, bangsa AS Boolean, pendidikan AS Boolean, jurusan AS Boolean, tahun AS Boolean, nilai AS Boolean, no AS Boolean)
 
  txtnomor.enabled = nop
  txtnama.enabled = nama
  txttempat.enabled = tempat
  txttgl.Enabled = tgl
  cmbjk.Enabled = jk
  txtpekerjaan.Enabled = pekerjaan
  txtalamat.Enabled = alamat
  cmbagama.Enabled = agama
  cmbtinggi.Enabled = tinggi
  cmbberat.Enabled = berat
  cmbsuku.Enabled = suku
  cmbbangsa.Enabled = bangsa
  cmbpendidikan.Enabled = pendidikan
  cmbjurusan.Enabled = jurusan
  cmbtahun.Enabled = tahun
  txtnilai.Enabled = nilai
  txtno.Enabled = no
 
 
 
END
SUB bersihin()
 
   txtnomor.Text = ""
  txtnama.Text = ""
  txttempat.Text = ""
  txttgl.Text = ""
  cmbjk.Text = ""
  txtpekerjaan.Text = ""
  txtalamat.Text = ""
  cmbagama.Text = ""
  cmbtinggi.Text = ""
  cmbberat.Text = ""
  cmbsuku.Text = ""
  cmbbangsa.Text = ""
  cmbpendidikan.Text = ""
  cmbjurusan.Text = ""
  cmbtahun.Text = ""
  txtnilai.Text = ""
  txtno.Text = ""
 
 
 
END

PUBLIC SUB Form_Open()

DIM dbname AS String
DIM tbname AS String
DIM htable AS table
txtcari.Text = "Masukkan Kode ID"

cmbjk.Add("Laki-Laki")
cmbjk.Add("Perempuan")

cmbagama.Add("Islam")
cmbagama.Add("Kristen")
cmbagama.Add("Katolik")
cmbagama.Add("Hindu")

cmbtinggi.Add("160cm")
cmbtinggi.Add("161cm")
cmbtinggi.Add("162cm")
cmbtinggi.Add("163cm")
cmbtinggi.Add("164cm")
cmbtinggi.Add("165cm")
cmbtinggi.Add("166cm")
cmbtinggi.Add("167cm")
cmbtinggi.Add("168cm")
cmbtinggi.Add("169cm")
cmbtinggi.Add("170cm")
cmbtinggi.Add("172cm")
cmbtinggi.Add("172cm")
cmbtinggi.Add("173cm")
cmbtinggi.Add("174cm")
cmbtinggi.Add("175cm")
cmbtinggi.Add("176cm")
cmbtinggi.Add("177cm")
cmbtinggi.Add("178cm")
cmbtinggi.Add("179cm")
cmbtinggi.Add("180cm")

cmbberat.Add("35kg")
cmbberat.Add("36kg")
cmbberat.Add("37kg")
cmbberat.Add("38kg")
cmbberat.Add("39kg")
cmbberat.Add("40kg")
cmbberat.Add("41kg")
cmbberat.Add("42kg")
cmbberat.Add("43kg")
cmbberat.Add("44kg")
cmbberat.Add("45kg")
cmbberat.Add("46kg")
cmbberat.Add("47kg")
cmbberat.Add("48kg")
cmbberat.Add("49kg")
cmbberat.Add("50kg")
cmbberat.Add("51kg")
cmbberat.Add("52kg")
cmbberat.Add("53kg")
cmbberat.Add("54kg")
cmbberat.Add("55kg")
cmbberat.Add("56kg")
cmbberat.Add("57kg")
cmbberat.Add("58kg")
cmbberat.Add("59kg")
cmbberat.Add("60kg")

cmbsuku.Add("Gayo")
cmbsuku.Add("Aceh")
cmbsuku.Add("Padang")
cmbsuku.Add("Batak")
cmbsuku.Add("Jawa")
cmbsuku.Add("Papua")

cmbbangsa.Add("Indonesia")
cmbbangsa.Add("Papua")

cmbpendidikan.Add("TK")
cmbpendidikan.Add("SD")
cmbpendidikan.Add("SMP")
cmbpendidikan.Add("SMA")
cmbpendidikan.Add("S1")
cmbpendidikan.Add("S2")

cmbjurusan.Add("-")
cmbjurusan.Add("IPA")
cmbjurusan.Add("IPS")
cmbjurusan.Add("Tekni Informatika")
cmbjurusan.Add("Pisipol")
cmbjurusan.Add("Pertanian")
cmbjurusan.Add("Ekonomi")
cmbjurusan.Add("Managemen")
cmbjurusan.Add("Budi Daya Perairan")

cmbtahun.Add("1998")
cmbtahun.Add("1999")
cmbtahun.Add("2000")
cmbtahun.Add("2001")
cmbtahun.Add("2002")
cmbtahun.Add("2003")
cmbtahun.Add("2004")
cmbtahun.Add("2005")
cmbtahun.Add("2006")
cmbtahun.Add("2007")
cmbtahun.Add("2008")
cmbtahun.Add("2009")
cmbtahun.Add("2010")

aturtombol(TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE)
aturtext(TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE)
dbname = "identitas"
tbname = "calon"
ME.Caption = "Tabel Calon"
ME.Center
flname = User.Home & "/datacalon.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("nop", gb.String, 50)
htable.fields.add("nama", gb.String, 30)
htable.fields.add("tempat", gb.String, 30)
htable.fields.add("tgl", gb.String, 30)
htable.fields.add("jk", gb.String, 30)
htable.fields.add("pekerjaan", gb.String, 30)
htable.fields.add("alamat", gb.String, 30)
htable.fields.add("agama", gb.String, 30)
htable.fields.add("tinggi", gb.String, 30)
htable.fields.add("berat", gb.String, 30)
htable.fields.add("suku", gb.String, 30)
htable.fields.add("bangsa", gb.String, 30)
htable.fields.add("pendidikan", gb.String, 30)
htable.fields.add("jurusan", gb.String, 30)
htable.fields.add("tahun", gb.String, 30)
htable.fields.add("nilai", gb.String, 30)
htable.fields.add("no", gb.String, 30)
htable.primarykey = ["nop"]
htable.update
END IF

ELSE
.db.Close
.db.Name = dbname
.db.Open
END IF
END WITH
bersihin()
tampilkan()
sql = "select count(*)as jml from calon"
rs = db.Exec(sql)
Label2.Text = "Jumlah Data:" & rs!jml
END
PUBLIC SUB Form_Close()
  IF Exist(flname) THEN KILL flname
 

END

PUBLIC SUB TableView1_Data(Row AS Integer, Column AS Integer)

  DIM arrtable[17] AS String
arrtable[0] = "nop"
arrtable[1] = "nama"
arrtable[2] = "tempat"
arrtable[3] = "tgl"
arrtable[4] = "jk"
arrtable[5] = "pekerjaan"
arrtable[6] = "alamat"
arrtable[7] = "agama"
arrtable[8] = "tinggi"
arrtable[9] = "berat"
arrtable[10] = "suku"
arrtable[11] = "bangsa"
arrtable[12] = "pendidikan"
arrtable[13] = "jurusan"
arrtable[14] = "tahun"
arrtable[15] = "nilai"
arrtable[16] = "no"


WITH Module1
.rsF.MoveTo(row)
TableView1.Data.Text = Str(.rsF[arrtable[column]])
END WITH

END

PUBLIC SUB TableView1_Click()

txtnomor.Text = TableView1[TableView1.row, 0].Text
txtnama.Text = TableView1[TableView1.row, 1].Text
txttempat.Text = TableView1[TableView1.row, 2].Text
txttgl.Text = TableView1[TableView1.row, 3].Text
cmbjk.Text = TableView1[TableView1.row, 4].Text
txtpekerjaan.Text = TableView1[TableView1.row, 5].Text
txtalamat.Text = TableView1[TableView1.row, 6].Text
cmbagama.Text = TableView1[TableView1.row, 7].Text
cmbtinggi.Text = TableView1[TableView1.row, 8].Text
cmbberat.Text = TableView1[TableView1.row, 9].Text
cmbsuku.Text = TableView1[TableView1.row, 10].Text
cmbbangsa.Text = TableView1[TableView1.row, 11].Text
cmbpendidikan.Text = TableView1[TableView1.row, 12].Text
cmbjurusan.Text = TableView1[TableView1.row, 13].Text
cmbtahun.Text = TableView1[TableView1.row, 14].Text
txtnilai.Text = TableView1[TableView1.row, 15].Text
txtno.Text = TableView1[TableView1.row, 16].Text


aturtombol(TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE)
aturtext(TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE)
CATCH
message.Info("Data Masih Kosong", "OK")

END



PUBLIC SUB btntambah_Click()

  bersihin()
aturtext(TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE)
TableView1.Enabled = FALSE
txtnomor.setfocus


END

PUBLIC SUB btnsimpan_Click()

  IF txtnomor.Text = "" OR txtnama.Text = "" OR txttempat.Text = "" OR txttgl.Text = "" OR cmbjk.Text = "" OR txtpekerjaan.Text = "" OR txtalamat.Text = "" OR cmbagama.Text = "" OR cmbtinggi.Text = "" OR cmbberat.Text = "" OR cmbsuku.Text = "" OR cmbbangsa.Text = "" OR cmbpendidikan.Text = "" OR cmbjurusan.Text = "" OR cmbtahun.Text = "" OR txtnilai.Text = "" OR txtno.Text = "" THEN
 Message.Warning("Data belum lengkap", "OK")
 ELSE
 
WITH Module1
sql = "insert into calon values ('" & txtnomor.Text & "', '" & txtnama.Text & "', '" & txttempat.Text & "', '" & txttgl.Text & "', '" & cmbjk.Text & "', '" & txtpekerjaan.Text & "', '" & txtalamat.Text & "', '" & cmbagama.Text & "', '" & cmbtinggi.Text & "', '" & cmbberat.Text & "', '" & cmbsuku.Text & "', '" & cmbbangsa.Text & "', '" & cmbpendidikan.Text & "', '" & cmbjurusan.Text & "', '" & cmbtahun.Text & "', '" & txtnilai.Text & "', '" & txtno.Text & "')"
.db.Exec(sql)
tampilkan()
TableView1.Enabled = TRUE
aturtombol(TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE)
txtcari.Enabled = TRUE

END WITH

ENDIF


END

PUBLIC SUB btncari_Click()

  sql = "select * from calon where nop='" & txtcari.Text & "'"
rsF = Module1.db.Exec(sql)
txtnomor.Text = rsF!nop
txtnama.Text = rsF!nama
txtalamat.Text = rsF!tempat
txttgl.Text = rsF!tgl
cmbjk.Text = rsF!jk
txtpekerjaan.Text = rsF!pekerjaan
txtalamat.Text = rsF!alamat
cmbagama.Text = rsF!agama
cmbtinggi.Text = rsF!tinggi
cmbberat.Text = rsF!berat
cmbsuku.Text = rsF!suku
cmbbangsa.Text = rsF!bangsa
cmbpendidikan.Text = rsF!pendidikan
cmbjurusan.Text = rsF!jurusan
cmbtahun.Text = rsF!tahun
txtnilai.Text = rsF!nilai
txtno.Text = rsF!no


txtnomor.SetFocus
END

PUBLIC SUB txtcari_GotFocus()

  txtcari.Text = "" 
END




PUBLIC SUB btnhapus_Click()

  SELECT Message.Question("Yakin Anda Menghapus", "ya", "tidak")
CASE 1
sql = "delete from calon where nop='" & txtnomor.Text & "'"
Module1.db.Exec(sql)
tampilkan()
IF NOT ERROR THEN
  Message.Info("Data Berhasil Dihapus", "ok")
  tampilkan
  ENDIF
CASE 2
txtcari.setfocus
END SELECT
btnhapus.Enabled = TRUE
btnubah.Enabled = TRUE
bersihin()
tampilkan()


END

PUBLIC SUB btnubah_Click()

  sql = "update calon set nop ='" & txtnomor.Text & "',nama='" & txtnama.Text & "',tempat='" & txttempat.Text & "',tgl='" & txttgl.Text & "',jk='" & cmbjk.Text & "',pekerjaan='" & txtpekerjaan.Text & "',alamat='" & txtalamat.Text & "',agama='" & cmbagama.Text & "',tinggi='" & cmbtinggi.Text & "',berat='" & cmbberat.Text & "',suku='" & cmbsuku.Text & "',bangsa='" & cmbbangsa.Text & "',jurusan='" & cmbjurusan.Text & "',tahun='" & cmbtahun.Text & "',nilai='" & txtnilai.Text & "',no='" & txtno.Text & "'"
module1.db.Exec(sql)
tampilkan()
IF NOT ERROR THEN
  Message.Info("data telah terubah")
  ENDIF
  FINALLY
CATCH
message.Error(DConv(Error.Text))

tampilkan()
aturtombol(TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE)
END


PUBLIC SUB header(prn AS Boolean)
 
PRINT #hfile, "<html>"
PRINT #hfile, "<head><title>Identitas Calon/title></head>"
PRINT #hfile, "<body"
  IF prn = TRUE THEN PRINT #hFile, " onload='window.print()'"
PRINT #hfile, ">"
PRINT #hfile, "<table border='0' align= center>"
PRINT #hfile, "<tr"
PRINT #hfile, "<td colspan='18'align='center'bgcolor='blue>"
PRINT #hfile, "<h3><font face='lucida sans'color='white'>Data Identitas Calon</font></h3>"
PRINT #hfile, "</td>"
PRINT #hfile, "</tr>"
PRINT #hfile, "<td width='35%'align='center'bgcolor='gray'<b>Nomor Peserta</b></td>"
PRINT #hfile, "<td align='center'bgcolor='yellow'<b>Nama</b></td>"
PRINT #hfile, "<td align='center'bgcolor='yellow'<b>Tempat</b></td>"
PRINT #hfile, "<td align='center'bgcolor='yellow'<b>Tanggal Lahir</b></td>"
PRINT #hfile, "<td align='center'bgcolor='yellow'<b>Jenis Kelamin</b></td>"
PRINT #hfile, "<td align='center'bgcolor='yellow'<b>Pekerjaan</b></td>"
PRINT #hfile, "<td align='center'bgcolor='yellow'<b>Alamat Lengkap Calon</b></td>"
PRINT #hfile, "<td align='center'bgcolor='yellow'<b>Agama</b></td>"
PRINT #hfile, "<td align='center'bgcolor='yellow'<b>Tinggi Badan</b></td>"
PRINT #hfile, "<td align='center'bgcolor='yellow'<b>Berat Badan</b></td>"
PRINT #hfile, "<td align='center'bgcolor='yellow'<b>Suku</b></td>"
PRINT #hfile, "<td align='center'bgcolor='yellow'<b>Bangsa</b></td>"
PRINT #hfile, "<td align='center'bgcolor='yellow'<b>Pendidikan Terakhir</b></td>"
PRINT #hfile, "<td align='center'bgcolor='yellow'<b>Jurusan</b></td>"
PRINT #hfile, "<td align='center'bgcolor='yellow'<b>Tahun Lulus</b></td>"
PRINT #hfile, "<td align='center'bgcolor='yellow'<b>Nilai Nem/Huan</b></td>"
PRINT #hfile, "<td align='center'bgcolor='yellow'<b>Nomor Hp</b></td>"

            
 
END

PUBLIC SUB content(p1 AS String, p2 AS String, p3 AS String, p4 AS String, p5 AS String, p6 AS String, p7 AS String, p8 AS String, p9 AS String, p10 AS String, p11 AS String, p12 AS String, p13 AS String, p14 AS String, p15 AS String, p16 AS String, p17 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, "<td >" & p5 & "</td>"
PRINT #hfile, "<td >" & p6 & "</td>"
PRINT #hfile, "<td >" & p7 & "</td>"
PRINT #hfile, "<td >" & p8 & "</td>"
PRINT #hfile, "<td >" & p9 & "</td>"
PRINT #hfile, "<td >" & p10 & "</td>"
PRINT #hfile, "<td >" & p11 & "</td>"
PRINT #hfile, "<td >" & p12 & "</td>"
PRINT #hfile, "<td >" & p13 & "</td>"
PRINT #hfile, "<td >" & p14 & "</td>"
PRINT #hfile, "<td >" & p15 & "</td>"
PRINT #hfile, "<td >" & p16 & "</td>"
PRINT #hfile, "<td >" & p17 & "</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
  .rsF = .db.Exec("select * from calon order by nop")
  IF .rsF.count <> 0 THEN
  IF Exist(flname) THEN KILL flname
  OPEN flname FOR WRITE CREATE AS #hfile
  header(prn)
  i = 0
  WHILE i < .rsF.Count
  content(CStr(.rsF!nop), CStr(.rsF!nama), CStr(.rsF!tempat), CStr(.rsF!tgl), CStr(.rsF!jk), CStr(.rsF!pekerjaan), CStr(.rsF!alamat), CStr(.rsF!agama), CStr(.rsF!tinggi), CStr(.rsF!berat), CStr(.rsF!suku), CStr(.rsF!bangsa), CStr(.rsF!pendidikan), CStr(.rsF!jurusan), CStr(.rsF!tahun), CStr(.rsF!nilai), CStr(.rsF!no))
  i = i + 1
  .rsF.MoveNext
  WEND
  footer
 CLOSE #hFile
      Fpreview.SetPath(flname)
      Fpreview.ShowModal
  ENDIF
  END WITH
  END

PUBLIC SUB btnbatal_Click()

  aturtombol(TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE)
  txtcari.Enabled = TRUE
  bersihin()
  TableView1.Enabled = TRUE

END


PUBLIC SUB btnkeluar_Click()

  ME.Close

END

PUBLIC SUB gbtn_Click()

   SELECT CASE LAST.tag
    CASE 1
      printit(FALSE)

    CASE 2
      printit(TRUE)

  END SELECT

END


3.Buatlah WebBrowser dengan Klik kanan pada form lalau new, beri nama dengan Fpreview








Lalu copy paste script dibawah ini

' Gambas class file


PUBLIC SUB btnoke_Click()

  ME.Close
 

END

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 - 32, 88, 32)

END

PUBLIC SUB SetPath(sPath AS String)

  WebBrowser1.Path = sPath

END

Selesai. . . . .. . 
semoga bermanfaat jangan lupa comentnya. . .
By Amex





0 comments:

Post a Comment