Anda di halaman 1dari 154

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

1
2
3
HALAMAN PERSEMBAHAN

Karya ini kupersembahkan kepada :

❀ AlLAH BAPA, PUTRA dan ROH KUDUS,


AlLAH BAPA,
atas karunia yang melimpah sehingga skripsi ini dapat
terselesaikan

❀ Untuk Bapak tercinta(†) yang sedang bertaman dengan damai

di Taman Firdaus bersama Bapa, Terimakasih untuk semua yang

Bapak tinggalkan terutama “D-VOR & DME “ kita. Dan Ibu


Terimakasih untuk kesabaran dan kasih sayangmu.

❀ Kakak-
Kakak-kakak ku, dan Adikku Empie, makacih

buat dukungan selama ini. Buat keponaanku NANDO


NANDO
kelucuanmu membuat hidup lebih hidup, dan penuh inspirasi.

❀ Bu Guru Naning yang tersayang. thank’s untuk

semuanya, You are my inspriration and soulmate. Seorang wanita


yang diciptakan saat TUhan tersenyum

4
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

5
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

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

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

8
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

9
untuk kesabaran dan kasih sayangmu yang begitu melimpah, “Aku sayang

Ibu”

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

10
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

11
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

12
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

13
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

14
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

15
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

16
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

17
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

18
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

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

20
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

21
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 :

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

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

24
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

25
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

26
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)

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

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

29
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

30
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

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

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

33
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

34
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

35
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

36
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).

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

38
 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:

39
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

40
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

41
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

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

43
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)

44
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

45
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 :

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

47
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 :

48
 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)

49
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

50
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,

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

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

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

54
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,

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

56
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


SF
2. N = x100 ; untuk mencari nilai akhir atau nilai rapor :
Skor max
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.

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

58
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).

59
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

60
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

61
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

62
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

63
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.1pF1,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 :

64
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

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.2PF1;F21.2P;1.2PF2; F31.2P;1.2F3.
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 :

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

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;F22.2P;F32.3P

65
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 :

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

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.1Pwali 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 TTL D 30 Tempat tanggal lahir
7 Alamat C 50 Alamat siswa
8 Jenis kelamin C 6

66
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.2Psiswa, 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 :

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

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.3Psiswa, 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 :

67
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

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

68
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

69
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

70
Tabel 3.2 Otoritas pengguna aplikasi untuk proses transaksi data

Form Admin Guru Wali Kepala Koord.


Kelas Sekolah Sekolah
Login Login Login Login Login Login
Input _Cari_Ubah_Hapus B,E,T,S B,E,T,S B,E,T,S B B
data Guru
Input _Cari_Ubah_Hapus B,E,T,S B B,E,T,S B B
data Siswa
Input _Cari_Ubah_Hapus B,E,T,S B B,E,T,S B B
data Wali
Input _Cari_Ubah_Hapus B,E,T,S B B,E,T,S B B
data Kelas
Input _Cari_Ubah_Hapus B,E,T,S B B B B
data Mapel
Input _Cari_Ubah_Hapus B,E,T,S B,E,T,S B,E,T,S B B
data Ekstra
Input _Cari_Ubah_Hapus B,E,T,S B,E,T,S B,E,T,S B B
nilai Mapel
Input _Cari_Ubah_Hapus B,E,T,S B,E,T,S B,E,T,S B B
nilai Pengembangan
Input _Cari_Ubah_Hapus B,E,T,S B,E,T,S B,E,T,S B B
Bimbingan
Input _Cari_Ubah_Hapus B,E,T,S B B B B
Jadwal Mapel
Input _Cari_Ubah_Hapus B,E,T,S B B,E,T,S B B
Absensi Siswa

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

71
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 Nama file Tipe Media Organisasi Filed


file 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 Nama Input Bentuk Sumber Jml Distribusi Alat Periode


Input input Input Input
In01 Data guru Dokumen internal 1 Kepala sekolah keyboard Tahun
dasar ajaran
In02 Data siswa Dokumen internal 2 Wali kelas dan Keyboard Tahun
dasar Kepala sekolah ajaran
In03 Data mata Dokumen internal 1 Wali kelas Keyboard Tahun
pelajaran dasar ajaran
In04 Data kelas Dokumen internal 1 Wali kelas Keyboard Tahun
dasar ajaran

72
In05 Data Dokumen internal 1 Wali kelas keyboard Tahun
ekstrakurikuler dasar ajaran
In06 Data Wali Kelas Dokumen internal 2 Wali kelas dan keyboard Tahun
dasar kepala sekolah ajaran
In07 Data bimbingan Dokumen internal 2 Wali kelas dan Keyboard Bulanan
siswa dasar Kepala sekolah
In08 Data jadwal Dokumen internal 1 Wali kelas Keyboard Tahun
pelajaran dasar ajaran
In09 Data absensi Dokumen internal 1 Wali kelas Keyboard Bulanan
siswa dasar
In10 Data nilai siswa Dokumen internal 2 Wali kelas dan keyboard semester
dasar Kepala sekolah
In11 Data Dokumen Internal 1 Wali kelas Keyboard semester
pengembangan dasar

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 Nama output Tipe Format Media / Jml Distribusi periode


output Alat
A-01 Data guru Internal Tabel Kertas, 1 Kepala sekolah Tahun
monitor ajaran
A-02 Data Siswa Internal Tabel Kertas, 2 Wali kelas dan Tahun
monitor Kepala sekolah ajaran
A-03 Mata pelajaran Internal Tabel Kertas, 1 Wali kelas Tahun
monitor ajaran
A-04 Data Kelas Internal Tabel Kertas, 1 Wali kelas Tahun
monitor ajaran
A-05 Ekstrakurikuler Internal Tabel Kertas, 1 Wali kelas Tahun
Eksternal monitor ajaran
A-06 Bimbingan siswa Internal Tabel Kertas, 2 Siswa dan Kepala bulanan
monitor sekolah
A-07 Jadwal pelajaran Internal Tabel Kertas, 1 Wali kelas Tahun
monitor ajaran
A-08 Absensi Siswa Internal Tabel, Kertas, 1 Wali kelas bulanan
grafik monitor
A-09 Nilai siswa Internal Tabel, Kertas, 3 Siswa, wali kelas semester
Eksternal grafik monitor dan Kepala sekolah
A-10 Pengembangan Internal Tabel Kertas, 1 Wali kelas semester
Eksternal monitor

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

74
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 Kelas 1
1000 – 1999 Kelas 2
2000 – 2999 Kelas 3
3000 – 3999 Kelas 4
4000 – 4999 Kelas 5
5000 – 5999 Kelas 6

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

76
77
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:

78
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

79
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

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

81
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

82
2. Form Input Data Guru

Gambar 3.12 desain input data guru

3. Form Input Data Siswa

Gambar 3.13 desain input data siswa

83
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

84
6. Form Input Data Ekstrakurikuler

Gambar 3.16 desain input data guru

7. Form Input Data Kelas

Gambar 3.17 desain input data kelas

85
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

86
10. Form Input Bimbingan

Gambar 3.20 desain inputBimbingan

11. Form Input Jadwal Mata Pelajaran

Gambar 3. 21 desain inputJadwal Mata Pelajaran

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

88
Gambar 3.23 desain output tampilan data guru

Gambar 3.24 desain output tampilan data siswa

89
Gambar 3.25 desain output nilai siswa

Gambar 3.26 desain output bimbingan siswa

90
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:

91
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 :

92
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:

93
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

94
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 :

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

96
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 :

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
4.2.2 Form Menu Induk
Loop
End With

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

98
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:

99
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"

100
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)

101
!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)) & "'," & _

102
"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

103
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

104
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)

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

106
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

107
.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)

108
!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

109
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

110
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

111
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

112
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 :

113
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

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

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

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

117
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

118
LAMPIRAN

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

120
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

121
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

122
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()

123
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

124
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()

125
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 = "" _

126
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

127
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

128
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

129
.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))

130
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

131
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

132
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

133
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

134
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))

135
!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

136
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

137
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

138
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 = ""

139
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)

140
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)

141
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

142
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

143
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

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

145
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

146
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()

147
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

148
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

149
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

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

151
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

152
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

153

Anda mungkin juga menyukai