BAB 13 Penerimaan Karyawan

20
 Created By Uus Rusmawan 193 BAB 13 APLIKASI PENERIMAAN KARYAWAN Dengan beberapa pertimbangan akhirnya penulis memutuskan membuat program penerimaan karyawan ini dengan database Access. Semula program ini dibuat dengan database MySQL, tetapi rasanya Access lebih banyak digunakan oleh pemakai komputer. Ilustrasi Program ini dibuat sebagai salah satu contoh sistem penerimaan karyawan baru. Alur sistem yang terjadi digambarkan sebagai berikut: 1. Mengentri data pelamar 2. Mentransfer jadwal ujian 3. Membuat laporan jadwal ujian 4. Mentransfer data pelamar ke tabel nilai hanya nomor lamaran dan namanya saja 5. Mengentri nilai hasil ujian 6. Membuat laporan hasil ujian 13.1 Rancangan Database Dengan menggunakan database Access, maka disini kami tidak perlu lagi menjelaskan langkah-langkah pembuatannya. Silakan dibuat sendiri dengan panduan tabel-tabel berikut ini. Tabel Pelamar Nama Field Type Size Keterangan NomorLmr Text 4 Field index Nama Text 30 Alamat Text 30 Telepon Text 15 Dalam kasus yang sebenarnya data pelamar harus didata selengkap mungkin, misalnya dengan menambahkan field No KTP, jenis kelamin, agama, pendidikan dan sebagainya. Tabel di atas hanya sebagai contoh saja. Tabel Jadwal (Testing) Tabel ini digunakan untuk memberitahukan kepada para pelamar jadwal testing yang harus diikuti setelah lamaran diseleksi. Struktur tabelnya adalah sebagai berikut: Nama Field Type Size Keterangan NomorLmr Text 4 Field index Tanggal Date 8 Tempat Text 20 Grup Text 2 Test1 Numeric Integer Test2 Numeric Integer Test3 Numeric Integer Test4 Numeric Integer

Transcript of BAB 13 Penerimaan Karyawan

5/12/2018 BAB 13 Penerimaan Karyawan - slidepdf.com

http://slidepdf.com/reader/full/bab-13-penerimaan-karyawan 1/20

 

Created By Uus Rusmawan

193

BAB 13

APLIKASI PENERIMAAN KARYAWAN

Dengan beberapa pertimbangan akhirnya penulis memutuskan membuat programpenerimaan karyawan ini dengan database Access. Semula program ini dibuatdengan database MySQL, tetapi rasanya Access lebih banyak digunakan oleh

pemakai komputer.

Ilustrasi

Program ini dibuat sebagai salah satu contoh sistem penerimaan karyawan baru.Alur sistem yang terjadi digambarkan sebagai berikut:1.  Mengentri data pelamar2.  Mentransfer jadwal ujian

3.  Membuat laporan jadwal ujian4.  Mentransfer data pelamar ke tabel nilai hanya nomor lamaran dan namanya

saja5.  Mengentri nilai hasil ujian

6.  Membuat laporan hasil ujian

13.1 Rancangan Database

Dengan menggunakan database Access, maka disini kami tidak perlu lagimenjelaskan langkah-langkah pembuatannya. Silakan dibuat sendiri denganpanduan tabel-tabel berikut ini.

Tabel Pelamar

Nama Field Type Size Keterangan

NomorLmr Text 4 Field index

Nama Text 30

Alamat Text 30

Telepon Text 15

Dalam kasus yang sebenarnya data pelamar harus didata selengkap mungkin,misalnya dengan menambahkan field No KTP, jenis kelamin, agama, pendidikan

dan sebagainya. Tabel di atas hanya sebagai contoh saja.

Tabel Jadwal (Testing)

Tabel ini digunakan untuk memberitahukan kepada para pelamar jadwal testingyang harus diikuti setelah lamaran diseleksi. Struktur tabelnya adalah sebagaiberikut:

Nama Field Type Size Keterangan

NomorLmr Text 4 Field index

Tanggal Date 8

Tempat Text 20

Grup Text 2

Test1 Numeric Integer

Test2 Numeric Integer

Test3 Numeric Integer

Test4 Numeric Integer

5/12/2018 BAB 13 Penerimaan Karyawan - slidepdf.com

http://slidepdf.com/reader/full/bab-13-penerimaan-karyawan 2/20

 

Created By Uus Rusmawan

194

Tabel Nilai

Tabel ini berfungsi untuk menyimpan data hasil testing baik yang dinyatakan lulusataupun gagal dengan rincian struktur sebagai berikut:

Nama Field Type Size Keterangan

NomorLmr Text 4 Filed indexNama Text 30

Test1 Numeric Integer

Test2 Numeric Integer

Test3 Numeric Integer

Test4 Numeric Integer

Total Numeric Integer

Skor Numeric Integer

Ket Text 10

Bekerja Dengan VB .NET

Setelah selesai membuat database dan tabel-tabel yang diperlukan, langkah

selanjutnya adalah membuat beberapa form yang diperlukan untuk membuatprogram aplikasi penerimaan karyawan baru dengan rincian sebagai berikut:

13.2 Data Pelamar

Buatlah form untuk data pelamar dengan bentuk seperti gambar 13.1. Anda dapat

membuatnya sesuai selera yang terpenting adalah form tersebut dapatmengakomodasi seluruh field yang strukturnya telah dirancang sebelumnya.

Gambar 13.1 Pengolahan data pelamar 

Untuk mempercepat akses ke database, buatlah sebuah module. Caranya klik menuProject > Add Module > Klik Open. Kemudian ketiklah Coding di bawah ini.

5/12/2018 BAB 13 Penerimaan Karyawan - slidepdf.com

http://slidepdf.com/reader/full/bab-13-penerimaan-karyawan 3/20

 

Created By Uus Rusmawan

195

Module Module1Public Function Koneksi() As OleDb.OleDbConnection

Dim Conn As OleDb.OleDbConnectionConn = New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data

Source=" & Application.StartupPath.ToString & "\DBSeleksi.mdb")

Return ConnConn = Nothing

End Function

Public DA As OleDb.OleDbDataAdapterPublic DT As New DataTablePublic DS As New DataSetPublic Cmd As OleDb.OleDbCommand

Public strSQL As StringPublic Conn = Module1.Koneksi

End Module

Entrilah beberapa pelamar (untuk contoh) sehingga menghasilkan data pelamar

seperti tabel berikut :

NomorLmr Nama Alamat Telepon

0001 Kusuma Hati Jl Priok No 98 2199887766

0002 Nita Merlina Jl Kebagusan No 76 2198765435

0003 Dewi Yuliandari Jl Cikarang No 65 2678276354

0004 Moh. Wahyudi Jl Cengkareng No 24 2182736432

0005 Dedi Supriyadi Jl Menteng No 45 2122334455

0006 Panca Hariwan Jl Kemuning No 76 2188227733

0007 Maslahat Jl Ps Minggu No 765 2188227799

0008 Giri Priono Jl Harapan Indah No 81 2199228800

0009 Retno Dwi Gustini Jl Harum Manis No 72 21882200220010 Turisnawati Jl Cilacap No 76 2358866551

Coding :

Imports System.DataImports System.Data.OleDb

Public Class PelamarInherits System.Windows.Forms.Form

#Region " Windows Form Designer generated code "Public Sub New()

MyBase.New()InitializeComponent()

End Sub. . .. . .

#End Region

'fungsi ini digunakan untuk membaca nomor pelamar secara otomatisSub Otomatis()

5/12/2018 BAB 13 Penerimaan Karyawan - slidepdf.com

http://slidepdf.com/reader/full/bab-13-penerimaan-karyawan 4/20

 

Created By Uus Rusmawan

196

Dim Urutan As StringDim Hitung As LongDim DS As New DataSet'buka tabel pelamar urutkan secara descendingDA = New OleDb.OleDbDataAdapter("select Nomorlmr from Pelamar order by

NomorLmr desc", Module1.Koneksi)

DA.Fill(DS)Dim TBL As DataTable = DS.Tables(0)'jika belum ada data, maka nomor lamarannya 0001If TBL.Rows.Count = 0 Then

Urutan = "0001"Else

'jika sudah ada data, makaDA = New OleDb.OleDbDataAdapter("Select NomorLmr from Pelamar order

by NomorLmr desc", Module1.Koneksi)Dim DTNomor As New DataTableDTNomor.Clear()DA.Fill(DTNomor)

'nomor lamaranya adalah nomor lamaran terakhir + 1

Me.BindingContext(DTNomor).Position =Me.BindingContext(DTNomor).Position.MaxValue

Hitung = (TBL.Rows(0)(0)) + 1Urutan = Microsoft.VisualBasic.Right("0000" & Hitung, 4)

End If TextBox1.Text = Urutan

End Sub

Private Sub Pelamar_Load(ByVal sender As System.Object, ByVal e As 

System.EventArgs) Handles MyBase.LoadTextBox1.MaxLength = 4TextBox2.MaxLength = 30TextBox3.MaxLength = 30

TextBox4.MaxLength = 15KondisiAwal()TampilGrid()

End Sub

Sub TampilGrid()DA = New OleDb.OleDbDataAdapter("select * From Pelamar",

Module1.Koneksi)Dim DTPelamar As New DataTableDTPelamar.Clear()DA.Fill(DTPelamar)

Me.DataGrid1.DataSource = DTPelamarMe.DataGrid1.ReadOnly = True

End Sub

Sub Gelap()TextBox1.Enabled = FalseTextBox2.Enabled = False

TextBox3.Enabled = FalseTextBox4.Enabled = False

End Sub

Sub Terang()

5/12/2018 BAB 13 Penerimaan Karyawan - slidepdf.com

http://slidepdf.com/reader/full/bab-13-penerimaan-karyawan 5/20

 

Created By Uus Rusmawan

197

TextBox1.Enabled = TrueTextBox2.Enabled = TrueTextBox3.Enabled = TrueTextBox4.Enabled = True

End Sub

Sub Kosongkan()TextBox1.Text = ""TextBox2.Text = ""TextBox3.Text = ""

TextBox4.Text = ""End Sub

Sub KondisiAwal()

TampilGrid()Gelap()Kosongkan()Button1.Text = "&Input"

Button2.Text = "&Edit"

Button3.Text = "&Hapus"Button4.Text = "&Tutup"

Button1.Enabled = TrueButton2.Enabled = TrueButton3.Enabled = TrueButton4.Enabled = True

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As 

System.EventArgs) Handles Button1.ClickIf Button1.Text = "&Input" Then

Button1.Text = "&Simpan"Button2.Enabled = False

Button3.Enabled = FalseButton4.Text = "&Batal"Terang()Call Otomatis()

TextBox1.Enabled = FalseTextBox2.Focus()Exit Sub

ElseIf TextBox1.Text = "" Or TextBox2.Text = "" Or TextBox3.Text = "" Or 

TextBox4.Text = "" ThenMessageBox.Show("Data belum lengkap")

If TextBox1.Text = "" ThenTextBox1.Focus()

ElseIf TextBox2.Text = "" Then

TextBox2.Focus()ElseIf TextBox3.Text = "" Then

TextBox3.Focus()ElseIf TextBox4.Text = "" Then

TextBox4.Focus()End If 

ElseTry

Call Module1.Koneksi()

5/12/2018 BAB 13 Penerimaan Karyawan - slidepdf.com

http://slidepdf.com/reader/full/bab-13-penerimaan-karyawan 6/20

 

Created By Uus Rusmawan

198

Conn.Open()Dim SqlInput As String = "insert into Pelamar

(NomorLmr,Nama,Alamat,Telepon) values ('" & TextBox1.Text & "','" & TextBox2.Text & "','" & TextBox3.Text & "','" & TextBox4.Text & "')"

Dim SqlKu As OleDbCommand = New OleDbCommand(SqlInput,Conn)

SqlKu.ExecuteNonQuery()Conn.Close()KondisiAwal()Button1.Focus()

Catch ex As ExceptionMsgBox(ex.Message, MsgBoxStyle.Information, "Perhatian")

End TryEnd If 

End If End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As 

System.EventArgs) Handles Button2.Click

If Button2.Text = "&Edit" ThenButton2.Text = "&Simpan"

Button1.Enabled = FalseButton3.Enabled = FalseButton4.Text = "&Batal"Terang()

TextBox1.Focus()Exit Sub

Else

If TextBox1.Text = "" Or TextBox2.Text = "" Or TextBox3.Text = "" Or TextBox4.Text = "" Then

MessageBox.Show("data belum lengkap")If TextBox1.Text = "" Then

TextBox1.Focus()ElseIf TextBox2.Text = "" ThenTextBox2.Focus()

ElseIf TextBox3.Text = "" Then

TextBox3.Focus()ElseIf TextBox4.Text = "" Then

TextBox4.Focus()End If 

ElseTry

Call Module1.Koneksi()

Conn.Open()Dim SqlEdit As String = "Update Pelamar Set Nama='" & 

TextBox2.Text & "',Alamat='" & TextBox3.Text & "',Telepon='" & TextBox4.Text & "'

where NomorLmr='" & TextBox1.Text & "'"Dim SqlKu As OleDbCommand = New OleDbCommand(SqlEdit, Conn)SqlKu.ExecuteNonQuery()Conn.Close()

KondisiAwal()Button2.Focus()

Catch ex As ExceptionMsgBox(ex.Message, MsgBoxStyle.Information, "Perhatian")

End Try

5/12/2018 BAB 13 Penerimaan Karyawan - slidepdf.com

http://slidepdf.com/reader/full/bab-13-penerimaan-karyawan 7/20

 

Created By Uus Rusmawan

199

End If End If 

End Sub

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click

If Button3.Text = "&Hapus" ThenButton1.Enabled = FalseButton2.Enabled = FalseButton3.Text = "&Hapus"

Button4.Text = "&Batal"TextBox1.Enabled = TrueTextBox1.Focus()

End If 

End Sub

Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click

Select Case Button4.Text

Case "&Tutup"KondisiAwal()

Me.Close()Case "&Batal"

KondisiAwal()End Select

End Sub

Sub TampilData()

Dim DS As New DataSetDA = New OleDb.OleDbDataAdapter("select * from Pelamar where

NomorLmr='" & TextBox1.Text & "'", Module1.Koneksi)DA.Fill(DS)

Dim Tbl As DataTable = DS.Tables(0)TextBox2.Text = Tbl.Rows(0)(1)TextBox3.Text = Tbl.Rows(0)(2)TextBox4.Text = Tbl.Rows(0)(3)

End Sub

Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs)Handles TextBox1.KeyPress

If e.KeyChar = Chr(13) ThenTextBox1.Text = UCase(TextBox1.Text)If Button1.Text = "&Simpan" Then

Dim DS As New DataSetDA = New OleDb.OleDbDataAdapter("select * from Pelamar where

NomorLmr='" & TextBox1.Text & "'", Module1.Koneksi)

DA.Fill(DS)Dim TBL As DataTable = DS.Tables(0)If TBL.Rows.Count <> 0 Then

TampilData()

MessageBox.Show("Kode Pelamar sudah ada, Coba Kode Lain")TextBox1.Focus()Kosongkan()Exit Sub

Else

5/12/2018 BAB 13 Penerimaan Karyawan - slidepdf.com

http://slidepdf.com/reader/full/bab-13-penerimaan-karyawan 8/20

 

Created By Uus Rusmawan

200

TextBox2.Focus()End If 

ElseIf Button2.Text = "&Simpan" ThenDim DS As New DataSetDA = New OleDb.OleDbDataAdapter("select * from Pelamar where

NomorLmr='" & TextBox1.Text & "'", Module1.Koneksi)DA.Fill(DS)Dim TBL As DataTable = DS.Tables(0)If TBL.Rows.Count <> 0 Then

TampilData()TextBox1.Enabled = FalseTextBox2.Focus()Exit Sub

ElseMessageBox.Show("Kode Pelamar tidak ada, Coba Kode Lain")TextBox1.Focus()Kosongkan()

End If 

ElseIf Button3.Text = "&Hapus" Then

Dim DS As New DataSetDA = New OleDb.OleDbDataAdapter("select * from Pelamar where

NomorLmr='" & TextBox1.Text & "'", Module1.Koneksi)DA.Fill(DS)

Dim TBL As DataTable = DS.Tables(0)If TBL.Rows.Count <> 0 Then

TampilData()

Dim Message As String = "Yakin akan di&Hapus ?"Dim Caption As String = "&Hapus Data"Dim Buttons As Integer = MessageBoxButtons.YesNoDim Result As DialogResult

Result = MessageBox.Show(Me, Message, Caption,MessageBoxButtons.YesNo, MessageBoxIcon.Question,MessageBoxDefaultButton.Button1, MessageBoxOptions.RightAlign)

If Result = DialogResult.Yes Then

Call Module1.Koneksi()Conn.Open()Dim SqlHapus As String = "delete * from Pelamar where

NomorLmr='" & TextBox1.Text & "'"Dim SqlKu As OleDbCommand = New OleDbCommand(SqlHapus,

Conn)SqlKu.ExecuteNonQuery()

Conn.Close()Kosongkan()KondisiAwal()

Button3.Focus()Else

Kosongkan()KondisiAwal()

Button3.Focus()End If 

ElseMessageBox.Show("Data tidak ditemukan")

TextBox1.Focus()

5/12/2018 BAB 13 Penerimaan Karyawan - slidepdf.com

http://slidepdf.com/reader/full/bab-13-penerimaan-karyawan 9/20

 

Created By Uus Rusmawan

201

Exit SubEnd If 

End If End If If  Not ((e.KeyChar >= "0" And e.KeyChar <= "9") Or e.KeyChar = vbBack)

Then e.Handled() = True

End Sub

Private Sub TextBox2_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs)Handles TextBox2.KeyPress

If e.KeyChar = Chr(13) ThenTextBox2.Text = UCase(TextBox2.Text)TextBox3.Focus()

End If 

End Sub

Private Sub TextBox3_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs)Handles TextBox3.KeyPress

If e.KeyChar = Chr(13) Then

TextBox3.Text = UCase(TextBox3.Text)TextBox4.Focus()

End If End Sub

Private Sub TextBox4_KeyPress(ByVal sender As Object, ByVal e As 

System.Windows.Forms.KeyPressEventArgs)Handles TextBox4.KeyPressIf e.KeyChar = Chr(13) Then

If Button1.Text = "&Simpan" Then

Button1.Focus()Else

Button2.Focus()End If 

End If If  Not ((e.KeyChar >= "0" And e.KeyChar <= "9") Or e.KeyChar = vbBack)Then e.Handled() = True

End Sub

End Class

Penjelasan:

Tidak ada yang istimewa dalam program pengolahan data pelamar ini, hanya sajaterdapat satu sub program yaitu Sub Otomatis untuk menampilkan nomor lamaran

secara otomatis (terurut) dari 0001 s/d ….. pada saat proses input dilakukan.Penjelasannya telah kami berikan dalam coding.

13.3 Transfer Jadwal Testing

Dalam kasus ini, entri jadwal testing ditentukan sebagai berikut:1.  Perserta testing dikelompokkan dengan jumlah 5 orang per kelompok Anda

dapat mengubah jumlah per kelompok sesuai banyaknya pelamar dan dayatampung tempat testing.

2.  Tiap kelompok berbeda tanggal testing, selisihnya 10 hari dari tanggal hari ini3.  Proses entri jadwal ujian tidak perlu dilakukan secara manual dengan cara

menginput data satu persatu, dapat dibayangkan jika jumlah pelamar

5/12/2018 BAB 13 Penerimaan Karyawan - slidepdf.com

http://slidepdf.com/reader/full/bab-13-penerimaan-karyawan 10/20

 

Created By Uus Rusmawan

202

mencapai ribuan orang, maka pekerjaan entri jadwal ujian untuk masing-masing peserta menjadi tidak efektif dan efisien. Dalam kasus ini proses entriakan dilakukan cukup dengan membuat sebuah otomasi dengan sekali klik.Oleh karena itu buatlah form seperti gambar 13.2.

Gambar 13.2 Transfer jadwal ujian

Coding :

Imports System.DataImports System.Data.OleDb

Public Class TransferJadwal

Inherits System.Windows.Forms.Form

#Region " Windows Form Designer generated code "

Public Sub New()MyBase.New()InitializeComponent()

End Sub. . .. . .#End Region

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

TryCall Module1.Koneksi()Conn.Open()'hapus dulu tabel jadwal

Dim Sqlhapus1 As String = "Delete * from Jadwal"Dim Sqlhapus2 As OleDbCommand = New OleDbCommand(Sqlhapus1,

Conn)Sqlhapus2.ExecuteNonQuery()

Dim DS As New DataSet'buka tabel pelamarDA = New OleDb.OleDbDataAdapter("select * From Pelamar",

Module1.Koneksi)DA.Fill(DS)Dim TBL As DataTable = DS.Tables(0)'hitung banyaknya record dalam tabel jadwal

Dim Baris As Integer = TBL.Rows.Count'baca berulang-ulangFor Baris = 0 To Baris - 1

Dim grup As ByteDim tgl As Date

5/12/2018 BAB 13 Penerimaan Karyawan - slidepdf.com

http://slidepdf.com/reader/full/bab-13-penerimaan-karyawan 11/20

 

Created By Uus Rusmawan

203

Dim tempat, Test1, Test2, Test3, Test4 As String'jika jumlah data <5 maka termasuk grup 1 dan'tanggal testing 10 hari dari tanggal hari iniIf Baris < 5 Then

grup = 1 ‘tambah 10 hari dari hari ini

tgl = DateAdd(DateInterval.Day, 10, Today)ElseIf Baris >= 5 And Baris < 8 Then

grup = 2tgl = DateAdd(DateInterval.Day, 11, Today)

ElseIf Baris > 9 Thengrup = 3tgl = DateAdd(DateInterval.Day, 12, Today)

End If 

tempat = "AULA"Test1 = "Ruang 1"Test2 = "Ruang 2"Test3 = "Ruang 3"

Test4 = "Ruang 4"

'input berulang-ulang sesuai kriteria di atasDim SqlInput As String = "insert into

Jadwal(Nomorlmr,tanggal,tempat,grup,Test1,Test2,Test3,Test4) " & Chr(13) & _"values ('" & TBL.Rows(Baris)(0) & "','" & tgl & "','" & tempat & "','" & 

grup & "','" & Test1 & "','" & Test2 & "','" & Test3 & "','" & Test4 & "')"Dim SqlDetail As OleDbCommand = New OleDbCommand(SqlInput,

Conn)SqlDetail.ExecuteNonQuery()

Next Baris

MsgBox("Transfer sukses")Me.Close()

Catch ex As ExceptionMsgBox("Transfer gagal, perbaiki programnya..", MsgBoxStyle.Information)

EndEnd Try ‘panggil form jadwaltesting

Dim Form As New JadwalTesting

Form.TopMost() = TrueForm.ShowDialog()Form.Dispose()

End SubEnd Class

Sebelum project di RUN buatlah sebuah form dengan nama JadwalTesting dengan

menambahkan sebuah Datagrid lalu ketik coding berikut:

Imports System.Data

Imports System.Data.OleDb

Public Class JadwalTestingInherits System.Windows.Forms.Form

#Region " Windows Form Designer generated code "Public Sub New()

MyBase.New()InitializeComponent()

End Sub

5/12/2018 BAB 13 Penerimaan Karyawan - slidepdf.com

http://slidepdf.com/reader/full/bab-13-penerimaan-karyawan 12/20

 

Created By Uus Rusmawan

204

. . .

. . .#End Region

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

DA = New OleDb.OleDbDataAdapter("select * From Jadwal",Module1.Koneksi)

Dim DTJadwal As New DataTableDTJadwal.Clear()

DA.Fill(DTJadwal)Me.DataGrid1.DataSource = DTJadwalMe.DataGrid1.ReadOnly = True

End Sub

End Class

Jika program di RUN akan menghasilkan data sebagai berikut:

Gambar 13.3 Hasil transfer data jadwal 

13.4 Transfer Data Pelamar

Program ini digunakan untuk menyalin data pelamar (hanya nomor lamaran dan

nama pelamar) ke tabel Nilai. Hal ini dilakukan mengingat jumlah pelamar yangsangat banyak tidak mungkin dientri satu persatu secara manual. Buatlah formseperti gambar 13.4.

Gambar 13.4 Transfer data pelamar ke tabel nilai 

Coding :

Imports System.DataImports System.Data.OleDb

5/12/2018 BAB 13 Penerimaan Karyawan - slidepdf.com

http://slidepdf.com/reader/full/bab-13-penerimaan-karyawan 13/20

 

Created By Uus Rusmawan

205

Public Class TransferPelamarInherits System.Windows.Forms.Form

#Region " Windows Form Designer generated code "Public Sub New()

MyBase.New()

InitializeComponent()End Sub

. . .#End Region

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

Try

Call Module1.Koneksi()Conn.Open()Dim Sqlhapus1 As String = "Delete * from Nilai"Dim Sqlhapus2 As OleDbCommand = New OleDbCommand(Sqlhapus1,

Conn)

Sqlhapus2.ExecuteNonQuery()Dim DS As New DataSet

DA = New OleDb.OleDbDataAdapter("select * From Pelamar",Module1.Koneksi)

DA.Fill(DS)Dim TBL As DataTable = DS.Tables(0)

Dim Baris As Integer = TBL.Rows.CountFor Baris = 0 To Baris - 1

Dim SqlInput As String = "insert into Nilai(Nomorlmr,Nama)values ('" & 

TBL.Rows(Baris)(0) & "','" & TBL.Rows(Baris)(1) & "')"Dim SqlDetail As OleDbCommand = New OleDbCommand(SqlInput,

Conn)SqlDetail.ExecuteNonQuery()

Next BarisMsgBox("Transfer sukses")Me.Close()

Catch ex As Exception

MsgBox(ex.Message, MsgBoxStyle.Information)End

End TryEnd Sub

End Class

13.5 Entri Nilai Testing

Data nilai dientri langsung dalam DataGrid, setelah nomor lamaran dan namapelamar ditransfer oleh program sebelumnya.

5/12/2018 BAB 13 Penerimaan Karyawan - slidepdf.com

http://slidepdf.com/reader/full/bab-13-penerimaan-karyawan 14/20

 

Created By Uus Rusmawan

206

Gambar 13.5 Hasil transfer pelamar 

Jika data nilai dientri seperti gambar di bawah ini, maka perintah Update dilakukan

pada saat form di Close, tetapi perubahan terjadi saat tiap sel diisi. Lihat coding dibawahnya.

Gambar 13.6 Entri nilai testing

Coding :

Imports System.DataImports System.Data.OleDb

Public Class EntriNilai

Inherits System.Windows.Forms.Form

#Region " Windows Form Designer generated code "

Public Sub New()

MyBase.New()InitializeComponent()End Sub

. . .

. . .#End Region

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

5/12/2018 BAB 13 Penerimaan Karyawan - slidepdf.com

http://slidepdf.com/reader/full/bab-13-penerimaan-karyawan 15/20

 

Created By Uus Rusmawan

207

'tampilkan data nilaiDA = New OleDb.OleDbDataAdapter("Select * from Nilai", Module1.Koneksi)DS = New DataSetDA.Fill(DS, "Nilai")Dim TBL As DataTable = DS.Tables(0)Dim Jumlah As Byte

'hitung banyaknya baris (jumlah data)Jumlah = TBL.Rows.CountLabel2.Text = Jumlah'tabel di binding dalam DataGrid

DataGrid1.SetDataBinding(DS, "Nilai")End Sub

'perubahan dilakukan saat terjadi entri data di tiap sel

Private Sub Datagrid1_CurrentCellChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles DataGrid1.CurrentCellChanged

TryDim TBL As DataTable = DS.Tables(0)

Dim baris As Byte

For baris = 0 To Label2.Text - 1If TBL.Rows.Count <> 0 Then

'Total dihasilkan dari penjumlahan test1 s/d text4TBL.Rows(baris)(6) = Val(TBL.Rows(baris)(2)) +

Val(TBL.Rows(baris)(3)) + Val(TBL.Rows(baris)(4)) + Val(TBL.Rows(baris)(5))'skor dihasilkan dari total/4

TBL.Rows(baris)(7) = Val(TBL.Rows(baris)(6)) / 4'ket dihasilkan dari skor, jika >80 Lulus, selain itu gagalIf Val(TBL.Rows(baris)(7) >= 80) Then

TBL.Rows(baris)(8) = "Lulus"Else

TBL.Rows(baris)(8) = "Gagal"End If 

End If Next barisCatch ex As Exception

MsgBox(ex.Message, MsgBoxStyle.Information, "Perhatian")

EndEnd Try

End Sub

'Update dilakukan saat form di ClosePrivate Sub EntriNilai_Closed(ByVal sender As Object, ByVal e As 

System.EventArgs) Handles MyBase.Closed

TryDim TBL As DataTable = DS.Tables(0)Dim baris As Byte

For baris = 0 To Label2.Text - 1DA = New OleDb.OleDbDataAdapter("select * from Nilai where

nomorlmr='" & TBL.Rows(baris)(0) & "'", Module1.Koneksi)Dim DTNilai As New DataTable

DTNilai.Clear()DA.Fill(DTNilai)

If TBL.Rows.Count <> 0 Then

'semua updating dilakukan pada nomor lamaran

5/12/2018 BAB 13 Penerimaan Karyawan - slidepdf.com

http://slidepdf.com/reader/full/bab-13-penerimaan-karyawan 16/20

 

Created By Uus Rusmawan

208

'yang terdapat di kolom 0Dim Sqledit1 As String = "Update Nilai set Test1='" & 

TBL.Rows(baris)(2) & "',Test2 ='" & TBL.Rows(baris)(3) & "',Test3 ='" & TBL.Rows(baris)(4) & "',Test4 ='" & TBL.Rows(baris)(5) & "' where NomorLmr='" & TBL.Rows(baris)(0) & "'"

Dim Sqledit2 As OleDbCommand = New OleDbCommand(Sqledit1,

Conn)

Dim SqlTotal1 As String = "Update Nilai set Total='" & Val(TBL.Rows(baris)(6)) & "' where nomorlmr='" & TBL.Rows(baris)(0) & "'"

Dim SqlTotal2 As OleDbCommand = New OleDbCommand(SqlTotal1,Conn)

Dim SqlSkor1 As String = "Update Nilai set Skor='" & 

Val(TBL.Rows(baris)(7)) & "' where nomorlmr='" & TBL.Rows(baris)(0) & "'"Dim SqlSkor2 As OleDbCommand = New OleDbCommand(SqlSkor1,

Conn)

Dim SqlKet1 As String = "Update Nilai set Ket= '" & 

TBL.Rows(baris)(8) & "' where nomorlmr='" & TBL.Rows(baris)(0) & "'"Dim SqlKet2 As OleDbCommand = New OleDbCommand(SqlKet1,

Conn)

Conn.Open()'eksekusi semua perintah sql di atas

Sqledit2.ExecuteNonQuery()SqlTotal2.ExecuteNonQuery()SqlSkor2.ExecuteNonQuery()

SqlKet2.ExecuteNonQuery()

Conn.Close()End If 

Next barisCatch ex As ExceptionMsgBox(ex.Message, MsgBoxStyle.Information, "Perhatian")End

End TryEnd Sub

End Class

13.6 Membuat Laporan

Pembuatan laporan terdiri dari laporan data pelamar, laporan jadwal testing, dan

laporan hasil seleksi (yang dapat dipilah-pilah). Untuk menghemat ruang, waktudan tenaga kita tidak perlu membuat form sebanyak jumlah laporan yang akanditampilkan, cukup dengan satu form dan satu Crystal Report Viewer tetapi

ditambah dengan tiga buah Button yang digunakan untuk memanggil tiga laporantersebut.Ikuti langkah-langkah pembuatan laporan di bab 10 tetapi properti ReportSourcedikosongkan, karena satu Crystal Report Viewer itu akan dimanfaatkan untuk

menampilkan tiga laporan. Buatlah form seperti gambar 13.7.

5/12/2018 BAB 13 Penerimaan Karyawan - slidepdf.com

http://slidepdf.com/reader/full/bab-13-penerimaan-karyawan 17/20

 

Created By Uus Rusmawan

209

Gambar 13.7 form untuk tiga laporan

Coding

Public Class Laporan

Inherits System.Windows.Forms.Form

#Region " Windows Form Designer generated code "

Public Sub New()MyBase.New()InitializeComponent()

End Sub. . .. . .#End Region

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

Me.CrystalReportViewer1.ReportSource = NothingMe.CrystalReportViewer1.RefreshReport()Me.CrystalReportViewer1.ReportSource = "C:\Pemrograman VB.NET\Program

7 Seleksi Access\bin\lappelamar.rpt"

End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

Me.CrystalReportViewer1.ReportSource = NothingMe.CrystalReportViewer1.RefreshReport()

Me.CrystalReportViewer1.ReportSource = "C:\Pemrograman VB.NET\Program7 Seleksi Access\bin\lapjadwal.rpt"End Sub

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click

Me.CrystalReportViewer1.ReportSource = NothingMe.CrystalReportViewer1.RefreshReport()

5/12/2018 BAB 13 Penerimaan Karyawan - slidepdf.com

http://slidepdf.com/reader/full/bab-13-penerimaan-karyawan 18/20

 

Created By Uus Rusmawan

210

Me.CrystalReportViewer1.ReportSource = "C:\Pemrograman VB.NET\Program7 Seleksi Access\bin\lapnilai.rpt"

End SubEnd Class

Laporan Data Pelamar

Buatlah laporan data pelamar dengan hasil seperti gambar di bawah ini

Gambar 13.8 Laporan data pelamar 

5/12/2018 BAB 13 Penerimaan Karyawan - slidepdf.com

http://slidepdf.com/reader/full/bab-13-penerimaan-karyawan 19/20

 

Created By Uus Rusmawan

211

Laporan Jadwal Testig

Buatlah laporan jadwal testing seperti gambar 13.9.

Gambar 13.9 Laporan jadwal testing

Laporan ini dirancang dengan mengelompokan tanggalnya.

Laporan Hasil Testing

Buatlah sebuah laporan dengan hasil seperti gambar 13.10.

Gambar 13.10 Laporan hasil testing

Catatan :

5/12/2018 BAB 13 Penerimaan Karyawan - slidepdf.com

http://slidepdf.com/reader/full/bab-13-penerimaan-karyawan 20/20

 

Created By Uus Rusmawan

212

Jika Anda berinovasi dan berkreasi, sebenarnya file laporan ini dapat dimanipulasi,misalnya menampilkan palamar yang Lulus atau Gagal saja, menampilkan pelamardengan nilai tertinggi dan sebagainya, caranya cukup mudah yaitu denganSELECTIONFORMULA.