Oleh :
Evi Nadya Prisilla
J1F109212
LEMBAR PENGESAHAN
LAPORAN KERJA PRAKTIK
Pembimbing Internal,
Pembimbing Eksternal,
Jumali, S.Pd.
ABSTRAK
TENAGA
KEPENDIDIKAN
LEMBAGA
PENJAMIN
MUTU
KATA PENGANTAR
Puji dan Syukur kehadirat Allah SWT, karena atas berkat dan rahmat-Nya
penyusun dapat melaksanakan kerja praktik dan menyelesaikan Laporan Kerja
Praktik di Lembaga Penjamin Mutu Pendidikan Provinsi Kalimantan Selatan,
Banjarbaru.
Dalam melaksanakan Kerja Praktik dan penyusunan laporan ini, penyusun
banyak mendapat bimbingan dan bantuan dari berbagai pihak. Maka dalam
kesempatan ini penyusun banyak mengucapkan terimakasih kepada :
1. Bapak Dodon T. Nugrahadi, S.Kom, M.Eng selaku Ketua Program Studi
Ilmu Komputer.
2. Bapak H. Irwan Budiman S.T, M.Kom selaku dosen pembimbing internal.
3. Bapak Jumali, S.Pd. selaku dosen pembimbing eksternal
4. Seluruh teman-teman yang telah banyak membantu.
Mengingat keterbatasan yang dimiliki, tentu saja laporan praktik ini jauh
dari sempurna, baik dari segi disiplin ilmu, teknik penyajian maupun dari segi tata
bahasanya. Namun demikian sangat diharapkan kritikan dan saran untuk
menambah pengetahuan dalam menulis laporan ini.
Penyusun berharap apa yang disampaikan dapat memberikan sesuatu yang
bermanfaat bagi kita semua. Aamin.
Banjarbaru,
2013
Penyusun
DAFTAR ISI
LEMBAR PENGESAHAN.....................................................................................ii
ABSTRAK..............................................................................................................iii
KATA PENGANTAR..............................................................................................iv
DAFTAR ISI............................................................................................................v
DAFTAR TABEL.................................................................................................viii
DAFTAR GAMBAR..............................................................................................ix
DAFTAR LAMPIRAN...........................................................................................xi
BAB I.......................................................................................................................1
1.1 Latar belakang..............................................................................................1
1.2 Tujuan...........................................................................................................2
1.3 Manfaat........................................................................................................2
BAB II......................................................................................................................4
2.1 Sejarah dan Perkembangannya.....................................................................4
2.1.1 Visi........................................................................................................5
2.1.2 Misi.......................................................................................................5
2.2 Struktur Organisasi.......................................................................................6
2.3 Kegiatan Unit tempat Kerja Praktik.............................................................7
BAB III..................................................................................................................12
3.1 Sistem Informasi........................................................................................12
3.2 Bahasa Delphi............................................................................................13
5
DAFTAR TABEL
Tabel 3.1 Keuntungan dan kerugian penggunaan dialog berbasis perintah tunggal
................................................................................................................................26
Tabel 3.2 Keuntungan dan kerugian penggunaan antarmuka berbasis bahasa alami.
................................................................................................................................27
Tabel 3.3 Keuntungan dan kerugian Sistem menu tarik (pulldown).....................29
Tabel 3.4 Keuntungan dan Kerugian Penggunaann Dialog Berbasis Pengisian
Borang. ..................................................................................................................30
Tabel 3.5 Keuntungan dan Kerugian Dialog Berbasis Manipulasi Langsung.......31
DAFTAR GAMBAR
10
DAFTAR LAMPIRAN
1. Coding
2. Dokumentasi
3. Surat Permohonan Pribadi
4. Pendaftaran KP
5. Rencana Kerja KP
6. Surat Rekomendasi KP Dosen PA
7. Usulan Kegiatan KP
8. Daftar Hadir KP
9. Berita Acara Selesai KP
10. Pendaftaran Seminar KP
11. Rekomendasi Nilai KP
12. Daftar Hadir Seminar
13. Penilaian Laporan dan Seminar KP
14. Penilaian Pembimbing Eksternal
15. Nilai KP
11
BAB I
PENDAHULUAN
12
BAB II
KEADAAN UMUM INSTANSI TEMPAT KERJA PRAKTIK
Visi
Misi
peningkatan
kompetensi
pendidik
dan
tenaga
Kepala;
Subbagian Umum;
Seksi Sistem Informasi;
Seksi Pemetaan Mutu dan Supervisi;
Seksi Fasilitasi Peningkatan Mutu Pendidikan; dan
Kelompok Jabatan Fungsional.
Struktur Organisasi dan tata kerja pada Kantor LPMP Kalimantan Selatan
adalah sebagai berikut :
KEPALA
KASUBBAG UMUM
FUNGSIONALITAS WIDYAISWARA
keuangan,
ketatausahaan,
ketatalaksanaan,
dan
kerumahtanggaan LPMP
a. Urusan Kepegawaian
Menyusun program kerja urusan kepegawaian dan memberikan
Pelayanan administrasi kepegawaian dengan tertib, cepat tepat pada
waktunya, serta melaksanakan tugas-tugas lain yang diberikan oleh
atasan sesuai dengan ketentuan yang berlaku.
b. Urusan Perlengkapan
Menyusun rencana, membagi tugas, member petunjuk dan
menilai pelaksanaan kegiatan urusan perlengkapan serta menyusun
rencana kebutuhan dan pengadaan, pemeliharaan, perawatan sarana
dan prasarana serta melaksanakan tugas-tugas lain yang diberikan oleh
atasan.
tugas
kerumahtanggaan
(Wisma)
dan
program
kerjaSeksi
Data
danInformasi
di
mengambil
(retrieving),
memanipulasi
(manipulating),
dan
Sejarah Delphi
Delphi merupakan salah satu bahasa pemrograman tingkat tinggi
Tampilan Delphi XE
Tampilan Delphi secara umum berbeda dengan tampilan bahasa
pemrograman lain. Delphi tidak memiliki form utama atau form induk. Semua
fasilitas toolbox dan tool window pada delphi terpisah dari menu utama.
a. Menu Bar
Menu Bar pada delphi berisi berbagai macam perintah untuk proses
pembuatan program Aplikasi. Menu-menu yang mempunyai kesamaan jenis
perintah dasar, dikelompokkan dalam satu sub menu.
12
b. Tools Bar
c. Component Pallete
suatu objek dalam format, kita cukup melihat isi objek dalam objek tree
view.
e. Object Inspector
f.
Form
14
g. Code Editor
15
3.2.3
a. Unit
Struktur program delphi dibangun berdasarkan struktur program Pascal, yang
menitik beratkan pada struktur pemrograman dengan berorientasi pada objek.
Objek dalam pascal ditulis ke dalam sebuah file yang disebut dengan Unit, Unit
inilah yang nantinya akan digunakan sebagai acuan dalam pembuatan program
menggunakan Pascal. Unit dalam pascal berupa kode-kode program, sedangkan
Unit dalam Delphi digunakan untuk menyimpan pendeklarasian form dalam
bentuk class.
Class yang dideklarasikan dalam unit, oleh delphi akan diterjemahkan sebagai
sebuah form dan objek lain yang digunakan dari component pallete. Setiap form
yang digunakan dalam delphi pasti akan dideklarasikan dalam unit secara
otomatis oleh software ini.
b.
Project
Dalam sebuah pembuatan program aplikasi, delphi bisa terdiri dari beberapa
file. Apapunbentuk file komponen yang diogunakan dalam pembuatan program
delphi, pasti akan disimpan dalam sebuah file dalam bentuk unit. File-file unit
tersebut, disatukan dengan kode-kode program yang dibangun ke dalam satu file
yang disebut dengan Project (Gunawan Imam, 2010).
3.3 Sistem Basis Data
Basis data adalah suatu susunan/kumpulan data operasional lengkap dari
suatu organisasi/perusahaan yang diorganisir/dikelola dan disimpan secara
16
(4) Data flow, merupakan simbol yang mewakili arahaliran data yang
berasal dari satu proses, data storeatau elemen lingkungan menuju ke
satu proses, datastore atau enviromental element lainnya.
18
hubungan
yang
paling
umum
dan
menggambarkan
sistem
merupakan
mendokumentasikan
data
data
sistem.
modeling
yang
Dokumentasi
dipergunakan
dilakukan
dengan
untuk
cara
menentukan kelompok data apa saja yang terdapat dalam tiap entity dan
bagaimana hubungan antara entity satu dengan lainnya. Entity dapat berupa
environmental element, resource dan transaksi yang sangat diperlukan dan
didokumentasikan dalam bentuk data (Sutedjo, 2002).
ERD merupakan suatu model yang digunakan untuk menggambarkan data
dalam bentuk entitas, atribut dan hubungan antar entitas.Model dinyatakan dalam
bentuk diagram. ERD tidak mencerminkan bentuk fisik yang nantinya
akandisimpan dalam database, melainkan hanya bersifat konseptual. Itu sebabnya
ERD tidak bergantung pada produk DBMS yang digunakan (Kadir, 2008).
Entitas adalah sesuatu dalam dunia nyata yang keberadaannya tidak
bergantung pada yang lain. Entitas dapat berupa sesuatu yang nyata ataupun
abstrak (berupa suatu konsep).Entitas dapat berupa seseorang, sebuah tempat,
19
sebuah objek, sebuah kejadian atau suatu konsep.Setiap entitas dinyatakan oleh
sejumlah atribut.Atribut adalah properti atau karakteristik yang terdapat pada
setiap entitas (Kadir, 2008).
3.5 Ragam Dialog
Ragam dialog adalah cara yang digunakan untuk mengorganisasikan
berbagai teknik dialog/komunikasi Manusia-Komputer.
3.5.1 Ragam Dialog Interaktif
Karakteristik Ragam Dialog adalah sebagai berikut :
1.
Inisiatif
Merupakan sifat dasar dari sembarang dialog, karena inisiatif akan
menentukan keseluruhan ragam komuniaksi sehingga dapat ditentukan
tipe-tipe pengguna yang dituju oleh sistem yang dibangun. Dua jenis
inisiatif yang paling sering digunakan oleh inisiatif oleh komputer dan
inisiatif oleh pengguna.
memberikan
pertanyaan
yang
mempunyai
jawaban ya/tidak.
Misalnya :
Sedangkan
Keluwesan
Sistem yang luwes atau fleksibel adalah sistem yang mempunyai
kemampuan untuk mencapai suatu tujuan lewat cara yang berbeda.
3. Kompleksitas
20
21
Umpan balik adalah respon dari sistem sistem atas suatu perintah.
Ketika sebuah program aplikasi sedang dijalankan, pengguna
seringkali harus menunggu sampai komputer menampilkan hasil yang
ia inginkan.
11. Keseimbangan
22
23
yang digunakan oleh manusia dan komputer, maka sebuah sistem yang
mengimplementasikan dialog berbasis bahasa alami perlu mempunyai
sebuah sistem penterjemah yang dapat menterjemahkan suatu kalimat
pada dua arah. Ketika manusia memberikan instruksi, sistem
penterjemah harus menerjemahkan instruksi tersebut ke dalam format
instruksi lain yang dapat dimengerti oleh komputer. Sebaliknya, ketika
komputer akan memberikan jawaban, sistem penterjemah harus
mampu menterjemahkan format instruksi komputer menjadi pesan
yang dimengerti oleh manusia.
4. Sistem Menu
25
b.
adalah
pohon
sistem
pilihan).
menu
pilihan-pilihannya
26
27
Tabel 3.4 Keuntungan dan Kerugian Penggunaann Dialog Berbasis Pengisian Borang.
sementara
pada
system
menu,
sebuah
menu
juga
7. Sistem Penjendelaan
Secara umum yang disebut dengan jendela (window) adalah bagian
dari layar yang digunakan untuk menampilkan suatu informasi.
Informasi disini dapat berupa informasi tekstual maupun grafis. Untuk
menunjukkan daerah yang digunakan untuk menampilkan suatu
informasi, biasanya daerah yang umumnya berupa persegi panjang
dibatasi dengan semacam garis pembatas dengan ketebalan tertentu.
Sistem penjendelaan adalah sistem antarmuka yang memungkinkan
pengguna untuk menampilkan berbagai informasi baik sendiri-sendiri
maupun secara bersama-sama ke dalam bagianbagian layar yang
tidak saling mempengaruhi.
8. Manipulasi Langsung
Karakteristik yang sangat penting dari ragam dialog ini adalah adanya
penyajian langsung suatu aktifitas oleh sistem kepada pengguna
sehingga aktifitas itu akan dikerjakan oleh sistem komputer ketika
pengguna memberikan instruksi lewat manipulasi langsung dari
semacam kenyataan maya (virtual reality) yang terpampang lewat
tampilan yang muncul di layar.
Tabel 3.5 Keuntungan dan Kerugian Dialog Berbasis Manipulasi Langsung
29
yang
berkemampuan
hypertext,
program
akan
dengan
keuntungan
dan
kerugian
teknik
antarmuka
30
BAB IV
METODE KERJA PRAKTIK
32
Permasalahan
Kendala-kendala pada saat pembuatan program aplikasi data pendidik dan
Tujuan
Tujuan pembuatan aplikasi pendidik dan tenaga kependidikan ini adalah :
(1) Untuk membantu pegawai dalam pengarsipan data pendidik dan
tenaga kependidikan
(2) Untuk memudahkan pegawai dalam membuat laporan data pendidik
dan tenaga kependidikan
(3) Memudahkan dalam pencarian berkas data pendidik dan tenaga
kependidikan
5.2.3
Manfaat
Manfaat dari aplikasi data pendidik dan tenaga kependidikan
adalah :
(1) Membuat pencarian dan pendataan laporan pendidik dan tenaga
kependidikan menjadi lebih mudah.
33
(2) Apabila data pendidik dan tenaga kependidikan yang berupa lembar
koreksi data manual tersebut hilang, maka arsip masih terdapat di
dalam komputer.
5.2.4
Teknologi
Teknologi yang digunakan didalam pembuatan aplikasi pembukuan ini
adalah :
(1) MySQL
(2) Delphi XE
5.2.5
a) Wawancara
Wawancara
dengan
jalan
merupakan
mengadakan
suatu
teknik
komunikasi
pengumpulan
data
Karakteristik User
User yang terlibat dan mempunyai hak akses untuk sistem informasi ini
Keterangan
34
Admi
5.2.7
5.2.8
antara lain :
1. Aplikasi ini dapat mengelola data pendidik dan tenaga kependidikan.
2. Data pendidik dan tenaga kependidikan bisa dilihat secara keseluruhan
dalam bentuk laporan yang kemudian bisa dicetak.
3. Pencarian data pendidik dan tenaga kependidikan yang sudah disimpan.
4. Aplikasi ini dapat mengelola data pendidik dan tenaga kependidikan
(tambah, simpan, hapus, ubah).
35
BAB VI
PERANCANGAN DAN PEMBUATAN SISTEM
36
Untuk source code bisa dilihat pada lampiran Coding pada Form Login.
b) Form Utama
Form Utama berfungsi sebagai navigasi untuk melakukan pemilihan form
satu ke form lainnya.
Keterangan :
1) Menu Bar Master berfungsi untuk menampilkan Button Wilayah, Rumah
dan Pegawai
2) Menu Bar Laporan berfungsi menampilkan Button Pegawai untuk
mencetak laporan
3) Menu Bar Manage berfungsi menampilkan Button User untuk menambah
data user
4) Button Wilayah berfungsi untuk menampilkan Form Wilayah
5) Button Sekolah berfungsi untuk menampilkan Form Sekolah
6) Button PTK berfungsi untuk menampilkan Form Data Pendidik dan
Tenaga Kependidikan
Untuk Source Code bisa dilihat pada Lampiran Coding pada Form
Utama.
c) Form Wilayah
37
Untuk Source Code bisa dilihat pada Lampiran Coding Form Wilayah
Keterangan :
1) Pada form ini terdapat 3 panel, yaitu panel provinsi, kabupaten/kota,
2)
3)
4)
5)
kelurahan/kecamatan.
Button tambah berfungsi untuk menambahkan data PTN.
Button simpan berfungsi untuk menyimpan data yang sudah diinputkan.
Button hapus berfungsi untuk menghapus data.
Button ubah berfungsi untuk mengedit data apabila men double klik pada
datagrid.
6) Button batal berfungsi untuk membatalkan proses atau sebagai refresh.
d) Form Sekolah
Form Sekolah ini berfungsi untuk melakukan penambahan, penyimpanan,
penghapusan, pengeditan dan pencarian sesuai kategori yang dipilih pada data
sekolah.
38
Untuk Source Code bisa dilihat pada Lampiran Coding pada Form
Sekolah.
e) Form Pegawai (PTK)
Form Pegawai ini memiliki dua tab, yaitu tab input data yang berfungsi
untuk melakukan penambahan, penyimpanan data pendidik dan tenaga
kependidikan dan tab data tabel yang berfungsi untuk melakukan pencarian sesuai
kategori yang dipilih pada data PTK.
39
Keterangan :
1)
2)
3)
4)
40
Keterangan :
1) Tab data tabel berfungsi untuk melihat hasil dari penyimpanan pada input
data.
2) Pencarian berfungsi untuk menampilkan data yang sudah disimpan
berdasarkan kategori yang dipilih.
3) Button hapus berfungsi untuk menghapus data PTK. Button hapus ini akan
berfungsi apabila user atau admin men double klik datagrid yang akan di
hapus.
4) Button edit berfungsi untuk mengedit data PTK. Button edit akan
berfungsi apabila user atau admin men double klik datagrid yang akan di
edit, kemudian muncul button oke, tidak, dan refresh.
Untuk Source Code bisa dilihat pada Lampiran Coding pada Form
Pegawai.
f) Form PraCetakLaporan
Form PraCetakLaporan ini berfungsi untuk melihat dan melakukan
pencetakan laporan berdasarkan data sekolah.
Keterangan :
41
1) Saat form tampil, program meminta user atau admin memilih kategori data
sekolah mana yang akan dicetak.
Untuk Source Code bisa dilihat pada Lampiran Coding pada Form
PraCetakLaporan.
g) Form User
Form ini berfungsi untuk penambahan, penyimpanan, penghapusan,
pengeditan dan pencarian data user sesuai kategori yang dibuat oleh admin.
Keterangan :
1) Pada tampilan form user, berfungsi untuk menambahkan user baru
yang dilakukan oleh admin.
2) Button tambah berfungsi untuk menambahkan user baru dengan
menginputkan username, password, dan nama.
42
43
BAB VII
PENUTUP
7.1
Kesimpulan
Dari pembahasan di atas dapat disimpulkan bahwa dengan adanya
pembuatan aplikasi data pendidik dan tenaga kependidikan menjadi lebih baik.
44
Saran
Tahap analisa dan desain sistem Aplikasi Data Pendidik dan Tenaga
45
LAMPIRAN
Form Login
procedure TF_Login.bt_batalClick(Sender: TObject);
begin
e_username.Clear;
e_password.Clear;
e_username.SetFocus;
end;
procedure TF_Login.bt_loginClick(Sender: TObject);
begin
if ((e_username.Text='admin') or (e_username.Text='Admin'))
and
((e_password.Text='admin')
or
(e_password.Text='Admin')) then
begin
Application.MessageBox('Selamat Datang Admin','Information');
F_Login.Hide;
F_Utama.Show;
end else
begin
dm.execSQL(dm.AQPublic,'select * from t_user where
username='+QuotedStr(e_username.Text)+'
and
password='+QuotedStr(e_password.Text));
if dm.AQPublic.IsEmpty then
begin
Application.MessageBox('Username atau Password
Salah','Information');
bt_batalClick(self);
end else
begin
Application.MessageBox('Selamat Datang di Aplikasi Data
Pendidik dan Tenaga Kependidikan','Information');
F_Login.Hide;
F_Utama.Show;
F_Utama.bt_user.Enabled:=false;
end;
end;
end;
procedure TF_Login.e_passwordKeyPress(Sender: TObject; var Key:
Char);
begin
if Key=#13 then
bt_loginClick(self);
end;
end.
Form Utama
procedure tutupForm;
begin
f_wilayah.close;
46
f_sekolah.close;
f_pegawai.close;
F_PraCetakLaporan.Close;
F_User.Close;
end;
procedure TF_Utama.bt_userClick(Sender: TObject);
begin
tutupForm;
F_User.show;
end;
procedure TF_Utama.FormClose(Sender:
TCloseAction);
begin
Application.Terminate;
end;
TObject;
var
Action:
Form Wilayah
procedure awalprovinsi;
begin
with F_Wilayah do
begin
e_idprovinsi.Clear;
e_provinsi.Clear;
gb_input1.Enabled:=false;
bt_tambah1.Enabled:=true;
bt_simpan1.Enabled:=false;
bt_hapus1.Enabled:=false;
bt_ubah1.Enabled:=false;
e_idprovinsi.Enabled:=true;
end;
end;
47
procedure awalkabupaten;
begin
with F_Wilayah do
begin
e_idkabupatenkota.Clear;
e_kabupatenkota.Clear;
cb_provinsi.ItemIndex:=-1;
gb_input2.Enabled:=false;
bt_tambah2.Enabled:=true;
bt_simpan2.Enabled:=false;
bt_hapus2.Enabled:=false;
bt_ubah2.Enabled:=false;
e_idkabupatenkota.Enabled:=true;
end;
end;
procedure awalkelurahan;
begin
with F_Wilayah do
begin
e_idkelurahankecamatan.Clear;
e_kelurahankecamatan.Clear;
cb_kabupatenkota.ItemIndex:=-1;
gb_input3.Enabled:=false;
bt_tambah3.Enabled:=true;
bt_simpan3.Enabled:=false;
bt_hapus3.Enabled:=false;
bt_ubah3.Enabled:=false;
e_idkelurahankecamatan.Enabled:=true;
dm.execSQL(dm.AQKelurahan,'select
kel.id_kelurahan_kecamatan,
kel.kelurahan_kecamatan,kab.kabupaten_kota
from
t_kelurahan_kecamatan as kel, t_kabupaten_kota as kab
where kel.id_kabupaten_kota=kab.id_kabupaten_kota');
end;
end;
procedure isicb;
var i:integer;
begin
F_Wilayah.cb_provinsi.Clear;
F_Wilayah.cb_kabupatenkota.Clear;
DM.execSQL(DM.AQCB,'select provinsi from t_provinsi');
DM.AQCB.First;
for i:=1 to dm.AQCB.RecordCount do
begin
F_Wilayah.cb_provinsi.Items.Add(DM.AQCB.Fields[0].AsString);
DM.AQCB.Next;
end;
DM.execSQL(DM.AQCB,'select
kabupaten_kota
from
t_kabupaten_kota');
DM.AQCB.First;
for i:=1 to dm.AQCB.RecordCount do
begin
F_Wilayah.cb_kabupatenkota.Items.Add(DM.AQCB.Fields[0].AsSt
ring);
DM.AQCB.Next;
end;
end;
48
procedure refreshtabel;
begin
with dm do
begin
dm.execSQL(DM.AQProvinsi,'select * from t_provinsi');
dm.execSQL(DM.AQKabupaten,'select
kbp.id_kabupaten_kota,kbp.kabupaten_kota,prov.provinsi
from t_kabupaten_kota as kbp, t_provinsi as prov where
kbp.id_provinsi=prov.id_provinsi');
dm.execSQL(DM.AQKelurahan,'select
kel.id_kelurahan_kecamatan,
kel.kelurahan_kecamatan,kab.kabupaten_kota
from
t_kelurahan_kecamatan as kel, t_kabupaten_kota as kab
where kel.id_kabupaten_kota=kab.id_kabupaten_kota');
end;
end;
procedure TF_Wilayah.bt_batal1Click(Sender: TObject);
begin
awalprovinsi;
refreshtabel;
isicb;
end;
procedure TF_Wilayah.bt_batal2Click(Sender: TObject);
begin
awalkabupaten;
refreshtabel;
isicb;
end;
procedure TF_Wilayah.bt_batal3Click(Sender: TObject);
begin
awalkelurahan;
end;
procedure TF_Wilayah.bt_hapus1Click(Sender: TObject);
begin
if MessageDlg('Anda yakin ingin menghapus data
ini?',mtConfirmation,[mbYes,mbNo],0)=mrYes then
begin
DM.executeSQL(DM.AQProvinsi,'delete from t_provinsi where
id_provinsi='+QuotedStr(e_idprovinsi.Text));
bt_batal1Click(self);
Application.MessageBox('Data berhasil dihapus','Information');
end;
end;
procedure TF_Wilayah.bt_hapus2Click(Sender: TObject);
begin
if MessageDlg('Anda yakin ingin menghapus data
ini?',mtConfirmation,[mbYes,mbNo],0)=mrYes then
begin
DM.executeSQL(DM.AQKabupaten,'delete
from
t_kabupaten_kota
where
id_kabupaten_kota='+QuotedStr(e_idkabupatenkota.Text));
bt_batal2Click(self);
Application.MessageBox('Data berhasil dihapus','Information');
end;
end;
procedure TF_Wilayah.bt_hapus3Click(Sender: TObject);
49
begin
if MessageDlg('Anda yakin ingin menghapus data
ini?',mtConfirmation,[mbYes,mbNo],0)=mrYes then
begin
DM.executeSQL(DM.AQKelurahan,'delete
from
t_kelurahan_kecamatan
where
id_kelurahan_kecamatan='+QuotedStr(e_idkelurahankecam
atan.Text));
awalkelurahan;
Application.MessageBox('Data berhasil dihapus','Information');
end;
end;
procedure TF_Wilayah.bt_simpan1Click(Sender: TObject);
var query : string;
begin
if e_idprovinsi.Text='' then
begin
Application.MessageBox('Id Provinsi Kosong','Information');
e_idprovinsi.SetFocus;
end else
if e_provinsi.Text='' then
begin
Application.MessageBox('Provinsi Kosong','Information');
e_provinsi.SetFocus;
end else
begin
query:='insert
into
t_provinsi
values('+QuotedStr(e_idprovinsi.Text)
+','+QuotedStr(e_provinsi.Text)+')';
DM.insertdata(query); //untuk input data
bt_batal1Click(self);
Application.MessageBox('Data
berhasil
disimpan','Information');
end;
end;
procedure TF_Wilayah.bt_simpan2Click(Sender: TObject);
var query,idprovinsi : string;
begin
if e_idkabupatenkota.Text='' then
begin
Application.MessageBox('Id
Kabupaten
/
Kota
Kosong','Information');
e_idkabupatenkota.SetFocus;
end else
if e_kabupatenkota.Text='' then
begin
Application.MessageBox('Kabupaten
/
Kota
Kosong','Information');
e_kabupatenkota.SetFocus;
end else
if cb_provinsi.ItemIndex=-1 then
begin
Application.MessageBox('Pilih Provinsi','Information');
cb_provinsi.SetFocus;
end else
begin
DM.execSQL(DM.AQPublic,'select * from t_kabupaten_kota
where
id_kabupaten_kota='+QuotedStr(e_idkabupatenkota.Text));
if dm.AQPublic.RecordCount<>0 then
begin
50
51
Application.MessageBox('Data
disimpan','Information');
end;
end;
end;
berhasil
where
52
53
Form Sekolah
procedure isicbprovinsi;
var i:integer;
begin
F_Sekolah.cb_provinsi.Clear;
DM.execSQL(DM.AQCB,'select * from t_provinsi');
DM.AQCB.First;
for i:=1 to dm.AQCB.RecordCount do
begin
F_Sekolah.cb_provinsi.Items.Add(DM.AQCB.Fields[0].AsString+'
- '+dm.AQCB.Fields[1].AsString);
DM.AQCB.Next;
end;
end;
procedure isicbkabupaten;
var i,indeks:integer;
id : string;
begin
F_Sekolah.cb_kabupatenkota.Clear;
indeks:=Pos(' - ',F_Sekolah.cb_provinsi.Text);
id:=Copy(F_Sekolah.cb_provinsi.Text,0,indeks-1);
DM.execSQL(DM.AQCB,'select * from t_kabupaten_kota where
id_provinsi='+QuotedStr(id));
DM.AQCB.First;
for i:=1 to dm.AQCB.RecordCount do
begin
F_Sekolah.cb_kabupatenkota.Items.Add(DM.AQCB.Fields[0].AsSt
ring+' - '+dm.AQCB.Fields[1].AsString);
DM.AQCB.Next;
end;
end;
procedure isicbkelurahan;
var i,indeks:integer;
id : string;
begin
F_Sekolah.cb_kelurahankecamatan.Clear;
indeks:=Pos(' - ',F_Sekolah.cb_kabupatenkota.Text);
id:=Copy(F_Sekolah.cb_kabupatenkota.Text,0,indeks-1);
DM.execSQL(DM.AQCB,'select * from t_kelurahan_kecamatan
where id_kabupaten_kota='+QuotedStr(id));
DM.AQCB.First;
for i:=1 to dm.AQCB.RecordCount do
begin
F_Sekolah.cb_kelurahankecamatan.Items.Add(DM.AQCB.Fields[0
].AsString+' - '+dm.AQCB.Fields[1].AsString);
54
DM.AQCB.Next;
end;
end;
procedure TF_Sekolah.bt_batalClick(Sender: TObject);
begin
awal;
isicbprovinsi;
end;
procedure TF_Sekolah.bt_hapusClick(Sender: TObject);
begin
if MessageDlg('Anda yakin ingin menghapus data
ini?',mtConfirmation,[mbYes,mbNo],0)=mrYes then
begin
DM.executeSQL(DM.AQSekolah,'delete from t_sekolah where
nss='+QuotedStr(e_nss.Text));
awal;
Application.MessageBox('Data berhasil dihapus','Information');
end;
end;
procedure TF_Sekolah.bt_simpanClick(Sender: TObject);
var query,idkelurahan : string;
indeks : integer;
begin
if e_nss.Text='' then
begin
Application.MessageBox('NSS Kosong','Information');
e_nss.SetFocus;
end else
if e_nama.Text='' then
begin
Application.MessageBox('Nama Kosong','Information');
e_nama.SetFocus;
end else
if m_alamat.Lines.Text='' then
begin
Application.MessageBox('Alamat Kosong','Information');
m_alamat.SetFocus;
end else
if cb_provinsi.ItemIndex=-1 then
begin
Application.MessageBox('Pilih Provinsi','Information');
cb_provinsi.SetFocus;
end else
if cb_kabupatenkota.ItemIndex=-1 then
begin
Application.MessageBox('Pilih Kabupaten / Kota','Information');
cb_kabupatenkota.SetFocus;
end else
if cb_kelurahankecamatan.ItemIndex=-1 then
begin
Application.MessageBox('Pilih
Kelurahan
/
Kecamatan','Information');
cb_kelurahankecamatan.SetFocus;
end else
begin
DM.execSQL(DM.AQPublic,'select * from t_sekolah where
nss='+QuotedStr(e_nss.Text));
if dm.AQPublic.RecordCount<>0 then
begin
Application.MessageBox('NSS sudah ada','Information');
55
e_nss.Clear; e_nss.SetFocus;
end else
begin
indeks:=Pos(' - ',cb_kelurahankecamatan.Text);
idkelurahan:=Copy(cb_kelurahankecamatan.Text,0,indeks-1);
query:='insert into t_sekolah values('+QuotedStr(e_nss.Text)
+','+QuotedStr(e_nama.Text)
+','+QuotedStr(m_alamat.Lines.Text)
+','+QuotedStr(idkelurahan)+')';
DM.insertdata(query);
awal;
Application.MessageBox('Data
berhasil
disimpan','Information');
end;
end;
end;
procedure TF_Sekolah.bt_tambahClick(Sender: TObject);
begin
gb_input.Enabled:=true;
e_nss.Enabled:=true;
e_nss.SetFocus;
bt_simpan.Enabled:=true;
bt_hapus.Enabled:=false;
bt_ubah.Enabled:=false;
bt_tambah.Enabled:=false;
end;
procedure TF_Sekolah.bt_ubahClick(Sender: TObject);
var indeks : integer;
idkelurahan : string;
begin
if cb_kelurahankecamatan.ItemIndex=-1 then
begin
Application.MessageBox('Data Kelurahan / Kecamatan
Kosong','Information');
end else
begin
indeks:=Pos(' - ',cb_kelurahankecamatan.Text);
idkelurahan:=Copy(cb_kelurahankecamatan.Text,0,indeks-1);
DM.executeSQL(DM.AQSekolah,'update t_sekolah set
nama='+QuotedStr(e_nama.Text)+',
alamat='+QuotedStr(m_alamat.Lines.Text)+',
id_kelurahan_kecamatan='+QuotedStr(idkelurahan)+' where
nss='+QuotedStr(e_nss.Text));
awal;
Application.MessageBox('Data berhasil diubah','Information');
end;
end;
procedure TF_Sekolah.cb_kabupatenkotaChange(Sender: TObject);
begin
if cb_kabupatenkota.ItemIndex=-1 then
begin
cb_kelurahankecamatan.Clear;
end else isicbkelurahan;
end;
procedure TF_Sekolah.cb_provinsiChange(Sender: TObject);
begin
if cb_provinsi.ItemIndex=-1 then
begin
cb_provinsi.Clear;
56
cb_kabupatenkota.Clear;
end else isicbkabupaten;
end;
procedure TF_Sekolah.DBGrid1DblClick(Sender: TObject);
begin
e_nss.Text:=DM.AQSekolah.Fields[0].AsString;
e_nama.Text:=DM.AQSekolah.Fields[1].AsString;
m_alamat.Lines.Text:=DM.AQSekolah.Fields[2].AsString;
gb_input.Enabled:=true;
e_nss.Enabled:=false;
bt_tambah.Enabled:=false;
bt_simpan.Enabled:=false;
bt_hapus.Enabled:=true;
bt_ubah.Enabled:=true;
end;
procedure TF_Sekolah.e_cariChange(Sender: TObject);
var query:string;
begin
if cb_cari.ItemIndex=-1 then
begin
Application.MessageBox('Pilih Kategori Pencarian','Information');
cb_cari.SetFocus;
end else
if cb_cari.ItemIndex=0 then
begin
query:='select
*
from
t_sekolah
where
nss
like
"%'+e_cari.Text+'%"';
DM.execSQL(DM.AQSekolah,query);
end else
if cb_cari.ItemIndex=1 then
begin
query:='select * from t_sekolah where nama like
"%'+e_cari.Text+'%"';
DM.execSQL(DM.AQSekolah,query);
end;
end;
procedure TF_Sekolah.FormShow(Sender: TObject);
begin
awal;
isicbprovinsi;
end;
end.
57
e_noktp.Clear;
cb_agama.ItemIndex:=-1;
cb_statuskawin.ItemIndex:=-1;
e_jumlahanak.Clear;
cb_tugaspokok.ItemIndex:=-1;
m_alamatrumah.Lines.Clear;
e_telp.Clear;
e_tmtpns.Clear;
e_pangkatgolongan.Clear;
e_tmtgolongan.Clear;
e_tmtpendidik.Clear;
cb_statuskepegawaianguru.ItemIndex:=-1;
cb_jenisguru.ItemIndex:=-1;
e_jumlahjam.Clear;
e_tmtdisekolahguru.Clear;
cb_jabatanutama.ItemIndex:=-1;
e_tmtdisekolahformal.Clear;
e_tmtdisekolahkepalasekolah.Clear;
cb_status.ItemIndex:=-1;
cb_statuskepegawaianpengawassekolah.ItemIndex:=-1;
cb_jabatanutamanonformal.ItemIndex:=-1;
cb_statusnonformal.ItemIndex:=-1;
e_bidangyangdiajarkan.Clear;
gb_guru.Enabled:=false;
gb_formal.Enabled:=false;
gb_nonformal.Enabled:=false;
gb_input.Enabled:=false;
bt_tambah.Enabled:=true;
bt_simpan.Enabled:=false;
e_nuptk.Enabled:=true;
dm.execSQL(DM.AQPegawai,'select * from t_pegawai');
end;
end;
function cekKondisi:boolean;
var cek : boolean;
begin
cek:=true;
with F_Pegawai do
begin
if cb_sekolah.ItemIndex=-1 then
begin
Application.MessageBox('Data Sekolah Kosong','Information');
cb_sekolah.SetFocus; cek:=false;
end else
if e_nuptk.Text='' then
begin
Application.MessageBox('Data NUPTK Kosong','Information');
e_nuptk.SetFocus; cek:=false;
end else
if e_namalengkap.Text='' then
begin
Application.MessageBox('Data Nama Lengkap
Kosong','Information'); e_namalengkap.SetFocus; cek:=false;
end else
if cb_jeniskelamin.ItemIndex=-1 then
begin
58
59
60
cb_statusnonformal.SetFocus; cek:=false;
end else
if e_bidangyangdiajarkan.Text='' then
begin
Application.MessageBox('Data Bidang yang diajarkan
Kosong','Information');
e_bidangyangdiajarkan.SetFocus;
cek:=false;
end;
end;
end;
result:=cek;
end;
procedure isicbsekolah;
var i : integer;
begin
F_Pegawai.cb_sekolah.Clear;
DM.execSQL(DM.AQCB,'select * from t_sekolah');
DM.AQCB.First;
for i:=1 to dm.AQCB.RecordCount do
begin
F_Pegawai.cb_sekolah.Items.Add(DM.AQCB.Fields[0].AsString+'
- '+dm.AQCB.Fields[1].AsString);
DM.AQCB.Next;
end;
end;
procedure TF_Pegawai.bt_batalClick(Sender: TObject);
begin
awal;
isicbsekolah;
end;
procedure TF_Pegawai.bt_simpanClick(Sender: TObject);
var query,ttl,nss : string;
cek : boolean;
indeks : integer;
begin
cek :=cekKondisi;
if cek then
begin
DM.execSQL(DM.AQPublic,'select * from t_pegawai where
nuptk='+QuotedStr(e_nuptk.Text));
if dm.AQPublic.RecordCount<>0 then
begin
Application.MessageBox('NUPTK sudah ada','Information');
e_nuptk.Clear; e_nuptk.SetFocus;
end else
begin
ttl:=e_tempatlahir.Text+', '+e_tanggallahir.Text;
indeks:=Pos(' - ',cb_sekolah.Text);
nss:=Copy(cb_sekolah.Text,0,indeks-1);
query:='insert
into
t_pegawai
values('+QuotedStr(e_nuptk.Text)
+','+QuotedStr(e_namalengkap.Text)+','+QuotedStr(nss)
+','+QuotedStr(cb_jeniskelamin.Text)
+','+QuotedStr(e_nip.Text)+
','+QuotedStr(ttl)+','+QuotedStr(e_noktp.Text)
+','+QuotedStr(cb_agama.Text)
+','+QuotedStr(cb_statuskawin.Text)
+','+QuotedStr(e_jumlahanak.Text)
+','+QuotedStr(cb_tugaspokok.Text)
61
+','+QuotedStr(m_alamatrumah.Lines.Text)
+','+QuotedStr(e_telp.Text)+')';
DM.insertdata(query);
if e_pangkatgolongan.Text<>'' then
begin
query:='insert
into
t_detailpns
values('+QuotedStr(e_nuptk.Text)+','+QuotedStr(e_nip.Text)
+','+QuotedStr(e_tmtpns.Text)
+','+QuotedStr(e_pangkatgolongan.Text)
+','+QuotedStr(e_tmtgolongan.Text)
+','+QuotedStr(e_tmtpendidik.Text)+')';
DM.insertdata(query);
end;
if cb_tugaspokok.ItemIndex=0 then
begin
query:='insert
into
t_detailguru
values('+QuotedStr(e_nuptk.Text)
+','+QuotedStr(cb_statuskepegawaianguru.Text)
+','+QuotedStr(cb_jenisguru.Text)
+','+QuotedStr(e_jumlahjam.Text)
+','+QuotedStr(e_tmtdisekolahguru.Text)+')';
DM.insertdata(query);
end;
if cb_tugaspokok.ItemIndex=1 then
begin
query:='insert
into
values('+QuotedStr(e_nuptk.Text)
+','+QuotedStr(cb_jabatanutama.Text)
+','+QuotedStr(e_tmtdisekolahformal.Text)+')';
DM.insertdata(query);
end;
t_detailtkf
if cb_jabatanutama.ItemIndex=0 then
begin
query:='insert
into
t_detailkepsek
values('+QuotedStr(e_nuptk.Text)
+','+QuotedStr(e_tmtdisekolahkepalasekolah.Text)+')';
DM.insertdata(query);
end;
if cb_jabatanutama.ItemIndex=10 then
begin
query:='insert into t_detailpengawassekolah
values('+QuotedStr(e_nuptk.Text)
+','+QuotedStr(cb_status.Text)
+','+QuotedStr(cb_statuskepegawaianpengawassekolah.Text
)+')';
DM.insertdata(query);
end;
if cb_tugaspokok.ItemIndex=2 then
begin
query:='insert
into
t_detailtknf
values('+QuotedStr(e_nuptk.Text)
+','+QuotedStr(cb_jabatanutamanonformal.Text)
+','+QuotedStr(cb_statusnonformal.Text)
+','+QuotedStr(e_bidangyangdiajarkan.Text)+')';
DM.insertdata(query);
end;
62
awal;
Application.MessageBox('Data
disimpan','Information');
end;
end;
end;
berhasil
63
if cb_cari.ItemIndex=0 then
begin
query:='select * from t_pegawai where nuptk like
"%'+e_cari.Text+'%"';
DM.execSQL(DM.AQPegawai,query);
end else
if cb_cari.ItemIndex=1 then
begin
query:='select * from t_pegawai where nama_lengkap like
"%'+e_cari.Text+'%"';
DM.execSQL(DM.AQPegawai,query);
end else
if cb_cari.ItemIndex=2 then
begin
query:='select * from t_pegawai where no_ktp like
"%'+e_cari.Text+'%"';
DM.execSQL(DM.AQPegawai,query);
end;
end;
procedure TF_Pegawai.FormShow(Sender: TObject);
begin
awal;
isicbsekolah;
end;
end.
Form PraCetakLaporan
procedure awal;
begin
with F_PraCetakLaporan do
begin
cb_datasekolah.ItemIndex:=-1;
end;
end;
procedure isicbsekolah;
var i : integer;
begin
F_PraCetakLaporan.cb_datasekolah.Clear;
DM.execSQL(DM.AQCB,'select * from t_sekolah');
DM.AQCB.First;
F_PraCetakLaporan.cb_datasekolah.Items.Add('Semua');
for i:=1 to dm.AQCB.RecordCount do
begin
F_PraCetakLaporan.cb_datasekolah.Items.Add(DM.AQCB.Fields[
0].AsString+' - '+dm.AQCB.Fields[1].AsString);
DM.AQCB.Next;
end;
end;
procedure TF_PraCetakLaporan.bt_batalClick(Sender: TObject);
var indeks : integer;
nss : string;
begin
if cb_datasekolah.ItemIndex=-1 then
begin
Application.MessageBox('Pilih Data Sekolah','Information');
end else
if cb_datasekolah.ItemIndex=0 then
64
begin
dm.execSQL(dm.AQPegawai,'select * from t_pegawai');
if dm.AQPegawai.IsEmpty then
Application.MessageBox('Data Kosong','Information')
else f_Laporan.QuickRep2.Preview;
end else
begin
indeks:=Pos(' - ',cb_datasekolah.Text);
nss:=Copy(cb_datasekolah.Text,0,indeks-1);
dm.execSQL(dm.AQPegawai,'select * from t_pegawai where
nss='+QuotedStr(nss));
if dm.AQPegawai.IsEmpty then
Application.MessageBox('Data Kosong','Information')
else f_Laporan.QuickRep2.Preview;
end;
end;
procedure TF_PraCetakLaporan.FormShow(Sender: TObject);
begin
awal;
isicbsekolah;
end;
end.
Form User
procedure awal;
begin
with F_User do
begin
e_username.Clear;
e_password.Clear;
e_nama.Clear;
gb_input.Enabled:=false;
bt_tambah.Enabled:=true;
bt_simpan.Enabled:=false;
bt_hapus.Enabled:=false;
bt_ubah.Enabled:=false;
e_username.Enabled:=true;
dm.execSQL(dm.AQUser,'select * from t_user');
end;
end;
procedure TF_User.bt_batalClick(Sender: TObject);
begin
awal;
end;
procedure TF_User.bt_hapusClick(Sender: TObject);
begin
if MessageDlg('Anda yakin ingin menghapus data
ini?',mtConfirmation,[mbYes,mbNo],0)=mrYes then
begin
DM.executeSQL(DM.AQUser,'delete from t_user where
username='+QuotedStr(e_username.Text));
awal;
Application.MessageBox('Data berhasil dihapus','Information');
end;
end;
65
66
if cb_cari.ItemIndex=-1 then
begin
Application.MessageBox('Pilih Kategori Pencarian','Information');
cb_cari.SetFocus;
end else
if cb_cari.ItemIndex=0 then
begin
query:='select * from t_user where username like
"%'+e_cari.Text+'%"';
DM.execSQL(DM.AQUser,query);
end else
if cb_cari.ItemIndex=1 then
begin
query:='select * from t_user where password like
"%'+e_cari.Text+'%"';
DM.execSQL(DM.AQUser,query);
end else
if cb_cari.ItemIndex=2 then
begin
query:='select
*
from
t_user
where
nama
like
"%'+e_cari.Text+'%"';
DM.execSQL(DM.AQUser,query);
end
end;
procedure TF_User.FormShow(Sender: TObject);
begin
awal;
end;
end.
DOKUMENTASI
67
68