SISTEM INFORMASI SEKOLAH
Studi kasus pada SD TARAKANITA Bumijo Yogyakarta
SKRIPSI
Diajukan Untuk Memenuhi Salah Satu Syarat
Memperoleh Gelar Sarjana Teknik
Program Studi Teknik Informatika
./0
0
Oleh :
Iwan Tri Susanto
NIM : 995314042
JURUSAN TEKNIK INFORMATIKA
FAKULTAS TEKNIK
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
2007
1
SCHOOL INFORMATION SYSTEM
A Case Study at TARAKANITA Bumijo Elementry School
Yogyakarta
A Thesis
Present as Partial Fulfillment of the Requirement to Obtain
The Sarjana Teknik Degree
At Department of Informatics Engineering
Faculty of Engineering
Yogyakarkat Sanata Dharma University
./0
0
Oleh :
Iwan Tri Susanto
NIM : 995314042
DEPARTMENT OF INFORMATICS ENGINEERING
FACULTY OF ENGINEERING
SANATA DHARMA UNIVERSITY
YOGYAKARTA
2007
2
3
4
HALAMAN PERSEMBAHAN
Karya ini kupersembahkan kepada :
❀ AlLAAlLAAlLAAlLAHHHH BAPA BAPA BAPA BAPA, PUTRA dan ROH KUDUS, PUTRA dan ROH KUDUS, PUTRA dan ROH KUDUS, PUTRA dan ROH KUDUS,
atas karunia yang melimpah sehingga skripsi ini dapat
terselesaikan
❀ Untuk BapakBapakBapakBapak tercinta(†) yang sedang bertaman dengan damai
di Taman Firdaus bersama Bapa, Terimakasih untuk semua yang
Bapak tinggalkan terutama “DDDD----VOR & DMEVOR & DMEVOR & DMEVOR & DME “ kita. Dan IbuIbuIbuIbu
Terimakasih untuk kesabaran dan kasih sayangmu.
❀ KakakKakakKakakKakak----kakak kukakak kukakak kukakak ku, dan Adikku EmpAdikku EmpAdikku EmpAdikku Empieieieie, makacih
buat dukungan selama ini. Buat keponaanku NANNANNANNANDODODODO
kelucuanmu membuat hidup lebih hidup, dan penuh inspirasi.
❀ Bu Guru NaningBu Guru NaningBu Guru NaningBu Guru Naning yang tersayang. thank’s untuk
semuanya, You are my inspriration and soulmate. Seorang wanita
yang diciptakan saat TUhan tersenyum
5
MOTTO
Ia ajaib dalam keputusan dan agung dalam kebijaksanaan (Yesaya 28:29)
Kepasrahan bukan berarti tanpa usaha melainkan merupakan Totalitas dari segala daya usaha kita yang paling maksimal
6
PERNYATAAN KEASLIAN KARYA
Saya menyatakan sesungguhnya bahwa skripsi yang saya tulis ini tidak memuat
karya orang lain kecuali yang telah disebutkan dalam kutipan atau daftar pustaka,
sebagaimana layaknya karya ilmiah.
Yogyakarta, 14 Desember 2006
Penulis,
Iwan Tri Susanto
7
ABSTRAK
Peranan teknologi informasi telah merambah berbagai bidang termasuk
dalam dunia pendidikan, sistem informasi sekolah merupakan salah satu
bentuknya. Penelitian berupa Pengumpulan data, perancangan, sampai dengan
pengimplementasian sistem informasi sekolah ini dilakukan di SD Tarakanita
Bumijo Yogyakarta. Sistem informasi ini menyajikan beberapa fasilitas untuk
membantu para guru terutama untuk wali kelas, diantaranya adalah penginputan
nilai-nilai mata pelajaran yang kemudian diolah menjadi sebuah laporan nilai
akhir (nilai rapor) dan tampilan berupa grafik nilai yang mampu membantu guru
untuk melihat perkembangan akademik siswanya, yang pada akhirnya guru
mampu untuk membuat strategi-strategi pembelajaran yang baru berdasar grafik
nilai tersebut di atas.
Tujuan dan kegunaan sistem informasi sekolah ini antara lain sebagai alat
bantu bagi guru untuk meringankan kerja guru dalam pengolahan nilai, pendataan
siswa, dan peningkatan mutu belajar. Hal ini dapat dilihat pada bentuk-bentuk
laporan yang dihasilkan oleh sistem, seperti laporan nilai dalam bentuk grafik
Program aplikasi yang dibuat mempunyai kemampuan dalam menyimpan
data, mengupdate data serta menyediakan laporan-laporan yang dibutuhkan secara
otomatis. Selain itu program aplikasi yang dibuat juga dilengkapi dengan
kemampuan untuk mencari data yang dibutuhkan (searching). Tujuan pembuatan
program aplikasi ini yaitu dapat memenuhi kebutuhan user, dalam hal ini para
guru. Sehingga diharapkan dengan adanya program aplikasi baru ini, mampu
memberi peningkatan efektifitas kinerja para guru.
8
ABSTRACT
Role information technology have entering various area of inclusive of
education world, school information system represent one of its for. Research in
the form of Data collecting, scheme, up to information system implementation go
to school this done at Tarakanita Bumijo Yogyakarta elementry school. This
Information system present some facility to assist all teacher especially for the
sponsor of class, among others thing is processed later subject values input to
become a final value report ( notification value) and appearance in the form of
value graph capable to assist teacher to see its student akademik growth, which is
on finally teacher can to make new study strategy based on above mentioned
value graph
And target usefulness of information system go to school this for example
as a means of assist to teacher to lighten job learn in processing of value, student
data, and improvement quality of learning. This matter can be seen by at yielded
report form by system, like report assess in the form of graph
Made application program have ability in data saving, updating data and
also provide required report automatically. Others made application program also
provided with ability to look for required data (searching). Target of making of
this application program that is can fulfill requirement of user, in this case all
teacher. It’s so that expected with the existence of this new application program,
can give the make-up of performance efektifitas all teacher.
9
KATA PENGANTAR
Puji syukur kepada Allah Bapa Yang Maha Kuasa yang telah
melimpahkan kasih karunia-Nya, sehingga penulis dapat menyelesaikan skripsi
dengan berjudul ”Sistem Informasi Sekolah” studi kasus pada SD Tarakanita
Bumijo Yogyakarta .
Penulisan skripsi ini diajukan untuk memenuhi salah satu syarat
memperoleh Gelar Sarjana Teknik Program Studi Teknik Informatika Universitas
Sanata Dharma Yogyakarta.
Dengan terselesaikannya penulisan skripsi ini, penulis mengucapkan
terima kasih kepada pihak-pihak yang telah membantu dan memberikan dukungan
baik berupa masukan ataupun saran. Ucapan terima kasih ditujukan kepada:
1. Ibu A.M. Polina, S.Kom., M.Sc selaku Ketua Jurusan Teknik Informatika
yang telah memberikan dukungan, bantuan dan dorongan kepada penulis
selama mengikuti proses perkuliahan sampai dengan penyelesaian skripsi ini
2. Alb. Agung Hadhiatma S.T., M.T. selaku dosen pembimbing I, terima kasih
atas kebaikkan bapak dengan memberikan ACC untuk maju pendadaran, dan
mohon maaf karena saya tidak pernah bimbingan secara rutin.
3. St. Wisnu Wijaya, S.T. selaku dosen pembimbing II
4. Untuk Bapak tercinta yang saat ini berada di taman Firdaus terima kasih untuk
semuanya yang telah Bapak berikan selama di dunia ini. Do’a kan aku anak
mu yang sedang menjalani peziarahan hidup, semoga anakmu menjadi orang
yang bermanfaat bagi sesama,“Aku sayang Bapak” dan Ibu, terimakasih
10
untuk kesabaran dan kasih sayangmu yang begitu melimpah, “Aku sayang
Ibu”
5. NANING, NANING, NANING, NANING, wanita yang kucintai setelah ibuku, terima kasih atas
“kebawelannya”, hidupku ini sepi kalau nggak ada yang berkicau setiap waktu
dan setiap hari. Jangan pernah berhenti untuk meng-icau-i aku.
6. Adikku EMPIE ‘n Cenil yang manja dan judes, kalian pembawa warna
hidup ini.
7. Sumer, Destya, Teguh, Wisnu, Anang, Sronggot, temen seperjuangan di masa-
masa akhir studi, thanks karena telah saling mensuport satu sama lain.
8. Dina thank’s untuk pinjaman buku-bukunya, Tuhan memberkati.
9. Temen-temen seperjuangan Angkatan-99 “ The ninety nine CLUBS”.
10. Semua pihak yang juga banyak membantu, yang tidak dapat penulis sebutkan
satu per satu.
Dalam penulisan skripsi ini, dirasa masih banyak kekurangannya. Oleh
karena itu segala saran ataupun kritik yang bersifat membangun dari para
pembaca sekalian sangat diharapkan guna menyempurankan isi dari skripsi ini.
Akhir kata, semoga penulisan skripsi ini berguna bagi para pembaca
sekalian khususnya para mahasiswa Teknik Informatika, dan dapat menambah
wawasan para pembaca sekalian.
Penulis
11
DAFTAR ISI
HALAMAN JUDUL ………………………………………………………………. i
HALAMAN PERSETUJUAN …..………………………………………………… ii
HALAMAN PERSEMBAHAN ...…………………………………………………. iv
HALAMAN MOTTO ……….…..………………………………………………… v
PERNYATAAN KEASLIAN KARYA ..…………………………………………. vi
ABSTRAK ………………………………………………………………………… vii
ABSTRACT ………………………………………………………………….......... viii
KATA PENGANTAR …………………………………………………………….. ix
DAFTAR ISI ....……………………………………………………………………. xi
DAFTAR TABEL …………………………………………………………………. xv
DAFTAR GAMBAR ……………………………………………………………… xvi
BAB I PENDAHULUAN ..………………………………………………………... 1
1.1 Latar Belakang ……………..………………………………………...... 1
1.2 Rumusan Masalah …………………………………………………....... 2
1.3 Batasan Masalah …..…………………………………………………… 3
1.4 Tujuan dan Manfaat Penulisan …………...……………………………. 4
1.5 Metodologi Penelitian …………………………………………………. 4
1.6 Sistematika Penulisan ……………………………………….................. 7
BAB II LANDASAN TEORI ……………………………………………………. 8
2.1 Sistem Informasi …………………………………………………….. 8
2.1.1 Pengertian Sistem ………... …………………………………. 8
12
2.1.2 Pengertian Informasi ………………………………………... 9
2.1.3 Pengertian Sistem Informasi ……………………..…………. 9
2.1.4 Kualitas Informasi …………………………………………… 10
2.2 Database, DBMS dan Konsep Pengembangannya …..………………. 11
2.2.1 Database Management Sistem .……………………………… 11
2.2.2 Sistem Pengembangan dan Lingkungan Database …………... 13
2.2.3 Nilai Informasi dan Siklus Pengembangan Sistem Informasi .. 15
2.2.3.1 Nilai Informasi …………………………………….. 15
2.2.3.2 Siklus Pengembangan Sistem ……………………... 15
2.2.4 Alat dan Teknik Pengembangan Sistem …………………….. 19
2.3 Sistem Database, Multi-User Client/Server …………………………. 23
2.3.1 Sistem Database ………. ……………………………………. 23
2.3.2 Sistem Multi-User …………………………………………… 23
2.3.3 Sistem Client/Server ….. …………………………………….. 24
2.3.4 Keuntungan Menggunakan Database terpusat……………….. 25
2.3.4 Keamanan Sistem ……………………………………………. 25
2.4 SQL Server …………………………………………….. …………… 27
2.4.1 Dasar-dasar Sql server 2000……………………………… …. 30
2.5 Visual Basic 6 ……………....……………………………………….. 32
BAB III ANALISIS DAN PERANCANGAN SISTEM ………………………….. 35
3.1. Tinjauan Sistem ……………………. ………………………………. 35
3.1.1 Analisa Sistem Lama ………………………………………….. 35
3.1.1.1 Sistem Pengolahan Data Siswa, Guru …………………. 36
13
3.1.1.2 Sistem Pengolahan Data Nilai Siswa………………….. 37
3.1.2 Analisa Sistem Baru ………………………………………….. 40
3.1.2.1 Prosedur Sistem Informasi Sekolah …………………… 40
3.1.2.2 Data Flow Diagram Sistem Informasi Sekolah ………... 41
3.2. Desain Sistem ……………………………………………………….. 50
3.2.1. Desain Sistem Secara Umum ……………………………….. 53
3.2.1.1 Desain Database Secara Umum ……………………….. 53
3.2.1.2 Desain Masukkan Secara Umum ..…………………….. 54
3.2.1.3 Desain Keluaran Secara Umum ...…………………….. 55
3.2.2. Desain Sistem Secara Rinci …………………..…………….. 56
3.2.2.1 Desain Data Entry ……………………………………... 56
3.2.2.2 Desain Database Secara Rinci …………………………. 58
3.2.2.2.1 Conseptual Design …………………………... 58
3.2.2.2.2 Logical Design ………………………………. 60
3.2.2.2.3 Physical Design ……………………………… 60
3.2.2.3 Desain Masukkan Secara Rinci ……………………….. 64
3.2.2.4 Desain Keluaran Secara Rinci …………………………. 70
3.2.2.5 Desain Menu …………………………………………... 73
3.2.2.6 Desain Teknologi Secara Terinci ……………………… 74
BAB IV IMPLEMENTASI DAN ANALISIS IMPLEMENTASI………………… 77
4.1. Hirarki modul……………………… ………………………….……. 77
4.2. Membuat Antar Muka……………………………………... ……….. 78
4.2.1. Form Login………………………………….. ……………… 78
14
4.2.2. Form Input Data Guru……………………...... …………….. 80
4.2.3 Form Input Data Siswa ………………………………………. 88
4.2.4 Form Input nilai Mata Pelajaran …………………………….. 92
4.2.5 Form Input Nilai Pengembangan Diri ……………………….. 92
4.2.6 Form Laporan Nilai per Kelas dan per Mata Pelajaran ……… 93
4.2.6.1 Grafik Nilai per Kelas ..……………………………. 93
4.2.6.2. Grafik Nilai per Mata Pelajaran ….……………….. 94
4.3. Implementasi Perangkat Lunak….. …………………………………. 95
4.4. Analisis Hasil Implementasi…… ……………………...…….……... 96
4.4.1. Kelebihan Sistem…………………………..………………... 96
4.4.2. Kekurangan Sistem………………………...... ……………... 97
BAB V PENUTUP ……...……………………………….……………………........ 98
5.1. Kesimpulan……………………… ……………………...…….……. 98
5.2. Saran…………………………………………………...…....……….. 98
DAFTAR PUSTAKA…………………………………………………...…....……. 100
LAMPIRAN …………………………………………………...…....…………….. 101
15
DAFTAR TABEL
3.1 User dan interaksinya dengan sistem ………………………………………….. 52
3.2 Otoritas pengguna aplikasi untuk proses transaksi data ………………………. 53
3.3. Desain Database Secara umum ……………………………………………….. 54
3.4 Desain Masukkan Secara Umum ……………………………………………... 54
3.5 Desain Keluaran Secara Umum ……………………………………………….. 54
3.3 Tabel Guru …………………………………………………………………….. 61
3.4. Tabel Kelas …………………… …….….………………………………..…… 61
3.5. Tabel Mata Pelajaran………………….….…………………………….……… 62
3.6 Tabel Ekstrakurikuler ..………………………………………………………… 62
3.7. Tabel Siswa ..…….….………………………………………………………… 63
16
DAFTAR GAMBAR
2.1 Tahap Perancangan Database ………………………………………………….. 15
2.2 Siklus Pengembangan Sistem …………………………………………………. 18
2.3 HIPO diagram …………………………………………………………………. 19
2.4 contoh E-R diagram …………………………………………………………… 22
2.5 Model sistem client/server …………………………………………………….. 25
3.1 Diagram Prosedur data pribadi siswa……… ...………………………………... 36
3.2 Diagram Prosedur data nilai siswa………………..……………………………. 38
3.3 Diagram Prosedur data pribadi siswa hasil analisis ….………………………... 40
3.4 Diagram Arus Data Sistem Informasi Sekolah ..………………………………. 42
3.5 Diagram berjenjang …………………....………………………………………. 43
3.6 Diagram arus data level 0 ….. …………………………………………………. 44
3.7 Diagram arus data level 1, proses 1 ……...……………………………………. 45
3.8 Diagram arus data level 1, proses 2……………………………………………. 45
3.9. Desain E-R …………………...........................………………………………. 59
3.10 Logical Design dengan menggunakan relasi antar tabel …...……………….. 60
3.11. Desain LOGIN SISTEM .………………………………………………….... 64
3.12 Desain Input data guru ……………………………………………………….. 65
3.13 Desain Input data siswa……………………………………………………….. 65
3.14 Desain Input data wali kelas …………………………………………………. 66
3.15 Desain Input data Mata Pelajaran …………………………………………… 66
17
3.16 Desain Input data Ekstrakurikuler…………………………………………….. 67
3.17 Desain Input data Kelas………………………………………………………. 67
3.18. Desain Input data Nilai Mata Pelajaran …………………………………….. 68
3.19 Desain Input data nilai pengembanga diri ..………………………………….. 68
3.20 Desain Input bimbingan ………………..…………………………………….. 69
3.21 Desain Input Jadwal Mata Pelajaran ..……………………………………….. 69
3.22 Desain Input Absensi ……………………………………………………….. 70
3.23 Desain Output tampilan data guru ……………………………………………. 71
3.24 Desain Output tampilan data siswa .…………………………………………. 71
3.25 Desain Output tampilan nilai siswa . …………………………………………. 72
3.26 Desain Output tampilan bimbingan siswa ..…………………………………. 72
3.27 Desain Output grafik nilai rata-rata kelas ……………………………………. 72
4.1. Hirarki Login..…………………………………………………………………. 77
4.2. Hirarki Menu Induk.. …………………………….......………………………. 77
4.3. Hirarki Menu File .....................………………………………………………. 77
4.4. Hirarki File Input Data ......……………………..………………………..……. 78
4.5. Hirarki File Input Nilai………….....…………………………………………... 78
4.6. Hirarki Laporan …….…………………………………………………………. 78
4.7. Login Sistem …..…………………………………………………………...…. 79
4.8. Tampilan Menu Induk ..……………………………………………………….. 80
4.9. Tampilan Form input data guru ……………..……………………...………… 81
4.10. Tampilan Form input data siswa …………..……………………...………… 89
4.11. Tampilan Form input data nilai .. …………..……………………...………… 92
18
4.12. Tampilan Form input data nilai pengembangan …..……………...………… 93
4.13. Tampilan Laporan nilai siswa per kelas …....……………………...………… 94
4.14. Tampilan Laporan nilai siswa per mata pelajaran …..………...…………… 95
19
BAB I
PENDAHULUAN
1.1. Latar Belakang
Kebutuhan informasi yang disajikan secara cepat, lengkap, dan tepat sudah
menjadi keharusan yang mempengaruhi tingkat efisiensi dan efektivitas kerja
di semua bidang pekerjaan. Untuk memenuhi kebutuhan tersebut,
pengembangan sebuah sistem informasi yang terencana dengan baik akan
memberikan kontribusi yang sangat besar dalam peningkatan kerja pada suatu
proses.
Dalam proses pengembangannya, suatu perencanaan yang sistematis dan
penggunaan metodologi Structured Analisys and Design Technique (SADT)
dapat dijadikan dasar untuk mendesain suatu sistem yang sesuai dengan
kebutuhan pengolahan dan pengelolaan informasi. Apalagi penggunaan
informasi saat ini tidak hanya terbatas pada penggunaan biasa untuk tujuan
operasional saja tetapi juga pada tujuan strategis untuk pengambilan keputusan
yang penting. Hal ini disebabkan karena pengelolaan informasi tidak hanya
mencakup kemudahan akses informasi tetapi juga distribusi informasi yang
efisien dan efektif.
Salah satu institusi yang sangat memanfaatkan akses informasi adalah
institusi pendidikan. Informasi yang ada di sekolah berupa informasi tentang
siswa, dan guru. Sekolah dasar juga merupakan bagian dari institusi
pendidikan yang penting. SD Tarakanita Bumijo Yogyakarta merupakan salah
20
satunya. SD ini memiliki 2 Sekolah Dasar yang masing-masing sekolahan
dibuat secara paralel dan menempati pada satu komplek dengan seorang
koordinator sekolah, yang berada di bawah Yayasan Tarakanita. Di sekolah
ini, segala bentuk informasi yang berkaitan dengan siswa, terutama nilai dan
prestasinya masih diolah secara manual. Sistem ini terlihat kurang efektif dan
efisien. Pengolahan data murid, guru, dan pencarian data yang lain belum
memanfaatkan komputer. Penggunaan komputer sebatas pada pengetikan.
Tambahan pekerjaan dan jam bekerja sangat terasa ketika waktu penerimaan
rapor hampir tiba. Sebab, pengolahan nilai rapor yang harus diperhitungkan
dari banyak nilai penunjang membutuhkan ketelitian penghitungan yang
tinggi. Dengan penghitungan yang tepat dan akurat, guru dapat melihat apakah
siswanya mengalami peningkatan atau penurunan prestasi dalam semester
yang dimaksud.
Permasalahan di atas mendorong peneliti untuk mengambil hal tersebut
sebagai topik penelitian. Sebagai bahan penelitian dan pengambilan data,
peneliti melakukan studi kasus yang dilakukan di SD TARAKANITA Bumijo,
Yogyakarta dengan harapan hasil penelitian ini dapat dimanfaatkan oleh pihak
yang bersangkutan.
1.2. Rumusan Masalah
Dalam rumusan masalah ini didapat fakta bahwa sistem yang di gunakan
belum efektif dan efisien. Belum dapat dikatakan demikian karena :
1. Terdapat laboratorium komputer yang belum dimanfaatkan dengan baik.
Hal ini akan bermanfaat bila laboratorium tersebut dibuat workstation.
21
2. Rutinitas setiap mendekati penerimaan rapor yaitu para guru selalu
menambah jam kerjanya untuk mengolah nilai siswa yang akan
dimasukkan dalam rapor.Untuk pencarian data siswa masih manual.
Dari kedua hal tersebut di atas, tentu saja dibutuhkan suatu sistem
informasi yang handal sehingga mampu memberikan pelayanan yang baik dan
meringkankan pekerjaan guru. Maka rumusan masalah dalam penelitian ini
adalah “Bagaimana mengembangkan Sistem Informasi Sekolah yang efisien
dan efektif”. Sistem baru yang akan dibuat, menawarkan pemecahan terhadap
permasalahan di atas, sehingga proses pencarian dan perhitungan dapat
dilakukan dengan cepat.
1.3. Batasan Masalah
Dalam pembuatan aplikasi perangkat lunak ini, dipertimbangkan aspek-
aspek tertentu yang dapat membantu membatasi permasalahan sehingga dalam
pembuatan aplikasi tidak menyimpang dari apa yang telah diuraikan pada latar
belakang dan permasalahan. Aspek-aspek ini adalah sebagai berikut:
1. Sistem yang dibuat sebatas pemasukan data pribadi guru, dan siswa,
masukkan dan pengolahan data nilai siswa, serta informasi hasil belajar
siswa beserta perkembangan secara nonpendidikan (berupa budi perkerti
sopan santun) dalam satu masa tahun ajaran
2. Output yang dibuat berupa tampilan dan cetakan. Untuk tampilan berupa
laporan dalam daftar-daftar maupun dalam bentuk grafik nilai, sedangkan
22
cetak berupa printout dari daftar-daftar yang ada, misalnya daftar guru,
siswa, nilai, matapelajaran, dll.
1.4. Tujuan dan Manfaat Penelitian
Tujuan dan manfaat pembuatan sistem informasi ini antara lain :
1. Diharapkan dengan adanya sistem ini mampu mempermudah tenaga guru
dalam penyimpanan, pencarian, dan pengolahan data nilai siswa, sehingga
dapat dilakukan secara cepat, lengkap, dan tepat.
2. Dengan melihat hasil pengolahan nilai siswa, dapat memudahkan para
guru untuk mengambil keputusan yang berhubungan dengan strategi
pembelajaran, dan melihat perkembangan peserta didik.
3. Bagi peneliti, dapat sebagai sarana memanfaatkan dan menggunakan hasil
perkembangan teknologi, terlebih teknologi yang berbasis informasi, serta
perangkat lunak yang mendukung dalam pembuatan sistem informasi.
Serta mampu memahami dan menerapkan pemrograman dengan membuat
sistem informasi menggunakan bahasa pemrograman Visual Basic 6.0 dan
SQL Server 2000, yang merupakan kombinasi perangkat lunak yang telah
banyak digunakan dalam pembuatan dan pengembangan sistem informasi
yang berbasis multiuser.
1.5. Metode Penelitian
Dalam penulisan skripsi ini, digunakan metodologi pengembangan
sistem yang terstruktur. Tools (perangkat ) serta teknik yang digunakan
meliputi :
23
1. Requirement : Pengumpulan kebutuhan untuk memahami permasalahan-
permasalahan yang terdapat pada sistem yang lama. Teknik yang dipakai
antara lain :
� Teknik Wawancara yaitu kegiatan yang dilakukan dengan mengajukan
pertanyaan-pertanyaan terhadap masalah yang sedang diteliti kepada
pihak pengguna sistem (guru)
� Observasi yaitu kegiatan yang melibatkan diri secara langsung dalam
proses pengolahan data baik data guru maupun data siswa.
Pengambilan data mengenai siswa dan guru yang kemudian diolah
dan digunakan sebagai penyajian informasi.
2. Analysis : Melakukan analisis kebutuhan setelah memahami permasalahan
-permasalahan yang ada. Pada tahap ini beberapa tools (perangkat) yang
digunakan antara lain :
� DFD (Data Flow Diagram). DFD digunakan dalam tahap analisis
untuk menggambarkan diagram beserta arus data yang mengalir
� Diagram Berjenjang. Diagram ini digunakan untuk menggambarkan
proses yang terlibat dalam pembuatan sistem informasi sekolah dalam
bentuk bagan.
� Contex Diagram. Diagram ini digunakan untuk mewakili proses dari
keseluruhan sistem serta menggambarkan hubungan input ataupun
output antara sistem dengan external entity.
24
� Bagan Alir Dokumen ini menggambarkan semua arus data mulai dari
nilai yang masuk hingga dibuatnya laporan-laporan yang berupa
tampilan maupun printout.
3. Design (Perancangan Sistem). Beberapa tools (perangkat) yang digunakan
antara lain:
- E-R. Desain E-R merupakan desain logika yang menggambarkan
relasi antar entitas yang terlibat dalam pembuatan sistem informasi.
Desain sistem informasi yang akan dilakukan meliputi beberapa
perancangan antara lain :
- Desain Database Secara Umum
Perancangan database dilakukan guna mengidentifikasi jenis file yang
digunakan dalam pembuatan sistem informasi sekolah.
- Desain Relasi Antar Tabel
Perancangan database dilakukan guna mengidentifikasi jenis file yang
digunakan dalam pembuatan sistem informasi sekolah.
- Desain Tabel
Desain Tabel merupakan desain yang menggambarkan secara fisik
tabel yang terlibat dalam pembuatan sistem informasi sekolah.
- Desain User Interface
Desain bentuk form yang akan digunakan dalam pembuatan sistem
informasi sekolah
4. Implementation : Penulisan hasil analisis dan perancangan sistem yang
dibuat.
25
1.6. Sistematika Penulisan
1. BAB I : PENDAHULUHAN
Menjelaskan mengenai permasalahan yang akan dijadikan topik
untuk tugas akhir. Bab ini terdiri dari latar belakang masalah, rumusan
masalah, batasan masalah, tujuan penulisan, metode penelitian dan
sistematika penulisan.
2. BAB II : LANDASAN TEORI
Bab ini secara khusus menjelaskan berbagai teori, antara lain
meliputi pengertian sistem informasi, database, sistem informasi berbasis
multiuser, dan pemrograman Visual Basic 6.0 dengan database
SQLServer 2000.
3. BAB III : ANALISA DAN PERANCANGAN SISTEM
Bab ini akan menjelaskan hasil analisis terhadap sistem yang lama dan perancangan sistem baru
yang akan dibangun
4. BAB IV : IMPLEMENTASI
Bab ini berisi implementasi dari desain sistem informasi yang dibuat dan analisis hasil terhadap
sistem yang telah diimplementasikan
5. BAB V : PENUTUP
Bab ini berisi kesimpulan-kesimpulan dan saran yang didapat dalam proses analisis, desain sampai
pada proses implementasi program secara keseluruhan.
BAB II
LANDASAN TEORI
2. Sistem Informasi
26
2.1. Pengertian Sistem
Sampai pada saat ini definisi mengenai sistem masih beragam,
tergantung dari sudut mana sistem dipandang. Beberapa pengertian mengenai
sistem antara lain :
“suatu sistem adalah jaringan kerja dari prosedur-prosedur yang saling berhubungan,
berkumpul bersama-sama untuk melakukan suatu kegiatan atau untuk menyelesaikan suatu
sasaran yang tertentu” (Jerry FiztGerald, dkk, 1981).
Pengertian di atas merupakan pendefinisian menurut sudut pandang
prosedurnya. Lain dengan definisi yang diberikan oleh Jogiyanto, yang
melihat definisi sistem dari sudut pandang pada komponen atau elemen.
Definisi tersebut adalah sebagai berikut :
“ Sistem adalah kumpulan dari elemen-elemen yang berinteraksi untuk mencapai
suatu tujuan tertentu”.
Terdapat pula definisi lain yang menyebutkan :
“Sebuah sistem adalah himpunan atau variabel yang terorganisasi saling
berinteraksi, saling bergantung satu sama lain dan terpadu.”(Lukas,1987)
“ Sistem adalah kumpulan dari elemen-elemen yang saling berelasi dan
prosedur-prosedur yang saling bekerja sama untuk melakukan tugas tertentu”(Fouri dan
Goia, 1986)
dan masih banyak lagi definisi-definisi lain yang ditekankan oleh para ahli,
dengan melihat sudut pandang yang berbeda tetapi mempunyai inti yang sama.
2.1.2. Pengertian Informasi
Sama halnya dengan sistem, informasi juga memiliki pemahaman yang
berbeda-beda meskipun bermakna sama. Pemahaman mengenai informasi
27
antara lain diberikan dalam tiga definisi yang diambil dari tiga sumber yang
berbeda yaitu:
“Informasi sebagai data yang memiliki atribut dan diorganisasi sehingga memiliki
arti (Ellzey,1991)”
“Informasi sebagai data yang diolah menjadi bentuk yang lebih berguna dan lebih
berarti bagi yang menerimanya”. (Jogiyanto,1990)
“ Informasi adalah data yang diproses dan ditransformasikan sehingga mempunyai
makna dan berguna”.(Donna S. Hussain dan K.M. Hussain, 1992)
2.1.3. Pengertian Sistem Informasi
Sistem informasi sangat beragam, salah satu contohnya adalah sistem
informasi akuntansi. Sistem informasi akuntansi merupakan salah satu contoh
bentuk sistem informasi yang terdapat pada suatu perusahaan. Sistem
informasi akuntansi merupakan suatu kesatuan atau komponen di dalam suatu
organisasi yang menyediakan informasi keuangan dan informasi yang
didapatkan dari transakasi data untuk tujuan pelaporan internal kepada
manajer yang digunakan dalam pengendalian dan perencanaan sekarang dan
operasi masa depan serta pelaporan eksternal kepada pemegang saham,
pemerintah dan pihak-pihak luar lainnya.
Dalam uraian sistem dan informasi di atas diketahui bahwa informasi
sangatlah penting dalam suatu organisasi. Suatu informasi dapat diperoleh
dari sistem informasi (Information System). Sesuai dengan yang dikutip oleh
Jogiyanto, menurut Robert A. Leitch dan K. Roscoe Davis sistem informasi
didefinisikan sebagai berikut :
“ Sistem informasi adalah suatu sistem dalam suatu organisasi yang
mempertemukan kebutuhan pengolahan transaksi harian, mendukung operasi, bersifat
manajerial dan kegiatan strategi dari suatu organisasi dan menyediakan pihak luar tertentu dengan laporan-laporan yang diperlukan. ” (Jogiyanto, 1989 : 11)
28
Menurut John Burch dan Garry Grudnitski dalam Jogiyanto (1989 :12-
13), sistem informasi terdiri dari beberapa komponen yang saling berinteraksi
menjadi satu kesatuan untuk mencapai sasarannya yang disebut blok bangunan
(building block). Komponen-komponen tersebut adalah blok masukkan (Input
block), blok model (Model block), blok keluaran (Output block), blok
teknologi (Technology block), dan blok kendali (Controls block).
2.1.4 Kualitas Informasi
Robert N. Anthony dan John Dearden (1980 : 125) menyebut keadaan
dari sistem dalam hubungannya dengan keberakhiran dengan istilah entropy.
Informasi yang berguna bagi sistem akan menghindari proses entropy yang
disebut dengan negative entropy atau negentropy. Jika negentropy dapat
dihindari maka hal tersebut menjadikan informasi dapat didefinisikan sebagai
kumpulan data yang diolah menjadi bentuk yang lebih berguna dan lebih
berarti bagi yang menerimanya.
Informasi dikatakan bernilai bila manfaatnya lebih efektif dibandingkan
dengan biaya yang dikeluarkan untuk mendapatkan informasi (Jogiyanto H,
1989 :11). Perlu diingat bahwa informasi yang diolah menjadi suatu sistem
informasi dalam penggunaannya dapat digunakan oleh lebih dari satu
pengguna. Misalkan sistem informasi pergudangan. Sistem ini digunakan
tidak hanya oleh petugas gudang, tetapi bisa juga oleh akuntan untuk
pencatatan persediaan barang.
29
Menurut Jogiyanto (1989: 10), suatu informasi juga akan berkualitas
apabila tergantung pada tiga hal yaitu:
a. Akurat yaitu informasi harus bebas dari kesalahan-kesalahan dan tidak
bias atau menyesatkan. Akurat juga berarti harus jelas menerangkan
maksudnya, bebas dari gangguan agar tidak merubah isi pesan bila sampai
pada penerima informasi.
b. Tepat waktu yaitu informasi yang datang pada penerima tidak boleh
terlambat. Informasi yang terlambat akan tidak mempunyai nilai informatif
lagi, mengingat informasi juga dapat dijadikan bahan untuk mengambil
keputusan.
c. Relevan yaitu informasi tersebut mempunyai manfaat untuk pemakainya.
Arti relevan dalam hal ini adalah bila informasi tepat sasaran pada yang
membutuhkan. Misalnya informasi tentang suatu harga pokok produksi,
ini akan tepat bila yang menerima adalah seorang akuntan.
2.2. Database, DBMS dan Konsep Pengembangannya
Database sendiri dapat didefinisikan dalam sejumlah sudut pandang seperti :
1. Himpunan kelompok data (arsip) yang saling berhubungan yang
diorganisasi sedemikian rupa agar kelak dapat dimanfaatkan kembali
dengan cepat dan mudah.
2. Kumpulan data yang saling berhubungan yang disimpan bersama,
sedemikian rupa dan tanpa pengulangan (redudansi) yang tak perlu
untuk memenuhi berbagai kebutuhan.
30
3. Kumpulan file/table/arsip yang saling berhubungan yang disimpan
dalam media penyimpan elektronis.
Menurut Atre (1980) database dapat didefinisikan sebagai berikut:
“Sebuah database adalah sekumpulan data yang berelasi dalam suatu
enterprise/perusahaan untuk berbagai pengguna”.
Definisi lain diberikan oleh Senn (1989) sebagai berikut:
“Database adalah kumpulan yang terintegrasi pada penyimpanan data dalam berbagai
type record dan dalam berbagai cara pengaksesan dengan bermacam aplikasi.”
Dari definisi tersebut di atas dapat disimpulkan bahwa database akan
selalu terkait dengan integrasi dari sekumpulan data dalam media
penyimpanan yang dapat dimanfaatkan oleh berbagai pengguna (user).
2.2.1. Database Management System (DBMS)
Sebuah sistem memerlukan file-file data di dalam database yang
dapat menyediakan berbagai tampilan untuk berbagai pengguna. Pengolahan
database secara fisik tidak dilakukan oleh pemakai secara langsung tetapi
ditangani oleh sebuah perangkat lunak yang khusus. Perangkat lunak inilah
yang disebut dengan Database Management System (DBMS) yang akan
menentukan bagaimana data diorganisasi, disimpan, diubah, dan ditampilkan
kembali, sesuai dengan apa yang didefinisikan oleh F.Korth (1986) yaitu:
“database adalah kumpulan data yang saling berelasi dan set program untuk mengakses (mengambil, mengubah, menambah) data tersebut”
2.2.2. Sistem Pengembangan dalam Lingkungan Database
Structured Analysis and Design Technique(SADT) merupakan
metodologi dalam pengembangan sistem terstruktur yang dikembangkan oleh
31
D.T. Ross. Sebagai metodologi yang terstruktur SADT juga menganut konsep
dekomposisi, yaitu menggambarkan terlebih dulu sistem secara utuh (whole
system) sebagai tingkat tertinggi (top level) dan memecah-mecah secara rinci.
SADT memandang suatu sistem terdiri dari dua hal sebagai berikut:
1. benda (objek,dokumen atau data)
2. kejadian (kegiatan yang dilakukan oleh orang, mesin atau komputer)
dua tipe diagram yang digunakan dalam paket SADT yaitu :
1. Diagram kegiatan (activity diagram) yang disebut dengan actigrams
2. Diagram data (data diagram) yang disebut dengan data diagrams
Bila mengikuti gagasan yang disampaikan oleh Atre (1980) tentang
perancangan database, maka suatu pengembangan database akan dimulai
dengan melihat pandangan pengguna akhir (end user) dalam organisasi. Atre
menyebutkan aktivitas ini sebagai conceptual requirement. Mengapa
demikian, hal ini disebabkan pengguna terakhir adalah pembuat keputusan
yang akan menggunakan isi informasi yang akan diakses dari database.
Dalam mempertimbangkan kebutuhan-kebutuhan penguna untuk
tahapan desain dapat mengikut tahap-tahap yang diperlihatkan pada gambar
2.1. Adapun tahap-tahap dalam perancangan database adalah sebagai berikut:
A. Conceptual Design
Maksud dari Conceptual Design adalah untuk merepresentasikan
kebutuhan informal aplikasi ke dalam suatu bentuk formal dengan
32
deskripsi yang lengkap. Alat bantu yang lazim dipakai adalah Entity
Relationship Diagram (E-R Diagram). Produk dari tahapan ini adalah
Model Data Konseptual (Conseptual Data Model)
B. Logical Design
Tahapan ini menerjemahkan skema konseptual yang telah didefinisikan
pada tahap pertama ke dalam data yang diadopsi dari sistem manajemen
basis data tertentu. Produk dari tahap ini yaitu model data logika. Teknik
yang sering dipakai pada tahap ini adalah normalisasi database. Produk ini
adalah suatu skema logika yang berkaitan erat dengan model data logika
(Logical Data Model)
C. Physical Design
Dalam tahap akhir ini skema logika (Logical Schema) telah selesai, begitu
pula dengan detail pengimplementasiannya (organisasi file dan index)
pada sebuah sistem manajemen basis data tertentu. Produk yang terakhir
dalam tahapan ini adalah skema fisik (Physical Schema) yang
berhubungan dengan model data fisik (Physical Data Model). Model ini
bergantung pada sistem manajemen database yang dipakai.
33
Gambar 2.1 Tahap Perancangan Database
2.2.3. Nilai Informasi dan Siklus Pengembangan Sistem Informasi
2.2.3.1. Nilai Informasi
Nilai dari informasi (value of information) ditentukan dari dua hal,
yaitu manfaat dan biaya untuk mendapatkannya. Suatu informasi dikatakan
bernilai bila manfaatnya lebih efektif dibandingkan dengan biaya untuk
mendapatkannya. Lebih lanjut sebagian besar informasi tidak dapat persis
ditaksir keuntungannya dengan suatu nilai uang, tetapi dapat ditaksir nilai
efektifitasnya. Pengukuran nilai informasi biasanya dihubungkan dengan
analisis cost effectiveness atau cost benefit.
34
Data merupakan bentuk yang masih mentah yang belum dapat bercerita
banyak sehingga perlu diolah lebih lanjut. Data diolah melalui suatu model
untuk menghasilkan informasi. Penerima kemudian menerima informasi
tersebut, membuat suatu keputusan dan melakukan tindakan, yang berarti
menghasilkan suatu tindakan yang akan membuat sejumlah data kembali.
Data tersebut akan ditangkap sebagai input, diproses kembali lewat suatu
model dan seterusnya membentuk suatu siklus informasi atau siklus
pengolahan data.
2.2.3.2. Siklus Pengembangan Sistem
Pengembangan sistem (system development) dapat berarti menyusun
suatu sistem yang baru untuk menggantikan sistem yang lama secara
keseluruhan atau memperbaiki sistem yang telah ada. Dalam
pengembangannya melewati tahapan mulai dari sistem direncanakan,
diterapkan, dioperasikan dan pada akhirnya dilakukan pemeliharaan. Tahap-
tahap pengembangan sistem ini biasa disebut dengan Siklus Hidup
Pengembangan Sistem (System Development Life Cycle, (SDLC)). Secara
konseptual siklus pengembangan sebuah sistem menurut Kendall (1992)
adalah sebagai berikut :
A. Mengidentifikasi masalah.
Pada fase ini, sistem dianalisis untuk dapat mengetahui masalah dan
kemungkinan solusinya untuk sistem informasi dan proses organisasi
35
B. Menentukan Kebutuhan Sistem.
Hasil akhir dari tahap pertama adalah masalah yang terdapat pada
sistem. Selanjutnya adalah menentukan apa yang dibutuhkan sistem
untuk mengatasi masalah yang dihadapi. Untuk itu seorang sistem analis
perlu mengetahui secara detail tentang:
1. Siapa (who) yang terlibat atau berinteraksi langsung dengan sistem
2. Apa (What) kegiatan bisnis yang dijalankan.
3. Di mana (Where) sistem diterapkan.
4. Kapan (When) sistem dijalankan.
5. Bagaimana (How) prosedur dijalankan.
C. Menganalisa Kebutuhan Sistem.
Dalam tahap ini, sistem analis menyiapkan proposal, dan membuat
rekomendasi untuk merevisi sistem berdasarkan kesimpulan yang
diperoleh.
D. Mendesain Sistem yang direkomendasikan.
Pada tahap ini, masalah dan solusinya telah didefinisi. Oleh karena itu
sistem baru harus digambarkan secara logika. Selain itu yang juga perlu
dirancang adalah output, input, struktur file, program, prosedur,
perangkat lunak dan perangkat keras yang mendukung sistem informasi.
E. Pengembangan dan Dokumentasi Perangkat Lunak.
Pada tahap pengembangan selanjutnya, perangkat lunak yang
mendukung sistem informasi dibangun dengan mengikuti rancangan
yang telah dibuat sebelumnya. Selama tahap ini sistem analis harus
36
selalu berkomunikasi dengan pemakai, agar dapat menyiapkan
dokumentasi yang baik. Dokumentasi perlu karena menjelaskan
bagaimana menjalankan perangkat lunak dan apa yang dilakukan bila
terjadi masalah.
F. Pengujian dan Perawatan Sistem.
Sebelum sistem digunakan, haruslah terlebih dahulu melewati tahap
pengujian dengan melibatkan pemakai (user) dan sistem analis untuk
melakukan pengujian secara keseluruhan. Beberapa pengujian
diselesaikan oleh programmer menyangkut pengujian perangkat lunak
secara moduler.
G. Penerapan dan Evaluasi Sistem .
Tahap terakhir yaitu implementasi sistem. Hal lain yang harus dikerjakan
adalah pelatihan bagi pemakai sistem (user). Selama sistem baru
dioperasikan sistem tersebut harus tetap dipantau dan dinilai, apakah
berjalan terus atau ada ketidakberesan. Bila terdapat maka proses diulang
mulai dari langkah awal.
Siklus tersebut berlangsung secara berulang-ulang. Siklus di atas
merupakan model klasik dari pengembangan sistem informasi.
Gambar 2.2 Siklus Pengembangan Sistem
37
2.2.4. Alat dan Teknik Pengembangan Sistem
Dalam setiap pengembangan sistem dibutuhkan alat bantu desain yang
digunakan untuk membantu analisa dan perancangan sistem yang akan
dikembangkan. Alat bantu isi biasanya berbentuk diagram atau grafik
(Jogiyanto,1990). Alat bantu yang berbentuk grafik dapat diuraikan sebagai
berikut:
a. Hierachy plus Input-Proses-Output (HIPO) Diagram
Diagram HIPO adalah alat pendokumentasian program, khususnya sebagai
alat dan teknik dokumentasi dalam siklus pengembangan sistem. Diagram
pada gambar 2.3 menunjukkan hubungan dari fungsi-fungsi pada sistem
secara berjenjang.
Gambar 2.3 HIPO Diagram
b. Data Flow Diagram (DFD)
Data Flow Diagram (DFD) adalah diagram yang menggunakan notasi-
notasi untuk menggambarkan arus dari data secara logika tanpa
mempertimbangkan lingkungan fisik dimana data tersebut mengalir atau
akan disimpan. DFD merupakan alat yang digunakan pada metodologi
pengembangan sistem yang terstruktur (structure analysis and design).
38
Beberapa simbol yang digunakan dalam DFD :
1. External Entity (kesatuan luar)
Kesatuan luar merupakan kesatuan di luar lingkungan sistem yang
dapat berupa orang, organisasi atau sistem lainnya yang akan
memberikan input atau menerima output dari sistem. Kesatuan luar
disimbolkan sebagai berikut :
2. Data flow (arus data)
Arus data dalam DFD diberi simbol suatu panah, yang dapat
mengalir dari data yang berupa masukan untuk sistem atau hasil dari
suatu sistem. Arus data biasanya diberi nama yang jelas dan
mempunyai arti. Arus data disimbolkan sebagai berikut :
3. Process (proses)
Suatu proses adalah kegiatan atau kerja yang dilakukan oleh orang,
mesin atau komputer dari hasil suatu arus data yang masuk ke dalam
proses untuk dihasilkan arus data yang akan keluar dari proses.
Notasi proses dalam DFD adalah sebagai berikut :
4. Data store (simpanan data)
Simpanan data merupakan simpanan dari data yang dapat berupa:
� Suatu file atau database di dalam sistem komputer.
39
� Suatu arsip atau catatan manual.
� Suatu tabel acuan manual.
� Suatu agenda atau buku.
Simpanan data dalam DFD disimbolkan dengan sepasang garis
horisontal paralel yang tertutup di salah satu ujungnya.
c. Entity Relationship Diagram (E-R Diagram)
Hubungan antar entiti (Entity Ralationship modelling) merupakan
salah satu implementasi pendekatan dari atas ke bawah yang paling umum
digunakan. Hal ini dilakukan untuk merancang tabel, hubungan antar
tabel, mengidentifikasikan, primary key dan foreign key, dan aturannya,
serta domain untuk database. Dalam pemodelan ini, tahapan yang
dilakukan adalah sebagai berikut:
1. memilih entiti-entiti yang akan disusun oleh database dan
menentukan hubungan antar entiti yang telah dipilih.
2. melengkapi atribut-atribut yang sesuai pada entiti dan hubungan,
sehingga diperoleh tabel normal yang penuh (tabel ternormalisasi).
Sama dengan alat yang lain pada diagram E-R yang kita sebut
kemudian, diagram ini memiliki simbol-simbol antara lain:
40
Gambar2.4 contoh E-R Diagram
Dalam diagram E-R dikenal adanya derajat hubungan (relationship)
antara entiti yang menyatakan jumlah anggota entiti yang terlibat dalam
ikatan atau relasi yang terjadi. Derajat hubungan tersebut antara lain :
a. Relasi one to one (1:1)
Relasi ini terjadi bila tiap anggota entiti A hanya boleh berpasangan
dengan tepat satu anggota entiti B. Hubungan 1:1 mencakup juga
relasi 1:0 dan 0:1
b. Relasi one to many (1:m)
Relasi ini terjadi bila tiap anggota entiti A berpasangan lebih dari satu
anggota entiti B. hubungan one to many mencakup relasi 1:1, 0:1, 1:1
c. Relasi many to many (m : m)
Relasi ini terjadi bila tiap anggota entiti A boleh berpasangan dengan
lebih dari satu anggota entiti B, begitu juga sebaliknya tiap anggota B
41
boleh berpasangan dengan lebih dari satu anggota entiti A. Relasi ini
mencakup 1:m, 1:1, 1:0, 0:1
2.3. Sistem Database, Multi-User, Client /Server
2.3.1 Sistem Database
Penerapan database dalam sebuah sistem informasi disebut dengan
sistem database (database system). Sistem database merupakan suatu sistem
informasi yang mengintegrasikan kumpulan data yang saling berhubungan
satu dengan yang lainnya, dan membuatnya tersedia untuk beberapa aplikasi
yang bermacam-macam dalam suatu organisasi.
Ada beberapa sistem yang dapat digunakan dalam suatu aplikasi
database, dimana masing-masing sistem memiliki kelebihan dan kekurangan
tersendiri, yaitu sistem single user, sistem multiuser klasik dan sistem
client/server.
2.3.2 Sistem Multi-User
Sistem multi-user merupakan tahap pengembangan system single user,
perbedaan utama sistem multi-user dengan sistem single-user adalah pada
sistem ini, file-file data (data source) diletakan terpisah pada komputer lain
yang biasa disebut dengan komputer server. Meskipun sudah dilakukan
pemisahan data dan pembagian tugas, namun kemampuan yang dimiliki
cukup terbatas. Dengan kata lain, aplikasi yang dihasilkan tidak terlalu
kompleks, namun sudah cukup memenuhi kebutuhan. Tujuan dari pemisahan
42
file data dengan aplikasi ini adalah agar database dapat diakses secara bersama
dengan workstation lain.
2.3.3. Sistem Client/Server
Sistem client/server merupakan sistem yang paling baik untuk
digunakan, sistem ini mampu menghasilkan aplikasi database yang tangguh
dalam hal sekuritas, serta mampu mengurangi kepadatan lalu lintas jaringan.
Di mana pada sistem ini juga terdapat dua aplikasi yang terpisah yaitu aplikasi
client dan aplikasi server. Client merupakan sebuah komputer yang berisi
aplikasi, dan memiliki tanggung jawab untuk melakukan interaksi dengan
user. Jadi setiap yang dikehendaki para user akan ditangani terlebih dahulu
oleh client. Sebagai contoh adalah, client menerima masukan dari user yang
dilakukan melalui keyboard. Server merupakan sebuah komputer yang berisi
DBMS serta database, dan menjadi pusat seluruh kegiatan menangani
permintaan-permintaan yang dilakukan oleh client.
Kunci utama untuk memahami sistem ini adalah, aplikasi client
membuat suatu permintaan (make a request) kemudian server merespon
permintaan (server responding). Dengan adanya dua aplikasi yang terpisah ini
sebelun aplikasi client dapat terhubung ke server, aplikasi server harus
dijalankan terlebih dahulu.
Mekanisme keamanan data diterapkan pada sistem client/server sangat
tinggi, sehingga aplikasi client tidak dapat dibuka file-file data yang berada di
server secara langsung. Pada dasarnya client harus melakukan login dengan
memasukkan userid serta password yang telah ditentukan. Begitu proses login
43
berhasil kemudian aplikasi server akan memberikan layanan untuk membuka
database yang diminta user (client). Dalam hal pengaksesan data juga masih
ditentukan oleh hak akses (access granted), sehingga tidak semua layanan
dapat dilakukan client, akan tetapi bergantung pada hak akses yang diberikan.
Proses query pada sistem database ini sangat sederhana, dimana
aplikasi client cukup mengirimkan pernyataan-pernyataan SQL ke server.
Perintah yang telah dikirimkan kemudian akan direspon oleh server dengan
kembali mengirimkan hasil perintah yang diminta tersebut.
Model sistem databse client/server ini memungkinkan kuantitas data
yang ditransmisikan dapat direduksi, sehingga waktu akses yang diperlukan
menjadi sangat singkat. Model sistem client/server dapat dilihat seperti pada
gambar 2.5.
IDC
Gambar 2.5 Model sistem Client /server
2.3.3. Keuntungan Menggunakan Database Terpusat
Adapun keuntungan dari penyimpanan dan pengaturan database
terpusat adalah sebagai berikut :
1. Dengan penyimpanan dan pengaturan data terpusat setiap user (client)
akan dapat mempunyai informasi yang sama satu sama lain.
44
2. Aturan bisnis dan keamanan data hanya perlu sekali saja untuk dilakukan
pada server yang akan mengikat semua client yang berhubungan
dengannya.
3. Relasi database server dapat mengurangi jalur jaringan (network) karena
hanya mengirimkan data yang diperlukan aplikasi.
4. Biaya pembelian hardware dapat dikurangi, karena komputer pada client
tidak diharuskan untuk mempunyai ruang penyimpanan yang besar
untuk menampung semua data dan juga untuk ruang aplikasi yang
digunakan. Dan server juga tidak diharuskan untuk mempunyai
kemampuan untuk menampilkan.
5. Maintenance/Pemeliharaan seperti back-up data lebih mudah dilakukan
karena dapat difokuskan pada server
2.3.4. Keamanan Sistem
Terdapat tiga tingkatan keamanan sistem yang diterapkan dalam sistem
yang akan dibangun, yaitu :
1. Perizinan koneksi ke server yang ada
User yang akan menggunakan sistem ini harus merupakan user yang telah
terdaftar pada server yang digunakan. Seorang user tidak akan dapat
menggunakan sistem ini jika dia gagal untuk melakukan koneksi ke server
yang digunakan (hal ini berarti user belum terdaftar sebagai user yang
dapat melakukan akses ke dalam server)
45
2. Perizinan koneksi ke database
Setelah user berhasil melakukan koneksi ke server, user akan disaring
lagi, ke database mana dia telah dipetakan. Artinya meskipun user
tersebut telah berhasil melakukan koneksi ke server, namun jika dia tidak
mempunyai akses ke data base yang digunakan oleh aplikasi, maka user
tersebut juga akan ditolak.
3. Perizinan dalam mengakses database
Jika user telah berhasil koneksi ke server dan data base, maka user
tersebut akan dilihat lagi otoritasnya terhadap sebuah tabel. Apakah user
bersangkutan mempunyai izin untuk mengubah isi tabel atau hanya
sebagai user yang hanya dapat melihat data yang terdapat dalam tabel.
Dengan kata lain, jika user tersebut hanya bisa melihat data, maka dia
tidak dapat menambah, menghapus, ataupun mengedit data sebuah tabel.
2.4. SQL Server
SQL Server 2000 adalah database engine client/server yang berbeda
dengan database komputer tunggal tradisional yang memakai sistem
pemakaian bersama-sama, misalnya Microsoft visual FoxPro (Inge,2003 :12).
Selanjutnya adalah, bahwa sistem database client/server memakai sejumlah
proses server untuk memanipulasi data, dan mengharuskan proses client
berhubungan dengan proses server menggunakan mekanisme IPC (inter-
proces communication) local atau remote, misalnya soket TCP/IP. Proses
server adalah aplikasi server yang memproses perintah-perintah SQL. Proses
46
server juga menangani konkurensi dengan memakai mekanisme locking yang
lebih canggih dari sistrem file jaringan yang dipakai secara bersama-sama.
Server juga menangani serkuritas. Setelah proses server menjalankan perintah-
perintah, hasilnya akan dikirim kembali ke client melalui mekanisme IPC.
Dengan cara ini sistem client/server memberikan pengaksesan yang lebih baik
pada data yang dipakai bersama-sama oleh banyak user.
SQL Server menggunakan bahasa standar yang meliputi perintah-
perintah untuk menyimpan, menerima, memelihara, dan mengatur akses-akses
ke database serta digunakan untuk memanipulasi dan menampilkan data
RDBMS. SQL Server membuat programmer atau database administrator
dapat melakukan hal-hal sebagai berikut :
1. Memodifiasi struktur database.
2. Menggantikan setting sistem keamanan
3. Menambahkan wewenang user pada database atau tabel
4. Menampilkan informasi dari database
5. Mengubah isi dari database
6. Membuat keamanan data
7. Menangani proses transaksi di antara aplikasi
8. Mentransfer data antara lain database yang berbeda.
Bila database telah dibuat maka user dapat memiliki izin akses yang
telah diberikan. Hal ini membuat SQL Server dapat menyimpan beberapa
database dan membatasi akses ke masing-masing database ke user tertentu
saja. Berikut ini komponen-komponen penting dari SQL :
47
1. Database: mengandung obyek-obyek yang digunakan untuk mewakili,
menyimpan, dan mengakses data.
2. Tabel: menyimpan record-record data dan hubungannya dengan tabel lain.
3. Database Diagram: secara grafis menampilkan obyek database, sehingga
dapat dimanipulasi tanpa menggunakan bahasa Transact-SQL.
4. Indexs: file-file tambahan yang meningkatkan kecepatan akses dari record-
record tabel.
5. View: menyediakan cara melihat data yang berbeda di dalam satu atau
lebih tabel.
6. Stored Procedure: program-program Transact-SQL yang disimpan di
dalam server yang menjalankan tugas-tugas yang telah ditemukan.
7. Trigger: sebuah jenis prosedur tersimpan khusus yang secara otomatis
dijalankan apabila operasi tertentu dilakukan dalam tabel.
8. Full-Text Indexes : indeks khusus yang membuat pencarian menjadi lebih
mudah di dalam kolom-kolom dengan tipe data Varchar dan teks.
SQL Server juga memiliki fasilitas-fasilitas yang penting antara lain :
1. Query Analyzer
Penggunaan perintah-perintah query untuk melihat data, membuat
database, melakukan update serta melakukan pengeditan database. Di
dalam query analyzer ini, kita menggunakan Transact Structured Query
Language (T-SQL) yaitu versi bahasa query yang terstruktur.
48
2. Enterprise Manager
Fasilitas wizard yang terdapat pada sql server 2000. Wizard ini
menampilkan serangkaian kotak dialog dalam berinteraksi dengan user
sehingga memudahkan dalam pengolahan data.
2.4.1 Dasar – dasar Sql server 2000
1. Jenis-jenis deklarasi sql
- DDL (Data Definition language). Gunanya untuk mendefinisikan
data dan objek database. Yang termasuk dalam DDL adalah sebagai
berikut :
Perintah Keterangan
Create table Membuat tabel
Create index Membuat index
Alter table Mengubah atau menyisipkan kolom ke dalam
tabel
Drop table Menghapus tabel dari database
- DML (Data Manipulation Language) Gunanya untuk memanipulasi
data. Yang termasuk dalam DML adalah sebagai berikut :
Perintah Keterangan
Select Memilih data dari tabel atau view
Insert Menyisipkan baris ke dalam tabel
Delete Menghapus baris dari tabel
Update Mengubah isi dari kolom pada tabel
2. Tipe data pada sql server 2000 antara lain sebagai berikut : Bigint, int,
smallint, numeric, float , datetime, char, smallint, smalldatetime. Text,
varchar.
3. Beberapa sintaks penulisan sql yang sering digunakan adalah sebagai
berikut :
49
� Sintaks perintah SELECT adalah :
SELECT <nama kolom> from <nama tabel>
Contoh : SELECT * from guru
(perintah untuk menampilkan tabel guru)
� Sintaks perintah WHERE adalah :
SELECT <nama kolom> from <nama tabel> where <kondisi>
Contoh : SELECT nama from guru WHERE kd_guru = ‘’
(perintah untuk menampilkan nama guru dengan kode guru )
� Sintaks perintah menggabungkan 2 tabel adalah :
SELECT kolom,kolom …
FROM tabel 1, tabel 2 …
WHERE tabel1.kolom = tabel2.kolom
Contoh :
SELECT guru.kd_guru, guru.nama_guru, kelas.kd_kelas,
kelas.Keterangan_kelas
FROM guru, kelas
WHERE kd_guru.guru = nama.kelas
(Perintah untuk menampilkan kode guru, nama guru serta kode
kelas dari tabel guru yang direlasikan dengan tabel kelas)
50
1. Sintaks perintah pembuatan tabel adalah :
CREATE TABLE nama tabel
(nama_kolom type_data [ not null ]),
(nama_kolom type_data [ not null ]) …
Contoh : CREATE TABLE guru (kode_guru char char(8) Not Null,
(nama_guru char char(50) not Null),
(Perintah ini digunakan untuk membuat tabel dokter yang beisi 2 kolom
yaitu kolom 1 berisi kode guru dan kolom 2 berisi nama guru. Dengan
adanya syarat Not Null maka Kolom 1 dan kolom2 harus diisi, tidak
boleh kosong. Kolom 1 dan kolom 2 bertipe data char dengan maksimal
panjang 8 karakter untuk kode_guru dan 50 karakter untuk nama_guru
2. Sintaks perintah penghapusan tabel adalah :
DROP TABLE nama tabel
Contoh : DROP TABLE guru
(Perintah untuk menghapus tabel guru)
2.5. Visual Basic 6.0
Microsoft Visual basic adalah bahasa pemrograman yang digunakan
untuk membuat aplikasi windows yang berbasis grafis (Ario, 2000). Visual
Basic merupakan event-drivent programming (pemrograman kendali
kejadian), artinya program menunggu sampai adanya respon dari pemakai
berupa kejadian (event) tertentu. Kejadian tersebut dapat berupa pemilihan
51
menu, tombol yang diklik, dan lain-lain. Ketika kejadian tersebut terdeteksi
maka kode yang berhubungan dengan event akan dijalankan. Struktur aplikasi
(project) yang ada di Visual Basic terdiri dari :
1. Form-Windows/jendela untuk membuat user interface/tampilan.
2. Kontrol/Control - Tampilan berbasis grafis yang dimasukkan pada
form untuk membuat interaksi dengan pemakai (text box, label, scroll
bar, tombol command). Form dan kontrol adalah Objek.
3. Properti/Properties - Nilai/karakteristik yang dimiliki oleh sebuah
objek VB. Contoh: Name, Captions, Size, Color, Position dan text. VB
menerapkan properti default/standar. Anda dapat mengubah properti saat
mendesain program atau run time atau ketika program dijalankan.
4. Metode/Methods - Serangkaian perintah yang sudah tersedia pada suatu
objek yang dapat diminta untuk mengerjakan tugas khusus.
5. Prosedur Kejadian/Event Procedures - kode yang berhubungan
dengan suatu objek. Kode ini akan dieksekusi ketika ada respon dari
pemakai berupa event tertentu.
6. Prosedur Umum/General Procedures - Kode yang tak berhubungan
dengan suatu objek. Kode ini harus diminta oleh aplikasi.
7. Modul/Module - Kumpulan dari prosedur umum, deklarasi variabel dan
definisi konstanta yang digunakan oleh aplikasi.
Keuntungan penggunaan bahasa pemrograman Visual Basic adalah
adanya fasilitas windows, kumpulan kotak dialog yang berupa menu, toolbar,
52
dan toolbox, Kontrol OLE (Object Linking and Embeding) untuk
menampilkan dan mengontrol data dari aplikasi windows lainnya. Fasilitas
yang terakhir berupa DDE (Dynamic Data Exchange) berfungsi untuk
mengirim dan menerima data untuk aplikasi windows lainnya.
53
BAB III
ANALISA DAN PERANCANGAN SISTEM
3.1. Tinjauan Sistem
3 1.1 Analisa Sistem Lama
Langkah-langkah yang dilakukan untuk menganalisa sistem yang saat
ini berlaku pada SD Tarakanita Bumijo adalah sebagai berikut:
a. Observasi sistem
Dalam tahap ini, penulis melakukan pengamatan mengenai pemrosesan
nilai siswa yang akan dimasukan ke dalam rapor. Mengajukan beberapa
pertanyaan, langsung kepada guru yang bersangkutan dalam hal ini adalah
wali kelas, mengenai masalah yang sering dihadapi, dan jalannya sistem,
apakah sudah terkomputerisasi atau masih manual.
b. Analisa kebutuhan
Setelah semua tahapan tersebut di atas selesai, maka penulis membuat
daftar dari data-data yang dikumpulkan sebagai kesatuan luar dari sistem,
sebagai pemberi masukan maupun penerima keluaran. Penulis juga
menentukan hal-hal yang akan diperbaiki dan diinginkan pengguna serta
membuat pembatasan pengguna sistem. Hasil analisa yang didapat adalah
pengolahan nilai siswa, pengolahan data siswa, guru dan karyawan, dan
pengolahan administrasi guru seperti, pengolahan nilai siswa.
54
3.1.1.1 Sistem pengolahan data pribadi siswa, guru
Berbeda dengan sekolah menengah pertama maupun atas, untuk
sekolah dasar penanganan segala bentuk administrasi siswa dilakukan oleh
wali kelas, dan kepala sekolah sebagai penerima laporan, berikut ini
adalah diagram prosedur mengenai data pribadi siswa:
Gambar 3.1 Diagram Prosedur data pribadi siswa
Penjelasan dari prosedur di atas adalah sebagai berikut :
a. Wali kelas memberikan form isian data pribadi siswa untuk diisi
dengan lengkap oleh siswa.
55
b. Setelah form diisi, siswa mengumpulkannya kepada wali kelas untuk
dicek kebenaran data siswa apakah masih ada kekurangan atau tidak.
c. Jika ada kesalahan atau kekurangan dalam mengisi, wali kelas akan
menyerahkan kembali form isian untuk dibenahi. Jika sudah maka
guru akan meminta kembali.
d. Form yang sudah selesai dikoreksi, kemudian disalin atau membenahi
kesalahan yang berada di buku induk, untuk kemudian dibuat laporan
data siswa..
e. Wali kelas menyerahkan laporan data siswa kepada Kepala sekolah,
untuk ditanda tangani.
f. Wali kelas menyimpan data pribadi tersebut sebagai arsip dan akan
digunakan jika terjadi masalah yang bersifat pribadi pada siswa.
Sedangkan untuk data pribadi guru tidak diinputkan secara pribadi
melainkan sudah ada prosedur tersendiri, yaitu pada saat guru maupun
karyawan mendaftarkan diri untuk menjadi pegawai. Data tersebut
diperoleh langsung dari yayasan.
3.1.1.2 Sistem pengolahan data nilai siswa
Pada prosedur pengolahan nilai siswa ini guru mata pelajaran
memberikan nilai mata pelajaran kepada wali kelas. Wali kelas kemudian
merekapitulasi semua nilai siswa menjadi laporan nilai hasil belajar. Nilai
yang sudah dimasukkan dalam rapor siap diserahkan kepada siswa,
56
sebagai laporan kepada kepala sekolah adalah salinan rapor. Diagram
prosedur untuk data nilai siswa adalah sebagai berikut:
Gambar 3.2 Diagram Prosedur data pribadi siswa
Penjelasan dari prosedur di atas adalah sebagai berikut :
a. Guru mata pelajaran memberikan data nilai ulangan semester, ulangan
tengah semester, ulangan harian, pekerjaan rumah, dan pekerjaan
sekolah, semua nilai tersebut sudah dirata-rata.
b. Wali kelas memasukkan semua nilai siswa ke dalam buku induk siswa.
57
c. wali kelas melakukan rekapitulasi terhadap semua nilai mata pelajaran
yang sudah masuk dari guru mata pelajaran. Kemudian nilai tersebut
diolah untuk menentukan nilai rapor.
d. Nilai hasil rekapitulasi tersebut kemudian disalin ke dalam rapor.
e. Wali kelas menyerahkan salinan rapor kepada kepala sekolah sebagai
laporan mengenai nilai rapor siswa, dan rapor siap dibagi.
Perhitungan terhadap nilai yaitu, dengan merata-rata setiap mata
pelajaran, mulai dari ulangan harian, ditambah dengan perbaikan jika
terdapat ulangan perbaikan. Ulangan harian dapat dilakukan beberapa kali.
Kemudian ulangan tengah semester, ulangan umum sekolah, pekerjaan
rumah, pekerjaan sekolah, serta tugas-tugas yang diberikan oleh guru baik
secara kelompok maupun pribadi. Juga diperhitungkan mengenai
kepribadian siswa dan presensi siswa untuk membuat rangking dalam
kelas. Dari semua nilai tersebut diperhitungkan untuk mengetahui nilai
dengan menggunakan rumus:
1. SF = (40% x Ru)+(20%xRt)+(40%+UAS); untuk skor Final
2. 100max
xSkor
SFN = ; untuk mencari nilai akhir atau nilai rapor :
�
Keterangan: � SF : Skor Final
� Ru : Rerata ulangan harian � Rt : Rerata tugas rumah maupun tugas sekolah
� UAS: Ujian Akhir Sekolah
� N : Nilai akhir atau nilai rapor � Skor max adalah skor (nilai) dari keseluruhan suatu mata pelajaran,
namun masih belum dapat dijadikan untuk nilai rapor.
� Angka dalam bentuk prosentase adalah prosentase suatu mata pelajaran
yang dibagikan pada setiap tugas-tugas dan ujian-ujian suatu mata
pelajaran. Untuk setiap mata pelajaran yang memiliki bobot tinggi maka
pembagian prosentasenya berbeda, misal matematika untuk Ru = 30 %,
Rt 40% dan 30%. Pembagian prosentase tersebut dibuat atas persetujuan
antara guru-guru matapelajaran yang bersangkutan.
58
3.1.2 Analisa Sistem Baru
3.1.2.1. Prosedur Sistem Informasi Sekolah
Gambar 3.3 Diagram Prosedur data pribadi siswa
Penjelasan arus data dari diagram prosedur di atas adalah sebagai berikut :
a. Setelah siswa mengisi form data pribadi yang diberikan wali kelas
kemudian dikumpulkan kembali untuk diinputkan ke dalam komputer.
b. Guru mata pelajaran menyerahkan nilai hasil ulangan siswa kepada wali
kelas.
59
c. wali kelas melakukan pemrosesan data pribadi dengan menggunakan
komputer, kemudian data yang sudah terisi akan disimpan dalam
database.
d. Wali kelas melakukan pemrosesan memasukan nilai sesuai nomor induk
dengan menggunakan komputer. Komputer secara otomatis akan
menghitung nilai mata pelajaran yang kemudian menghasilkan nilai
rapor. Nilai tersebut kemudian disimpan di database.
e. Data berupa nilai rapor dan data pribadi siswa yang sudah diproses
kemudian disimpan pada database di server yang siap untuk dicetak.
f. Data yang telah disimpan dan diproses sudah dapat dicetak dalam media
kertas.
g. Hasil cetakan berupa laporan data dan nilai siswa diserahkan kepada
kepala sekolah untuk ditandatangani.
h. Hasil cetakan nilai rapor diserahkan kepada siswa sesuai dengan nomor
induk.
3.1.2.2 Data Flow Diagram Sistem Informasi Sekolah
Dalam pengembangan sistem ini, untuk memudahkan pemakai sistem
dalam memahami sistem secara logika mengenai sistem informasi sekolah
yang ada, maka penggambaran arus datanya menggunakan diagram arus
data (Data Flow Diagram).
60
Diagram Level 0
Gambar 3.4 Diagram Arus Data Sistem Informasi Sekolah
Pada gambar diagram diatas terlihat bahwa entitas yang terlibat dalam
sistem ini adalah:
1. Wali kelas sebagai peng-input data nilai mata pelajaran, data pribadi
siswa, dan data pengamatan siswa dibidang nonakademis seperti
absensi, kepribadian, serta ekstrakurikuler. Dalam hal ini seorang wali
kelas selanjutnya dapat disebut sebagai pemakai sistem (user).
2. Guru bidang studi dalam hal ini adalah sebagai peng-input data nilai
mata pelajaran siswa. Untuk selanjutnya seorang guru juga dapat
disebut sebagai user tetapi dengan hak akses yang terbatas, akan tetapi
berbeda jika seorang guru juga menjabat sebagai wali kelas.
3. Siswa, sebagai pemberi data terhadap wali kelas maupun guru yang
berupa data pribadi dan nilai mata pelajaran yang diperoleh dari
ulangan-ulangan dan tugas-tugas, serta nilai diluar akademik. Seorang
61
siswa juga berhak mendapat laporan hasil belajarnya yang berupa
laporan nilai siswa atau sering disebut dengan rapor.
4. Kepala sekolah, dalam hal ini sebagai penerima dan memberikan
pengesahan terhadap laporan dari wali kelas. Laporan tersebut adalah
laporan data pribadi, laporan nilai siswa dan laporan perkembangan
siswa.
5. Koordinator sekolah adalah sebagai penerima laporan mengenai data
pribadi, nilai siswa dan data perkembangan siswa. Kemudian laporan
tersebut disimpan sebagai arsip.
Untuk diagram berjenjang dari diagram arus data tersebut di atas
maka akan tampak seperti terlihat dalam gambar di bawah ini:
Gambar 3.5 Diagram berjenjang
Dalam diagram berjenjang tersebut kemudian dibuat sketsa DFD
untuk overview diagram dari level 0 sampai level 1 berdasarkan pada
diagram diatas. Pada level ini terdapat tiga operasi pengolahan yaitu
62
mengenai pemrosesan data siswa meliputi merekam data pribadi, data nilai
dan perkembangan terhadap proses belajar mengajar siswa. Kemudian
adalah proses membuat laporan yang dibuat secara terpisah antara data
pribadi siswa, dana nilai, dan data perkembangan siswa. Dan yang terakhir
adalah mengenai pencetakan laporan yang berupa printout dan tampilan
pada layar monitor. Diagram tersebut dapat dilihat di bawah ini:
Diagram Level 0
Gambar 3.6 Diagram arus data level 0 Sistem Informasi Sekolah
63
Diagram Level 1, proses 1
Gambar 3.6 Diagram Arus Data Level 1, proses 1
Diagram Level 1, proses 2
Gambar 3.7 Diagram Arus Data Level 1, proses 2
64
Diagram Level 1, proses 3
Laporan data pribadi
Laporan perkembangan
Gambar 3.8 Diagram Arus Data Level 1, proses 3
Dari diagram di atas selanjutnya akan dibuat kamus data arus
datanya. Untuk kamus data tersebut dapat dilihat sebagai berikut:
KAMUS DATA : ARUS DATA
Kamus Data : Level 1, proses 1;1.1P
Untuk Proyek : SD Tarakanita Bumijo Yogyakarta
Sistem : Desain DAD dari usulan sistem baru untuk sistem informasi
sekolah
Bentuk Data : Dokumen cetak komputer, dan tampilan layar monitor
Periode : Semester, tahunan
Nama Arus Data : Masukkan data pribadi, nilai dan pengamatan terhadap siswa
Alias : Rekam Data
Arus data : Wali kelas dan guru � 1.1p;1.1p�F1,F2, F3
Penjelasan : Dari wali kelas masukan data pribadi siswa, nilai,
pengamatan. Diproses 1.1P, dari proses 1.1P data dipecah,
dan disimpan pada bagian yang berbeda. Untuk data pribadi
disimpan di F1, data nilai di F2, dan data pengamatan
disimpan di F3. untuk guru bidang studi hanya memasukkan
nilai mata pelajaran dan nilai ekstrakurikuler.
Struktur data :
65
Kamus Data: Level 1, proses 1.2P
Nama Arus Data : Edit data pribadi, nilai dan hasil pengamatan terhadap siswa
Bentuk Data : Dokumen cetak komputer, dan tampilan layar monitor
Alias : Edit Data
Periode : Harian
Arus data : F1 � 1.2P;1.2P�F1;F2�1.2P;1.2P�F2; F3�1.2P;1.2�F3.
Penjelasan : pada proses mengedit data diambil dari F1, F2, F3 untuk
diproses 1.2P.setelah selesai diedit kemudian disimpan pada
masin-masing file penyimpan. F1 untuk data pribadi siswa,
F2 data nilai siswa, dan F3 adalah hasil pengamatan terhadap
siswa
Struktur data :
Kamus Data: level1, proses2
Nama Arus Data : Membuat laporan tahunan dan semester
Bentuk Data : Dokumen cetak komputer, dan tampilan layar monitor
Alias : Laporan data pribadi, nilai dan hasil pengamatan terhadap
siswa
Periode : tiap semester, dan tahunan
Arus data : F1 � 2.1P;F2�2.2P;F3�2.3P
No Nama Item Data Type Lebar Keterangan
1 Kd_ Guru C 8 Kode guru
2 NIS C 6 Kode siswa
3 Kd_mata pelajaran C 10 Kode mata pelajaran
4 Kd _Kelas C 10 Kode kelas
5 Nama C 50 Nama siswa
6 TTL D 30 Tempat tanggal lahir
7 Alamat C 50 Alamat siswa
8 Mata pelajaran C 30 Nama mata pelajaran
9 Nilai C 4,1 Nilai per mata pelajaran
No Nama Item Data Type Lebar Keterangan
1 Kd_ Guru C 8 Kode guru
2 NIS C 6 Kode siswa
3 Kd_mata pelajaran C 10 Kode mata pelajaran
4 Kd _Kelas C 10 Kode kelas
5 Nama C 50 Nama siswa
6 Mata pelajaran C 30 Nama mata pelajaran
7 Nilai C 4,1 Nilai per mata pelajaran
66
Penjelasan : Untuk membuat laporan semester dan tahuan, yaitu proses
2.1P mengambil data pribadi dari F1. 2.2P mengambil data
nilai dari F2, dan 2.3.P mengambil data hasil pengamatan
terhadap siswa dari F3.
Struktur data :
Kamus Data: level1, proses3;3.1P
Nama Arus Data : Mencetak Laporan tahunan dan semester untuk data pribadi,
nilai dan
pengamatan terhadap siswa
Bentuk Data : Dokumen Cetak komputer, dan tampilan layar monitor
Alias : Cetak laporan data pribadi, nilai dan hasil pengamatan
terhadap siswa
Periode : tiap semester, dan tahunan
Arus data : F1 � 3.1P�wali kelas, kepala sekolah, koordinator sekolah
Penjelasan : Untuk mencetak laporan semester dan tahunan pada data
pribadi siswa, yaitu data diambil dari F1. kemudian pada 3.1P
diproses untuk dicetak dan didistribusikan kepada, wali kelas,
kepala sekolah. Untuk koordinator sebenarnya mendapat
cetakan tersebut dari kepala sekolah, sebagai bentuk laporan.
Struktur data :
No Nama Item Data Type Lebar Keterangan
1 Kd_ Guru C 8 Kode guru
2 NIS C 6 Kode siswa
3 Kd_mata pelajaran C 10 Kode mata pelajaran
4 Kd _Kelas C 10 Kode kelas
5 Nama C 50 Nama siswa
6 Mata pelajaran C 30 Nama mata pelajaran
7 Nilai N 4,1 Nilai per mata pelajaran
8 Pengamatan C 2 Hasil pengamatan guru terhadap
siswa selama mengajar
No Nama Item Data Type Lebar Keterangan
1 Kd_ Guru C 8 Kode guru
2 NIS C 6 Kode siswa
3 Kd_mata pelajaran C 10 Kode mata pelajaran
4 Kd _Kelas C 10 Kode kelas
5 Nama C 50 Nama siswa
6 TTL D 30 Tempat tanggal lahir
7 Alamat C 50 Alamat siswa
8 Jenis kelamin C 6
67
Kamus Data: level1, proses3;3.2P
Nama Arus Data : Mencetak laporan tahunan dan semester
Bentuk Data : Dokumen cetak komputer, dan tampilan layar monitor
Alias : Cetak laporan data pribadi, nilai dan hasil pengamatan
terhadap siswa
Periode : tiap semester, dan tahunan
Arus data : F2 � 3.2P�siswa, wali kelas, kepala sekolah, koordinator
sekolah.
Penjelasan : Untuk mencetak laporan semester dan tahunan pada data nilai
siswa, yaitu data diambil dari F2. kemudian pada 3.1P diproses
untuk dicetak kemudian didistribusikan kepada siswa sendiri,
wali kelas, kepala sekolah. Untuk koordinator sebenarnya
mendapat cetakan tersebut dari kepala sekolah, sebagai bentuk
laporan.
Struktur data :
Kamus Data: level1, proses3:3.3P
Nama Arus Data : Mencetak laporan tahunan dan semester
Bentuk Data : Dokumen cetak komputer, dan tampilan layar monitor
Alias : Cetak laporan data pribadi, nilai dan hasil pengamatan
terhadap siswa
Periode : tiap semester, dan tahunan
Arus data : F3� 3.3P�siswa, wali kelas, kepala sekolah, koordinator
sekolah
Penjelasan : Untuk mencetak laporan semester dan tahunan pada data
pengamatan perkembangan siswa, yaitu data diambil dari F3.
Kemudian pada 3.3P diproses untuk dicetak kemudian
didistribusikan kepada siswa sendiri, wali kelas, kepala
sekolah. Untuk koordinator sebenarnya mendapat cetakan
tersebut dari kepala sekolah, sebagai bentuk laporan
Struktur data :
No Nama Item Data Type Lebar Keterangan
1 Kd_ Guru C 8 Kode guru
2 NIS C 6 Kode siswa
3 Kd_mata pelajaran C 10 Kode mata pelajaran
4 Kd _Kelas C 10 Kode kelas
5 Nama C 50 Nama siswa
6 Mata pelajaran C 30 Nama mata pelajaran
7 Nilai N 4,1 Nilai per mata pelajaran
8 Pengamatan C 2 Hasil pengamatan guru terhadap
siswa selama mengajar
68
3.2. Desain Sistem
Untuk mengatasi beberapa masalah atau kekurangan yang ada, maka
diusulkan beberapa alternatif yang diharapkan dapat mengatasi kekurangan
yang ada. Adapun alternatif yang diajukan adalah sebagai berikut :
1. Pendokumentasian
Bertujuan apabila sistem yang ada akan dikembangkan, dengan adanya
pendokumentasian yang baik diharapkan mempermudah dalam
memahami sistem yang telah ada sebelum dilanjutkan pada tahap
analisis sehingga lebih efektif dan efisien apabila ditinjau dari segi
kinerja serta meminimumkan kesalahan (error). Beberapa usulan yang
diajukan adalah sebagai berikut :
a Penjelasan yang ditulis harus efektif dan jelas.
b Pendokumentasian ditulis dalam bahasa yang bagus dan menarik
sehingga mudah untuk dibaca dan dipahami.
2. Desain sistem
Merancang sebuah desain secara friendly memudahkan user dalam
melakukan pengolahan transaksi dan merancang sebuah sistem yang
No Nama Item Data Type Lebar Keterangan
1 Kd_ Guru C 8 Kode guru
2 NIS C 6 Kode siswa
3 Kd_mata pelajaran C 10 Kode mata pelajaran
4 Kd _Kelas C 10 Kode kelas
5 Nama C 50 Nama siswa
6 Mata pelajaran C 30 Tempat tanggal lahir
7 Nilai N 4,1 Alamat siswa
8 Kepribadian L 1 Bentuk optional untuk Baik, Cukup, Kurang
69
handal untuk meminimumkan kesalahan (error). Beberapa usulan yang
diajukan adalah sebagai berikut :
a. Validasi data harus benar
b. Desain input harus jelas
c. Desain output mudah dipahami
d. Penggunaan teknologi yang sesuai dengan kebutuhan, ini meliputi
beberapa hal sebagai berikut :
� Pemilihan hardware yang tepat dan sesuai dengan kebutuhan
� Pemilihan software yang sesuai kebutuhan.
� Pemilihan database engine yang disesuaikan dengan kebutuhan.
Data yang diinputkan bisa berjumlah ratusan ribu dan itu tidak
boleh ada data yang keliru dalam penginputan data, serta data
yang ada harus dapat terekam semua, tidak boleh ada yang
kurang apalagi hilang. Hal seperti inilah yang hendaknya menjadi
dasar pemikiran atau pertimbangan dalam penentuan kebutuhan
akan pemilihan database engine
3. Pengolahan Data
Bertujuan agar data yang masuk benar-benar valid dan dapat
dipertanggungjawabkan kebenarannya. Usulan yang diajukan adalah
sebagai berikut :
a Adanya validasi yang didefinisikan dengan baik. Contoh : 1 untuk
jenis kelamin laki-laki dan 2 untuk jenis kelamin perempuan.
Apabila operator salah memasukan nilai (bukan nilai 1 atau 2) maka
70
komputer langsung dapat mendeteksi kesalahan yang dilakukan dan
kemudian mengeluarkan pesan kesalahan sampai operator
memasukan nilai yang tepat.
b Harus diperhatikan ukuran field-fieldnya, disesuaikan dengan
kebutuhan yang ada sehingga data yang dimasukan dapat terekam
semua.
4. Untuk peningkatan prestasi kerja pengguna dalam hal ini guru, kepala
sekolah, dan koordinator sekolah dilakukan pelatihan secara rutin, misal
3 bulan sekali.
5. Aplikasi yang dibuat digunakan oleh beberapa bagian, antara lain :
- Wali kelas
- Guru matapelajaran
- Kepala Sekolah dan Koordinator
6. Sistem ini akan mengakomodasi 5 user. User dan interaksinya dapat
dilihat pada tabel 3.1
Tabel 3.1 User dan interksinya dengan sistem
User Interaksinya dengan sistem
Siswa Tidak ada interaksi dengan sistem
Admin Pengguna aplikasi
Guru Pengguna aplikasi
Wali Kelas Pengguna aplikasi
Kepala Sekolah Pengguna aplikasi
koordinator Pengguna aplikasi
7. Otoritas (hak akses) pengguna aplikasi. Penggambaran otoritas
pengguna aplikasi dapat dilihat pada tabel 3.2
71
Tabel 3.2 Otoritas pengguna aplikasi untuk proses transaksi data
Form Admin Guru Wali
Kelas
Kepala
Sekolah
Koord.
Sekolah
Login Login Login Login Login Login
Input _Cari_Ubah_Hapus
data Guru
B,E,T,S B,E,T,S B,E,T,S B B
Input _Cari_Ubah_Hapus
data Siswa
B,E,T,S B B,E,T,S B B
Input _Cari_Ubah_Hapus
data Wali
B,E,T,S B B,E,T,S B B
Input _Cari_Ubah_Hapus
data Kelas
B,E,T,S B B,E,T,S B B
Input _Cari_Ubah_Hapus
data Mapel
B,E,T,S B B B B
Input _Cari_Ubah_Hapus
data Ekstra
B,E,T,S B,E,T,S B,E,T,S B B
Input _Cari_Ubah_Hapus
nilai Mapel
B,E,T,S B,E,T,S B,E,T,S B B
Input _Cari_Ubah_Hapus
nilai Pengembangan
B,E,T,S B,E,T,S B,E,T,S B B
Input _Cari_Ubah_Hapus
Bimbingan
B,E,T,S B,E,T,S B,E,T,S B B
Input _Cari_Ubah_Hapus
Jadwal Mapel
B,E,T,S B B B B
Input _Cari_Ubah_Hapus
Absensi Siswa
B,E,T,S B B,E,T,S B B
3.2.1 Desain Sistem Secara Umum
Perancangan atau sering disebut juga desain, memiliki tujuan yaitu
untuk memberikan gambaran secara umum kepada user mengenai sistem
yang baru. Desain ini merupakan bagian dari perancangan keseluruhan dari
suatu pengembangan sistem, dan juga merupakan persiapan dari desain yang
lebih terinci lagi.
3.2.1.1 Desain Database Secara Umum
Dalam perancangan database secara umum ini telah dihasilkan file-
file atau tabel baru berdasarkan gambaran dalam diagram arus data. File atau
72
tabel ini memiliki fungsi sebagai sumber data bagi sistem informasi yang
akan dikembangkan. Tabel ini dibagi dalam tiga tipe yaitu tabel induk yang
tetap terus ada selama hidup dari sistem informasi, tabel transaksi yang
digunakan untuk merekam data hasil dari suatu transaksi yang terjadi dan
tabel laporan yang berisi informasi yang akan ditampilkan. File-file tersebut
adalah sebagai berikut:
Kode file
Nama file Tipe Media Organisasi Filed kunci
F01 Guru Indeks Harddisk Relational Kd_Guru
F02 Siswa Indeks Harddisk Relational NIS
F03 Matapelajaran Indeks Harddisk Relational Kd_MP
F04 Kelas Indeks Harddisk Relational NIS
F05 Ekstrakurikuler Indeks Harddisk Relational NIS
F06 Wali kelas Transaksi Harddisk Relational Kd_Guru
F07 Bimbingan siswa Transaksi Harddisk Relational NIS
F08 Jadwal pelajaran Transaksi Harddisk Relational Kd_MP
F09 Absensi Siswa Transaksi Harddisk Relational NIS
F10 Nilai siswa Transaksi Harddisk Relational NIS
F11 Pengembangan Transaksi Harddisk Relational NIS
3.2.1.2 Desain Masukkan Secara Umum
Desain masukkan secara umum adalah bagian dimana penulis
mengidentifikasikan terlebih dahulu data-data yang menjadi masukkan bagi
sistem. Kemudian hasil dari identifikasi tersebut akan dikembangkan dan
didesain lebih rinci lagi dalam tahap perancangan masukkan secara rinci.
Desain masukkan tersebut adalah sebagai berikut:
Kode Input
Nama Input Bentuk input
Sumber Input
Jml Distribusi Alat Input
Periode
In01 Data guru Dokumen dasar
internal 1 Kepala sekolah keyboard Tahun ajaran
In02 Data siswa Dokumen dasar
internal 2 Wali kelas dan Kepala sekolah
Keyboard Tahun ajaran
In03 Data mata pelajaran
Dokumen dasar
internal 1 Wali kelas Keyboard Tahun ajaran
In04 Data kelas Dokumen dasar
internal 1 Wali kelas Keyboard Tahun ajaran
73
In05 Data ekstrakurikuler
Dokumen dasar
internal 1 Wali kelas keyboard Tahun ajaran
In06 Data Wali Kelas Dokumen dasar
internal 2 Wali kelas dan kepala sekolah
keyboard Tahun ajaran
In07 Data bimbingan siswa
Dokumen dasar
internal 2 Wali kelas dan Kepala sekolah
Keyboard Bulanan
In08 Data jadwal pelajaran
Dokumen dasar
internal 1 Wali kelas Keyboard Tahun ajaran
In09 Data absensi siswa
Dokumen dasar
internal 1 Wali kelas Keyboard Bulanan
In10 Data nilai siswa Dokumen dasar
internal 2 Wali kelas dan Kepala sekolah
keyboard semester
In11 Data pengembangan
Dokumen dasar
Internal 1 Wali kelas Keyboard semester
3.2.1.3 Desain Keluaran Secara Umum
Rancangan keluaran secara umum pada sistem yang diusulkan ini
adalah rancangan output sistem yang berupa tampilan dalam layar monitor
berbentuk jendela (window), dan berupa printout dengan media kertas.
Desain tersebut adalah sebagai berikut:
Kode
output
Nama output Tipe Format Media /
Alat
Jml Distribusi periode
A-01 Data guru Internal Tabel Kertas,
monitor
1 Kepala sekolah Tahun
ajaran
A-02 Data Siswa Internal Tabel Kertas,
monitor
2 Wali kelas dan
Kepala sekolah
Tahun
ajaran
A-03 Mata pelajaran Internal Tabel Kertas,
monitor
1 Wali kelas Tahun
ajaran
A-04 Data Kelas Internal Tabel Kertas,
monitor
1 Wali kelas Tahun
ajaran
A-05 Ekstrakurikuler Internal
Eksternal
Tabel Kertas,
monitor
1 Wali kelas Tahun
ajaran
A-06 Bimbingan siswa Internal Tabel Kertas,
monitor
2 Siswa dan Kepala
sekolah
bulanan
A-07 Jadwal pelajaran Internal Tabel Kertas, monitor
1 Wali kelas Tahun ajaran
A-08 Absensi Siswa Internal Tabel, grafik
Kertas, monitor
1 Wali kelas bulanan
A-09 Nilai siswa Internal Eksternal
Tabel, grafik
Kertas, monitor
3 Siswa, wali kelas dan Kepala sekolah
semester
A-10 Pengembangan Internal
Eksternal
Tabel Kertas,
monitor
1 Wali kelas semester
74
3.2.2 Desain Sistem Secara Rinci
3.2.2.1 Desain Data Entry
Untuk mengefektifkan data agar lebih efisien dan akurat maka
dibutuhkan pengkodean. Tujuan dari pengkodean ini adalah agar dalam
perancangan sistem terutama dalam relasi antar tabel tidak terjadi
pemborosan ruang, karena kode berfungsi sebagai primary key. Aturan
pengkodean sebagian dengan menggunakan mnemonic code dan yang lain
dengan menggunakan penomoran biasa.
a. Data Siswa
Pada saat siswa diterima sebagai siswa sekolah dasar maka ia akan
mendapat sebuah nomor induk. Nomor tersebut terdiri dari empat digit.
Dan terus dipakai sampai siswa lulus dari sekolah. Contoh nomor induk
beserta nama siswa adalah 2195 : Laurentia Cindy G.W.
b. Data Guru
Dalam tabel data guru digunakan field bantuan berupa kode yang juga
digunakan sebagai primary key. Untuk penulisan kode guru adalah
sebagai berikut :
Contoh : GRTRK-0011, GR0012
Keterangan: GRTRK adalah kode untuk guru,
0011 adalah nomor urut, terdiri dari 4 digit dari 0000 –
9999.
75
c. Data Kelas
Karena SD Tarakanita Bumijo terdapat dua sekolah dasar dalam satu
komplek dan diparalel menjadi beberapa paralel maka pengkodean
dalam tabel kelas berdasarkan SD dan kelas.
Contoh : SDI-1A1, SDI-6A2,
Keterangan : SDI, SDII menerangkan nama SD-nya, kemudian 1A1,
5A2, dan 5C menunjukan kelasnya, dan A1 dan A2 adalah
kelas pararel dari SDI.
d. Data Mata pelajaran
Dalam tabel mata pelajaran untuk field bantuannya yaitu kode mata
pelajaran sekaligus sebagai primay key. Untuk pengkodean mata
pelajaran sekolah dasar
Contoh : MPSD1-0123, MPSD6-5678
Keterangan: MPSD1 dan MPSD6, menunjukan matapelajaran sekolah
dasar kelas. Dan 0123, 5678 adalah nomor urut mata
pelajaran, untuk mata pelajaran muatan lokal, di belakang
nomor diberi kode ML, contoh MPSD5-4345ML. Dan
dalam pengkodean ini dibuat blok-blok yaitu :
BLOK Kelompok
0000 – 0999
1000 – 1999
2000 – 2999
3000 – 3999
4000 – 4999
5000 – 5999
Kelas 1
Kelas 2
Kelas 3
Kelas 4
Kelas 5
Kelas 6
76
e. Data Ekstrakurikuler
Sama halnya dengan tabel-tabel di atas, pada tabel ekstrakurikuler
memiliki field bantuan yang atributnya sebagai primary key yaitu kode
ektrakuriler. Contoh : EKS-0011
Keterangan : EKS menunjukkan ekrakurikuler, dan 0011 menunjukan
nomor urut nama ektrakurikuler
3.2.2.2 Desain Database Secara Rinci
Dalam perancangan database secara rinci, yang ditekankan yaitu
pada entity dan relasi antar tabel. Dengan menggunakan diagram E-R (Entity
Relationship diagram) pembacaan arus data dan file datanya akan lebih
mudah. Mengacu pada perancangan database dengan mempertimbangkan
kebutuhan pengguna maka digunakan conceptual requirement.
3.2.2.2.1 Conseptual Design
Pada rancangan konseptual ini menggunakan diagram E-R (Entity
Relationship diagram) seperti yang tampak pada gambar di bawah ini.
77
78
3.2.2.2.2 Logical Design
Dalam perancangan database pada bagian rancangan secara logika
menggunakan relational model, berdasarkan relasi antar tabel.
Gambar 3.10 Logical Design dengan menggunakan relasi antar tabel
3.2.2.2.3 Physical Design
Setelah tahapan perancangan database dari pembuatan E-R diagram,
logical design, kemudian adalah perancangan secara fisik. Rancangan ini
mengenai tabel-tabel yang akan dikembangkan dari tabel utama.
Tabel utama tersebut adalah sebagai berikut:
79
1. Tabel Guru
Fungsi : untuk menyimpan data identitas Guru
Tabel 3.1 Tabel Guru
2. Tabel Kelas
Funsi : sebagai kamus data Kelas
Tabel 3.2 Tabel kelas
80
3. Tabel Mata pelajaran
Fungsi : Sebagai kamus data Mata pelajaran
Tabel 3.4 Tabel mata pelajaran
4. Tabel Ekstrakurikuler
Fungsi : Untuk menyimpan data Ekstrakurikuler
Tabel 3.5 Tabel Ekstrakurikuler
81
5. Tabel Siswa
Fungsi : untuk menyimpan data siswa
Tabel 3.6 Tabel Siswa
Selain tabel utama di atas terdapat juga tabel bantu yaitu tabel
pengembangan , tabel nilai, tabel bimbingan, tabel absensi dan tabel
jadwal pelajaran. Tabel pengembangan adalah tabel yang menerangkan
mengenai kondisi siswa di kelas. Tabel terdiri dari field kepribadian, dan
catatan siswa. Untuk field kunci diambil dari field NIS, dan Kd_kelas.
82
Sedangkan untuk tabel nilai ini adalah tabel bantu untuk memasukkan
nilai siswa dan menghitung nilai akhir yang akan dimasukan ke dalam
rapor.
3.2.2.3 Desain Masukkan Secara Rinci
Dalam tahapan desain ini dibuat rancangan mengenai user interface
masukkan data dalam bentuk form. Desain user interface merupakan desain
yang menggambarkan bentuk rancangan form atau antar muka dalam bentuk
form yang akan digunakan pada sistem informasi sekolah. Desain user
interface dapat dilihat pada gambar 3.11 – 3.22
1. Form Login
Gambar 3.11 desain LOGIN SISTEM
83
2. Form Input Data Guru
Gambar 3.12 desain input data guru
3. Form Input Data Siswa
Gambar 3.13 desain input data siswa
84
4. Form Input Data Wali Kelas
Gambar 3.14 desain input data wali kelas
5. Form Input Data Mata Pelajaran
Gambar 3.15 desai input data guru
85
6. Form Input Data Ekstrakurikuler
Gambar 3.16 desain input data guru
7. Form Input Data Kelas
Gambar 3.17 desain input data kelas
86
8. Form Input Nilai Mata Pelajaran
Gambar 3.18 desain input nlai Mata pelajaran
9. Form Input Nilai Pengembangan Diri
Gambar 3.19 desain input nilai pengembangan Diri
87
10. Form Input Bimbingan
Gambar 3.20 desain inputBimbingan
11. Form Input Jadwal Mata Pelajaran
Gambar 3. 21 desain inputJadwal Mata Pelajaran
88
12. Form Input Absensi
Gambar 3.22 desain input Absensi
3.2.2.4 Desain Keluaran Secara Rinci
Desain keluaran ini meliputi tampilan data pribadi guru, data pribadi
siswa, dan data nilai secara keseluruhan yang akan ditampilkan dan dicetak.
Untuk tampilan nilai dan data absensi ditambah dengan tampilan grafik.
Tampilan data lainnya yang mendukung adalah data kelas, data mata
pelajaran, data ektrakurikuler, data wali kelas, pengamatan, jadwal
pelajaran, dan presensi siswa. Dalam menghasilkan output berupa laporan
dalam implementasi, pengguna diberi kebebasan untuk memilih field-field
data yang ingin ditampilkan.mengenai laproan akan dibahas lebih lanjut
pada BAB IV. Di bawah ini beberapa contoh tampilan dari desain keluaran.
89
Gambar 3.23 desain output tampilan data guru
Gambar 3.24 desain output tampilan data siswa
90
Gambar 3.25 desain output nilai siswa
Gambar 3.26 desain output bimbingan siswa
91
Gambar 3.27 desain output grafik nilai rata-rata kelas
3.2.2.5 Desain Menu
Rancangan masukkan, keluaran, maupun tampilan di kendalikan dari
suatu menu yang bernama sistem informasi sekolah. Seperti pada tampilan
perangkat lunak lainnya pada menu utama ini juga terdapat item menu
bernama bantuan. Item menu ini berfungsi seperti manual book. Rancangan
menu utama sistem informasi sekolah seperti terlihat pada gambar di bawah
ini.
Tabel 3.6 Menu utama
sedangkan sub menu dari bagian menu utama tersebut adalah sebagai
berikut:
92
1. File
- Database; masukkan data guru, data siswa, data mata pelajaran,
data ekstrakurikuler, data wali kelas, dan kelas.
- Input nilai: nilai mata pelajaran, pengembangan diri.
- Bimbingan
- Jadwal mata pelajaran
- Absensi
- Ubah Password
2. Laporan
Pada menu Laporan, menampilkan data-data yang akan dilaporkan,
data tersebut adalah data guru, siswa, nilai, serta hasil pengamatan
terhadap siswa, juga dilengkapi dengan grafiknya.
3. Bantuan
Menu ini berisi tentang program, dan programer. Juga berfungsi untuk
membantu pengguna bila terdapat kesulitan dalam menggunakan
perangkat lunak tersebut.
3.2.2.6 Desain Teknologi Secara Terinci
Pada tahapan analisis telah disebutkan bahwa sistem yang baru akan
dibangun dengan menggunakan teknologi client-server. Adanya pemisahan
antar bagian yang menggunakan data yang sama serta tingkat kesibukkan
yang cukup tinggi antar bagian, maka sangat diperlukan adanya jaringan
komputer yang akan menguhubungkan antar bagian. Perincian tentang
perangkat-perangkat yang digunakan adalah sebagai berikut :
93
1. Perangkat Keras
Teknologi minimal yang akan digunakan meliputi beberapa bagian yaitu
perangkat keras untuk server dan client, serta perangkat lainnya yang
mendukung, dengan memanfaatkan laboratorium komputer yang sudah
ada. Untuk piranti-pirantinya adalah sebagai berikut:
a. Server
- Processor kelas Celleron 1 ,6G MHz atau lebih
- Harddisk 80 GB 7200rpm
- Memori 512MB DDR atau lebih
- VGA 32MB
- CD-ROM 52x atau CD-RW (sebagai sarana untuk memback
up data ke dalam bentuk CD.)
- LAN card.
b. Client
- Processor kelas Celleron 1,6G MHz atau lebih
- Harddisk 20 GB 7200rpm
- Memori 128 MB DDR atau lebih
- VGA 32MB
- CD-ROM 52x
- LAN card.
2. Perangkat Lunak
Perangkat lunak yang digunakan untuk mengimplementasikan desain
tersebut di atas adalah sebagai berikut:
94
a. Server
- Sistem Operasi Windows NT atau Windows 2000 Profesional
- Database engine SQL Server 2000
b. Client
- Sistem operasi Win9x / win 2000
- Aplikasi Visual Basic 6.0
95
BAB IV
IMPLEMENTASI DAN ANALISIS IMPLEMENTASI
Pada bab ini akan dijelaskan lebih lanjut mengenai implementasi dari
perancangan yang telah dibuat pada bab sebelumnya. Progam yang dihasilkan
memuat menu masukan data, pencetakan hasil serta penghapusan data serta
pencarian data.
4.1 Hirarki Modul
Hirarki modul memiliki fungsi untuk mengetahui tingkatan dari sistem yang
dibuat serta siapa saja yang terlibat didalamnya. Gambar 4.1-4.6 berikut
merupakan hirarki modul dari sistem yang ada :
96
4.2 Membuat Antar Muka
Antar muka merupakan sarana komunikasi antara user dengan sistem. Antar
muka yang terdapat sistem ini mempunyai kegunaan berbeda.
4.2.1 Form Login
Pada saat user pertama kali menjalankan aplikasi maka sistem akan
menampilkan form login sebagai hak akses yang merupakan batasan-batasan
user (pemakai sistem) terhadap sistem.
97
Gambar 4.7 Login Sistem
Pada gbr 4.1 terdapat 5 user yang diijinkan untuk melakukan login yaitu:
Admin, Guru, Wali Kelas, Kepala Sekolah, dan koordinator, yang masing-masing
user mempunyai hak akses yang berbeda. Kode Program untuk gambar 4.1 agar
pengguna dapat melakukan akses ke sistem adalah sebagai berikut :
4.2.2 Form Menu Induk
Private Sub cmdOK_Click() If Trim(cmbUserType.Text) = "" Or Trim(txtusername.Text) = "" Or Trim(txtpassword.Text) =
"" Then
MsgBox "Isikan data tipe user, username, dan password secara lengkap...", vbInformation,
"Peringatan"
cmbUserType.SetFocus
Else With DESekolah.rsdtUser
.MoveFirst
Do While Not .EOF
If Trim(!UserName) = Trim(txtusername.Text) And Trim(!Password) =
Trim(txtpassword.Text) And Trim(!UserType) = Trim(cmbIDType.Text) Then
Unload Me frmMenuInduk.Show
Else
counter = counter + 1
If counter = 3 Then
MsgBox "Proses login gagal." + vbNewLine + "Hubungi Administrator untuk
informasi user Anda...", vbInformation, "Peringatan"
Unload Me
Else
MsgBox "PROSES LOGIN GAGAL." + vbNewLine + " Anda hanya mempunyai
tiga kesempatan. Periksa tipe user, username, dan password Anda...", vbInformation,
"Peringatan!!!" cmbUserType.Text = ""
cmbIDType.Text = ""
txtusername.Text = ""
txtpassword.Text = ""
cmbUserType.SetFocus
End If End If
.MoveNext
Loop
End With
98
Form Menu Induk merupakan form halaman utama, form ini memuat
menu-menu yang dapat diakses oleh semua user, namun demikian tidak
semua user dapat mengakses secara penuh. Terdapat 11 Menu pilihan pada
form Menu Induk ini, yaitu form input data berupa data guru, data siswa,
Wali Kelas, Mata pelajaran, Data Kelas, Ekstrakurikuler. Kemudian form
input nilai yang di bagi menjadi dua bagian yaitu nilai mata pelajaran, dan
data perkembangan siswa. Sub menu utama lainnya yang menunjang
yaitu, form Absensi, Bimbingan, dan form jadwal mata pelajaran.
Gambar 4.8 tampilan Menu Induk
4.2.2 Form Input Data Guru
Form input data guru memiliki fungsi sebagai kamus data untuk
menyimpan data-data guru.
99
Gambar 4.9 tampilan form Input data guru
Form input data guru ini diisikan oleh Admin. Untuk proses entry data,
Admin menekan tombol tambah, dan setelah selesai mengisi data, maka dapat
disimpan. Namun jika terjadi kesalahan dan data telah tersimpan, maka untuk
mengubah cukup dengan menekan tombol edit. Jika kita hendak mencari data
maka pada form input data guru, disediakan beberapa kategori misalnya; Nama,
Kode dan NIP. Demikian pula untuk menghapus maka admin cukup menekan
tombol Hapus, maka data yang dikehendaki akan terdapus dari database. Listing
program dari tombol tambah, simpan, edit, cari dan hapus pada form input data
guru adalah sebagai berikut:
100
1. Listing tambah
Private Sub cmdtambah_Click()
Dim kode As String
cmdtambah.Visible = False
cmdSimpanAdd.Visible = True
cmdEdit.Visible = True cmdEdit.Enabled = False
cmdSimpanEdit.Visible = False
cmdHapus.Enabled = False
cmdkeluar.Visible = False
cmdBatalEdit.Visible = False cmdBatalAdd.Visible = True
cmdmasukfoto.Enabled = True
dftGuru.Enabled = False
With rsGuru
If .RecordCount = 0 Then txtkdguru.Text = "GRTRK-1"
Else
.MoveLast
kode = "GRTRK-" + Trim(Str(Val(Mid(Trim(!kode_guru), 7)) + 1))
txtkdguru.Text = Trim(kode)
End If End With
enabled_entry
clear_entry
txtnip.SetFocus
End Sub
Private Sub dftGuru_Click()
Dim com_dftGuru As ADODB.Command
Dim rsGuru2 As ADODB.Recordset
Set com_dftGuru = New ADODB.Command
Set rsGuru2 = New ADODB.Recordset
With com_dftGuru
.ActiveConnection = con_Tarakanita
.CommandText = "SELECT * FROM guru where kode_guru='" + Trim(dftGuru.TextMatrix(dftGuru.Row, 0)) + "'"
.CommandType = adCmdText
End With
With rsGuru2
.CursorLocation = adUseClient
.CursorType = adOpenStatic
.LockType = adLockOptimistic
.Open com_dftGuru
End With
With rsGuru2
txtkdguru.Text = Trim(!kode_guru)
txtnip.Text = Trim(!NIP)
txtnama.Text = Trim(!Nama)
txttempat.Text = Trim(!Tempat_Lahir)
cmbTglLahir.Value = !Tanggal_Lahir
If UCase(Trim(!Jenis_Kelamin)) = "LAKI-LAKI" Then
optlaki.Value = True
txtJenisKelamin.Text = "LAKI-LAKI"
101
Else
optperempuan.Value = True
txtJenisKelamin.Text = "PEREMPUAN'"
End If
txtalamat.Text = Trim(!ALAMAT)
If UCase(Trim(!Status_Kawin)) = "SUDAH" Then
optsudah.Value = True
txtStatusKawin.Text = "SUDAH"
Else optbelum.Value = True
txtStatusKawin.Text = "BELUM"
End If
txtjmlanak.Text = Trim(!Jumlah_Anak)
txtsk.Text = Trim(!NO_SK)
txtthnsk.Text = Trim(!Tahun_SK)
txttmtguru.Text = Trim(!TMT_menjadi_Guru)
txtlmberkarya.Text = Trim(!Lama_Berkarya)
cmbstatuspeg.Text = Trim(!Status_Pegawai)
txtasalpt.Text = Trim(!Asal_PT)
txtnoijasah.Text = Trim(!No_Ijasah)
cmbtingkat.Text = Trim(!Tingkat_Pendidikan) txtjurusan.Text = Trim(!Jurusan)
txtthnlulus.Text = Trim(!Tahun_Lulus)
txtjabatan.Text = Trim(!Jabatan)
txtkelas.Text = Trim(!Kelas)
txtbidstudi1.Text = Trim(!bid_studi1_kelas) txtbidstudi2.Text = Trim(!bid_studi2_kelas)
txtbidstudi3.Text = Trim(!bid_studi3_kelas)
txtbidstudi4.Text = Trim(!bid_studi4_kelas)
txtjammengajar.Text = Trim(!Total_Mengajar)
End With
End Sub
2. Simpan Add dan Simpan Edit
Private Sub cmdSimpanAdd_Click()
If txtnip.Text = "" Or txtnama.Text = "" Or txtTempat.Text = "" Or txtJenisKelamin.Text = "" Or
txtAlamat.Text = "" _
Or txtStatusKawin.Text = "" Or txtsk.Text = "" Or txtthnsk.Text = "" Or txttmtguru.Text = "" _ Or txtlmberkarya.Text = "" Or txtgolruang.Text = "" Or cmbstatuspeg.Text = "" Or txtasalpt.Text
= "" Or txtnoijasah.Text = "" _
Or cmbtingkat.Text = "" Or txtjurusan.Text = "" Or txtthnlulus.Text = "" Or txtjabatan.Text = ""
Or txtkelas.Text = "" Or txtjammengajar.Text = "" Then
MsgBox "Lengkapi data-data Anda...", vbCritical, "Peringatan"
GoTo OK
Else
With rsGuru
.AddNew
!kode_guru = UCase(Trim(txtkdguru.Text))
!NIP = UCase(Trim(txtnip.Text))
!Nama = Trim(txtnama.Text) !Tanggal_Lahir = Trim(cmbTglLahir.Value)
!Tempat_Lahir = Trim(txtTempat.Text)
!Jenis_Kelamin = UCase(Trim(txtJenisKelamin.Text))
!ALAMAT = Trim(txtAlamat.Text)
!Status_Kawin = UCase(Trim(txtStatusKawin.Text))
!Jumlah_Anak = Trim(txtjmlanak.Text)
!NO_SK = Trim(txtsk.Text)
102
!Tahun_SK = Trim(txtthnsk.Text)
!Lama_Berkarya = Trim(txtlmberkarya.Text)
!Status_Pegawai = UCase(Trim(cmbstatuspeg.Text))
!TMT_menjadi_Guru = UCase(Trim(txttmtguru.Text))
!Golongan_Ruang = UCase(Trim(txtgolruang.Text))
!Asal_PT = Trim(txtasalpt.Text)
!No_Ijasah = Trim(txtnoijasah.Text)
!Tingkat_Pendidikan = UCase(Trim(cmbtingkat.Text))
!Jurusan = Trim(txtjurusan.Text) !Tahun_Lulus = Trim(txtthnlulus.Text)
!Jabatan = Trim(txtjabatan.Text)
!Kelas = Trim(txtkelas.Text)
!bid_studi1_kelas = Trim(txtbidstudi1.Text)
!bid_studi2_kelas = Trim(txtbidstudi2.Text)
!bid_studi3_kelas = Trim(txtbidstudi3.Text)
!bid_studi4_kelas = Trim(txtbidstudi4.Text)
!Total_Mengajar = Trim(txtjammengajar.Text)
' !Foto_Guru =
.Update
End With
IsiGrid
On Error GoTo Akhir
MsgBox "Data sudah disimpan...", vbInformation, "Informasi"
GoTo OK End If
Akhir:
MsgBox "Proses penyimpanan data guru gagal...", vbCritical, "Peringatan"
OK:
End Sub
Private Sub cmdSimpanEdit_Click()
Dim com_dftGuruEdit As ADODB.Command
Dim rsGuruEdit As ADODB.Recordset
If txtnip.Text = "" Or txtnama.Text = "" Or txtTempat.Text = "" Or txtJenisKelamin.Text = "" Or txtAlamat.Text = "" _
Or txtStatusKawin.Text = "" Or txtsk.Text = "" Or txtthnsk.Text = "" Or txttmtguru.Text = "" _
Or txtlmberkarya.Text = "" Or txtgolruang.Text = "" Or cmbstatuspeg.Text = "" Or txtasalpt.Text
= "" Or txtnoijasah.Text = "" _
Or cmbtingkat.Text = "" Or txtjurusan.Text = "" Or txtthnlulus.Text = "" Or txtjabatan.Text = ""
Or txtkelas.Text = "" Or txtjammengajar.Text = "" Then
MsgBox "Lengkapi data-data Anda...", vbCritical, "Peringatan"
GoTo OK
Else
Set com_dftGuruEdit = New ADODB.Command Set rsGuruEdit = New ADODB.Recordset
With com_dftGuruEdit
.ActiveConnection = con_Tarakanita
.CommandText = "UPDATE guru SET " & _
"NIP='" & UCase(Trim(txtnip.Text)) & "',NAMA='" & Trim(txtnama.Text) & "',Tanggal_Lahir=" & cmbTglLahir.Value & "," & _
"Tempat_Lahir='" & Trim(txtTempat.Text) & "',Jenis_Kelamin='" &
UCase(Trim(txtJenisKelamin.Text)) & "',ALAMAT='" & Trim(txtAlamat.Text) & "'," & _
"Status_Kawin='" & UCase(Trim(txtStatusKawin.Text)) & "',Jumlah_Anak='" &
Trim(txtjmlanak.Text) & "',NO_SK='" & Trim(txtsk.Text) & "'," & _
"Tahun_SK='" & Trim(txtthnsk.Text) & "',Lama_Berkarya='" & Trim(txtlmberkarya.Text) & "',Status_Pegawai='" & UCase(Trim(cmbstatuspeg.Text)) & "'," & _
103
"TMT_Guru='" & UCase(Trim(txttmtguru.Text)) & "',Golongan_Ruang='" &
UCase(Trim(txtgolruang.Text)) & "',Asal_PT='" & Trim(txtasalpt.Text) & "'," & _
"No_Ijasah='" & Trim(txtnoijasah.Text) & "',Tingkat_Pendidikan='" &
UCase(Trim(cmbtingkat.Text)) & "',Jurusan='" & Trim(txtjurusan.Text) & "'," & _
"Tahun_Lulus='" & Trim(txtthnlulus.Text) & "',Jabatan='" & Trim(txtjabatan.Text)
& "',Kelas='" & Trim(txtkelas.Text) & "'," & _
"bid_studi1='" & Trim(txtbidstudi1.Text) & "',bid_studi2='" &
Trim(txtbidstudi2.Text) & "',bid_studi3='" & Trim(txtbidstudi3.Text) & "'," & _
"bid_studi4='" & Trim(txtbidstudi4.Text) & "',Total_Mengajar='" & Trim(txtjammengajar.Text) & "'" & _
"WHERE kode_guru='" + Trim(txtkdguru.Text) + "'"
' !Foto_Guru =
.CommandType = adCmdText
End With
With rsGuruEdit
.CursorLocation = adUseClient
.CursorType = adOpenStatic
.LockType = adLockOptimistic
.Open com_dftGuruEdit
End With
With dftGuru
For i = 1 To .Rows - 1
If UCase(Trim(.TextMatrix(i, 0)) = UCase(Trim(txtkdguru.Text))) Then
.TextMatrix(i, 1) = UCase(Trim(txtnip.Text)) .TextMatrix(i, 2) = Trim(txtnama.Text)
.TextMatrix(i, 3) = Trim(txtAlamat.Text)
.TextMatrix(i, 4) = Trim(txtsk.Text)
.TextMatrix(i, 5) = UCase(Trim(cmbstatuspeg.Text))
.TextMatrix(i, 6) = UCase(Trim(txtgolruang.Text))
.TextMatrix(i, 7) = UCase(Trim(txtjabatan.Text)) End If
Next i
End With
disabled_entry
cmdTambah.Enabled = True cmdSimpanAdd.Enabled = True
cmdHapus.Enabled = True
cmdEdit.Visible = True
cmdSimpanEdit.Visible = False
cmdkeluar.Visible = True
cmdBatalEdit.Visible = False
On Error GoTo Akhir
MsgBox "Data sudah diubah...", vbInformation, "Informasi"
GoTo OK
End If
Akhir: MsgBox "Proses penyimpanan data guru gagal...", vbCritical, "Peringatan"
OK:
End Sub
3. Listing edit
Private Sub cmdEdit_Click()
enabled_entry
cmdtambah.Enabled = False
cmdSimpanAdd.Enabled = False
cmdHapus.Enabled = False
104
cmdEdit.Visible = False
cmdSimpanEdit.Visible = True
cmdkeluar.Visible = False
cmdBatalEdit.Visible = True
End Sub
4. Listing cari
Private Sub txtCari_Change()
Dim com_Guru2 As ADODB.Command
Dim rsGuru3 As ADODB.Recordset
Set com_Guru2 = New ADODB.Command
Set rsGuru3 = New ADODB.Recordset
With com_Guru2
.ActiveConnection = con_Tarakanita
If UCase(Trim(cmbKategori.Text)) = "KODE" Then
.CommandText = "SELECT * FROM guru WHERE kode_guru like '%" + txtCari.Text +
"%'"
ElseIf UCase(Trim(cmbKategori.Text)) = "NIP" Then
.CommandText = "SELECT * FROM guru WHERE NIP like '%" + txtCari.Text + "%'"
Else .CommandText = "SELECT * FROM guru WHERE NAMA like '%" + txtCari.Text + "%'"
End If
.CommandType = adCmdText
End With
With rsGuru3
.CursorLocation = adUseClient
.CursorType = adOpenStatic
.LockType = adLockOptimistic
.Open com_Guru2
End With
dftGuru.Clear
With rsGuru3
If Not .BOF Then
.MoveFirst End If
dftGuru.Row = 0
Do While Not .EOF
dftGuru.Row = dftGuru.Row + 1
dftGuru.TextMatrix(dftGuru.Row, 0) = Trim(!kode_guru)
dftGuru.TextMatrix(dftGuru.Row, 1) = Trim(!NIP)
dftGuru.TextMatrix(dftGuru.Row, 2) = Trim(!Nama)
dftGuru.TextMatrix(dftGuru.Row, 3) = Trim(!ALAMAT)
dftGuru.TextMatrix(dftGuru.Row, 4) = Trim(!NO_SK)
dftGuru.TextMatrix(dftGuru.Row, 5) = Trim(!Status_Pegawai)
dftGuru.TextMatrix(dftGuru.Row, 6) = Trim(!Golongan_Ruang)
dftGuru.TextMatrix(dftGuru.Row, 7) = Trim(!Jabatan) .MoveNext
Loop
End With
dftGuru.Row = 1
setGrid
End Sub
105
5. Listing Hapus
Private Sub cmdHapus_Click()
Dim jawab As Boolean
Dim com_dftGuruHapus As ADODB.Command
Dim rsGuruHapus As ADODB.Recordset
jawab = MsgBox("Anda yakin akan menghapus data ini?", vbOKCancel, "Konfirmasi")
If jawab Then
Set com_dftGuruHapus = New ADODB.Command
Set rsGuruHapus = New ADODB.Recordset
With com_dftGuruHapus
.ActiveConnection = con_Tarakanita
.CommandText = "DELETE FROM guru WHERE kode_guru ='" + Trim(txtkdguru.Text) +
"'"
.CommandType = adCmdText
End With
With rsGuruHapus
.CursorLocation = adUseClient
.CursorType = adOpenStatic
.LockType = adLockOptimistic
.Open com_dftGuruHapus End With
IsiGrid
MsgBox "Data sudah dihapus...!!!", vbOKOnly, "Informasi"
End If
End Sub
6. Listing Batal Add
Private Sub cmdBatalAdd_Click()
cmdSimpanAdd.Visible = False
cmdTambah.Visible = True cmdBatalAdd.Visible = False
cmdBatalEdit.Visible = False
cmdkeluar.Visible = True
cmdmasukfoto.Enabled = False
dftGuru.Enabled = True
With rsGuru
If .RecordCount = 0 Then
cmdEdit.Enabled = False
cmdHapus.Enabled = False
clear_entry ' fotoguru.Picture = LoadPicture(App.Path + "\Foto\InsertPicture.jpg")
Else
cmdEdit.Enabled = True
cmdHapus.Enabled = True
.MoveLast
txtkdguru.Text = Trim(!kode_guru) txtnip.Text = Trim(!NIP)
txtnama.Text = Trim(!Nama)
txtTempat.Text = Trim(!Tempat_Lahir)
106
cmbTglLahir.Value = !Tanggal_Lahir
If UCase(Trim(!Jenis_Kelamin)) = "LAKI-LAKI" Then
optLaki.Value = True
txtJenisKelamin.Text = "LAKI-LAKI"
Else
optPerempuan.Value = True
txtJenisKelamin.Text = "PEREMPUAN"
End If
txtAlamat.Text = Trim(!ALAMAT) If UCase(Trim(!Status_Kawin)) = "SUDAH" Then
optsudah.Value = True
txtStatusKawin.Text = "SUDAH"
Else
optbelum.Value = True
txtStatusKawin.Text = "BELUM"
End If
txtjmlanak.Text = Trim(!Jumlah_Anak)
txtsk.Text = Trim(!NO_SK)
txtthnsk.Text = Trim(!Tahun_SK)
txttmtguru.Text = Trim(!TMT_menjadi_Guru)
txtlmberkarya.Text = Trim(!Lama_Berkarya) txtgolruang.Text = Trim(!Golongan_Ruang)
cmbstatuspeg.Text = Trim(!Status_Pegawai)
txtasalpt.Text = Trim(!Asal_PT)
txtnoijasah.Text = Trim(!No_Ijasah)
cmbtingkat.Text = Trim(!Tingkat_Pendidikan) txtjurusan.Text = Trim(!Jurusan)
txtthnlulus.Text = Trim(!Tahun_Lulus)
txtjabatan.Text = Trim(!Jabatan)
txtkelas.Text = Trim(!kelas)
txtbidstudi1.Text = Trim(!bid_studi1_kelas)
txtbidstudi2.Text = Trim(!bid_studi2_kelas) txtbidstudi3.Text = Trim(!bid_studi3_kelas)
txtbidstudi4.Text = Trim(!bid_studi4_kelas)
txtjammengajar.Text = Trim(!Total_Mengajar)
' fotoguru.Picture = LoadPicture(App.Path + "\Foto\" + Trim(!Foto_Guru))
End If
End With disabled_entry
End Sub
4.2.3 Form Input Data Siswa
Form input data siswa memiliki fungsi sebagai kamus data untuk
menyimpan data-data siswa. Kerja dari form ini sama seperti pada form input data
guru. Yang membedakan hanya pada pencarian datanya yaitu terletak pada
kategorinya. Kategori pencariannya antara lain ; NIS, Nama, Alamat, Kelas,
Sekolah Asal.
107
Gambar 4.10 tampilan form Input data siswa
Private Sub txtCari_Change()
Dim com_Siswa2 As ADODB.Command
Dim rsSiswa3 As ADODB.Recordset
Set com_Siswa2 = New ADODB.Command
Set rsSiswa3 = New ADODB.Recordset
With com_Siswa2
.ActiveConnection = con_Tarakanita If UCase(Trim(cmbKategori.Text)) = "NIS" Then
.CommandText = "SELECT * FROM siswa WHERE NIS like '%" + txtCari.Text + "%'"
ElseIf UCase(Trim(cmbKategori.Text)) = "NAMA" Then
.CommandText = "SELECT * FROM siswa WHERE NAMA like '%" + txtCari.Text + "%'"
ElseIf UCase(Trim(cmbKategori.Text)) = "ALAMAT" Then
.CommandText = "SELECT * FROM siswa WHERE ALAMAT like '%" + txtCari.Text +
"%'"
ElseIf UCase(Trim(cmbKategori.Text)) = "KELAS" Then
.CommandText = "SELECT * FROM siswa WHERE KODE_KELAS like '%" + txtCari.Text
+ "%'"
Else
.CommandText = "SELECT * FROM siswa WHERE NAMA_SEKOLAH_ASAL like '%" + txtCari.Text + "%'"
End If
.CommandType = adCmdText
End With
With rsSiswa3
.CursorLocation = adUseClient
.CursorType = adOpenStatic
.LockType = adLockOptimistic
.Open com_Siswa2
End With
dftSiswa.Clear
With rsSiswa3
If Not .BOF Then
108
.MoveFirst
End If
dftSiswa.Row = 0
Do While Not .EOF
dftSiswa.Row = dftSiswa.Row + 1
dftSiswa.TextMatrix(dftSiswa.Row, 0) = Trim(!NIS)
dftSiswa.TextMatrix(dftSiswa.Row, 1) = Trim(!Nama_Lengkap)
dftSiswa.TextMatrix(dftSiswa.Row, 2) = Trim(!kode_kelas)
dftSiswa.TextMatrix(dftSiswa.Row, 3) = Trim(!ALAMAT) dftSiswa.TextMatrix(dftSiswa.Row, 4) = Trim(!Nama_Sekolah_Asal)
dftSiswa.TextMatrix(dftSiswa.Row, 5) = Trim(!Nama_Ayah)
dftSiswa.TextMatrix(dftSiswa.Row, 6) = Trim(!Nama_Ibu)
dftSiswa.TextMatrix(dftSiswa.Row, 7) = Trim(!Nama_Wali)
.MoveNext
Loop
End With
dftSiswa.Row = 1
setGrid
End Sub
Untuk prosedur penyimpanan data pada form input data siswa adalah :
Private Sub cmdSimpanAdd_Click()
If txtnama.Text = "" Or txtkelas.Text = "" Or txtTempat.Text = "" Or txtAlamat.Text = "" _
Or cmbAgama.Text = "" Or txtStatusKel.Text = "" Or txtAnakNo.Text = "" Or
txtKelasTerima.Text = "" _
Or txtSekolahAsal.Text = "" Or txtAlmtSklhAsal.Text = "" Or txtNamaAyah.Text = "" Or
txtPnddknAyah.Text = "" _
Or txtKerjaAyah.Text = "" Or cmbAgamaAyah.Text = "" Or txtAlmtAyah.Text = "" Or
txtNamaIbu.Text = "" _
Or txtPnddknIbu.Text = "" Or txtKerjaIbu.Text = "" Or cmbAgamaIbu.Text = "" Or
txtAlmtIbu.Text = "" Then MsgBox "Lengkapi data-data Anda...", vbCritical, "Peringatan"
GoTo OK
Else
With rsSiswa
.AddNew
!NIS = UCase(Trim(txtnis.Text)) !Nama_Lengkap = Trim(txtnama.Text)
!kode_kelas = Trim(txtkelas.Text)
!Tanggal_Lahir = cmbTglLahir.Value
!Tempat = Trim(txtTempat.Text)
!Jenis_Kelamin = UCase(Trim(txtJenisKelamin.Text))
!ALAMAT = Trim(txtAlamat.Text)
!Agama = UCase(Trim(cmbAgama.Text))
!Status_Dalam_Keluarga = Trim(txtStatusKel.Text)
!Anak_ke = Trim(txtAnakNo.Text)
!Diterima_di_Kelas = Trim(txtKelasTerima.Text)
!PAda_tanggal = cmbTglTerima.Value
!Nama_Sekolah_Asal = Trim(txtSekolahAsal.Text) !Alamat_Sekolah_Asal = Trim(txtAlmtSklhAsal.Text)
!Cacat_Tubuh = Trim(txtCacatTubuh.Text)
!Jenis_Penyakit = Trim(txtJenisPenyakit.Text)
!Tanggal_Menderita = cmbTglPenyakit.Value
!Lama_Menderita = Trim(txtLmMenderita.Text)
!Nama_Ayah = Trim(txtNamaAyah.Text)
!Pendidikan_Ayah = Trim(txtPnddknAyah.Text)
109
!Pekerjaan_Ayah = Trim(txtKerjaAyah.Text)
!Agama_Ayah = Trim(cmbAgamaAyah.Text)
!Alamat_Ayah = Trim(txtAlmtAyah.Text)
!Nama_Ibu = Trim(txtNamaIbu.Text)
!Pendidikan_Ibu = Trim(txtPnddknIbu.Text)
!Pekerjaan_Ibu = Trim(txtKerjaIbu.Text)
!Agama_Ibu = Trim(cmbAgamaIbu.Text)
!Alamat_Ibu = Trim(txtAlmtIbu.Text)
!Nama_Wali = Trim(txtNamaWali.Text) !Pendidikan_Wali = Trim(txtPnddknWali.Text)
!Pekerjaan_Wali = Trim(txtKerjaWali.Text)
!Agama_Wali = Trim(cmbAgamaWali.Text)
!Alamat_Wali = Trim(txtAlmtWali.Text)
!Foto_Siswa = LoadPicture("D:\InsertPicture.jpg")
.Update
End With
IsiGrid
On Error GoTo Akhir
MsgBox "Data siswa sudah disimpan...", vbInformation, "Informasi" GoTo OK
End If
Akhir:
MsgBox "Proses penyimpanan data siswa gagal...", vbCritical, "Peringatan"
OK: End Sub
Prosedure Hapus data untuk form input data siswa adalah :
Private Sub cmdHapus_Click()
Dim jawab As Boolean
Dim com_dftSiswaHapus As ADODB.Command
Dim rsSiswaHapus As ADODB.Recordset
jawab = MsgBox("Anda yakin akan menghapus data ini?", vbOKCancel, "Konfirmasi")
If jawab Then
Set com_dftSiswaHapus = New ADODB.Command
Set rsSiswaHapus = New ADODB.Recordset
With com_dftSiswaHapus
.ActiveConnection = con_Tarakanita
.CommandText = "DELETE FROM siswa WHERE NIS='" + Trim(txtnis.Text) + "'"
.CommandType = adCmdText
End With
With rsSiswaHapus
.CursorLocation = adUseClient
.CursorType = adOpenStatic
.LockType = adLockOptimistic
.Open com_dftSiswaHapus
End With
IsiGrid
MsgBox "Data sudah dihapus...!!!", vbOKOnly, "Informasi"
End If
End Sub
110
4.2.4 Form Input Nilai Matapelajaran
Pada form input Nilai Mata Pelajaran memiliki fungsi sebagai
kamus data dan penyimpanan data nilai siswa, yang pada akhirnya nanti
akan di cetak menjadi nilai rapor sekaligus sebagai laporan semester maupun
tahunan yang dibuat dalam bentuk grafik. Prosedur penyimpanan hampir
sama dengan form-form lainnya, yang membedakan adalah terjadinya proses
perhitungan nilai dari siswa.
Gambar 4.11 tampilan form Input data nilai
4.2.9 Form Input Nilai Pengembangan Diri
Form input nilai pengembangan diri ini memiliki fungsi sebagai kamus
dan penyimpan data tentang perkembangan perserta didik. Form ini dibuat
sebagai alat pemantau mengenai budi pekerti siswa dan sebagai tolok ukur
seorang pengajar apakah selama mendidik hanya mementingkan mata
111
pelajaran semata atau memang benar-benar menanamkan pendidikan
kepribadian kepada siswa.
Gambar 4.12 tampilan form Input data nilai pengembangan
4.2.10 Form Laporan Nilai Per Kelas dan Per Mata Pelajaran
4.2.10.1 Grafik Nilai Per Kelas
Form laporan grafik nilai siswa per kelas memiliki fungsi sebagai kamus
data dan penyimpanan data terhadap nilai-nilai yang sudah diubah menjadi
sebuah grafik. Fungsi lainnya adalah sebagai media penentuan strategi
pembelajaran bagi seorang guru, form ini juga bisa digunakan sebagai
112
pembanding mengenai sebaran terhadap siswa yang cenderung pintar maupun
sebaliknya, sehingga seorang pengajar mampu mengambil keputusan yang
bijaksana dalam mengelola kelas.
Gambar 4.12 tampilan laporan nilai siswa perkelas
4.2.10.2 Grafik Nilai Per Mata Pelajaran
Hampir menyerupai fungsi laporan grafik di atas, pada grafik nilai per
mata pelajaran ditekankan pada materi mata pelajaran. Fungsi from ini adalah
sebagai kamus data dan penyimpanan. Pada laporan ini memberikan manfaat
kepada para guru mata pelajaran untuk mengetahui sejauh mana ia mengajar
dan sedalam apa siswa mau menangkap apa yang diterangkan atau diajarkan
113
oleh gurunya. Kedua grafik ini dapat dimanfaatkan sebagai pembanding pada
akhir semester maupun pada akhir tahun ajaran, dari hasil pembandingan
tersebut dapat di ketahui apakah selama satu semester atau satu tahun ajaran
mengalami penurunan atau peningkatan dalam prosen mengajar dan belajar.
Gambar 4.13tampilan laporan nilai siswa per matapelajaran
4.3 Implementasi Perangkat Lunak
Sistem informasi sekolah ini merupakan sistem baru bagi para user di SD
Tarakanita. Oleh karena itu untuk mengurangi kesulitan-kesulitan dalam
pengoperasian sistem ini. Maka ada beberapa hal yang perlu dipersiapkan antara
lain :
114
1. Tahap penggunaan aplikasi
Tahap ini merupakan langkah persiapan atau pelatihan-pelatihan yang
dilakukan oleh pembuat sistem kepada para calon pemakai sistem. Salah
satu contoh persiapannya yaitu dengan membuat user manual atau
semacam buku petunjuk langkah kerja sistem.
2. Tahap persiapan perangkat
Karena aplikasi sistem yang dibuat merupakan suatu aplikasi client-
server, Maka semua perangkat keras maupun perangkat lunak harus
dipersiapakan dengan matang. Agar dalam mengimplementasikan sistem
yang sudah jadi dapat berjalan lancar. Mengenai spesifikasi perangkat
keras (komputer) telah dijelaskan pada bab sebelumnya
4.4 Analisis Hasil Implementasi
4.4.1 Kelebihan Sistem
1. Penggunaan hak akses dan login pada sistem ini dapat mengurangi
atau menghidarkan dari penyalahgunaan sistem oleh oknum yang tidak
bertanggung jawab. Selain itu dengan adanya sistem yang baru ini
pekerjaan guru dapat diringankan karena sistem ini dapat di update
setiap hari oleh user sendiri.
2. Secara teknis, pada sistem ini, jika seorang user melakukan kesalahan
dalam peng-entry-an data, misalkan kurang dalam mengisikan field
maka sistem akan memunculkan massege box, untuk mengingatkan
115
user apabila telah melakukan kekeliruan dalam entry datanya. Dalam
massage box biasanya telah diberikan solusi untuk penangannanya.
3. Sistem ini juga mampu menampilkan data-data yang dapat digunakan
sebagai pembanding antar angkatan pada tiap tahun ajaran. Sehingga
para guru yang berkompeten mampu meningkatkan kualitas dalam
mengajar maupun mendidik siswa.
4.4.2 Kekurangan Sistem
Salah satu bentuk kekurang sistem ini adalah pada pembuatan ID
untuk siswa. Untuk siswa baru (yang masuk dari kelas 1) akan mendapat
NIS sebagai ID, namun akan mengalami kendala apabila terdapat siswa
pindahan dari sekolah lain, karena biasanya siswa tersebut masih
menggunakan NIS yang lama dari sekolahan yang dulu sebelum pindah.
Sehingga untuk memberikan ID masih mencari alternatif lain.
Dari segi pengembangan sistem, Karena ini merupakan sistem
yang baru, salah satu kendalanya adalah lamanya para guru untuk
berinteraksi dengan sistem yang baru. Apalagi bagi guru-guru yang senior,
mereka masih kurang menerima, karena menganggap sistem yang lama
lebih baik, dan sudah terbiasa.
116
BAB V
PENUTUP
Bab ini merupakan bagian akhir penulisan skripsi. Terdapat beberapa
kesimpulan dan saran dari hal-hal yang berhubungan dengan implementasi sistem
informasi sekolah.
5.1 Kesimpulan
1. Untuk sementara aplikasi yang baru dapat di jalankan adalah form input
masukkan data guru dan input masukkan data siswa. Untuk tombol
tambah, simpan, edit,dan hapus dapat bekerja, serta pencarian data juga
bekerja dengan baik. Untuk format laporan belum bisa diprintout. Namun
demikian program akan tetap diteruskan sehingga mampu menjadi sebuah
program yang utuh sebagai sistem informasi yang berbasis client server
sehingga pengulangan data yang terdapat pada sistem lama dapat teratasi
dan mengurangi jam kerja guru.
2. Sistem ini dapat memberikan informasi mengenai informasi yang lebih
lengkap dari pada sistem yang lama. Dengan sistem yang baru pendataan
dan pencarian lebih cepat dilakukan.
5.2 Saran
1. Untuk pengembangan sistem selanjutnya alangkah baik jika sistem ini
dibuat dan dikembangkan berbasis web, sehingga orang tua siswa dapat
mengakses sendiri dan langsung melihat perkembangan nilai anak-
anaknya.
117
2. Program aplikasi dapat dikembangkan untuk ruang lingkup yang lebih
luas, bukan setingkat sekolah dasar saja namun dapat diterapkan pada
jenjang SMP atau pun SMA. Dengan demikian sistem yang baru
diharapkan dapat dengan cepat memberikan informasi mengenai apa yang
harus diputuskan oleh seorang pengajar jika melihat data-data dalam
bentuk grafik.
118
DAFTAR PUSTAKA
Jogiyanto Hartono, MBA, Ph.D. Analisa dan Desain, Sistem Informasi:
pendekatan terstruktur teori dan praktek aplikasi bisnis. Penerbit Andi
Yogyakarta,1989
Robert N. Anthony, Jhon Dearden, Management Control System. Edisi keempat ;
Illinois: Ricard D. Irwin, 1980
Robert A. Leitch / K. Roscoe Davis, Accounting Information System, Englewood
Cliffs, New Jersey : Prentice-Hall,1983
Thomas connolly, Carolyn Begg, Database system: A Practical Approach to
Design, Implementation and Management, Third Edition, Addison Wesley,
2002
Elmasri / Navathe, Fundamentals of Database System: Second Edition, Addison
Wesley, 1994
Henry Pandia, Visual Basic 6.0 Tingkat Lanjut. Edisi kedua, Penerbit Andi,
Yogyakarta 2004
Harip Santoso, Pemrograman Client-Server menggunakan SQL Server 2000 dan
Visual Basic 6.0. Penerbit PT. Elex Media Komputindo, Kelompok
Gramedia, Jakarta, 2003
Ir. Inge Martina, 36 Jam Belajar Komputer, Microsoft SQL Server 2000, Penerbit
PT. Elex Media Komputindo, Kelompok Gramedia, Jakarta, 2003
Djoko Pramono, Mudah Menguasai Visual Basic 6, Penerbit PT. Elex Media
Komputindo, Kelompok Gramedia, Jakarta, cetakan keempat, April 2001
Feri Djuandi,MCDBA,MCSE; SQL Server 2000 untuk profesional. Penerbit PT.
Elex Media Komputindo, Kelompok Gramedia, Jakarta, 2002
119
LAMPIRAN
120
(FORM LOGIN ke database) Option Explicit Dim counter As Byte Private Sub cmbUserType_Click() cmbIDType.ListIndex = cmbUserType.ListIndex txtusername.SetFocus End Sub Private Sub cmdcancel_Click() Unload Me End Sub Private Sub cmdOK_Click() If Trim(cmbUserType.Text) = "" Or Trim(txtusername.Text) = "" Or Trim(txtpassword.Text) = "" Then MsgBox "Isikan data tipe user, username, dan password secara lengkap...", vbInformation, "Peringatan" cmbUserType.SetFocus Else With DESekolah.rsdtUser .MoveFirst Do While Not .EOF If Trim(!UserName) = Trim(txtusername.Text) And Trim(!Password) = Trim(txtpassword.Text) And Trim(!UserType) = Trim(cmbIDType.Text) Then Unload Me frmMenuInduk.Show Else counter = counter + 1 If counter = 3 Then MsgBox "Proses login gagal." + vbNewLine + "Hubungi Administrator untuk informasi user Anda...", vbInformation, "Peringatan" Unload Me Else MsgBox "PROSES LOGIN GAGAL." + vbNewLine + " Anda hanya mempunyai tiga kesempatan. Periksa tipe user, username, dan password Anda...", vbInformation, "Peringatan!!!" cmbUserType.Text = "" cmbIDType.Text = "" txtusername.Text = "" txtpassword.Text = "" cmbUserType.SetFocus End If End If .MoveNext Loop End With End If End Sub Private Sub Form_Activate() cmbUserType.SetFocus End Sub Private Sub Form_Load() Dim IDType As String Dim Tipe As String Dim con_Tarakanita As ADODB.Connection Set con_Tarakanita = New ADODB.Connection With con_Tarakanita .ConnectionString = "Provider=SQLOLEDB.1;User ID=antonius;Initial Catalog=TARAKANITA;Password=antonius" .Open End With counter = 0
121
DESekolah.rsdtUserType.MoveFirst DESekolah.rsdtUser.Open cmbUserType.Clear cmbIDType.Clear With DESekolah .rsdtUserType.MoveFirst Do While Not .rsdtUserType.EOF Tipe = .rsdtUserType!Type IDType = .rsdtUserType!UserType cmbIDType.AddItem IDType cmbUserType.AddItem Tipe .rsdtUserType.MoveNext Loop End With txtpassword.Text = "" End Sub Private Sub txtusername_KeyPress(KeyAscii As Integer) If KeyAscii = vbKeyReturn Then txtpassword.SetFocus End If End Sub
(FORM MENU UTAMA)
Private Sub dtekstra_Click(Index As Integer) frminputekstra.Show End Sub Private Sub dtguru_Click(Index As Integer) frminputdataguru.Show End Sub Private Sub dtKelas_Click(Index As Integer) frminputdatakelas.Show End Sub Private Sub dtmapel_Click(Index As Integer) frmmapel.Show End Sub Private Sub dtsiswa_Click(Index As Integer) frminputdatasiswa.Show End Sub Private Sub dtwalikelas_Click(Index As Integer) frminputdatawalikelas.Show End Sub Private Sub mnufileabsensi_Click(Index As Integer) frminputdataabsensi.Show End Sub Private Sub mnufilebimbingan_Click(Index As Integer) frminputbimbingan.Show End Sub Private Sub mnufilejadwal_Click(Index As Integer) frmjadwalmapel.Show End Sub Private Sub mnufilekeluar_Click(Index As Integer) Unload Me End Sub Private Sub mnufileubahpassword_Click(Index As Integer) frmubahpassword.Show End Sub Private Sub mnulapgrafnilperkelas_Click(Index As Integer) frmgrafiknilperkelas.Show
122
End Sub Private Sub mnulapgrafnilpermapel_Click(Index As Integer) frmgrafnilpermapel.Show End Sub Private Sub mnulapguru_Click(Index As Integer) rptdataguru.Show End Sub Private Sub mnulapnilperkelas_Click(Index As Integer) rptdatanilai.Show End Sub Private Sub mnulapnilpermapel_Click(Index As Integer) rptlaporannilai.Show End Sub Private Sub mnulapsis_Click(Index As Integer) rptdatasiswa.Show End Sub Private Sub nilaimapel_Click(Index As Integer) frminputNILAI.Show End Sub Private Sub nilaipengembangandiri_Click(Index As Integer) frminputpengembangan.Show End Sub Private Sub StatusBar4_PanelClick(ByVal Panel As MSComctlLib.Panel) StatusBar4.Panels(2).Text = "text" End Sub
(FORM GURU) Dim con_Tarakanita As ADODB.Connection Dim com_Guru As ADODB.Command Dim rsGuru As ADODB.Recordset Private Sub disabled_entry() txtnip.Enabled = False txtnama.Enabled = False txttempat.Enabled = False cmbTglLahir.Enabled = False optlaki.Enabled = False optperempuan.Enabled = False txtalamat.Enabled = False optsudah.Enabled = False optbelum.Enabled = False txtjmlanak.Enabled = False txtsk.Enabled = False txtthnsk.Enabled = False txttmtguru.Enabled = False txtlmberkarya.Enabled = False txtgolruang.Enabled = False cmbstatuspeg.Enabled = False txtasalpt.Enabled = False txtnoijasah.Enabled = False cmbtingkat.Enabled = False txtjurusan.Enabled = False txtthnlulus.Enabled = False txtjabatan.Enabled = False txtkelas.Enabled = False txtbidstudi1.Enabled = False txtbidstudi2.Enabled = False txtbidstudi3.Enabled = False txtbidstudi4.Enabled = False txtjammengajar.Enabled = False End Sub
123
Private Sub enabled_entry() txtnip.Enabled = True txtnama.Enabled = True txttempat.Enabled = True cmbTglLahir.Enabled = True optlaki.Enabled = True optperempuan.Enabled = True txtalamat.Enabled = True optsudah.Enabled = True optbelum.Enabled = True txtjmlanak.Enabled = True txtsk.Enabled = True txtthnsk.Enabled = True txttmtguru.Enabled = True txtlmberkarya.Enabled = True txtgolruang.Enabled = True cmbstatuspeg.Enabled = True txtasalpt.Enabled = True txtnoijasah.Enabled = True cmbtingkat.Enabled = True txtjurusan.Enabled = True txtthnlulus.Enabled = True txtjabatan.Enabled = True txtkelas.Enabled = True txtbidstudi1.Enabled = True txtbidstudi2.Enabled = True txtbidstudi3.Enabled = True txtbidstudi4.Enabled = True txtjammengajar.Enabled = True End Sub Private Sub clear_entry() txtnip.Text = "" txtnama.Text = "" txttempat.Text = "" cmbTglLahir.Value = Date optlaki.Value = True txtalamat.Text = "" optbelum.Value = True txtjmlanak.Text = "" txtsk.Text = "" txtthnsk.Text = "" txttmtguru.Text = "" txtlmberkarya.Text = "" txtgolruang.Text = "" cmbstatuspeg.Text = "" txtasalpt.Text = "" txtnoijasah.Text = "" cmbtingkat.Text = "" txtjurusan.Text = "" txtthnlulus.Text = "" txtjabatan.Text = "" txtkelas.Text = "" txtbidstudi1.Text = "" txtbidstudi2.Text = "" txtbidstudi3.Text = "" txtbidstudi4.Text = "" txtjammengajar.Text = "" End Sub Private Sub cmdBatalAdd_Click()
124
cmdSimpanAdd.Visible = False cmdtambah.Visible = True cmdBatalAdd.Visible = False cmdBatalEdit.Visible = False cmdkeluar.Visible = True cmdmasukfoto.Enabled = False dftGuru.Enabled = True With rsGuru If .RecordCount = 0 Then cmdEdit.Enabled = False cmdHapus.Enabled = False clear_entry ' fotoguru.Picture = LoadPicture(App.Path + "\Foto\InsertPicture.jpg") Else cmdEdit.Enabled = True cmdHapus.Enabled = True .MoveLast txtkdguru.Text = Trim(!kode_guru) txtnip.Text = Trim(!NIP) txtnama.Text = Trim(!Nama) txttempat.Text = Trim(!Tempat_Lahir) cmbTglLahir.Value = !Tanggal_Lahir If UCase(Trim(!Jenis_Kelamin)) = "LAKI-LAKI" Then optlaki.Value = True txtJenisKelamin.Text = "LAKI-LAKI" Else optperempuan.Value = True txtJenisKelamin.Text = "PEREMPUAN" End If txtalamat.Text = Trim(!ALAMAT) If UCase(Trim(!Status_Kawin)) = "SUDAH" Then optsudah.Value = True txtStatusKawin.Text = "SUDAH" Else optbelum.Value = True txtStatusKawin.Text = "BELUM" End If txtjmlanak.Text = Trim(!Jumlah_Anak) txtsk.Text = Trim(!NO_SK) txtthnsk.Text = Trim(!Tahun_SK) txttmtguru.Text = Trim(!TMT_menjadi_Guru) txtlmberkarya.Text = Trim(!Lama_Berkarya) txtgolruang.Text = Trim(!Golongan_Ruang) cmbstatuspeg.Text = Trim(!Status_Pegawai) txtasalpt.Text = Trim(!Asal_PT) txtnoijasah.Text = Trim(!No_Ijasah) cmbtingkat.Text = Trim(!Tingkat_Pendidikan) txtjurusan.Text = Trim(!Jurusan) txtthnlulus.Text = Trim(!Tahun_Lulus) txtjabatan.Text = Trim(!Jabatan) txtkelas.Text = Trim(!kelas) txtbidstudi1.Text = Trim(!bid_studi1_kelas) txtbidstudi2.Text = Trim(!bid_studi2_kelas) txtbidstudi3.Text = Trim(!bid_studi3_kelas) txtbidstudi4.Text = Trim(!bid_studi4_kelas) txtjammengajar.Text = Trim(!Total_Mengajar) ' fotoguru.Picture = LoadPicture(App.Path + "\Foto\" + Trim(!Foto_Guru)) End If End With disabled_entry End Sub
125
Private Sub cmdBatalEdit_Click() disabled_entry cmdtambah.Enabled = True cmdSimpanAdd.Enabled = True cmdHapus.Enabled = True cmdEdit.Visible = True cmdSimpanEdit.Visible = False cmdkeluar.Visible = True cmdBatalEdit.Visible = False End Sub Private Sub cmdEdit_Click() enabled_entry cmdtambah.Enabled = False cmdSimpanAdd.Enabled = False cmdHapus.Enabled = False cmdEdit.Visible = False cmdSimpanEdit.Visible = True cmdkeluar.Visible = False cmdBatalEdit.Visible = True End Sub Private Sub cmdHapus_Click() Dim jawab As Boolean Dim com_dftGuruHapus As ADODB.Command Dim rsGuruHapus As ADODB.Recordset jawab = MsgBox("Anda yakin akan menghapus data ini?", vbOKCancel, "Konfirmasi") If jawab Then Set com_dftGuruHapus = New ADODB.Command Set rsGuruHapus = New ADODB.Recordset With com_dftGuruHapus .ActiveConnection = con_Tarakanita .CommandText = "DELETE FROM guru WHERE kode_guru ='" + Trim(txtkdguru.Text) + "'" .CommandType = adCmdText End With With rsGuruHapus .CursorLocation = adUseClient .CursorType = adOpenStatic .LockType = adLockOptimistic .Open com_dftGuruHapus End With IsiGrid MsgBox "Data sudah dihapus...!!!", vbOKOnly, "Informasi" End If End Sub Private Sub cmdkeluar_Click() Unload Me End Sub Private Sub cmdmasukfoto_Click() Me.Enabled = False frmambilfoto.Show End Sub Private Sub cmdSimpanAdd_Click()
126
If txtnip.Text = "" Or txtnama.Text = "" Or txttempat.Text = "" Or txtJenisKelamin.Text = "" Or txtalamat.Text = "" _ Or txtStatusKawin.Text = "" Or txtsk.Text = "" Or txtthnsk.Text = "" Or txttmtguru.Text = "" _ Or txtlmberkarya.Text = "" Or txtgolruang.Text = "" Or cmbstatuspeg.Text = "" Or txtasalpt.Text = "" Or txtnoijasah.Text = "" _ Or cmbtingkat.Text = "" Or txtjurusan.Text = "" Or txtthnlulus.Text = "" Or txtjabatan.Text = "" Or txtkelas.Text = "" Or txtjammengajar.Text = "" Then MsgBox "Lengkapi data-data Anda...", vbCritical, "Peringatan" GoTo OK Else With rsGuru .AddNew !kode_guru = UCase(Trim(txtkdguru.Text)) !NIP = UCase(Trim(txtnip.Text)) !Nama = Trim(txtnama.Text) !Tanggal_Lahir = Trim(cmbTglLahir.Value) !Tempat_Lahir = Trim(txttempat.Text) !Jenis_Kelamin = UCase(Trim(txtJenisKelamin.Text)) !ALAMAT = Trim(txtalamat.Text) !Status_Kawin = UCase(Trim(txtStatusKawin.Text)) !Jumlah_Anak = Trim(txtjmlanak.Text) !NO_SK = Trim(txtsk.Text) !Tahun_SK = Trim(txtthnsk.Text) !Lama_Berkarya = Trim(txtlmberkarya.Text) !Status_Pegawai = UCase(Trim(cmbstatuspeg.Text)) !TMT_menjadi_Guru = UCase(Trim(txttmtguru.Text)) !Golongan_Ruang = UCase(Trim(txtgolruang.Text)) !Asal_PT = Trim(txtasalpt.Text) !No_Ijasah = Trim(txtnoijasah.Text) !Tingkat_Pendidikan = UCase(Trim(cmbtingkat.Text)) !Jurusan = Trim(txtjurusan.Text) !Tahun_Lulus = Trim(txtthnlulus.Text) !Jabatan = Trim(txtjabatan.Text) !kelas = Trim(txtkelas.Text) !bid_studi1_kelas = Trim(txtbidstudi1.Text) !bid_studi2_kelas = Trim(txtbidstudi2.Text) !bid_studi3_kelas = Trim(txtbidstudi3.Text) !bid_studi4_kelas = Trim(txtbidstudi4.Text) !Total_Mengajar = Trim(txtjammengajar.Text) ' !Foto_Guru = .Update End With IsiGrid On Error GoTo Akhir MsgBox "Data sudah disimpan...", vbInformation, "Informasi" GoTo OK End If Akhir: MsgBox "Proses penyimpanan data guru gagal...", vbCritical, "Peringatan" OK: End Sub Private Sub cmdSimpanEdit_Click() Dim com_dftGuruEdit As ADODB.Command Dim rsGuruEdit As ADODB.Recordset If txtnip.Text = "" Or txtnama.Text = "" Or txttempat.Text = "" Or txtJenisKelamin.Text = "" Or txtalamat.Text = "" _ Or txtStatusKawin.Text = "" Or txtsk.Text = "" Or txtthnsk.Text = "" Or txttmtguru.Text = "" _
127
Or txtlmberkarya.Text = "" Or txtgolruang.Text = "" Or cmbstatuspeg.Text = "" Or txtasalpt.Text = "" Or txtnoijasah.Text = "" _ Or cmbtingkat.Text = "" Or txtjurusan.Text = "" Or txtthnlulus.Text = "" Or txtjabatan.Text = "" Or txtkelas.Text = "" Or txtjammengajar.Text = "" Then MsgBox "Lengkapi data-data Anda...", vbCritical, "Peringatan" GoTo OK Else Set com_dftGuruEdit = New ADODB.Command Set rsGuruEdit = New ADODB.Recordset With com_dftGuruEdit .ActiveConnection = con_Tarakanita .CommandText = "UPDATE guru SET " & _ "NIP='" & UCase(Trim(txtnip.Text)) & "',NAMA='" & Trim(txtnama.Text) & "',Tanggal_Lahir=" & cmbTglLahir.Value & "," & _ "Tempat_Lahir='" & Trim(txttempat.Text) & "',Jenis_Kelamin='" & UCase(Trim(txtJenisKelamin.Text)) & "',ALAMAT='" & Trim(txtalamat.Text) & "'," & _ "Status_Kawin='" & UCase(Trim(txtStatusKawin.Text)) & "',Jumlah_Anak='" & Trim(txtjmlanak.Text) & "',NO_SK='" & Trim(txtsk.Text) & "'," & _ "Tahun_SK='" & Trim(txtthnsk.Text) & "',Lama_Berkarya='" & Trim(txtlmberkarya.Text) & "',Status_Pegawai='" & UCase(Trim(cmbstatuspeg.Text)) & "'," & _ "TMT_Guru='" & UCase(Trim(txttmtguru.Text)) & "',Golongan_Ruang='" & UCase(Trim(txtgolruang.Text)) & "',Asal_PT='" & Trim(txtasalpt.Text) & "'," & _ "No_Ijasah='" & Trim(txtnoijasah.Text) & "',Tingkat_Pendidikan='" & UCase(Trim(cmbtingkat.Text)) & "',Jurusan='" & Trim(txtjurusan.Text) & "'," & _ "Tahun_Lulus='" & Trim(txtthnlulus.Text) & "',Jabatan='" & Trim(txtjabatan.Text) & "',Kelas='" & Trim(txtkelas.Text) & "'," & _ "bid_studi1='" & Trim(txtbidstudi1.Text) & "',bid_studi2='" & Trim(txtbidstudi2.Text) & "',bid_studi3='" & Trim(txtbidstudi3.Text) & "'," & _ "bid_studi4='" & Trim(txtbidstudi4.Text) & "',Total_Mengajar='" & Trim(txtjammengajar.Text) & "'" & _ "WHERE kode_guru='" + Trim(txtkdguru.Text) + "'" ' !Foto_Guru = .CommandType = adCmdText End With With rsGuruEdit .CursorLocation = adUseClient .CursorType = adOpenStatic .LockType = adLockOptimistic .Open com_dftGuruEdit End With With dftGuru For i = 1 To .Rows - 1 If UCase(Trim(.TextMatrix(i, 0)) = UCase(Trim(txtkdguru.Text))) Then .TextMatrix(i, 1) = UCase(Trim(txtnip.Text)) .TextMatrix(i, 2) = Trim(txtnama.Text) .TextMatrix(i, 3) = Trim(txtalamat.Text) .TextMatrix(i, 4) = Trim(txtsk.Text) .TextMatrix(i, 5) = UCase(Trim(cmbstatuspeg.Text)) .TextMatrix(i, 6) = UCase(Trim(txtgolruang.Text)) .TextMatrix(i, 7) = UCase(Trim(txtjabatan.Text)) End If Next i End With disabled_entry cmdtambah.Enabled = True cmdSimpanAdd.Enabled = True cmdHapus.Enabled = True
128
cmdEdit.Visible = True cmdSimpanEdit.Visible = False cmdkeluar.Visible = True cmdBatalEdit.Visible = False On Error GoTo Akhir MsgBox "Data sudah diubah...", vbInformation, "Informasi" GoTo OK End If Akhir: MsgBox "Proses penyimpanan data guru gagal...", vbCritical, "Peringatan" OK: End Sub Private Sub cmdtambah_Click() Dim kode As String cmdtambah.Visible = False cmdSimpanAdd.Visible = True cmdEdit.Visible = True cmdEdit.Enabled = False cmdSimpanEdit.Visible = False cmdHapus.Enabled = False cmdkeluar.Visible = False cmdBatalEdit.Visible = False cmdBatalAdd.Visible = True cmdmasukfoto.Enabled = True dftGuru.Enabled = False With rsGuru If .RecordCount = 0 Then txtkdguru.Text = "GRTRK-1" Else .MoveLast kode = "GRTRK-" + Trim(Str(Val(Mid(Trim(!kode_guru), 7)) + 1)) txtkdguru.Text = Trim(kode) End If End With enabled_entry clear_entry txtnip.SetFocus End Sub Private Sub dftGuru_Click() Dim com_dftGuru As ADODB.Command Dim rsGuru2 As ADODB.Recordset Set com_dftGuru = New ADODB.Command Set rsGuru2 = New ADODB.Recordset With com_dftGuru .ActiveConnection = con_Tarakanita .CommandText = "SELECT * FROM guru where kode_guru='" + Trim(dftGuru.TextMatrix(dftGuru.Row, 0)) + "'" .CommandType = adCmdText End With With rsGuru2 .CursorLocation = adUseClient .CursorType = adOpenStatic .LockType = adLockOptimistic .Open com_dftGuru
129
End With With rsGuru2 txtkdguru.Text = Trim(!kode_guru) txtnip.Text = Trim(!NIP) txtnama.Text = Trim(!Nama) txttempat.Text = Trim(!Tempat_Lahir) cmbTglLahir.Value = !Tanggal_Lahir If UCase(Trim(!Jenis_Kelamin)) = "LAKI-LAKI" Then optlaki.Value = True txtJenisKelamin.Text = "LAKI-LAKI" Else optperempuan.Value = True txtJenisKelamin.Text = "PEREMPUAN'" End If txtalamat.Text = Trim(!ALAMAT) If UCase(Trim(!Status_Kawin)) = "SUDAH" Then optsudah.Value = True txtStatusKawin.Text = "SUDAH" Else optbelum.Value = True txtStatusKawin.Text = "BELUM" End If txtjmlanak.Text = Trim(!Jumlah_Anak) txtsk.Text = Trim(!NO_SK) txtthnsk.Text = Trim(!Tahun_SK) txttmtguru.Text = Trim(!TMT_menjadi_Guru) txtlmberkarya.Text = Trim(!Lama_Berkarya) cmbstatuspeg.Text = Trim(!Status_Pegawai) txtasalpt.Text = Trim(!Asal_PT) txtnoijasah.Text = Trim(!No_Ijasah) cmbtingkat.Text = Trim(!Tingkat_Pendidikan) txtjurusan.Text = Trim(!Jurusan) txtthnlulus.Text = Trim(!Tahun_Lulus) txtjabatan.Text = Trim(!Jabatan) txtkelas.Text = Trim(!kelas) txtbidstudi1.Text = Trim(!bid_studi1_kelas) txtbidstudi2.Text = Trim(!bid_studi2_kelas) txtbidstudi3.Text = Trim(!bid_studi3_kelas) txtbidstudi4.Text = Trim(!bid_studi4_kelas) txtjammengajar.Text = Trim(!Total_Mengajar) End With End Sub Private Sub Form_Load() Set con_Tarakanita = New ADODB.Connection Set com_Guru = New ADODB.Command Set rsGuru = New ADODB.Recordset With con_Tarakanita .ConnectionString = "Provider=SQLOLEDB.1;User ID=antonius;Initial Catalog=TARAKANITA;Password=antonius" .Open End With With com_Guru .ActiveConnection = con_Tarakanita .CommandText = "SELECT * FROM Guru" .CommandType = adCmdText End With With rsGuru
130
.CursorLocation = adUseClient .CursorType = adOpenStatic .LockType = adLockOptimistic .Open com_Guru End With disabled_entry cmdmasukfoto.Enabled = False ' DESekolah.rsdtGuru.Open With rsGuru If .RecordCount = 0 Then MsgBox "Data guru masih kosong...", vbInformation, "Informasi" txtkdguru.Text = "GRTRK-1" optlaki.Value = True optbelum.Value = True ' fotoguru.Picture = LoadPicture(App.Path + "\Foto\InsertPicture.jpg") cmdEdit.Enabled = False cmdHapus.Enabled = False Else .MoveFirst txtkdguru.Text = Trim(!kode_guru) txtnip.Text = Trim(!NIP) txtnama.Text = Trim(!Nama) txttempat.Text = Trim(!Tempat_Lahir) cmbTglLahir.Value = !Tanggal_Lahir If UCase(Trim(!Jenis_Kelamin)) = "LAKI-LAKI" Then optlaki.Value = True txtJenisKelamin.Text = "LAKI-LAKI" Else optperempuan.Value = True txtJenisKelamin.Text = "PEREMPUAN" End If txtalamat.Text = Trim(!ALAMAT) If UCase(Trim(!Status_Kawin)) = "SUDAH" Then optsudah.Value = True txtStatusKawin.Text = "SUDAH" Else optbelum.Value = True txtStatusKawin.Text = "BELUM" End If txtjmlanak.Text = Trim(!Jumlah_Anak) txtsk.Text = Trim(!NO_SK) txtthnsk.Text = Trim(!Tahun_SK) txttmtguru.Text = Trim(!TMT_menjadi_Guru) txtlmberkarya.Text = Trim(!Lama_Berkarya) txtgolruang.Text = Trim(!Golongan_Ruang) cmbstatuspeg.Text = Trim(!Status_Pegawai) txtasalpt.Text = Trim(!Asal_PT) txtnoijasah.Text = Trim(!No_Ijasah) cmbtingkat.Text = Trim(!Tingkat_Pendidikan) txtjurusan.Text = Trim(!Jurusan) txtthnlulus.Text = Trim(!Tahun_Lulus) txtjabatan.Text = Trim(!Jabatan) txtkelas.Text = Trim(!kelas) txtbidstudi1.Text = Trim(!bid_studi1_kelas) txtbidstudi2.Text = Trim(!bid_studi2_kelas) txtbidstudi3.Text = Trim(!bid_studi3_kelas) txtbidstudi4.Text = Trim(!bid_studi4_kelas) txtjammengajar.Text = Trim(!Total_Mengajar) ' fotoguru.Picture = LoadPicture(App.Path + "\Foto\" + Trim(!Foto_Guru))
131
setGrid End If End With cmbKategori.ListIndex = 0 Me.Left = 0 Me.Top = 0 End Sub Private Sub optbelum_Click() txtStatusKawin.Text = "PEREMPUAN" End Sub Private Sub optLaki_Click() txtJenisKelamin.Text = "LAKI-LAKI" End Sub Private Sub optPerempuan_Click() txtJenisKelamin.Text = "PEREMPUAN" End Sub Private Sub optsudah_Click() txtStatusKawin.Text = "SUDAH" End Sub Private Sub setGrid() With dftGuru .Row = 0 .Col = 0 .CellAlignment = 3 .CellFontBold = True .TextMatrix(0, 0) = "KODE" .Col = 1 .CellAlignment = 3 .CellFontBold = True .TextMatrix(0, 1) = "NIP" .Col = 2 .CellAlignment = 3 .CellFontBold = True .TextMatrix(0, 2) = "NAMA" .Col = 3 .CellAlignment = 3 .CellFontBold = True .TextMatrix(0, 3) = "ALAMAT" .Col = 4 .CellAlignment = 3 .CellFontBold = True .TextMatrix(0, 4) = "NO. SK" .Col = 5 .CellAlignment = 3 .CellFontBold = True .TextMatrix(0, 5) = "STATUS PEG." .Col = 6 .CellAlignment = 3 .CellFontBold = True .TextMatrix(0, 6) = "GOLONGAN" .Col = 7 .CellAlignment = 3 .CellFontBold = True .TextMatrix(0, 7) = "JABATAN" End With If dftGuru.Row > 1 Then
132
dftGuru.FixedRows = 1 End If End Sub Private Sub txtCari_Change() Dim com_Guru2 As ADODB.Command Dim rsGuru3 As ADODB.Recordset Set com_Guru2 = New ADODB.Command Set rsGuru3 = New ADODB.Recordset With com_Guru2 .ActiveConnection = con_Tarakanita If UCase(Trim(cmbKategori.Text)) = "KODE" Then .CommandText = "SELECT * FROM guru WHERE kode_guru like '%" + txtCari.Text + "%'" ElseIf UCase(Trim(cmbKategori.Text)) = "NIP" Then .CommandText = "SELECT * FROM guru WHERE NIP like '%" + txtCari.Text + "%'" Else .CommandText = "SELECT * FROM guru WHERE NAMA like '%" + txtCari.Text + "%'" End If .CommandType = adCmdText End With With rsGuru3 .CursorLocation = adUseClient .CursorType = adOpenStatic .LockType = adLockOptimistic .Open com_Guru2 End With dftGuru.Clear With rsGuru3 If Not .BOF Then .MoveFirst End If dftGuru.Row = 0 Do While Not .EOF dftGuru.Row = dftGuru.Row + 1 dftGuru.TextMatrix(dftGuru.Row, 0) = Trim(!kode_guru) dftGuru.TextMatrix(dftGuru.Row, 1) = Trim(!NIP) dftGuru.TextMatrix(dftGuru.Row, 2) = Trim(!Nama) dftGuru.TextMatrix(dftGuru.Row, 3) = Trim(!ALAMAT) dftGuru.TextMatrix(dftGuru.Row, 4) = Trim(!NO_SK) dftGuru.TextMatrix(dftGuru.Row, 5) = Trim(!Status_Pegawai) dftGuru.TextMatrix(dftGuru.Row, 6) = Trim(!Golongan_Ruang) dftGuru.TextMatrix(dftGuru.Row, 7) = Trim(!Jabatan) .MoveNext Loop End With dftGuru.Row = 1 setGrid End Sub Private Sub IsiGrid() Dim com_dftGuruSelect As ADODB.Command Dim rsGuruSelect As ADODB.Recordset Set com_dftGuruSelect = New ADODB.Command Set rsGuruSelect = New ADODB.Recordset
133
With com_dftGuruSelect .ActiveConnection = con_Tarakanita .CommandText = "SELECT * FROM guru" .CommandType = adCmdText End With With rsGuruSelect .CursorLocation = adUseClient .CursorType = adOpenStatic .LockType = adLockOptimistic .Open com_dftGuruSelect End With With rsGuruSelect If Not .BOF Then .MoveFirst End If dftGuru.Rows = 1 dftGuru.Row = 0 Do While Not .EOF dftGuru.Rows = dftGuru.Rows + 1 dftGuru.Row = dftGuru.Row + 1 dftGuru.TextMatrix(dftGuru.Row, 0) = UCase(Trim(!kode_guru)) dftGuru.TextMatrix(dftGuru.Row, 1) = UCase(Trim(!NIP)) dftGuru.TextMatrix(dftGuru.Row, 2) = Trim(!Nama) dftGuru.TextMatrix(dftGuru.Row, 3) = Trim(!ALAMAT) dftGuru.TextMatrix(dftGuru.Row, 4) = Trim(!NO_SK) dftGuru.TextMatrix(dftGuru.Row, 5) = UCase(Trim(!Status_Pegawai)) dftGuru.TextMatrix(dftGuru.Row, 6) = UCase(Trim(!Golongan_Ruang)) dftGuru.TextMatrix(dftGuru.Row, 7) = UCase(Trim(!Jabatan)) .MoveNext Loop End With setGrid End Sub
(FORM SISWA) Dim con_Tarakanita As ADODB.Connection Dim com_Siswa As ADODB.Command Dim rsSiswa As ADODB.Recordset Private Sub cmdBatalAdd_Click() cmdSimpanAdd.Visible = False cmdTambah.Visible = True cmdBatalAdd.Visible = False cmdBatalEdit.Visible = False cmdEdit.Visible = True cmdkeluar.Visible = True cmdEdit.Enabled = True cmdHapus.Enabled = True cmdmasukfoto.Enabled = False dftSiswa.Enabled = True With rsSiswa If .RecordCount = 0 Then cmdEdit.Enabled = False cmdHapus.Enabled = False clear_entry ' fotosiswa.Picture = LoadPicture(App.Path + "\Foto\InsertPicture.jpg") Else cmdEdit.Enabled = True
134
cmdHapus.Enabled = True .MoveLast txtNIS.Text = Trim(!NIS) txtNama.Text = Trim(!Nama_Lengkap) txtKelas.Text = Trim(!kode_kelas) If UCase(Trim(!Jenis_Kelamin)) = "LAKI-LAKI" Then optLaki.Value = True txtJenisKelamin.Text = "LAKI-LAKI" Else optPerempuan.Value = True txtJenisKelamin.Text = "PEREMPUAN" End If cmbTglLahir.Value = !Tanggal_Lahir txtTempat.Text = Trim(!Tempat) txtAlamat.Text = Trim(!ALAMAT) cmbAgama.Text = Trim(!Agama) txtStatusKel.Text = Trim(!Status_Dalam_Keluarga) txtAnakNo.Text = Trim(!Anak_ke) txtKelasTerima.Text = Trim(!Diterima_di_Kelas) cmbTglTerima.Value = !PAda_tanggal txtSekolahAsal.Text = Trim(!Nama_Sekolah_Asal) txtAlmtSklhAsal.Text = Trim(!Alamat_Sekolah_Asal) txtCacatTubuh.Text = Trim(!Cacat_Tubuh) txtJenisPenyakit.Text = Trim(!Jenis_Penyakit) cmbTglPenyakit.Value = !Tanggal_Menderita txtLmMenderita.Text = Trim(!Lama_Menderita) txtNamaAyah.Text = Trim(!Nama_Ayah) txtPnddknAyah.Text = Trim(!Pendidikan_Ayah) txtKerjaAyah.Text = Trim(!Pekerjaan_Ayah) cmbAgamaAyah.Text = Trim(!Agama_Ayah) txtAlmtAyah.Text = Trim(!Alamat_Ayah) txtNamaIbu.Text = Trim(!Nama_Ibu) txtPnddknIbu.Text = Trim(!Pendidikan_Ibu) txtKerjaIbu.Text = Trim(!Pekerjaan_Ibu) cmbAgamaIbu.Text = Trim(!Agama_Ibu) txtAlmtIbu.Text = Trim(!Alamat_Ibu) txtNamaWali.Text = Trim(!Nama_Wali) txtPnddknWali.Text = Trim(!Pendidikan_Wali) txtKerjaWali.Text = Trim(!Pekerjaan_Wali) cmbAgamaWali.Text = Trim(!Agama_Wali) txtAlmtWali.Text = Trim(!Alamat_Wali) ' fotosiswa.Picture = LoadPicture(App.Path + "\Foto\" + Trim(!Foto_Guru)) End If End With disabled_entry End Sub Private Sub cmdBatalEdit_Click() disabled_entry cmdTambah.Enabled = True cmdSimpanAdd.Enabled = True cmdHapus.Enabled = True cmdEdit.Visible = True cmdSimpanEdit.Visible = False cmdkeluar.Visible = True cmdBatalEdit.Visible = False End Sub Private Sub cmdEdit_Click() enabled_entry cmdTambah.Enabled = False cmdSimpanAdd.Enabled = False
135
cmdHapus.Enabled = False cmdEdit.Visible = False cmdSimpanEdit.Visible = True cmdkeluar.Visible = False cmdBatalEdit.Visible = True cmdBatalAdd.Visible = False End Sub Private Sub cmdHapus_Click() Dim jawab As Boolean Dim com_dftSiswaHapus As ADODB.Command Dim rsSiswaHapus As ADODB.Recordset jawab = MsgBox("Anda yakin akan menghapus data ini?", vbOKCancel, "Konfirmasi") If jawab Then Set com_dftSiswaHapus = New ADODB.Command Set rsSiswaHapus = New ADODB.Recordset With com_dftSiswaHapus .ActiveConnection = con_Tarakanita .CommandText = "DELETE FROM siswa WHERE NIS='" + Trim(txtNIS.Text) + "'" .CommandType = adCmdText End With With rsSiswaHapus .CursorLocation = adUseClient .CursorType = adOpenStatic .LockType = adLockOptimistic .Open com_dftSiswaHapus End With IsiGrid MsgBox "Data sudah dihapus...!!!", vbOKOnly, "Informasi" End If End Sub Private Sub cmdkeluar_Click() Unload Me End Sub Private Sub cmdmasukfoto_Click() frmAmbilFoto2.Show Me.Enabled = False End Sub Private Sub cmdSimpanAdd_Click() If txtNama.Text = "" Or txtKelas.Text = "" Or txtTempat.Text = "" Or txtAlamat.Text = "" _ Or cmbAgama.Text = "" Or txtStatusKel.Text = "" Or txtAnakNo.Text = "" Or txtKelasTerima.Text = "" _ Or txtSekolahAsal.Text = "" Or txtAlmtSklhAsal.Text = "" Or txtNamaAyah.Text = "" Or txtPnddknAyah.Text = "" _ Or txtKerjaAyah.Text = "" Or cmbAgamaAyah.Text = "" Or txtAlmtAyah.Text = "" Or txtNamaIbu.Text = "" _ Or txtPnddknIbu.Text = "" Or txtKerjaIbu.Text = "" Or cmbAgamaIbu.Text = "" Or txtAlmtIbu.Text = "" Then MsgBox "Lengkapi data-data Anda...", vbCritical, "Peringatan" GoTo OK Else With rsSiswa .AddNew !NIS = UCase(Trim(txtNIS.Text))
136
!Nama_Lengkap = Trim(txtNama.Text) !kode_kelas = Trim(txtKelas.Text) !Tanggal_Lahir = cmbTglLahir.Value !Tempat = Trim(txtTempat.Text) !Jenis_Kelamin = UCase(Trim(txtJenisKelamin.Text)) !ALAMAT = Trim(txtAlamat.Text) !Agama = UCase(Trim(cmbAgama.Text)) !Status_Dalam_Keluarga = Trim(txtStatusKel.Text) !Anak_ke = Trim(txtAnakNo.Text) !Diterima_di_Kelas = Trim(txtKelasTerima.Text) !PAda_tanggal = cmbTglTerima.Value !Nama_Sekolah_Asal = Trim(txtSekolahAsal.Text) !Alamat_Sekolah_Asal = Trim(txtAlmtSklhAsal.Text) !Cacat_Tubuh = Trim(txtCacatTubuh.Text) !Jenis_Penyakit = Trim(txtJenisPenyakit.Text) !Tanggal_Menderita = cmbTglPenyakit.Value !Lama_Menderita = Trim(txtLmMenderita.Text) !Nama_Ayah = Trim(txtNamaAyah.Text) !Pendidikan_Ayah = Trim(txtPnddknAyah.Text) !Pekerjaan_Ayah = Trim(txtKerjaAyah.Text) !Agama_Ayah = Trim(cmbAgamaAyah.Text) !Alamat_Ayah = Trim(txtAlmtAyah.Text) !Nama_Ibu = Trim(txtNamaIbu.Text) !Pendidikan_Ibu = Trim(txtPnddknIbu.Text) !Pekerjaan_Ibu = Trim(txtKerjaIbu.Text) !Agama_Ibu = Trim(cmbAgamaIbu.Text) !Alamat_Ibu = Trim(txtAlmtIbu.Text) !Nama_Wali = Trim(txtNamaWali.Text) !Pendidikan_Wali = Trim(txtPnddknWali.Text) !Pekerjaan_Wali = Trim(txtKerjaWali.Text) !Agama_Wali = Trim(cmbAgamaWali.Text) !Alamat_Wali = Trim(txtAlmtWali.Text) !Foto_Siswa = LoadPicture("D:\InsertPicture.jpg") .Update End With IsiGrid On Error GoTo Akhir MsgBox "Data siswa sudah disimpan...", vbInformation, "Informasi" GoTo OK End If Akhir: MsgBox "Proses penyimpanan data siswa gagal...", vbCritical, "Peringatan" OK: End Sub Private Sub cmdSimpanEdit_Click() Dim com_dftSiswaEdit As ADODB.Command Dim rsSiswaEdit As ADODB.Recordset If txtNama.Text = "" Or txtKelas.Text = "" Or txtTempat.Text = "" Or txtAlamat.Text = "" _ Or cmbAgama.Text = "" Or txtStatusKel.Text = "" Or txtAnakNo.Text = "" Or txtKelasTerima.Text = "" _ Or txtSekolahAsal.Text = "" Or txtAlmtSklhAsal.Text = "" Or txtNamaAyah.Text = "" Or txtPnddknAyah.Text = "" _ Or txtKerjaAyah.Text = "" Or cmbAgamaAyah.Text = "" Or txtAlmtAyah.Text = "" Or txtNamaIbu.Text = "" _ Or txtPnddknIbu.Text = "" Or txtKerjaIbu.Text = "" Or cmbAgamaIbu.Text = "" Or txtAlmtIbu.Text = "" Then MsgBox "Lengkapi data-data Anda...", vbCritical, "Peringatan" GoTo OK
137
Else Set com_dftSiswaEdit = New ADODB.Command Set rsSiswaEdit = New ADODB.Recordset With com_dftSiswaEdit .ActiveConnection = con_Tarakanita .CommandText = "UPDATE siswa SET " & _ "NIS='" & UCase(Trim(txtNIS.Text)) & "',Nama_Lengkap='" & Trim(txtNama.Text) & "',Kode_Kelas='" & Trim(txtKelas.Text) & "'," & _ "Tanggal_Lahir=" & cmbTglLahir.Value & ",Tempat='" & Trim(txtTempat.Text) & "',Jenis_Kelamin='" & UCase(Trim(txtJenisKelamin.Text)) & "',Alamat='" & Trim(txtAlamat.Text) & "'," & _ "Agama='" & UCase(Trim(cmbAgama.Text)) & "',Status_Dalam_Keluarga='" & Trim(txtStatusKel.Text) & "',Anak_ke='" & Trim(txtAnakNo.Text) & "'," & _ "Diterima_Di_Kelas='" & Trim(txtKelasTerima.Text) & "',Pada_Tanggal=" & cmbTglTerima.Value & ",Nama_Sekolah_Asal='" & Trim(txtSekolahAsal.Text) & "'," & _ "Alamat_Sekolah_Asal='" & Trim(txtAlmtSklhAsal.Text) & "',Cacat_Tubuh='" & Trim(txtCacatTubuh.Text) & "',Jenis_Penyakit='" & Trim(txtJenisPenyakit.Text) & "'," & _ "Tanggal_Menderita=" & cmbTglPenyakit.Value & ",Lama_Menderita='" & Trim(txtLmMenderita.Text) & "',Nama_Ayah='" & Trim(txtNamaAyah.Text) & "'," & _ "Pendidikan_Ayah='" & Trim(txtPnddknAyah.Text) & "',Pekerjaan_Ayah='" & Trim(txtKerjaAyah.Text) & "',Agama_Ayah='" & Trim(cmbAgamaAyah.Text) & "'," & _ "Alamat_Ayah='" & Trim(txtAlmtAyah.Text) & "',Nama_Ibu='" & Trim(txtNamaIbu.Text) & "',Pendidikan_Ibu='" & Trim(txtPnddknIbu.Text) & "'," & _ "Pekerjaan_Ibu='" & Trim(txtKerjaIbu.Text) & "',Agama_Ibu='" & Trim(cmbAgamaIbu.Text) & "',Alamat_Ibu='" & Trim(txtAlmtIbu.Text) & "',Nama_Wali='" & Trim(txtNamaWali.Text) & "'," & _ "Pendidikan_Wali='" & Trim(txtPnddknWali.Text) & "',Pekerjaan_Wali='" & Trim(txtKerjaWali.Text) & "',Agama_Wali='" & Trim(cmbAgamaWali.Text) & "',Alamat_Wali='" & Trim(txtAlmtWali.Text) & "'" & _ "WHERE NIS='" + Trim(txtNIS.Text) + "'" ' "Foto_Siswa=" & LoadPicture("F:\InsertPicture.jpg") & .CommandType = adCmdText End With With rsSiswaEdit .CursorLocation = adUseClient .CursorType = adOpenStatic .LockType = adLockOptimistic .Open com_dftSiswaEdit End With IsiGrid disabled_entry cmdTambah.Enabled = True cmdSimpanAdd.Enabled = True cmdHapus.Enabled = True cmdEdit.Visible = True cmdSimpanEdit.Visible = False cmdkeluar.Visible = True cmdBatalEdit.Visible = False On Error GoTo Akhir MsgBox "Data siswa sudah diubah...", vbInformation, "Informasi" GoTo OK End If Akhir: MsgBox "Proses penyimpanan data siswa gagal...", vbCritical, "Peringatan" OK: End Sub Private Sub cmdtambah_Click() Dim kode As String
138
cmdTambah.Visible = False cmdSimpanAdd.Visible = True cmdEdit.Visible = True cmdEdit.Enabled = False cmdSimpanEdit.Visible = False cmdHapus.Enabled = False cmdkeluar.Visible = False cmdBatalEdit.Visible = False cmdBatalAdd.Visible = True cmdmasukfoto.Enabled = True dftSiswa.Enabled = False With rsSiswa If .RecordCount = 0 Then txtNIS.Text = "M-1" Else .MoveLast kode = "M-" + Trim(Str(Val(Mid(Trim(!NIS), 3)) + 1)) txtNIS.Text = Trim(kode) End If End With enabled_entry clear_entry txtNama.SetFocus End Sub Private Sub enabled_entry() txtNama.Enabled = True txtKelas.Enabled = True optLaki.Enabled = True optPerempuan.Enabled = True cmbTglLahir.Enabled = True txtTempat.Enabled = True txtAlamat.Enabled = True cmbAgama.Enabled = True txtStatusKel.Enabled = True txtAnakNo.Enabled = True txtKelasTerima.Enabled = True cmbTglTerima.Enabled = True txtSekolahAsal.Enabled = True txtAlmtSklhAsal.Enabled = True txtCacatTubuh.Enabled = True txtJenisPenyakit.Enabled = True cmbTglPenyakit.Enabled = True txtLmMenderita.Enabled = True txtNamaAyah.Enabled = True txtPnddknAyah.Enabled = True txtKerjaAyah.Enabled = True cmbAgamaAyah.Enabled = True txtAlmtAyah.Enabled = True txtNamaIbu.Enabled = True txtPnddknIbu.Enabled = True txtKerjaIbu.Enabled = True cmbAgamaIbu.Enabled = True txtAlmtIbu.Enabled = True txtNamaWali.Enabled = True txtPnddknWali.Enabled = True txtKerjaWali.Enabled = True cmbAgamaWali.Enabled = True txtAlmtWali.Enabled = True cmdmasukfoto.Enabled = True End Sub
139
Private Sub disabled_entry() txtNama.Enabled = False txtKelas.Enabled = False optLaki.Enabled = False optPerempuan.Enabled = False cmbTglLahir.Enabled = False txtTempat.Enabled = False txtAlamat.Enabled = False cmbAgama.Enabled = False txtStatusKel.Enabled = False txtAnakNo.Enabled = False txtKelasTerima.Enabled = False cmbTglTerima.Enabled = False txtSekolahAsal.Enabled = False txtAlmtSklhAsal.Enabled = False txtCacatTubuh.Enabled = False txtJenisPenyakit.Enabled = False cmbTglPenyakit.Enabled = False txtLmMenderita.Enabled = False txtNamaAyah.Enabled = False txtPnddknAyah.Enabled = False txtKerjaAyah.Enabled = False cmbAgamaAyah.Enabled = False txtAlmtAyah.Enabled = False txtNamaIbu.Enabled = False txtPnddknIbu.Enabled = False txtKerjaIbu.Enabled = False cmbAgamaIbu.Enabled = False txtAlmtIbu.Enabled = False txtNamaWali.Enabled = False txtPnddknWali.Enabled = False txtKerjaWali.Enabled = False cmbAgamaWali.Enabled = False txtAlmtWali.Enabled = False cmdmasukfoto.Enabled = False End Sub Private Sub clear_entry() txtNama.Text = "" txtKelas.Text = "" optLaki.Value = True txtTempat.Text = "" txtAlamat.Text = "" cmbAgama.Text = "" txtStatusKel.Text = "" txtAnakNo.Text = "" txtKelasTerima.Text = "" txtSekolahAsal.Text = "" txtAlmtSklhAsal.Text = "" txtCacatTubuh.Text = "" txtJenisPenyakit.Text = "" txtLmMenderita.Text = "" txtNamaAyah.Text = "" txtPnddknAyah.Text = "" txtKerjaAyah.Text = "" cmbAgamaAyah.Text = "" txtAlmtAyah.Text = "" txtNamaIbu.Text = "" txtPnddknIbu.Text = "" txtKerjaIbu.Text = "" cmbAgamaIbu.Text = ""
140
txtAlmtIbu.Text = "" txtNamaWali.Text = "" txtPnddknWali.Text = "" txtKerjaWali.Text = "" cmbAgamaWali.Text = "" txtAlmtWali.Text = "" End Sub Private Sub dftSiswa_Click() Dim com_dftSiswa As ADODB.Command Dim rsSiswa2 As ADODB.Recordset Set com_dftSiswa = New ADODB.Command Set rsSiswa2 = New ADODB.Recordset With com_dftSiswa .ActiveConnection = con_Tarakanita .CommandText = "SELECT * FROM siswa where NIS='" + Trim(dftSiswa.TextMatrix(dftSiswa.Row, 0)) + "'" .CommandType = adCmdText End With With rsSiswa2 .CursorLocation = adUseClient .CursorType = adOpenStatic .LockType = adLockOptimistic .Open com_dftSiswa End With With rsSiswa2 txtNIS.Text = Trim(!NIS) txtNama.Text = Trim(!Nama_Lengkap) txtKelas.Text = Trim(!kode_kelas) If UCase(Trim(!Jenis_Kelamin)) = "LAKI-LAKI" Then optLaki.Value = True txtJenisKelamin.Text = "LAKI-LAKI" Else optPerempuan.Value = True txtJenisKelamin.Text = "PEREMPUAN" End If cmbTglLahir.Value = !Tanggal_Lahir txtTempat.Text = Trim(!Tempat) txtAlamat.Text = Trim(!ALAMAT) cmbAgama.Text = Trim(!Agama) txtStatusKel.Text = Trim(!Status_Dalam_Keluarga) txtAnakNo.Text = Trim(!Anak_ke) txtKelasTerima.Text = Trim(!Diterima_di_Kelas) cmbTglTerima.Value = !PAda_tanggal txtSekolahAsal.Text = Trim(!Nama_Sekolah_Asal) txtAlmtSklhAsal.Text = Trim(!Alamat_Sekolah_Asal) txtCacatTubuh.Text = Trim(!Cacat_Tubuh) txtJenisPenyakit.Text = Trim(!Jenis_Penyakit) cmbTglPenyakit.Value = !Tanggal_Menderita txtLmMenderita.Text = Trim(!Lama_Menderita) txtNamaAyah.Text = Trim(!Nama_Ayah) txtPnddknAyah.Text = Trim(!Pendidikan_Ayah) txtKerjaAyah.Text = Trim(!Pekerjaan_Ayah) cmbAgamaAyah.Text = Trim(!Agama_Ayah) txtAlmtAyah.Text = Trim(!Alamat_Ayah) txtNamaIbu.Text = Trim(!Nama_Ibu) txtPnddknIbu.Text = Trim(!Pendidikan_Ibu) txtKerjaIbu.Text = Trim(!Pekerjaan_Ibu)
141
cmbAgamaIbu.Text = Trim(!Agama_Ibu) txtAlmtIbu.Text = Trim(!Alamat_Ibu) txtNamaWali.Text = Trim(!Nama_Wali) txtPnddknWali.Text = Trim(!Pendidikan_Wali) txtKerjaWali.Text = Trim(!Pekerjaan_Wali) cmbAgamaWali.Text = Trim(!Agama_Wali) txtAlmtWali.Text = Trim(!Alamat_Wali) ' fotosiswa.Picture = LoadPicture(App.Path + "\Foto\" + Trim(!Foto_Guru)) End With End Sub Private Sub Form_Load() Set con_Tarakanita = New ADODB.Connection Set com_Siswa = New ADODB.Command Set rsSiswa = New ADODB.Recordset With con_Tarakanita .ConnectionString = "Provider=SQLOLEDB.1;User ID=antonius;Initial Catalog=TARAKANITA;Password=antonius" .Open End With With com_Siswa .ActiveConnection = con_Tarakanita .CommandText = "SELECT * FROM siswa" .CommandType = adCmdText End With With rsSiswa .CursorLocation = adUseClient .CursorType = adOpenDynamic .LockType = adLockOptimistic .Open com_Siswa End With disabled_entry With rsSiswa If .RecordCount = 0 Then MsgBox "Data siswa masih kosong...", vbInformation, "Informasi" txtNIS.Text = "M-1" ' fotoguru.Picture = LoadPicture(App.Path + "\Foto\InsertPicture.jpg") cmdEdit.Enabled = False cmdHapus.Enabled = False Else .MoveFirst txtNIS.Text = Trim(!NIS) txtNama.Text = Trim(!Nama_Lengkap) txtKelas.Text = Trim(!kode_kelas) cmbTglLahir.Value = !Tanggal_Lahir txtTempat.Text = Trim(!Tempat) If UCase(Trim(!Jenis_Kelamin)) = "LAKI-LAKI" Then optLaki.Value = True txtJenisKelamin.Text = "LAKI-LAKI" Else optPerempuan.Value = True txtJenisKelamin.Text = "PEREMPUAN" End If txtAlamat.Text = Trim(!ALAMAT) cmbAgama.Text = Trim(!Agama) txtStatusKel.Text = Trim(!Status_Dalam_Keluarga) txtAnakNo.Text = Trim(!Anak_ke)
142
txtKelasTerima.Text = Trim(!Diterima_di_Kelas) cmbTglTerima.Value = !PAda_tanggal txtSekolahAsal.Text = Trim(!Nama_Sekolah_Asal) txtAlmtSklhAsal.Text = Trim(!Alamat_Sekolah_Asal) txtCacatTubuh.Text = Trim(!Cacat_Tubuh) txtJenisPenyakit.Text = Trim(!Jenis_Penyakit) cmbTglPenyakit.Value = !Tanggal_Menderita txtLmMenderita.Text = Trim(!Lama_Menderita) txtNamaAyah.Text = Trim(!Nama_Ayah) txtPnddknAyah.Text = Trim(!Pendidikan_Ayah) txtKerjaAyah.Text = Trim(!Pekerjaan_Ayah) cmbAgamaAyah.Text = Trim(!Agama_Ayah) txtAlmtAyah.Text = Trim(!Alamat_Ayah) txtNamaIbu.Text = Trim(!Nama_Ibu) txtPnddknIbu.Text = Trim(!Pendidikan_Ibu) txtKerjaIbu.Text = Trim(!Pekerjaan_Ibu) cmbAgamaIbu.Text = Trim(!Agama_Ibu) txtAlmtIbu.Text = Trim(!Alamat_Ibu) txtNamaWali.Text = Trim(!Nama_Wali) txtPnddknWali.Text = Trim(!Pendidikan_Wali) txtKerjaWali.Text = Trim(!Pekerjaan_Wali) cmbAgamaWali.Text = Trim(!Agama_Wali) txtAlmtWali.Text = Trim(!Alamat_Wali) ' fotosiswa.Picture = LoadPicture(App.Path + "\Foto\" + Trim(!Foto_Siswa)) End If End With IsiGrid cmbKategori.ListIndex = 0 Me.Left = 0 Me.Top = 0 End Sub Private Sub optLaki_Click() txtJenisKelamin.Text = "LAKI-LAKI" End Sub Private Sub optPerempuan_Click() txtJenisKelamin.Text = "PEREMPUAN" End Sub Private Sub IsiGrid() Dim com_dftSiswaSelect As ADODB.Command Dim rsSiswaSelect As ADODB.Recordset Set com_dftSiswaSelect = New ADODB.Command Set rsSiswaSelect = New ADODB.Recordset With com_dftSiswaSelect .ActiveConnection = con_Tarakanita .CommandText = "SELECT * FROM siswa" .CommandType = adCmdText End With With rsSiswaSelect .CursorLocation = adUseClient .CursorType = adOpenStatic .LockType = adLockOptimistic .Open com_dftSiswaSelect End With
143
With rsSiswaSelect If Not .BOF Then .MoveFirst End If dftSiswa.Rows = 1 dftSiswa.Row = 0 Do While Not .EOF dftSiswa.Rows = dftSiswa.Rows + 1 dftSiswa.Row = dftSiswa.Row + 1 dftSiswa.TextMatrix(dftSiswa.Row, 0) = UCase(Trim(!NIS)) dftSiswa.TextMatrix(dftSiswa.Row, 1) = Trim(!Nama_Lengkap) dftSiswa.TextMatrix(dftSiswa.Row, 2) = Trim(!kode_kelas) dftSiswa.TextMatrix(dftSiswa.Row, 3) = Trim(!ALAMAT) dftSiswa.TextMatrix(dftSiswa.Row, 4) = Trim(!Nama_Sekolah_Asal) dftSiswa.TextMatrix(dftSiswa.Row, 5) = Trim(!Nama_Ayah) dftSiswa.TextMatrix(dftSiswa.Row, 6) = Trim(!Nama_Ibu) dftSiswa.TextMatrix(dftSiswa.Row, 7) = Trim(!Nama_Wali) .MoveNext Loop End With setGrid End Sub Private Sub setGrid() With dftSiswa .Row = 0 .Col = 0 .CellAlignment = 3 .CellFontBold = True .TextMatrix(0, 0) = "NIS" .Col = 1 .CellAlignment = 3 .CellFontBold = True .TextMatrix(0, 1) = "NAMA" .Col = 2 .CellAlignment = 3 .CellFontBold = True .TextMatrix(0, 2) = "KELAS" .Col = 3 .CellAlignment = 3 .CellFontBold = True .TextMatrix(0, 3) = "ALAMAT" .Col = 4 .CellAlignment = 3 .CellFontBold = True .TextMatrix(0, 4) = "SEKOLAH ASAL" .Col = 5 .CellAlignment = 3 .CellFontBold = True .TextMatrix(0, 5) = "NAMA AYAH" .Col = 6 .CellAlignment = 3 .CellFontBold = True .TextMatrix(0, 6) = "NAMA IBU" .Col = 7 .CellAlignment = 3 .CellFontBold = True .TextMatrix(0, 7) = "NAMA WALI" End With If dftSiswa.Rows <= 1 Then dftSiswa.Rows = 2 End If
144
dftSiswa.FixedRows = 1 End Sub Private Sub txtCari_Change() Dim com_Siswa2 As ADODB.Command Dim rsSiswa3 As ADODB.Recordset Set com_Siswa2 = New ADODB.Command Set rsSiswa3 = New ADODB.Recordset With com_Siswa2 .ActiveConnection = con_Tarakanita If UCase(Trim(cmbKategori.Text)) = "NIS" Then .CommandText = "SELECT * FROM siswa WHERE NIS like '%" + txtCari.Text + "%'" ElseIf UCase(Trim(cmbKategori.Text)) = "NAMA" Then .CommandText = "SELECT * FROM siswa WHERE NAMA like '%" + txtCari.Text + "%'" ElseIf UCase(Trim(cmbKategori.Text)) = "ALAMAT" Then .CommandText = "SELECT * FROM siswa WHERE ALAMAT like '%" + txtCari.Text + "%'" ElseIf UCase(Trim(cmbKategori.Text)) = "KELAS" Then .CommandText = "SELECT * FROM siswa WHERE KODE_KELAS like '%" + txtCari.Text + "%'" Else .CommandText = "SELECT * FROM siswa WHERE NAMA_SEKOLAH_ASAL like '%" + txtCari.Text + "%'" End If .CommandType = adCmdText End With With rsSiswa3 .CursorLocation = adUseClient .CursorType = adOpenStatic .LockType = adLockOptimistic .Open com_Siswa2 End With dftSiswa.Clear With rsSiswa3 If Not .BOF Then .MoveFirst End If dftSiswa.Row = 0 Do While Not .EOF dftSiswa.Row = dftSiswa.Row + 1 dftSiswa.TextMatrix(dftSiswa.Row, 0) = Trim(!NIS) dftSiswa.TextMatrix(dftSiswa.Row, 1) = Trim(!Nama_Lengkap) dftSiswa.TextMatrix(dftSiswa.Row, 2) = Trim(!kode_kelas) dftSiswa.TextMatrix(dftSiswa.Row, 3) = Trim(!ALAMAT) dftSiswa.TextMatrix(dftSiswa.Row, 4) = Trim(!Nama_Sekolah_Asal) dftSiswa.TextMatrix(dftSiswa.Row, 5) = Trim(!Nama_Ayah) dftSiswa.TextMatrix(dftSiswa.Row, 6) = Trim(!Nama_Ibu) dftSiswa.TextMatrix(dftSiswa.Row, 7) = Trim(!Nama_Wali) .MoveNext Loop End With dftSiswa.Row = 1 setGrid End Sub
145
(FORM ABSENSI) Dim con_Tarakanita As ADODB.Connection Dim com_absensisiswa As ADODB.Command Dim rsabsensi As ADODB.Recordset Private Sub cmdBatalAdd_Click() cmdSimpanAdd.Visible = False cmdTambah.Visible = True cmdBatalAdd.Visible = False cmdBatalEdit.Visible = False cmdkeluar.Visible = True dftabsensi.Enabled = True With rsabsensi If .RecordCount = 0 Then cmdEdit.Enabled = False cmdHapus.Enabled = False clear_entry Else cmdEdit.Enabled = True cmdHapus.Enabled = True .MoveLast txtnis.Text = Trim(!NIS) txtnama.Text = Trim(!nama_siswa) txtkelas.Text = Trim(!kelas) txtTempat.Text = Trim(!Wali_Kelas) cmbsem.Text = !semester txttahunajaran.Text = Trim(!tahun_pembelajaran) cmblisthari.Text = !Hari cmbtgl.Value = !Hari If optijin.Value = True Then txtabsensi.Text = "Ijin" ElseIf optsakit.Value = True Then txtabsensi.Text = "Sakit" ElseIf opttanpaket.Value = True Then txtabsensi.Text = "Tanpa Keterangan" End If End txttotalijin.Text = Trim(!Total_Ijin) txttotalsakit.Text = Trim(!Total_Sakit) txttotaltanpaket.Text = Trim(!Total_Tanpa_Keterangan) txtketabsensiswa.Text = (!keterangan) End If End With disabled_entry End Sub Private Sub cmdBatalEdit_Click() disabled_entry cmdTambah.Enabled = True cmdSimpanAdd.Enabled = True cmdHapus.Enabled = True cmdEdit.Visible = True cmdSimpanEdit.Visible = False cmdkeluar.Visible = True cmdBatalEdit.Visible = False End Sub Private Sub cmdkeluar_Click() Unload Me
146
End Sub Private Sub disabled_entry() txtnis.Enabled = False txtnama.Enabled = False txtkelas.Enabled = False txtwalikelas.Enabled = False cmbsem.Enabled = False txtketabsensiswa.Enabled = False cmblisthari.Enabled = False cmbtgl.Enabled = False optijin.Enabled = False optsakit.Enabled = False opttanpaket.Enabled = False txttotalijin.Enabled = False txttotalsakit.Enabled = False txttotaltanpaket.Enabled = False End Sub Private Sub enabled_entry() txtnis.Enabled = True txtnama.Enabled = True txtkelas.Enabled = True txtwalikelas.Enabled = True cmbsem.Enabled = True txtketabsensiswa.Enabled = True cmblisthari.Enabled = True cmbtgl.Enabled = True optijin.Enabled = True optsakit.Enabled = True opttanpaket.Enabled = True txttotalijin.Enabled = True txttotalsakit.Enabled = True txttotaltanpaket.Enabled = True End Sub Private Sub clear_entry() txtnis.Text = "" txtnama.Text = "" txtkelas.Text = "" txtwalikelas.Text = "" cmbsem.Text = "" txtketabsensiswa.Text = "" cmblisthari.Text = "" cmbtgl.Value = Date optijin.Value = True optsakit.Value = True opttanpaket.Value = True txttotalijin.Text = "" txttotalsakit.Text = "" txttotaltanpaket.Text = "" End Sub Private Sub cmdEdit_Click() enabled_entry cmdTambah.Enabled = False cmdSimpanAdd.Enabled = False cmdHapus.Enabled = False cmdEdit.Visible = False cmdSimpanEdit.Visible = True cmdkeluar.Visible = False cmdBatalEdit.Visible = True End Sub
147
Private Sub cmdtambah_Click() cmdTambah.Visible = False cmdSimpanAdd.Visible = True cmdEdit.Visible = True cmdEdit.Enabled = False cmdSimpanEdit.Visible = False cmdHapus.Enabled = False cmdkeluar.Visible = False cmdBatalEdit.Visible = False cmdBatalAdd.Visible = True dftabsensi.Enabled = False enabled_entry clear_entry 'txtnip.SetFocus End Sub Private Sub dftabsensi_Click() Dim com_dftabsensi As ADODB.Command Dim rsabsensi2 As ADODB.Recordset Set com_dftabsensi = New ADODB.Command Set rsabsensi2 = New ADODB.Recordset With com_dftabsensi .ActiveConnection = con_Tarakanita .CommandText = "SELECT * FROM absensi where NIS='" + Trim(dftabsensi.TextMatrix(dftabsensi.Row, 0)) + "'" .CommandType = adCmdText End With With rsabsensi2 .CursorLocation = adUseClient .CursorType = adOpenStatic .LockType = adLockOptimistic .Open com_dftabsensi End With With rsabsensi2 txtnis.Text = Trim(!NIS) txtnama.Text = Trim(!nama_siswa) txtkelas.Text = Trim(!kelas) txtTempat.Text = Trim(!Wali_Kelas) cmbsem.Text = !semester txttahunajaran.Text = Trim(!tahun_pembelajaran) cmblisthari.Text = !Hari cmbtgl.Value = !Hari If optijin.Value = True Then txtabsensi.Text = "Ijin" ElseIf optsakit.Value = True Then txtabsensi.Text = "Sakit" ElseIf opttanpaket.Value = True Then txtabsensi.Text = "Tanpa Keterangan" End If End txttotalijin.Text = Trim(!Total_Ijin) txttotalsakit.Text = Trim(!Total_Sakit) txttotaltanpaket.Text = Trim(!Total_Tanpa_Keterangan) txtketabsensiswa.Text = (!keterangan) End With End Sub Private Sub optijin_Click()
148
txtabsensi.Text = "Ijin" End Sub Private Sub optsakit_Click() txtabsensi.Text = "Sakit" End Sub Private Sub opttanpaket_Click() txtabsensi.Text = "Tanpa Keterangan" End Sub
(FORM ABSENSI) Dim con_Tarakanita As ADODB.Connection Dim com_Mapel As ADODB.Command Dim rsMapel As ADODB.Recordset Private Sub cmdBatalAdd_Click() cmdSimpanAdd.Visible = False cmdTambah.Visible = True cmdBatalAdd.Visible = False cmdBatalEdit.Visible = False cmdEdit.Visible = True cmdkeluar.Visible = True cmdEdit.Enabled = True cmdHapus.Enabled = True dftMapel.Enabled = True With rsMapel If .RecordCount = 0 Then cmdEdit.Enabled = False cmdHapus.Enabled = False txtMapel.Text = "" Else cmdEdit.Enabled = True cmdHapus.Enabled = True .MoveLast txtIDMapel.Text = Trim(!IDMapel) txtMapel.Text = Trim(!Mapel) End If End With txtMapel.Enabled = False End Sub Private Sub cmdBatalEdit_Click() txtMapel.Enabled = False cmdTambah.Enabled = True cmdSimpanAdd.Enabled = True cmdHapus.Enabled = True cmdEdit.Visible = True cmdSimpanEdit.Visible = False cmdkeluar.Visible = True cmdBatalEdit.Visible = False End Sub Private Sub cmdEdit_Click() txtMapel.Enabled = True cmdTambah.Enabled = False cmdSimpanAdd.Enabled = False cmdHapus.Enabled = False cmdEdit.Visible = False
149
cmdSimpanEdit.Visible = True cmdkeluar.Visible = False cmdBatalEdit.Visible = True cmdBatalAdd.Visible = False End Sub Private Sub cmdHapus_Click() Dim jawab As Boolean Dim com_dftMapelHapus As ADODB.Command Dim rsMapelHapus As ADODB.Recordset jawab = MsgBox("Anda yakin akan menghapus data ini?", vbOKCancel, "Konfirmasi") If jawab Then Set com_dftMapelHapus = New ADODB.Command Set rsMapelHapus = New ADODB.Recordset With com_dftMapelHapus .ActiveConnection = con_Tarakanita .CommandText = "DELETE FROM mapel WHERE IDMapel='" + Trim(txtIDMapel.Text) + "'" .CommandType = adCmdText End With With rsMapelHapus .CursorLocation = adUseClient .CursorType = adOpenStatic .LockType = adLockOptimistic .Open com_dftMapelHapus End With IsiGrid MsgBox "Data sudah dihapus...!!!", vbOKOnly, "Informasi" End If End Sub Private Sub cmdkeluar_Click() Unload Me End Sub Private Sub cmdSimpanAdd_Click() If txtMapel.Text = "" Then MsgBox "Lengkapi data Anda...", vbCritical, "Peringatan" GoTo OK Else With rsMapel .AddNew !IDMapel = UCase(Trim(txtIDMapel.Text)) !Mapel = Trim(txtMapel.Text) .Update End With IsiGrid On Error GoTo Akhir MsgBox "Data mata pelajaran sudah disimpan...", vbInformation, "Informasi" GoTo OK End If Akhir: MsgBox "Proses penyimpanan data mata pelajaran gagal...", vbCritical, "Peringatan" OK: End Sub
150
Private Sub cmdSimpanEdit_Click() Dim com_dftMapelEdit As ADODB.Command Dim rsMapelEdit As ADODB.Recordset If txtMapel.Text = "" Then MsgBox "Lengkapi data Anda...", vbCritical, "Peringatan" GoTo OK Else Set com_dftMapelEdit = New ADODB.Command Set rsMapelEdit = New ADODB.Recordset With com_dftMapelEdit .ActiveConnection = con_Tarakanita .CommandText = "UPDATE mapel SET " & _ "IDMapel='" & UCase(Trim(txtIDMapel.Text)) & "',Mapel='" & Trim(txtMapel.Text) & "' WHERE IDMapel='" + Trim(txtIDMapel.Text) + "'" End With With rsMapelEdit .CursorLocation = adUseClient .CursorType = adOpenStatic .LockType = adLockOptimistic .Open com_dftMapelEdit End With IsiGrid txtMapel.Enabled = False cmdTambah.Enabled = True cmdSimpanAdd.Enabled = True cmdHapus.Enabled = True cmdEdit.Visible = True cmdSimpanEdit.Visible = False cmdkeluar.Visible = True cmdBatalEdit.Visible = False On Error GoTo Akhir MsgBox "Data mata pelajaran sudah diubah...", vbInformation, "Informasi" GoTo OK End If Akhir: MsgBox "Proses penyimpanan data mata pelajaran gagal...", vbCritical, "Peringatan" OK: End Sub Private Sub cmdtambah_Click() Dim kode As String cmdTambah.Visible = False cmdSimpanAdd.Visible = True cmdEdit.Visible = True cmdEdit.Enabled = False cmdSimpanEdit.Visible = False cmdHapus.Enabled = False cmdkeluar.Visible = False cmdBatalEdit.Visible = False cmdBatalAdd.Visible = True dftMapel.Enabled = False With rsMapel If .RecordCount = 0 Then txtIDMapel.Text = "PEL-1" Else
151
.MoveLast kode = "PEL-" + Trim(Str(Val(Mid(Trim(!IDMapel), 5)) + 1)) txtIDMapel.Text = Trim(kode) End If End With txtMapel.Enabled = True txtMapel.Text = "" txtMapel.SetFocus End Sub Private Sub dftMapel_Click() Dim com_dftMapel As ADODB.Command Dim rsMapel2 As ADODB.Recordset Set com_dftMapel = New ADODB.Command Set rsMapel2 = New ADODB.Recordset With com_dftMapel .ActiveConnection = con_Tarakanita .CommandText = "SELECT * FROM mapel where IDMapel='" + Trim(dftMapel.TextMatrix(dftMapel.Row, 0)) + "'" .CommandType = adCmdText End With With rsMapel2 .CursorLocation = adUseClient .CursorType = adOpenStatic .LockType = adLockOptimistic .Open com_dftMapel End With With rsMapel2 txtIDMapel.Text = Trim(!IDMapel) txtMapel.Text = Trim(!Mapel) End With End Sub Private Sub Form_Load() Set con_Tarakanita = New ADODB.Connection Set com_Mapel = New ADODB.Command Set rsMapel = New ADODB.Recordset With con_Tarakanita .ConnectionString = "Provider=SQLOLEDB.1;User ID=antonius;Initial Catalog=TARAKANITA;Password=antonius" .Open End With With com_Mapel .ActiveConnection = con_Tarakanita .CommandText = "SELECT * FROM mapel" .CommandType = adCmdText End With With rsMapel .CursorLocation = adUseClient .CursorType = adOpenDynamic .LockType = adLockOptimistic .Open com_Mapel End With
152
txtMapel.Enabled = False With rsMapel If .RecordCount = 0 Then MsgBox "Data mata pelajaran masih kosong...", vbInformation, "Informasi" txtIDMapel.Text = "PEL-1" ' fotoguru.Picture = LoadPicture(App.Path + "\Foto\InsertPicture.jpg") cmdEdit.Enabled = False cmdHapus.Enabled = False Else .MoveFirst txtIDMapel.Text = Trim(!IDMapel) txtMapel.Text = Trim(!Mapel) End If End With IsiGrid Me.Left = 0 Me.Top = 0 End Sub Private Sub setGrid() With dftMapel .Row = 0 .Col = 0 .CellAlignment = 3 .CellFontBold = True .TextMatrix(0, 0) = "ID MAPEL" .Col = 1 .CellAlignment = 3 .CellFontBold = True .TextMatrix(0, 1) = "MATA PELAJARAN" End With If dftMapel.Rows <= 1 Then dftMapel.Rows = 2 End If dftMapel.FixedRows = 1 End Sub Private Sub IsiGrid() Dim com_dftMapelSelect As ADODB.Command Dim rsMapelSelect As ADODB.Recordset Set com_dftMapelSelect = New ADODB.Command Set rsMapelSelect = New ADODB.Recordset With com_dftMapelSelect .ActiveConnection = con_Tarakanita .CommandText = "SELECT * FROM mapel" .CommandType = adCmdText End With With rsMapelSelect .CursorLocation = adUseClient .CursorType = adOpenStatic .LockType = adLockOptimistic .Open com_dftMapelSelect End With With rsMapelSelect
153
If Not .BOF Then .MoveFirst End If dftMapel.Rows = 1 dftMapel.Row = 0 Do While Not .EOF dftMapel.Rows = dftMapel.Rows + 1 dftMapel.Row = dftMapel.Row + 1 dftMapel.TextMatrix(dftMapel.Row, 0) = UCase(Trim(!IDMapel)) dftMapel.TextMatrix(dftMapel.Row, 1) = Trim(!Mapel) .MoveNext Loop End With setGrid End Sub