LAMPIRAN A. LISTING PROGRAM

Size: px
Start display at page:

Download "LAMPIRAN A. LISTING PROGRAM"

Transcription

1 78 LAMPIRAN A. LISTING PROGRAM Form Login.vb Imports MySql Imports MySql.Data Imports MySql.Data.MySqlClient Public Class FormLogIn Private Sub BtnLoginClick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnLogin.Click If UsernameTxt.Text = String.Empty Then MsgBox("Username tidak boleh kosong..") UsernameTxt.Focus() Exit Sub Dim dr As MySqlDataReader dr = fetchdata("select COUNT(*) FROM user WHERE username='" & UsernameTxt.Text & "' AND password=md5('" & PassTxt.Text & "');") If dr.getvalue(0) > 0 Then FormUtama.StatusLbl.Text = UsernameTxt.Text buttoncond(true) Me.Close() MsgBox("Username tidak cocok dengan password") Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Me.Close() End Class Form Image Processing.vb Module ImageProcessing Dim xmask(,) As Single = New Single(,) {{-1, 0, 1}, _ {-2, 0, 2}, _ {-1, 0, 1}} Dim ymask(,) As Single = New Single(,) {{1, 2, 1}, _ {0, 0, 0}, _ {-1, -2, -1}} Public Function mini(byval a As Integer, ByVal b As Integer) As Integer Return IIf(a > b, b, a) End Function Public Function maks(byval a As Integer, ByVal b As Integer) As Integer Return IIf(a > b, a, b) End Function Public Function SobelDetect(ByVal inimg As Bitmap) As Bitmap Dim out As New Bitmap(inImg.Width, inimg.height, Imaging.PixelFormat.Format32bppArgb) For y As Integer = 0 To inimg.height - 1 For x As Integer = 0 To inimg.width - 1 Dim gradx As Single = 0 Dim grady As Single = 0 Dim grad As Single = 0 If x = 0 Or y = 0 Or x = inimg.width - 1 Or y = inimg.height - 1 Then grad = 0 For i As Integer = -1 To 1 For j As Integer = -1 To 1 Dim p As Color = inimg.getpixel(x + i, y + j)

2 79 Dim intensity As Single = 0.333F * (CInt(p.R) + p.g + p.b) gradx += intensity * xmask(i + 1, j + 1) grady += intensity * ymask(i + 1, j + 1) Menghitung gradient deteksi tepi grad = (Math.Abs(gradX) + Math.Abs(gradY)) grad = Math.Max(0, grad) grad = Math.Min(255, grad) out.setpixel(x, y, Color.FromArgb(CInt(grad), CInt(grad), CInt(grad))) Return out End Function Membuat Rumus Binerisasi Public Function Binerisasi(ByVal inimg As Bitmap) As Bitmap Dim x, y, y2, x2 As Integer Dim gray As Integer Dim out As New Bitmap(inImg.Width, inimg.height, Imaging.PixelFormat.Format32bppArgb) Dim localthreshold As Integer For y = 0 To inimg.height - 1 Step For x = 0 To inimg.width - 1 Step 16 localthreshold = 0 With inimg.getpixel(x2, y2) gray = 0.3 *.R *.G *.B End With gray = 0.3 *.R *.G *.B End With If gray <= localthreshold Then out.setpixel(x2, y2, Color.FromArgb(255, 0, 0, 0)) out.setpixel(x2, y2, Color.FromArgb(255, 255, 255, 255)) Return out End Function Matriks Tampilan buat Ekstraksi Fitur Private Sub updatemat(byref m1 As Integer(,), ByRef m2 As Integer(,), ByVal h As Long, ByVal w As Long) For y = 0 To h - 1 For x = 0 To w - 1 m1(y, x) = m2(y, x) Ekstraksi Fitur Public Function Haar(ByVal inimg As Bitmap) Dim out As New Bitmap(inImg.Width, inimg.height, Imaging.PixelFormat.Format24bppRgb) Dim mins, maxs As Integer Dim threshold As Integer threshold = 0 mins = 255 maxs = 0 Dim gambar As Bitmap = inimg Dim matriks = New Integer(inImg.Height + 2, inimg.width + 2) {} Dim res = New Integer(inImg.Height + 2, inimg.width + 2) {} Dim s As Integer For y = 0 To inimg.height - 1 For x = 0 To inimg.width - 1

3 80 With gambar.getpixel(x, y) s = (CInt(.R) +.G +.B) * 0.3 matriks(y, x) = s End With Menentukan level wavelet yang diinginkan Dim lv As Integer lv = 4 Perhitungan wavelet For h = 0 To lv For y = 0 To inimg.height / Math.Pow(2, h) - 1 Dim half As Long half = inimg.width / Math.Pow(2, h) If half Mod 2 <> 0 Then half += 1 For x = 0 To half Step 2 res(y, x / 2) = (matriks(y, x) + matriks(y, x + 1)) / 2 Dim c As Integer For x = half To 2 * half Step 2 res(y, x / 2) = (res(y, c) - matriks(y, c * 2)) updatemat(matriks, res, inimg.height, inimg.width) For x = 0 To inimg.width / Math.Pow(2, h) - 1 Dim half As Long half = inimg.height / Math.Pow(2, h) If half Mod 2 <> 0 Then half -= 1 For y = 0 To half Step 2 res(y / 2, x) = (matriks(y, x) + matriks(y + 1, x)) / 2 Dim c As Integer c = 0 updatemat(matriks, res, inimg.height, inimg.width) For y = 0 To inimg.height - 1 For x = 0 To inimg.width - 1 Dim tmp As Integer tmp = res(y, x) out.setpixel(x, y, Color.FromArgb(255, tmp, tmp, tmp)) Dim k As Single Dim m As Integer Dim n As Integer m = 0 n = 0 For y = 0 To inimg.height / Math.Pow(2, lv) - 1 For x = 0 To inimg.width / Math.Pow(2, lv) - 1 If res(y, x) > 0 Then m += res(y, x) n += -res(y, x) k = maks(math.abs(m), Math.Abs(n)) FormSidik.HasilTxt.Clear() THasil = "" For y = 0 To inimg.height / Math.Pow(2, lv) - 1 For x = 0 To inimg.width / Math.Pow(2, lv) - 1

4 81 Dim tmp As Single tmp = Math.Round(res(y, x) / k, 6) FormSidik.HasilTxt.Text &= tmp & " " THasil &= tmp & " " 'Return out FormSidikUji.HasilTxt.Clear() THasil2 = "" For y = 0 To inimg.height / Math.Pow(2, lv) - 1 For x = 0 To inimg.width / Math.Pow(2, lv) - 1 Dim tmp As Single tmp = Math.Round(res(y, x) / k, 6) FormSidikUji.HasilTxt.Text &= tmp & " " THasil2 &= tmp & " " Return out End Function End Module Form Pengguna.vb Imports MySql Imports MySql.Data Imports MySql.Data.MySqlClient Public Class FormPengguna Public Sub buttonstate1() SimpanBtn.Enabled = True UbahBtn.Enabled = False BatalBtn.Enabled = False HapusBtn.Enabled = False Public Sub buttonstate2() SimpanBtn.Enabled = False UbahBtn.Enabled = True BatalBtn.Enabled = True HapusBtn.Enabled = True Public Sub newid() Dim ds As New DataSet Dim dr As MySqlDataReader dr = fetchdata("select COUNT(*) FROM user;") Dim n As Integer Dim temp As Boolean = False n = dr.item(0) While temp = False Dim kd As String kd = "U" & n.tostring dr = fetchdata("select COUNT(*) FROM user WHERE id='" & kd & "'") If (dr.item(0) > 0) Then temp = True End While KdPenggunaTxt.Text = "U" & n.tostring Public Sub filldg(byval q As String) Dim dt As DataTable

5 82 dt = FetchDataTable(q) If dt.rows.count = 0 Then MsgBox("Data pengguna tidak ditemukan") DataGridView1.DataSource = dt Private Sub FormPengguna_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load newid() buttonstate1() filldg("select * FROM user") Private Sub BatalBtn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BatalBtn.Click newid() UsernameTxt.Clear() PassTxt.Clear() ConfPassTxt.Clear() buttonstate1() DataGridView1.ClearSelection() UsernameTxt.Focus() Private Sub SimpanBtn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SimpanBtn.Click If UsernameTxt.Text = "" Then MsgBox("Isikan nama pengguna") UsernameTxt.Focus() If ConfPassTxt.Text <> PassTxt.Text Then MsgBox("Password tidak sesuai") ConfPassTxt.Focus() Dim dr As MySqlDataReader dr = fetchdata("select COUNT(*) FROM user WHERE username='" & UsernameTxt.Text & "'") If (dr.item(0) > 0) Then MsgBox("Nama pengguna sudah terdaftar") Exit Sub RunQuery("INSERT INTO user(id, username, password) VALUES ('" & KdPenggunaTxt.Text & "','" & UsernameTxt.Text & "',MD5('" & PassTxt.Text & "'))") newid() UsernameTxt.Clear() PassTxt.Clear() ConfPassTxt.Clear() UsernameTxt.Focus() Private Sub UbahBtn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles UbahBtn.Click If UsernameTxt.Text = "" Then MsgBox("Nama pengguna tidak boleh kosong") RunQuery("UPDATE user SET username='" & UsernameTxt.Text & "', password=md5('" & PassTxt.Text & "') WHERE id='" & KdPenggunaTxt.Text & "'") filldg("select * FROM user") newid() UsernameTxt.Clear() PassTxt.Clear() ConfPassTxt.Clear() buttonstate1() UsernameTxt.Focus() Private Sub HapusBtn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles HapusBtn.Click If MsgBox("Apakah anda benar - benar yakin ingin menghapus user ini?", MsgBoxStyle.YesNo) = vbyes Then RunQuery("DELETE FROM user WHERE id='" & KdPenggunaTxt.Text & "'")

6 83 filldg("select * FROM user") newid() UsernameTxt.Clear() PassTxt.Clear() ConfPassTxt.Clear() buttonstate1() UsernameTxt.Focus() Private Sub DataGridView1_CellDoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellDoubleClick buttonstate2() KdPenggunaTxt.Text = DataGridView1.SelectedRows(0).Cells(0).Value UsernameTxt.Text = DataGridView1.SelectedRows(0).Cells(1).Value PassTxt.Focus() End Class Form Sidik Jari.vb Imports MySql Imports MySql.Data Imports MySql.Data.MySqlClient Public Class FormSidik Private Sub resetstate() btn_start() ClearBtn.PerformClick() OpenFileDialog1.FileName = "" NamaPemilikTxt.Clear() AlamatTxt.Clear() JenisKelaminCombo.SelectedIndex = -1 filldg("select * FROM identitas") TxtOutput.Clear() BrowseBtn.Focus() Public Sub newid() Dim ds As New DataSet Dim dr As MySqlDataReader dr = fetchdata("select COUNT(*) FROM identitas;") Dim n As Integer Dim temp As Boolean = False n = dr.item(0) + 1 While temp = False Dim kd As String kd = "ID" & n.tostring dr = fetchdata("select COUNT(*) FROM identitas WHERE id='" & kd & "'") If (dr.item(0) > 0) Then n = n + 1 temp = True End While Public Sub filldg(byval q As String) Dim dt As DataTable dt = FetchDataTable(q) If dt.rows.count = 0 Then MsgBox("Data Sidik jari tidak ditemukan") DataGridView1.DataSource = dt

7 84 Private Sub txt_clear() IDTxt.Clear() NamaFileTxt.Clear() NamaPemilikTxt.Clear() JenisKelaminCombo.SelectedIndex = -1 AlamatTxt.Clear() HasilTxt.Clear() TxtOutput.Clear() Private Sub btn_start() BrowseBtn.Enabled = True ClearBtn.Enabled = True ProsesBtn.Enabled = False SimpanBtn.Enabled = False UbahBtn.Enabled = False BatalBtn.Enabled = False HapusBtn.Enabled = False Public Sub buttonstate1() ClearBtn.Enabled = True BrowseBtn.Enabled = False ProsesBtn.Enabled = False SimpanBtn.Enabled = True UbahBtn.Enabled = False BatalBtn.Enabled = False HapusBtn.Enabled = False Public Sub buttonstate2() ClearBtn.Enabled = False BrowseBtn.Enabled = False ProsesBtn.Enabled = False SimpanBtn.Enabled = False UbahBtn.Enabled = True BatalBtn.Enabled = True HapusBtn.Enabled = True Private Sub BrowseBtn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BrowseBtn.Click With OpenFileDialog1.CheckFileExists = True.CheckPathExists = True.ShowHelp = False.Filter = "Gambar Bitmap (*.bmp) *.bmp Gambar Jpeg (*.jpg) *.jpg Gambar Gift (*.gif) *.gif".showdialog() End With Private Sub OpenFileDialog1_FileOk(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles OpenFileDialog1.FileOk OriginalPic.ImageLocation = OpenFileDialog1.FileName FileNameLbl.Text = OpenFileDialog1.FileName ProsesBtn.Enabled = True Private Sub ProsesBtn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ProsesBtn.Click SobelPic.Image = SobelDetect(OriginalPic.Image) BinaryPic.Image = Binerisasi(SobelPic.Image) HaarPic.Image = Haar(BinaryPic.Image) BrowseBtn.Enabled = False SimpanBtn.Enabled = True Private Sub ClearBtn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ClearBtn.Click btn_start() txt_clear() OriginalPic.Image = Nothing FileNameLbl.Text = "- No File Selected -"

8 85 SobelPic.Image = Nothing BinaryPic.Image = Nothing HaarPic.Image = Nothing Private Sub SimpanBtn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SimpanBtn.Click If Not CekOutput() Then MsgBox("Target Output dari sidik jari tidak valid, silahkan periksa kembali") TxtOutput.Focus() Exit Sub If NamaPemilikTxt.Text = "" Then MsgBox("Isi nama pemilik sidik jari") NamaPemilikTxt.Focus() If AlamatTxt.Text = "" Then MsgBox("Isi alamat dari pemilik sidik jari") AlamatTxt.Focus() If JenisKelaminCombo.Text = "" Then MsgBox("Pilih jenis kelamin dari pemilik sidik jari") JenisKelaminCombo.Focus() Dim Dr As MySql.Data.MySqlClient.MySqlDataReader Dim tid As String = "" Dr = fetchdata("select id from identitas where nilai_fitur='" & HasilTxt.Text & "'") If Dr.HasRows Then MsgBox("Nilai fitur telah terdaftar sebelumnya, pastikan anda tidak memasukkan gambar yang sama berulang kali!") Dr.Close() Exit Sub Dr.Close() Dr = fetchdata("select id from identitas order by id desc limit 0,1") If Dr.HasRows Then Dr.Read() tid = Dr(0) + 1 Dr.Close() NamaFileTxt.Text = tid & "SidikJari.bmp" RunQuery("INSERT INTO identitas(nama,alamat,jenis_kelamin,nilai_fitur,nama_file,target) VALUES ('" & NamaPemilikTxt.Text & "','" & AlamatTxt.Text & "','" & JenisKelaminCombo.Text & "','" & HasilTxt.Text & "','" & NamaFileTxt.Text & "','" & TxtOutput.Text & "')") My.Computer.FileSystem.CopyFile(OpenFileDialog1.FileName, "images/" & NamaFileTxt.Text) resetstate() Private Function CekOutput() As Boolean CekOutput = False Dim cek As String If TxtOutput.Text = String.Empty Then Return False For i = 1 To Len(TxtOutput.Text) cek = Mid(TxtOutput.Text, i, 1) If (cek <> "0") And (cek <> "1") Then Return False Return True End Function Private Sub FormSidik_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load btn_start() 'newid() filldg("select * FROM identitas") Private Sub DataGridView1_CellDoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellDoubleClick

9 86 buttonstate2() IDTxt.Text = DataGridView1.SelectedRows(0).Cells(0).Value NamaPemilikTxt.Text = DataGridView1.SelectedRows(0).Cells(1).Value AlamatTxt.Text = DataGridView1.SelectedRows(0).Cells(2).Value JenisKelaminCombo.SelectedItem = DataGridView1.SelectedRows(0).Cells(3).Value HasilTxt.Text = DataGridView1.SelectedRows(0).Cells(4).Value NamaFileTxt.Text = DataGridView1.SelectedRows(0).Cells(5).Value FileNameLbl.Text = NamaFileTxt.text OriginalPic.ImageLocation = "images/" & NamaFileTxt.Text TxtOutput.Text = DataGridView1.SelectedRows(0).Cells(6).Value NamaFileTxt.Focus() Private Sub BatalBtn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BatalBtn.Click resetstate() Private Sub HapusBtn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles HapusBtn.Click If MsgBox("Apakah anda benar - benar yakin ingin menghapus data identitas ini?", MsgBoxStyle.YesNo) = vbyes Then My.Computer.FileSystem.DeleteFile("images/" & NamaFileTxt.Text) RunQuery("DELETE FROM identitas WHERE id='" & IDTxt.Text & "'") filldg("select * FROM identitas") resetstate() Private Sub UbahBtn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles UbahBtn.Click If NamaPemilikTxt.Text = "" Then MsgBox("Isi nama pemilik sidik jari") NamaPemilikTxt.Focus() If AlamatTxt.Text = "" Then MsgBox("Isi alamat dari pemilik sidik jari") AlamatTxt.Focus() If JenisKelaminCombo.Text = "" Then MsgBox("Pilih jenis kelamin dari pemilik sidik jari") JenisKelaminCombo.Focus() RunQuery("UPDATE identitas SET nama='" & NamaPemilikTxt.Text & "', alamat='" & AlamatTxt.Text & "', jenis_kelamin='" & JenisKelaminCombo.Text & "', target='" & TxtOutput.Text & "' WHERE id='" & IDTxt.Text & "'") resetstate() End Class Form Sidik Uji.vb Imports MySql Imports MySql.Data Imports MySql.Data.MySqlClient Public Class FormSidikUji Private Sub resetstate() btn_start() ClearBtn.PerformClick() OpenFileDialog1.FileName = "" NamaPemilikTxt.Clear() AlamatTxt.Clear() JenisKelaminCombo.SelectedIndex = -1 filldg("select * FROM identitas_uji") TxtOutput.Clear() BrowseBtn.Focus() Public Sub newid() Dim ds As New DataSet Dim dr As MySqlDataReader dr = fetchdata("select COUNT(*) FROM identitas_uji;")

10 87 Dim n As Integer Dim temp As Boolean = False n = dr.item(0) + 1 While temp = False Dim kd As String kd = "ID" & n.tostring dr = fetchdata("select COUNT(*) FROM identitas_uji WHERE id='" & kd & "'") If (dr.item(0) > 0) Then n = n + 1 temp = True End While IDTxt.Text = "SJ" & n.tostring NamaFileTxt.Text = IDTxt.Text & "SidikJari.bmp" Public Sub filldg(byval q As String) Dim dt As DataTable dt = FetchDataTable(q) If dt.rows.count = 0 Then MsgBox("Data Sidik jari tidak ditemukan") DataGridView1.DataSource = dt Private Sub txt_clear() IDTxt.Clear() NamaFileTxt.Clear() NamaPemilikTxt.Clear() JenisKelaminCombo.SelectedIndex = -1 AlamatTxt.Clear() HasilTxt.Clear() TxtOutput.Clear() Private Sub btn_start() BrowseBtn.Enabled = True ClearBtn.Enabled = True ProsesBtn.Enabled = False SimpanBtn.Enabled = False UbahBtn.Enabled = False BatalBtn.Enabled = False HapusBtn.Enabled = False Public Sub buttonstate1() ClearBtn.Enabled = True BrowseBtn.Enabled = False ProsesBtn.Enabled = False SimpanBtn.Enabled = True UbahBtn.Enabled = False BatalBtn.Enabled = False HapusBtn.Enabled = False Public Sub buttonstate2() ClearBtn.Enabled = False BrowseBtn.Enabled = False ProsesBtn.Enabled = False SimpanBtn.Enabled = False UbahBtn.Enabled = True BatalBtn.Enabled = True HapusBtn.Enabled = True Private Sub BrowseBtn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BrowseBtn.Click

11 88 With OpenFileDialog1.CheckFileExists = True.CheckPathExists = True.ShowHelp = False.Filter = "Gambar Bitmap (*.bmp) *.bmp Gambar Jpeg (*.jpg) *.jpg Gambar Gift (*.gif) *.gif".showdialog() End With Private Sub OpenFileDialog1_FileOk(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles OpenFileDialog1.FileOk OriginalPic.ImageLocation = OpenFileDialog1.FileName FileNameLbl.Text = OpenFileDialog1.FileName ProsesBtn.Enabled = True Private Sub ProsesBtn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ProsesBtn.Click SobelPic.Image = SobelDetect(OriginalPic.Image) BinaryPic.Image = Binerisasi(SobelPic.Image) HaarPic.Image = Haar(BinaryPic.Image) HasilTxt.Text = THasil2 BrowseBtn.Enabled = False SimpanBtn.Enabled = True Private Sub ClearBtn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ClearBtn.Click btn_start() txt_clear() OriginalPic.Image = Nothing FileNameLbl.Text = "- No File Selected -" SobelPic.Image = Nothing BinaryPic.Image = Nothing HaarPic.Image = Nothing newid() Private Sub SimpanBtn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SimpanBtn.Click If Not CekOutput() Then MsgBox("Target Output dari sidik jari tidak valid, silahkan periksa kembali") TxtOutput.Focus() Exit Sub If NamaPemilikTxt.Text = "" Then MsgBox("Isi nama pemilik sidik jari") NamaPemilikTxt.Focus() If AlamatTxt.Text = "" Then MsgBox("Isi alamat dari pemilik sidik jari") AlamatTxt.Focus() If JenisKelaminCombo.Text = "" Then MsgBox("Pilih jenis kelamin dari pemilik sidik jari") JenisKelaminCombo.Focus() Dim Dr As MySql.Data.MySqlClient.MySqlDataReader Dim tid As String = "" Dr = fetchdata("select id from identitas_uji where nilai_fitur='" & HasilTxt.Text & "'") If Dr.HasRows Then MsgBox("Nilai fitur telah terdaftar sebelumnya, pastikan anda tidak memasukkan gambar yang sama berulang kali!") Dr.Close() Exit Sub Dr.Close() Dr = fetchdata("select id from identitas_uji order by id desc limit 0,1") If Dr.HasRows Then Dr.Read() tid = Dr(0) + 1 Dr.Close()

12 89 RunQuery("INSERT INTO identitas_uji(nama,alamat,jenis_kelamin,nilai_fitur,nama_file,target) VALUES ('" & NamaPemilikTxt.Text & "','" & AlamatTxt.Text & "','" & JenisKelaminCombo.Text & "','" & HasilTxt.Text & "','" & NamaFileTxt.Text & "','" & TxtOutput.Text & "')") My.Computer.FileSystem.CopyFile(OpenFileDialog1.FileName, "image_uji/" & NamaFileTxt.Text) resetstate() Private Function CekOutput() As Boolean CekOutput = False Dim cek As String If TxtOutput.Text = String.Empty Then Return False For i = 1 To Len(TxtOutput.Text) cek = Mid(TxtOutput.Text, i) Return True End Function Form Memorisasi.vb Public Class FormMemorisasi Private Sub FormMemorisasi_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Dim DT As New System.Data.DataTable DT = FetchDataTable("select * from memorisasi") DataGridView1.DataSource = DT Dim DR As MySql.Data.MySqlClient.MySqlDataReader Dim tcount As Long = 0 Dim tbenar As Long = 0 DR = fetchdata("select count(*) from memorisasi") If DR.HasRows Then DR.Read() tcount = DR(0) DR.Close() DR = fetchdata("select count(*) from memorisasi where hasil='benar'") If DR.HasRows Then DR.Read() tbenar = DR(0) DR.Close() If tcount > 0 Then tcount = (tbenar / tcount) * 100 tcount = 0 ToolStripLabel1.Text = "Persentase Memorisasi : " & tcount & " %" End Class Form Generalisasi.vb Public Class FormGeneralisasi Private Sub FormGeneralisasi_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Dim DT As New System.Data.DataTable DT = FetchDataTable("select * from generalisasi") DataGridView1.DataSource = DT Dim DR As MySql.Data.MySqlClient.MySqlDataReader Dim tcount As Long = 0 Dim tbenar As Long = 0

13 90 DR = fetchdata("select count(*) from generalisasi") If DR.HasRows Then DR.Read() tcount = DR(0) DR.Close() DR = fetchdata("select count(*) from generalisasi where hasil='benar'") If DR.HasRows Then DR.Read() tbenar = DR(0) DR.Close() If tcount > 0 Then tcount = (tbenar / tcount) * 100 tcount = 0 ToolStripLabel1.Text = "Persentase Generalisasi : " & tcount & " %" End Class Form TCValidation.vb Public Class FormTCValidation Private Structure ArrGroup Dim ID As Integer Dim Nilai As String Dim Target As String Dim Pemilik As String End Structure Private Structure ArrError Dim Group As Integer Dim nerror As Double End Structure Private DataCount As Integer Private GCount As Integer Private ArrE1 As List(Of ArrError) Private ArrG1 As List(Of ArrGroup) Private ArrG2 As List(Of ArrGroup) Private ArrG3 As List(Of ArrGroup) Private ArrG4 As List(Of ArrGroup) Private ArrG5 As List(Of ArrGroup) Private ArrG6 As List(Of ArrGroup) Private ArrG7 As List(Of ArrGroup) Private ArrG8 As List(Of ArrGroup) Private ArrG9 As List(Of ArrGroup) Private ArrG10 As List(Of ArrGroup) Private ArrAll As List(Of ArrGroup) Private ArrGAll() As List(Of ArrGroup) Private ProgressCount As Integer Private Sub FormTCValidation_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Clear() Label2.Text = ActiveTrain Private Sub Clear() Dim DR1 As MySql.Data.MySqlClient.MySqlDataReader DR1 = fetchdata("select count(id) from identitas") DataCount = 0 If DR1.HasRows Then DR1.Read() DataCount = DR1(0) DR1.Close()

14 91 If DataCount < 1 Then MsgBox("Data identitas kosong, proses ten fold cross validation tidak dapat dilakukan") Exit Sub ArrG1 = New List(Of ArrGroup) ArrG2 = New List(Of ArrGroup) ArrG3 = New List(Of ArrGroup) ArrG4 = New List(Of ArrGroup) ArrG5 = New List(Of ArrGroup) ArrG6 = New List(Of ArrGroup) ArrG7 = New List(Of ArrGroup) ArrG8 = New List(Of ArrGroup) ArrG9 = New List(Of ArrGroup) ArrG10 = New List(Of ArrGroup) ArrAll = New List(Of ArrGroup) Me.Cursor = Cursors.WaitCursor DR1 = fetchdata("select * from identitas") Dim ArrTamp As ArrGroup If DR1.HasRows Then Do While DR1.Read ArrTamp = New ArrGroup ArrTamp.ID = DR1("id") ArrTamp.Nilai = DR1("nilai_fitur") ArrTamp.Target = DR1("target") ArrTamp.Pemilik = DR1("nama") ArrAll.Add(ArrTamp) Loop DR1.Close() Me.Cursor = Cursors.Default LVError.Items.Clear() LVS.Items.Clear() Label3.Text = "" Label4.Text = "" Label5.Text = "" Label6.Text = "" Private Sub ButtonE(ByVal Stat As Boolean) Button1.Enabled = Stat Button2.Enabled = Stat Button3.Enabled = Stat Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click If DataCount < 1 Then MsgBox("Data identitas kosong, proses ten fold cross validation tidak dapat dilakukan") Exit Sub ButtonE(False) ulang: Dim RND As New Random Dim RND2 As New Random Dim i As Integer = 1 Dim j As Integer = 1 Do While i <= ArrAll.Count j = Int(RND2.(10)) Select Case j Case 1 If ArrG1.Count >= GCount Then GoTo ulang ArrG1.Add(ArrAll(i - 1)) Case 2 If ArrG2.Count >= GCount Then

15 92 GoTo ulang ArrG2.Add(ArrAll(i - 1)) Case 3 If ArrG3.Count >= GCount Then GoTo ulang ArrG3.Add(ArrAll(i - 1)) Case 4 If ArrG4.Count >= GCount Then GoTo ulang ArrG4.Add(ArrAll(i - 1)) Case 5 If ArrG5.Count >= GCount Then GoTo ulang ArrG5.Add(ArrAll(i - 1)) Case 6 If ArrG6.Count >= GCount Then GoTo ulang ArrG6.Add(ArrAll(i - 1)) Case 7 If ArrG7.Count >= GCount Then GoTo ulang ArrG7.Add(ArrAll(i - 1)) Case 8 If ArrG8.Count >= GCount Then GoTo ulang ArrG8.Add(ArrAll(i - 1)) Case 9 If ArrG9.Count >= GCount Then GoTo ulang ArrG9.Add(ArrAll(i - 1)) Case If ArrG10.Count >= GCount Then GoTo ulang ArrG10.Add(ArrAll(i - 1)) End Select i += 1 Loop j = 1 For i = 1 To 10 ShowListGroup(i, j) ButtonE(True) Private Sub ShowListGroup(ByVal tindeks As Integer, ByRef tno As Integer) Dim i As Integer Dim ArrT As New List(Of ArrGroup) Select Case tindeks Case 1 ArrT = ArrG1 Case 2 ArrT = ArrG2 Case 3 ArrT = ArrG3 Case 4 ArrT = ArrG4 Case 5 ArrT = ArrG5 Case 6 ArrT = ArrG6 Case 7 ArrT = ArrG7 Case 8

16 93 ArrT = ArrG8 Case 9 ArrT = ArrG9 Case 10 ArrT = ArrG10 End Select Dim LVI As ListViewItem For i = 0 To ArrT.Count - 1 LVI = LVS.Items.Add(tNo) LVI.SubItems.Add("S" & tindeks) LVI.SubItems.Add(ArrT(i).ID) LVI.SubItems.Add(ArrT(i).Nilai) LVI.SubItems.Add(ArrT(i).Target) LVI.SubItems.Add(ArrT(i).Pemilik) tno += 1 Private Sub Timer1_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Timer1.Tick ProgressBar1.Value = ProgressCount Label3.Text = "Step : " & ProgressCount / 10 Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click ProgressBar1.Visible = True ArrE1 = New List(Of ArrError) ReDim ArrGAll(9) ArrGAll(0) = ArrG1 ArrGAll(1) = ArrG2 ArrGAll(2) = ArrG3 ArrGAll(3) = ArrG4 ArrGAll(4) = ArrG5 ArrGAll(5) = ArrG6 ArrGAll(6) = ArrG7 ArrGAll(7) = ArrG8 ArrGAll(8) = ArrG9 ArrGAll(9) = ArrG10 ProgressCount = 0 Timer1.Start() ButtonE(False) BackgroundWorker1.RunWorkerAsync() Private Sub BackgroundWorker1_DoWork(ByVal sender As Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorker1.DoWork Dim i As Long Dim j As Long Dim Hasil As String Dim ArrTE As ArrError Dim tstep As Integer tstep = 1 Do While tstep <= 10 RunValidation(tStep) ProgressCount = Int((tStep / 10)) tstep += 1 Loop Private Sub RunValidation(ByVal nstep As Integer) Dim BL As Integer = (10 - nstep) Dim i As Integer Dim j As Integer Dim ArrTE As ArrError = New ArrError Dim Hasil As String Dim ttarget(4) As String Dim Avg_Error As Double = 0

17 94 Dim ProcCount As String = 0 For i = 0 To 9 If i <> BL Then For j = 1 To ArrGAll(i).Count ttarget(0) = Mid(ArrGAll(i)(j - 1).Target, 1, 1) ttarget(1) = Mid(ArrGAll(i)(j - 1).Target, 2, 1) ttarget(2) = Mid(ArrGAll(i)(j - 1).Target, 3, 1) ttarget(3) = Mid(ArrGAll(i)(j - 1).Target, 4, 1) ttarget(4) = Mid(ArrGAll(i)(j - 1).Target, 5, 1) Hasil = identify2(arrgall(i)(j - 1).Nilai, ActiveTrain, ttarget) Avg_Error += Hasil ProcCount += 1 ArrTE.nError = Avg_Error ArrTE.Group = nstep ArrE1.Add(ArrTE) Private Sub BackgroundWorker1_RunWorkerCompleted(ByVal sender As Object, ByVal e As System.ComponentModel.RunWorkerCompletedEventArgs) Handles BackgroundWorker1.RunWorkerCompleted Dim i As Integer Dim LVI As ListViewItem Dim BestE As Double = 1 Dim WorstE As Double = 0 Dim AvgE As Double = 0 For i = 1 To ArrE1.Count LVI = LVError.Items.Add(i) LVI.SubItems.Add("V" & i) LVI.SubItems.Add(ArrE1(i - 1).nError) If ArrE1(i - 1).nError < BestE Then BestE = ArrE1(i - 1).nError If ArrE1(i - 1).nError > WorstE Then WorstE = ArrE1(i - 1).nError AvgE += ArrE1(i - 1).nError Label3.Text = "Step : 10" Label4.Text = "Best Error Rate : " & Math.Round(BestE, 9) & ".." Label5.Text = "Worst Error Rate : " & Math.Round(WorstE, 9) & ".." Label6.Text = "Average Error Rate : " & Math.Round(AvgE / 10, 7) & ".." ProgressBar1.Visible = False Timer1.Enabled = False ButtonE(True) Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click Clear() End Class JST.vb Imports System.Data Imports System.IO Imports System.IO.File Imports MySql Imports MySql.Data Imports MySql.Data.MySqlClient Module JST

18 95 Public time As New DateTime 'deklarasi input node, hidden node dan output node Public input_node As Long Public hidden_node As Long Public output_node As Long 'deklarasi nilai input,hidden dan output Public input_output(input_node) As Double Public output_output(output_node) As Double Public hidden_output(hidden_node) As Double 'deklarasi bobot pada hidden dan output Public hidden_weight(,) As Double Public output_weight(,) As Double 'kesalahan pada hidden dan output Public output_error(output_node) As Double Public hidden_error(hidden_node) As Double 'deklarasi laju pembelajaran, momentum dan faktor proporsional Public alpha As Double Public beta As Double Public gamma As Double Public biashm(,) As Double Public biasym(,) As Double Public biasy() As Double Public biash() As Double Public avg_err As Double Public ek As Double Public epoch_attr As Long Public max_epoch As Long Public target_error As Double Public c As Double 'momentum Public momentum As Double = 0.1 Public momentum_ih(,,) As Double Public momentum_ho(,,) As Double Public usemomentum, activation_func As Boolean Private Function sigmoid(byval x As Double) x = 1.0 / (1.0 + Math.Exp(-x)) Return x End Function Private Function sigmoidbipolar(byval x As Double) x = (2.0 / (1.0 + Math.Exp(-x))) Return x End Function Public Sub train_forward(byval kode As Long) Dim acc As Double Dim input_str As String Dim input_str_arr() As String Dim dr As MySqlDataReader dr = fetchdata("select nilai_fitur FROM identitas WHERE id='" & kode.tostring & "'") If dr.hasrows Then input_str = dr(0) MsgBox("Database gagal!") Exit Sub input_str_arr = Split(input_str) For i = 0 To input_node - 1 input_output(i) = Val(input_str_arr(i).Replace(",", "."))

19 96 For j = 0 To hidden_node - 1 acc = 0 For i = 0 To input_node - 1 acc += input_output(i) * hidden_weight(j, i) If activation_func Then 'biner hidden_output(j) = sigmoid(acc) 'bipolar hidden_output(j) = sigmoidbipolar(acc) For j = 0 To output_node - 1 acc = 0 For i = 0 To hidden_node - 1 acc += (hidden_output(i) * output_weight(j, i)) If activation_func Then 'biner output_output(j) = sigmoid(acc) 'bipolar output_output(j) = sigmoidbipolar(acc) Public Sub train_backward(byval kode As Long) Dim target_output(output_node) As Long Dim Tamp As String Dim dr As MySqlDataReader dr = fetchdata("select target FROM identitas WHERE id='" & kode.tostring & "'") If dr.hasrows Then Tamp = dr(0) For i = 1 To Len(Tamp) target_output(i - 1) = Mid(Tamp, i, 1) Dim output As Double avg_err = 0.0 ek = 0.0 If activation_func Then 'biner For i = 0 To output_node - 1 output = output_output(i) c += (avg_err) 'bipolar For i = 0 To output_node - 1 output = output_output(i) output_error(i) = (((1.0 + output) * (1.0 - output)) / 2) * (target_output(i) - output) avg_err += Math.Pow(output_output(i) - target_output(i), 2) ek += output_output(i) - target_output(i) c += (avg_err) ek /= 100 Public Sub update_weight() Dim weight_correct As Double For j = 0 To output_node - 1

20 97 For i = 0 To hidden_node - 1 weight_correct = alpha * output_error(j) * hidden_output(i) output_weight(j, i) = output_weight(j, i) + weight_correct biasy(j) -= alpha * output_error(j) Dim acc As Double Dim output As Double If activation_func Then For i = 0 To hidden_node - 1 acc = 0 For j = 0 To output_node - 1 acc = acc + (output_error(j) * output_weight(j, i)) For i = 0 To hidden_node - 1 acc = 0 For j = 0 To output_node - 1 acc = acc + (output_error(j) * output_weight(j, i)) output = hidden_output(i) hidden_error(i) = (((1 + output) * (1 - output)) / 2) * acc For j = 0 To hidden_node - 1 For i = 0 To input_node - 1 weight_correct = alpha * hidden_error(j) * input_output(i) hidden_weight(j, i) = hidden_weight(j, i) + weight_correct biash(j) -= alpha * hidden_error(j) Public Sub update_weight_momentum(byval epoch As Long) If epoch = 1 Then For j = 0 To output_node - 1 For i = 0 To hidden_node 1 momentum_ho(j, i, 1) = output_weight(j, i) Dim acc As Double Dim output As Double If activation_func Then For i = 0 To hidden_node - 1 acc = 0 For j = 0 To output_node - 1 output = hidden_output(i) hidden_error(i) = output * (1 - output) * acc For i = 0 To hidden_node - 1 acc = 0 For j = 0 To output_node - 1 acc = acc + (output_error(j) * output_weight(j, i)) output = hidden_output(i) For j = 0 To hidden_node - 1 For i = 0 To input_node - 1 momentum_ih(j, i, 1) = hidden_weight(j, i) biashm(j, 1) = biash(j) biash(j) -= alpha * hidden_error(j) biashm(j, 0) = biash(j) For j = 0 To output_node - 1 For i = 0 To hidden_node - 1 output_weight(j, i) = momentum_ho(j, i, 0) + (alpha * output_error(j) * hidden_output(i)) + (momentum * (momentum_ho(j, i, 0) - momentum_ho(j, i, 1)))

21 98 biasy(j) = biasym(j, 0) - alpha * output_error(j) + momentum * (biasym(j, 0) - biasym(j, 1)) biasym(j, 1) = biasym(j, 0) biasym(j, 0) = biasy(j) Dim acc As Double Dim output As Double If activation_func Then For i = 0 To hidden_node - 1 acc = 0 For j = 0 To output_node - 1 acc = acc + (output_error(j) * output_weight(j, i)) output = hidden_output(i) hidden_error(i) = output * (1 - output) * acc For i = 0 To hidden_node - 1 acc = 0 For j = 0 To output_node - 1 output = hidden_output(i) hidden_error(i) = (((1 + output) * (1 - output)) / 2) * acc For j = 0 To hidden_node - 1 For i = 0 To input_node 1 hidden_weight(j, i) = momentum_ih(j, i, 0) + (alpha * hidden_error(j) * input_output(i)) + (momentum * (momentum_ih(j, i, 0) - momentum_ih(j, i, 1))) + gamma * ek biashm(j, 1) = biashm(j, 0) biashm(j, 0) = biash(j) Public Function identify(byval inp_str As String, ByVal tlabel As String) As String Dim i, j As Long Dim acc As Double Dim input_str As String Dim input_str_arr() As String input_str = inp_str input_str_arr = Split(input_str) Dim hw(hidden_node, input_node) As Double hidden_weight = hw Dim ow(output_node, hidden_node) As Double output_weight = ow Dim inputout(input_node) As Double input_output = inputout Dim outputout(output_node) As Double output_output = outputout biasy = outputout Dim bym(output_node, 2) As Double biasym = bym Dim outerr(output_node) As Double output_error = outerr Dim hiddenout(hidden_node) As Double hidden_output = hiddenout biash = hiddenout Dim bhm(hidden_node, 2) As Double biashm = bhm Dim hiddenerr(hidden_node) As Double hidden_error = hiddenerr For i = 0 To input_node - 1 input_output(i) = Val(input_str_arr(i).Replace(",", "."))

22 99 Dim tcount As Integer Dim dr As MySqlDataReader dr = fetchdata("select count(id) from toutput where label='" & tlabel & "'") If dr.hasrows Then tcount = dr(0) If tcount > 0 Then dr = fetchdata("select hidden from thidden where label='" & tlabel & "' order by id asc") i = 0 j = 0 If dr.hasrows Then While dr.read hidden_weight(j, i) = dr(0) i = i + 1 If i Mod input_node = 0 Then j += 1 i = 0 End While dr = fetchdata("select output from toutput where label='" & tlabel & "' order by id asc") i = 0 j = 0 If dr.hasrows Then While dr.read output_weight(j, i) = dr(0) i = i + 1 If i Mod hidden_node = 0 Then j += 1 i = 0 End While dr = fetchdata("select biash from tbiash where label='" & tlabel & "' order by id asc") i = 0 If dr.hasrows Then While dr.read biash(i) = dr(0) i = i + 1 End While dr = fetchdata("select biasy from tbiasy where label='" & tlabel & "' order by id asc") i = 0 If dr.hasrows Then While dr.read biasy(i) = dr(0) i = i + 1 End While For j = 0 To hidden_node - 1 acc = 0 For i = 0 To input_node - 1 hidden_output(j) = acc If activation_func Then hidden_output(j) = sigmoid(acc) hidden_output(j) = sigmoidbipolar(acc)

23 100 For j = 0 To output_node - 1 acc = 0 For i = 0 To hidden_node - 1 acc = acc + (hidden_output(i) * output_weight(j, i)) output_output(j) = acc If activation_func Then output_output(j) = sigmoid(acc - biasy(j)) output_output(j) = sigmoid(acc) output_output(j) = sigmoidbipolar(acc - biasy(j)) output_output(j) = sigmoidbipolar(acc) Dim maks As Double Dim ans As String ans = "" maks = For i = 0 To output_node-1 Return ans Return "-1" End Function Public Function identify2(byval inp_str As String, ByVal tlabel As String, ByVal ttarget() As String) As String Dim i, j As Long Dim acc As Double Dim input_str As String Dim input_str_arr() As String input_str = inp_str input_str_arr = Split(input_str) Dim hw(hidden_node, input_node) As Double hidden_weight = hw Dim ow(output_node, hidden_node) As Double output_weight = ow Dim inputout(input_node) As Double input_output = inputout Dim outputout(output_node) As Double output_output = outputout biasy = outputout Dim bym(output_node, 2) As Double biasym = bym Dim outerr(output_node) As Double output_error = outerr Dim hiddenout(hidden_node) As Double hidden_output = hiddenout biash = hiddenout Dim bhm(hidden_node, 2) As Double biashm = bhm Dim hiddenerr(hidden_node) As Double hidden_error = hiddenerr For i = 0 To input_node - 1 input_output(i) = Val(input_str_arr(i).Replace(",", ".")) Dim tcount As Integer Dim dr As MySqlDataReader dr = fetchdata("select count(id) from toutput where label='" & tlabel & "'") If dr.hasrows Then tcount = dr(0) activation_func = True

24 101 dr = fetchdata("select output from toutput where label='" & tlabel & "' order by id asc") i = 0 j = 0 If dr.hasrows Then While dr.read output_weight(j, i) = dr(0) i = i + 1 If i Mod hidden_node = 0 Then j += 1 i = 0 End While dr = fetchdata("select biash from tbiash where label='" & tlabel & "' order by id asc") i = 0 If dr.hasrows Then While dr.read biash(i) = dr(0) i = i + 1 End While dr = fetchdata("select biasy from tbiasy where label='" & tlabel & "' order by id asc") i = 0 If dr.hasrows Then While dr.read biasy(i) = dr(0) i = i + 1 End While For j = 0 To hidden_node - 1 acc = 0 For i = 0 To input_node - 1 acc += input_output(i) * hidden_weight(j, i) hidden_output(j) = acc If activation_func Then hidden_output(j) = sigmoid(acc) hidden_output(j) = sigmoidbipolar(acc) For j = 0 To output_node - 1 acc = 0 For i = 0 To hidden_node - 1 acc = acc + (hidden_output(i) * output_weight(j, i)) output_output(j) = acc If activation_func Then output_output(j) = sigmoid(acc) output_output(j) = sigmoidbipolar(acc) Dim maks As Double Dim ans As String ans = "" maks = avg_err = 0 For i = 0 To output_node - 1 avg_err += Math.Pow(tTarget(i) - output_output(i), 2) ans = avg_err

25 102 Return ans Return "-1" End Function End Module Form Latih.vb Imports MySql Imports MySql.Data Imports MySql.Data.MySqlClient Imports System.Data Imports System.IO Imports System.IO.File Public Class FormLatih Public avg_err_1 As Double = 1.0 Dim ErrT As String Dim GenCount As Long Public tlabel As String Dim dblearning As String Dim dberror As String Dim dbepoch As String Dim dbmomentum As String Dim dbgamma As String Dim dbumomentum As String Private Sub MulaiBtn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MulaiBtn.Click If LearningRateTxt.Text = "" Then MsgBox("Pilih laju pembelajaran") LearningRateTxt.Focus() Exit Sub If TargetErrorTxt.Text = "" Then MsgBox("Pilih target error yang diinginkan") TargetErrorTxt.Focus() Exit Sub If MaxEpochTxt.Text = "" Then MsgBox("Pilih banyak epoch maksimum") MaxEpochTxt.Focus() Exit Sub activation_func = BinerRadio.Checked usemomentum = MomentumChk.Checked If MomentumTxt.Text <> "" Then momentum = Val(MomentumTxt.Text) hidden_node = Val(HiddenNodeTxt.Text) input_node = Val(InputNodeTxt.Text) output_node = Val(OutputNodeTxt.Text) alpha = Val(LearningRateTxt.Text) max_epoch = Val(MaxEpochTxt.Text) target_error = Val(TargetErrorTxt.Text) gamma = Val(GammaTxt.Text) GammaTxt.Enabled = False MulaiBtn.Enabled = False LearningRateTxt.Enabled = False TargetErrorTxt.Enabled = False MaxEpochTxt.Enabled = False HiddenNodeTxt.Enabled = False MomentumTxt.Enabled = False ErrorRateTxt.Clear() EpochTxt.Clear() TimeTxt.Clear() Button1.Enabled = True ProgressBar1.Style = ProgressBarStyle.Marquee time = DateTime.Now RunQuery("delete from error") Timer1.Start()

26 103 tlabel = ComboBox1.Text dblearning = LearningRateTxt.Text dberror = TargetErrorTxt.Text dbepoch = MaxEpochTxt.Text dbmomentum = MomentumTxt.Text dbgamma = GammaTxt.Text If MomentumChk.Checked Then dbumomentum = "T" dbumomentum = "F" BackgroundWorker1.RunWorkerAsync() Private Sub FormLatih_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim dr As MySqlDataReader dr = fetchdata("select COUNT(*) FROM identitas;") Dim n As Integer n = dr.item(0) OutputNodeTxt.Text = 5 TotalSubjectTxt.Text = n TotalPatternTxt.Text = n Dim input_str As String = "" Dim input_str_arr() As String dr = fetchdata("select nilai_fitur FROM identitas order by id asc limit 0,1") If dr.hasrows Then input_str = dr.item(0) MsgBox("Data Sidik Jari kosong, silahkan masukkan data terlebih dahulu..") ComboBox1.Items.Clear() dr = fetchdata("select label from toutput group by label") If dr.hasrows Then Do While dr.read ComboBox1.Items.Add(dr(0)) Loop input_str_arr = input_str.substring(0, Len(input_str) - 1).Split(" ") InputNodeTxt.Text = input_str_arr.length HiddenNodeTxt.Text = Math.Round(Math.Sqrt(Val(InputNodeTxt.Text) * Val(OutputNodeTxt.Text)), 0) Button1.Enabled = False Private Sub BackgroundWorker1_DoWork(ByVal sender As System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorker1.DoWork Randomize() Dim dr As MySqlDataReader Dim hw(hidden_node, input_node) As Double hidden_weight = hw Dim mihw(hidden_node, input_node, 2) As Double momentum_ih = mihw Dim ow(output_node, hidden_node) As Double output_weight = ow Dim mhow(output_node, hidden_node, 2) As Double momentum_ho = mhow Dim inputout(input_node) As Double input_output = inputout Dim outputout(output_node) As Double output_output = outputout biasy = outputout Dim bym(output_node, 2) As Double biasym = bym Dim outerr(output_node) As Double output_error = outerr

27 104 Dim hiddenout(hidden_node) As Double hidden_output = hiddenout biash = hiddenout Dim bhm(hidden_node, 2) As Double biashm = bhm Dim hiddenerr(hidden_node) As Double hidden_error = hiddenerr Dim i, j As Long Dim FaktorSkala As Double = 0 Dim tjumlah As Double = 0 Dim trandom As New Random Dim tcount As Integer dr = fetchdata("select count(id) from toutput where label='" & tlabel & "'") If dr.hasrows Then tcount = dr(0) If tcount > 0 Then dr = fetchdata("select hidden from thidden where label='" & tlabel & "' order by id asc") i = 0 j = 0 If dr.hasrows Then Do While dr.read hidden_weight(j, i) = dr(0) i = i + 1 If i Mod input_node = 0 Then j += 1 i = 0 Loop dr = fetchdata("select output from toutput where label='" & tlabel & "' order by id asc") i = 0 j = 0 If dr.hasrows Then Do While dr.read output_weight(j, i) = dr(0) i = i + 1 If i Mod hidden_node = 0 Then j += 1 i = 0 Loop dr = fetchdata("select biash from tbiash where label='" & tlabel & "' order by id asc") i = 0 If dr.hasrows Then Do While dr.read biash(i) = dr(0) i = i + 1 Loop dr = fetchdata("select biasy from tbiasy where label='" & tlabel & "' order by id asc") i = 0 If dr.hasrows Then Do While dr.read biasy(i) = dr(0) i = i + 1 Loop

28 105 FaktorSkala = 0.7 * (Math.Pow(hidden_node, (1 / input_node))) For j = 0 To hidden_node - 1 For i = 0 To input_node - 1 hidden_weight(j, i) = trandom.double Do While hidden_weight(j, i) < -0.5 Or hidden_weight(j, 1) > 0.5 hidden_weight(j, i) = trandom.double Loop tjumlah += Math.Pow(hidden_weight(j, i), 2) biash(j) = trandom.double Do While biash(j) < (FaktorSkala * -1) Or biash(j) > FaktorSkala biash(j) = trandom.double Loop tjumlah = Math.Sqrt(tJumlah) For j = 0 To hidden_node - 1 For i = 0 To input_node - 1 hidden_weight(j, i) = (FaktorSkala * hidden_weight(j, i)) / tjumlah For j = 0 To output_node - 1 For i = 0 To hidden_node - 1 next Dim hidw(hidden_node) As Double 'proses latih dr = fetchdata("select COUNT(*) FROM identitas") Dim total_pattern As Long total_pattern = dr.item(0) Dim data(total_pattern) As Long i = 0 dr = fetchdata("select id FROM identitas") If dr.hasrows Then For i = 0 To UBound(data) - 1 data(i) = dr(0) ErrT = "" Dim epoch As Long For epoch = 0 To max_epoch - 1 epoch_attr = epoch avg_err = 0.0 c = 0.0 For i = 0 To total_pattern - 1 train_forward(data(i)) train_backward(data(i)) avg_err = c / (total_pattern * 2) ErrT = ErrT & avg_err & vbcrlf avg_err_1 = avg_err RunQuery("insert into error(epoch, rms) values('" & epoch & "', '" & avg_err & "')") If avg_err <= target_error Then update_weight() GoTo simpan If e.cancel = True Then update_weight() GoTo simpan

29 106 simpan: RunQuery("delete from thidden where label='" & tlabel & "'") For j = 0 To hidden_node - 1 For i = 0 To input_node - 1 RunQuery("insert into thidden(label,hidden) values('" & tlabel & _ "', '" & hidden_weight(j, i) & "')") RunQuery("delete from toutput where label='" & tlabel & "'") For j = 0 To output_node - 1 For i = 0 To hidden_node - 1 RunQuery("insert into toutput(label,output) values('" & tlabel & _ "', '" & output_weight(j, i) & "')") RunQuery("delete from tbiash where label='" & tlabel & "'") For i = 0 To hidden_node - 1 RunQuery("insert into tbiash(label,biash) values('" & tlabel & _ "', '" & biash(i) & "')") RunQuery("delete from tbiasy where label='" & tlabel & "'") For i = 0 To output_node - 1 RunQuery("insert into tbiasy(label,biasy) values('" & tlabel & _ "', '" & biasy(i) & "')") RunQuery("delete from tlabel where label='" & tlabel & "'") RunQuery("insert into tlabel(label, learning, error, epoch, momentum, faktor, umomentum, berror) values(" & _ "'" & tlabel & "', '" & dblearning & "','" & dberror & _ "', '" & dbepoch & "','" & dbmomentum & "','" & dbgamma & "','" & dbumomentum & "','" & avg_err_1 & "')") Private Sub BackgroundWorker1_RunWorkerCompleted(ByVal sender As Object, ByVal e As System.ComponentModel.RunWorkerCompletedEventArgs) Handles BackgroundWorker1.RunWorkerCompleted ProgressBar1.Style = ProgressBarStyle.Blocks ProgressBar1.Value = 100 Timer1.Stop() MsgBox("Pelatihan Selesai") MulaiBtn.Enabled = True LearningRateTxt.Enabled = True TargetErrorTxt.Enabled = True MaxEpochTxt.Enabled = True HiddenNodeTxt.Enabled = True Button1.Enabled = False GammaTxt.Enabled = True MomentumTxt.Enabled = True Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick Dim Difference As TimeSpan = DateTime.Now.Subtract(Time) TimeTxt.Text = Difference.Days.ToString & ":" & Difference.Hours.ToString & ":" & Difference.Minutes.ToString & ":" & Difference.Seconds.ToString & "." & Difference.Milliseconds.ToString EpochTxt.Text = epoch_attr ErrorRateTxt.Text = avg_err_1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click BackgroundWorker1.CancelAsync() Private Sub MomentumChk_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MomentumChk.CheckedChanged

30 107 If MomentumChk.Checked Then MomentumTxt.Enabled = True MomentumTxt.Text = "" MomentumTxt.Enabled = False Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click FormChart.MdiParent = Me.MdiParent FormChart.Show() Private Sub BMemorisasi_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BMemorisasi.Click ProgressBar2.Visible = True hidden_node = Math.Round(Math.Sqrt(Val(InputNodeTxt.Text) * Val(OutputNodeTxt.Text)), 0) output_node = 5 input_node = Val(InputNodeTxt.Text) GenCount = 0 tlabel = ComboBox1.Text Timer2.Start() BackgroundWorker2.RunWorkerAsync() Private Sub BackgroundWorker2_DoWork(ByVal sender As Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorker2.DoWork Dim i As Long Dim Hasil As String Dim DT As System.Data.DataTable Dim Benar As String = "Salah" RunQuery("delete from memorisasi") DT = FetchDataTable("select * from identitas") If DT.Rows.Count > 0 Then For i = 0 To DT.Rows.Count - 1 Benar = "Salah" Hasil = identify(dt.rows(i).item(4).tostring, tlabel) If Hasil = DT.Rows(i).Item(6) Then Benar = "Benar" RunQuery(String.Format("insert into memorisasi(id_identitas, nama, nama_file, nilai_fitur, target, output, hasil) values('{0}', '{1}', '{2}', '{3}', '{4}', '{5}', '{6}')", DT.Rows(i).Item(0), DT.Rows(i).Item(1), DT.Rows(i).Item(5), DT.Rows(i).Item(4), DT.Rows(i).Item(6), Hasil, Benar)) GenCount = ((i + 1) / DT.Rows.Count) * 100 Private Sub Timer2_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Timer2.Tick ProgressBar2.Value = GenCount Private Sub BackgroundWorker2_RunWorkerCompleted(ByVal sender As Object, ByVal e As System.ComponentModel.RunWorkerCompletedEventArgs) Handles BackgroundWorker2.RunWorkerCompleted Timer2.Stop() ProgressBar2.Visible = False FormMemorisasi.MdiParent = Me.MdiParent FormMemorisasi.Show() Private Sub BackgroundWorker3_DoWork(ByVal sender As Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorker3.DoWork Dim i As Long Dim Hasil As String Dim DT As System.Data.DataTable Dim Benar As String = "Salah"

31 108 RunQuery("delete from generalisasi") DT = FetchDataTable("select * from identitas_uji") If DT.Rows.Count > 0 Then For i = 0 To DT.Rows.Count - 1 Benar = "Salah" Hasil = identify(dt.rows(i).item(4).tostring, tlabel) If Hasil = DT.Rows(i).Item(6) Then Benar = "Benar" RunQuery(String.Format("insert into generalisasi(id, id_identitas, nama, nama_file, nilai_fitur, target, output, hasil) values('{7}','{0}', '{1}', '{2}', '{3}', '{4}', '{5}', '{6}')", DT.Rows(i).Item(0), DT.Rows(i).Item(1), DT.Rows(i).Item(5), DT.Rows(i).Item(4), DT.Rows(i).Item(6), Hasil, Benar, i)) GenCount = ((i + 1) / DT.Rows.Count) * 100 Private Sub Timer3_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Timer3.Tick ProgressBar3.Value = GenCount Private Sub BackgroundWorker3_RunWorkerCompleted(ByVal sender As Object, ByVal e As System.ComponentModel.RunWorkerCompletedEventArgs) Handles BackgroundWorker3.RunWorkerCompleted Timer3.Stop() ProgressBar3.Visible = False FormGeneralisasi.MdiParent = Me.MdiParent FormGeneralisasi.Show() Private Sub BGeneralisasi_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BGeneralisasi.Click ProgressBar3.Visible = True hidden_node = Math.Round(Math.Sqrt(Val(InputNodeTxt.Text) * Val(OutputNodeTxt.Text)), 0) output_node = 5 input_node = Val(InputNodeTxt.Text) GenCount = 0 Timer2.Start() tlabel = ComboBox1.Text BackgroundWorker3.RunWorkerAsync() Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged If ComboBox1.Items.Count < 1 Then Exit Sub Dim DR1 As MySqlDataReader DR1 = fetchdata("select * from tlabel where label='" & ComboBox1.Text & "'") If DR1.HasRows Then DR1.Read() LearningRateTxt.Text = DR1("learning") TargetErrorTxt.Text = DR1("error") MaxEpochTxt.Text = DR1("epoch") MomentumTxt.Text = DR1("momentum") GammaTxt.Text = DR1("faktor") If DR1("umomentum") = "T" Then MomentumChk.Checked = True MomentumChk.Checked = False DR1.Close()

32 109 Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click ActiveTrain = ComboBox1.Text End Class Form Uji.vb Imports MySql Imports MySql.Data Imports MySql.Data.MySqlClient Public Class FormUji Dim GenCount As Long Private Sub ClearBtn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ClearBtn.Click FileNameLbl.Text = "- No File Selected -" IDTxt.Text = "" NamaPemilikTxt.Text = "" NamaFileTxt.Text = "" AlamatTxt.Text = "" JenisKelaminTxt.Text = "" OriginalPic.Image = Nothing ResultPic.Image = Nothing ProsesBtn.Enabled = False BrowseBtn.Enabled = True BrowseBtn.Focus() Private Sub FormUji_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load ProsesBtn.Enabled = False BrowseBtn.Focus() Dim dr As MySqlDataReader dr = fetchdata("select COUNT(*) FROM identitas;") Dim n As Integer n = dr.item(0) OutputNodeTxt.Text = 5 ComboBox1.Items.Clear() dr = fetchdata("select label from toutput group by label") If dr.hasrows Then Do While dr.read ComboBox1.Items.Add(dr(0)) Loop Private Sub BrowseBtn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BrowseBtn.Click With OpenFileDialog1.CheckFileExists = True.CheckPathExists = True.ShowHelp = False.Filter = "Gambar Bitmap (*.bmp) *.bmp Gambar Jpeg (*.jpg) *.jpg Gambar Gift (*.gif) *.gif".showdialog() End With Private Sub OpenFileDialog1_FileOk(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles OpenFileDialog1.FileOk OriginalPic.ImageLocation = OpenFileDialog1.FileName FileNameLbl.Text = OpenFileDialog1.FileName ProsesBtn.Enabled = True Private Sub ProsesBtn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ProsesBtn.Click BrowseBtn.Enabled = False

33 110 ProsesBtn.Enabled = False activation_func = BinerRadio.Checked hidden_node = Math.Round(Math.Sqrt(Val(InputNodeTxt.Text) * Val(OutputNodeTxt.Text)), 0) output_node = 5 input_node = Val(Inputnodetxt.text) Dim sobelpic As New Bitmap(OriginalPic.Image.Width, OriginalPic.Image.Height, Imaging.PixelFormat.Format32bppArgb) Dim binarypic As New Bitmap(OriginalPic.Image.Width, OriginalPic.Image.Height, Imaging.PixelFormat.Format32bppArgb) Dim haarpic As New Bitmap(OriginalPic.Image.Width, OriginalPic.Image.Height, Imaging.PixelFormat.Format32bppArgb) sobelpic = SobelDetect(OriginalPic.Image) binarypic = Binerisasi(sobelpic) haarpic = Haar(binarypic) Dim hasilstr As String hasilstr = THasil FormSidik.HasilTxt.Clear() Dim kode As String kode = identify(hasilstr, ComboBox1.Text) If kode = "-1" Then MsgBox("Lakukan proses pelatihan terlebih dahulu") Exit Sub 'MsgBox(kode) Dim dr As MySqlDataReader Dim tid As String = "" Label12.Text = "Hasil Output Jaringan : " & kode.tostring dr = fetchdata("select * FROM identitas WHERE target='" & kode.tostring & "' and nilai_fitur='" & THasil & "';") If dr.hasrows Then IDTxt.Text = dr.item(0) NamaPemilikTxt.Text = dr.item(1) AlamatTxt.Text = dr.item(2) JenisKelaminTxt.Text = dr.item(3) NamaFileTxt.Text = dr.item(5) ResultPic.ImageLocation = "images/" & NamaFileTxt.Text MsgBox("Data sidik jari yang sesuai ditemukan..") dr = fetchdata("select * FROM identitas WHERE target='" & kode.tostring & "';") If dr.hasrows Then IDTxt.Text = dr.item(0) NamaPemilikTxt.Text = dr.item(1) AlamatTxt.Text = dr.item(2) JenisKelaminTxt.Text = dr.item(3) NamaFileTxt.Text = dr.item(5) ResultPic.ImageLocation = "images/" & NamaFileTxt.Text 'MsgBox("Data sidik jari sesuai..") MsgBox("Data sidik jari yang sesuai tidak ditemukan..") End Class Form Chart.vb Public Class FormChart Private Sub FormChart_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Me.ErrorBindingSource.DataSource = FetchDataTable("select * from error") End Class

34 111 LAMPIRAN B. SAMPEL SIDIK JARI Data Pelatihan Pemilik 1 Pemilik 2 Pemilik 3 Pemilik 4 Pemilik 5

35 112 Pemilik 6 Pemilik 7 Pemilik 8 Pemilik 9 Pemilik 10

36 113 Data Pengujian Pemilik 1 Pemilik 2 Pemilik 3 Pemilik 4 Pemilik 5

37 114 Pemilik 6 Pemilik 7 Pemilik 8 Pemilik 9 Pemilik 10

38 115 LAMPIRAN C HASIL PENGENALAN SISTEM

39 116

LISTING PROGRAM. mainform.vb A-1. Universitas Sumatera Utara

LISTING PROGRAM. mainform.vb A-1. Universitas Sumatera Utara A-1 LISTING PROGRAM mainform.vb Imports System.IO Public Class mainform Private Sub mainform_load(byval sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load enkripsirb.checked = True

More information

LAMPIRAN. Private Sub FrmSkinDetect_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load IndikatorHandle(False) End Sub

LAMPIRAN. Private Sub FrmSkinDetect_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load IndikatorHandle(False) End Sub 92 LAMPIRAN List Program FDeteksiWajah.vb Imports System.ComponentModel Public Class FDeteksiWajah Private CGen As ClGeneral Dim CWajah As ClDeteksi Dim CShape As New ClShapeA Dim tprogress As Integer

More information

LAMPIRAN A: Listing Program

LAMPIRAN A: Listing Program 67 1. Form Menu Utama LAMPIRAN A: Listing Program Public Class MScreen Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Me.Hide() Form1.Show()

More information

LAMPIRAN LISTING PROGRAM

LAMPIRAN LISTING PROGRAM LAMPIRAN LISTING PROGRAM Imports System Imports System.IO Imports System.Math Public Class frmutama Dim dicari As DirectoryInfo Dim flpath As String, srcpath As String Dim asnode As Double, dsnode As Double,

More information

LAMPIRAN. Universitas Sumatera Utara

LAMPIRAN. Universitas Sumatera Utara LAMPIRAN 1. Modul Imports System.Data Imports System.Data.OleDb Module Module1 Public conn As OleDbConnection Public CMD As OleDbCommand Public DS As New DataSet Public DA As OleDbDataAdapter Public RD

More information

DO NOT COPY AMIT PHOTOSTUDIO

DO NOT COPY AMIT PHOTOSTUDIO AMIT PHOTOSTUDIO These codes are provided ONLY for reference / Help developers. And also SUBMITTED IN PARTIAL FULFILLMENT OF THE REQUERMENT FOR THE AWARD OF BACHELOR OF COMPUTER APPLICATION (BCA) All rights

More information

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Label1.Text = Label1.

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Label1.Text = Label1. 練習問題 1-1 Label1 Label1.Text = Label1.Text + 2 練習問題 1-2 Button2 Label1 Label1.Text = Label1.Text+ 2 Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

More information

Mr.Khaled Anwar ( )

Mr.Khaled Anwar ( ) The Rnd() function generates random numbers. Every time Rnd() is executed, it returns a different random fraction (greater than or equal to 0 and less than 1). If you end execution and run the program

More information

Form Connection. Imports System Imports System.Threading Imports System.IO.Ports Imports System.ComponentModel

Form Connection. Imports System Imports System.Threading Imports System.IO.Ports Imports System.ComponentModel Form Connection Imports System Imports System.Threading Imports System.IO.Ports Imports System.ComponentModel Public Class connection '------------------------------------------------ Dim myport As Array

More information

LAMPIRAN A: Listing Program

LAMPIRAN A: Listing Program 78 LAMPIRAN A: Listing Program 1. Form Login Public Class FrmLogin Public user As String Private Sub CmdLogin_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmdLogin.Click Dim

More information

Else. End If End Sub End Class. PDF created with pdffactory trial version

Else. End If End Sub End Class. PDF created with pdffactory trial version Dim a, b, r, m As Single Randomize() a = Fix(Rnd() * 13) b = Fix(Rnd() * 13) Label1.Text = a Label3.Text = b TextBox1.Clear() TextBox1.Focus() Private Sub Button2_Click(ByVal sender As System.Object, ByVal

More information

Private Sub MenuUtamaToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Me.ShowDialog() End Sub

Private Sub MenuUtamaToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Me.ShowDialog() End Sub LISTING PROGRAM Menu_Utama.vb Public Class FrmUtama Private Sub DataMovieToolStripMenuItem_Click(ByVal sender As DataMovieToolStripMenuItem.Click FrmMovie.ShowDialog() Private Sub DataPeminjamToolStripMenuItem_Click(ByVal

More information

'The following GUID is for the ID of the typelib if this project is exposed to COM <Assembly: Guid("8b a5-46bb-a6a9-87b4949d1f4c")>

'The following GUID is for the ID of the typelib if this project is exposed to COM <Assembly: Guid(8b a5-46bb-a6a9-87b4949d1f4c)> LAMPIRAN A : LISTING PROGRAM Imports System Imports System.Reflection Imports System.Runtime.InteropServices ' General Information about an assembly is controlled through the following ' set of attributes.

More information

DAFTAR PUSTAKA. Bojic, Paul, 2008, Business Information System. Pearson Education Ltd., England

DAFTAR PUSTAKA. Bojic, Paul, 2008, Business Information System. Pearson Education Ltd., England DAFTAR PUSTAKA Bojic, Paul, 2008, Business Information System. Pearson Education Ltd., England Elib.unikom.ac.id, SQL Server, 27 April 2014. Jogiyanto. 2005. Analisis & Desain Sistem Informasi : Pendekatan

More information

LISTING PROGRAM. PrivateSub KeluarToolStripMenuItem_Click(sender AsObject, e AsEventArgs) Handles KeluarToolStripMenuItem.Click Close() EndSub

LISTING PROGRAM. PrivateSub KeluarToolStripMenuItem_Click(sender AsObject, e AsEventArgs) Handles KeluarToolStripMenuItem.Click Close() EndSub LISTING PROGRAM 1.Tampilan awal PublicClassmm PrivateSub InputDataGuruToolStripMenuItem_Click(sender AsObject, e AsEventArgs) Handles InputDataGuruToolStripMenuItem.Click guru.show() Me.Hide() EndSub PrivateSub

More information

LISTING PROGRAM. 1. Tampilan Awal. 2. Menu Login. Public Class Awal

LISTING PROGRAM. 1. Tampilan Awal. 2. Menu Login. Public Class Awal LISTING PROGRAM 1. Tampilan Awal Public Class Awal Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick ProgressBar1.Increment(10) If ProgressBar1.Value

More information

LAMPIRAN LIST PROGRAM

LAMPIRAN LIST PROGRAM LAMPIRAN LIST PROGRAM 1. Modules Public conn As New ADODB.Connection Public rstb_pendekatan As ADODB.Recordset Public rstb_solusi As ADODB.Recordset Public rstb_alasan As ADODB.Recordset Public rstb_pilihan

More information

超音波モータ制御プログラムの作成 (v1.2.1)

超音波モータ制御プログラムの作成 (v1.2.1) 超音波モータ制御プログラムの作成 (v1.2.1) 2008 年 11 月 28 日 Masaaki MATSUO 構成機器 モータ本体 : フコク ロータリーエンコーダー内蔵型超音波モータ USB-60E モータ制御部 : フコク 位置決制御ドライバ DCONT-3-60 (SD13) コントローラ : Interface 2 軸絶縁パルスモーションコントローラ ( 直線補間エンコーダ入力 5V)

More information

A-1 LISTING PROGRAM. 1. Module1

A-1 LISTING PROGRAM. 1. Module1 A-1 LISTING PROGRAM 1. Module1 Imports System.Data.Odbc Imports System.Data Imports System.Data.SqlClient Imports MySql.Data.MySqlClient Module Module1 Public userid As String Public level As String Public

More information

S.2 Computer Literacy Question-Answer Book

S.2 Computer Literacy Question-Answer Book S.2 C.L. Half-yearly Examination (2012-13) 1 12-13 S.2 C.L. Question- Answer Book Hong Kong Taoist Association Tang Hin Memorial Secondary School 2012-2013 Half-yearly Examination S.2 Computer Literacy

More information

Visitor Management System

Visitor Management System WWW.VALLINME.COM Visitor Management System Ver 1.0 Mohd Noor Azam 18-03-2015 [Type the abstract of the document here. The abstract is typically a short summary of the contents of the document. Type the

More information

End Sub. Sub Kunci() Dim i As Integer For i = 0 To 4 Txtfield(i).Locked = True Next i grddatagrid.enabled = False End Sub

End Sub. Sub Kunci() Dim i As Integer For i = 0 To 4 Txtfield(i).Locked = True Next i grddatagrid.enabled = False End Sub Source Aplikasi Sistem Informasi Akademik GENERAL Dim db As Connection Dim WithEvents adoprimaryrs1 As Recordset Dim WithEvents adoprimaryrs2 As Recordset Dim WithEvents rscaridata As Recordset Dim cekid

More information

Pengenalan Sistem Maklumat Dalam Pendidikan

Pengenalan Sistem Maklumat Dalam Pendidikan Pengenalan Sistem Maklumat Dalam Pendidikan 1 RELATIONSHIP & QUERY DALAM MICROSOFT ACCESS Kandungan Definisi Relationship (Hubungan) Jenis Relationship Membina Relationship Definisi Query dan Fungsi Query

More information

"!#... )*! "!# )+, -./ 01 $

!#... )*! !# )+, -./ 01 $ Email engauday@hotmail.com! "!#... $ %&'... )*! "!# )+, -./ 01 $ ) 1+ 2#3./ 01 %.. 7# 89 ; )! 5/< 3! = ;, >! 5 6/.?

More information

LAMPIRAN A : LISTING PROGRAM

LAMPIRAN A : LISTING PROGRAM LAMPIRAN A : LISTING PROGRAM 1. frmmenu.frm Dim CN As Connection Dim rshapus As Recordset Private Sub DfaHasil_Click() Call frmlap.cetak Private Sub Form_Load() Set CN = New ADODB.Connection CN.ConnectionString

More information

Lampiran 1 Kode Program

Lampiran 1 Kode Program 53 Lampiran 1 Kode Program Kode Program 1 Kode Menu Peminjaman Private Sub BT_Cari_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BT_Cari.Click Call CariKaset() Private Sub RB_CheckedChanged(ByVal

More information

Visual Basic: Opdracht Structuur

Visual Basic: Opdracht Structuur Visual Basic: Opdracht Structuur HoofdMenu.vb SubMenu_Kwadraat.vb Form1.vb Form2.vb Submenu_Som.vb Form3.vb Form4.vb SubMenu_Gem.vb Form5.vb Form6.vb Form10.vb SubMenu_Naam.vb Form7.vb Form11.vb Form8.vb

More information

Santiago Canyon College Computer Science

Santiago Canyon College Computer Science P a g e 1 Santiago Canyon College Computer Science The.Net Threading Model Introduction The purpose of this paper is to introduce you to multi-threading in Visual Studio. Learning how to take advantage

More information

My first game. 'function which adds objects with bug tag to bugarray array. Saturday, November 23, :06 AM

My first game. 'function which adds objects with bug tag to bugarray array. Saturday, November 23, :06 AM My first game Saturday, November 23, 2013 5:06 AM Public Class Form1 Dim moveright As Boolean = False Dim moveup As Boolean = False Dim moveleft As Boolean = False Dim movedown As Boolean = False Dim score

More information

LAMPIRAN A PROGRAM FLOWSTONE

LAMPIRAN A PROGRAM FLOWSTONE LAMPIRAN A PROGRAM FLOWSTONE A-1 Tampilan GUI pada FlowStone A-2 Program Tambahan yang Dibuat Untuk Membaca Frekuensi A-3 Program Tambahan yang Dibuat Untuk Menyimpan Data A-4 LAMPIRAN B PROGRAM VISUAL

More information

Kartu Bimbingan Tugas Akhir Mahasiswa

Kartu Bimbingan Tugas Akhir Mahasiswa KEMENTRIAN PENDIDIKAN DAN KEBUDAYAAN UNIVERSITAS SUMATERA UTARA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM Jln. Bioteknologi No. 1 Kampus USU Padang Bulan Medan-20155 Telp. (061) 8214290, 8211212, 8211414

More information

Sub clear() lblidver.text = Nothing lblstatus.text = Nothing

Sub clear() lblidver.text = Nothing lblstatus.text = Nothing LAMPIRAN Berikut merupakan listing code dari Form Verifikasi: Imports System.IO Public Class FrmVerifikasi_vb Dim FPDatabase As New FingerspotETouchSDK.FinFPDatabase Dim WithEvents verifikasi As FingerspotETouchSDK.FinFPVerification

More information

CARA-CARA UNTUK MEMBUAT POSTER MELALUI PERISIAN PHOTOSHOP. Untuk membuat poster sediakan beberapa bahan seperti berikut:

CARA-CARA UNTUK MEMBUAT POSTER MELALUI PERISIAN PHOTOSHOP. Untuk membuat poster sediakan beberapa bahan seperti berikut: CARA-CARA UNTUK MEMBUAT POSTER MELALUI PERISIAN PHOTOSHOP Untuk membuat poster sediakan beberapa bahan seperti berikut: Pastikan anda telah memindahkan gambar-gambar yang di ambil ke dalam komputer Pastikan

More information

VB.NET Programs. ADO.NET (insert, update, view records)

VB.NET Programs. ADO.NET (insert, update, view records) ADO.NET (insert, update, view records) VB.NET Programs Database: Student Table : Studtab (adno, name, age, place) Controls: DataGridView, Insert button, View button, Update button, TextBox1 (for Admission

More information

Private Sub Cours_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Private Sub Cours_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Public Class Cours Private nc As Integer Private Sub Cours_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'TODO : cette ligne de code charge les données dans la table

More information

Tutorial, Source code, Request Program Visual Basic

Tutorial, Source code, Request Program Visual Basic Tutorial, Source code, Request Program Visual Basic Oleh : Moh. A Azis Membuat Form Data Barang Program Persediaan Barang Form Data Barang digunakan untuk menyimpan data barang dan memberikan info mengenai

More information

IMS1906: Business Software Fundamentals Tutorial exercises Week 5: Variables and Constants

IMS1906: Business Software Fundamentals Tutorial exercises Week 5: Variables and Constants IMS1906: Business Software Fundamentals Tutorial exercises Week 5: Variables and Constants These notes are available on the IMS1906 Web site http://www.sims.monash.edu.au Tutorial Sheet 4/Week 5 Please

More information

LISTING PROGRAM. frmmenu.vb. frmlogin.vb. Universitas Sumatera Utara. Public Class frmmenu

LISTING PROGRAM. frmmenu.vb. frmlogin.vb. Universitas Sumatera Utara. Public Class frmmenu LISTING PROGRAM frmmenu.vb Public Class frmmenu Private Sub QuitToolStripMenuItem_Click(ByVal sender As QuitToolStripMenuItem.Click Close() Private Sub OtoritasToolStripMenuItem_Click(ByVal sender As OtoritasToolStripMenuItem.Click

More information

Learning VB.Net. Tutorial 15 Structures

Learning VB.Net. Tutorial 15 Structures Learning VB.Net Tutorial 15 Structures Hello everyone welcome to vb.net tutorials. These are going to be very basic tutorials about using the language to create simple applications, hope you enjoy it.

More information

LAMPIRAN A-2 : LAPORAN PENJUALAN DOKUMEN KELUARAN

LAMPIRAN A-2 : LAPORAN PENJUALAN DOKUMEN KELUARAN LAMPIRAN A-2 : LAPORAN PENJUALAN DOKUMEN KELUARAN LAMPIRAN A-1 : NOTA DOKUMEN KELUARAN LAMPIRAN B MASUKAN SISTEM BERJALAN LAMPIRAN B-1 : DATA BARANG DOKUMEN MASUKAN LAMPIRAN B-2 : DATA PELANGGAN DOKUMEN

More information

CALIFORNIA STATE UNIVERSITY, SACRAMENTO College of Business Administration. MIS 15 Introduction to Business Programming. Programming Assignment 3 (P3)

CALIFORNIA STATE UNIVERSITY, SACRAMENTO College of Business Administration. MIS 15 Introduction to Business Programming. Programming Assignment 3 (P3) CALIFORNIA STATE UNIVERSITY, SACRAMENTO College of Business Administration MIS 15 Introduction to Business Programming Programming Assignment 3 (P3) Points: 50 Due Date: Tuesday, May 10 The purpose of

More information

Protected Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init

Protected Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init Option Strict On Imports System.Drawing.Imaging Imports System.Drawing Imports System Imports System.Collections Imports System.Configuration Imports System.Data Imports System.IO Imports System.Web Imports

More information

Objectives. After completing this topic, the students will: Understand of the concept of polymorphism Know on How to implement 2 types of polymorphism

Objectives. After completing this topic, the students will: Understand of the concept of polymorphism Know on How to implement 2 types of polymorphism Polymorphism Objectives After completing this topic, the students will: Understand of the concept of polymorphism Know on How to implement 2 types of polymorphism Definition Polymorphism provides the ability

More information

ภาคผนวก ก. Source Code

ภาคผนวก ก. Source Code ภาคผนวก ภาคผนวก ก. Source Code 154 155 Source Code ช อ Empbook Option Explicit On Option Strict On Imports System.data Imports System.Data.OleDb Public Class Empbook Dim Book_status As Integer = 1 'ęğŀşľłŀăăő

More information

VISUAL BASIC II CC111 INTRODUCTION TO COMPUTERS

VISUAL BASIC II CC111 INTRODUCTION TO COMPUTERS VISUAL BASIC II CC111 INTRODUCTION TO COMPUTERS Intended Learning Objectives Able to build a simple Visual Basic Application. 2 The Sub Statement Private Sub ControlName_eventName(ByVal sender As System.Object,

More information

Learning VB.Net. Tutorial 10 Collections

Learning VB.Net. Tutorial 10 Collections Learning VB.Net Tutorial 10 Collections Hello everyone welcome to vb.net tutorials. These are going to be very basic tutorials about using the language to create simple applications, hope you enjoy it.

More information

Learning VB.Net. Tutorial 19 Classes and Inheritance

Learning VB.Net. Tutorial 19 Classes and Inheritance Learning VB.Net Tutorial 19 Classes and Inheritance Hello everyone welcome to vb.net tutorials. These are going to be very basic tutorials about using the language to create simple applications, hope you

More information

Member Management System

Member Management System Member Management System These codes are provided ONLY for reference / Help developers. And also SUBMITTED IN PARTIAL FULFILLMENT OF THE REQUERMENT FOR THE AWARD OF BACHELOR OF COMPUTER APPLICATION (BCA)

More information

LISTING PROGRAM. 1. Form Login. Private Sub BATAL_Click() End End Sub

LISTING PROGRAM. 1. Form Login. Private Sub BATAL_Click() End End Sub LISTING PROGRAM 1. Form Login Private Sub BATAL_Click() End Sub Bersih() USERNAME.Text = "" PASSWORD.Text = "" Private Sub Form_Load() Bersih Private Sub OK_Click() Sql = "select*from tbl_login where username='"

More information

ก Microsoft Visual Studio 2008

ก Microsoft Visual Studio 2008 ก 58 ก ก ก ก ก 58 59 ก Microsoft Visual Studio 2008 1. DVD ก MSVS2008 ก MSVS2008 ก ก MSVS2008 ก ก 180 DVD DVD ก MSVS2008 ก ก Install Visual Studio 2008 2. ก ก ก ก ก Next 3. ก ก Options Page ก Custom ก

More information

In this tutorial we will create a simple calculator to Add/Subtract/Multiply and Divide two numbers and show a simple message box result.

In this tutorial we will create a simple calculator to Add/Subtract/Multiply and Divide two numbers and show a simple message box result. Simple Calculator In this tutorial we will create a simple calculator to Add/Subtract/Multiply and Divide two numbers and show a simple message box result. Let s get started First create a new Visual Basic

More information

WEEK 1. Event: Tick: Occurs when the specified timer interval has elapsed and the timer is enabled.

WEEK 1. Event: Tick: Occurs when the specified timer interval has elapsed and the timer is enabled. WEEK 1 Timer: A Timer is used to raise an event at user-defined intervals. It is optimized for use in Windows Forms applications. Timer is used to control and manage events that are time related. For example:

More information

Serial-out Color Sensor. Overview. Features

Serial-out Color Sensor. Overview. Features Visit us @ www.thearyatechnologies.com Email: aryaprotech@gmail.com / info@thearyatechnologies.com Contact us@ 0253-2512131 Serial-out Color Sensor Overview Color sensor identifies primary colors (Red,

More information

LAMPIRAN 1 TATA CARA PENGGUNAAN SOFTWARE ALGORITMA GENETIKA

LAMPIRAN 1 TATA CARA PENGGUNAAN SOFTWARE ALGORITMA GENETIKA LAMPIRAN 1 TATA CARA PENGGUNAAN SOFTWARE ALGORITMA GENETIKA Langkah-langkah penggunaan Software Algoritma Genetika Job Shop : 1. Buka program Algoritma Genetika Job Shop 2. Masukkan data-data yang dibutuhkan

More information

Cara Login Ke CPanel Hosting.

Cara Login Ke CPanel Hosting. Cara Login Ke CPanel Hosting. Perkara pertama yang perlu dibuat setelah mendapat akaun web hosting adalah anda perlu log masuk ke web hosting cpanel bagi membuat proses instalasi. Pengguna akan menerima

More information

LAMPIRAN A : LISTING PROGRAM

LAMPIRAN A : LISTING PROGRAM 46 LAMPIRAN A : LISTING PROGRAM 1. Mainform /* * Created by SharpDevelop. * User: User7 * Date: 28/09/2015 * Time: 9:38 * * To change this template use Tools Options Coding Edit Standard Headers. */ using

More information

Panduan Menggunakan Autoresponder FreeAutobot.com

Panduan Menggunakan Autoresponder FreeAutobot.com Panduan Menggunakan Autoresponder FreeAutobot.com Dengan memperolehi e-book ini, anda mempunyai kebenaran untuk memberi secara percuma kepada pelanggan anda atau tawarkan sebagai bonus kepada pembelian

More information

Revision for Final Examination (Second Semester) Grade 9

Revision for Final Examination (Second Semester) Grade 9 Revision for Final Examination (Second Semester) Grade 9 Name: Date: Part 1: Answer the questions given below based on your knowledge about Visual Basic 2008: Question 1 What is the benefit of using Visual

More information

โปรแกรมช วยทดสอบหม อแปลงกระแส

โปรแกรมช วยทดสอบหม อแปลงกระแส โปรแกรมช วยทดสอบหม อแปลงกระแส 1.เมน ของโปรแกรม ภาพท 1 หน าเมน ของโปรแกรม Public Class frmmain Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

More information

LAMPIRAN A : LISTING PROGRAM

LAMPIRAN A : LISTING PROGRAM LAMPIRAN A : LISTING PROGRAM 1. Form Utama (Cover) using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text;

More information

INSTRUCTION: This section consists of TWO (2) questions. Answer ALL questions. ARAHAN: Bahagian ini mengandungi DUA (2) soalan. Jawab SEMUA soalan.

INSTRUCTION: This section consists of TWO (2) questions. Answer ALL questions. ARAHAN: Bahagian ini mengandungi DUA (2) soalan. Jawab SEMUA soalan. SECTION B: 55 MARKS BAHAGIAN B: 55 MARKAH INSTRUCTION: This section consists of TWO (2) questions. Answer ALL questions. ARAHAN: Bahagian ini mengandungi DUA (2) soalan. Jawab SEMUA soalan. QUESTION 1

More information

LAMPIRAN FORM 1 Universitas Sumatera Universitas Utara

LAMPIRAN FORM 1 Universitas Sumatera Universitas Utara LAMPIRAN FORM 1 Private Sub Text2_KeyPress(KeyAscii As Integer) If KeyAscii = vbkeyreturn Then Set tbladministrator = New ADODB.Recordset With tbladministrator.open "SELECT * FROM Administrator WHERE userid

More information

Send to: MM Irfan Subakti CC to Muhammad Ryanda Nugraha M with the. IF184401_DAA(F)_MID_NRP_Name.

Send to: MM Irfan Subakti CC to Muhammad Ryanda Nugraha M with the. IF184401_DAA(F)_MID_NRP_Name. IF184401 Design & Analysis of Algorithms (F) Midterm Exam Starting date: 9 March 2019 Deadline: 16 March 2019, 23:59 WIB. Exam type: Open Send to: MM Irfan Subakti CC to Muhammad Ryanda

More information

FOR 240 Homework Assignment 4 Using DBGridView and Other VB Controls to Manipulate Database Introduction to Computing in Natural Resources

FOR 240 Homework Assignment 4 Using DBGridView and Other VB Controls to Manipulate Database Introduction to Computing in Natural Resources FOR 240 Homework Assignment 4 Using DBGridView and Other VB Controls to Manipulate Database Introduction to Computing in Natural Resources This application demonstrates how a DataGridView control can be

More information

CREATING USER ID AND PASSWORD : NOTA PENTING NOTA PENTING SEBELUM MEMULAKAN PROSES CREATE USER ID & PASSWORD

CREATING USER ID AND PASSWORD : NOTA PENTING NOTA PENTING SEBELUM MEMULAKAN PROSES CREATE USER ID & PASSWORD CREATING USER ID AND PASSWORD : NOTA PENTING NOTA PENTING SEBELUM MEMULAKAN PROSES CREATE USER ID & PASSWORD Sebelum meneruskan proses untuk Create User ID & Password sila pastikan anda menggunakan Internet

More information

ISI KANDUNGAN. Tarikh akhir kemaskini: 9 November 2016 Hakcipta Pusat Komputer, UTeM ms 2

ISI KANDUNGAN. Tarikh akhir kemaskini: 9 November 2016 Hakcipta Pusat Komputer, UTeM ms 2 ISI KANDUNGAN UTeM RESEARCH INFORMATION SYSTEM... 3 Pengenalan... 4 Sub Modul Short Term Grant Application... 8 Sub Menu Application... 9 Sub Menu Personel Particulars... 14 Sub Menu List Of Previous Project...

More information

A Complete Tutorial for Beginners LIEW VOON KIONG

A Complete Tutorial for Beginners LIEW VOON KIONG I A Complete Tutorial for Beginners LIEW VOON KIONG Disclaimer II Visual Basic 2008 Made Easy- A complete tutorial for beginners is an independent publication and is not affiliated with, nor has it been

More information

Unit 4. Lesson 4.1. Managing Data. Data types. Introduction. Data type. Visual Basic 2008 Data types

Unit 4. Lesson 4.1. Managing Data. Data types. Introduction. Data type. Visual Basic 2008 Data types Managing Data Unit 4 Managing Data Introduction Lesson 4.1 Data types We come across many types of information and data in our daily life. For example, we need to handle data such as name, address, money,

More information

COMBINING TABLES. Akademi Audit Negara. CAATs ASAS ACL / 1

COMBINING TABLES. Akademi Audit Negara. CAATs ASAS ACL / 1 COMBINING TABLES CAATs ASAS ACL / 1 OBJEKTIF MODUL Mempelajari kaedah menggabung dan menghubungkan dua atau lebih table bagi mencapai objektif Audit. Mempelajari kaedah menggunakan maklumat yang sedia

More information

LAMPIRAN DAFTAR PUBLIKASI ILMIAH PENULIS. No Judul Nama Seminar Tempat Tahun 1 Pemanfaatan Fuzzy Logic Dalam menakar Prestasi

LAMPIRAN DAFTAR PUBLIKASI ILMIAH PENULIS. No Judul Nama Seminar Tempat Tahun 1 Pemanfaatan Fuzzy Logic Dalam menakar Prestasi LAMPIRAN DAFTAR PUBLIKASI ILMIAH PENULIS No Judul Nama Seminar Tempat Tahun 1 Pemanfaatan Fuzzy Logic Dalam menakar Prestasi Konferensi Nasional Pengembangan Siswa Sesuai Standar Teknologi Informasi Kompetensi

More information

1. Create your First VB.Net Program Hello World

1. Create your First VB.Net Program Hello World 1. Create your First VB.Net Program Hello World 1. Open Microsoft Visual Studio and start a new project by select File New Project. 2. Select Windows Forms Application and name it as HelloWorld. Copyright

More information

Computing Science Unit 1

Computing Science Unit 1 Computing Science Unit 1 Software Design and Development Programming Practical Tasks Business Information Technology and Enterprise Contents Input Validation Find Min Find Max Linear Search Count Occurrences

More information

To enter the number in decimals Label 1 To show total. Text:...

To enter the number in decimals Label 1 To show total. Text:... Visual Basic tutorial - currency converter We will use visual studio to create a currency converter where we can convert a UK currency pound to other currencies. This is the interface for the application.

More information

MICROSOFT EXCEL. Membina Hamparan Elektronik Fungsi Hamparan Elektronik

MICROSOFT EXCEL. Membina Hamparan Elektronik Fungsi Hamparan Elektronik MICROSOFT EXCEL Membina Hamparan Elektronik Fungsi Hamparan Elektronik Microsoft Excel 2010 Kandungan Penggunaan Asas Excel Memformat Sel, Lembaran dan Buku Kerja (Work Book) Penggunaan Asas Excel Fail

More information

M2U MANUAL PENGGUNA USER MANUAL M2UNHJ. 0 P a g e BAHAGIAN SIMPANAN DAN PENGELUARAN JABATAN KHIDMAT PENDEPOSIT DAN OPERASI LEMBAGA TABUNG HAJI

M2U MANUAL PENGGUNA USER MANUAL M2UNHJ. 0 P a g e BAHAGIAN SIMPANAN DAN PENGELUARAN JABATAN KHIDMAT PENDEPOSIT DAN OPERASI LEMBAGA TABUNG HAJI M2U MANUAL PENGGUNA USER MANUAL M2UNHJ 0 P a g e BAHAGIAN SIMPANAN DAN PENGELUARAN JABATAN KHIDMAT PENDEPOSIT DAN OPERASI LEMBAGA TABUNG HAJI KANDUNGAN (TABLE OF CONTENTS) BIL PERKARA HALAMAN 1 TERMA DAN

More information

DRAWING AND MOVING IMAGES

DRAWING AND MOVING IMAGES DRAWING AND MOVING IMAGES Moving images and shapes in a Visual Basic application simply requires the user of a Timer that changes the x- and y-positions every time the Timer ticks. In our first example,

More information

PANDUAN PENGGUNA (SUPPLIER) e-purchase ORDER FOR SERVICES

PANDUAN PENGGUNA (SUPPLIER) e-purchase ORDER FOR SERVICES PANDUAN PENGGUNA (SUPPLIER) e-purchase ORDER FOR SERVICES SUPPLIER RELATIONSHIP MANAGEMENT SUPPLY CHAIN MANAGEMENT SYSTEM (SCMS) DISEDIAKAN OLEH: UNIT SUPPLY CHAIN MANAGEMENT (SCM) JABATAN SOURCING CONTROLLER

More information

Unit 3. Lesson Designing User Interface-2. TreeView Control. TreeView Contol

Unit 3. Lesson Designing User Interface-2. TreeView Control. TreeView Contol Designing User Interface-2 Unit 3 Designing User Interface-2 Lesson 3.1-3 TreeView Control A TreeView control is designed to present a list in a hierarchical structure. It is similar to a directory listing.

More information

PROGRAMMING ASSIGNMENT: MOVIE QUIZ

PROGRAMMING ASSIGNMENT: MOVIE QUIZ PROGRAMMING ASSIGNMENT: MOVIE QUIZ For this assignment you will be responsible for creating a Movie Quiz application that tests the user s of movies. Your program will require two arrays: one that stores

More information

Interacting with External Applications

Interacting with External Applications Interacting with External Applications DLLs - dynamic linked libraries: Libraries of compiled procedures/functions that applications link to at run time DLL can be updated independently of apps using them

More information

Learning VB.Net. Tutorial 17 Classes

Learning VB.Net. Tutorial 17 Classes Learning VB.Net Tutorial 17 Classes Hello everyone welcome to vb.net tutorials. These are going to be very basic tutorials about using the language to create simple applications, hope you enjoy it. If

More information

LAMPIRAN 1 PENGARUH KETERSEDIAAN KOLEKSI PERPUSTAKAAN TERHADAP MINAT BACA SISWA SMP NEGERI 30 MEDAN

LAMPIRAN 1 PENGARUH KETERSEDIAAN KOLEKSI PERPUSTAKAAN TERHADAP MINAT BACA SISWA SMP NEGERI 30 MEDAN LAMPIRAN 1 ANGKET PENELITIAN PENGARUH KETERSEDIAAN KOLEKSI PERPUSTAKAAN TERHADAP MINAT BACA SISWA SMP NEGERI 30 MEDAN Saya mengharapkan kesediaan Saudara untuk mengisi angket dalam rangka penelitian tetang

More information

REGISTRATION GUIDE MCIS CUSTOMER PORTAL. Page 1

REGISTRATION GUIDE MCIS CUSTOMER PORTAL. Page 1 REGISTRATION GUIDE MCIS CUSTOMER PORTAL Page 1 Customer Portal Registration Guide Go to www.mcis.my and click the Customer Portal tab Page 2 Customer Portal Registration Guide 1. The page shown below will

More information

Imports System.Data.SqlClient. Public Class Phonebook

Imports System.Data.SqlClient. Public Class Phonebook Imports System.Data.SqlClient Public Class Phonebook Dim vbdatabasedataset As New vbdatabasedataset() Dim PhonebookTableAdapter As New vbdatabasedatasettableadapters.phonebooktableadapter() Dim selection

More information

ssk 2023 asas komunikasi dan rangkaian TOPIK 4.0 PENGALAMATAN RANGKAIAN Minggu 11

ssk 2023 asas komunikasi dan rangkaian TOPIK 4.0 PENGALAMATAN RANGKAIAN Minggu 11 ssk 2023 asas komunikasi dan rangkaian TOPIK 4.0 PENGALAMATAN RANGKAIAN Minggu 11 PENILAIAN & KULIAH Kuliah Tugasan Ujian Teori Ujian Amali Isi kandungan 4.8 Menunjukkan asas pengiraan o Subnet Mask o

More information

Déclaration du module

Déclaration du module Déclaration du module Imports System.IO Module ModuleStagiaires Public Structure Stagiaire Private m_code As Long Private m_nom As String Private m_prenom As String Public Property code() As Long Get Return

More information

(0,0) (600, 400) CS109. PictureBox and Timer Controls

(0,0) (600, 400) CS109. PictureBox and Timer Controls CS109 PictureBox and Timer Controls Let s take a little diversion and discuss how to draw some simple graphics. Graphics are not covered in the book, so you ll have to use these notes (or the built-in

More information

LAMPIRAN. 1. Kode Program

LAMPIRAN. 1. Kode Program 1. Kode Program LAMPIRAN Kode Program 1. Kode program untuk Form Data Imports BusinessLib Public Class formdata #Region " Member " Dim _siswa As Siswa Dim _guru As Guru Dim _mapel As MataPelajaran Dim

More information

ICT SPM 2011 SUGGESTION ANSWER. Section A

ICT SPM 2011 SUGGESTION ANSWER. Section A ICT SPM 2011 SUGGESTION ANSWER Section A NO SOALAN 1 i Computer ethic / ethic ii Computer law / law 2 ii 4 iv 2 3 Output 4 True 5 Gigabyte / GB 6 i Operating ii Application 7 B / D D / B 8 B 9 A 10 i Radio

More information

JABATAN KIMIA Kategori Arahan Kerja

JABATAN KIMIA Kategori Arahan Kerja Mukasurat: 1 daripada 10 1. TUJUAN Tujuan prosedur ini ditubuhkan adalah untuk memberikan arahan yang jelas bagi langkah atau tatacara bagaimana menjalankan analisis sampel menggunakan peralatan JEOL NMR

More information

C4.3, 4 Lab: Conditionals - Select Statement and Additional Input Controls Solutions

C4.3, 4 Lab: Conditionals - Select Statement and Additional Input Controls Solutions C4.3, 4 Lab: Conditionals - Select Statement and Additional Input Controls Solutions Between the comments included with the code and the code itself, you shouldn t have any problems understanding what

More information

FIRST TIME LOGIN & SELF REGISTRATION USER GUIDE LOG MASUK KALI PERTAMA & PENDAFTARAN SENDIRI PANDUAN PENGGUNA

FIRST TIME LOGIN & SELF REGISTRATION USER GUIDE LOG MASUK KALI PERTAMA & PENDAFTARAN SENDIRI PANDUAN PENGGUNA FIRST TIME LOGIN & SELF REGISTRATION USER GUIDE LOG MASUK KALI PERTAMA & PENDAFTARAN SENDIRI PANDUAN PENGGUNA Getting Started Step by Step Guide to Supplier First Time Login and Self Registration Persediaan

More information

Manual Pengguna. PCN Online Service Fulfillment System

Manual Pengguna. PCN Online Service Fulfillment System System 1 Subjek Muka Surat 1) CARTA ALIR SISTEM 2 2) PERMOHONAN OLEH AGENSI 3 3) PENGESAHAN PERMOHONAN OLEH MAMPU 8 4) LAMPIRAN 13 2 Carta alir sistem 3 PERMOHONAN OLEH AGENSI 4 Membuat permohonan baru

More information

Programming with Visual Studio Higher (v. 2013)

Programming with Visual Studio Higher (v. 2013) Programming with Visual Studio Higher (v. 2013) Contents/Requirements Checklist Multiple selection: using ifs & case While Loops Using arrays Filling arrays Displaying array contents Types of variables:

More information

LAMPIRAN. Universitas Sumatera Utara

LAMPIRAN. Universitas Sumatera Utara 61 LAMPIRAN 61 Listing Program Form 1 ( Barang ) Dim CnSuzuya As ADODB.Connection Dim CommBar As ADODB.Command Dim rsbar As ADODB.Recordset Dim StrSql As String Dim psn As Byte Private Sub Form_Load()

More information

VARIABLES. 1. STRINGS Data with letters and/or characters 2. INTEGERS Numbers without decimals 3. FLOATING POINT NUMBERS Numbers with decimals

VARIABLES. 1. STRINGS Data with letters and/or characters 2. INTEGERS Numbers without decimals 3. FLOATING POINT NUMBERS Numbers with decimals VARIABLES WHAT IS A VARIABLE? A variable is a storage location in the computer s memory, used for holding information while the program is running. The information that is stored in a variable may change,

More information

Learning VB.Net. Tutorial 16 Modules

Learning VB.Net. Tutorial 16 Modules Learning VB.Net Tutorial 16 Modules Hello everyone welcome to vb.net tutorials. These are going to be very basic tutorials about using the language to create simple applications, hope you enjoy it. If

More information

BackgroundWorker Component Overview 1 Multithreading with the BackgroundWorker Component 3 Walkthrough Running an Operation in the Background 10 How

BackgroundWorker Component Overview 1 Multithreading with the BackgroundWorker Component 3 Walkthrough Running an Operation in the Background 10 How BackgroundWorker Component Overview 1 Multithreading with the BackgroundWorker Component 3 Walkthrough Running an Operation in the Background 10 How to Download a File in the Background 15 How to Implement

More information

INSTRUCTION: This section consists of FOUR (4) questions. Answer ALL questions. ARAHAN: Bahagian ini mengandungi EMPAT (4) soalan. Jawab SEMUA soalan.

INSTRUCTION: This section consists of FOUR (4) questions. Answer ALL questions. ARAHAN: Bahagian ini mengandungi EMPAT (4) soalan. Jawab SEMUA soalan. SECTION B: 70 MARKS BAHAGIAN B: 70 MARKAH INSTRUCTION: This section consists of FOUR (4) questions. Answer ALL questions. ARAHAN: Bahagian ini mengandungi EMPAT (4) soalan. Jawab SEMUA soalan. QUESTION

More information

C16 Visual Basic Net Programming

C16 Visual Basic Net Programming C16 Visual Basic Net Programming Student ID Student Name Date - Module Tutor - 1 P a g e Report Contents Introduction... 2 Software Development Process... 3 Self Reflection... 6 References... 6 Appendices...

More information