contoh laporan implementasi

113
IMPLEMENTASI DELPHI DAN MYSQL PADA APLIKASI DATA PENDIDIK DAN TENAGA KEPENDIDIKAN LEMBAGA PENJAMIN MUTU PENDIDIKAN PROVINSI KALIMANTAN SELATAN Laporan Kerja Praktik Untuk Memenuhi Persyaratan Dalam Menyelesaikan Strata-1 Ilmu Komputer Oleh : Evi Nadya Prisilla J1F109212

description

contoh laporan implementasi

Transcript of contoh laporan implementasi

IMPLEMENTASI DELPHI DAN MYSQL PADA APLIKASI DATA PENDIDIK DAN TENAGA KEPENDIDIKAN LEMBAGA PENJAMIN MUTU PENDIDIKAN PROVINSI KALIMANTAN SELATAN

Laporan Kerja Praktik

Untuk Memenuhi PersyaratanDalam Menyelesaikan Strata-1 Ilmu Komputer

Oleh :Evi Nadya PrisillaJ1F109212

PROGRAM STUDI ILMU KOMPUTERFAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAMUNIVERSITAS LAMBUNG MANGKURATBANJARBARU, 2013

LEMBAR PENGESAHANLAPORAN KERJA PRAKTIK

IMPLEMENTASI DELPHI DAN MYSQL PADA APLIKASI DATA PENDIDIK DAN TENAGA KEPENDIDIKAN LEMBAGA PENJAMIN MUTU PENDIDIKAN PROVINSI KALIMANTAN SELATAN

Oleh :Evi Nadya Prisilla J1F109212

Disetujui oleh pembimbing untuk memenuhi tugas mata kuliah Kerja Praktik (PKL) dalam rangka syarat untuk menyelesaikan mata kuliah tersebut pada tanggal : Juni 2013, di Banjarbaru.

Pembimbing Internal,

H. Irwan Budiman S.T, M.KomNIP. 19770325 200812 1 001Pembimbing Eksternal,

Jumali, S.Pd.NIP. 19600109 198303 1 005

Mengetahui,Ketua Program Studi Ilmu Komputer

Dodon T. Nugrahadi, S.Kom, M.EngNIP.19800112 200912 1 002ABSTRAK

IMPLEMENTASI DELPHI DAN MYSQL PADA APLIKASI DATA PENDIDIK DAN TENAGA KEPENDIDIKAN LEMBAGA PENJAMIN MUTU PENDIDIKAN PROVINSI KALIMANTAN SELATAN

(Oleh :Evi Nadya Prisilla; Pembimbing : H. Irwan Budiman S.T, M.Kom.; 2013; xx halaman)

Bagian PSI sebuah instansi adalah bagian yang menangani keperluan sistem informasi sebuah instansi, termasuk pendataan. Data yang banyak kerap kali diperlukan efektifitas dalam pengelolaannya. Sistem informasi merupakan solusi utama untuk menunjang kinerja sebuah instansi. Selain didukung dengan database yang baik, sebuah sistem informasi juga memerlukan antar muka menarik dan mudah dioperasikan. Pengoperasian yang baik tidak lepas dari kode program yang ditambahkan pada aplikasi, agar aplikasi dapat berjalan. Sebagai penunjang pendidikan Lembaga Penjamin Mutu Pendidikan Kalimantan Selatan perlu menerapkan sistem informasi. Dalam kasus ini akan dibuat aplikasi pendataan yang dapat membantu menyelesaikan permasalahan bagian PSI dalam mengelola data-data pendidik dan tenaga kependidikan yang dibangun dengan menggunakan aplikasi pemograman Delphi XE. Oleh karena itu dipilihlah topik Implementasi Delphi dan MySQL pada Aplikasi Data Pendidik dan Tenaga Kependidikan Lembaga Penjamin Mutu Pendidikan Provinsi Kalimantan Selatan.

Kata Kunci : Delphi XE, MySQL, aplikasi data pendidik

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 eksternal4. 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 ISILEMBAR PENGESAHANiiABSTRAKiiiKATA PENGANTARivDAFTAR ISIvDAFTAR TABELviiiDAFTAR GAMBARixDAFTAR LAMPIRANxiBAB I11.1Latar belakang11.2Tujuan21.3Manfaat2BAB II42.1Sejarah dan Perkembangannya42.1.1Visi52.1.2Misi52.2Struktur Organisasi62.3Kegiatan Unit tempat Kerja Praktik7BAB III123.1Sistem Informasi123.2Bahasa Delphi133.2.1Sejarah Delphi133.2.2Tampilan Delphi XE143.2.3Struktur Pemrogramn Delphi183.3Sistem Basis Data193.4Perancangan Sistem19DFD (Data Flow Diagram)19ERD (Entity Relationship Diagram)213.5Ragam Dialog22BAB IV334.1Waktu dan Tempat334.2Bentuk Kerja Praktik334.3Prosedur Kerja33BAB V355.1Evaluasi Pelaksanaan Kerja Praktek355.2Hasil Pengamatan365.2.1Permasalahan365.2.2Tujuan365.2.3Manfaat365.2.4Teknologi375.2.5Teknik Pengumpulan Informasi375.2.6Karakteristik User375.2.7Batasan User terhadap Aplikasi385.2.8Fitur-Fitur Absensi Data Pendidik dan Tenaga Kependidikan38BAB VI396.1Deskripsi Sistem396.2Pembuatan Sistem39BAB VII487.1Kesimpulan487.2Saran48DAFTAR PUSTAKA49LAMPIRAN50DOKUMENTASI69

DAFTAR TABEL

Tabel 3.1 Keuntungan dan kerugian penggunaan dialog berbasis perintah tunggal26Tabel 3.2 Keuntungan dan kerugian penggunaan antarmuka berbasis bahasa alami.27Tabel 3.3 Keuntungan dan kerugian Sistem menu tarik (pulldown).29Tabel 3.4 Keuntungan dan Kerugian Penggunaann Dialog Berbasis Pengisian Borang. 30Tabel 3.5 Keuntungan dan Kerugian Dialog Berbasis Manipulasi Langsung31

DAFTAR GAMBAR

Gambar 2.1 Stuktur Organisasi7Gambar 4.1 Tampilan Delphi14Gambar 4.2 Tampilan Menu Bar14Gambar 4.3 Tampilan Tools Bar14Gambar 4.4 Tampilan Component Palette15Gambar 4.5 Tampilan Object Tree View16Gambar 4.6 Tampilan Object Inspector16Gambar 4.7 Tampilan Form17Gambar 4.8 Tampilan Code Editor18Gambar 3.1 Entitas eksternal20Gambar 3.2 Penyimpanan data20Gambar 3.3 Proses20Gambar 3.4 Aliran data20Gambar 6.1. Form Login39Gambar 6.2 Form Utama40Gambar 6.3. Form Wilayah41Gambar 6.4. Form Sekolah42Gambar 6.5. Form Pegawai Tab Input Data43Gambar 6.6. Form Pegawai Tab Data Tabel44Gambar 6.7. Form PraCetakLaporan45Gambar 6.8. Form User46Gambar 6.9. Laporan47

DAFTAR LAMPIRAN

1. Coding2. Dokumentasi3. Surat Permohonan Pribadi4. Pendaftaran KP5. Rencana Kerja KP6. Surat Rekomendasi KP Dosen PA7. Usulan Kegiatan KP8. Daftar Hadir KP9. Berita Acara Selesai KP10. Pendaftaran Seminar KP11. Rekomendasi Nilai KP12. Daftar Hadir Seminar13. Penilaian Laporan dan Seminar KP14. Penilaian Pembimbing Eksternal15. Nilai KP

ii

BAB IPENDAHULUAN

Latar belakangFakultas Matematika dan Ilmu Pengetahuan Alam melakukan pembinaan terhadap mahasiswa melalui kegiatan kerja praktik. Kegiatan kerja praktik merupakan kegiatan akademik yang merupakan salah satu mata kuliah wajib berupa praktik di lingkungan industri/ pabrik/ instansi yang setara dengan 2 satuan kredit semester (SKS), dan harus diambil oleh mahasiswa yang telah memperoleh SKS minimal 110 SKS. Kegiatan ini diharapkan mampu memenuhi dan menjawab tantangan pasar kerja serta menyiapkan mahasiswa agar akrab dan mengetahui seluk beluk dunia kerja serta dapat mengembangkan kemampuan dalam menerapkan teori-teori yang diperoleh dalam bangku kuliah. Di akhir kegiatan mahasiswa diwajibkan untuk menulis laporan kerja praktik dan melakukan seminar/sosialisasi hasil kerja praktik.Sebagian besar instansi pemerintah dan perusahaan swasta di Kalimantan Selatan, berpusat didua kota yaitu di Banjarmasin dan Banjarbaru. Layaknya perusahaan dan instansi yang berada di era globalisasi, perusahaan dan instansi dituntut untuk mengikuti perkembangan teknologi informasi untuk mendukung jalannya birokrasi. Namun tidak semua perusahaan dan instansi yang terdapat di Banjarbaru yang sudah menerapkan teknologi Informasi secara menyeluruh dalam aktifitas kerjanya. Lembaga Penjamin Mutu Pendidikan (LPMP) Kalimantan Selatan, Sebagai Lembaga Penjaminan Mutu Pendidikan di Kalimantan Selatan maka tak pelak lagi lembaga ini dituntut agar selalu update terhadap teknologi yang ada. TujuanAdapun tujuan dari umum pelaksanaan Kerja Praktik ini adalah sebagai berikut :(1) Sebagai syarat untuk menyelesaikan studi(2) Membina mahasiswa/i untuk bisa menjadi sarana yang berkualitas.(3) Meningkatkan dan mengembangkan kemampuan dari mahasiswa/i tersebut dan menerapkan pembelajaran yang diperoleh pada saat perkuliahan.Adapun tujuan khusus pelaksanaan Kerja Praktik ini adalah sebagai berikut :(1) Memberikan pembelajaran kepada mahasiswa/i bagaimana dunia kerja yang sebenarnya.(2) Menerapkan ilmu yang didapatkan selama menimba ilmu dibangku kuliah.ManfaatManfaat yang diperoleh dari kerja praktik ini adalah sebagai berikut :(1) Mengetahui keadaan dunia kerja.(2) Memperoleh keterampilan dan pengetahuan baru yang tidak didapat dibangku kuliah.(3) Pembelajaran mahasiswa agar dapat bekerjasama dengan baik.(4) Menjadi pendorong pengembangan diri, dalam rangka membantu menyelesaikan permasalahan di tempat kerja praktik

1

7

BAB IIKEADAAN UMUM INSTANSI TEMPAT KERJA PRAKTIK

Sejarah dan PerkembangannyaLembaga Penjaminan Mutu Pendidikan (LPMP) Kalimantan Selatan dibentuk berdasarkan Peraturan Menteri Pendidikan Nasional No. 07 tahun 2007. Sebelumnya, Lembaga Penjaminan Mutu Pendidikan (LPMP) Kalimantan Selatan bernama Balai Penataran Guru (BPG) Banjarmasin dan Lembaga Penjamin Mutu Pendidikan (LPMP) Kalimantan Selatan. LPMP Kalimantan Selatan terletak di Jalan Gotong Royong No. 85 Banjarbaru.Balai Penataran Guru Banjarmasin pada awal berdirinya diatur oleh Keputusan Menteri Pendidikan dan Kebudayaan Republik Indonesia Nomor 0116/O/1977 tanggal 23 April 1977 tentang Tata Kerja Balai Penataran Guru dan Tenaga Teknis Regional. Selanjutnya melalui Keputusan Mendikbud Nomor 0181/O/1979 tanggal 20 Agustus 1979 Balai Penataran Guru dan Tenaga Teknis Regional diubah menjadi Balai Penataran Guru. Struktur organisasi BPG saat itu diatur menurut Keputusan Mendikbud Nomor 0203/O/1978 tanggal 23 Juli 1978, yang susunan organisasinya belum mencerminkan lembaga penataran karena belum tampak adanya tenaga fungsional. Dalam perkembangan selanjutnya, fungsi dan peranan BPG Banjarmasin semakin meningkat setelah terbit Keputusan Mendikbud Nomor 024/O/1991 tenggal 2 Mei 1991 tentang Struktur Organisasi dan Tata Kerja Balai Penataran Guru yang didalamnya memuat pula jabatan structural dan fungsionalnya dalam BPG. Dalam perkembangannya BPG berubah menjadi Lembaga Penjamin Mutu Pendidikan Kalimantan Selatan. Lembaga Penjamin Mutu Pendidikan Kalimantan Selatan dibentuk berdasarkan Keputusan Menteri Pendidikan Nasional Nomor 087/O/2003 tanggal 4 Juli 2003 sebagai lembaga yang bertujuan agar pelaksanaan pendidikan di Kalimantan Selatan sesuai dengan standar, norma, kriteria dan prosedur yang ditetapkan oleh pemerintah pusat.Seiring dengan perkembangan zaman dan tuntutan masyarakat terhadap peningkatan mutu pendidikan, pemerintah melalui Departemen Pendidikan Nasional melakukan restrukturisasi dan refungsionalisasi Badan Penataran Guru Banjarmasin dan Lembaga Penjamin Mutu Pendidikan Kalimantan Selatan menjadi Lembaga Penjaminan Mutu Pendidikan (LPMP) Kalimantan Selatan. Lembaga Penjaminan Mutu Pendidikan Kalimantan Selatan merupakan Unit Pelaksana Teknis (UPT) pusat di bawah Ditjen Peningkatan Mutu Pendidik dan Tenaga Kependidikan (PMPTK).VisiVisi dari Lembaga Penjamin Mutu Pendidikan: Terwujudnya lembaga yang professional dalam melaksanakan penjaminan mutu pendidikan dasar dan menengah termasuk TK/RA menuju standar nasional berwawasan global.MisiMisi dari Lembaga Penjamin Mutu Pendidikan adalah sebagai berikut :(1) Mewujudkan SDM yang profesional dalam melakukan penjaminan mutu pendidikan.(2) Melakukan pemetaan, pengkajian dan supervisi mutu pendidikan di provinsi.(3) Memfasilitasi satuan pendidikan di dalam melaksanakan MBS di provinsi.(4) Memfasilitasi peningkatan kompetensi pendidik dan tenaga kependidikan di provinsi menuju standar nasional pendidikan.(5) Melaksanakan kerjasama dengan instansi terkait dalam usaha pengembangan mutu pendidikan di provinsi.(6) Mewujudkan sistem informasi mutu pendidikan yang handal dalam melakukan akses layanan data.Struktur OrganisasiBerdasarkan Peraturan Menteri Pendidikan Nasional Republik Indonesia nomor 7 Tahun 2007 tentang organisasi dan tata kerja Lembaga Penjaminan Mutu Pendidikan, susunan organisasi LPMP terdiri atas:a. Kepala;b. Subbagian Umum;c. Seksi Sistem Informasi;d. Seksi Pemetaan Mutu dan Supervisi;e. Seksi Fasilitasi Peningkatan Mutu Pendidikan; danf. Kelompok Jabatan Fungsional.Struktur Organisasi dan tata kerja pada Kantor LPMP Kalimantan Selatan adalah sebagai berikut :

KEPALAKASUBBAG UMUMSEKSI FASILITASI SUMBER DAYASEKSI PEMETAAN MUTU DAN SUPERVISISEKSI PROGRAM DAN SISTEM INFORMASIFUNGSIONALITAS WIDYAISWARAGambar 2.1 Stuktur OrganisasiKegiatan Unit tempat Kerja PraktikBahwa dalam rangka efisiensi dan efektivitas pelaksanaan tugas pemerintahan, pembangunan dan kemasyarakatan, agar berdaya guna dan berhasil guna, sesuai dengan tugas dan fungsi pokok LPMP Kalimantan Selatan, maka tugas tugas yang ada pada bagian adalah sebagai berikut :1. Kepala LPMPMenurut Permendiknas nomor 7 tahun 2007, Setiap pimpinan satuan organisasi di lingkungan LPMP dalam melaksanakan tugasnya wajib :a. Menerapkan prinsip koordinasi, integrasi, dan sinkronisasi serta bekerja sama baik dalam lingkup internal maupun eksternal; b. Melaksanakan akuntabilitas kinerja; c. Menyusun laporan pelaksanaan tugas sesuai dengan ketentuan peraturan perundang-undangan; d. Menyampaikan laporan pelaksanaan tugas kepada atasan secara berjenjang. Kepala LPMP menyampaikan hasil pemetaan mutu pendidikan dasar dan menengah termasuk TK, RA, atau bentuk lain yang sederajat, serta supervisi dan fasilitasi sumberdaya pendidikan terhadap satuan pendidikan kepada pemerintah provinsi, pemerintah kabupaten, dan pemerintah kota.2. Kepala Sub Bagian UmumKepala Sub bagian Umum mempunyai tugas melakukan koordinasi dan menyusun program pada sub-sub bagian yang ada di bagian umum yang meliputi urusan kepegawaian, perlengkapan, perencanaan, keuangan, ketatausahaan, ketatalaksanaan, dan kerumahtanggaan LPMPa. Urusan KepegawaianMenyusun 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 PerlengkapanMenyusun 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.c. Urusan Tata LaksanaMenyusun program kerja urusan tata laksana, melaksanakan kegiatan administrasi ketatausahaan, mengkoordinasikan pelaksanaan pengelolaan persuratan dan keprotokolan, serta melaksanakan tugas-tugas lain yang diberikan oleh atasan berdasarkan ketentuan yang beralakud. Urusan Rumah TanggaMelaksanakan tugas kerumahtanggaan (Wisma) dan melaksanakan tugas-tugas lain yang diberikan oleh atasan berdasarkan ketentuan yang berlaku.e. Urusan PerencanaanMenyusun program kerjaurusan perencanaan, menyusun dan menghimpun program Subbag Umum dan seksi-seksi sebagai bahan program kerja lembaga dan melaksanakan tugas-tugas lain yang diberikan oleh atasan.f. Urusan KeuanganMenyusun rencana, membagitugas, member petunjuk dalam pelaksanaan kegiatan urusan keuangan dan melaksanakan tugas yang diberikan oleh atasan.g. Urusan PerpustakaanMenyusun rencana kerja, mengkoodinir penyelenggaraan perpustakaan, melaksanakan 5 K pada ruang perpustakaan dan lingkungan serta melaksanakan tugas-tugas lain yang diberikan oleh atasan berdasarkan ketentuan yang berlaku.3. Kepala Seksi Program danSistem InformasiKepala Seksi Program dan Sistem Informasi mempunyai tugas melakukan penyusunan program, pengembangan, dan pengelolaan sistem informasi mutu pendidikan termasuk TK, RA, atau bentuk lain yang sederajat. Rumusan Tugas, Melakukan Pemetaan dan Pengolahan Data Pendidikan Dasar dan Menengah, Pengembangan Sistem Informasi Mutu Pendidikan Dasar dan Menengah, Menyusun rencana, membagi tugas, memberikan petunjuk, mengkoordinasi kegiatan bawahan serta menyusun program kerjaSeksi Data danInformasi di LembagaPenjaminMutuPendidikan Kalimantan Selatan4. Kepala Seksi Pemetaan Mutu dan SupervisiKepala Seksi Pemetaan Mutu dan Supervisi mempunyai tugas melakukan pemetaan, analisis dan supervise penjaminan mutu satuan pendidikan termasuk TK, RA, atau bentuk lain yang sederajat dalam pencapaian standar mutu pendidikan nasional.Rumusan Tugas, Menyusun rencana program, memberikan petunjuk, Mengkoordinasikan dan menilai staf seksi kajian mutu pendidikan serta melaksanakan program pengembangan peningkatan mutu pendidikan dasar dan menengah.

5. Kepala Seksi Fasilitasi Sumber Daya PendidikanKepala Seksi Fasilitasi Sumber daya Pendidikan mempunyai tugas melakukan fasilitasi sumber daya pendidikan terhadap satuan pendidikan dasar dan menengah termasuk TK, RA, atau bentuk lain yang sederajat dalam penjaminan mutu pendidikan.6. Kelompok Jabatan FungsionalKelompok Jabatan Fungsional terdiri atas sejumlah jabatan fungsional yang terbagi dalam berbagai kelompok sesuai dengan bidang tugasnya. Kelompok Jabatan Fungsional dipimpin oleh seorang tenaga fungsional sebagai koordinator yang ditunjuk oleh dan bertanggung jawab kepada Kepala LPMP. Jumlah dan jenis jabatan fungsional ditentukan berdasarkan kebutuhan dan beban kerja. Kelompok jabatan fungsional mempunyai tugas melaksanakan sebagian tugas dan fungsinya sesuai dengan bidang keahlian masing-masing.4

BAB IIITINJAUAN PUSTAKA

Sistem InformasiMenurut Sutedjo (2002), sistem adalah kumpulan elemen yang saling berhubungan satu sama lain yang membentuk satu kesatuan dalam usaha mencapai suatu tujuan. Sedangkan menurut Sutanta (2003), sistem adalah sekumpulan elemen atau subsistem yangsaling bekerjasama atau yang dihubungkan dengan cara-cara tertentu sehingga membentuksatu kesatuan untuk melaksanakan suatu fungsi guna mencapai suatu tujuan.MenurutSutedjo (2002), informasi adalah hasil pemrosesan data yang diperoleh dari setiap elemen sistem tersebut menjadi bentuk yang mudah dipahami dan merupakanpengetahuan yang relevan yang dibutuhkan oleh orang untuk menambah pemahamannyaterhadap fakta-fakta yang ada. Sedangkan menurut Sutanta (2003), informasi merupakanhasil pengolahan data sehingga menjadi bentuk yang penting bagi penerimanya danmempunyai kegunaan sebagai dasar dalam pengambilan keputusan yang dapat dirasakanakibatnya secara langsung saat itu juga atau secara tidak langsung pada saat mendatang.Sistem informasi adalah kumpulan elemen yang saling berhubungan satu sama lain yang membentuk satu kesatuan untuk mengintegrasikan data, memproses dan menyimpanserta mendistribusikan informasi (Sutedjo, 2002).Sistem informasi adalah suatu tipe khusus dari sistem kerja yang fungsi internalnya terbatas pada pemrosesan informasi dengan melakukan enam tipe operasi: menangkap(capturing), mentransmisikan (transmitting), menyimpan (storing), mengambil (retrieving), memanipulasi (manipulating), dan menampilkan (displaying) informasi Jogiyanto (2007). Menurut Eko (2000), sistem informasi merupakan suatu kumpulan dari komponen-komponen dalam perusahaan atau organisasi yang berhubungan dengan proses penciptaan dan pengaliran informasi.Bahasa DelphiSejarah DelphiDelphi merupakan salah satu bahasa pemrograman tingkat tinggi berbasis Windows.Delphi digolongkan ke dalam bahasa pemrograman visual yang menitik beratkan pada pemrograman berorientasi objek (Objek Oriented Programming). Membuat program dengan delphi tidaklah terlalu sulit, karena bahasa pemrograman ini dikembangkan dengan menggunakan bahasa Pascal.Dalam perkembangannya delphi memiliki beberapa objek-objek yang canggih, dalam bentuk kontrol program yang dikelompokkan ke dalam toolboxyang biasa disebut dengan Component Pallette. Menggunakan bahasa pemrograman delphi kita dapat menghasilkan program-program canggih, dimulai dari pemrograman multimedia, grafis sampai dengan pemrogaman database yang menggunakan jaringan. Bahkan dengan delphi kita pun dapat membuat program yang dapat mengakses data dari internet (Gunawan Imam, 2010).

Tampilan Delphi XETampilan 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.

Gambar 4.1 Tampilan Delphia. Menu BarMenu 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.

Gambar 4.2 Tampilan Menu Barb. Tools BarToolbar berisi ikon-ikon yang mewakili perintah-perintah dasar yang ada pada menu bar. Misalnya perintah menyimpan, cukup dilakukan dengan cara mengklik ikon bergambar disket.

Gambar 4.3 Tampilan Tools Barc. Component PalleteCommonent Pallete merupakan suatu wadah atau tempat yang digunakan untuk menampung semua objek-objek yang ada dalam delphi. Fasilitas ini sangat penting dan sangat membantu ketika proses pembuatan desain tampilan program. Semua hal-hal yang kita butuhkan pada saat mendesain tampilan program ada dalam fasilitas ini. Gambar 4.4 Tampilan Component Paletted. Object Tree View / StructureObject Tree View berpungsi untuk menampilkan keterangan atau menginformasikan semua objek atau kontrol program yang digunakan dalam membuat desain form. Jika kita lupa nama-nama yang diberikan pada suatu objek dalam format, kita cukup melihat isi objek dalam objek tree view. Gambar 4.5 Tampilan Object Tree View

e. Object InspectorObject Inspector merupakan jendela yang memberikan infromasi mengenai properties atau attribute objek yang seadang aktif. Pada saat pembuatan program, jendela ini sangat berguna ketika mengubah atau menentukan setting objek yang digunakan dalam program.Bagian ini terdiri dari 2 bagian, bagian pertama menampung properties masing-masing objek yang ada dalam delphi. Sedangkan bagian kedua berfungsi menampung berbagai macam event yang ada dalam suatu objek. Gambar 4.6 Tampilan Object Inspector

f. FormForm dalam pemrograman visual bisa diibaratkan sebagai suatu kain kanvas yang siap untuk dilukis. Form merupakan suatu dasar atau pondasi yang akan digunakan dalam pembuatan desain tampilan program. Ketika membuat desain program, kita membutuhkan objek-objek yang ada dalam component pallete untuk ditempatkan ke dalam form. Gambar 4.7 Tampilan Form

g. Code EditorKode Editor adalah jendela yang digunakan untuk melakukan pembuatan dan pengeditan kode-kode program. Pada delphi untuk memunculkan kode program dan form secara bergantian cukup menekan F12 pada keyboard. Gambar 4.8 Tampilan Code EditorStruktur Pemrogramn Delphia. UnitStruktur 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. ProjectDalam 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).Sistem Basis DataBasis data adalah suatu susunan/kumpulan data operasional lengkap dari suatu organisasi/perusahaan yang diorganisir/dikelola dan disimpan secara terintegrasi dengan menggunakan metode tertentu menggunakan komputer sehingga mampu menyediakan informasi optional yang diperlukan pemakainya (Marlinda,2004).Sistem Basis Data adalah suatu sistem menyusun dan mengelola record-record menggunakan komputer untuk menyimpan atau merekam serta memelihara data operasional lengkap sebuah organisasi/perusahaan sehingga mampu menyediakan informasi yang optimal yang diperlukan pemakai untuk proses mengambil keputusan (Marlinda,2004). Perancangan SistemDalam melakukan perancangan sistem, ada dua model yang dipergunakan yaitu process modelling dengan menggunakan Data Flow Diagram (DFD) dan data modelling dengan menggunakan Entity Relationship Diagram (ERD).DFD (Data Flow Diagram)DFD merupakan penggambaran sistem yang menggunakan bentuk symbol untuk menggambarkan aliran data dalam suatu proses yang saling berhubungan. Beberapa simbol yang dipergunakan untukmenggambarkan sistem antara lain:(1) External Entity, merupakan simbol yang mewakili elemen yang berada di luar sistem, tetapi memiliki hubungan interaksi dengan sistem.

Gambar 3.1 Entitas eksternal

(2) Data Store, merupakan simbol yang mewakilitempat penyimpanan dari data dan dapatdipergunakan bila dibutuhkan.

Gambar 3.2 Penyimpanan data

(3) Proses, merupakan simbol yang mewakili kegiatanuntuk mengubah data menjadi informasi ataumasukan untuk data lain.

Gambar 3.3 Proses

(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.

Gambar 3.4 Aliran data

Permodelan sistem dengan menggunakan DFD memiliki level yang menandai penggambaran sistem mulai dari umum hingga detail. Level yang menandai hubungan yang paling umum dan menggambarkan sistem secarakeseluruhan disebut context diagram. Dari context diagram selanjutnya dapatdiuraikan ke dalam DFD level 0, 1, hingga level dimana proses dianggap cukupdetail dan jelas serta tidak bisa diuraikan lebih detail(Sutedjo, 2002).ERD (Entity Relationship Diagram)Pada perancangan konseptual diperlukan suatu pendekatan yang digunakan untuk menggambarkan hubungan antardata. Hubungan tersebut dapat dinyatakan dalam bentuk model E-R (ERD). Mengingat model tersebut merupakan dasar penting dalam perancangan database (Kadir, 2008).ERD merupakan data modeling yang dipergunakan untuk mendokumentasikan data sistem. Dokumentasi dilakukan dengan 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, 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).Ragam DialogRagam dialog adalah cara yang digunakan untuk mengorganisasikan berbagai teknik dialog/komunikasi Manusia-Komputer.Ragam Dialog InteraktifKarakteristik Ragam Dialog adalah sebagai berikut :1. InisiatifMerupakan sifatdasardarisembarangdialog, karena inisiatifakan 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. Dalam inisiatif komputer, pengguna memberikan tanggapan atas arahandarikomputer. Misalnya : pertanyaan yang mempunyai jawabanya/tidak. Sedangkan inisiatifolehpengguna mempunyai sifat keterbukaanyang lebihluas. Misalnya adalah commandline.2. KeluwesanSistem yang luwes atau fleksibel adalah sistem yang mempunyai kemampuanuntukmencapaisuatutujuanlewatcarayangberbeda.

3. KompleksitasKompleksitas disini dimaksudkan tidak perlu membuat antarmuka lebih dari yang diperlukan, karena tidak ada keuntungan yang dapat diperoleh, malahan akan menjadikan implementasinya menjadi lebih sukar.4. KekuatanKekuatan didefinisaikan sebagai jumlah kerja yang dapat dilakukan oleh sistem untuk setiap perintah yang diberikan oleh pengguna.5. BebanInformasiRagam dialog ayng terjadi antara komputer dengan manusia menitik beratkan pada penyajian informasi yang dihasilkan komputer kepada pengguna. Agar penyampaian informasi itu dapat berdayaguna dan berhasil guna, beban informasi yang terkandung di dalam suatu ragam dialog seharusnya disesuaikan dengan aras pengguna. Jika beban itu terlalu tinggi, pengguna akan merasa terbebani yang berakibat negatif dalam hal kemampuan pengolahan kognitif dan tingkah laku pengguna terhadap sistem ang dimaksud. Jika bebannya terlalu rendah, pengguna akan merasa bahwa sistemnya seolah-olah menyembunyikan kinerja penggunanya sendiri.6. KonsistensiKonsistensi merupakan atribut yang sangat penting untuk membantu pengguna dalam mengembangkan mentalitas yang diperlukan dalam pengoperasian sebuah sistem komputer. Konsistensi sangat diperlukan untuk mempermudah pembelajaran dan pengoperasian.7. UmpanbalikUmpan 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. Tetapi, pada program komputer yang tidak ramah, pengguna sering harus menunggu proses yang sedang berjalan, sementara pengguna tidak mengetahui status proses saat itu, apakah sedang melakukan komputasi, sedang mencetak hasil, atau bahkan komputernya macet (hang) karena suatu sebab. Program yang demikian tidak baik menurut ukuran pengguna, karena program tidak memberikan umpan balik kepada pengguna akan apa yang akan ia kerjakan saat itu.8. ObservabilitasSistem dikatakan mempunyai sifat obsevbilitas apabila sistem itu berfungsi secara benar dan nampak sederhana bagi pengguna, meskipun sesungguhnys pengolahan secara internalnya sangat rumit.9. KontrolabilitasKontrolabilitas merupakan kebalikan dari observabilitas, dan hal ini berimplikasi bahwa sistem selalu berada dibawah kontrol pengguna. 10. EfisiensiEfisiensi dalam sistem komputer melibatan unjuk kerja manusia dan komputer secara bersama-sama adalah throughput yang diperoleh dari kerjasama antara manusia dan komputer.

11. KeseimbanganStrategi yang diambil dalam perancangan sembarang sistem sistem manusia-komputer haruslah dapat membagi-bagi pekerjaan antara manusia dan komputer seoptimal mungkin

Kategori Ragam Dialog Interaktif1. Dialog Berbasis Perintah Tunggal Dialog berbasis perintah tunggal (Command Line Language) merupakan ragam yang paling konvensional. Perintah-perintah tunggal yang dapat dioperasikan bisanya tergantung dari sistem komputer yang dipakai, dan berada dalam suatu doamain yang disebut bahsa perintah (common language).Dialog berbasis perintah tunggal adalah dialog yang bersifat inisiatif oleh pengguna.Bahasa perintah harus dirancang sedemikian rupa sehingga mereka mempunyai sifat alamiah, yakni mudah dipelajari dan diingat oleh kebanyakan pengguna. Tabel 3.1 Keuntungan dan kerugian penggunaan dialog berbasis perintah tunggal

2. Dialog Berbasis Bahasa PemrogamanDalam keadaan tertentu, penggunaan dialog berbasis perintah tunggal sering tidak memadai, khususnya ketika pengguna harus memberikan sederetan perintah-perintah yang sama setiap kali ia menjalankan program aplikasi tersebut. Dialog berbasis bahasa pemrograman merupakan ragam dialog yang memungkinkan pengguna untuk mengemas sejumlah perintah ke dalam suatu berkas yan sering disebut dengan batch file. Contoh dBASE

3. Antarmuka Berbasis Bahasa Alami Pada film fiksi ilmiah, komunikasi antara manusia dengan komputer lewat suatu bahasa ucapan yang secara jelas memanfaatkan bahasa alami (natural language). Dengan melihat pada perbedaan bahasa 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. Dari sisi pengguna, tentunya ia menginginkan keluwesan yang sebesar-besarnya dalam memberikan instruksi kepada komputer. Tetapi, dari sisi perancang sistem, semakin luwes bahasa alami yang dikehendaki oleh pengguna, semakin rumit pula sistem penterjemah yang harus disiapkan.Tabel 3.2 Keuntungan dan kerugian penggunaan antarmuka berbasis bahasa alami.

4. Sistem Menu Sistem menu merupakan pilihan yang tepat untuk menunjukkan kemampuan dan fasilitas yang dimiliki oleh sebuah program aplikasi kepada pengguna. Menu adalah daftar sejumlah pilihan dalam jumlah terbatas, yang biasanya berupa suatu kalimat atau kumpulan beberapa kata. Ditinjau dari teknik penampilan pilihan-pilihan pada sebuah sistem menu, dikenal dua jenis sistem menu: a. Sistem menu datar Dalam sistem menu datar, kemampuan dan fasilitas yang dimiliki oleh suatu program aplikasi akan ditampilkan secara lengkap, dan biasanya menggunakan kalimat-kalimat yang cukup panjang.b. Sistem menu tarik (pulldown) Sistem menu tarik (pulldown) yang berbasis pada struktur hirarki pilihan (struktur pohon pilihan). Sebuah menu tarik pada dasarnya adalah sistem menu yang pilihan-pilihannya dikelompokkan menurut menurut kategori tertentu atau menurut cara tertentu sehingga mereka membentuk semacam hirarki pilihan. Pada hirarki paling tinggi, pilihan-pilihan itu disebut dengan pilihan/menu utama. Sebagian atau semua pilihan/menu utama dapat mempunyai salah satu atau lebih subpilihan/submenu. Sebuah subpilihan/submenu dari suatu pilihan/menu utama dapat mempunyai satu atau labih sub-subpilihan, dan seterusnya. Struktur ini membentuk semacam struktur pohon. Dalam sistem menu datar, kemampuan dan fasilitas yang dimiliki oleh suatu program aplikasi akan ditampilkan secara lengkap, dan biasanya menggunakan kalimat-kalimat yang cukup panjang.Tabel 3.3 Keuntungan dan kerugian Sistem menu tarik (pulldown).

5. Dialog Berbasis Pengisian BorangTeknik dialog pengisian borang (form-filling dialogue) merupakan suatu penerapan langsung dari aktifitas pengisian borang dalam kehidupan sehari-hari dimana pengguna akan dihadapkan pada suatu bentuk borang yang ada di layar komputer yang mereka gunakan. Perlman membuat perbedaan antara menu dan borang. a. Menu adalah dialog yang menampilkan sejumlah alternatif pilihan yang pilihan-pilihan itu dapat dipilih pengguna dengan cara tertentu pada setiap daur aktifitas. b. Borang adalah tampilan dari sejumlah persyaratan (requirement) yang menampilkan sejumlah opsion dan berbagai nilai para meter yang telah ditentukan dan dintegrasikan ke dalam sebuah tampilan pada layar.Tabel 3.4 Keuntungan dan Kerugian Penggunaann Dialog Berbasis Pengisian Borang. 6. Antarmuka Berbasis Ikon Antarmuka sering memanfaatkan simbol-simbol dan tanda-tanda ini untuk memberitahukan pengguna akan kemampuan dan fasilitas yang dimiliki oleh suatu program aplikasi. Ragam dialog yang banyak menggunakan simbol-simbol dan tanda-tanda untuk menunjukkan suatu aktifitas tertentu disebut dengan antarmuka berbasis ikon (icon-based user interface). Secara teknis, antarmuka berbasis ikon boleh dikatakan merupakan variasi dari antarmuka berbasis menu. Setiap ikon menunjukkan satu aktifitas sementara pada system menu, sebuah menu juga menunjukkan satu aktifitas. Perbedaannya terletak pada cara penyajian pilihan itu. Pada system menu, pilihan aktifitas dinyatakan secara tekstual, sementara pada antarmuka berbasis ikon, pilihan aktifitas dinyatakan dengan suatu tanda atau symbol yang disebut pictogram atau ikon.

7. Sistem PenjendelaanSecara 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

9. Antarmuka Berbasis Interaksi GrafisSecara umum cukup sulit membedakan antarmuka berbasis manipulasi langsung dengan antarmuka berbasis interaksi grafis. Pada program-program yang berkemampuan hypertext, program akan memberitahupengguna bahwa pengguna dapat melakukan links ke teks atau dokumen yang lain. Ketika kursor mouse berada pada teks yang yang mempunyai link ke teks lain, maka bentuk kursor biasanya berubah (umumnya berubah menjadi bentuk tangan menunjuk). Keuntungan dan kerugian teknik antarmuka berbasis interaksi grafis sama dengan keuntungan dan kerugian teknik antarmuka menggunakan manipulasi langsung

BAB IVMETODE KERJA PRAKTIK

Waktu dan TempatWaktu pelaksanaan Kerja Praktik ini berjalan dengan baik dan lancar, lama waktu pelaksanaan tepat 2 bulan terhitung dari tanggal 8 Oktober 2012 sampai dengan 8 Desember 2012. Kerja Praktik (KP) kali ini bertempat di Lembaga Penjaminan Mutu Pendidikan (LPMP) Provinsi Kalimantan Selatan dengan menempati bagian PSI (Program dan Sistem Informasi).Bentuk Kerja PraktikAdapun bentuk Kerja Praktik yang dilakukan selama KP di LPMP Kalimantan Selatan adalah mengerjakan pekerjaan kantor, yaitu membackup data profil tenaga pendidik di Provinsi Kalimantan Selatan, mengumpulkan data hasil UKG (Uji Kompetensi Guru) per-kabupaten se-Kalimantan Selatan, selain itu membantu pekerjaan staf di bagian PSI (Program dan Sistem Informasi).Prosedur KerjaKerja Praktik dilakukan dengan mengikuti aturan instansi tersebut. Setiap hari mahasiswa KP melakukan kegiatannya sesuai dengan arahan dari atasan dan pembimbing eksternal. Disini kami dilatih untuk bisa memahami dan mempelajari bagaimana sistem informasi pada bagian PSI tersebut. Disini saya di ajarkan untuk melakukan pembackupan data profil tenaga pendidik di Provinsi Kalimantan Selatan. Pembackupan data dilakukan setelah data tenaga pendidik dikelola oleh masing-masing sekolah di tiap kecamatan dan dikumpulkan per kabupaten. Setelah data pendidik dikelola dan dikumpulkan kemudian diserahkan ke LPMP tingkat provinsi.

BAB VPELAKSANAAN KERJA PRAKTEK

Evaluasi Pelaksanaan Kerja PraktekSeperti tujuan awalnya pelaksanaan kerja praktik yang berlangsung selama 2 bulan ini diarahkan agar mahasiswa mendapatkan pengalaman dalam dunia kerja. Mahasiswa ditempatkan di bagian PSI, untuk membantu kegiatan pembackupan data pendidik seluruh kabupaten di Provinsi Kalimantan Selatan tahun 2012. Selain itu dalam pelaksanaannya mahasiswa juga membuat program recovery di bagian PSI yang sebelumnya telah disediakan oleh LPMP Pusat.Adapun kendala-kendala yang ditemukan selama pelaksanaan kerja praktik adalah sebagai berikut: 1. Banyaknya data pendidik yang harus di backup.2. Kesalahan dalam pembackupan data.3. Kurangnya sarana dan prasarana yang digunakan untuk melakukan pembackupan data sehingga waktu yang digunakan kurang efektif.Berikut ini pemecahan masalah untuk mengatasi kendala-kendala tersebut, yaitu :1. Pemeriksaan data-data pada saat pembackupan data sebelum diserahkan pada atasan.2. Memberikan masukan kepada atasan agar menambahkan sarana dan prasarana guna untuk menunjang pekerjaan tersebut.Hasil PengamatanSistem informasi data pendidik dan tenaga kependidikan merupakan aplikasi yang sederhana. Aplikasi ini menggunakan bahasa pemrograman Delphi dengan interface yang dirancang sesederhana mungkin agar mempermudah user dalam pengggunaannya. Aplikasi dibuat untuk mempermudah pegawai dalam melakukan penginputan dan penyimpanan data pendidik dan tenaga kependidikan. PermasalahanKendala-kendala pada saat pembuatan program aplikasi data pendidik dan tenaga kependidikan ini adalah :(1) Penyesuaian program berbasis web yang harus dialih bahasa ke pemrograman visual berbasis dekstop dengan menggunakan database access.TujuanTujuan 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 kependidikanManfaatManfaat dari aplikasi data pendidik dan tenaga kependidikanadalah :(1) Membuat pencarian dan pendataan laporan pendidik dan tenaga kependidikan menjadi lebih mudah.(2) Apabila data pendidik dan tenaga kependidikan yang berupa lembar koreksi data manual tersebut hilang, maka arsip masih terdapat di dalam komputer.TeknologiTeknologi yang digunakan didalam pembuatan aplikasi pembukuan ini adalah :(1) MySQL(2) Delphi XETeknik Pengumpulan InformasiDalam mengumpulkan informasi, metodologi yang digunakan adalah :a) WawancaraWawancara merupakan suatu teknik pengumpulan data dengan jalan mengadakan komunikasi dengan sumber data. Komunikasi tersebut dilakukan dengan dialog (Tanya jawab) secara lisan, baik langsung ,maupun tidak langsung.b) ObservasiObservasi adalah pengamatan langsung para pembuat keputusan berikut lingkungan fisiknya dan pengamatan langsung suatu kegiatan yang sedang berjalan.Karakteristik UserUser yang terlibat dan mempunyai hak akses untuk sistem informasi ini adalah sebagai berikut:User Keterangan

AdminAdmin merupakan staf atau pegawai yang telah diberi kepercayaan oleh pimpinan setempat serta mempunyai hak lebih seperti untuk manajemen data Pegawai

Tabel 5.1 User SistemBatasan User terhadap AplikasiBatasan Sistem pada Aplikasi Data Pendidik dan Tenaga Kependidikan :Admina) Loginb) Kelola data pendidik dan tenaga kependidikanc) Pembuatan laporanFitur-Fitur Absensi Data Pendidik dan Tenaga KependidikanFitur-fitur utama dari Aplikasi Data Pendidik dan Tenaga Kependidikan, 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).

BAB VIPERANCANGAN DAN PEMBUATAN SISTEM

Deskripsi SistemAplikasi Data Pendidik dan Tenaga Kependidikan pada Lembaga Penjamin Mutu Pendidikan Kalimantan Selatan ini berguna untuk penyimpanan data mengenai profil pendidik dan tenaga kependidikan. Aplikasi ini hanya dapat digunakan oleh admin dan user. Untuk setiap data pendidik dan tenaga kependidikan yang sudah mengisi lembar koreksi data, di inputkan kembali oleh user terhadap aplikasi. User juga dapat melakukan pencetakan laporan data pendidik dan tenaga kependidikan. Aplikasi data pendidik dan tenaga kependidikan ini dibuat dengan menggunakan Delphi XE2 dan MySQL sebagai databasenya.Pembuatan SistemBerikut ini adalah hasil aplikasi yang dibuat menggunakan Delphi XE2 :a) Form LoginForm Login ini berfungsi untuk memberikan batasan terhadap pengaksesan menu utama.

Gambar 6.1. Form LoginUntuk source code bisa dilihat pada lampiran Coding pada Form Login.b) Form UtamaForm Utama berfungsi sebagai navigasi untuk melakukan pemilihan form satu ke form lainnya.

Gambar 6.2 Form UtamaKeterangan :1) Menu Bar Master berfungsi untuk menampilkan Button Wilayah, Rumah dan Pegawai2) Menu Bar Laporan berfungsi menampilkan Button Pegawai untuk mencetak laporan3) Menu Bar Manage berfungsi menampilkan Button User untuk menambah data user4) Button Wilayah berfungsi untuk menampilkan Form Wilayah5) Button Sekolah berfungsi untuk menampilkan Form Sekolah6) Button PTK berfungsi untuk menampilkan Form Data Pendidik dan Tenaga KependidikanUntuk Source Code bisa dilihat pada Lampiran Coding pada Form Utama.c) Form WilayahForm Wilayah ini berfungsi untuk melakukan penambahan, penyimpanan, penghapusan dan pengeditan pada data wilayah.

Gambar 6.3. Form WilayahUntuk Source Code bisa dilihat pada Lampiran Coding Form WilayahKeterangan :1) Pada form ini terdapat 3 panel, yaitu panel provinsi, kabupaten/kota, kelurahan/kecamatan.2) Button tambah berfungsi untuk menambahkan data PTN.3) Button simpan berfungsi untuk menyimpan data yang sudah diinputkan.4) Button hapus berfungsi untuk menghapus data.5) Button ubah berfungsi untuk mengedit data apabila men double klik pada datagrid.6) Button batal berfungsi untuk membatalkan proses atau sebagai refresh.d) Form SekolahForm Sekolah ini berfungsi untuk melakukan penambahan, penyimpanan, penghapusan, pengeditan dan pencarian sesuai kategori yang dipilih pada data sekolah.

Gambar 6.4. Form SekolahUntuk 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.

Gambar 6.5. Form Pegawai Tab Input DataKeterangan :1) Tab input data berfungsi untuk menginputkan data.2) Button tambah berfungsi untuk menambahkan data yang diinputkan.3) Button simpan berfungsi untuk menyimpan data yang sudah diinputkan.4) Button batal berfungsi untuk membatalkan proses atau sebagai refresh.

Gambar 6.6. Form Pegawai Tab Data TabelKeterangan :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 PraCetakLaporanForm PraCetakLaporan ini berfungsi untuk melihat dan melakukan pencetakan laporan berdasarkan data sekolah.

Gambar 6.7. Form PraCetakLaporanKeterangan :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 UserForm ini berfungsi untuk penambahan, penyimpanan, penghapusan, pengeditan dan pencarian data user sesuai kategori yang dibuat oleh admin.

Gambar 6.8. Form UserKeterangan :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.3) Button simpan berfungsi untuk menyimpan data user baru setelah semua data diisi dengan lengkap.4) Button hapus berfungsi untuk menghapus data user, setelah admin men double klik pada datagrid.5) Button ubah berfungsi untuk mengedit data user yang telah disimpan, apabila admin men double klik datagrid yang sudah disimpan.6) Button batal berfungsi untuk mengembalikan keadaan proses awal pada tampilan form atau merefresh.Untuk Source Code bisa dilihat pada lampiran Coding pada Form User.h) LaporanForm Laporan berfungsi untuk melakukan pencetakan laporan tentang data pendidik dan tenaga kependidikan. Untuk laporan ini menggunakan QReport.

Gambar 6.9. Laporan

BAB VIIPENUTUP

KesimpulanDari pembahasan di atas dapat disimpulkan bahwa dengan adanya pembuatan aplikasi data pendidik dan tenaga kependidikan menjadi lebih baik. Meskipun dengan kendala terhadap pengimplementasian, namun program ini juga memilik kelebihan, yaitu:(1) Membantu meringankan pekerjaan di tempat kerja praktik.(2) Penyimpanan dan pengorganisasian data serta laporan lebih mudah dan cepat.(3) Menghasilkan aplikasi yang user friendly.SaranTahap analisa dan desain sistem Aplikasi Data Pendidik dan Tenaga Kependidikan sudah dilakukan sesuai kebutuhan instansi setempat. Namun karena ketidaksempurnaan aplikasi ini, maka diperlukan tahap-tahap perbaikan agar aplikasi menjadi sempurna.

DAFTAR PUSTAKA

Eko, R. (2000). Manajemen Sistem Informasi dan Teknologi Informasi. Jakarta: PT Elex Media Komputindo.

Ichwan, M. (2011). Pemrograman Basis Data Delphi 7 dan MySQL. Bandung: Informatika.

Jogiyanto, H. M. (2007). Model Kesuksesan Sistem Teknologi Informasi. Yogyakarta: Andi.

Kadir, A. (2008). Dasar Perancangan dan Implementasi Database Relasional. Yogyakarta: Penerbit ANDI.

Marlinda, L. (2004). Sistem Basis Data. Yogyakarta: Andi.

Sutanta, E. (2003). Sistem Informasi Manajemen (Edisi pertama ed.). Yogyakarta: Graha Ilmu.

Sutedjo, B. (2002). Perencanaan dan Pembangunan Sistem Informasi. Yogyakarta: Andi.

LAMPIRAN

Form Loginprocedure 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 Utamaprocedure tutupForm;begin f_wilayah.close; 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: TObject; var Action: TCloseAction);begin Application.Terminate;end;

procedure TF_Utama.sBitBtn10Click(Sender: TObject);begin tutupForm; F_PraCetakLaporan.show;end;

procedure TF_Utama.sBitBtn1Click(Sender: TObject);begin tutupForm; F_Wilayah.Show;end;

procedure TF_Utama.sBitBtn2Click(Sender: TObject);begin tutupForm; F_Sekolah.Show;end;

procedure TF_Utama.sBitBtn3Click(Sender: TObject);begin tutupForm; F_Pegawai.show;end;

end.

Form Wilayahprocedure 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;

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].AsString); DM.AQCB.Next; end;end;

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);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_idkelurahankecamatan.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.RecordCount0 then begin Application.MessageBox('Id Kabupaten Kota sudah ada','Information'); e_idkabupatenkota.Clear; e_idkabupatenkota.SetFocus; end else begin DM.execSQL(DM.AQPublic,'select * from t_provinsi where provinsi='+QuotedStr(cb_provinsi.Text)); idprovinsi := DM.AQPublic.Fields[0].AsString; query:='insert into t_kabupaten_kota values('+QuotedStr(e_idkabupatenkota.Text)+','+QuotedStr(e_kabupatenkota.Text)+','+QuotedStr(idprovinsi)+')'; DM.insertdata(query); bt_batal2Click(self); Application.MessageBox('Data berhasil disimpan','Information'); end; end;end;

procedure TF_Wilayah.bt_simpan3Click(Sender: TObject);var query,idkabupaten : string;begin if e_idkelurahankecamatan.Text='' then begin Application.MessageBox('Id Kelurahan / Kecamatan Kosong','Information'); e_idkelurahankecamatan.SetFocus; end else if e_kelurahankecamatan.Text='' then begin Application.MessageBox('Kelurahan / Kecamatan Kosong','Information'); e_kelurahankecamatan.SetFocus; end else if cb_kabupatenkota.ItemIndex=-1 then begin Application.MessageBox('Pilih Kabupaten / Kota','Information'); cb_provinsi.SetFocus; end else begin DM.execSQL(DM.AQPublic,'select * from t_kelurahan_kecamatan where id_kelurahan_kecamatan='+QuotedStr(e_idkelurahankecamatan.Text)); if dm.AQPublic.RecordCount0 then begin Application.MessageBox('Id Kelurahan / Kecamatan sudah ada','Information'); e_idkelurahankecamatan.Clear; e_idkelurahankecamatan.SetFocus; end else begin DM.execSQL(DM.AQPublic,'select * from t_kabupaten_kota where kabupaten_kota='+QuotedStr(cb_kabupatenkota.Text)); idkabupaten := DM.AQPublic.Fields[0].AsString; query:='insert into t_kelurahan_kecamatan values('+QuotedStr(e_idkelurahankecamatan.Text)+','+QuotedStr(e_kelurahankecamatan.Text)+','+QuotedStr(idkabupaten)+')'; DM.insertdata(query); awalkelurahan; Application.MessageBox('Data berhasil disimpan','Information'); end; end;end;

procedure TF_Wilayah.bt_tambah1Click(Sender: TObject);begin gb_input1.Enabled:=true; e_idprovinsi.Enabled:=true; e_idprovinsi.SetFocus; bt_simpan1.Enabled:=true; bt_hapus1.Enabled:=false; bt_ubah1.Enabled:=false; bt_tambah1.Enabled:=false;end;

procedure TF_Wilayah.bt_tambah2Click(Sender: TObject);begin gb_input2.Enabled:=true; e_idkabupatenkota.Enabled:=true; e_idkabupatenkota.SetFocus; bt_simpan2.Enabled:=true; bt_hapus2.Enabled:=false; bt_ubah2.Enabled:=false; bt_tambah2.Enabled:=false;end;

procedure TF_Wilayah.bt_tambah3Click(Sender: TObject);begin gb_input3.Enabled:=true; e_idkelurahankecamatan.Enabled:=true; e_idkelurahankecamatan.SetFocus; bt_simpan3.Enabled:=true; bt_hapus3.Enabled:=false; bt_ubah3.Enabled:=false; bt_tambah3.Enabled:=false;end;

procedure TF_Wilayah.bt_ubah1Click(Sender: TObject);begin DM.executeSQL(DM.AQProvinsi,'update t_provinsi set provinsi='+QuotedStr(e_provinsi.Text)+' where id_provinsi='+QuotedStr(e_idprovinsi.Text)); bt_batal1Click(self); Application.MessageBox('Data berhasil diubah','Information');end;

procedure TF_Wilayah.bt_ubah2Click(Sender: TObject);var idprovinsi : string;begin DM.execSQL(DM.AQPublic,'select * from t_provinsi where provinsi='+QuotedStr(cb_provinsi.Text)); idprovinsi := DM.AQPublic.Fields[0].AsString;

DM.executeSQL(DM.AQKabupaten,'update t_kabupaten_kota set kabupaten_kota='+QuotedStr(e_kabupatenkota.Text)+', id_provinsi='+QuotedStr(idprovinsi)+' where id_kabupaten_kota='+QuotedStr(e_idkabupatenkota.Text)); bt_batal2Click(self); Application.MessageBox('Data berhasil diubah','Information');end;

procedure TF_Wilayah.bt_ubah3Click(Sender: TObject);var idkabupatenkota : string;begin DM.execSQL(DM.AQPublic,'select * from t_kabupaten_kota where kabupaten_kota='+QuotedStr(cb_kabupatenkota.Text)); idkabupatenkota := DM.AQPublic.Fields[0].AsString;

DM.executeSQL(DM.AQKelurahan,'update t_kelurahan_kecamatan set kelurahan_kecamatan='+QuotedStr(e_kelurahankecamatan.Text)+', id_kabupaten_kota='+QuotedStr(idkabupatenkota)+' where id_kelurahan_kecamatan='+QuotedStr(e_idkelurahankecamatan.Text)); awalkelurahan; Application.MessageBox('Data berhasil diubah','Information');end;

procedure TF_Wilayah.DBGrid1DblClick(Sender: TObject);begin e_idprovinsi.Text:=DM.AQProvinsi.Fields[0].AsString; e_provinsi.Text:=DM.AQProvinsi.Fields[1].AsString;

gb_input1.Enabled:=true; e_idprovinsi.Enabled:=false; bt_tambah1.Enabled:=false; bt_simpan1.Enabled:=false; bt_hapus1.Enabled:=true; bt_ubah1.Enabled:=true;end;

procedure TF_Wilayah.DBGrid2DblClick(Sender: TObject);begin e_idkabupatenkota.Text:=DM.AQKabupaten.Fields[0].AsString; e_kabupatenkota.Text:=DM.AQKabupaten.Fields[1].AsString; cb_provinsi.ItemIndex:=cb_provinsi.Items.IndexOf(DM.AQKabupaten.Fields[2].AsString);

gb_input2.Enabled:=true; e_idkabupatenkota.Enabled:=false; bt_tambah2.Enabled:=false; bt_simpan2.Enabled:=false; bt_hapus2.Enabled:=true; bt_ubah2.Enabled:=true;end;

procedure TF_Wilayah.DBGrid3DblClick(Sender: TObject);begin e_idkelurahankecamatan.Text:=DM.AQKelurahan.Fields[0].AsString; e_kelurahankecamatan.Text:=DM.AQKelurahan.Fields[1].AsString; cb_kabupatenkota.ItemIndex:=cb_kabupatenkota.Items.IndexOf(DM.AQKelurahan.Fields[2].AsString);

gb_input3.Enabled:=true; e_idkelurahankecamatan.Enabled:=false; bt_tambah3.Enabled:=false; bt_simpan3.Enabled:=false; bt_hapus3.Enabled:=true; bt_ubah3.Enabled:=true;end;

procedure TF_Wilayah.FormShow(Sender: TObject);begin awalprovinsi; awalkabupaten; awalkelurahan; refreshtabel; isicbend;

end.

Form Sekolahprocedure 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].AsString+' - '+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); 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.RecordCount0 then begin Application.MessageBox('NSS sudah ada','Information'); 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; 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;beginif cb_cari.ItemIndex=-1 thenbegin Application.MessageBox('Pilih Kategori Pencarian','Information'); cb_cari.SetFocus;end elseif cb_cari.ItemIndex=0 thenbegin query:='select * from t_sekolah where nss like "%'+e_cari.Text+'%"'; DM.execSQL(DM.AQSekolah,query);end elseif cb_cari.ItemIndex=1 thenbegin 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.

Form Pegawai (PTK)procedure awal;begin with F_Pegawai do begin cb_sekolah.ItemIndex:=-1; e_nuptk.Clear; e_namalengkap.Clear; cb_jeniskelamin.ItemIndex:=-1; e_nip.Clear; e_tempatlahir.Clear; e_tanggallahir.Clear; 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 Application.MessageBox('Data Jenis Kelamin Kosong','Information'); cb_jeniskelamin.SetFocus; cek:=false; end else if e_nip.Text='' then begin Application.MessageBox('Data NIP/NIGB/NIK/NIY/NIGK Kosong','Information'); e_nip.SetFocus; cek:=false; end else if e_tempatlahir.Text='' then begin Application.MessageBox('Data Tempat Lahir Kosong','Information'); e_tempatlahir.SetFocus; cek:=false; end else if e_tanggallahir.Text=' / / ' then begin Application.MessageBox('Data Tanggal Lahir Kosong','Information'); e_tanggallahir.SetFocus; cek:=false; end else if e_noktp.Text='' then begin Application.MessageBox('Data No KTP Lahir Kosong','Information'); e_noktp.SetFocus; cek:=false; end else if cb_agama.ItemIndex=-1 then begin Application.MessageBox('Data Agama Kosong','Information'); cb_agama.SetFocus; cek:=false; end else if cb_statuskawin.ItemIndex=-1 then begin Application.MessageBox('Data Status Kawin Kosong','Information'); cb_statuskawin.SetFocus; cek:=false; end else if e_jumlahanak.Text='' then begin Application.MessageBox('Data Jumlah Anak Kosong','Information'); e_jumlahanak.SetFocus; cek:=false; end else if cb_tugaspokok.ItemIndex=-1 then begin Application.MessageBox('Data Tugas Pokok Kosong','Information'); e_tanggallahir.SetFocus; cek:=false; end else if m_alamatrumah.Lines.Text='' then begin Application.MessageBox('Data Alamat Rumah Kosong','Information'); e_tanggallahir.SetFocus; cek:=false; end else if e_telp.Text='' then begin Application.MessageBox('Data Telp Kosong','Information'); e_telp.SetFocus; cek:=false; end else if cb_tugaspokok.ItemIndex=0 then begin if cb_statuskepegawaianguru.ItemIndex=-1 then begin Application.MessageBox('Data Status Kepegawaian Jika Guru Kosong','Information'); cb_statuskepegawaianguru.SetFocus; cek:=false; end else if cb_jenisguru.ItemIndex=-1 then begin Application.MessageBox('Data Jenis Guru Kosong','Information'); cb_jenisguru.SetFocus; cek:=false; end else if e_jumlahjam.Text='' then begin Application.MessageBox('Data Jumlah Jam Kosong','Information'); e_jumlahjam.SetFocus; cek:=false; end else if e_tmtdisekolahguru.Text=' / / ' then begin Application.MessageBox('TMT Di Sekolah Guru Kosong','Information'); e_tmtdisekolahguru.SetFocus; cek:=false; end; end else if cb_tugaspokok.ItemIndex=1 then begin if cb_jabatanutama.ItemIndex=-1 then begin Application.MessageBox('Data Jabatan Utama Kosong','Information'); cb_jabatanutama.SetFocus; cek:=false; end else if e_tmtdisekolahformal.Text=' / / ' then begin Application.MessageBox('Data TMT Di Sekolah Kosong','Information'); e_tmtdisekolahformal.SetFocus; cek:=false; end else if (cb_jabatanutama.ItemIndex=0) and (e_tmtdisekolahkepalasekolah.Text=' / / ') then begin Application.MessageBox('Data TMT Di Sekolah Kepala Sekolah Kosong','Information'); e_tmtdisekolahkepalasekolah.SetFocus; cek:=false; end else if (cb_jabatanutama.ItemIndex=10) and (cb_status.ItemIndex=-1) then begin Application.MessageBox('Data Status Kosong','Information'); cb_status.SetFocus; cek:=false; end else if (cb_jabatanutama.ItemIndex=10) and (cb_statuskepegawaianpengawassekolah.ItemIndex=-1) then begin Application.MessageBox('Data Status Kepegawaian Pengawas Sekolah Kosong','Information'); cb_statuskepegawaianpengawassekolah.SetFocus; cek:=false; end; end else if cb_tugaspokok.ItemIndex=2 then begin if cb_jabatanutamanonformal.ItemIndex=-1 then begin Application.MessageBox('Data Jabatan Utama Kosong','Information'); cb_jabatanutamanonformal.SetFocus; cek:=false; end else if cb_statusnonformal.ItemIndex=-1 then begin Application.MessageBox('Data Status Kosong','Information'); 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.RecordCount0 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)+','+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 t_detailtkf values('+QuotedStr(e_nuptk.Text)+','+QuotedStr(cb_jabatanutama.Text)+','+QuotedStr(e_tmtdisekolahformal.Text)+')'; DM.insertdata(query); end;

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;

awal; Application.MessageBox('Data berhasil disimpan','Information'); end; end;end;

procedure TF_Pegawai.bt_tambahClick(Sender: TObject);begin gb_input.Enabled:=true; bt_simpan.Enabled:=true; bt_tambah.Enabled:=false;end;

procedure TF_Pegawai.cb_jabatanutamaChange(Sender: TObject);begin if cb_jabatanutama.ItemIndex=0 then e_tmtdisekolahkepalasekolah.Enabled:=true else e_tmtdisekolahkepalasekolah.Enabled:=false;

if cb_jabatanutama.ItemIndex=10 then begin cb_status.Enabled:=true; cb_statuskepegawaianpengawassekolah.Enabled:=true; end else begin cb_status.Enabled:=false; cb_statuskepegawaianpengawassekolah.Enabled:=false; end;

end;

procedure TF_Pegawai.cb_tugaspokokChange(Sender: TObject);begin if cb_tugaspokok.ItemIndex=0 then begin gb_guru.Enabled:=true; gb_formal.Enabled:=false; gb_nonformal.Enabled:=false; end else if cb_tugaspokok.ItemIndex=1 then begin gb_guru.Enabled:=False; gb_formal.Enabled:=true; gb_nonformal.Enabled:=false; end else if cb_tugaspokok.ItemIndex=2 then begin gb_guru.Enabled:=false; gb_formal.Enabled:=false; gb_nonformal.Enabled:=true; end;end;

procedure TF_Pegawai.e_cariChange(Sender: TObject);var query:string;beginif cb_cari.ItemIndex=-1 thenbegin Application.MessageBox('Pilih Kategori Pencarian','Information'); cb_cari.SetFocus;end elseif cb_cari.ItemIndex=0 thenbegin query:='select * from t_pegawai where nuptk like "%'+e_cari.Text+'%"'; DM.execSQL(DM.AQPegawai,query);end elseif cb_cari.ItemIndex=1 thenbegin query:='select * from t_pegawai where nama_lengkap like "%'+e_cari.Text+'%"'; DM.execSQL(DM.AQPegawai,query);end elseif cb_cari.ItemIndex=2 thenbegin 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 PraCetakLaporanprocedure 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 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 Userprocedure 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;

procedure TF_User.bt_simpanClick(Sender: TObject);var query : string;begin if e_username.Text='' then begin Application.MessageBox('Username Kosong','Information'); e_username.SetFocus; end else if e_password.Text='' then begin Application.MessageBox('Password Kosong','Information'); e_password.SetFocus; end else begin query:='insert into t_user values('+QuotedStr(e_username.Text)+','+QuotedStr(e_password.Text)+','+QuotedStr(e_nama.Text)+')'; DM.insertdata(query); awal; Application.MessageBox('Data berhasil disimpan','Information'); end;end;

procedure TF_User.bt_tambahClick(Sender: TObject);begin gb_input.Enabled:=true; e_username.Enabled:=true; e_username.SetFocus; bt_simpan.Enabled:=true; bt_hapus.Enabled:=false; bt_ubah.Enabled:=false; bt_tambah.Enabled:=false;end;

procedure TF_User.bt_ubahClick(Sender: TObject);begin DM.executeSQL(DM.AQUser,'update t_user set password='+QuotedStr(e_password.Text)+', nama='+QuotedStr(e_nama.Text)+' where username='+QuotedStr(e_username.Text)); awal; Application.MessageBox('Data berhasil diubah','Information');end;

procedure TF_User.DBGrid1DblClick(Sender: TObject);begin e_username.Text:=DM.AQUser.Fields[0].AsString; e_password.Text:=DM.AQUser.Fields[1].AsString; e_nama.Text:=DM.AQUser.Fields[2].AsString;

gb_input.Enabled:=true; e_username.Enabled:=false; bt_tambah.Enabled:=false; bt_simpan.Enabled:=false; bt_hapus.Enabled:=true; bt_ubah.Enabled:=true;end;

procedure TF_User.e_cariChange(Sender: TObject);var query:string;beginif cb_cari.ItemIndex=-1 thenbegin Application.MessageBox('Pilih Kategori Pencarian','Information'); cb_cari.SetFocus;end elseif cb_cari.ItemIndex=0 thenbegin query:='select * from t_user where username like "%'+e_cari.Text+'%"'; DM.execSQL(DM.AQUser,query);end elseif cb_cari.ItemIndex=1 thenbegin query:='select * from t_user where password like "%'+e_cari.Text+'%"'; DM.execSQL(DM.AQUser,query);end elseif cb_cari.ItemIndex=2 thenbegin query:='select * from t_user where nama like "%'+e_cari.Text+'%"'; DM.execSQL(DM.AQUser,query);endend;

procedure TF_User.FormShow(Sender: TObject);begin awal;end;

end.

DOKUMENTASI

Pembackupan Data Pendidik dan Tenaga Kependidikan

External entity

Data Store

Proses