• Tidak ada hasil yang ditemukan

BAB IV IMPLEMENTASI

B. Implementasi Proses

9. Proses simpan data

Merupakan proses untuk menyimpan data. User yang berhak

melakukan simpan data adalah admin dan user yang diberi otoritas untuk

menyimpan data. Pada proses simpan data ini menggunakan contoh pada

form guru.

On Error GoTo pesan

If txtnip.Text = Empty Or txtNama_guru.Text = Empty Then

MsgBox "NIP, Nama Guru Tidak Boleh Kosong...!!!", vbOKOnly, "Informasi"

Penggalan program di atas berarti apabila NIP dan nama guru

kosong maka akan muncul pesan "NIP, Nama Guru Tidak Boleh

Kosong...!!!"

If txtnip.Text <> "" Then If aksi = "tambah" Then Call konek

Set rs = conn.Execute("select * from guru where NIP='" & txtnip.Text & "'")

If rs.EOF Then

Adodc1.Recordset.Update Adodc1.Refresh

Call Controlls Call Form_Load

MsgBox "Data Sudah Tersimpan", vbOKOnly, "Informasi"

keadaan (False) Else

MsgBox "NIP Sudah ada.. ganti NIP Lain", vbOKOnly, "Informasi"

End If

Penggalan perintah di atas berarti melakukan tambah data dan

menyimpan data, apabila data tersimpan muncul pesan : "Data Sudah

Tersimpan". Apabila NIP yang diisikan sudah ada dalam data maka

muncul pesan : "NIP Sudah ada.. ganti NIP Lain".

aksi = "edit" Then Adodc1.Recordset.Update Adodc1.Refresh

Call Controlls Call Form_Load

MsgBox "Data Sudah Tersimpan", vbOKOnly, "Informasi"

keadaan (False) pesan:

MsgBox "NIP Sudah Ada...", vbOKOnly, "Informasi"

Penggalan perintah di atas berarti melakukan edit data dan

menyimpan data, apabila data tersimpan muncul pesan : "Data Sudah

muncul pesan : "NIP Sudah ada...".

10.Proses guru mengampu mata pelajaran

Merupakan proses dimana guru mengampu mata pelajaran

berdasarkan tahun ajaran dan semester.

a) Proses buka

Proses ini digunakan untuk membuka data guru beserta mata

pelajaran yang diampunya.

Adodc2.ConnectionString = strconnect

Adodc2.RecordSource = "SELECT mengampu.id_mengampu, mengampu.thn_ajaran, mengampu.Semester, mengampu.kode_mp, mp.Namamp, mengampu.NIP, guru.Nama_guru" _

& " FROM (mengampu LEFT JOIN guru ON mengampu.NIP = guru.NIP) INNER JOIN mp ON mengampu.kode_mp = mp.Kode_mp" _

& " WHERE (((mengampu.thn_ajaran)='" & cbthn_ajaran.Text & "') AND ((mengampu.Semester)='" & cbsemester.Text & "'))"

Penggalan perintah di atas digunakan untuk mencari

id_mengampu, thn_ajaran, semester, kode_mp, nama_mp, NIP,

nama_guru yang ada dalam sistem.

b) Proses persiapkan mata pelajaran

Proses ini digunakan untuk mempersiapkan mata pelajaran yang

ditawarkan.

ans = MsgBox("Data lama akan tertimpa... Yakin Akan mempersiapkan data? ...???", vbYesNo + vbQuestion, "Confirm Deletion")

Pesan diatas adalah pesan yang akan muncul setelah tekan button

persiapkan mata pelajaran. Apabila memilih no, selanjutnya menjalankan

program di bawah ini :

If ans = vbNo Then Exit Sub Call konek

conn.Execute ("DELETE FROM mengampu where thn_ajaran='" & cbthn_ajaran.Text & "' and semester= '" & cbsemester.Text & "'")

Perintah di atas digunakan untuk membatalkan penimpaan data.

Apabila memilih Yes, maka akan muncul :

Call konek

conn.Execute ("insert into mengampu (thn_ajaran,semester,kode_mp,nip) select '" & cbthn_ajaran.Text & "', '" & cbsemester.Text & "', kode_mp,nip from mp where semester ='" & cbsemester.Text & "' ")

MsgBox "Persiapkan Data Sudah sukses...!!!", vbOKOnly, "Informasi"

Perintah di atas digunakan untuk menambah data yang akan

ditimpakan ke data lama. Apabila sukses akan muncul perintah :

"Persiapkan Data Sudah sukses...!!!"

11.Proses siswa mengambil mata pelajaran

Merupakan proses dimana siswa mengambil mata pelajaran

berdasarkan tahun ajaran, kelas dan semester.

a) Proses buka

Proses yang digunakan untuk membuka mata pelajaran beserta

guru yang mengampunya.

strsql = "SELECT mengampu.thn_ajaran, mengampu.kode_mp, mp.Namamp, mengampu.nip, guru.Nama_guru, mp.kelas, mp.semester " _

& " FROM (mengampu INNER JOIN guru ON mengampu.NIP = guru.NIP) INNER JOIN mp ON mengampu.kode_mp = mp.Kode_mp where mengampu.thn_ajaran='" & cbthn_ajaran.Text & "' and mp.kelas='" & cbkelas.Text & "' and mp.semester='" & cbsemester.Text & "' "

Adodc1.RecordSource = strsql Adodc1.Refresh

End Sub

Perintah di atas digunakan untuk menampilkan thn_ajaran,

kode_mp, namamp, nip,nama_guru, kelas, semester dari form guru,

mengampu, mp dan kelas.

strsql = "SELECT kelas.kelas, kelas.id_kelas, siswa.NIS, siswa.nama_lengkap" _

& " FROM kelas INNER JOIN siswa ON kelas.id_kelas = siswa.id_kelas" _

& " WHERE (((kelas.kelas)='" & cbkelas.Text & "')) "

Adodc2.RecordSource = strsql Adodc2.Refresh

End Sub

Perintah di atas digunakan untuk menampilkan kelas, id_kelas,

NIS, nama_lengkap dari form kelas dan siswa.

b) Proses detail siswa

strsql = "SELECT siswa.NIS, siswa.nama_lengkap, mengambil.nilai_tertulis, mengambil.nilai_pengamatan, mengambil.nilai_tugas, mengambil.nilai_ulangan, mengambil.nilai " _

& "FROM mengambil INNER JOIN siswa ON mengambil.nis = siswa.NIS where mengambil.thn_ajaran='" & cbthn_ajaran.Text & "' and mengambil.semester='" & cbsemester.Text & "' and mengambil.kode_mp='" & Adodc1.Recordset("kode_mp") & "' and mengambil.nip='" & Adodc1.Recordset("nip") & "' "

Penggalan perintah di atas berarti menampilkan nis, nama

lengkap, nilai_tertulis, nilai_pengamatan, nilai_tugas, nilai_ulangan,

c) Proses persiapkan siswa

Proses yang digunakan untuk mempersiapkan data siswa yang

akan mengambil mata pelajaran yang akan diambil.

jmp = Adodc1.Recordset.RecordCount jsiswa = Adodc2.Recordset.RecordCount Adodc1.Recordset.MoveFirst For i = 1 To jmp xkode_mp = Adodc1.Recordset("kode_mp") xnip = Adodc1.Recordset("nip") xthn_ajaran = Adodc1.Recordset("thn_ajaran") Adodc2.Recordset.MoveFirst If jsiswa > 0 Then For j = 1 To jsiswa Call konek xnis = Adodc2.Recordset("nis")

strsql = "select * from mengambil where thn_ajaran='" & cbthn_ajaran.Text & "' and semester='" & cbsemester.Text & "' and kode_mp='" & xkode_mp & "' and nip='" & xnip & "' and nis='" & xnis & "'"

Program di atas berarti memanggil semua field dari form

mengambil dimana thn_ajaran = cbthn_ajaran, semester = cbsemester,

kode_mp = xkode_mp, nip = x nip dan nis = xnis

Set rs = conn.Execute(strsql) If rs.EOF Then

strsql = "insert into mengambil (thn_ajaran,semester, kode_mp, nip, nis) values ('"

& cbthn_ajaran.Text & "', '" & cbsemester.Text & "','" & xkode_mp & "', '" & xnip & "','" & xnis & "')"

Program di atas berarti memasukkan data dari tabel mengambil

(thn_ajaran,semester, kode_mp, nip, nis)

conn.Execute (strsql) End If Adodc2.Recordset.MoveNext Next j Adodc1.Recordset.MoveNext End If Next i

Apabila proses telah selesai, maka akan muncul:

MsgBox "Proses Selesai...." Adodc1.Recordset.MoveFirst End Sub

12.Proses pemasukan nilai

a) Proses daftar siswa

Call mpsiswa

Public Sub mpsiswa() On Error GoTo pesan Call konek

strsql = "SELECT siswa.NIS, siswa.nama_lengkap, mengambil.nilai_tertulis,

mengambil.nilai_pengamatan, mengambil.nilai_tugas, mengambil.nilai_ulangan,

mengambil.nilai,mengambil.id_ambil " _

& "FROM mengambil INNER JOIN siswa ON mengambil.nis = siswa.NIS where mengambil.thn_ajaran='" & cbthn_ajaran.Text & "' and mengambil.semester='" & cbsemester.Text & "' and mengambil.kode_mp='" & Adodc1.Recordset("kode_mp") & "' and mengambil.nip='" & Adodc1.Recordset("nip") & "' " Adodc3.RecordSource = strsql

Adodc3.Refresh

Penggalan program di atas adalah perintah yang digunakan untuk

menampilkan nis, nama_lengkap, nilai_tertulis, nilai_pengamatan,

nilai_tugas, nilai_ulangan, nilai, id_ambil dari form mengambil dan

siswa dan menampilkan data siswa berdasarkan mata pelajaran yang

telah dipilih.

b) Proses entry nilai

txtid_ambil.Text = Adodc3.Recordset("id_ambil") txtnis.Text = Adodc3.Recordset("nis")

txtnama.Text = Adodc3.Recordset("nama_lengkap") Adodc2.RecordSource = "select * from nilai where id_ambil=" & txtid_ambil.Text & ""

Adodc2.Refresh

Proses di atas digunakan untuk memasukkan nilai pada data siswa

yang telah dipilih.

13.Proses penilaian

a) Proses buka

Proses ini dilakukan untuk membuka nama mata pelajaran, nama

siswa beserta nilai yang telah siswa peroleh. Penggalan programnya adalah

Call mpsiswa

Public Sub mpsiswa() On Error GoTo pesan Call konek

strsql = "SELECT mengambil.id_ambil, mp.namamp, mengambil.nis, siswa.nama_lengkap, siswa.id_kelas,kelas.kelas,

mengambil.nilai_tertulis,

mengambil.nilai_pengamatan, mengambil.nilai_tugas, mengambil.nilai_ulangan, mengambil.nilai" _

& " FROM kelas INNER JOIN ((mengambil INNER JOIN mp ON mengambil.kode_mp = mp.Kode_mp) INNER JOIN siswa ON mengambil.nis = siswa.NIS) ON kelas.id_kelas = siswa.id_kelas" _

& " WHERE mengambil.thn_ajaran='" & cbthn_ajaran.Text & "' and mengambil.semester='" & cbsemester.Text & "' and kelas.id_kelas='" & cbkelas.Text & "'" Adodc1.RecordSource = strsql Adodc1.Refresh Exit Sub pesan: Exit Sub

End Sub

b) Proses penghitungan nilai

Proses ini dilakukan untuk melakukan penghitungan nilai sesuai

dengan rumus. Penggalan programnya adalah :

jmp = Adodc1.Recordset.RecordCount jkode = Adodc2.Recordset.RecordCount Adodc1.Recordset.MoveFirst For i = 1 To jmp xid_ambil = Adodc1.Recordset("id_ambil") Adodc2.Recordset.MoveFirst For j = 1 To jkode Call konek xkd_nilai = Adodc2.Recordset("kd_nilai")

strsql = "select avg(nilai) as nilai from nilai where id_ambil=" & xid_ambil & " and kd_nilai='" & xkd_nilai & "'"

Set rs = conn.Execute(strsql) If IsNull(rs("nilai")) Then nilai = 0 Else nilai = rs("nilai") End If If xkd_nilai = "NT" Then

strsql = "update mengambil set nilai_tertulis=" & nilai & " where id_ambil=" & xid_ambil & ""

conn.Execute (strsql) ElseIf xkd_nilai = "NP" Then

strsql = "update mengambil set nilai_pengamatan=" & nilai & " where id_ambil=" & xid_ambil & ""

conn.Execute (strsql) ElseIf xkd_nilai = "NTG" Then

strsql = "update mengambil set nilai_tugas=" & nilai & " where id_ambil=" & xid_ambil & ""

conn.Execute (strsql) ElseIf xkd_nilai = "NUL" Then

strsql = "update mengambil set nilai_ulangan=" & nilai & " where id_ambil=" & xid_ambil & "" conn.Execute (strsql) End If Adodc2.Recordset.MoveNext Next j Adodc1.Recordset.MoveNext Next i

MsgBox "Proses posting Selesai....lanjut proses hitung"

Adodc1.Recordset.MoveFirst

jmp = Adodc1.Recordset.RecordCount For i = 1 To jmp

nt = Adodc1.Recordset("nilai_tertulis") np = Adodc1.Recordset("nilai_pengamatan") nul = Adodc1.Recordset("nilai_ulangan") ntug = Adodc1.Recordset("nilai_tugas")

nakhir = (((nt + np) / 2) + ntug + (2 * nul)) / 4

' Print xid_ambil, nakhir

strsql = "update mengambil set nilai=" & nakhir & " where id_ambil=" & xid_ambil & ""

conn.Execute (strsql)

Adodc1.Recordset.MoveNext Next i

Apabila proses selesai, maka akan muncul :

MsgBox "Proses hitung Selesai...."

Dokumen terkait