BAB IV. IMPLEMENTASI SISTEM
4.4. Implementasi Proses
4.4.3 Proses Lihat Jadwal Kuliah
Mengecek kapasitas kelas.
Penggalan program di bawah ini digunakan untuk mengecek kapasitas kelas. Pengecekan ini dilakukan dengan mengkueri jumlah mahasiswa yang telah mengambil matakuliah tersebut. Apabila kapasitas kelas sudah penuh maka muncul pesan kesalahan.
ADOQuery1.SQL.Add(
'select count(nim),krs.kd_makul,jadwal.kelas,jadwal.kapasitas'+ ' from jadwal,krs where jadwal.kelas='+QuotedStr(cbKelas.Text)+ ' and krs.kd_makul='+QuotedStr(edMtk.Text)+
' and jadwal.kd_makul=krs.kd_makul group by krs.kd_makul'); ADOQuery1.Active:=True;
if ADOQuery1.FieldValues['count(nim)']<= 0 then exit;
if ADOQuery1.FieldValues['count(nim)'] >= ADOQuery1.FieldValues['kapasitas'] then begin
ShowMessage('Kelas Yang Anda Pilih Telah Penuh...!') end
else exit;
4.4.3 Proses Lihat Jadwal Kuliah
Penggalan program untuk lihat jadwal kuliah bagi pihak mahasiswa adalah sebagai berikut :
Melihat jadwal kuliah seluruhnya
Kueri berikut digunakan untuk mengambil jadwal matakuliah seluruh jadwal kuliah. Hasil kueri akan ditampilkan pada grid yang ada pada form jadwal kuliah.
'select makul.matakuliah as "MATAKULIAH",dosen.nama_dosen as "PENGAJAR",jadwal.hari as HARI,'+ 'jadwal.kelas as KELAS,jadwal.ruang as RUANGAN,jadwal.jam_mulai as '+
'MULAI,jadwal.jam_akhir as BERAKHIR from makul,jadwal,dosen'+ ' where jadwal.nia=dosen.nia and jadwal.kd_makul=makul.kd_makul'; ADODataSet1.Active:=True;
DataSource2.DataSet:=ADODataSet1; DBAdvStringGrid2.DataSource:=DataSource2; DBAdvStringGrid2.Visible:=True;
Melihat jadwal kuliah pribadi
Kueri berikut digunakan untuk mengambil jadwal matakuliah pribadi mahasiswa. Hasil kueri akan ditampilkan pada grid yang ada pada form jadwal kuliah.
ADODataSet2.CommandText:=
'select makul.matakuliah as MATAKULIAH,dosen.nama_dosen as PENGAJAR,jadwal.hari as HARI,'+ 'jadwal.kelas as KELAS,jadwal.ruang as RUANGAN,jadwal.jam_mulai as JAM_MULAI,jam_akhir as JAM_BERAKHIR'+
' from setting,dosen,mhs,krs,makul cross join jadwal where'+
' jadwal.kd_makul=krs.kd_makul and krs.nim=mhs.nim and jadwal.kd_makul=makul.kd_makul '+ 'and jadwal.nia=dosen.nia and krs.thn_ajaran=setting.thn_ajaran and '+
'krs.semester=setting.semester and krs.nim='+QuotedStr(frmLoginKRS.edNim.Text); ADODataSet2.Active:=True;
DataSource1.DataSet:=ADODataSet2; DBAdvStringGrid1.DataSource:=DataSource1; DBAdvStringGrid1.Visible:=True;
DBAdvStringGrid2.Visible:=False;
4.4.4 Proses Cetak Jadwal Kuliah
Penggalan program yang berisi kueri untuk mencetak jadwal kuliah bagi pihak mahasiswa adalah sebagai berikut :
ctkJadwalPribadi.ADODataSet54.CommandText:=
'select krs.thn_ajaran,krs.semester,dosen.nama_dosen,jadwal.kd_makul,jadwal.kelas,'+ 'jadwal.hari,jadwal.jam_mulai,jam_akhir,makul.matakuliah,krs.nim,mhs.nama '+ 'from setting,dosen,mhs,krs,makul cross join jadwal where'+
' jadwal.kd_makul=krs.kd_makul and krs.nim=mhs.nim and '+ 'jadwal.kd_makul=makul.kd_makul and jadwal.nia=dosen.nia and'+ ' krs.thn_ajaran=setting.thn_ajaran and krs.semester=setting.semester'+ ' and krs.nim='+QuotedStr(frmLoginKRS.edNim.Text);
ctkJadwalPribadi.ADODataSet54.Active:=True; ctkJadwalPribadi.QuickRep1.Preview;
4.4.5 Proses Lihat Nilai
Penggalan program untuk lihat nilai bagi pihak mahasiswa adalah sebagai berikut :
Melihat nilai semester dan tahun ajaran saat ini
Kueri berikut digunakan untuk mengambil nilai mahasiswa yang ada pada semester saat ini. Hasil kueri akan ditampilkan pada grid yang ada pada form nilai.
ADODataSet1.CommandText:=
'select nilai.kd_makul as "KODE MATAKULIAH",makul.matakuliah as MATAKULIAH,'+
' makul.prasyarat as "PRASYARAT",nilai.nilai_final as "NILAI FINAL",nilai.nilai as "NILAI HURUF"'+ ' from setting,nilai,makul where '+
' nilai.kd_makul=makul.kd_makul'+
' and nilai.semester=setting.semester and nilai.thn_ajaran=setting.thn_ajaran'+ ' and nilai.nim='+QuotedStr(frmLoginKRS.edNim.Text);
ADODataSet1.Active:=True; DataSource1.DataSet:=ADODataSet1; DBAdvStringGrid1.DataSource:=DataSource1;
Melihat nilai seluruh semester
Kueri berikut digunakan untuk mengambil nilai mahasiswa yang ada pada seluruh semester. Hasil kueri akan ditampilkan pada grid yang ada pada form nilai.
ADODataSet1.CommandText:=
'select nilai.kd_makul as "KODE MATAKULIAH",makul.matakuliah as "MATAKULIAH",makul.prasyarat as "PRASYARAT",nilai as "NILAI" from makul,nilai where makul.kd_makul=nilai.kd_makul and
nim='+QuotedStr(frmLoginKRS.edNim.Text)+ 'order by nilai asc';
ADODataSet1.Active:=True;
DataSource1.DataSet:=ADODataSet1; DBAdvStringGrid2.DataSource:=DataSource1; DBAdvStringGrid1.Visible:=False;
DBAdvStringGrid2.Visible:=True;
4.4.6 Proses Lihat Grafik Perkembangan Studi
Penggalan program yang berisi kueri untuk menampilkan grafik perkembangan studi bagi pihak mahasiswa adalah sebagai berikut :
ADODataSet1.Active:=False; ADODataSet1.CommandText:=
QuotedStr(frmLoginKRS.edNim.Text); ADODataSet1.Active:=True;
if ADODataSet1.FieldValues['nim'] <> QuotedStr(frmLoginKRS.edNim.Text) then begin
ADODataSet2.Active:=False; ADODataSet2.CommandText:= 'select nim,nama from mhs where nim ='+ QuotedStr(frmLoginKRS.edNim.Text); ADODataSet2.Active:=True; edNama.Text:=ADODataSet2.FieldValues['nama']; edNim.Text:=ADODataSet2.FieldValues['nim']; end else begin
ShowMessage('Data Nim Dan Nama Tidak Ada!') end;
Kueri tersebut mengambil data nilai ips dan ipk dari mahasiswa yang login yaitu dengan melihat nim yang dimasukan pada form login. Jika tidak ada data yang sesuai, maka muncul pesan kesalahan.
4.4.7 Proses Ubah Password
Penggalan program untuk ubah password bagi pihak mahasiswa adalah sebagai berikut :
if trim(edPBaru.Text)='' then begin
ShowMessage('Silahkan Memasukan Password Baru Anda'); edPBaru.SetFocus;
exit; end else str:=
'update mhs set pass='+ QuotedStr(edPBaru.Text)+ ' where nim='+
QuotedStr(edNim.Text); ADOConnection1.Execute(str);
ShowMessage('Password Anda Telah Berubah');
Kueri yang digunakan yaitu perintah update. Apabila password baru belum dimasukan maka muncul pesan peringatan. Namun setelah password baru telah dimasukan maka muncul pesan konfirmasi bahwa password telah berubah.
4.4.8 Proses Login Dosen
Kueri ini digunakan untuk proses login bagi pihak dosen : ADODataSet1.CommandText:=
'select nia,password from dosen where nia='+ QuotedStr(edNia.Text)+'and'+ ' password='+ QuotedStr(edPass.Text); ADODataSet1.Active:=True; if edPass.Text=ADODataSet1.FieldValues['password'] then begin edNia.Text:=ADODataSet1.FieldValues['nia']; frmInputNilai.Show; end else
ShowMessage('Nia Atau Password Anda Salah!');
Apabila nia dan password yang dimasukan dosen sudah benar, maka dosen dapat masuk ke dalam sistem informasi dosen. Namun apabila nia maupun password yang dimasukan tidak sesuai maka akan muncul pesan kesalahan.
4.4.9 Proses Lihat Grafik Perkembangan Studi
Penggalan program untuk lihat grafik perkembangan studi bagi pihak dosen adalah sebagai berikut :
if not (Key=chr(13)) then exit; ADODataSet1.Active:=False; ADODataSet1.CommandText:=
'select nim,semester,ips,ipk from ipsipk where nim='+ QuotedStr(edNim.Text);
ADODataSet1.Active:=True;
if ADODataSet1.FieldValues['nim'] <> QuotedStr(edNim.Text) then begin
ADODataSet2.Active:=False; ADODataSet2.CommandText:= 'select nama from mhs where nim ='+ QuotedStr(edNim.Text);
ADODataSet2.Active:=True; if ADODataSet2.RecordCount = 0 then begin
ShowMessage('Maaf,Data Nim Dan Nama Mahasiswa Yang Anda Masukan Tidak Ada!'); exit;
end else
edNama.Text:=ADODataSet2.FieldValues['nama']; end;
Kueri tersebut mengambil data nilai ips dan ipk dari nim mahasiswa yang dimasukan dosen. Apabila nim yang dimasukan dosen tidak ditemukan, maka muncul pesan kesalahan. Apabila nim tersebut ada maka akan muncul data grafik perkembangan studi mahasiswa tersebut yaitu data ips dan ipk tiap semester.
4.4.10 Proses Lihat Jadwal Mengajar
Penggalan program untuk lihat jadwal mengajar bagi pihak dosen adalah sebagai berikut :
ADODataSet1.CommandText:=
'select jadwal.kd_makul,makul.matakuliah,jadwal.kelas,'+
'jadwal.ruang,jadwal.jam_mulai,jadwal.jam_akhir from jadwal,makul where '+ 'jadwal.kd_makul=makul.kd_makul and jadwal.nia='+
QuotedStr(fLoginDosen.edNia.Text); ADODataSet1.Active:=True; DataSource1.DataSet:=ADODataSet1; DBAdvStringGrid1.DataSource:=DataSource1;
Setelah dikueri data jadwal dosen, maka data hasil kueri akan ditampilkan pada grid yang di form.
4.4.11 Proses Cetak Jadwal Mengajar
Penggalan program untuk cetak jadwal mengajar bagi pihak dosen adalah sebagai berikut :
CetakJdwalNgajar.ADODataSet1.CommandText:=
'select dosen.nama_dosen,jadwal.nia,jadwal.kd_makul,makul.matakuliah,'+ 'jadwal.kelas,jadwal.ruang,jadwal.jam_mulai,jadwal.jam_akhir from '+ 'jadwal,makul,dosen where dosen.nia=jadwal.nia and '+
'jadwal.kd_makul=makul.kd_makul and jadwal.nia='+ QuotedStr(fLoginDosen.edNia.Text);
CetakJdwalNgajar.ADODataSet1.Active:=True; if CetakJdwalNgajar.ADODataSet1.RecordCount < 1 then begin
ShowMessage('Maaf,Data Jadwal Mengajar Anda Tidak Ada dan Tidak Dapat Dicetak'); CetakJdwalNgajar.ADOConnection1.Connected:=False; exit; end else CetakJdwalNgajar.QuickRep1.Preview; CetakJdwalNgajar.ADOConnection1.Connected:=False;
Setelah dikueri data untuk mencetak jadwal mengajar dosen, maka data hasil kueri akan ditampilkan pada preview.
4.4.12 Proses Lihat Daftar Mahasiswa
Penggalan program untuk lihat daftar mengajar bagi pihak dosen adalah sebagai berikut :
ADODataSet1.CommandText:=
'select nim,nama,alamat_asal,telpon_hp,email from mhs where nia='+ QuotedStr(fLoginDosen.edNia.Text);
ADODataSet1.Active:=True; DataSource1.DataSet:=ADODataSet1; DBAdvStringGrid1.DataSource:=DataSource1;
Setelah dikueri data mahasiswa, maka data hasil kueri akan ditampilkan pada grid yang di form daftar mahasiswa. Data mahasiswa yang ditampilkan berupa nim, nama, alamat asal, telepon dan email. 4.4.13 Proses Cetak Daftar Mahasiswa
Penggalan program untuk cetak daftar mahasiswa bagi pihak dosen adalah sebagai berikut :
PreviewDtfMhs.ADODataSet1.CommandText:=
'select nim,nama,alamat_asal,dosen.nama_dosen from dosen,mhs where '+ 'mhs.nia=dosen.nia and mhs.nia='+
QuotedStr(fLoginDosen.edNia.Text); PreviewDtfMhs.ADODataSet1.Active:=True; if PreviewDtfMhs.ADODataSet1.RecordCount < 1 then begin
ShowMessage('Maaf,Data Mahasiswa Yang Anda Walikan Tidak Ada dan Tidak Dapat Dicetak'); exit; end else PreviewDtfMhs.QuickRep1.Preview; PreviewDtfMhs.ADOConnection1.Connected:=False; end;
Setelah data mahasiswa dikueri, maka hasil kueri ditampilkan pada preview data mahasiswa.
4.4.14 Proses Ubah Password
Penggalan program untuk ubah password bagi pihak dosen adalah sebagai berikut :
str:=
'update dosen set password='+ QuotedStr(edPassword.Text)+ ' where nia='+
QuotedStr(edNia.Text); ADOConnection1.Execute(str);
ShowMessage('Password Anda Telah Berubah');
Untuk mengubah password digunakan perintah update untuk kolom password. Setelah diubah maka akan muncul pesan konfirmasi bahwa password anda telah berubah.
4.4.15 Proses Login Akademik
Penggalan program untuk login bagi pihak akademik adalah sebagai berikut :
ADODataSet1.CommandText:=
'select username,password from admin where username='+ QuotedStr(edUsername.Text)+'and'+ ' password='+ QuotedStr(edPassword.Text); ADODataSet1.Active:=True; if edPassword.Text=ADODataSet1.FieldValues['password'] then begin frmMenuUtamaSIA.Show; end else
ShowMessage('Username atau Password Anda Salah!');;
Untuk login, maka dikueri password dan nama petugas akademik. Apabila nama atau password yang dimasukan tidak sesuai maka akan muncul pesan kesalahan. Namun apabila password dan nama petugas akademik sudah sesuai maka akan muncul form utama SIA MSD. 4.4.16 Proses Isi/Edit Data Mahasiswa
Penggalan program untuk isi/edit data mahasiswa bagi pihak akademik adalah sebagai berikut :
Simpan Data Mahasiswa PernyataanSQL :=
'INSERT INTO mhs (nim,nia,nama,tmp_lahir,tgl_lahir,alamat_asal,sex,'+ 'alamat_skrg,agama,namawali,pekerjaan,alamat_wali,'+
'telp_wali,angkatan,telpon_hp,email,asalSMU,'+ 'NmrIjazah,thn_ijasah) VALUES ('+
PETIK + edNim.Text + PETIK + ',' + PETIK + edNia.Text + PETIK + ',' + PETIK + edNama.Text+ PETIK + ',' + PETIK + edTempatLahir.Text + PETIK + ',' + PETIK + Tanggal + PETIK + ',' +
PETIK + edAlamatAsal.Text + PETIK +',' + PETIK + KodeKelamin + PETIK + ',' + PETIK + edAlamatSkrg.Text + PETIK + ',' + PETIK + cbAgama.Text + PETIK +',' + PETIK + edNamaWali.Text + PETIK +','+ PETIK + edKerjaWali.Text + PETIK + ',' + PETIK + edAlamatWali.Text + PETIK + ',' + PETIK + edTlpWali.Text + PETIK +',' + PETIK + cbTahunMasuk.Text + PETIK +',' + PETIK + edTelpon.Text + PETIK +','+ PETIK + edEmail.Text + PETIK +','+ PETIK + edAsalSmu.Text + PETIK +',' + PETIK + edNoIjazah.Text + PETIK +',' + PETIK + edThnIjazah.Text + PETIK + ')' ;
Hapus Data Mahasiswa
procedure TfrmDtMhs.btHapusClick(Sender: TObject); PernyataanSQl:=
' DELETE FROM mhs where nim='+ ''''+edNim.Text+'''';
ADOConnection1.Execute(PernyataanSQl); MessageDlg('Data Telah Dihapus', mtInformation, [mbOK],0); end else btHapus.Visible:=True;
Ubah Data Mahasiswa PernyataanSQL:= 'UPDATE mhs SET' +
' nama = '+ PETIK+ edNama.Text + PETIK + ',' + ' nia = '+ PETIK+ edNia.Text + PETIK + ',' + ' tmp_lahir = '+ PETIK+ edTempatLahir.Text + PETIK + ','+ ' tgl_lahir = '+ PETIK+ Tanggal + PETIK + ',' +
' alamat_asal = '+ PETIK+ edAlamatAsal.Text + PETIK + ','+ ' sex = '+ PETIK+ KodeKelamin + PETIK + ',' + ' alamat_skrg = '+ PETIK+ edAlamatSkrg.Text + PETIK + ','+ ' agama = '+ PETIK+ cbAgama.Text + PETIK + ','+ ' namawali = '+ PETIK+ edNamaWali.Text + PETIK + ','+ ' pekerjaan = '+ PETIK+ edKerjaWali.Text + PETIK + ','+ ' alamat_wali = '+ PETIK+ edAlamatWali.Text + PETIK + ','+ ' telp_wali = '+ PETIK+ edTlpWali.Text + PETIK + ','+ ' telpon_hp = '+ PETIK+ edTelpon.Text + PETIK + ','+ ' email = '+ PETIK+ edEmail.Text + PETIK + ','+ ' angkatan = '+ PETIK+ cbTahunMasuk.Text + PETIK + ','+ ' asalSMU = '+ PETIK+ edAsalSmu.Text + PETIK + ','+ ' NmrIjazah = '+ PETIK+ edNoIjazah.Text + PETIK + ','+ ' thn_ijasah = '+ PETIK+ edThnIjazah.Text + PETIK + ' WHERE nim = '+ QuotedStr(edNim.Text); ADOConnection1.Execute(PernyataanSQL); Pencarian Data Mahasiswa
Kueri di bawah ini digunakan untuk mencari data mahasiswa berdasarkan nim.
ADODataSet1.CommandText:=
'Select *,nama_dosen from mhs,dosen where dosen.nia=mhs.nia'+ ' and nim=' + quotedStr(edCari.Text); ADODataSet1.Connection:=ADOConnection1; ADODataSet1.Active:=True; if ADODataSet1.RecordCount < 1 then begin
ShowMessage('Data Mahasiswa Yang Anda Cari Tidak Ada!'); RecordBaru := True;
Kueri di bawah ini digunakan untuk mencari data mahasiswa berdasarkan nama mahasiswa.
ADODataSet1.CommandText:=
'Select *,nama_dosen from mhs,dosen where dosen.nia=mhs.nia'+ ' and nama like ' +
Untuk menampilkan data mahasiswa yang dicari pada form digunakan penggalan program berikut :
with ADODataSet1 do begin edNim.Text := FieldByName('nim').Value; edNama.Text := FieldByName('nama').Value; edTempatLahir.Text := FieldByName('tmp_lahir').Value; edAlamatAsal.Text := FieldByName('alamat_asal').Value; edAlamatSkrg.Text := FieldByName('alamat_skrg').Value; edNamaWali.Text := FieldByName('namawali').Value; edKerjaWali.Text := FieldByName('pekerjaan').Value; edTlpWali.Text := FieldByName('telp_wali').Value; edAlamatWali.Text := FieldByName('alamat_wali').Value; cbTahunMasuk.Text := FieldByName('angkatan').Value; edAsalSmu.Text := FieldByName('asalSMU').Value; edNoIjazah.Text := FieldByName('NmrIjazah').Value; edThnIjazah.Text := FieldByName('thn_ijasah').Value; cbAgama.Text := FieldByName('agama').Value; edTanggal.Text := FieldByName('tgl_lahir').Value; edNia.Text := FieldByName('nia').Value; cbDosen.Text := FieldByName('nama_dosen').Value; edTelpon.Text := FieldByName('telpon_hp').Value; edEmail.Text := FieldByName('email').Value;
if FieldByName('sex').Value = 'Laki-laki' then radPria.Checked:=True
else
radWanita.Checked:=True; end;
4.4.17 Proses Cetak Data Mahasiswa
Penggalan program untuk cetak data mahasiswa bagi pihak akademik adalah sebagai berikut :
Cetak berdasarkan nim Form2.ADODataSet1.CommandText:= 'Select * from mhs,admin where nim='+ QuotedStr(edNim.Text)+ 'and username='+ QuotedStr(frmLoginAkademik.edUsername.Text); Form2.ADODataSet1.Active:=True; if edNim.Text=Form2.ADODataSet1.FieldValues['nim'] then begin Form2.QuickRep1.Preview; end else
MessageDlg('Data Nim Tidak Ada',mtInformation,[mbOK],0);
Cetak berdasarkan angkatan Fcetak.ADODataSet1.CommandText:=
'Select *, username from mhs,admin where angkatan='+ QuotedStr(cbAngkatan.Text)+ ' and username='+ QuotedStr(frmLoginAkademik.edUsername.Text); Fcetak.ADODataSet1.Active:=True; if cbAngkatan.Text=Fcetak.ADODataSet1.FieldValues['angkatan'] then begin
Fcetak.QuickRep1.Preview; end
else
MessageDlg('Data Angkatan Tidak Ada',mtInformation,[mbOK],0);
4.4.18 Proses Isi/Edit Data Dosen
Penggalan program untuk isi/edit data dosen bagi pihak akademik adalah sebagai berikut :
Simpan Data Dosen PernyataanSQL :=
'INSERT INTO dosen (nia,nama_dosen,tmp_lahir,tgl_lahir,alamat,'+ 'sex,agama,status,email,telp)VALUES ('+
PETIK + edNia.Text + PETIK + ',' + PETIK + edNama.Text+ PETIK + ',' + PETIK + edTempat.Text + PETIK + ',' + PETIK + Tanggal + PETIK + ',' + PETIK + edAlamat.Text + PETIK +',' + PETIK + KodeKelamin + PETIK + ',' + PETIK + cbAgama.Text + PETIK +',' + PETIK + cbStatus.Text + PETIK +','+ PETIK + edEmail.Text + PETIK +',' + PETIK + edTelpon.Text + PETIK + ')' ; ADOConnection1.Execute(PernyataanSQL);
Hapus Data Dosen PernyataanSQL:=
'UPDATE dosen SET' +
' nama_dosen = '+ PETIK+ edNama.Text + PETIK + ',' + ' tmp_lahir = '+ PETIK+ edTempat.Text + PETIK + ','+ ' tgl_lahir = '+ PETIK+ Tanggal + PETIK + ',' + ' alamat = '+ PETIK+ edAlamat.Text + PETIK + ','+ ' sex = '+ PETIK+ KodeKelamin + PETIK + ',' + ' agama = '+ PETIK+ cbAgama.Text + PETIK + ','+ ' status = '+ PETIK+ cbStatus.Text + PETIK + ','+ ' email = '+ PETIK+ edEmail.Text + PETIK + ','+ ' telp = '+ PETIK+ edTelpon.Text + PETIK + ' WHERE nia='+QuotedStr(edNia.Text);
ADOConnection1.Execute(PernyataanSQL); end;
MessageDlg('Data Sudah Disimpan',mtInformation,[mbOK],0);
Ubah Data Dosen PernyataanSQL:= 'UPDATE dosen SET' +
' nama_dosen = '+ PETIK+ edNama.Text + PETIK + ',' + ' tmp_lahir = '+ PETIK+ edTempat.Text + PETIK + ','+ ' tgl_lahir = '+ PETIK+ Tanggal + PETIK + ',' + ' alamat = '+ PETIK+ edAlamat.Text + PETIK + ','+ ' sex = '+ PETIK+ KodeKelamin + PETIK + ',' + ' agama = '+ PETIK+ cbAgama.Text + PETIK + ','+ ' status = '+ PETIK+ cbStatus.Text + PETIK + ','+ ' email = '+ PETIK+ edEmail.Text + PETIK + ','+ ' telp = '+ PETIK+ edTelpon.Text + PETIK + ' WHERE nia='+QuotedStr(edNia.Text);
ADOConnection1.Execute(PernyataanSQL); end;
Pencarian Data Dosen
Kueri di bawah ini digunakan untuk mencari data dosen berdasarkan nia atau nama dosen.
ADODataSet1.CommandText:= 'Select * from dosen where nia=' + quotedStr(edCari.Text) + 'or nama_dosen like'+ QuotedStr('%'+edCari.Text+'%');
Untuk menampilkan data dosen yang dicari pada form digunakan penggalan program berikut :
with ADODataSet1 do begin edNia.Text := FieldByName('nia').Value; edNama.Text := FieldByName('nama_dosen').Value; edTempat.Text := FieldByName('tmp_lahir').Value; edAlamat.Text := FieldByName('alamat').Value; edTelpon.Text := FieldByName('telp').Value; edTanggal.Text := FieldByName('tgl_lahir').Value; edEmail.Text := FieldByName('email').Value; cbAgama.Text := FieldByName('agama').Value; cbStatus.Text := FieldByName('status').Value; cbJabatan.Text := FieldByName('kd_jabatan').Value;
if FieldByName('sex').Value = 'Laki-laki' then
radPria.Checked:=True else
radWanita.Checked:=True;
end;
4.4.19 Proses Cetak Data Dosen
Penggalan program untuk cetak data dosen bagi pihak akademik adalah sebagai berikut :
Cetak berdasarkan NIA
FcetakDosen.ADODataSet1.CommandText:= 'Select *,username from admin,dosen where nia='+ QuotedStr(edCetak.Text)+ ' and username='+ QuotedStr(frmLoginAkademik.edUsername.Text); FcetakDosen.ADODataSet1.Active:=True; if edCetak.Text=FcetakDosen.ADODataSet1.FieldValues['nia'] then begin FcetakDosen.QuickRep1.Preview; end else
Cetak berdasarkan nama
FcetakDosen.ADODataSet1.CommandText:=
'Select *,username from admin,dosen where nama_dosen='+ QuotedStr(cbDosen.Text)+ ' and username='+ QuotedStr(frmLoginAkademik.edUsername.Text); FcetakDosen.ADODataSet1.Active:=True; if cbDosen.Text=FcetakDosen.ADODataSet1.FieldValues['nama_dosen'] then begin FcetakDosen.QuickRep1.Preview; end else
MessageDlg('Data Nim Tidak Ada',mtInformation,[mbOK],0);
4.4.20 Proses Isi/Edit Data MataKuliah
Penggalan program untuk isi/edit data matakuliah bagi pihak akademik adalah sebagai berikut :
Simpan Data Matakuliah PernyataanSQL :=
'INSERT INTO makul (kd_makul,id_semester,matakuliah,Subject,'+ 'sks,prasyarat,jp,jenis_mtk) VALUES ('+
PETIK + edKdMtk.Text + PETIK + ',' + PETIK + edTawar.Text + PETIK + ',' + PETIK + edNamaMtk.Text+ PETIK + ',' + PETIK + edNameInggris.Text + PETIK + ',' + PETIK + edSks.Text + PETIK +',' + PETIK + cbSyarat.Text + PETIK + ',' + PETIK + edJp.Text + PETIK + ',' + PETIK + cbJenisMtk.Text + PETIK + ')'; ADOConnection1.Execute(PernyataanSQL);
Hapus Data Matakuliah PernyataanSQl:=
' DELETE FROM makul where kd_makul='+ ''''+cbKodeMtk.Text+'''';
ADOConnection1.Execute(PernyataanSQl); MessageDlg('Data Telah Dihapus', mtInformation,
[mbOK],0);
Ubah Data Matakuliah PernyataanSQL:=
'UPDATE makul SET' +
' matakuliah = '+ PETIK+ edNamaMtk.Text + PETIK + ',' + ' id_semester = '+ PETIK+ edTawar.Text + PETIK + ',' + ' Subject = '+ PETIK+ edNameInggris.Text + PETIK + ','+ ' sks = '+ PETIK+ edSks.Text + PETIK + ','+ ' prasyarat = '+ PETIK+ cbSyarat.Text + PETIK + ','+ 'jp = '+ PETIK+ edJp.Text + PETIK + ',' + 'jenis_mtk = '+ PETIK+ cbJenisMtk.Text + PETIK + ' WHERE kd_makul = '+ QuotedStr(edKdMtk.Text); ADOConnection1.Execute(PernyataanSQL);
4.4.21 Proses Penawaran Matakuliah Sisipan
Penggalan program untuk penawaran matakuliah sisipan bagi pihak akademik adalah sebagai berikut :
if cbMtkTawar.Text='' then begin
ShowMessage('Pilih Ulang,Data Belum Tersimpan...!!') end
else begin str:=
'insert into mtk_tawar(kode,mtk,thn,'+ 'semes) values('+
PETIK + edKode.Text + PETIK + ','+ PETIK + edMtk.Text + PETIK + ','+ PETIK + edTahun.Text + PETIK + ','+ PETIK + edSemester.Text+PETIK+ ')'; ADOConnection1.Execute(str);
MessageDlg('Data Sudah Disimpan',mtInformation,[mbOK],0);
4.4.22 Proses Isi/Edit Jadwal
Penggalan program untuk isi/edit jadwal bagi pihak akademik adalah sebagai berikut :
Simpan Data Jadwal PernyataanSQL :=
'INSERT INTO jadwal(kd_makul,kelas,nia,kapasitas,hari,'+ 'jam_mulai,jam_akhir,ruang)VALUES('+
PETIK + cbKodeMtk.Text + PETIK + ',' + PETIK + cbKelas.Text+ PETIK + ',' + PETIK + edNia.Text+ PETIK + ',' + PETIK + edKapasitas.Text + PETIK + ',' + PETIK + cbHari.Text + PETIK + ',' + PETIK + cbJamMulai.Text + PETIK +',' + PETIK + cbJamAkhir.Text + PETIK + ',' + PETIK + cbRuang.Text + PETIK +')' ;
ADOConnection1.Execute(PernyataanSQL);
Hapus Data Jadwal
if MessageDlg('Anda Mau Menghapus Data ini?', mtInformation,
[mbYes,mbNo],0)=mrYes then begin
PernyataanSQl:=
' DELETE FROM jadwal where kd_makul='+ ''''+cbKodeMtk.Text+'''';
ADOConnection1.Execute(PernyataanSQl); MessageDlg('Data Telah Dihapus', mtInformation,
Ubah Data Jadwal PernyataanSQL:= 'UPDATE jadwal SET' +
' kelas = '+ PETIK+ cbKelas.Text + PETIK + ',' + ' nia = '+ PETIK+ edNia.Text + PETIK + ',' + ' kapasitas = '+ PETIK+ edKapasitas.Text + PETIK + ','+ ' hari = '+ PETIK+ cbHari.Text + PETIK + ',' + ' jam_mulai = '+ PETIK+ cbJamMulai.Text + PETIK + ','+ ' jam_akhir = '+ PETIK+ cbJamAkhir.Text + PETIK + ',' + ' ruang = '+ PETIK+ cbRuang.Text + PETIK + ' WHERE kd_makul ='+ QuotedStr(cbKodeMtk.Text);
ADOConnection1.Execute(PernyataanSQL);
4.4.23 Proses Cetak Presensi Kuliah
Penggalan program untuk cetak presensi kuliah bagi pihak akademik adalah sebagai berikut :
CetakPresensi.ADODataSet1.CommandType:=cmdText; CetakPresensi.ADODataSet1.CommandText:=
'select admin.username,setting.thn_ajaran,setting.semester,krs.nim,mhs.nama,makul.matakuliah,'+ 'jadwal.kelas,jadwal.hari,jadwal.jam_mulai,jadwal.jam_akhir,dosen.nama_dosen from
admin,dosen,makul,jadwal,mhs,krs,setting'+
' where dosen.nia=jadwal.nia and krs.thn_ajaran=setting.thn_ajaran '+ 'and krs.semester=setting.semester and krs.nim=mhs.nim and '+ 'jadwal.kd_makul=krs.kd_makul and makul.kd_makul=krs.kd_makul '+
'and matakuliah='+QuotedStr(cbMtk.Text)+' and kelas='+QuotedStr(cbKelas.Text)+ ' and username='+ QuotedStr(frmLoginAkademik.edUsername.Text); CetakPresensi.ADODataSet1.Active:=True; CetakPresensi.QR_Kelas.Caption:=cbKelas.Text; CetakPresensi.QuickRep1.Preview; 4.4.24 Proses Buka KRS
Penggalan program untuk buka KRS bagi pihak akademik adalah sebagai berikut :
AdvProgressBar1.Position:=100;
AdvProgressBar1.ShowPercentage:=True;
str:=
'update kunci set kd_kunci ='+ QuotedStr('Ya')+ ' where kd_kunci='+ QuotedStr('Tidak'); ADOConnection1.Execute(str);
ShowMessage('Akses KRS Mandiri Telah Dibuka');
Perintah update digunakan untuk mengubah kode kunci. Untuk membuka akses KRS, maka kode kunci diubah menjadi Ya. Setelah diubah, maka muncul pesan konfirmasi bahwa akses telah dibuka.
4.4.25 Proses Tutup KRS
Penggalan program untuk tutup KRS bagi pihak akademik adalah sebagai berikut :
AdvProgressBar1.Position:=100;
AdvProgressBar1.ShowPercentage:=True; str:=
'update kunci set kd_kunci ='+ QuotedStr('Tidak')+ ' where kd_kunci='+ QuotedStr('Ya');
ADOConnection1.Execute(str);
ShowMessage('Akses KRS Mandiri Telah Ditutup');
Perintah update digunakan untuk mengubah kode kunci. Untuk menutup akses KRS, maka kode kunci diubah menjadi Tidak. Setelah diubah, maka muncul pesan konfirmasi bahwa akses telah ditutup. 4.4.26 Proses Cetak Form KRS
Untuk mencetak form KRS, hanya memanggil preview cetakan form KRS saja.
fCetakKRS.QuickRep1.Preview;
4.4.27 Proses Isi/Edit Nilai Per Matakuliah Simpan Data Nilai
str:=
'insert into nilai(kd_makul,thn_ajaran,semester,nim,nilai_final,bobot,nilai)'+ 'values('+
PETIK + kdMtk.Text+ PETIK + ','+ PETIK + edTahun.Text + PETIK + ','+ PETIK + edSemes.Text + PETIK + ','+ PETIK + cbNim.Text+ PETIK + ','+ PETIK + edNilaiFinal.Text+ PETIK + ','+ PETIK + edBobot.Text+ PETIK + ',' + PETIK + edNilaiHuruf.Text+ PETIK + ')'; ADOConnection1.Execute(str);
Ubah Data Nilai str:=
'UPDATE nilai SET' +
' thn_ajaran = '+ PETIK+ edTahun.Text + PETIK + ',' + ' semester = '+ PETIK+ edSemes.Text + PETIK + ',' + ' nim = '+ PETIK+ cbNim.Text + PETIK + ','+ ' nilai_final = '+ PETIK+ edNilaiFinal.Text + PETIK + ',' +