PENGGUNAAN FRAMEWORK ZK PADA PEMBUATAN APLIKASI WEB ...
Transcript of PENGGUNAAN FRAMEWORK ZK PADA PEMBUATAN APLIKASI WEB ...
PENGGUNAAN FRAMEWORK ZK PADA PEMBUATAN
APLIKASI WEB PENILAIAN SISWA
(Studi Kasus: SMA Manba’ul Ulum, Batu Ceper -Tangerang)
Skripsi
Diajukan untuk Memenuhi Persyaratan Memperoleh
Gelar Sarjana Komputer (S.Kom)
Oleh
Sufyan Sidqy
107091003042
COVER
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH
2011 M / 1432 H
ii
LEMBAR PERNYATAAN
Dengan ini saya menyatakan bahwa:
1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi
salah satu persyaratan memperoleh gelar strata 1 di UIN Syarif
Hidayatullah Jakarta.
2. Semua sumber yang saya gunakan dalam penulisan ini telah saya
cantumkan sesuai dengan ketentuan yang berlaku di UIN Syarif
Hidayatullah Jakarta.
3. Jika di kemudian hari terbukti bahwa hasil karya ini bukan hasil karya asli
saya atau merupakan hasil jiplakan dari hasil karya orang lain, maka saya
bersedia menerima sanksi yang berlaku di UIN Syarif Hidayatullah
Jakarta.
Ciputat,
Sufyan Sidqy
iii
LEMBAR PENGESAHAN PEMBIMBING
PENGGUNAAN FRAMEWORK ZK PADA PEMBUATAN APLIKASI WEB
PENILAIAN SISWA
(Studi Kasus: SMA Manba’ul Ulum, Batu Ceper -Tangerang)
Skripsi
Diajukan untuk Memenuhi Persyaratan Memperoleh
Gelar Sarjana Komputer (S.Kom)
Oleh
Sufyan Sidqy
107091003042
Pembimbing I, Pembimbing II,
Fitri Mintarsih M.Kom Fenty Eka Muzayyana A, M.Kom
NIP. 1972 1223 2007 10 2004 NIP. 19760805 200912 2 003
Mengetahui
Ketua Program Studi Teknik Informatika
Yusuf Durrachman, MIT., M.Sc.
NIP. 19710 522 200 604 1 002
iv
PENGESAHAN UJIAN
Skripsi yang berjudul ―Penggunaan Framework ZK pada Pembuatan Aplikasi
Web Penilaian Sekolah, Studi Kasus: SMA Manbaul Ulum, Batu Ceper-
Tangerang‖, telah diuji dan dinyatakan lulus dalam Sidang Munaqosah Fakultas
Sains dan Teknologi Universitas Islam Negeri Syarif Hidayatullah Jakarta, pada
29 November 2011. Skripsi ini telah diterima sebagai salah satu syarat untuk
memperoleh gelar Sarjana Komputer pada Program Teknik Informatika.
Jakarta, Desember 2011
Tim Penguji,
Khodijah Hulliyah, M.Si Ria Hari Gusmita, M. Kom
NIP. 1973 0402 2001 12 2001 NIP. 1982 0817 2009 12 2002
Tim Pembimbing,
Pembimbing I Pembimbing II
Fitri Mintarsih, M.Kom Fenty Eka Muzayyana A, M.Kom
NIP. 1972 1223 2007 10 2004 NIP. 19760805 200912 2 003
Mengetahui,
Dekan Ketua Program Studi
Fakultas Sains dan Teknologi Teknik Informatika
DR. Syopiansyah Jaya Putra, M.Sis. Yusuf Durrachman, MIT., M.Sc.
v
ABSTRAK
Sufyan Sidqy, Penggunaan Framework ZK pada Pembuatan Aplikasi Web
Penilaian Sekolah (Studi Kasus: SMA Manbaul Ulum, Batu Ceper-Tangerang),
dibimbing oleh Fitri Mintarsih, M.Kom dan Fenty Eka Muzayyana Agustin,
M.Kom.
Aplikasi web penilaian siswa adalah aplikasi yang membantu melakukan proses
penilaian di SMA Manbaul Ulum yang sebelumnya dilakukan secara manual.
Sebelumnya proses mencetak rapor, di SMA Manbaul Ulum masih mengandalkan
sistem atau aplikasi dari luar sekolah. SMA Manbaul Ulum yang berada pada
lingkup pondok pesantren Asshiddiqiyah memiliki siswa yang tersebar dari
beberapa wilayah di Indonesia. Hal tersebut yang mendorong di buatnya sebuah
aplikasi web yang dapat menghasilkan rapor sehingga jika terjadi kesalahan dapat
langsung di perbaiki, selain itu aplikasi ini dibuat bertujuan agar informasi tentang
siswa dapat disampaikan ke orang tua/wali siswa tanpa harus datang ke SMA
Manbaul Ulum. Dalam pembuatan aplikasi web ini penulis menggunakan metode
pengembangan aplikasi Rational Unified Process (RUP) dan untuk pembuatan
aplikasi menggunakan Framework ZK.
Kata Kunci: aplikasi web, akademik, rational unified process, ZK, Hibernate
vi
KATA PENGANTAR
Bismilllahirrahmanirrahmin, Puji syukur kehadirat Allah SWT yang telah
memberikan begitu banyak nikmat, diantaranya nikmat iman, Islam, dan
kesehatan sehingga penulis dapat menyelesaikan skripsi ini dengan baik. Salawat
serta salam tak lupa pula penulis panjatkan kepada junjungan Nabi besar
Muhammad SAW.
Skripsi ini tidak akan bisa terselesaikan tanpa bantuan, bimbingan, arahan,
dukungan serta kontribusi dari banyak pihak. Oleh karena itu, penulis ingin
mengucapkan terima kasih terutama kepada orang tua penulis yaitu H. Abdul
Rasyid Saum (alm) terimakasih telah memberikan kasih sayang kepada penulis
sampai akhir hayat, dan kepada Mandu Khaeroni yang selalu mengingatkan
penulis untuk segera menyelesaikan skripsi dan juga terimakasih atas dukungan
baik moril maupun materil. Terima kasih untuk cinta kasih yang tidak pernah
berhenti diberikan kepada penulis. Penulis juga ingin mengucapkan terima kasih
kepada:
1. Dekan Fakultas Sains dan Teknologi UIN Syarif Hidayatullah Jakarta.
2. Ketua Jurusan Teknik Informatika, serta Sekretaris Jurusan Teknik
Informatika.
3. Ibu Fitri Mintarsih M.Kom, selaku dosen pembimbing pertama dan Fenty
Eka Muzayyana Agustin, M.Kom selaku pembimbing kedua yang telah
vii
banyak membantu penulis dalam menyelesaikan penyusunan skripsi ini dengan
baik dan benar.
4. Seluruh dosen Fakultas Sains dan Teknologi UIN Syarif Hidayatullah Jakarta
atas segala ilmu pengetahuan yang diberikan kepada penulis. Beserta seluruh
staff akademik Fakultas Sains dan Teknologi UIN Syarif Hidayatullah Jakarta.
5. Bpk Zainuri Yasmin selaku Kepala Sekolah SMA Manbaul Ulum yang telah
mengizinkan penulis untuk melakukan penelitian di sekolah tempat beliau
memimpin. Juga kepada Bpk. Yunda Kurniawan serta Bpk. Ginting
Hartanto.
6. Ahmad Taqiyuddin Subki dan Hassan Hadi, kakak dan adik penulis yang
telah mendukung penulis dalam menyelesaikan skripsi ini.
7. Ayu Saidah, orang terpenting di dalam hidup penulis yang telah banyak
memberikan masukan, kritikan, dan semangat sehingga penulis dapat
menyelesaikan skripsi ini.
8. Teman-teman penulis, Hendra Kurniawan, terimakasih telah meluangkan
waktu dan fikiran untuk mengajari penulis menggunakan framework ZK, Syifa
U Rachman, yang telah mengajari sedikit banyak tentang jasper report,
walaupun gagal tapi itu awal dari keberhasilan penulis membuat report,
Muchammad Dwiharyanto , terimakasih telah memberikan jawaban atas
pertanyaan mendasar dari penulis, Ahmad Maulana, terimakasih untuk logika
nested if Fauzi Rahman, atas akses ke puskom UIN sehingga bisa
menyelesaikan modul terpenting yang sudah lama terbengkalai, walaupun
dapat teguran dan A. Bambang S, teman yang selalu ada untuk share opini
viii
. Terimakasih atas masukan dari kalian semua, berkat kalian skripsi ini dapat
selesai. Thanks guys!
9. Teman-teman seperjuangan TI 2007 yang telah banyak memberikan inspirasi,
motivasi untuk segera menyelesaikan tugas akhir ini, dan pengalaman berharga
bagi penulis selama masa kuliah.
10. JUG Indonesia, milis yang berisi para master Java, yang sangat membantu
penulis tentang konsep pemrograman melalui email-email mereka kepada
penulis, [email protected], [email protected],
[email protected]. Thanks for your helping even we never met
before..
Akhirnya, penulis menyadari masih banyak terdapat kekurangan dalam
penelitian dan penyusunan skripsi ini, karena terbatasnya ilmu yang penulis
miliki. Oleh karena itu penulis mengharapkan saran dan kritik yang membangun
agar skripsi ini bisa menjadi lebih baik lagi. berharap semoga Allah swt,
memberikan balasan yang lebih dari semua pihak pada umumnya.
Ciputat, Desember 2011
Sufyan Sidqy
ix
DAFTAR ISI
COVER ................................................................................................................ i
LEMBAR PERNYATAAN ................................................................................. ii
LEMBAR PENGESAHAN PEMBIMBING ....................................................... iii
PENGESAHAN UJIAN...................................................................................... iv
ABSTRAK .......................................................................................................... v
KATA PENGANTAR ........................................................................................ vi
DAFTAR ISI ...................................................................................................... ix
DAFTAR GAMBAR ......................................................................................... xii
DAFTAR TABEL ............................................................................................. xv
BAB I PENDAHULUAN ................................................................................... 1
1.1. Latar Belakang ......................................................................................... 1
1.2. Identifikasi Masalah ................................................................................. 3
1.3. Rumusan Masalah .................................................................................... 4
1.4. Batasan Masalah....................................................................................... 4
1.5. Tujuan Penelitian ..................................................................................... 4
1.6. Manfaat Penelitian.................................................................................... 5
1.7. Metodologi Penelitian .............................................................................. 6
1.8. Sistematika Penulisan ............................................................................... 7
BAB II LANDASAN TEORI ............................................................................. 9
2.1. Software ................................................................................................... 9
2.1.1. Bidang Aplikasi Software ................................................................... 9
2.1.2. WebApps ......................................................................................... 12
2.2. Basis Data (Database) ............................................................................ 14
2.2.1. Keunggulan dan Kelemahan DBMS ................................................. 14
2.2.2. MySQL ............................................................................................ 16
2.3. Unified Modeling Language (UML) ....................................................... 17
2.4. Java ........................................................................................................ 21
x
2.5. Framework ............................................................................................. 23
2.5.1. ZK ................................................................................................... 24
2.5.2. Hibernate ......................................................................................... 27
2.6. Ajax ....................................................................................................... 28
2.7. Rational Unified Process (RUP) ............................................................. 29
2.7.1. Pengertian ........................................................................................ 29
2.7.2. Struktur Dinamis .............................................................................. 30
2.7.3. Struktur Statis................................................................................... 32
2.8. Blackbox Testing .................................................................................... 34
BAB III METODOLOGI PENELITIAN............................................................ 35
3.1. Metode Pengumpulan Data ..................................................................... 35
3.2. Metode Pengembangan Aplikasi ............................................................ 37
3.2.1. RUP ................................................................................................. 37
3.2.2. Blackbox .......................................................................................... 38
BAB IV PEMBAHASAN .................................................................................. 39
4.1. Profil SMA Manbaul Ulum .................................................................... 39
4.2. Inception Fase (Fase Permulaan) ............................................................ 45
4.2.1. Business Modeling Workflow .......................................................... 45
a. Identifikasi sistem berjalan ................................................................... 45
b. Identifikasi masalah.............................................................................. 47
c. Alternatif pemecahan masalah .............................................................. 48
4.2.2. Requirement Workflow .................................................................... 49
a. Identifikasi lingkup sistem .................................................................... 49
b. Identifikasi Analisis Persyaratan Sistem ............................................... 51
c. Estimasi Resiko .................................................................................... 57
d. Kekurangan dan kelebihan sistem ......................................................... 58
4.3. Elaboration Phase (Fase Pembangunan) ................................................ 60
4.3.1. Analysis and Design Workflow ........................................................ 61
a. Analisa Kebutuhan User ....................................................................... 62
b. Rancangan User Interface .................................................................... 64
c. Desain Model Berorientasi Objek ......................................................... 73
4.3.2. Implementation Workflow............................................................... 133
xi
4.4. Construction Phase (Fase Konstruksi) .................................................. 136
4.4.1. Implementation Workflow............................................................... 136
4.4.2. Test Workflow ................................................................................ 159
a. Modul-modul yang diuji ..................................................................... 159
b. Cara menguji modul ........................................................................... 160
4.5. Transition Phase .................................................................................. 160
4.5.1. Deployment workflow .................................................................... 160
BAB V PENUTUP .......................................................................................... 161
5.1. Kesimpulan .......................................................................................... 161
5.2. Saran .................................................................................................... 162
DAFTAR PUSTAKA ...................................................................................... 163
LAMPIRAN .................................................................................................... 166
xii
DAFTAR GAMBAR
Gambar 2. 1 Mekanisme ZK Framework ............................................................ 25
Gambar 2. 2 Metode RUP .................................................................................. 29
Gambar 2. 3 Struktur Dinamis RUP ................................................................... 30
Gambar 2. 4 Struktur Statis RUP ........................................................................ 33
Gambar 4. 1 Struktur Organisasi ........................................................................ 43
Gambar 4. 2 Workflow Sistem Penilaian Berjalan............................................... 45
Gambar 4. 3 Sistem Usulan ................................................................................ 61
Gambar 4. 4 Rancangan User Interface ―Login‖ ................................................ 64
Gambar 4. 5 Rancangan User Interface ―User, Wali Kelas, Guru‖ ..................... 65
Gambar 4. 6 Rancangan User Interface "User - Siswa" ...................................... 65
Gambar 4. 7 Rancangan User Interface ―Page Management‖ ............................ 66
Gambar 4. 8 Rancangan User Interface "Input Data Pelajaran" .......................... 67
Gambar 4. 9 Rancangan User Interface "Input Data Kelas" ................................ 68
Gambar 4. 10 Rancangan User Interface "Input Data Siswa" ............................. 69
Gambar 4. 11 Rancangan User Interface "Input Nilai Akademik" ...................... 70
Gambar 4. 12 Rancangan User Interface "Input Pelanggaran" ............................ 70
Gambar 4. 13 Rancangan User Interface ―Input Prestasi" ................................... 71
Gambar 4. 14 Rancangan User Interface "Cetak Rapor" .................................... 71
Gambar 4. 15 Rancangan User Interface Pindah Kelas" ..................................... 72
Gambar 4. 16 Rancangan User Interface "Not Allowed" ..................................... 72
Gambar 4. 17 Activity Diagram - Management User (Input) .............................. 73
Gambar 4. 18 Activity Diagram - Management User (Update) ........................... 74
Gambar 4. 19 Activity Diagram - Management User (Delete) ............................ 75
Gambar 4. 20 Activity Diagram - Page Management (Userrole) ........................ 76
Gambar 4. 21 Activity Diagram - Page Management (Page) .............................. 77
Gambar 4. 22 Activity Diagram - Data Kelas (Input) .......................................... 79
Gambar 4. 23 Activity Diagram - Data Kelas (Update) ....................................... 80
Gambar 4. 24 Activity Diagram - Data Kelas (Delete) ........................................ 81
Gambar 4. 25 Activity Diagram - Data Pelajaran (Input) .................................... 82
xiii
Gambar 4. 26 Activity Diagram - Data Kelas (Update) ....................................... 83
Gambar 4. 27 Activity Diagram - Data Kelas (Delete) ........................................ 84
Gambar 4. 28 Activity Diagram - Data Siswa (Input) ......................................... 85
Gambar 4. 29 Activity Diagram - Data Siswa (Lihat) ......................................... 86
Gambar 4. 30 Activity Diagram - Data Siswa (Update) ...................................... 87
Gambar 4. 31 Activity Diagram - Data Siswa (Delete) ....................................... 88
Gambar 4. 32 Activity Diagram - Input Nilai ...................................................... 89
Gambar 4. 33 Activity Diagram - Cetak Rapor ................................................... 90
Gambar 4. 34 Use case Page Management......................................................... 96
Gambar 4. 35 Use case Data Kelas, Pelajaran dan Siswa .................................... 97
Gambar 4. 36 Use case Manage Password ......................................................... 97
Gambar 4. 37 Use case Penilaian ....................................................................... 98
Gambar 4. 38 Sequence Diagram Admin - Data Kelas ...................................... 111
Gambar 4. 39 Sequence Diagram Admin - Data Pelajaran ................................ 112
Gambar 4. 40 Sequence Diagram Admin - Data Siswa ..................................... 113
Gambar 4. 41 Sequence Diagram Admin - Input Nilai ...................................... 114
Gambar 4. 42 Sequence Diagram Admin - Cetak Rapor ................................... 115
Gambar 4. 43 Sequence Diagram Admin - Management User .......................... 116
Gambar 4. 44 Sequence Diagram Kepala Sekolah - Lihat Data Siswa .............. 117
Gambar 4. 45 Sequence Diagram Kepala Sekolah - Lihat Nilai Siswa.............. 118
Gambar 4. 46 Sequence Diagram Tata Usaha - Input Data Siswa ..................... 119
Gambar 4. 47 Sequence Diagram Tata Usaha - Input Nilai............................... 120
Gambar 4. 48 Sequence Diagram Wali Siswa - Lihat Data Siswa ..................... 121
Gambar 4. 49 Sequence Diagram Wali Siswa - Lihat Nilai Siswa .................... 122
Gambar 4. 50 Sequence Diagram Siswa - Lihat Data Siswa ............................. 123
Gambar 4. 51 Sequence Diagram Siswa - Lihat Nilai Siswa ............................. 124
Gambar 4. 52 Class Diagram ........................................................................... 125
Gambar 4. 53 Entity Relational Diagram ............. Error! Bookmark not defined.
Gambar 4. 54 Logical Record Structure ............... Error! Bookmark not defined.
Gambar 4. 55 Struktur Tabel Account .............................................................. 126
Gambar 4. 56 Struktur Tabel Userrole ............................................................. 126
xiv
Gambar 4. 57 Struktur Tabel User ................................................................... 126
Gambar 4. 58 Struktur Tabel Siswa .................................................................. 127
Gambar 4. 59 Struktur Tabel Pelajaran ............................................................. 128
Gambar 4. 60 Struktur Tabel Kelas .................................................................. 128
Gambar 4. 61 Struktur Tabel NilaiAkademik ................................................... 128
Gambar 4. 62 Struktur Tabel NilaiAkhir .......................................................... 129
Gambar 4. 63 Struktur Tabel Pelanggaran ........................................................ 129
Gambar 4. 64 Struktur Tabel prestasi ............................................................... 129
Gambar 4. 65 Struktur Tabel pengembanganDiri ............................................. 130
Gambar 4. 66 Struktur Tabel ketidakhadiran .................................................... 130
Gambar 4. 67 Struktur Tabel komentar ............................................................ 131
Gambar 4. 68 Struktur Tabel kepribadian ......................................................... 131
Gambar 4. 69 Struktur Tabel Mengasuh ........................................................... 131
Gambar 4. 70 Struktur Tabel persentase ........................................................... 132
Gambar 4. 71 Struktur Tabel pageManagement ................................................ 132
Gambar 4. 72 Struktur Tabel Mengajar ............................................................ 132
Gambar 4. 73 User Interface ―Login‖............................................................... 147
Gambar 4. 74 User Interface ―User‖ ................................................................ 148
Gambar 4. 75 User Interface ―User‖ ................................................................ 148
Gambar 4. 76 User Interface "User - Siswa" .................................................... 149
Gambar 4. 77 User Interface ―Page Management‖ ........................................... 149
Gambar 4. 78 User Interface "Input Data Pelajaran" ........................................ 150
Gambar 4. 79 User Interface "Input Data Kelas" .............................................. 150
Gambar 4. 80 User Interface "Input Data Siswa" ............................................. 151
Gambar 4. 81 User Interface "Input Nilai Akademik" ...................................... 151
Gambar 4. 82 User Interface "Input Pelanggaran" ............................................ 152
Gambar 4. 83 User Interface ―Input Prestasi" ................................................... 152
Gambar 4. 84 User Interface "Cetak rapor" ...................................................... 153
Gambar 4. 85 User Interface ―Pindah Kelas" ................................................... 153
Gambar 4. 86User Interface "Not Allowed" ..................................................... 154
xv
DAFTAR TABEL
Tabel 3. 1 Studi Pustaka ..................................................................................... 35
Tabel 4. 1 Staf Personalia ................................................................................... 44
Tabel 4. 2 Kelebihan dan Kekurangan Sistem Berjalan ...................................... 59
Tabel 4. 3 Kelebihan dan Kekurangan Sistem Usulan ........................................ 59
Tabel 4. 4 Perbandingan Sistem Berjalan dan Sistem Usulan ............................. 60
Tabel 4. 5 Actor Description .............................................................................. 91
Tabel 4. 6 Requirement dan Use case Page Management ................................... 93
Tabel 4. 7 Requirement dan Use case Data Kelas, Pelajaran dan Siswa .............. 93
Tabel 4. 8 Requirement dan Use case Manage Password ................................... 94
Tabel 4. 9 Requirement dan Use case Penilaian .................................................. 95
Tabel 4. 10 Use case scenario Manage Userrole ................................................ 99
Tabel 4. 11 Use case scenario Manage Accessible Page .................................. 100
Tabel 4. 12 Use case scenario Manage data kelas ............................................ 101
Tabel 4. 13 Use case scenario Manage data pelajaran ...................................... 102
Tabel 4. 14 Use case scenario Manage data siswa ........................................... 103
Tabel 4. 15 Use case scenario Manage Password ............................................ 104
Tabel 4. 16 Use case scenario Manage Data User ............................................ 105
Tabel 4. 17 Use case scenario Manage Guru ................................................... 106
Tabel 4. 18 Use case scenario Manage Wali Kelas .......................................... 107
Tabel 4. 19 Use case scenario Manage Persentase ........................................... 108
Tabel 4. 20 Use case scenario Input Nilai ........................................................ 109
Tabel 4. 21 Use case scenario cetak rapor ........................................................ 109
Tabel 4. 22 Use case scenario lihat nilai .......................................................... 110
Tabel 4. 24 Bentuk Tidak Normal ........................ Error! Bookmark not defined.
Tabel 4. 25 Bentuk Normal Pertama (1NF) .......... Error! Bookmark not defined.
Tabel 4. 26 Bentuk Normal Kedua (2NF) ............. Error! Bookmark not defined.
Tabel 4. 27 Bentuk Normal Ketiga (3NF) ............ Error! Bookmark not defined.
1
BAB I
PENDAHULUAN
BAB I PENDAHULUAN
1.1. Latar Belakang
Perkembangan dalam bidang komputer pada saat ini telah terjadi
hampir di semua daerah. Dengan menggunakan komputer, manusia akan
sangat terbantu dalam menyelesaikan pekerjaan mereka, baik yang bergerak
di bidang ekonomi, pemerintahan, keilmuan dan sebagainya. Sebelum datang
era komputer, kebanyakan dari user menyelesaikan pekerjaannya secara
manual. Tetapi saat ini user dapat menggunakan komputer dalam
mengerjakan berbagai tugasnya dengan cepat, tepat dan efisien. Hal ini
dikarenakan di dalam komputer tersebut terdapat bermacam-macam aplikasi,
baik berbasis desktop maupun berbasis web, yang bisa digunakan, sehingga
user mendapatkan kemudahan dalam menyelesaikan pekerjaannya.
Dalam era komputerisasi ini pengolahan data dan penyebaran informasi
dirasakan kurang efektif dan efisien apabila sumber itu dalam bentuk kertas
yang sifatnya statis atau mengandalkan memori seseorang sebagai media
penyimpanannya. Penataan informasi yang dilakukan secara teratur, jelas dan
cepat serta dapat disajikan dalam bentuk sebuah laporan tentunya sangat
mendukung kelancaran operasional sebuah organisasi.
SMA Manba‘ul Ulum adalah sekolah yang berada dalam lingkup
Pondok Pesantren Asshiddiqiyah II Tangerang. Sekolah tersebut masih
menggunakan cara manual dalam pengolahan informasi yang berkaitan
2
dengan siswa yang bersekolah di sekolah tersebut. Dengan cara manual
seperti itu dapat mengakibatkan data yang di olah akan beresiko hilang atau
rusak karena keterbatasan sumber daya manusia yang ada. Masalah lain yang
muncul dengan cara manual tersebut adalah karena kurang adanya kontrol
pihak sekolah kepada guru tentang waktu penyerahan nilai, yang terjadi
adalah guru kurang menepati waktu yang di tetapkan untuk menyerahkan
nilai kepada tata usaha, sehingga tata usaha akan meminta nilai terus menerus
kepada guru.
Dalam kegiatan belajar mengajar, perlu adanya evaluasi hasil belajar
siswa yang hasilnya harus diketahui oleh wali siswa untuk memantau
perkembangan anaknya. Dalam memproses nilai menjadi laporan hasil belajar
siswa berupa lembaran rapor, sekolah masih mengandalkan sistem dari luar
sekolah sehingga akan menyulitkan dalam proses perbaikan jika ada
kesalahan. Dalam lingkup Pondok Pesantren Asshiddiqiyah juga ada catatan
beberapa pelanggaran yang harus disampaikan Terlebih kadang rapor yang
seharusnya di berikan kepada wali siswa/orang tua tidak sampai karena
adanya beberapa faktor, karena jarak orang tua dari sekolah atau karena siswa
yang tidak memberikan rapor kepada orang tuanya ketika rapor sudah
dibagikan.
Framework ZK ada salah satu Framework Java Script untuk Java Web,
yang dibangun di atas arsitektur Direct RIA (Rich Internet Applications),
sehingga bisa mengimplementasikan aplikasi yang full Ajax di layer UI (User
Interface) atau antarmuka, bahkan tanpa pengetahuan mendalam mengenai
3
Java Script itu sendiri, yang singkat kata dengan ZK kita bisa membuat
antarmuka yang bagus. Pada sisi client, aplikasi berbasis ZK pun akan
menjadi mudah dipelajari karena tampilan yang dihasilkan mirip dengan
aplikasi berbasis desktop.
Dengan ZK pekerjaan kita sangat dipermudah, khususnya untuk urusan
antar muka penggunanya. Komponen-komponen yang disediakan terbilang
cukup lengkap & bisa mengakomodasi untuk membangun aplikasi berbasis
web. Coding di antarmuka pengguna bisa juga dengan menggunakan tag-tag
container bawaan ZK yang hampir mirip seperti cara coding tag di HTML,
tentunya hal ini telah mempermudah dalam proses belajarnya.
Berdasarkan penjelasan di atas, penulis tertarik untuk melakukan
penelitian dengan tema ―PENGGUNAAN FRAMEWORK ZK PADA
PEMBUATAN APLIKASI WEB PENILAIAN SISWA. Studi Kasus SMA
Manba‘ul Ulum, Batu Ceper – Tangerang.‖
1.2. Identifikasi Masalah
Memperhatikan latar belakang diatas maka penulis mengidentifikasi
masalah sebagai berikut :
a. Proses pengolahan nilai ujian siswa yang masih manual.
b. Proses mencetak lembaran rapor masih mengandalkan aplikasi dari luar
sekolah sehingga memakan waktu banyak.
c. Belum ada sarana untuk menyampaikan informasi siswa di SMA Manbaul
Ulum kepada wali siswa.
4
1.3. Rumusan Masalah
a. Bagaimana merancang dan membuat software yang dapat mengolah data
siswa?
b. Bagaimana merancang dan membuat software yang dapat digunakan
untuk memproses nilai siswa?
c. Bagaimana merancang dan membuat software yang dapat digunakan
untuk mencetak rapor siswa?
1.4. Batasan Masalah
Berdasarkan uraian rumusan masalah, dalam penyusunan skripsi ini,
penulis membatasi masalah pada:
1. Analisis dan perancangan proses bisnis yang akan digunakan pada sistem
yang disesuaikan dengan proses bisnis yang ada di SMA Manbaul Ulum
2. Software dapat menyimpan data pribadi siswa serta data yang diperlukan
untuk rapor (nilai akademik, kepribadian, pengembangan diri, kehadiran
dan komentar) di SMA Manbaul Ulum dan data pelanggaran siswa.
3. Software dapat memberikan output berupa rapor dalam bentuk pdf.
4. Database yang digunakan adalah MySQL.
5. Pengembangan aplikasi web penilaian siswa ini menggunakan Framework
ZK.
6. Pengguna aplikasi web penilaian siswa ini nantinya adalah Kepala
Sekolah, Tata Usaha, Kurikulum, Wali Siswa, Guru dan siswa itu sendiri.
1.5. Tujuan Penelitian
Tujuan dari penulisan skripsi ini adalah :
5
a. Menganalisa sistem yang sudah berjalan.
b. Merancang dan membuat aplikasi web penilaian siswa di SMA
Manbaul Ulum yang dapat mencatat informasi seputar proses akademik
siswa.
c. Untuk melaksanakan kegiatan pengelolaan data yang terkomputerisasi
sehingga menjadi sebuah informasi.
d. Agar terjadinya efesiensi waktu dan biaya dalam peyebaran informasi.
1.6. Manfaat Penelitian
Manfaat yang ingin di capai dalam pembuatan aplikasi ini adalah :
a. Bagi User (Kepala Sekolah, Kurikulum, Tata Usaha, Wali Kelas, Guru
dan Siswa)
1. Memudahkan dalam penyimpanan data siswa untuk pengarsipan.
2. Memudahkan dalam mengolah nilai siswa.
3. Kemudahan dalam menyediakan laporan nilai pada akhir semester
4. Mudah dalam menyampaikan informasi tantang siswa yang
bermasalah di sekolah kepada wali siswa.
5. Tidak perlu untuk datang langsung ke sekolah untuk mengetahui
semua informasi tentang anaknya di SMA Manbaul Ulum
b. Bagi Penulis
1. Memberikan kontribusi ke tempat asal sekolah penulis di bidang
teknologi informasi.
2. Mengaplikasikan teori-teori yang telah di dapat selama masa
perkuliahan.
6
3. Mengidentifikasi masalah dan memecahkannya dengan membuat
aplikasi web penilaian siswa ini.
c. Bagi Universitas
1. Sebagai bahan referensi atau bahan acuan bagi penelitian
berikutnya.
2. Sebagai bahan tambahan ilmu pengetahuan teknologi informasi
pada universitas
1.7. Metodologi Penelitian
Untuk memperoleh data yang dapat menunjang pembuatan skripsi
ini, maka di perlukan data teoritis dan data lapangan untuk mendapatkan
data dan informasi yang berhubungan dengan judul skripsi ini.
Adapun penulis melakukan beberapa penelitian yang dilakukan dengan :
a. Metode Pengumpulan Data
Dalam proses penulisan skripsi ini, bentuk metodologi
pengumpulan data yang akan dilakukan antara lain:
1. Studi Pustaka (Literatur), metode pencarian data dari buku,
browsing internet atau literatur-literatur lain yang berkaitan
dengan teori dasar yang berkaitan dengan aplikasi yang sedang
dibuat, dan dokumen yang berkaitan dengan data yang di
perlukan untuk penelitian maupun perancangan aplikasi web
penilaian siswa ini.
2. Wawancara, yakni mengumpulkan data melalui pertanyaan-
pertanyaan dalam bentuk lisan secara terstruktur dan sistematis
7
yang dilakukan kepada Bagian Tata Usaha dan Bagian
Kurikulum.
b. Metode Pengembangan Aplikasi
Metode yang penulis gunakan dalam pengembangan aplikasi web
penilaian siswa ini adalah Rational Unified Process (RUP). Pada
metode RUP terdapat beberapa tahapan, yaitu :
1. Inception Fase (Fase Permulaan)
a. Business Modeling Workflow
b. Requirement Workflow
2. Elaboration Phase (Fase Pembangunan)
a. Analysis and Design Workflow
b. Implementation Workflow
c. Test Workflow
3. Construction Phase (Fase Konstruksi)
a. Implementation Workflow
b. Test Workflow
c. Deployment workflow
4. Transition Phase
a. Deployment workflow
1.8. Sistematika Penulisan
Dalam penyusunan skripsi ini akan diuraikan dalam bentuk bab, dan
masing-masing bab akan dipaparkan dalam beberapa sub bab, diantaranya :
8
BAB I. PENDAHULUAN
Dalam bab ini akan menjelaskan latar belakang, rumusan masalah,
batasan masalah, tujuan dan manfaat, metode penelitian dan
sistematika penulisan laporan skripsi.
BAB II. LANDASAN TEORI
Dalam bab ini akan membahas dan menjelaskan mengenai dasar
teoritis yang menjadi landasan dan mendukung pelaksanaan
penulisan skripsi ini.
BAB III. METODOLOGI PENELITIAN
Bab ini membahas tentang metode-metode yang digunakan penulis
dalam melakukan penelitian sesuai dengan metode yang diusulkan.
BAB IV. PEMBAHASAN
Bab ini akan diuraikan dan membahas analisis terhadap kebutuhan
sistem, serta implementasi perancangan sistem. Bab ini juga akan
membahas implementasi dan pengujian yang penulis lakukan
terhadap aplikasi ini apakah aplikasi dapat berjalan sesuai dengan
yang diharapkan penulis dan user.
BAB V. KESIMPULAN DAN SARAN
Dalam bab ini akan disampaikan kesimpulan dari semua
pembahasan dari bab-bab sebelumnya serta saran-saran yang
diharapkan dapat digunakan bagi pengembangan aplikasi sejenis
lainnya.
9
BAB II
LANDASAN TEORI
BAB II LANDASAN TEORI
2.1. Software
Menurut Roger S Pressman dalam buku Software Engineer edisi ke 7,
―Software is: (1) instructions (computer programs) that when executed
provide desired features, function, and performance; (2) data structures that
enable the programs to adequately manipulate information, and (3)
descriptive information in both hard copy and virtual forms that describes the
operation and use of the programs‖. Software adalah perintah (program
komputer) yang ketika di jalankan menyediakan kemampuan, fungsi dan hasil
yang di inginkan. Software juga bisa di artikan sebagai struktur data yang
memungkinkan sebuah program untuk cukup memanipulasi informasi, dan
informasi deskriptif dalam hard copy dan bentuk virtual yang menjelaskan
operasi dan kegunaan dari program.
2.1.1. Bidang Aplikasi Software
Dalam bukunya Pressman lebih lanjut disebutkan bahwa
software dikategorikan menjadi 7 kategori, yaitu:
a. System Software
Gabungan beberapa program yang di tulis untuk
melayani program lain. Beberapa system Software (seperti
compiler, editor dan keperluan Management) proses yang
10
kompleks, tapi menentukan, struktur informasi. Aplikasi sistem
yang lain (seperti komponen sistem operasi, driver, Software
jaringan).
Pada kasus lain, wilayah systems Software di golongkan
oleh banyaknya interaksi dengan perangkat keras komputer,
banyak penggunaan oleh beberapa pengguna, operasi yang
bersamaan yang membutuhkan penjadwalan, pembagian
resource, dan Management proses yang canggih, data struktur
dan kompleks, dan banyak antar muka eksternal.
b. Application Software
Program yang berdiri sendiri (stand-alone) yang
menyelesaikan kebutuhan bisnis yang spesifik. Tambahan untuk
aplikasi yang memproses data secara konvensional, application
Software digunakan untuk mengontrol fungsi bisnis di waktu
yang nyata (e.g., point-of-sale transaction processing, real-time
manufacturing process control).
c. Engineering/scientific Software
Engineering/scientific Software telah di golongkan oleh
algoritma ―number crunching‖. Lingkup aplikasi ini mulai dari
astronomi sampai vulkanologi, dari analisis otomotif sampai
dinamika orbit pesawat luar angkasa, dan dari biologi molecular
sampai pabrik yang sudah diotomatisasi.
11
d. Embedded Software
Embedded Software terletak pada kedalaman sebuah
produk atau sistem dan di gunakan untuk menjalankan dan
mengontrol kegunaan dan fungsi untuk pengguna dan untuk
sistem itu sendiri. Embedded Software bisa menampilkan fungsi
yang terbatas dan hanya diketahui oleh orang tertentu saja (e.g.,
tombol kontrol untuk oven microwave) atau memberikan fungsi
yang signifikan dan kemampuan mengontrol. (e.g., fungsi digital
dalam mobil seperti kontrol bahan bakar, petunjuk di dashboard,
dan sistem pengereman).
e. Product-line Software
Product-line Software di rancang untuk menyediakan
kemampuan yang spesifik untuk digunakan oleh pelanggan yang
berbeda.
f. Web applications
Web Application disebut juga ―WebApps,‖ ini adalah
kategori Software network-centric. Dalam bentuk yang paling
sederhana, WebApps lebih dari sekedar kumpulan dari file
hypertext yang terhubung yang menyediakan informasi
menggunakan teks dan grafik yang terbatas. Akan tetapi, dengan
kemunculan Web 2.0, WebApps dikembangkan ke dalam
lingkungan komputer yang rumit yang tidak hanya menyediakan
kegunaan stand-alone, fungsi perhitungan, dan isi kepada
12
pengguna, tapi juga terintegrasi dengan database perusahaan da
aplikasi bisnis.
g. Artificial intelligence Software
Pembuatan artificial intelligence Software menggunakan
algoritma non-numerical untuk memecahkan masalah yang
kompleks yang tidak bisa untuk di lakukan perhitungan atau
analisis langsung. Aplikasi yang termasuk area ini adalah
robotics, expert systems, pattern recognition (gambar dan
suara).
2.1.2. WebApps
Aplikasi Web adalah sebuah sistem informasi yang
mendukung interaksi pengguna melalui antarmuka berbasis Web.
Fitur-fitur aplikasi Web biasanya berupa data persistence,
mendukung transaksi dan komposisi halaman Web dinamis yang
dapat dipertimbangkan sebagai hibridisasi, antar hipermedia dan
sistem informasi. (Simarmata 2010)
Aplikasi Web adalah bagian dari client-side yang dapat
dijalankan oleh browser Web. Client-side mempunyai tanggung
jawab untuk pengeksekusian proses bisnis. Interaksi Web dibagi ke
dalam tiga langkah, yaitu permintaan, pemrosesan dan jawaban.
1. Permintaan
Penggunaan mengirimkan permintaan ke server Web, biasanya
via halaman Web yang ditampilkan pada browser Web.
13
2. Pemrosesan
Server Web menerima permintaan yang dikirimkan oleh
pengguna, kemudian memproses permintaan tersebut.
3. Jawaban
Browser menampilkan hasil dari permintaan pada jendela
browser.
Halaman Web bisa terdiri dari beberapa jenis informasi grafis
(tekstual dan multimedia). Kebanyakan komponen grafis dihasilkan
dengan kakas (tools) khusus, menggunakan manipulasi langsung dan
editor WYSIWIG.
Halaman Web juga dapat dibuat dengan menggunakan
berbagai program agar dapat menampilkan suatu informasi di dalam
browser (misalnya, Java atau PHP). Pembangunan aplikasi Web
membutuhkan beberapa kualifikasi yang berbeda. Biasanya, para
developer dalam pembangunan Web akan memegang peranan
berikut:
1. Pemasaran, untuk menetapkan target pengunjung Web dan
konten untuk diserahkan.
2. Perancangan grafis, untuk menetapkan tampilan visual
(meliputi tata letak halaman, huruf, warna, gambar dan film).
3. Integrator HTML, untuk mengembangkan halaman HTML.
14
4. Pemrogram, untuk menulis program (di dalam Java, PHP atau
bahasa pemrograman lainnya, yang dapat dikombinasikan
dengan HTML).
2.2. Basis Data (Database)
Menurut (Hariyanto 2004), basis data adalah kumpulan data
(elementer) yang secara logik berkaitan dalam merepresentasikan
fenomena/fakta secara terstruktur dalam domain tertentu untuk mendukung
aplikasi pada sistem tertentu.
Untuk kepentingan menangani database, tersedia sejumlah DBMS.
DBMS (Database Management System) adalah perangkat lunak untuk
mendefinisikan, menciptakan, mengelola dan mengendalikan pengaksesan
basis data. DBMS menyediakan lingkungan yang nyaman dan efisien untuk
penyimpanan dan pengambilan data dari basis data.
2.2.1. Keunggulan dan Kelemahan DBMS
Sisi keunggulan dari Database Management System (DBMS),
sebagai berikut :
a. Mengurangi duplikasi data.
b. Menjaga konsistensi dan integritas data.
c. Memudahkan pemerolehan informasi yang lebih banyak dari
data yang sama disebabkan data dari berbagai bagian dalam
organisasi dikumpulkan menjadi satu.
d. Meningkatkan keamanan data dari orang yang tak berwenang.
e. Penerapan standar.
15
f. Menghemat biaya karena dapat dipakai oleh banyak
departemen.
g. Menanggulangi konflik kebutuhan antar pemakai karena basis
data di bawah kontrol administrator basis data.
h. Meningkatkan tingkat respon dan kemudahan akses bagi
pemakai akhir.
i. Meningkatkan produktivitas pemrogram.
j. Meningkatkan pemeliharaan melalui independensi data.
k. Meningkatkan konkurensi (pemakai data oleh sejumlah data)
tanpa menimbulkan masalah kehilangan informasi atau
integritas.
l. Meningkatkan layanan backup dan recovery.
Sedangkan kelemahan yang terdapat dalam DBMS, yakni :
a. Kompleksitas yang tinggi membuat administrator dan pemakai
akhir harus benar-benar memahami fungsi-fungsi dalam DBMS
agar dapat diperoleh manfaat yang optimal.
b. Ukuran penyimpan yang dibutuhkan oleh DBMS sangat besar
dan memerlukan memori yang besar agar bekerja secara efisien.
c. Rata-rata harga DBMS yang handal sangat mahal.
d. Terkadang DBMS meminta kebutuhan perangkat keras dengan
spesifikasi tertentu sehingga diperlukan biaya tambahan.
e. Biaya konversi sistem lama ke sistem baru yang menggunakan
DBMS terkadang sangat mahal.
16
f. Kinerjanya terkadang kalah dengan sistem yang sistem berbasis
berkas.
g. Dampak kegagalan menjadi lebih tinggi karena semua pemakai
bergantung pada ketersediaan DBMS.
Contoh-contoh DBMS yang terkenal dan umum digunakan oleh
pemakai dalam pengelolaan data :
a. Microsoft Access
b. Microsoft SQL Server 2007
c. MySQL
d. Oracle 9i
e. PostgreSQL
2.2.2. MySQL
MySQL bukan lingkungan pengembangan aplikasi basisdata,
tapi satu DBMS kecil dan kompak. MySQL cocok untuk aplikasi
berbasis web dengan keperluan minimal dan menengah. MySQL
ideal untuk aplikasi berukuran kecil dan menengah, namun telah
menjanjikan untuk penggunaan besar. (Hariyanto 2004)
Beberapa alasan memilih MySQL adalah:
1. Kecepatan
2. Kemudahan penggunaan
3. Ongkos
4. Dukungan bahasa query
5. Kapabilitas
17
6. Konektivitas dan keamanan
7. Portabilitas
8. Distribusi terbuka
Aplikasi basis data berbasiskan pada bahasa SQL (Structured
Query Language). Menurut Abdul Kadir (2003) pengertian SQL
adalah bahasa yang digunakan untuk mengakses basis data yang
tergolong relasional. SQL dapat melakukan pengambilan data
(query), membuat tabel, menghapus tabel, menambahkan data ke
tabel, menghapus data pada tabel, mengganti data pada tabel, dan
berbagai operasi lainnya.
2.3. Unified Modeling Language (UML)
Menurut (Fowler 2004) UML adalah keluarga notasi grafis yang di
dukung oleh meta-model tunggal, yang membantu pendeskripsian dan desain
sistem perangkat lunak, khususnya sistem yang di bangun menggunakan
pemrograman berorientasi objek (OO).
Menurut (Dharwiyanti 2009), Unified Modeling Language (UML)
adalah sebuah "bahasa" yang telah menjadi standar dalam industri untuk
visualisasi, merancang dan mendokumentasikan sistem piranti lunak. UML
menawarkan sebuah standar untuk merancang model sebuah sistem.
Sedangkan menurut (Nugroho, Rekayasa Perangkat Lunak
Berorientasi Objek dengan Metode USDP (Unified Software Development
Process) 2010), UML adalah ‗bahasa‘ pemodelan untuk sistem atau perangkat
lunak yang berparadigma berorientasi objek.
18
Dari pengertian di atas dapat disimpulkan, bahwa dengan
menggunakan UML sebuah model untuk semua jenis aplikasi piranti lunak
dapat dibuat. Aplikasi tersebut dapat berjalan pada piranti keras, sistem
operasi dan jaringan apapun, serta ditulis dalam bahasa pemrograman apapun.
UML lebih cocok untuk penulisan piranti lunak dalam bahasa-bahasa
berorientasi objek seperti C++, Java, C# atau VB.NET. Hal tersebut
dikarenakan ia menggunakan class dan operation dalam konsep dasarnya.
Walaupun demikian, UML tetap dapat digunakan untuk modeling aplikasi
prosedural dalam VB atau C.
Berikut adalah diagram pada UML yang digunakan pada penulisan
skripsi ini.
a. Activity Diagram
Activity Diagrams menggambarkan berbagai alir aktivitas dalam
sistem yang sedang dirancang, bagaimana masing-masing alir berawal,
decision yang mungkin terjadi, dan bagaimana mereka berakhir. Activity
Diagram juga dapat menggambarkan proses paralel yang mungkin terjadi
pada beberapa eksekusi.
Diagram ini merupakan state diagram khusus, di mana sebagian
besar state adalah action dan sebagian besar transisi di-trigger oleh
selesainya state sebelumnya (internal processing). Oleh karena itu
Activity Diagram tidak menggambarkan behavior internal sebuah sistem
(dan interaksi antar subsistem) secara eksak, tetapi lebih menggambarkan
proses-proses dan jalur-jalur aktivitas dari level atas secara umum.
19
Sebuah aktivitas dapat direalisasikan oleh satu Use case atau
lebih. Aktivitas menggambarkan proses yang berjalan, sementara Use
case menggambarkan bagaimana aktor menggunakan sistem untuk
melakukan aktivitas.
b. Class Diagram
Class adalah sebuah spesifikasi yang jika di instansiasi akan
menghasilkan sebuah objek dan merupakan inti dari pengembangan dan
desain berorientasi objek. Diagram ini menggambarkan keadaan
(atribut/properti) suatu sistem, sekaligus menawarkan layanan untuk
memanipulasi keadaan tersebut (metoda/fungsi). Class memiliki tiga area
pokok:
1. Nama, merupakan nama dari sebuah kelas
2. Atribut, merupakan properti dari sebuah kelas. Atribut
melambangkan batas nilai yang mungkin ada pada obyek dari class
3. Operasi, adalah sesuatu yang bisa dilakukan oleh sebuah class atau
yang dapat dilakukan oleh class lain terhadap sebuah class
Atribut dan metoda dapat memiliki salah satu sifat berikut :
1. Private, tidak dapat dipanggil dari luar class yang bersangkutan
2. Protected, hanya dapat dipanggil oleh class yang bersangkutan dan
anak-anak yang mewarisinya
3. Public, dapat dipanggil oleh siapa saja
4. Package, hanya dapat dipanggil oleh instance sebuah class pada
paket yang sama
20
Menurut (Connolly and Begg 2005) pada halaman 826 di jelaskan, untuk
memetakan class menjadi relation (sebuah tabel dengan kolom-kolom
dan baris-baris), ada 3 cara, yaitu (1) memetakan setiap class atau sub
class menjadi relation, (2) memetakan setiap subclass saja untuk
menjadi sebuah relation, dan (3) memetakan seluruh hirarki pada class
menjadi sebuah relation tunggal.
c. Use case Diagram
Use case adalah rangkaian/uraian sekelompok yang saling terkait
dan membentuk sistem secara teratur yang dilakukan atau diawasi oleh
sebuah aktor. ‗Use case‘ digunakan untuk membentuk tingkah-laku
benda/ things dalam sebuah model serta di realisasikan oleh sebuah
collaboration. Umumnya ‗Use case‘ digambarkan dengan sebuah ‗elips‘
dengan garis yang solid, biasanya mengandung nama.
Use case menggambarkan proses sistem (kebutuhan sistem dari
sudut pandang user). Secara umum Use case adalah:
1. Pola perilaku sistem
2. Urutan transaksi yang berhubungan yang dilakukan oleh satu actor
3. Use case diagram terdiri dari
a) Use case
b) Actors
c) Relationship
d) System boundary boxes (optional)
e) Packages (optional)
21
d. Sequence Diagram
Sequence Diagram (diagram urutan) adalah suatu diagram yang
memperlihatkan atau menampilkan interaksi-interaksi antar objek di
dalam sistem yang disusun pada sebuah urutan atau rangkaian waktu.
Interaksi antar objek tersebut termasuk pengguna, display, dan
sebagainya berupa pesan/message.
Sequence Diagram digunakan untuk menggambarkan skenario
atau rangkaian langkah-langkah yang dilakukan sebagai sebuah respon
dari suatu kejadian/even untuk menghasilkan output tertentu. Sequence
Diagram diawali dari apa yang me-trigger aktivitas tersebut, proses dan
perubahan apa saja yang terjadi secara internal dan output apa yang
dihasilkan.
2.4. Java
Java dikenal sebagai bahasa pemrograman tingkat tinggi. Java mudah
dipelajari terutama bagi programmer yang telah mengenal C/C++. Java
merupakan pemrograman berorientasi objek yang merupakan paradigma
pemrograman masa depan.
Sebagai bahasa pemrograman, java dirancang agar dapat berjalan di
semua platform dan juga dirancang untuk menghasilkan aplikasi-aplikasi
dengan performansi yang terbaik. Sebagai sebuah platform, java terdiri atas
dua bagian utama, yaitu:
1. Java Virtual Machine (JVM)
2. Java Application Programming Interface (Java API)
22
Sun membagi arsitektur Java menjadi tiga bagian, yaitu:
1. Enterprise Edition (J2EE) untuk aplikasi berbasis web, aplikasi sistem
tersebar dengan beraneka ragam klien dengan kompleksitas yang tinggi.
2. Standard Edition (J2SE) adalah bahasa untuk pemrograman berbasis
desktop yang sering dikenal sebagai bahasa Java.
3. Micro Edition (J2ME) adalah bahasa pemrograman untuk aplikasi
berbasis mobile
Dalam pembuatan aplikasi web ini, penulis menggunakan JavaEE.
Alasan menggunakan JavaEE, menurut (Mukhar, et al. 2006) JavaEE
menyediakan sebuah platform untuk mengembangkan dan menyebarkan
aplikasi multitier (client-server arsitektur yang menjadikan aplikasi dibagi
menjadi beberapa bagian yang menjalankan fungsi masing-masing, sehingga
membuat aplikasi fleksibel dan reusable).
Ada banyak urusan infrastruktur yang dibutuhkan untuk membuat
aplikasi kelas enterprise. Beberapa dari bagian penting dari infrastruktur
tersebut termasuk keamanan (security), akses database dan kontrol transaksi.
Keamanan memastikan bahwa user yang bisa mengakses adalah mereka yang
memiliki hak untuk mengakses. Akses database juga sebuah komponen yang
mendasar sehingga aplikasi yang kita buat bisa menyimpan dan mengambil
data. Dukungan transaksi (transaction) dibutuhkan untuk memastikan bahwa
data yang tepat di-update pada waktu yang tepat.
Sama seperti gedung kantor yang memerlukan banyak infrastruktur
yang disembunyikan di dalam pipa-pipa, kabel listrik dan telekomunikasi,
23
aplikasi dengan skala besar membutuhkan dukungan sebuah infrastruktur
yang hebat. Infrastruktur tersebut termasuk akses database, dukungan
transaction dan keamanan. JavaEE menyediakan infrastruktur tersebut
sehingga kita bisa fokus pada pembuatan aplikasi. Terlebih pada java sudah
terdapat banyak library pendukung sehingga memudahkan dalam
pengembangan.
2.5. Framework
Framework adalah kumpulan fungsi-fungsi dan class untuk tujuan
tertentu yang sudah siap pakai sehingga lebih memudahkan pekerjaan
pemrograman. Framework dalam dunia komputer digunakan sebagai sebuah
acuan utama berupa kerangka program yang bersifat global yang dapat
disesuaikan dengan keinginan penggunanya. Framework yang dikembangkan
saat ini mencakup berbagai macam pemrograman.
Pada pemrograman web, Framework telah dikembangkan untuk
bahasa pemrograman antara lain PHP dan Java. Untuk PHP, Framework yang
banyak digunakan misalnya Zend yang dikembangkan oleh Zend
Technologies, CodeIgniter yang dikembangkan oleh Ellislb Inc., dan Seagull
yang memiliki lisensi di bawah BSD (lisensi yang memungkinkan setiap
orang bebas melakukan pengembangan, dan menggunakan kode sumber
BSD). Sedangkan untuk bahasa pemrograman Java, Framework yang tersedia
sangat banyak, diantaranya hibernate, struts, spring, ZK.
24
2.5.1. ZK
ZK adalah Framework berbasis komponen (component
based) yang menyediakan tampilan antar muka yang kaya, dinamis
dan interaktif bagi pengembangan web aplikasi. ZK menyediakan
sebuah event-driven berbasis Ajax, yaitu sekumpulan komponen-
komponen beraneka ragam (rich) yang terdiri dari XML User
Interface Language (XUL), XHTML dan ZK User Interface Markup
Language (ZUML). Event-driven sendiri merupakan sebuah engine
yang memungkinkan untuk melakukan model pemrograman desktop
yang intuitif (melakukan sesuatu dengan cepat tanpa pengetahuan
yang dimiliki sebelumnya) ke model pemrograman web. Maksudnya,
konsep-konsep pemrograman pada aplikasi desktop yang dilakukan
dengan cepat dan mudah, dapat dilakukan pada lingkungan web.
Para programmer dapat menampilkan aplikasinya dalam fitur
komponen rich XUL dan XHTML. Bahasa markup ZUML membuat
antar muka pengguna yang kaya se simpel menulis halaman HTML.
ZK mencakup sebuah mekanisme berbasis Ajax untuk
mengotomatisasi antar aktifitas, sekumpulan komponen berbasis
XUL untuk memperkaya kegunaannya, dan sebuah bahasa ―markup‖
untuk memudahkan dalam pengembangan.
Mekanisme ZK berbasis Ajax terdiri dari 3 bagian yang
dibagi menjadi ZK Loader, ZK AU Engine dan ZK Client Engine.
25
Gambar 2. 1 Mekanisme ZK Framework
Berdasarkan pada permintaan user, ZK Loader me-load halaman
ZK, menerjemahkannya dan me-render hasilnya ke halaman HTML
pada respon untuk permintaan URL. Sebuah halaman ZK ditulis
dalam sebuah bahasa markup yang disebut ZUML. ZUML, seperti
HTML, digunakan untuk menjelaskan komponen apa yang akan
diciptakan dan bagaimana menampilkannya. Komponen tersebut,
sekali diciptakan, akan terus ada sampai session berakhir.
Pada gambar 2.1 dijelaskan bagaimana proses sebuah
halaman ditampilkan. Alurnya adalah sebagai berikut:
1. Ketika ada user yang mengetik URL atau meng-klik sebuah
hyperlink pada browser, sebuah permintaan dikirimkan ke web
server. ZK Loader kemudian terlibat untuk menyediakan
permintaan tersebut, jika URL cocok dengan ZK yang telah di
konfigurasi.
26
2. ZK Loader me-load halaman tersebut dan menerjemahkannya
untuk menciptakan komponen yang sesuai.
3. Setelah menerjemahkan semua halaman, ZK Loader me-render
hasilnya ke halaman HTML. Halaman HTML kemudian dikirim
balik ke browser disertai dengan ZK Client Engine.
4. ZK Client Engine berada di browser untuk men-detect apa saja
event yang terjadi berdasarkan kegiatan user seperti
menggerakkan mouse atau merubah sebuah nilai. Sekali
terdeteksi, ZK Client memberitahu ZK AU Engine dengan
mengirimkan sebuah ZK request.
5. Ketika menerima ZK requests dari Client Engine, AU Engine
meng-update isi komponen yang cocok, jika dibutuhkan.
Kemudian, AU Engine memberitahu aplikasi dengan melibatkan
event handlers yang cocok, jika ada.
6. Jika aplikasi memilih untuk merubah isi dari komponen,
menambah atau memindahkan komponen, AU Engine
mengirimkan isi yang baru ke komponen yang dibuang ke Client
Engine dengan menggunakan ZK Responses.
7. ZK Responses tersebut sebenarnya perintah untuk meminta
Client Engine bagaimana untuk meng-update DOM sesuai
dengan tree.
27
2.5.2. Hibernate
Dari penjelasan tentang DBMS di atas ada model data
berbasis objek. Menurut Abdul Kadir (2003), model data berbasis
objek adalah model data yang menerapkan teknik pemrograman
berorientasi objek. Model data ini memungkinkan data dikemas dan
fungsi akses datanya ke dalam bentuk objek. Dalam bahasa lain
biasa dikenal dengan (Object Oriented Database Management
System) OODBMS.
ORM atau Object Relational Mapping merupakan aplikasi
dari OODBMS. Menurut Christian Baver dan Gavin King (2007 :
25) ORM adalah otomatisasi persistence objek-objek pada aplikasi
Java untuk merelasikan basis data, menggunakan metadata guna
menggambarkan pemetaan (mapping) antara objek (java) dengan
basis data. Mark Fussel (1997) seorang pengembang ORM,
mendefinisikan empat tingkatan kualitas ORM, yakni :
1. Pure Relational
2. Light object mapping
3. Medium object mapping
4. Full object mapping
Untuk mendefinisikan ORM, digunakan hibernate yaitu tool
yang menyediakan segala keuntungan dari penggunaan metode
ORM sebagai pemrosesan basis data. Adapun keuntungan-
keuntungan ORM tersebut adalah produktivitas akan baris program
28
yang lebih sederhana dibandingkan dengan menuliskan query,
pemeliharaan dan performa ORM yang mudah dan memungkinkan
pengguna common agar lebih cepat dalam implementasi program.
Hibernate biasanya berbasiskan bahasa pemrograman XML.
Pemetaan (mapping) kelas pada java ke tabel database bisa
dilakukan dengan cara konfigurasi file XML atau dengan
menggunakan Java Annotation (bentuk khusus dari syntax yang
dapat ditambahkan pada code java sebagai pengenal). Ketika
menggunakan file XML, hibernate dapat menghasilkan inti source
code untuk kelas persistence dan membuat skema database,
begitupun dengan menggunakan annotation.
2.6. Ajax
Menurut (Saerang 2007), istilah AJAX (Asynchronous JavaScript and
XML) dalam pengembangan web menjadi populer pada beberapa tahun
belakangan. AJAX sendiri bukan merupakan bahasa pemrograman baru,
AJAX hanya sebuah teknik pemanfaatan XMLHttpRequest dengan
JavaScript untuk berkomunikasi dengan server secara asynchronous, dengan
pemanfaatan objek XMLHttpRequest ini kita dapat membuat proses berjalan
secara background atau bekerja di belakang layar sementara user tetap dapat
berinteraksi dengan halaman web yang ada. Pemanfaatan teknik
asynchronous ini juga lah yang telah mendorong pengembangan web menjadi
lebih kaya atau banyak yang menulisnya dengan istilah pengembangan Rich
Internet Application (RIA) atau WEB 2.0
29
2.7. Rational Unified Process (RUP)
2.7.1. Pengertian
Rational Unified Process atau RUP adalah suatu metode
pengembangan perangkat lunak yang banyak digunakan di dunia.
RUP menawarkan fleksibilitas yang tinggi, yang merupakan
karakteristik penting dalam pengembangan perangkat lunak dari skala
kecil sampai skala besar, dari perangkat lunak yang relatif sederhana
sampai perangkat lunak yang sangat kompleks. RUP juga
menyediakan tahapan-tahapan yang sistematis dalam pengembangan
perangkat lunak sehingga dapat digunakan sebagai referensi untuk
pengembangan perangkat lunak sebenarnya. (Suryana 2006)
Sedangkan menurut (Kruchten 2003) RUP adalah sebuah
proses pengembangan software yang menutup seluruh siklus
pengembangan software.
Gambar 2. 2 Metode RUP
Dilihat dari gambar 2.2, menurut (Kroll and Kruchten 2003),
proses RUP memiliki dua struktur atau dua dimensi, yaitu:
30
1. Struktur Dinamis
Dimensi horizontal yang mewakili struktur dinamis atau dimensi
waktu dari proses. Dimensi in menunjukkan bagaimana prosesnya,
dinyatakan dalam sebuah lingkaran, fase, iterasi dan milestone,
yang terjadi selama siklus dari sebuah proyek
2. Struktur Statis
Dimensi vertikal mewakili struktur statis dari proses. Dimensi ini
menjelaskan bagaimana elemen proses (aktifitas, disiplin, artifak
dan role) secara logic di kelompokkan ke dalam disiplin proses inti
(atau alur kerja)
2.7.2. Struktur Dinamis
Struktur dinamis berurusan dengan siklus atau dimensi waktu
dari sebuah proyek. RUP menyediakan sebuah pendekatan struktur ke
pengembangan iteratif, membagi sebuah proyek ke dalam 4 fase yaitu
Inception, Elaboration, Construction dan Transition.
Gambar 2. 3 Struktur Dinamis RUP
Gambar di atas menggambarkan tujuan untuk fase siklus di
RUP. Setiap 4 fase RUP memiliki tujuan yang di definisikan dengan
baik. Gunakan tujuan di atas sebagai tuntunan untuk menentukan
31
aktifitas apa yang akan dilakukan dan artifak apa yang akan di
hasilkan.
Setiap fase mengandung satu atau lebih iterasi, yang fokus
pada menghasilkan kebutuhan teknis untuk mencapai objektif bisnis
dari fase tersebut. Jika objektif tidak bisa diberikan fase perencanaan,
iterasi lain harus di tambahkan pada fase tersebut (yang akan menunda
proyek). Untuk menghindari ini, pastikan bahwa setiap iterasi di
fokuskan pada apa yang dibutuhkan untuk mencapai objektif bisnis
dari fase tersebut. (Kroll and Kruchten 2003)
1. Inception
Menetapkan sebuah pemahaman yang baik dari sistem apa yang
akan dibangun dengan mendapatkan sebuah pemahaman level
tinggi dari semua kebutuhan dan menetapkan lingkup dari sistem
tersebut.
Tujuan: memahami lingkup proyek, membangun kasus bisnis
dan meminta stakeholder untuk bergerak.
2. Elaboration
Mengurus banyak tugas teknis yang sulit: rancang, implementasi,
test dan dasar dari sebuah arsitektur yang bisa di jalankan,
termasuk sub sistem beserta tampilannya, komponen kunci dan
mekanisme arsitektur.
32
Tujuan: mengurangi resiko teknis utama, membuat arsitektur
dasar dan memahami apa yang dibutuhkan untuk membangun
sistem.
3. Construction
Melakukan hampir semua proses implementasi setelah selesai
mengerjakan arsitektur yang dapat di eksekusi ke versi
operasional yang pertama dari sistem. Menyebarkan beberapa
release internal dan alpha untuk memastikan bahwa sistem dapat
digunakan dan sesuai dengan kebutuhan user. Akhir dari fase ini
dengan menyebarkan sebuah versi beta fungsional dari sistem,
termasuk instalasi dan dokumentasi pendukung serta materi
pelatihan.
Tujuan: membangun versi operasional pertama dari produk
4. Transition
Memastikan bahwa software sesuai dengan kebutuhan dari user.
Ini termasuk testing/pengujian produk dalam persiapan release
dan membuat sedikit penyesuaian berdasarkan umpan balik dari
user. Pada poin siklus ini, umpan balik dari user terfokus pada
konfigurasi, instalasi dan masalah kegunaan.
Tujuan: membangun versi final dari produk dan memberikannya
ke pelanggan.
2.7.3. Struktur Statis
Struktur statis berurusan dengan bagaimana elemen proses
33
(aktifitas, disiplin, artifak dan role) secara logic di kelompokkan ke
dalam disiplin inti proses (atau alur kerja). Sebuah proses
mendeskripsikan siapa melakukan apa, bagaimana dan kapan.
Gambar 2. 4 Struktur Statis RUP
Pada gambar di atas menjelaskan siapa (individu atau grup)
melakukan sebuah pekerjaan, sebuah aktifitas menjelaskan bagaimana
pekerjaan di lakukan dan sebuah artifak menangkap apa yang di
lakukan. (Kroll and Kruchten 2003)
1. Role
Pada RUP role didefinisikan bagaimana seorang individu harus
melakukan kerja, dan menspesifikasikan kompetensi dan
tanggung jawab yang individu tersebut harus kerjakan. Satu orang
biasanya menjalankan satu atau banyak role dan beberapa orang
bisa menjalankan role yang sama.
2. Aktifitas
Sebuah aktifitas dari role tertentu adalah sebuah unit kerja yang
seorang individu dalam role tersebut mungkin diminta untuk
34
melaksanakannya.
3. Artifak
Artifak adalah sebuah bagian dari informasi yang di hasilkan,
modifikasi atau yang di gunakan oleh sebuah proses.
2.8. Blackbox Testing
Menurut (Pressman 2010) black-box adalah sebuah metode yang
digunakan untuk menguji sebuah software pada level interface. Metode ini
menguji beberapa aspek mendasar dari sebuah software dengan sedikit
memperhatikan struktur logic dasar dari software tersebut.
Metode pengujian black-box disebut juga pengujian perilaku
(behavioral testing), pengujian ini fokus kepada kebutuhan fungsional dari
software. Jadi, teknik pengujian black-box memungkinkan seseorang untuk
memperoleh kumpulan dari kondisi masukan yang benar-benar akan
menguji semua kebutuhan fungsional dari sebuah program.
Pengujian black-box berusaha untuk menemukan kesalahan pada
beberapa kategori, yaitu (1) fungsi yang tidak benar atau hilang, (2)
kesalahan interface, (3) kesalahan dalam struktur data atau akses database
eksternal, (4) kesalahan perilaku atau kinerja, dan (5) kesalahan inisialisasi
atau terminasi.
35
BAB III
METODOLOGI PENELITIAN
BAB III METODOLOGI PENELITIAN
3.1. Metode Pengumpulan Data
Dalam melakukan pengumpulan data, penulis menggunakan tiga
macam teknik untuk mendapatkan bahan - bahan sebagai dasar penelitian,
yaitu studi pustaka, observasi dan wawancara.
a. Studi Pustaka
Pada tahapan ini penulis melakukan pengumpulan data yang
terkait dari berbagai sumber. Sumber bacaan berasal dari buku-buku
ilmu komputer, jurnal, karya ilmiah, dan buku elektronik yang
berstandar. Adapun buku-buku yang dipelajari dan situs-situs internet
yang berkaitan dengan judul yang penulis ambil dan dapat dilihat pada
daftar pustaka.
Tabel 3. 1 Studi Pustaka
Nama Judul Kekurangan Kelebihan
Nendy Subhansyah
UIN Syarif
Hidayatullah
Perancangan
Akademik
Sekolah berbasis
Teknologi
Mobile Web
Tidak ada fitur
untuk mencetak
laporan hardcopy
Sistem dapat
diakses secara
mobile
Jamaliah Sistem Aplikasi hanya Dapat mencetak
36
UIN Syarif
Hidayatullah
Informasi
Akademik
berbasis Client
Server
bisa diakses pada
1 tempat karena
menggunakan
jaringan intranet
laporan dalam
bentuk hardcopy
Indah Dwijayanthi
Nirmala
UIN Syarif
Hidayatullah
Pengembangan
Perangkat
Lunak Sistem
Informasi
Akademik SD
Standar
Nasional
Rajawati 08
Pagi berbasis
Jaringan WLAN
dengan
menggunakan
Infrastruktur ad-
hoc
Tidak bisa
diakses di luar
jangkauan
WLAN
Memerlukan
setting yang
rumit untuk
pengguna awam
Dapat diakses
oleh beberapa
user sekaligus
Diakses oleh
jaringan WLAN
b. Observasi
Observasi dilakukan untuk mengumpulkan informasi mengenai
kebutuhan sistem (system requirements). Tempat observasi dilakukan
di SMA Manbaul Ulum Batu Ceper-Tangerang.
37
c. Wawancara
Konsultasi tanya jawab langsung dengan staf terkait di sekolah
SMA Manbaul Ulum untuk mendapatkan penjelasan mengenai sistem
yang sedang berjalan di sekolah.
Proses tanya jawab secara lisan dilakukan dengan harapan agar
penulis mendapatkan data yang dibutuhkan untuk sistem yang
dibutuhkan user. Dari hasil wawancara diperoleh sistem yang sedang
berjalan dan data-data dari hasil wawancara digunakan untuk
mengidentifikasi kebutuhan-kebutuhan pengguna akan aplikasi web
penilaian siswa. Hasil wawancara disajikan pada bagian lampiran.
3.2. Metode Pengembangan Aplikasi
Dalam proses pembuatan aplikasi web penilaian siswa ini, penulis
menggunakan metode RUP (Rational Unified Process) dan untuk pengujian
penulis menggunakan metode Blackbox.
3.2.1. RUP
Penulis menggunakan metode RUP ini karena aplikasi yang
dibangun belum pernah ada sebelumnya di sekolah tersebut, user tidak
bisa menjelaskan secara langsung apa yang menjadi kebutuhan dalam
proses penilaian siswa untuk di terapkan dalam sebuah aplikasi, aplikasi
yan dibangun merupakan kebutuhan dari user, oleh karena itu user terlibat
dalam pengembangan aplikasi dari awal sampai akhir dan aplikasi yang
dibangun membutuhkan waktu relatif lama.
38
Karakteristik aplikasi yang penulis buat sesuai dengan karakteristik
yang ada di metode ini, yaitu metode ini mendukung proses perulangan
atau iterasi dan metode ini mendukung agar stakeholder terus memberikan
masukan terhadap aplikasi yang di bangun.
3.2.2. Blackbox
Aplikasi ini baru pertama kali diterapkan pada SMA Manbaul
Ulum, dan sebelumnya belum ada sama sekali aplikasi sejenis yang
digunakan. Agar user mengetahui apakah aplikasi yang sudah di buat
sudah bisa menggantikan atau sudah bisa mengakomodir sistem penilaian
yang sebelumnya dilakukan secara manual atau belum, maka penulis
menggunakan metode pengujian blackbox.
39
BAB IV
PEMBAHASAN
BAB IV PEMBAHASAN
4.1. Profil SMA Manbaul Ulum
a. Latar belakang
Menjadi umat terbaik dari sebuah bangsa yang besar merupakan
harapan dan cita-cita setiap pribadi muslim. Untuk mencapai harapan dan
cita-cita tersebut maka peran umat Islam sebagai hamba Allah dan
khalifah Allah di muka bumi harus selalu ditingkatkan.
Agar tujuan tersebut bisa tercapai, maka secara kelembagaan,
pondok pesantren harus terus menerus mampu meningkatkan dan
mengembangkan diri baik melalui sistem, konsep, pendanaan,
pengorganisaian, pelaksanaan, dan pengkaderan yang mampu
menumbuhkan individu berkualitas; secara keimanan dan ketaqwaan,
serta keilmuan dan keterampilan.
Dengan segala pengharapan akan cita-cita yang luhur,
mempersiapkan generasi mendatang menjadi lebih baik, maka Pondok
Pesantren Asshiddiqiyah menghadirkan SMA Manba‘ul Ulum
Asshiddiqiyah Kota Tangerang dengan konsep pendidikan menyeluruh
dan berkesinambungan dalam sebuah Islamic Boarding School.
Ada empat aspek penting yang menjadi perhatian utama dalam
pendirian SMA Manba‘ul Ulum Asshiddiqiyah Kota Tangerang.
Pertama, adanya konsep dan sistem pendidikan yang secara sadar
40
diderivasikan dari ajaran Islam dengan tetap memenuhi kriteria
pendidikan nasional. Kedua, adanya manajemen dan tenaga pengelola
dan pengajar yang memiliki visi dan misi keagamaan dan kapabilitas
akademik. Ketiga, adanya raw Input yang telah memiliki dasar
pengetahuan dan keagamaan dalam memahami pendidikan tingkat
menengah. Keempat, adanya pendanaan operasional dan ketersediaan
sarana prasarana pendidikan dan keagamaan yang memadahi.
b. Logo Sekolah
c. Visi misi
Dari visi misi serta tujuan dan dari orientasi pendidikan serta
konsepsi nilai maka dibuatlah visi misi dan tujuan SMA Manba‘ul Ulum
Kota Tangerang sebagai berikut :
1. Visi
Menjadi Sekolah Menengah terpercaya dalam membangun
sumber daya manusia unggul pada bidang keilmuan, peka
terhadap masalah sosial, dan apresiatif akan nilai-nilai keagamaan
dan perkembangan budaya.
41
2. Misi
a. Menyelenggarakan pendidikan dan pengajaran yang dinamis
dan inovatif dengan pola manajemen memelihara tradisi lama
yang positif serta mengambil nilai-nilai baru yang
konstruktif,
b. Mengembangkan materi dan sistem pendidikan yang
menyeluruh, berkesinambungan, relevan dengan kebutuhan
masyarakat dan dunia global,
c. Meningkatkan proses pembelajaran yang mampu
mengembangkan potensi, kreasi, dan kompetisi siswa,
d. Meningkatkan kompetensi dan profesionalisme guru dan
pengelola pendidikan,
e. Meningkatkan dan mengembangkan sarana prasarana
pendidikan berbasis teknologi modern dan berkultur
pesantren.
Sehingga mampu membentuk siswa-siswi SMA memiliki
keilmuan yang berimbang antara konsepsi keagamaan dan sain
modern mampu mengkomunikasikan ilmunya ke dalam bahasa
masyarakat global, dan mampu mengaplikasikan ilmunya dengan
pelanggaran akhlak mulia.
d. Tujuan
Tujuan pendidikan di SMA Manba‘ul Ulum adalah :
42
1. Meningkatkan keimanan dan ketakwaan siswa-siswi SMA agar
mampu mengimplementasikan ajaran agama secara dinamis
sehingga dapat memberikan manfaat dan pengaruh positif bagi
lingkungannya. Indikator utamanya adalah menjadi rujukan dan
teladan bagi masyarakat sekitarnya.
2. Meningkatkan keilmuan dan intelektualitas siswa-siswi SMA
agar mampu mengembangkan pengetahuannya secara mandiri
atau dapat melanjutkan pendidikannya pada jenjang perguruan
tinggi yang berkualitas baik. Indikator utamanya adalah
ketercapaian nilai ujian akhir yang tinggi dan bisa memasuki
perguruan tinggi melalui jalur PMDK atau SPMB Nasional
3. Meningkatkan keterampilan dan kemampuan siswa-siswi SMA
sebagai anggota masyarakat agar mampu berinteraksi di
lingkungan sosialnya dengan baik, dan memiliki keterampilan
hidup yang bisa dikembangkan di tengah-tengah komunitasnya.
Indikator utamanya adalah kemampuan berorganisasi, mengajar,
bekerja atau berwirausaha dengan tetap mengemban misi
berdakwah di tengah-tengah masyarakat global.
43
e. Struktur organisasi
YAYASAN PONDOK PESANTREN
ASSHIDDIQIYAH
Zainuri Yasmin, S.Ag
KEPALA SEKOLAH
KOMITE SEKOLAH
Dinas Pendidikan
Kota/Provinsi
TATA USAHA
Yunda Kurniawan, S.Pd
WAKASEK KURIKULUM
Siti Umayah, S.Ag
WAKASEK KESISWAAN
KETUA KETUA
JURUSAN
DEWAN GURU/
WALIKELAS
OSIS
SISWA-SISWI
DR. KH. Noer Muhammad Iskandar, SQ
PENGASUH PESANTREN
Garis Instruksi
Garis Koordinasi
Gambar 4. 1 Struktur Organisasi
44
Tabel 4. 1 Staf Personalia
1 . Ketua Yayasan : Dr. KH. Noer Muhammad Iskandar, SQ
2 . Ketua Komite Sekolah : Drs. Agus Wijaya
3 . Kepala Sekolah : Zainuri Yasmin, S. Ag
4 . Wakasek. Bid. Kurikulum : Yunda Kurniawan, S.Pd.
5 . Wakasek. Bid. Kesiswaan : Siti Umayah, S.Ag
6 . Bendahara : Miftah, S. Ag
7 . Staff TU : G. Hartanto
8 . Staff TU : Irma Farhana
9 . Staff TU : Vika Susanti, S.Pd
10 . Piket (koor) : Tulus Mulyono, S.Pd.I
11 . Piket Putra : Matnajih, S. Sos
12 . Piket Putri : Hikmah Ulwiyah
13 . Piket Putri : Mazidah
14 . Wali Kelas X.1 : G. Hartanto
15 . Wali Kelas X.2 : Saiful Nur Hidayat, M.Pd.
16 . Wali Kelas X.3 : Siti Umayah, S.Ag
16 . Wali Kelas X.4 : Khuzaimah, S.Pd.I
18 . Wali Kelas XI.IPA 1 : Matnajih, S. Sos
19 . Wali Kelas XI.IPS 1 : M. Sholihun Amin
20 . Wali Kelas XI.IPA 2 : Fatwa Aulia, S.Pd
21 . Wali Kelas XI.IPS 2 : Martini
22 . Wali Kelas XII.IPA 1 : Nur Khamidi, S. Ag
23 . Wali Kelas XII.IPS1 : Tulus Mulyono, S.Pd.I
24 . Wali Kelas XII.IPA 2 : Dra. Suratmini
25 . Wali Kelas XII.IPS 2 : Arin Setyorini, S. Sos
26 . BP/BK : Drs. H. Abdul Choliq Mahfudz
27 . Pustakawan : Alfina Sari, S.Pd.
28 . Laboran Biologi : Dra. Suratmini
29 . Laboran Kimia : Vika Susanti, S.Pd
30 . Laboran Fisika : Syaiful Nurhidayat
31 . Laboran Komputer : Ahmad Hapij, S. Kom
32 . Laboran Bahasa : Moh. Kholis Nurohman, SS
Tangerang, 21 Juli 2010
Kepala Sekolah,
H. Zainuri Yasmin, S. Ag
STAF PERSONALIA SMA MANBA`UL ULUM
PONDOK PESANTREN ASSHIDDIQIYYAH 2 TANGERANG
TAHUN PELAJARAN 2009/2011
45
4.2. Inception Fase (Fase Permulaan)
Dalam tahap ini terdapat beberapa langkah yang perlu dilakukan di
dalam pembangunan aplikasi web pada skripsi ini:
4.2.1. Business Modeling Workflow
a. Identifikasi sistem berjalan
Gambar 4. 2 Workflow Sistem Penilaian Berjalan
Gambar 4.2 di atas menjelaskan tentang sistem proses
penilaian yang sedang berjalan, dengan penjelasan sebagai berikut
46
a. Sebelum melakukan penilaian terhadap siswa, guru meminta
blanko penilaian kosong kepada Tata Usaha
b. Setelah mendapat blanko, guru melaksanakan ujian, soal
diberikan kepada siswa.
c. Setelah selesai melaksanakan ujian, ujian dikoreksi dkemudian
nilai siswa di masukkan ke dalam blanko nilai tersebut,
d. Guru memberikan kepada Tata Usaha untuk direkap.
e. Tata Usaha memasukkan data nilai siswa di buku rekap siswa
sesuai dengan kelas masing-masing. Hal ini bertujuan agar
sekolah memiliki arsip nilai siswa.
f. Setelah nilai di rekap, Tata Usaha mengembalikan blanko nilai
tersebut ke guru yang bersangkutan. Proses ini dilakukan untuk
ujian harian, ujian tengah semester dan ujian akhir semester.
g. Nilai di simpan oleh guru sebagai arsip.
h. Setelah nilai uas diberikan dan direkap oleh Tata Usaha, nilai
diberikan kepada operator SAS (Sistem Administrasi Sekolah).
Operator SAS memasukkan nilai tersebut kedalam sistem untuk
kemudian di buat dalam bentuk file dengan format .pdf.
i. File rapor dengan format .pdf diberikan kepada sekolah
j. Tata Usaha mencetak file tersebut
k. Rapor diserahkan kepada wali kelas untuk di tanda tangani
l. Rapor diserahkan kepada kepala sekolah untuk ditanda tangani,
m. setelah ditanda tangani diberikan kembali kepada wali kelas.
47
n. Rapor diberikan kepada siswa pada akhir semester.
o. Siswa memberikan kepada wali siswa untuk dilihat dan ditanda
tangani.
b. Identifikasi masalah
Berdasarkan identifikasi dari hasil wawancara dengan pihak
sekolah dan identifikasi dari gambar workflow di atas, penulis
menemukan beberapa masalah yang dihadapi sekolah dalam
pelaksanaan sistem yang sudah berjalan, diantaranya adalah:
a. Tahapan yang berulang-ulang, hal ini menyebabkan kurang
efektif karena akan memakan waktu yang banyak dalam
memproses nilai.
b. Kurangnya kontrol terhadap peraturan penyerahan nilai dari
guru mata pelajaran kepada Tata Usaha. Hal ini akan
menyebabkan ketidakdisiplinan guru.
c. Proses yang panjang dalam mencetak rapor. Terjadi karena
sekolah masih bergantung kepada sistem lain atau karena tidak
mempunyai sistem sendiri yang berbasis komputer, masalah
akan timbul jika ada kesalahan data pada rapor, maka sekolah
harus mengurus ke operator SAS dan membutuhkan waktu
beberapa hari sampai rapor yang baru keluar.
d. Setelah rapor sudah diberikan ke siswa, harusnya rapor
diberikan kepada wali siswa/orang tua. Namun ada kalanya
siswa tidak menyerahkan rapor kepada wali siswa padahal rapor
48
merupakan laporan hasil belajar siswa untuk diketahui oleh wali
siswa.
e. Tidak sedikit wali siswa yang bertempat tinggal jauh kerena
SMA Manbaul Ulum termasuk ke dalam yayasan Pondok
Pesantren Asshiddiqiyah, sehingga siswa yang bersekolah
berasal bisa dari berbagai daerah di Indonesia. Hal ini
menyebabkan informasi yang seharusnya diketahui wali siswa
(nilai, pelanggaran dan prestasi) tidak selalu bisa disampaikan
karena jarak wali siswa dan sekolah yang relatif jauh.
c. Alternatif pemecahan masalah
Dari identifikasi masalah, penulis mencoba menguraikan
alternatif yang dapat mengatasi masalah-masalah yang dihadapi
ketika user menggunakan sistem lama. Alternatif pemecahan
masalah penulis uraikan menjadi beberapa poin, yaitu :
a. Membuat aplikasi agar proses penilaian dapat dilakukan
langsung tanpa perlu dilakukan perekapan nilai secara manual
oleh Tata Usaha dan dilakukan secara berulang-ulang.
b. Membuat aplikasi yang dapat diakses oleh guru mata pelajaran
untuk memasukkan nilai siswa.
c. Membuat aplikasi yang dapat menggantikan fungsi SAS sebagai
sarana mencetak rapor, sehingga jika ada kesalahan di rapor,
sekolah tidak perlu mengurus ke luar sekolah karena sudah
memiliki sistem sendiri.
49
d. Membuat sistem yang dapat di akses wali siswa. Sehingga
informasi mengenai anaknya dapat diketahui.
4.2.2. Requirement Workflow
a. Identifikasi lingkup sistem
Berikut adalah kriteria-kriteria yang menjadi acuan dalam penilaian
di rapor akademik di SMA Manbaul Ulum.
a. Terdapat 3 nilai pada rapor, yaitu nilai pengetahuan, nilai
praktik dan nilai sikap.
b. Nilai pengetahuan merupakan hasil penjumlahan dari nilai
kehadiran, nilai rata-rata harian, nilai ujian tengah semester dan
ujian akhir semester.
c. Nilai rata-rata harian berasal dari nilai rata-rata tugas dan nilai
ulangan yang dilakukan sebanyak 4 kali selama 1 semester.
d. Nilai rata-rata harian berasal dari penilaian sehari-hari seorang
guru kepada siswa. Nilai di berikan berdasarkan tingkat
keaktifan dan kerajinan di dalam kelas.
e. Nilai praktik berasal dari penilaian guru pada saat melakukan
praktik. Praktik dilakukan sebanyak 3 kali selama 1 semester.
f. Rumus mendapatkan nilai akhir
𝑈
𝑛𝑈 +
𝑇
𝑛𝑇 × % + K × % + (UTS × % ) + (UAS × %)
U = nilai ulangan harian
nU = jumlah ulangan harian
T = Nilai tugas harian
50
nT = jumlah tugas harian
K = nilai kehadiran
UTS = nilai Ulangan Tengah Semester
UAS = nilai Ulangan Akhir Semester
% = persentase jenis nilai
Agar user yang terlibat dapat melakukan tugas-tugasnya, ada
beberapa kriteria:
a. Kepala sekolah, kurikulum, tata usaha, wali kelas, guru dan
siswa harus login terlebih dahulu sebelum melakukan aktifitas di
aplikasi web penilaian.
b. Admin perlu mengatur halaman apa saja yang bisa di akses oleh
Kepala sekolah, kurikulum, tata usaha, wali kelas, guru dan
siswa. Sehingga ketika user telah login, menu yang muncul
adalah menu yang telah di atur oleh Admin.
c. Admin perlu menambahkan data kepala sekolah, kurikulum, tata
usaha, wali kelas, guru agar bisa mengakses ke dalam sistem.
d. Admin/Kurikulum perlu menambahkan kelas apa saja yang ada
di SMA Manbaul Ulum.
e. Admin/Kurikulum perlu menambahkan pelajaran apa saja yang
ada di SMA Manbaul Ulum.
f. Admin/Kurikulum perlu mengatur kelas dimana seorang wali
kelas menjadi wali, sehingga wali kelas hanya dapat mengakses
data siswa yang berada di kelas yang di asuhnya.
51
g. Admin/Kurikulum perlu mengatur kelas dan pelajaran bagi
guru, sehingga guru hanya bisa memasukkan nilai untuk kelas
dan pelajaran yang telah di atur sebelumnya.
h. Tata usaha perlu memasukkan data siswa agar siswa yang
terdaftar dapat masuk ke dalam sistem.
b. Identifikasi Analisis Persyaratan Sistem
1. Persyaratan Fungsional
Persyaratan fungsional sering diidentifikasikan dalam
istilah Input, process, output dan data tersimpan yang
dibutuhkan untuk memenuhi sasaran peningkatan sistem.
a) Input
1. Id dan password,
Id dan password di Input dengan tujuan agar aplikasi
web ini hanya bisa diakses oleh user yang terdaftar.
2. Data User
Data dari user yang dapat mengakses sistem, user disini
adalah pengguna selain siswa, yaitu Admin, bagian
kurikulum, tata usaha, guru bidang studi, wali kelas dan
kepala sekolah
3. Data kelas
Data kelas ini bertujuan untuk mengetahui kelas yang
ada di sekolah SMA Manbaul Ulum
52
4. Data pelajaran
Data pelajaran ini bertujuan untuk mengetahui
pelajaran apa saja yang ada di SMA Manbaul Ulum
5. Data siswa
Biodata siswa di Input dengan tujuan mengetahui
secara jelas data-data siswa yang bersekolah di SMA
Manbaul Ulum.
6. Nilai siswa
Nilai siswa adalah nilai yang di dapat oleh siswa. Nilai
yang dimaksud adalah nilai akademik, kehadiran siswa,
nilai kepribadian dan nilai pengembangan diri. Data ini
akan digunakan untuk mengisi rapor siswa di akhir
semester.
7. Data prestasi
Data prestasi adalah data yang berisi prestasi yang
diraih siswa baik dari bidang intrakurikuler,
ekstrakurikuler maupun bidang akademik.
8. Data Pelanggaran
Data pelanggaran adalah data yang berisi pelanggaran
yang dilakukan siswa selama bersekolah di SMA
Manbaul Ulum.
53
b) Process
1. Menyimpan data ke dalam database
Setelah proses Input data selesai, makan sistem akan
menyimpan data tersebut ke dalam database.
2. Membaca data
Setelah data disimpan, jika ingin dilihat detail data
tersebut, sistem dapat mengambil data dari database
untuk ditampilkan kepada user yang meminta data
tersebut.
3. Edit data
Jika dalam proses Input data terjadi kesalahan, makan
data tersebut dapat di edit atau dirubah
4. Delete data
Jika ada data yang tidak di inginkan, maka data akan di
hapus.
c) Output
1. Data siswa
Berisi data siswa yang ada pada halaman pertama rapor
siswa
2. Rapor siswa
Diperlukan untuk mengetahui hasil belajar siswa
selama satu semester berupa rapor.
3. Laporan pelanggaran siswa
54
4. Bantuan
Untuk memberikan informasi tentang penggunaan
aplikasi web penilaian.
d) Database
Database yang diusulkan diberi nama ―apsmu” dan terdiri
dari tabel-tabel berikut
1. Account
Tabel untuk menyimpan data user yang dapat
mengakses ke dalam aplikasi web penilaian ini.
2. User
Tabel untuk menyimpan data lengkap dari user
3. Userrole
Tabel untuk menyimpan role yang ada di sistem.
4. PageManagement
Tabel untuk menyimpan halaman apa saja yang dapat
di akses di setiap role yang ada.
5. KelasAsuh
Menyimpan data user merngasuh kelas berapa.
6. Mengajar
Menyimpan data user mengajar kelas berapa dan
pelajaran apa yang di ajar.
7. Pelanggaran
Menyimpan data pelanggaran siswa
55
8. Prestasi
Menyimpan data prestasi siswa.
9. NilaiAkademik
Tabel untuk menyimpan nilai akademik siswa
10. NilaiAkhir
Tabel untuk menyimpan nilai akhir/nilai rapor siswa
11. Kepribadian
Tabel untuk menyimpan nilai kepribadian siswa
12. PengembanganDiri
Tabel untuk menyimpan nilai pengembangan diri siswa
13. Ketidakhadiran
Tabel untuk menyimpan jumlah ketidakhadiran siswa.
14. Komentar
Tabel untuk menyimpan komentar wali kelas untuk
siswa
15. DataKelas
Tabel untuk menyimpan data kelas yang ada.
16. Pelajaran
Tabel untuk menyimpan data pelajaran
17. Siswa
Menyimpan data siswa. Data siswa terdiri dari data
pribadi siswa, data orang tua siswa dan data wali siswa.
18. Persentase
56
Menyimpan persentase penilaian dan tahun ajaran,
sebagai pembatas proses memasukkan nilai.
19. Kepribadian
Menyimpan nilai kepribadian siswa.
2. Persyaratan Non-Fungsional
a. Kebutuhan produk
1. Komputer
2. Sistem Operasi
3. Pentium 4
4. Jaringan internet
b. Kebutuhan organisasial
Pada tahap ini penulis mendefinisikan informasi apa
saja yang terdapat pada aplikasi web penilaian yang
meliputi standar sistem, bahasa pemrograman yang
digunakan dan metode perancangan apa yang digunakan.
a) Sistem sesuai dengan apa yang telah berjalan di SMA
Manbaul Ulum
b) Perancangan menggunakan metode RUP
c) Case tool yang digunakan untuk merancang sistem
menggunakan Rational Rose dan Visio 2007.
d) Integrated Development Environment (IDE)
menggunakan Eclipse Helios
57
e) Sebagai environment java penulis menggunakan JRE
1.6
f) Server menggunakan Tomcat 6.0.29
g) Pembangunan sistem menggunakan Framework ZK
(ZK Studio 1.0.1)
h) Proses mapping objek ke database menggunakan
Framework Hibernate
i) Proses mengubah tabel menjadi class di java dengan
memakai metode Reverse Engineer dengan bantuan
Framework Seam (JBoss Seam 2.1.1 GA) dengan
JBoss 4.2.2 GA sebagai Application Server.
j) Database yang digunakan MySQL 5.0.67
k) Membuat database menggunakan phpMyAdmin -
2.11.9.2
l) Konektor aplikasi java dan database MySQL
menggunakan mysql-connector-java-5.1.16.jar
m) Untuk mencetak rapor, penulis menggunakan tool
Jasper Report dan iReport 4.0.2 sebagai Visual
Designer.
c. Estimasi Resiko
Dalam pelaksanaannya, pembangunan aplikasi web
penilaian ini pasti menemui resiko-resiko yang dapat
menghambat kesuksesan dalam pembangunannya. Dengan
58
mengestimasikan resiko terlebih dahulu, maka penulis akan
meminimalisir resiko yang akan dihadapi dengan
mempertimbangkan dampak dari resiko dalam
pengembangannya. Contoh resiko yang mungkin terjadi
adalah :
a. Pengguna tidak mengerti fungsi dari modul-modul yang
ada. Cara menanganinya adalah dengan memberikan
pelatihan untuk menjelaskan fungsi dari setiap modul
yang ada di aplikasi web penilaian.
b. Human error pada saat input data sehingga ada data yang
terhapus secara tidak sengaja. Cara menanganinya adalah
selain dengan memberikan pelatihan, penulis juga
menghilangkan fungsi delete pada modul yang memuat
data penting.
d. Kekurangan dan kelebihan sistem
Sub bab ini menjelaskan beberapa kelebihan dan
kekurangan dari sistem yang diusulkan dan sistem yang sedang
berjalan.
1. Sistem berjalan
Kelebihan dan kekurangan pada sistem yang sedang
berjalan ini akan disajikan dalam bentuk tabel di bawah ini.
59
Tabel 4. 2 Kelebihan dan Kekurangan Sistem Berjalan
Kelebihan Kekurangan
1. Sistem sudah berjalan selama
bertahun-tahun
2. Tidak memerlukan pelatihan.
1. Ada proses yang dilakukan
berulang-ulang
2. Kurangnya peran wali kelas
3. Tidak ada kontrol untuk membatasi
penyerahan nilai oleh guru,
sehingga tata usaha akan sering
kali menghubungi guru untuk
meminta nilai.
4. Pengolahan data masih manual
5. Rekap nilai hanya berupa kertas.
2. Sistem usulan
Kelebihan dan kekurangan pada sistem yang di
usulkan ini akan disajikan dalam bentuk tabel di bawah ini.
Tabel 4. 3 Kelebihan dan Kekurangan Sistem Usulan
Kelebihan Kekurangan
Otomatisasi
Penyimpanan data secara digital
Proses mencetak rapor yang
lebih efisien
Memaksimalkan peran setiap
elemen yang ada.
Wali siswa dapat mengetahui
nilai siswa, prestasi serta
informasi lainnya secara online
Membutuhkan pelatihan sebelum
menggunakan sistem
Memerlukan sumber daya khusus
untuk melakukan perawatan
sistem.
Membutuhkan biaya operasional.
60
3. Perbandingan sistem secara keseluruhan
Tabel 4. 4 Perbandingan Sistem Berjalan dan Sistem Usulan
Sistem berjalan Sistem usulan
Sistem belum terkomputerisasi
Pengarsipan yang manual
Peran setiap elemen pada proses
akademik belum tertata
Sistem sudah komputer
Pengarsipan data berada di sistem
yang berbasis web
Setiap elemen sudah memilik
peran yang jelas dalam proses
akademik pada sistem.
4.3. Elaboration Phase (Fase Pembangunan)
Terdapat beberapa langkah yang perlu dilakukan dalam
pembangunan aplikasi web penilaian pada skripsi ini:
61
4.3.1. Analysis and Design Workflow
Cetak rapor
Tata Usaha Komputer
Kepala Sekolah
Wali Kelas
Guru
Input data siswa
Sistem Informasi AkademikMelihat seluruh data
Input pengembangan diri,
Ketidakhadiran,
Kehadiran,
Prestasi siswa
Input nilai ulangan
Kurikulum Mengecek seluruh data
Melihat nilai dan prestasi
Rapor
Siswa dan Wali Siswa
Gambar 4. 3 Sistem Usulan
Pada gambar di atas dijelaskan proses dari sistem usulan.
Dengan adanya sistem ini, semua komponen sekolah akan
memaksimalkan fungsi dari tiap perangkat sekolah sehingga pekerjaan
yang sudah diberikan tidak bisa diserahkan kepada orang lain karena
setiap user di sistem ini akan memiliki hak akses yang berbeda-beda.
Hal ini akan membuat proses penilaian sampai menjadi rapor menjadi
lebih efektif. Sebagai tolak ukur keefektifan bisa dilihat dengan
adanya beberapa proses yang dihilangkan dalam pengolahan nilai
siswa mulai dari ujian sampai menjadi rapor dan dibagikan ke siswa.
Bagi wali siswa juga bisa terus memantau nilai, prestasi dan
62
pelanggaran yang dilakukan anaknya melalui sistem ini karena sistem
berbasis web, sehingga bisa diakses dimana saja dan kapan saja.
Selain tujuan tersebut, sistem ini juga dapat berfungsi untuk
menciptakan data backup sehingga akan memudahkan sekolah dalam
proses pengarsipan
a. Analisa Kebutuhan User
1. Administrator
a. Mengatur user yang dapat mengakses sistem
b. Memasukkan dan melihat laporan Nilai (rapor)
c. Memasukkan dan melihat laporan kehadiran siswa
d. Memasukkan dan melihat laporan pelanggaran siswa
e. Memasukkan dan melihat laporan perkembangan siswa
f. Memasukkan dan melihat laporan data siswa (pindah alamat,
ganti nomor telepon, dsb))
g. Mencetak laporan hasil belajar siswa
2. Kurikulum
a. Melihat dan merubah laporan Nilai (rapor)
b. Melihat dan merubah laporan kehadiran siswa
c. Melihat dan merubah laporan pelanggaran siswa
d. Melihat dan merubah laporan perkembangan siswa
e. Melihat dan merubah laporan data siswa
f. Mencetak laporan hasil belajar siswa
g. Menentukan persentase penilaian untuk rapor.
63
3. Tata Usaha
a. Input dan merubah data siswa
4. Guru
a. Memasukkan nilai sesuai dengan pelajaran dan kelas masing-
masing.
5. Wali Kelas
a. Input pelanggaran siswa
b. Input kepribadian siswa
c. Input jumlah ketidakhadiran siswa
d. Input nilai pengembangan diri siswa
e. Input catatan/komentar wali kelas
f. Mengganti kelas siswa.
g. Mencetak rapor siswa sesuai dengan kelas masing-masing.
6. Kepala Sekolah
a. Melihat nilai (rapor) dan prestasi semua siswa per kelas dan
per mata pelajaran
b. Melihat laporan pelanggaran semua siswa,
c. Melihat data semua siswa
7. Siswa
a. Melihat data siswa yang bersangkutan
b. Siswa dapat melihat nilai yang bersangkutan
c. Prestasi yang sudah diraih (formal dan non formal)
64
b. Rancangan User Interface
Gambar 4. 4 Rancangan User Interface “Login”
Halaman login adalah halaman yang muncul pertama kali ketika aplikasi di buka
dan berfungsi untuk membatasi user yang dapat mengakses ke dalam aplikasi.
Halaman ini meminta user memasukkan username dan password untuk mengecek
hak akses yang dimiliki user.
65
Gambar 4. 5 Rancangan User Interface “User, Wali Kelas, Guru”
Halaman ini berfungsi untuk memasukkan data user, wali kelas dan guru. Data
wali kelas dan guru terhubung dengan data kelas dan pelajaran. Listheader adalah
berisi tulisan untuk memberi nama pada data yang ditampilkan, sedangkan listitem
adalah tempat untuk menampilkan data setelah di simpan.
Gambar 4. 6 Rancangan User Interface "User - Siswa"
66
Halaman user-siswa berfungsi untuk melihat username dan password seluruh
siswa, dan pada halaman ini juga user bisa mencari data siswa yang di inginkan
dengan memasukkan NIS siswa yang bersangkutan. Ada 2 listitem, yang atas
adalah listitem yang digunakan untuk menampilkan semua data siswa yang ada,
sedangkan listitem dibawahnya adalah listitem yang digunakan untuk
menampilkan hasil pencarian siswa.
Gambar 4. 7 Rancangan User Interface “Page Management”
Halaman ini berfungsi untuk mengatur role apa saja yang ada, kemudian mengatur
halaman apa saja yang dapat di akses oleh setiap user. Kotak pojok kiri atas
adalah kotak yang digunakan untuk menampilkan nama role yang ada. Kotak di
pojok kiri bawah digunakan untuk menampilkan halaman apa saja yang dapat di
akses oleh user dan kotak di pojok kanan bawah digunakan untuk menambahkan
atau mengubah data halaman yang dapat diakses.
67
Gambar 4. 8 Rancangan User Interface "Input Data Pelajaran"
Halaman ini berfungsi untuk menambahkan, mengubah serta menghapus data
pelajaran yang ada. Listheader adalah berisi tulisan untuk memberi nama pada
data yang ditampilkan, sedangkan listitem adalah tempat untuk menampilkan data
setelah di simpan. Sedangkan form digunakan untuk memasukkan data yang
dibutuhkan untuk mata pelajaran.
68
Gambar 4. 9 Rancangan User Interface "Input Data Kelas"
Halaman ini digunakan untuk menambah, mengubah atau menghapus data kelas
yang ada. Listheader adalah berisi tulisan untuk memberi nama pada data yang
ditampilkan, sedangkan listitem adalah tempat untuk menampilkan data setelah di
simpan. Sedangkan form digunakan untuk memasukkan data yang dibutuhkan
untuk data kelas.
69
Gambar 4. 10 Rancangan User Interface "Input Data Siswa"
Halaman ini digunakan untuk menambah, mengubah atau menghapus data siswa
yang ada. Listheader adalah berisi tulisan untuk memberi nama pada data yang
ditampilkan, sedangkan listitem adalah tempat untuk menampilkan data setelah di
simpan. Sedangkan form digunakan untuk memasukkan data yang dibutuhkan
untuk data siswa
70
Gambar 4. 11 Rancangan User Interface "Input Nilai Akademik"
Halaman ini di gunakan untuk memasukkan nilai sesuai dengan pelajaran, kelas,
semester dan jenis yang ada. Nantinya setiap guru hanya akan bisa memasukkan
nilai sesuai dengan pelajaran dan kelas yang sudah di tugaskan kepadanya pada
menu user.
Gambar 4. 12 Rancangan User Interface "Input Pelanggaran"
71
Halaman ini digunakan untuk menambah, mengubah atau menghapus data
pelanggaran siswa yang ada.
Gambar 4. 13 Rancangan User Interface “Input Prestasi"
Halaman ini digunakan untuk menambah, mengubah atau menghapus data
prestasi siswa yang ada.
Gambar 4. 14 Rancangan User Interface "Cetak Rapor"
72
Halaman ini digunakan untuk mencetak rapor, halaman ini di gunakan oleh wali
kelas, dah setiap wali kelas hanya bisa mencetak rapor kelas yang di asuh olehnya.
Gambar 4. 15 Rancangan User Interface Pindah Kelas"
Halaman ini digunakan untuk memindahkan kelas siswa. Halaman ini akan di
akses oleh wali kelas.
Gambar 4. 16 Rancangan User Interface "Not Allowed"
73
c. Desain Model Berorientasi Objek
1. Activity Diagram
a) Management User
APLIKASI WEB AKADEMIK SEKOLAHUSER
Membuka
Aplikasi Web Akademik Sekolah
Input Username dan Password
Menampilkan Form Login
Validasi
Username dan Password
Menampilkan
Halaman Utama
Menampilkan MenuPililh Menu
Klik "ADD"
Tambah Data
klik "SUBMIT" Simpan Data Ke Database
[T]
[F]
Menampilkan
Form Input Data
Menampilkan
Pesan eror
Gambar 4. 17 Activity Diagram - Management User (Input)
Pada Activity Diagram ini Admin melakukan login, kemudian
sistem melakukan validasi username dan password yang di masukan.
Jika username dan password sesuai dengan data yang terdapat di
database, Admin memilih menu user dan sistem akan menampilkan
74
halaman data user. Admin memilih tombol add, kemudian sistem
menampilkan form data user. Setelah Admin mengisi field yang di
sediakan, pilih tombol submit. Setelah itu sistem akan menyimpan
data yang telah dimasukkan dan menampilkan dalam bentuk list.
APLIKASI WEB AKADEMIK SEKOLAHUSER
Membuka
Aplikasi Web Akademik Sekolah
Input Username dan Password
Menampilkan Form Login
Validasi
Username dan Password
Menampilkan
Halaman Utama
Menampilkan MenuPililh Menu
Klik "EDIT"
Edit Data
klik "UPDATE" Simpan Data Ke Database
[T]
[F]
Menampilkan
Form UPDATE Data
Menampilkan
Pesan eror
Pilih Data
Gambar 4. 18 Activity Diagram - Management User (Update)
Pada Activity Diagram ini Admin melakukan login, kemudian
sistem melakukan validasi username dan password yang di masukan.
75
Jika username dan password sesuai dengan data yang terdapat di
database, Admin memilih menu user dan sistem akan menampilkan
halaman data user. Admin memilih data user yang ingin di rubah,
kemudian pilih tombol edit, kemudian sistem menampilkan form
yang berisi data user. Setelah Admin mengubah field yang di
sediakan, pilih tombol submit. Setelah itu sistem akan menyimpan
perubahan data yang telah di masukkan dan menampilkan dalam
bentuk list.
APLIKASI WEB AKADEMIK SEKOLAHUSER
Membuka
Aplikasi Web Akademik Sekolah
Input Username dan Password
Menampilkan Form Login
Validasi
Username dan Password
Menampilkan
Halaman Utama
Menampilkan MenuPililh Menu
Pilih Data
Menampilkan Pesan
Persetujuan Menghapus Data
Hapus Data di Database
[T]
[F]
Klik "DELETE"
Menampilkan
Pesan eror
[T]
[F]
Gambar 4. 19 Activity Diagram - Management User (Delete)
76
Pada Activity Diagram ini Admin melakukan login, kemudian
sistem melakukan validasi username dan password yang di masukan.
Jika username dan password sesuai dengan data yang terdapat di
database, Admin memilih menu user dan sistem akan menampilkan
halaman data user. Admin memilih data user yang ingin di hapus,
kemudian pilih tombol delete, kemudian sistem menampilkan
notifikasi apakah Admin benar akan menghapus data tersebut, jika
iya, maka sistem menghapus data, dan menampilkan kembali list
data. jika tidak maka akan kembali ke list data.
b) Page Management
APLIKASI WEB AKADEMIK SEKOLAHADMIN
Membuka
Aplikasi Web Akademik Sekolah
Input Username dan Password
Menampilkan Form Login
Validasi
Username dan Password
Menampilkan
Halaman Utama
[T]
[F] Menampilkan
Pesan eror
Pilih Menu Page Management
Menampilkan UserroleKlik "ADD"
Tambah Data Userrole
Klik "SAVE" Menyimpan Ke Database
Gambar 4. 20 Activity Diagram - Page Management (Userrole)
77
Pada Activity Diagram ini Admin melakukan login, kemudian
sistem melakukan validasi username dan password yang di masukan.
Jika username dan password sesuai dengan data yang terdapat di
database, Admin memilih menu Page Management dan sistem akan
menampilkan halaman Page Management. Admin memilih tombol
add, maka sistem akan menampilkan form, kemudian Admin
memasukkan nama Userrole, setelah itu pilih tombol save dan
sistem akan menampilkan dalam bentuk list.
APLIKASI WEB AKADEMIK SEKOLAHADMIN
Membuka
Aplikasi Web Akademik Sekolah
Input Username dan Password
Menampilkan Form Login
Validasi
Username dan Password
Menampilkan
Halaman Utama
[T]
[F] Menampilkan
Pesan eror
Pilih Menu Page Management
Pilih Userrole
Klik "SHOW PAGE ROLE"
Klik "ADD PAGE"
Menampilkan Form PageInput Data Halaman
Klik "SAVE" Menyimpan Ke Database
Menampilkan Page Role
Gambar 4. 21 Activity Diagram - Page Management (Page)
78
Pada Activity Diagram ini Admin melakukan login, kemudian
sistem melakukan validasi username dan password yang di masukan.
Jika username dan password sesuai dengan data yang terdapat di
database, Admin memilih menu Page Management dan sistem akan
menampilkan halaman Page Management. Admin memilih role
yang akan ditambahkan halaman, kemudian pilih tombol show Page
role , sistem akan menampilkan form Page. Jika Admin ingin
menambahkan halaman baru, pilih tombol Add Page dan sistem
menampilkan form untuk memasukkan data halaman. Admin
memasukkan data halaman, kemudian pilih tombol save dan sistem
akan menampilkan data halaman dalam bentuk list. Jika Admin ingin
menambahkan data anak halaman, pilih data halaman dulu, pilih
tombol Add Child Page kemudian tambahkan halaman dan pilih
tombol save. Data akan di tampilkan dalam bentuk list tree.
79
c) Data Kelas
APLIKASI WEB AKADEMIK SEKOLAHUSER
Membuka
Aplikasi Web Akademik Sekolah
Input Username dan Password
Menampilkan Form Login
Validasi
Username dan Password
Menampilkan
Halaman Utama
Menampilkan MenuPililh Menu
Klik "ADD"
Tambah Data
klik "SUBMIT" Simpan Data Ke Database
[T]
[F]
Menampilkan
Form Input Data
Menampilkan
Pesan eror
Gambar 4. 22 Activity Diagram - Data Kelas (Input)
Pada Activity Diagram ini user melakukan login, kemudian sistem
memvalidasi username dan password yang di masukan. Jika username
dan password sesuai dengan data yang terdapat di database, user
memilih menu kelas dan sistem akan menampilkan halaman data kelas.
User memilih tombol add, kemudian sistem menampilkan form data
kelas. Setelah user mengisi field yang di sediakan, pilih tombol submit.
80
Setelah itu sistem akan menyimpan data yang telah dimasukkan dan
menampilkan dalam bentuk list.
APLIKASI WEB AKADEMIK SEKOLAHUSER
Membuka
Aplikasi Web Akademik Sekolah
Input Username dan Password
Menampilkan Form Login
Validasi
Username dan Password
Menampilkan
Halaman Utama
Menampilkan MenuPililh Menu
Klik "EDIT"
Edit Data
klik "UPDATE" Simpan Data Ke Database
Menampilkan
Form UPDATE Data
Menampilkan
Pesan eror
Pilih Data
Gambar 4. 23 Activity Diagram - Data Kelas (Update)
Pada Activity Diagram ini user melakukan login, kemudian sistem
memvalidasi username dan password yang di masukan. Jika username
dan password sesuai dengan data yang terdapat di database, user
memilih menu kelas dan sistem akan menampilkan halaman data kelas.
User memilih kelas yang akan dirubah, lalu pilih tombol edit, kemudian
81
sistem menampilkan form data kelas. Setelah user melakukan
perubahan field yang di sediakan, pilih tombol update. Setelah itu
sistem akan menyimpan data yang telah dimasukkan dan menampilkan
dalam bentuk list.
APLIKASI WEB AKADEMIK SEKOLAHUSER
Membuka
Aplikasi Web Akademik Sekolah
Input Username dan Password
Menampilkan Form Login
Validasi
Username dan Password
Menampilkan
Halaman Utama
Menampilkan MenuPililh Menu
Pilih Data
Menampilkan Pesan
Persetujuan Menghapus Data
Hapus Data di Database
Klik "DELETE"
Menampilkan
Pesan eror
Gambar 4. 24 Activity Diagram - Data Kelas (Delete)
Pada Activity Diagram ini user melakukan login, kemudian sistem
melakukan validasi username dan password yang di masukan. Jika
username dan password sesuai dengan data yang terdapat di database,
82
user memilih menu Data Kelas dan sistem akan menampilkan halaman
data Kelas. User memilih data kelas yang ingin di hapus, pilih tombol
delete, kemudian sistem menampilkan notifikasi apakah user benar
akan menghapus data tersebut, jika iya, maka sistem menghapus data,
dan menampilkan kembali list data. Jika tidak maka akan kembali ke
list data.
d) Data Pelajaran
APLIKASI WEB AKADEMIK SEKOLAHUSER
Membuka
Aplikasi Web Akademik Sekolah
Input Username dan Password
Menampilkan Form Login
Validasi
Username dan Password
Menampilkan
Halaman Utama
Menampilkan MenuPililh Menu
Klik "ADD"
Tambah Data
klik "SUBMIT" Simpan Data Ke Database
Menampilkan
Form Input Data
Menampilkan
Pesan eror
Gambar 4. 25 Activity Diagram - Data Pelajaran (Input)
83
Pada Activity Diagram ini user melakukan login, kemudian sistem
memvalidasi username dan password yang di masukan. Jika username
dan password sesuai dengan data yang terdapat di database, user
memilih menu Pelajaran dan sistem akan menampilkan halaman data
Pelajaran. User memilih tombol add, kemudian sistem menampilkan
form data Pelajaran. Setelah user mengisi field yang di sediakan, pilih
tombol submit. Setelah itu sistem akan menyimpan data yang telah di
masukkan dan menampilkan dalam bentuk list.
APLIKASI WEB AKADEMIK SEKOLAHUSER
Membuka
Aplikasi Web Akademik Sekolah
Input Username dan Password
Menampilkan Form Login
Validasi
Username dan Password
Menampilkan
Halaman Utama
Menampilkan MenuPililh Menu
Klik "EDIT"
Edit Data
klik "UPDATE" Simpan Data Ke Database
Menampilkan
Form UPDATE Data
Menampilkan
Pesan eror
Pilih Data
Gambar 4. 26 Activity Diagram - Data Kelas (Update)
84
Pada Activity Diagram ini user melakukan login, kemudian sistem
memvalidasi username dan password yang di masukan. Jika username
dan password sesuai dengan data yang terdapat di database, user
memilih menu kelas dan sistem akan menampilkan halaman data
Pelajaran. User memilih data yang ingin dirubah lalu memilih tombol
edit, kemudian sistem menampilkan form data Pelajaran. Setelah user
melakukan perubahan field yang di sediakan, pilih tombol update.
Setelah itu sistem akan menyimpan data yang telah dimasukkan dan
menampilkan dalam bentuk list.
APLIKASI WEB AKADEMIK SEKOLAHUSER
Membuka
Aplikasi Web Akademik Sekolah
Input Username dan Password
Menampilkan Form Login
Validasi
Username dan Password
Menampilkan
Halaman Utama
Menampilkan MenuPililh Menu
Pilih Data
Menampilkan Pesan
Persetujuan Menghapus Data
Hapus Data di Database
Klik "DELETE"
Menampilkan
Pesan eror
Gambar 4. 27 Activity Diagram - Data Kelas (Delete)
85
Pada Activity Diagram ini user melakukan login, kemudian sistem
melakukan validasi username dan password yang di masukan. Jika
username dan password sesuai dengan data yang terdapat di database,
user memilih menu Data Pelajaran dan sistem akan menampilkan
halaman data Pelajaran. User memilih data Pelajaran yang ingin di
hapus, pilih tombol delete, kemudian sistem menampilkan notifikasi
apakah user benar akan menghapus data tersebut, jika iya, maka sistem
menghapus data, dan menampilkan kembali list data. jika tidak maka
akan kembali ke list data.
e) Data Siswa
APLIKASI WEB AKADEMIK SEKOLAHUSER
Membuka
Aplikasi Web Akademik Sekolah
Input Username dan Password
Menampilkan Form Login
Validasi
Username dan Password
Menampilkan
Halaman Utama
Menampilkan MenuPililh Menu
Klik "ADD"
Tambah Data
klik "SUBMIT" Simpan Data Ke Database
Menampilkan
Form Input Data
Menampilkan
Pesan eror
Gambar 4. 28 Activity Diagram - Data Siswa (Input)
86
Pada Activity Diagram ini user melakukan login, kemudian sistem
memvalidasi username dan password yang di masukan. Jika username
dan password sesuai dengan data yang terdapat di database, user
memilih menu Siswa dan sistem akan menampilkan halaman data
Siswa. User memilih tombol add, kemudian sistem menampilkan form
data Siswa. Setelah user mengisi field yang di sediakan, pilih tombol
submit. Setelah itu sistem akan menyimpan data yang telah dimasukkan
dan menampilkan dalam bentuk list.
APLIKASI WEB AKADEMIK SEKOLAHUSER
Membuka
Aplikasi Web Akademik Sekolah
Input Username dan Password
Menampilkan Form Login
Validasi
Username dan Password
Menampilkan
Halaman Utama
Menampilkan MenuPililh Menu
Pilih Data
Menampilkan Data
Klik "LIHAT"
Menampilkan
Pesan eror
Gambar 4. 29 Activity Diagram - Data Siswa (Lihat)
87
Pada Activity Diagram ini user melakukan login, kemudian sistem
memvalidasi username dan password yang di masukan. Jika username
dan password sesuai dengan data yang terdapat di database, user
memilih menu Siswa dan sistem akan menampilkan halaman data
Siswa. User memilih data yang ingin di lihat lalu pilih tombol lihat,
kemudian sistem menampilkan data Siswa.
APLIKASI WEB AKADEMIK SEKOLAHUSER
Membuka
Aplikasi Web Akademik Sekolah
Input Username dan Password
Menampilkan Form Login
Validasi
Username dan Password
Menampilkan
Halaman Utama
Menampilkan MenuPililh Menu
Klik "EDIT"
Edit Data
klik "UPDATE" Simpan Data Ke Database
Menampilkan
Form UPDATE Data
Menampilkan
Pesan eror
Pilih Data
Gambar 4. 30 Activity Diagram - Data Siswa (Update)
88
Pada Activity Diagram ini user melakukan login, kemudian sistem
memvalidasi username dan password yang di masukan. Jika username
dan password sesuai dengan data yang terdapat di database, user
memilih menu Siswa dan sistem akan menampilkan halaman data
Siswa. User memilih data yang akan di rubah lalu pilih tombol edit,
kemudian sistem menampilkan form data Siswa. Setelah user
melakukan perubahan field yang di sediakan, pilih tombol update.
Setelah itu sistem akan menyimpan data yang telah dimasukkan dan
menampilkan dalam bentuk list.
APLIKASI WEB AKADEMIK SEKOLAHUSER
Membuka
Aplikasi Web Akademik Sekolah
Input Username dan Password
Menampilkan Form Login
Validasi
Username dan Password
Menampilkan
Halaman Utama
Menampilkan MenuPililh Menu
Pilih Data
Menampilkan Pesan
Persetujuan Menghapus Data
Hapus Data di Database
Klik "DELETE"
Menampilkan
Pesan eror
Gambar 4. 31 Activity Diagram - Data Siswa (Delete)
89
Pada Activity Diagram ini user melakukan login, kemudian sistem
melakukan validasi username dan password yang di masukan. Jika
username dan password sesuai dengan data yang terdapat di database,
user memilih menu Data Siswa dan sistem akan menampilkan
halaman data Siswa. User memilih data Siswa yang ingin di hapus,
pilih tombol delete, kemudian sistem menampilkan notifikasi apakah
user benar akan menghapus data tersebut, jika iya, maka sistem
menghapus data, dan menampilkan kembali list data. jika tidak maka
akan kembali ke list data.
f) Input Nilai
APLIKASI WEB AKADEMIK SEKOLAHGURU
Membuka
Aplikasi Web Akademik Sekolah
Input Username dan Password
Menampilkan Form Login
Validasi
Username dan Password
Menampilkan
Halaman Utama
Menampilkan
Pesan eror
Pilih Menu Input Nilai Akademik
Pilih Pelajaran, Kelas, Semester dan Jenis
Menampilkan SiswaKlik INPUT
Mengisi Nilai
Klik SUBMIT Menyimpan Ke Database
Gambar 4. 32 Activity Diagram - Input Nilai
90
Pada Activity Diagram ini Guru melakukan login, kemudian sistem
memvalidasi username dan password yang dimasukkan. Jika
username dan password sesuai dengan data yang terdapat di database,
Guru memilih menu nilai – Input nilai dan sistem akan menampilkan
halaman untuk Input nilai. Guru memasukkan mata pelajaran, kelas,
semester dan jenis nilai yang di inginkan lalu memilih tombol Input,
kemudian sistem menampilkan data siswa yang masuk dalam kelas
tersebut. Setelah nilai di masukkan, user memilih tombol submit dan
sistem akan menyimpan data di database.
g) Cetak rapor
APLIKASI WEB AKADEMIK SEKOLAHWALI KELAS
Membuka
Aplikasi Web Akademik Sekolah
Input Username dan Password
Menampilkan Form Login
Validasi
Username dan Password
Menampilkan
Halaman Utama
Menampilkan
Pesan eror
Pilih Menu Cetak Rapor
Pilih Kelas dan Semester
Klik "VIEW" Menampilkan Data Siswa
Pilih yang ingin di Cetak Mencetak Rapor
Gambar 4. 33 Activity Diagram - Cetak Rapor
91
Pada Activity Diagram ini Wali Kelas melakukan login, kemudian
sistem memvalidasi username dan password yang dimasukkan. Jika
username dan password sesuai dengan data yang terdapat di database,
Wali Kelas memilih menu cetak rapor dan sistem akan menampilkan
halaman untuk cetak rapor. Kemudian pilih kelas dan semester,
kemudian pilih tombol view, sistem akan menampilkan siswa di kelas
tersebut. Lalu pilih jenis rapor apa yang ingin di cetak, kemudian
sistem akan mencetak rapor siswa.
2. Use case diagram
Use case mendeskripsikan interaksi antara actor di dalam
aplikasi web penilaian
Tabel 4. 5 Actor Description
No Actor Description
1 Admin Orang yang memiliki kendali penuh
terhadap sistem.
2 Kepala Sekolah Dapat melihat data, nilai, dan
pelanggaran siswa
3 Kurikulum Dapat mengatur pelajaran dan kelas
untuk seorang guru dan mengatur wali
kelas setiap kelas.
92
Mengatur pelajaran yang ada dan kelas
yang ada.
4 Tata Usaha Dapat mengatur data siswa, menambah
dan merubah.
5 Wali Kelas Wali kelas dapat memasukkan nilai
sikap, kepribadian, jumlah kehadiran
siswa dan mencetak rapor pada akhir
semester
6 Guru Guru dapat memasukkan nilai sesuai
dengan pelajaran yang di ajar oleh guru
tersebut
7 Siswa Dapat melihat nilai, data siswa,
pelanggaran dan prestasi yang di
peroleh.
Identifikasi aktor dan Use case ini didasari pada kebutuhan
fungsi-fungsi aplikasi. Kebutuhan akan fungsi ini diakomodir di Use
case. Selanjutnya Use case menyediakan nilai hasil kepada aktor .
Berikut ini tabel Requirement aktor dan Use case.
93
1. Penentuan Aktor dan Use case
a. Page Management
Tabel di bawah ini menjelaskan Use case yang di butuhkan pada
Page Management.
Tabel 4. 6 Requirement dan Use case Page Management
No Requirement Actor Use case
1
Login berdasarkan username
dan password
Admin Login
2
Admin melakukan add, edit,
delete data Userrole
Admin Manage Userrole
3
Admin melakukan add, edit,
delete halaman yang bisa di
akses oleh user
Admin Set Accessible Page
4 Admin keluar dari aplikasi Admin Logout
b. Data Kelas, Pelajaran dan Siswa
Tabel di bawah ini menjelaskan Use case yang di butuhkan pada
pengaturan data kelas, pelajaran dan kelas.
Tabel 4. 7 Requirement dan Use case Data Kelas, Pelajaran dan Siswa
No Requirement Actor Use case
1
Login berdasarkan username
dan password
Admin,
Kurikulum,
Login
94
Tata Usaha
2
User melakukan add, edit,
delete data pelajaran
Admin,
Kurikulum
Manage data
pelajaran
3
User melakukan add, edit,
delete data kelas
Admin,
Kurikulum
Manage data kelas
4
User melakukan add, edit,
delete data siswa
Admin,
Kurikulum,
Tata Usaha
Manage data siswa
5 User keluar dari aplikasi
Admin,
Kurikulum,
Tata Usaha
Logout
c. Manage Password
Tabel di bawah ini menjelaskan Use case yang di butuhkan saat
mengatur Password.
Tabel 4. 8 Requirement dan Use case Manage Password
No Requirement Actor Use case
1
Login berdasarkan username
dan password
user Login
2 User mengubah password user Manage Password
3 User keluar dari aplikasi user Logout
95
d. Penilaian
Tabel di bawah ini menjelaskan Use case yang di butuhkan saat
melakukan Penilaian.
Tabel 4. 9 Requirement dan Use case Penilaian
No Requirement Actor Use case
1
Login berdasarkan username
dan password
user Login
2
Admin, Kurikulum melakukan
add, edit, delete data user
Admin,
Kurikulum
Manage user data
3
Kurikulum mengatur guru
untuk setiap pelajaran
Kurikulum Manage teacher
4
Kurikulum mengatur wali kelas
untuk setiap kelas.
Kurikulum
Manage care taker
class
5
Kurikulum mengatur
persentase penilaian
Kurikulum Manage persentase
6
Guru dan Wali Kelas
memasukkan nilai
Guru, Wali
Kelas
Input nilai
7 Wali Kelas mencetak rapor Wali Kelas Cetak rapor
8
Siswa dan Kepala Sekolah
melihat nilai siswa
Siswa,
Kepala
Sekolah
Lihat nilai
9 User keluar dari aplikasi user Logout
96
2. Perancangan Use case Diagram
Use case Diagram digunakan untuk menjelaskan apa yang
dilakukan oleh aplikasi serta aktor-aktor yang akan berhubungan
dengan proses-proses yang ada pada aplikasi. Meskipun telah
digunakan user stories, tetapi pada pengembangannya, Use case ini
diperlukan untuk kebutuhan dokumentasi dan arah pengembangan
selanjutnya. Di bawah ini adalah Use case untuk beberapa aplikasi
yang diusulkan.
a. Use case Page Management
Gambar 4. 34 Use case Page Management
Page Management
Login
Logout
manage userrole
Admin
set accessible page
97
b. Use case Data Kelas, Pelajaran dan Siswa
Gambar 4. 35 Use case Data Kelas, Pelajaran dan Siswa
c. Use case Manage Password
Gambar 4. 36 Use case Manage Password
Data Kelas, Pelajaran dan Siswa
Login
Logout
Kurikulum manage data kelas
Admin
manage data pelajaran
Tata Usaha
manage data siswa
Manage Password
Login
Logout
Admin
Kurikulum
Kepala Sekolah
Wali Kelas
Guru
Siswa
ganti password
98
d. Use case Penilaian
Gambar 4. 37 Use case Penilaian
Penilaian
cetak rapor
input nilai
<<include>>
lihat penilaian
<<include>>
Kepala Sekolah
Guru
Siswa
Wali Kelas
Admin
Login
Logout
manage guru
<<include>>
manage data user
<<include>>
Manage wali kelas
<<include>>Kurikulum
manage persentase
<<include>>
<<include>>
99
3. Use case Scenario
Use case scenario merupakan penjelasan yang lebih terperinci
mengenai masing-masing Use case yang terjadi di dalam aplikasi. Use
case scenario ini terdiri dari:
a. Nama Use case adalah nama Use case yang akan dideskripsikan.
b. Aktor yang terlibat.
c. Trigger.
d. Precondition yang penting bagi Use case untuk memulai.
e. Action.
f. Post condition yang menjelaskan state dari sistem setelah Use case
berakhir.
Setelah menjelaskan Use case pada bahasan sebelumnya, maka
berikut ini akan dijelaskan spesifikasi Use case yang telah ditentukan.
1) Page Management
a) Mengatur Userrole
Tabel 4. 10 Use case scenario Manage Userrole
Nama Use case Manage Userrole
Aktor yang terlibat Admin
Trigger Admin menambahkan atau merubah data
Userrole
100
Pre condition - Username telah terdaftar
- Login sebagai admin.
- Userrole belum ada
Action Tambah dan Ubah Userrole
Post condition Data Userrole sudah tersimpan dalam
database dan tampil di list.
b) Mengatur halaman
Tabel 4. 11 Use case scenario Manage Accessible Page
Nama Use case Manage Accessible Page
Aktor yang terlibat Admin
Trigger Admin menambahkan atau merubah data
halaman yang di akses user
Pre condition - Username telah terdaftar
- Login sebagai admin.
- Data halaman belum ada
- Data halaman tidak sesuai
Action Tambah, Ubah dan hapus halaman
Post condition Data halaman tersimpan dalam database dan
tampil di list
101
2) Data Kelas, Pelajaran dan Siswa
a) Manage data kelas
Tabel 4. 12 Use case scenario Manage data kelas
Nama Use case Manage data kelas
Aktor yang terlibat Admin, Kurikulum
Trigger Admin dan kurikulum menambahkan atau
merubah data kelas
Pre condition - Username telah terdaftar
- Login sebagai admin, Kurikulum
- Data kelas belum ada
- Data kelas tidak sesuai
- Data kelas tidak di butuhkan
Action Tambah, Ubah dan hapus kelas
Post condition Data kelas tersimpan dalam database dan
tampil di list
102
b) Manage data pelajaran
Tabel 4. 13 Use case scenario Manage data pelajaran
Nama Use case Manage data pelajaran
Aktor yang terlibat Admin, Kurikulum
Trigger Admin dan kurikulum menambahkan atau
merubah data pelajaran
Pre condition - Username telah terdaftar
- Login sebagai admin, kurikulum
- Data pelajaran belum ada
- Data pelajaran tidak sesuai
- Data pelajaran tidak lagi di gunakan
Action Tambah, Ubah dan hapus pelajaran
Post condition Data pelajaran tersimpan dalam database
dan tampil di list
103
a) Manage data siswa
Tabel 4. 14 Use case scenario Manage data siswa
Nama Use case Manage data siswa
Aktor yang terlibat Admin, Kurikulum, Tata Usaha
Trigger Admin, Kurikulum, Tata Usaha
menambahkan atau merubah data siswa
yang di akses user
Pre condition - Username telah terdaftar
- Login sebagai Admin, Kurikulum, Tata
Usaha
- Data halaman belum ada
- Data halaman tidak sesuai
Action Tambah, Ubah data siswa
Post condition Data siswa tersimpan dalam database dan
tampil di list
104
3) Manage Password
Tabel 4. 15 Use case scenario Manage Password
Nama Use case Manage Password
Aktor yang terlibat Admin, Kurikulum, Kepala Sekolah, Tata
Usaha, Wali Kelas, Siswa
Trigger Admin, Kurikulum, Kepala Sekolah, Tata
Usaha, Wali Kelas, Siswa merubah
password
Pre condition - Username telah terdaftar
- Login sebagai Admin, Kurikulum,
Kepala Sekolah, Tata Usaha, Wali
Kelas, Siswa.
Action Ubah password
Post condition Password telah berubah dan di simpan
dalam database.
105
4) Penilaian
a) Manage Data User
Tabel 4. 16 Use case scenario Manage Data User
Nama Use case Manage Data User
Aktor yang terlibat Admin
Trigger Admin menambahkan, mengubah atau
menghapus data user
Pre condition - Username telah terdaftar
- Login sebagai Admin
- Data user belum ada
- Data user tidak sesuai
- Data user tidak di gunakan
Action Tambah, ubah dan hapus data user
Post condition - Data user telah tersimpan dan tampil
dalam list
- Data user telah terhapus
106
b) Manage Guru
Tabel 4. 17 Use case scenario Manage Guru
Nama Use case Manage Guru
Aktor yang terlibat Admin, Kurikulum
Trigger Admin, Kurikulum mengatur guru dari
pelajaran.
Pre condition - Username telah terdaftar
- Login sebagai Admin, Kurikulum,
- Pelajaran belum ada yang mengajar
- Guru mengajar pelajaran yang lain
Action Save dan update data.
Post condition Data guru yang mengajar pelajaran
tersimpan dalam database dan tampil dalam
list
107
c) Manage wali kelas
Tabel 4. 18 Use case scenario Manage Wali Kelas
Nama Use case Manage wali kelas
Aktor yang terlibat Admin, Kurikulum
Trigger Admin, Kurikulum mengatur wali kelas
yang mengasuh kelas tertentu.
Pre condition - Username telah terdaftar
- Login sebagai Admin, Kurikulum,
- Kelas belum ada wali kelas
- Kelas berubah wali kelas
Action Save, update data
Post condition Data wali kelas tersimpan dalam database
dan tampil dalam list
108
d) Manage Persentase
Tabel 4. 19 Use case scenario Manage Persentase
Nama Use case Manage Persentase
Aktor yang terlibat Kurikulum
Trigger Kurikulum memasukkan persentase dan
tahun ajaran
Pre condition - Username telah terdaftar
- Login sebagai Kurikulum.
Action Save dan update persentase nilai dan tahun
ajaran
Post condition Persentase dan tahun ajaran tersimpan dalam
database
109
e) Input nilai
Tabel 4. 20 Use case scenario Input Nilai
Nama Use case Input Nilai
Aktor yang terlibat Wali Kelas, Guru
Trigger Wali Kelas, Guru memasukkan nilai
Pre condition - Username telah terdaftar
- Login sebagai wali kelas dan guru.
- Telah melakukan ujian
Action Save nilai
Post condition Nilai tersimpan dalam database
f) Cetak rapor
Tabel 4. 21 Use case scenario cetak rapor
Nama Use case Cetak rapor
Aktor yang terlibat Wali Kelas
Trigger Wali Kelas mencetak rapor siswa
Pre condition - Username telah terdaftar
- Login sebagai wali kelas.
110
- Semua nilai yang di butuhkan sudah
masuk ke dalam database
Action Cetak rapor
Post condition Aplikasi menghasilkan keluaran berupa file
dengan format pdf.
g) Lihat nilai
Tabel 4. 22 Use case scenario lihat nilai
Nama Use case Lihat nilai
Aktor yang terlibat Kepala Sekolah, Siswa
Trigger Kepala Sekolah, Siswa melihat nilai siswa
Pre condition - Username telah terdaftar
- Login sebagai Kepala Sekolah, Siswa
- Nilai sudah masuk
Action Lihat data
Post condition Kepala Sekolah, Siswa melihat data nilai
111
3. Sequence Diagram
1. Admin
a) Input Data Kelas
Gambar 4. 38 Sequence Diagram Admin - Data Kelas
Pada diagram sequence Input data kelas ini user melakukan login
dengan mengisi username dan password, kemudian proses login
diverifikasi pada proses login yang langsung terintegrasi dengan
database pada class account, class account akan melakukan pengecekan
username dan password, jika terjadi kesalahan maka proses login akan
memberikan status login. Jika status login berhasil dilakukan user masuk
ke halaman main Page dan akan memanggil halaman data kelas, dan
112
kemudian terdapat form data kelas. Setelah user memasukkan data kelas,
data disimpan dan kemudian data ditampilkan dalam bentuk list.
b) Data Pelajaran
Gambar 4. 39 Sequence Diagram Admin - Data Pelajaran
Pada diagram sequence Input data pelajaran ini user melakukan
login dengan mengisi username dan password, kemudian proses login
diverifikasi pada proses login yang langsung terintegrasi dengan
database pada class account, class account akan melakukan pengecekan
username dan password, jika terjadi kesalahan maka proses login akan
memberikan status login. Jika status login berhasil dilakukan user masuk
ke halaman main Page dan akan memanggil halaman data pelajaran, dan
kemudian terdapat form data pelajaran. Setelah user memasukkan data
113
pelajaran, data disimpan dan kemudian data ditampilkan dalam bentuk
list.
c) Data Siswa
Gambar 4. 40 Sequence Diagram Admin - Data Siswa
Pada diagram sequence Input data siswa ini user melakukan login
dengan mengisi username dan password, kemudian proses login
diverifikasi pada proses login yang langsung terintegrasi dengan
database pada class account, class account akan melakukan pengecekan
username dan password, jika terjadi kesalahan maka proses login akan
memberikan status login. Jika status login berhasil dilakukan user masuk
ke halaman main Page dan akan memanggil halaman data siswa, dan
114
kemudian terdapat form data siswa. Setelah user memasukkan data siswa,
data disimpan dan kemudian data ditampilkan dalam bentuk list.
d) Nilai
Gambar 4. 41 Sequence Diagram Admin - Input Nilai
Pada diagram sequence Input nilai ini user melakukan login
dengan mengisi username dan password, kemudian proses login
diverifikasi pada proses login yang langsung terintegrasi dengan
database pada class account, class account akan melakukan pengecekan
username dan password, jika terjadi kesalahan maka proses login akan
memberikan status login. Jika status login berhasil dilakukan user masuk
ke halaman main Page dan akan memanggil halaman untuk Input nilai,
115
dan kemudian terdapat form Input nilai. Setelah user memasukkan nilai,
data disimpan.
e) Cetak rapor
Gambar 4. 42 Sequence Diagram Admin - Cetak Rapor
Pada diagram sequence cetak rapor ini user melakukan login
dengan mengisi username dan password, kemudian proses login
diverifikasi pada proses login yang langsung terintegrasi dengan
database pada class account, class account akan melakukan pengecekan
username dan password, jika terjadi kesalahan maka proses login akan
memberikan status login. Jika status login berhasil dilakukan user masuk
ke halaman main Page dan akan memanggil halaman untuk cetak rapor,
116
dan kemudian terdapat form Input nis. Setelah user memasukkan nis,
data di cetak.
f) Management User
Gambar 4. 43 Sequence Diagram Admin - Management User
Pada diagram sequence Input data user ini user melakukan login
dengan mengisi username dan password, kemudian proses login
diverifikasi pada proses login yang langsung terintegrasi dengan
database pada class account, class account akan melakukan pengecekan
username dan password, jika terjadi kesalahan maka proses login akan
memberikan status login. Jika status login berhasil dilakukan user masuk
ke halaman main Page dan akan memanggil halaman data user, dan
117
kemudian terdapat form data user. Setelah user memasukkan data user,
data disimpan dan kemudian data ditampilkan dalam bentuk list.
2. Kepala Sekolah
a) Lihat Data Siswa
Gambar 4. 44 Sequence Diagram Kepala Sekolah - Lihat Data Siswa
Pada diagram sequence lihat data siswa ini user melakukan login
dengan mengisi username dan password, kemudian proses login
diverifikasi pada proses login yang langsung terintegrasi dengan
database pada class account, class account akan melakukan pengecekan
username dan password, jika terjadi kesalahan maka proses login akan
memberikan status login. Jika status login berhasil dilakukan user masuk
118
ke halaman main Page dan akan memanggil halaman untuk melihat data
siswa.
b) Lihat Nilai Siswa
Gambar 4. 45 Sequence Diagram Kepala Sekolah - Lihat Nilai Siswa
Pada diagram sequence lihat nilai siswa ini user melakukan login
dengan mengisi username dan password, kemudian proses login
diverifikasi pada proses login yang langsung terintegrasi dengan
database pada class account, class account akan melakukan pengecekan
username dan password, jika terjadi kesalahan maka proses login akan
memberikan status login. Jika status login berhasil dilakukan user masuk
ke halaman main Page dan akan memanggil halaman untuk melihat nilai
siswa.
119
3. Tata Usaha
a) Input Data Siswa
Gambar 4. 46 Sequence Diagram Tata Usaha - Input Data Siswa
Pada diagram sequence Input data siswa ini user melakukan login
dengan mengisi username dan password, kemudian proses login
diverifikasi pada proses login yang langsung terintegrasi dengan
database pada class account, class account akan melakukan pengecekan
username dan password, jika terjadi kesalahan maka proses login akan
memberikan status login. Jika status login berhasil dilakukan user masuk
ke halaman main Page dan akan memanggil halaman untuk Input data
siswa, dan kemudian terdapat form data siswa. Setelah user memasukkan
data siswa, data disimpan.
120
b) Input Nilai
Gambar 4. 47 Sequence Diagram Tata Usaha - Input Nilai
Pada diagram sequence Input nilai ini user melakukan login
dengan mengisi username dan password, kemudian proses login
diverifikasi pada proses login yang langsung terintegrasi dengan
database pada class account, class account akan melakukan pengecekan
username dan password, jika terjadi kesalahan maka proses login akan
memberikan status login. Jika status login berhasil dilakukan user masuk
ke halaman main Page dan akan memanggil halaman untuk Input nilai,
dan kemudian terdapat form Input nilai. Setelah user memasukkan nilai,
data disimpan.
121
4. Wali Siswa
a) Lihat Data Siswa
Gambar 4. 48 Sequence Diagram Wali Siswa - Lihat Data Siswa
Pada diagram sequence lihat data siswa ini user melakukan login
dengan mengisi username dan password, kemudian proses login
diverifikasi pada proses login yang langsung terintegrasi dengan
database pada class account, class account akan melakukan pengecekan
username dan password, jika terjadi kesalahan maka proses login akan
memberikan status login. Jika status login berhasil dilakukan user masuk
ke halaman main Page dan akan memanggil halaman untuk melihat data
siswa, dan kemudian terdapat form data siswa.
122
b) Lihat Nilai Siswa
Gambar 4. 49 Sequence Diagram Wali Siswa - Lihat Nilai Siswa
Pada diagram sequence lihat nilai siswa ini user melakukan login
dengan mengisi username dan password, kemudian proses login
diverifikasi pada proses login yang langsung terintegrasi dengan
database pada class account, class account akan melakukan pengecekan
username dan password, jika terjadi kesalahan maka proses login akan
memberikan status login. Jika status login berhasil dilakukan user masuk
ke halaman main Page dan akan memanggil halaman untuk melihat nilai
siswa, dan kemudian terdapat form nilai siswa.
123
5. Siswa
a) Lihat Data Siswa
Gambar 4. 50 Sequence Diagram Siswa - Lihat Data Siswa
Pada diagram sequence lihat data siswa ini user melakukan login
dengan mengisi username dan password, kemudian proses login
diverifikasi pada proses login yang langsung terintegrasi dengan
database pada class account, class account akan melakukan pengecekan
username dan password, jika terjadi kesalahan maka proses login akan
memberikan status login. Jika status login berhasil dilakukan user masuk
ke halaman main Page dan akan memanggil halaman untuk melihat data
siswa, dan kemudian terdapat form data siswa.
124
b) Lihat Nilai Siswa
Gambar 4. 51 Sequence Diagram Siswa - Lihat Nilai Siswa
Pada diagram sequence lihat nilai siswa ini user melakukan login
dengan mengisi username dan password, kemudian proses login
diverifikasi pada proses login yang langsung terintegrasi dengan
database pada class account, class account akan melakukan pengecekan
username dan password, jika terjadi kesalahan maka proses login akan
memberikan status login. Jika status login berhasil dilakukan user masuk
ke halaman main Page dan akan memanggil halaman untuk melihat nilai
siswa, dan kemudian terdapat form nilai siswa.
125
4. Class Diagram
+save()
+update()
+delete()
+submit()
+edit()
+loadForm()
-id_siswa
-nis
-nisn
-nama
-alamat
-agama
-tglLahir
-tmptLahir
-sttsKeluarga
-tlp
-anakKe
-almOrtu
-sklhAsal
-almSklhAsal
-almWali
-jk
-klsTerima
-nmAyah
-nmIbu
-kerjaAyah
-kerjaIbu
-tglTerima
-thnIjazah
-noIjazah
-thnSkhun
-noSkhun
-tlpOrtu
-tlpWali
-nmWali
-kerjaWali
-smtTerima
-thnKeluar
Siswa
+save()
+update()
+delete()
-id_kelas
-kelas
-jurusan
-lokal
Kelas
+save()
+update()
+delete()
+submit()
+edit()
+loadForm()
-id_pelajaran
-namaPelajaran
-kkm
-jenis
-kodePelajaran
Pelajaran
+save()
+update()
+delete()
+submit()
+edit()
+loadFormWalas()
-id_kelasAsuh
-id_kelas
-id_user
KelasAsuh
+save()
+update()
-hubunganSosial
-ibadah
-kebbersihan
-kedisiplinan
-kejujuran
-kesehatan
-kompetitif
-percayadiri
-semester
-sopansantun
-tanggungJawab
Kepribadian
+save()
+update()
-id_ketidakhdiran
-alpha
-izin
-sakit
-semester
Ketidakhadiran
-id_user
-nip
-nama
User
1..*
1
1 0..1
0..*
1
0..*
0..*
0..*
0..* 0..*
1
+save()
+update()
-id_komentar
-semester
Komentar
10..*
1
0..*
+add()
+edit()
+submit()
+update()
+delete()
-id_mengajar
-id_kelas
-id_pelajaran
-id_user
Mengajar
1..* 1..*
1..*1..*
1..*
1..*
+save()
+update()
-id_nilaiAkademik
-nilai
-jenis
-semester
-th1
-th2
NilaiAkademik
0..*
0..*
0..*
0..*
0..*
0..*
+save()
+update()
-id_nilaiAkhir
-nilaiPengetahuan
-nilaiPraktik
-semester
-sikap
-th1
-th2
NilaiAkhir
0..*
0..*
0..*
0..*
+save()
+update()
+delete()
-id_pageManagement
-depth
-nama_menu
-no_order
-url
-id_parent
-id_role
-hak_akses
PageManagement
+save()
+update()
-id_acc
-last_login
-username
-password
-session_id
Account+save()
+update()
+delete()
-id_role
-namaRole
Userrole
+save()
+update()
+delete()
+submit()
+edit()
-id_pelanggaran
-pelanggaran
-id_siswa
Pelanggaran
+save()
+update()
-id_pengembanganDiri
-ekskul1
-ekskul2
-ekskul3
-nmEkskul1
-nmEkskul2
-nmEkskul3
-nmOrganisasi1
-nmOrganisasi2
-nmOrganisasi3
-organisasi1
-organisasi2
-organisasi3
-semester
PengembanganDiri
+save()
+delete()
-id_persentase
-kehadiran
-rataHarian
-th1
-th2
-uas
-uts
Persentase
+save()
+update()
+delete()
+add()
+edit()
-kegiatan
-prestasi
-semester
-tingkat
Prestasi
11
0..*
1
0..*
0..*
1
0..*
0..*
0..*
0..*
0..*
0..*
0..*
0..*
0..*
1
0..*
Gambar 4. 52 Class Diagram
Class diagram yang dibuat memiliki delapan belas class yang
saling berhubungan. Masing-masing class memiliki atribut dan setiap class
mempunyai asosiasi dengan class-class lain. Berdasarkan class diagram
diatas penulis mengkategorikan class diatas sebagai berikut:
1. Super class: Siswa, Kelas, User, Pelajaran, Userrole
2. Sub Class: NilaiAkademik, NilaiAkhir, Mengajar, Mengasuh,
Account, pageManagement, ketidakhadiran, pelanggaran,
pengembanganDiri, komentar, prestasi, pelanggaran.
3. Class: Persentase
126
a. Penerjemahan Entity ke dalam Basis Data
Pada class diagram terdapat entity yang dapat diterjemahkan ke
dalam bentuk tabel-tabel beserta field-field dan relation nya ke dalam
basis data.
1) Tabel Account
Gambar 4. 53 Struktur Tabel Account
2) Tabel Userrole
Gambar 4. 54 Struktur Tabel Userrole
3) Tabel User
Gambar 4. 55 Struktur Tabel User
128
5) Tabel Pelajaran
Gambar 4. 57 Struktur Tabel Pelajaran
6) Tabel Kelas
Gambar 4. 58 Struktur Tabel Kelas
7) Tabel NilaiAkademik
Gambar 4. 59 Struktur Tabel NilaiAkademik
129
8) Tabel NilaiAkhir
Gambar 4. 60 Struktur Tabel NilaiAkhir
9) Tabel Pelanggaran
Gambar 4. 61 Struktur Tabel Pelanggaran
10) Tabel prestasi
Gambar 4. 62 Struktur Tabel prestasi
130
11) Tabel pengembanganDiri
Gambar 4. 63 Struktur Tabel pengembanganDiri
12) Tabel ketidakhadiran
Gambar 4. 64 Struktur Tabel ketidakhadiran
131
13) Tabel komentar
Gambar 4. 65 Struktur Tabel komentar
14) Tabel kepribadian
Gambar 4. 66 Struktur Tabel kepribadian
15) Tabel Mengasuh
Gambar 4. 67 Struktur Tabel Mengasuh
132
16) Tabel Persentase
Gambar 4. 68 Struktur Tabel persentase
17) Tabel pageManagement
Gambar 4. 69 Struktur Tabel pageManagement
18) Tabel Mengajar
Gambar 4. 70 Struktur Tabel Mengajar
133
4.3.2. Implementation Workflow
Pada workflow ini, akan dijelaskan tentang integration build
plan yang merupakan daftar tentang urutan pembangunan modul-
modul dalam aplikasi web penilaian.
1. Modul login (login.zul)
Modul yang berisi form untuk melakukan login. Modul ini yang
membatasi user yang dapat mengakses ke dalam sistem.
2. Modul user (user.zul)
Modul ini digunakan untuk menambah data user, membaca data
user selain siswa, mengubah data user yang sudah ada dan
menghapus data user.
3. Modul Page Management (PageManagement.zul)
Modul ini digunakan untuk mengatur halaman apa saja yang
dapat di akses oleh satu role . Modul ini hanya bisa diakses oleh
Admin.
4. Modul data pelajaran (InputDataPelajaran.zul)
Modul ini digunakan untuk menambah data pelajaran, membaca
data pelajaran, mengubah data pelajaran yang sudah ada dan
menghapus data pelajaran.
5. Modul data kelas (InputDataKelas.zul)
Modul ini digunakan untuk kelas
134
6. Modul pindah kelas(pindahKelas.zul)
Modul ini digunakan untuk memindahkan kelas siswa per kelas.
Modul ini digunakan pada saat kenaikan kelas.
7. Modul Input data siswa (InputDataSiswa.zul)
Modul ini digunakan untuk menambah data siswa, membaca data
siswa, mengubah data siswa yang sudah ada dan menghapus data
siswa. Di modul ini juga bisa mengubah kelas siswa.
8. Modul lihat semua data siswa (lihatDataSiswaAll.zul)
Modul ini digunakan khusus oleh kepala sekolah untuk melihat
semua data siswa yang ada.
9. Modul lihat data siswa per kelas (lihatDataSiswaKelas.zul)
Modul ini digunakan untuk melihat data siswa yang ada di satu
kelas, di modul ini juga bisa mencetak data siswa di satu kelas.
10. Modul lihat data siswa (lihatDataSiswa.zul)
Modul ini digunakan untuk melihat data siswa yang
bersangkutan, di modul ini siswa juga bisa meng-upload foto.
11. Modul Input nilai akademik (InputNilaiAkademik.zul)
Modul ini digunakan oleh guru untuk memasukkan dan merubah
nilai akademik siswa berdasarkan kelas dan pelajaran guru yang
bersangkutan.
12. Modul lihat semua nilai siswa (lihatNilaiAkademikAll.zul)
Modul ini digunakan khusus untuk kepala sekolah untuk melihat
semua nilai siswa dari semua mata pelajaran.
135
13. Modul lihat nilai siswa (lihatNilaiAkademik.zul)
Modul ini digunakan khusus oleh siswa dan wali siswa untuk
melihat nilai akademik,
14. Modul cetak rapor (cetakRapor.zul)
Modul ini digunakan untuk mencetak rapor siswa.
15. Modul Input pelanggaran (InputPelanggaran.zul)
Modul ini digunakan oleh Wali kelas untuk meng-Input data
pelanggaran yang dilakukan siswa di kelasnya.
16. Modul lihat semua pelanggaran (lihatPelanggaranAll.zul)
Modul yang digunakan kepala sekolah untuk melihat semua
pelanggaran yang dilakukan siswa.
17. Modul lihat pelanggaran (lihatPelanggaran.zul)
Modul yang digunakan siswa untuk melihat pelanggaran yang
dilakukan.
18. Modul Input prestasi siswa (InputPrestasi.zul)
Modul digunakan oleh wali kelas untuk memasukkan data
prestasi yang diraih seluruh siswa di kelas tersebut.
19. Modul lihat semua prestasi siswa (lihatPrestasiAll.zul)
Modul digunakan oleh kepala sekolah untuk melihat data prestasi
yang diraih seluruh siswa.
20. Modul lihat prestasi siswa (lihatPrestasi.zul)
Modul digunakan oleh siswa untuk melihat data prestasi yang
diraih
136
21. Modul ganti password
Modul yang digunakan semua user untuk mengganti password.
22. Modul bantuan
Modul ini digunakan untuk memberikan bantuan kepada user
apabila user mengalami kesulitan dalam menggunakan aplikasi
web penilaian.
23. Modul logout
Modul ini digunakan untuk keluar dari sistem.
4.4. Construction Phase (Fase Konstruksi)
4.4.1. Implementation Workflow
Pada tahap ini dilakukan pembuatan code terhadap rancangan-
rancangan yang telah di buat pada tahap sebelumnya. Pengkodean
sistem dilakukan dengan bahasa pemrograman JavaEE dengan
bantuan Framework ZK, Hibernate sebagai alat bantu untuk Object
Relational Mapping dan MySQL sebagai database-nya.
Dalam pengembangan Aplikasi web penilaian ini penulis
menggunakan teknik MVC (Model View Control). Dengan
menggunakan teknik ini, dalam penulisan code, penulis memisahkan
antara Model, View dan Control. Pada implementasi coding, View di
letakkan di bagian WebContent. Model diletakkan di package
org.sia.model dan Control di letakkan package org.sia.action. Hal ini
bertujuan agar memudahkan penulis dalam pembagian file.
137
a. Model
Model adalah class pada java yang merepresentasikan tabel
yang ada di database relasional. Nantinya atribut yang ada akan di
generate menjadi field. Class java ini di namakan POJO (Plain
Old Java Object). Berikut adalah salah satu contoh file.
package org.sia.model;
// Generated Sep 29, 2011 3:17:23 PM by Hibernate
Tools 3.2.2.GA
import java.util.HashSet;
import java.util.Set;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import static
javax.persistence.GenerationType.IDENTITY;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;
/**
* Kelas generated by hbm2java
*/
@Entity
@Table(name = "kelas"
public class Kelas implements java.io.Serializable {
private Integer idKelas;
private String jurusan;
private String kelas;
private Integer lokal;
private Set<Siswa> siswas = new HashSet<Siswa>(0);
private Set<Mengajar> mengajars = new
HashSet<Mengajar>(0);
private Set<NilaiKepribadian> kepribadians = new
HashSet<NilaiKepribadian>(0);
private Set<Ketidakhadiran> ketidakhadirans = new
HashSet<Ketidakhadiran>(0);
private Set<NilaiPengembanganDiri> pengembangandiris =
new HashSet<NilaiPengembanganDiri>(
0);
private Set<NilaiKepribadian> kepribadians_1 = new
HashSet<NilaiKepribadian>(0);
private Set<Komentar> komentars = new
HashSet<Komentar>(0);
138
private Set<User> users = new HashSet<User>(0);
private Set<NilaiAkademik> nilaiakademiks = new
HashSet<NilaiAkademik>(0);
public Kelas() {
}
public Kelas(String jurusan, String kelas, Integer
lokal,
Set<Siswa> siswas, Set<Mengajar>
mengajars,
Set<NilaiKepribadian> kepribadians,
Set<Ketidakhadiran> ketidakhadirans,
Set<NilaiPengembanganDiri>
pengembangandiris,
Set<NilaiKepribadian> kepribadians_1,
Set<Komentar> komentars,
Set<User> users, Set<NilaiAkademik>
nilaiakademiks) {
this.jurusan = jurusan;
this.kelas = kelas;
this.lokal = lokal;
this.siswas = siswas;
this.mengajars = mengajars;
this.kepribadians = kepribadians;
this.ketidakhadirans = ketidakhadirans;
this.pengembangandiris = pengembangandiris;
this.kepribadians_1 = kepribadians_1;
this.komentars = komentars;
this.users = users;
this.nilaiakademiks = nilaiakademiks;
}
@Id
@GeneratedValue(strategy = IDENTITY)
@Column(name = "id_kelas", unique = true, nullable =
false)
public Integer getIdKelas() {
return this.idKelas;
}
public void setIdKelas(Integer idKelas) {
this.idKelas = idKelas;
}
@Column(name = "jurusan")
public String getJurusan() {
return this.jurusan;
}
public void setJurusan(String jurusan) {
this.jurusan = jurusan;
}
@Column(name = "kelas", length = 3)
139
public String getKelas() {
return this.kelas;
}
public void setKelas(String kelas) {
this.kelas = kelas;
}
@Column(name = "lokal")
public Integer getLokal() {
return this.lokal;
}
public void setLokal(Integer lokal) {
this.lokal = lokal;
}
@OneToMany(cascade = CascadeType.ALL, fetch =
FetchType.LAZY, mappedBy = "kelas")
public Set<Siswa> getSiswas() {
return this.siswas;
}
public void setSiswas(Set<Siswa> siswas) {
this.siswas = siswas;
}
@OneToMany(cascade = CascadeType.ALL, fetch =
FetchType.LAZY, mappedBy = "kelas")
public Set<Mengajar> getMengajars() {
return this.mengajars;
}
public void setMengajars(Set<Mengajar> mengajars) {
this.mengajars = mengajars;
}
@OneToMany(cascade = CascadeType.ALL, fetch =
FetchType.LAZY, mappedBy = "kelas")
public Set<NilaiKepribadian> getKepribadians() {
return this.kepribadians;
}
public void setKepribadians(Set<NilaiKepribadian>
kepribadians) {
this.kepribadians = kepribadians;
}
@OneToMany(cascade = CascadeType.ALL, fetch =
FetchType.LAZY, mappedBy = "kelas")
public Set<Ketidakhadiran> getKetidakhadirans() {
return this.ketidakhadirans;
}
public void setKetidakhadirans(Set<Ketidakhadiran>
ketidakhadirans) {
this.ketidakhadirans = ketidakhadirans;
}
140
@OneToMany(cascade = CascadeType.ALL, fetch =
FetchType.LAZY, mappedBy = "kelas")
public Set<NilaiPengembanganDiri>
getPengembangandiris() {
return this.pengembangandiris;
}
public void
setPengembangandiris(Set<NilaiPengembanganDiri>
pengembangandiris) {
this.pengembangandiris = pengembangandiris;
}
@OneToMany(cascade = CascadeType.ALL, fetch =
FetchType.LAZY, mappedBy = "kelas")
public Set<NilaiKepribadian> getKepribadians_1() {
return this.kepribadians_1;
}
public void setKepribadians_1(Set<NilaiKepribadian>
kepribadians_1) {
this.kepribadians_1 = kepribadians_1;
}
@OneToMany(cascade = CascadeType.ALL, fetch =
FetchType.LAZY, mappedBy = "kelas")
public Set<Komentar> getKomentars() {
return this.komentars;
}
public void setKomentars(Set<Komentar> komentars) {
this.komentars = komentars;
}
@OneToMany(cascade = CascadeType.ALL, fetch =
FetchType.LAZY, mappedBy = "kelas")
public Set<User> getUsers() {
return this.users;
}
public void setUsers(Set<User> users) {
this.users = users;
}
@OneToMany(cascade = CascadeType.ALL, fetch =
FetchType.LAZY, mappedBy = "kelas")
public Set<NilaiAkademik> getNilaiakademiks() {
return this.nilaiakademiks;
}
public void setNilaiakademiks(Set<NilaiAkademik>
nilaiakademiks) {
this.nilaiakademiks = nilaiakademiks;
}}
141
Code di atas merupakan Model yang berisi objek yang
nantinya digunakan untuk memetakan data yang disimpan ke
database.
Annotation yang digunakan dalam membuat class model
seperti di atas adalah sebagai berikut :
a. @Entity
@Entity mendeklarasikan sebuah class sebagai sebuah entity
b. @Table
@Table adalah kumpulan dari level class; annotation table
digunakan untuk mendefinisikan nama tabel, katalog, dan
skema untuk entity yang di mapping. Jika tidak
ada @Table nilai default adalah nilai yang digunakan.
c. @Id
@Id mendeklarasikan properti atau atribut yang menjadi
id/primary key dari entity tersebut.
d. @GeneratedValue
@GeneratedValue digunakan untuk mendefinisikan bahwa
atribut bernilai auto increment atau naik secara otomatis.
142
e. @Column
@Column digunakan untuk mendefinisikan properti dari class
yang di mapping ke dalam database relasional.
f. @OneToMany
@OneToMany digunakan untuk mendeklarasikan hubungan atau
relasi antara 2 tabel. Nantinya tabel yang dihasilkan akan
memiliki tipe InnoDB yang mendukung sebuah atau beberapa
relasi pada 1 tabel dengan tabel yang lainnya
g. @JoinColumn
Atribut @JoinColumn adalah optional, nilai default seperti
hubungan one to one.
Beberapa atribut yang berada di annotation di atas yaitu :
a. Name
Untuk menentukan nama tabel
b. Unique
Jika nilainya true, makan field tersebut akan berisi nilai yang
unik, artinya tidak akan ada nilai yang sama. Biasanya
143
digunakan untuk field primary key. Jika nilai false, maka field
tersebut boleh memiliki nilai yang sama.
c. Nullable
Jika nullable = “true” maka field pada tabel bisa
memiliki nilai null, jika nullable = “false” maka field
tersebut harus mempunyai nilai.
d. Cascade
Ada beberapa tipe Cascade, REMOVE, MERGE,
PERSIST, REFRESH, ALL.
e. Fetch
Ada 2 parameter, yaitu EAGER dan LAZY. EAGER akan
mencoba untuk menggunakan sebuah outer join select untuk
membaca objek yang berasosiasi, sementara parameter LAZY
hanya akan memilih objek ketika ada objek yang berasosiasi
dengan objek lain untuk pertama kali.
hubungan @OneToMany dan @ManyToMany secara default
memiliki parameter LAZY @OneToOne dan
@ManyToOne memiliki parameter default EAGER.
144
f. MappedBy
mappedBy adalah mengarahkan ke nama properti yang
berhubungan.
b. View
<?Page title="new Page title"
contentType="text/html;charset=UTF-8"?>
<zk><style>
.GridLayoutNoBorder tr.z-row td.z-row-inner,
tr.z-row .z-cell, div.z-grid{-->
border: none;
overflow: hidden;
zoom: 1;
background: white;
border-top: none;
border-left: none;
border-right: none;
border-bottom: none;
}
.z-label{
font-size: 12px;
}
</style>
<?init
class="org.zkoss.zkplus.databind.AnnotateDataBinderIni
t"?>
<window title="" border="none"
apply="org.sia.action.ActInputDataKelas"
sclass="GridLayoutNoBorder">
<zscript>
System.out.println("Input");
</zscript>
<div align="center">
<label value="DATA KELAS"
style="font-size: 24px;
color:#008BB6;
font-weight:bold; font-family:
Verdana;" />
</div>
<grid>
<rows>
<row>
<groupbox mold="3d"
id="gbxList">
<panel>
<panelchildren>
145
<listbox
id="listbox" visible="true"
style="z" mold="paging" PageSize="8">
<auxhead>
<auxheader label="Kelas" align="center" />
<auxheader label="Jurusan" align="center"/>
<auxheader label="Lokal" align="center"/>
</auxhead>
<listhead>
<listheader sort="asc" />
<listheader />
<listheader />
</listhead>
<listitem>
<listcell label="Input" />
</listitem>
</listbox>
</panelchildren>
</panel>
<div align="center">
<button
id="addBtn" image="/img/button/add.png" label="ADD"
onClick="" />
<button
id="editBtn" image="/img/button/edit.png" label="EDIT"
onClick=""
/>
<button
id="deleteBtn" image="/img/button/drop.png"
label="DELETE"
onClick=""
/>
<button
id="cancelBtn" image="/img/button/reset.png"
label="CANCEL"
onClick=""
/>
</div>
</groupbox>
</row>
<row>
<div align="center">
146
<groupbox mold="3d"
id="gbxForm"
width="318px">
<label
value="INPUT/EDIT KELAS"
style="font-
size: 16px; color:black; font-weight:bold;
align:center;" />
<grid>
<columns>
<column width="100px"></column>
<column width="203px"></column>
</columns>
<rows>
<row>
<label value="Kelas" />
<textbox width="190px"
id="kelasTxb" value="@{win$composer.selected.kelas }"
constraint="no empty:Masukkan kelas" />
</row>
<row>
<label value="Jurusan" />
<textbox width="190px"
id="jurusanTxb" value="@{win$composer.selected.jurusan
}" />
</row>
<row>
<label value="Lokal" />
<intbox width="190px"
id="lokalIntbx" value="@{win$composer.selected.jurusan
}" constraint="no empty:Masukkan lokal"/>
</row>
<row
align="center" spans="2">
<div>
<button label="SUBMIT"
onClick="" id="submitForm"
image="/img/button/save.png" />
<button label="CANCEL"
147
onClick="" id="cancelForm"
image="/img/button/reset.png"/>
</div>
</row>
</rows>
</grid>
</groupbox>
</div>
</row>
</rows>
</grid>
</window>
</zk>
Dalam pembuatan View, setiap komponen diberikan id
yang berfungsi sebagai pengenal di Controller. Id tersebut akan
digunakan untuk mengidentikasi jika ada trigger sehingga
Controller mengetahui komponen mana saja yang terlibat pada
suatu event.
Hasil dari peracangan antar muka yang sudah dilakukan
pada fase sebelumnya, kemudian di buatkan tampilan yang
sebenarnya.
Gambar 4. 71 User Interface “Login”
150
Gambar 4. 76 User Interface "Input Data Pelajaran"
Gambar 4. 77 User Interface "Input Data Kelas"
151
Gambar 4. 78 User Interface "Input Data Siswa"
Gambar 4. 79 User Interface "Input Nilai Akademik"
154
Gambar 4. 84User Interface "Not Allowed"
c. Control
package org.sia.action;
import org.hibernate.Session;
import org.hibernate.criterion.Order;
import org.sia.model.Kelas;
import org.sia.model.Pelajaran;
import java.util.ArrayList;
import java.util.List;
import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.event.Event;
import org.zkoss.zk.ui.event.EventListener;
import org.zkoss.zk.ui.util.GenericForwardComposer;
import org.zkoss.zkplus.databind.AnnotateDataBinder;
import org.zkoss.zkplus.hibernate.HibernateUtil;
import org.zkoss.zul.*;
public class ActInputDataKelas extends
GenericForwardComposer {
List <Kelas> allKelas = new ArrayList<Kelas>();
Kelas selected, selectedForm;
//COMPONENT
Groupbox gbxList, gbxForm;
Listbox listbox;
Button addBtn, editBtn, deleteBtn, cancelBtn,
submitForm, updateForm, cancelForm;
Textbox kelasTxb, jurusanTxb;
Intbox lokalIntbx;
155
AnnotateDataBinder binder;
@Override
public void doAfterCompose(Component comp) throws
Exception {
super.doAfterCompose(comp);
binder = new AnnotateDataBinder(comp);
Session session =
HibernateUtil.currentSession();
System.out.print("doAfterCompose");
renderList();
startMode();
}
/*==================================================
* BUTTON'S ACTION
===================================================*/
//add button
public void onClick$addBtn(){
clearForm();
selectedForm = new Kelas();
addMode();
}
//edit button
public void onClick$editBtn()throws
InterruptedException{
loadForm();
editMode();
}
//delete button
public void onClick$deleteBtn()throws Exception{
Messagebox.show("Anda yakin ingin menghapus data
ini?", "Pertanyaan",
Messagebox.OK|Messagebox.CANCEL,
Messagebox.QUESTION, new
EventListener() {
@Override
public void onEvent(Event
event) throws Exception {
// TODO Auto-generated
method stub
int i = new
Integer(event.getData().toString());
if(i ==
Messagebox.CANCEL){
cancelMode();
return;
}
else{
156
try{
Session
session = HibernateUtil.currentSession();
session.delete(selected);
clearForm();
selected =
null;
renderList();
}
catch(Exception
e){
Messagebox.show("Maaf, data tidak bisa di hapus karena
sedang di gunakan pada data lain" +
"Coba hapus
data lain dahulu!");
}
}
}
});
}
//submit button
public void onClick$submitForm() throws
InterruptedException{
Session session =
HibernateUtil.currentSession();
selectedForm.setKelas(kelasTxb.getValue());
selectedForm.setJurusan(jurusanTxb.getValue());
selectedForm.setLokal(lokalIntbx.getValue());
session.saveOrUpdate(selectedForm);
Messagebox.show("Menyimpan..");
clearForm();
renderList();
startMode();
}
//cancel button
public void onClick$cancelForm(){
clearForm();
selected = null;
cancelMode();
}
public void onClick$cancelBtn(){
clearForm();
selected = null;
cancelMode();
157
}
/*==================================================
* ROW RENDER
===================================================*/
private void renderList() {
SimpleListModel model = new
SimpleListModel(getAllKelas());
listbox.setModel(model);
listbox.setItemRenderer(new ListitemRenderer() {
@Override
public void render(final Listitem item,
Object data) throws Exception {
// TODO Auto-generated method stub
final Kelas kls = (Kelas) data;
new Listcell("" +
kls.getKelas()).setParent(item);
new Listcell("" +
kls.getJurusan()).setParent(item);
new Listcell("" +
kls.getLokal()).setParent(item);
item.addEventListener("onClick", new
EventListener() {
@Override
public void onEvent(Event
event) throws Exception {
// TODO Auto-generated
method stub
selected = kls;
selectedForm = kls;
clickitem();
}
});
}
});
}
/*==================================================
* GETTER SETTER
===================================================*/
private List<Kelas> getAllKelas() {
Session session =
HibernateUtil.currentSession();
allKelas =
session.createCriteria(Kelas.class).addOrder(Order.asc("
kelas")).addOrder(Order.asc("jurusan")).list();
return allKelas;
}
public void setAllKelas(List<Kelas> allKelas) {
this.allKelas = allKelas;
}
158
/*==================================================
* BUTTON MODE
===================================================*/
public void startMode() {
gbxForm.setOpen(false);
editBtn.setDisabled(true);
deleteBtn.setDisabled(true);
}
public void addMode(){
gbxForm.setClosable(true);
gbxForm.setOpen(true);
submitForm.setLabel("SUBMIT");
}
public void submitMode(){
gbxForm.setOpen(true);
submitForm.setVisible(true);
submitForm.setLabel("SUBMIT");
}
public void editMode(){
gbxForm.setOpen(true);
gbxForm.setClosable(true);
submitForm.setVisible(true);
submitForm.setLabel("UPDATE");
}
public void cancelMode(){
gbxForm.setOpen(false);
clearForm();
startMode();
}
public void clickitem(){
gbxForm.setOpen(false);
editBtn.setDisabled(false);
deleteBtn.setDisabled(false);
cancelBtn.setDisabled(false);
}
/*==================================================
*
===================================================*/
public void clearForm(){
binder.loadAll();
}
public void loadForm(){
kelasTxb.setValue(selected.getKelas());
jurusanTxb.setValue(selected.getJurusan());
lokalIntbx.setValue(selected.getLokal());
}
}
159
Setelah membuat Controller, di View ditambahkan
apply=”nama controller” agar fungsi-fungsi yang ada di
Controller dapat diterapkan di View.
4.4.2. Test Workflow
Setelah aplikasi web penilaian ini selesai dibuat, dibutuhkan
proses pengujian terhadap modul-modul yang telah dibuat untuk
mengetahui apakah modul sudah sesuai dengan yang dibutuhkan user
dan berjalan sebagaimana mestinya.
Test procedure berisi modul-modul apa saja yang akan diuji,
bagaimana menguji modul-modul tersebut dan siapa yang akan
menguji. Berikut uraian dari test procedure aplikasi web penilaian.
a. Modul-modul yang diuji
1. Modul login
2. Modul user Management
3. Modul Page Management
4. Modul data pelajaran
5. Modul data kelas
6. Modul naik kelas
7. Modul data siswa
8. Modul lihat data siswa
9. Modul lihat data siswa per kelas
10. Modul Input nilai akademik
160
11. Modul cetak rapor
12. Modul lihat nilai siswa
13. Modul bantuan
14. Modul ganti password
15. Modul logout
b. Cara menguji modul
Pada tahap pengujian, penulis menggunakan metode
Black-box dan melihat apakah modul sudah berfungsi
sebagaimana mestinya dengan tahapan-tahapan sebagai
berikut (terlampir).
4.5. Transition Phase
4.5.1. Deployment workflow
Penulis membuat user manual yang digunakan oleh pengguna
dalam memanfaatkan aplikasi web penilaian dan menanggulangi
masalah-masalah ringan dalam menggunakan aplikasi. User manual
dapat di lihat pada lampiran.
161
BAB V
PENUTUP
BAB V PENUTUP
Perancangan aplikasi web penilaian siswa SMA Manbaul Ulum ini
setidaknya dapat menjadi solusi dalam mengatasi permasalahan-permasalahan
yang berhubungan dengan proses pengolahan data yang berkaitan dengan kegiatan
akademikoleh pihak sekolah dan siswa.
Setelah melakukan serangkaian penelitian, maka pada bab ini penulis akan
menguraikan kesimpulan yang dapat diambil. Selain kesimpulan, penulis juga
memberikan saran yang akan bermanfaat bagi pihak-pihak yang akan melanjutkan
pengembangan penelitian ini.
5.1. Kesimpulan
Hasil analisa dan perancangan aplikasi web penilaian siswa dapat
ditarik kesimpulan bahwa aplikasi Web Penilaian siswa ini menyediakan
fasilitas dalam proses penilaian mulai dari Input nilai sampai mencetak rapor
secara terkomputerisasi yang sebelumnya di lakukan dengan cara manual dan
proses mencetak rapor di lakukan sebelumnya dengan aplikasi lain. User
dapat melakukan proses akademik dari mana saja dan kapan saja, selama user
masih terkoneksi dengan internet.
162
5.2. Saran
Berdasarkan hasil perancangan dan pembelajaran yang telah penulis
lakukan pada aplikasi web penilaian siswa ini, maka saran yang dapat penulis
berikan guna pengembangan aplikasi ini adalah:
1. Dengan berkembangnya teknologi seluler, penulis berharap akan ada
pengembangan lanjutan untuk akses aplikasi ini melalui ponsel dengan
semua platform yang ada.
2. Pada pembuatan rapor, data pelajaran yang dimasukkan masih berupa
data statis, diharapkan pada pengembangan selanjutnya pelajaran yang
di cetak di rapor berupa data yang dinamis sehingga bisa di lakukan
perubahan langsung dari user
163
DAFTAR PUSTAKA
DAFTAR PUSTAKA
Achun. Teknik Entity Relationship (ER). Oktober 31, 2007.
http://zulidamel.wordpress.com/2007/10/31/teknik-entity-relationship-er/
(accessed September 2, 2011).
Adi, Martinus. Membuat MasterDetail Report dengan iReport. Desember 24,
2007. http://martinusadyh.web.id/2007/12/24/membuat-masterdetail-
report-dengan-ireport/ (accessed Agustus 21, 2011).
Adruzaman, Zamzam. Object Relationship Mapping dengan POJO pada JAVA.
Mei 22, 2011. http://zamzambadruzaman.blog.com/2011/05/22/object-
relationship-mapping-dengan-pojo-pada-java/ (accessed Juni 11, 2011).
Baver, Christian, and Kavin King. Java Persistence With Hibernate. Greenwich:
Manning, 2007.
Bernard, Emmanuel. Hibernate Annotations. September 15, 2010.
http://docs.jboss.org/hibernate/annotations/3.5/reference/en/html_single/
(accessed Oktober 21, 2011).
Cheng, Robbie, and Henry Chen. ZK Ajax Without JavaScript Framework. Potix
Coorporation, 2007.
Connolly, Thomas, and Carolyn Begg. Database System A Practical Approach to
Design, Implementation and Management. Harlow: Pearson Education
Limited, 2005.
Dharwiyanti, Sri. ―Pengantar Unified Modeling Language (UML).‖
(http://romisatriawahono.net) 2009.
Dwijosyahputro, Imam. PERANCANGAN DAN IMPLEMENTASI SISTEM
INFORMASI RISET (Studi Kasus Lembaga Penelitian UIN Syarif
Hidayatullah Jakarta). Jakarta, 2011.
Fowler, Martin. UML Distilled, 3th Ed., A Brief Guide to the Standard Object
Modeling Language. Pearson Education, 2004.
Hariyanto, Ir., MT, Bambang. Sistem Manajemen Basis Data: Pemdelan,
Perancangan dan Terapannya. Bandung: Informatika, 2004.
164
Harrington, H. James. Business Process Improvement, The Breakthrough Strategy
For Total Quality, Productivity and Competitiveness. Mc-Graw-Hill. Inc,,
1991.
Jamaliah. Sistem Informasi Akademik Berbasis Client Server. Jakarta, 2011.
Jogiyanto, HM. Analisis & Desain Sistem Informasi: Pendekatan Terstruktur
Teori dan Praktek Aplikasi Bisnis. Yogyakarta: Andi Offset, 1999.
Kadir, Abdul. Dasar Perancangan & Implementasi Database Relasional.
Yogyakarta: Andi Offset, 2009.
Kendall, Keneth E, and Julie E Kendall. System Analysis and Design 8th Edition.
New Jersey: Pearson Education, 2011.
Kozaczynski, Wojtek, Peter Eeles, and Kelli Houston. Building J2EE™
Applications with the Rational Unified Process. Addison Weasley, 2002.
Kroll, Per, and Phileppe Kruchten. The Rational Unified Process Made Easy: A
Practitioner's Guide to the RUP. Addison Weasley, 2003.
Kruchten, Philippe. Rational Unified Process, The: An Introduction, Third
Edition. Addison Weasley, 2003.
Marlinda, S.Kom, MM, Linda. "TEKNIK – TEKNIK ANALISA DESAIGN
MENGGUNAKAN ERD DAN UML PADA PERANCANGAN
PROGRAM BERBASISKAN OBJECT." presentasi+uml+SI-TI.ppt 85.
Mukhar, Kevin, Chris Zelenak, James L. Weaver, and Jim Crume. Beginning Java
EE 5: from Novice to professional. Apress, 2006.
Nugroho, Adi. Analisis dan Perancangan Sistem Informasi dengan Metodologi
Berorientasi Objek. Bandung: Informatika, 2002.
—. Rekayasa Perangkat Lunak Berorientasi Objek dengan Metode USDP
(Unified Software Development Process). Yogyakarta: Penerbit ANDI,
2010.
O'Reilly, Tim. What Is Web 2.0 Design Patterns and Business Models for the Next
Generation of Software. September 30, 2005.
http://oreilly.com/web2/archive/what-is-web-20.html (accessed Oktober
28, 2011).
Pressman, Roger S. Software Engineer A Practitioner’s Approach. McGraw-Hill,
2010.
165
Raharjo, Willy Sudiarto, and Aditya Wikan Mahastama. "Pemodelan Sistem
Perangkat Lunak."
Rekayasa Web: Analisis dan Desain Sistem, Rekayasa Informasi, Rekayasa
Hypermedia, Interaksi Manusia dan Komputer, Rekayasa Kebutuhan,
Data Mining, Manajemen Proyek. Yogyakarta: Penerbit Andi, 2010.
Saerang, Jerry Peter. "Berkenalan dengan AJAX." Desember 26, 2007.
Sanjaya, Ridwan. "Web 2.0, Gelombang Baru di Dunia Internet." Ridwan Sanjaya
- Artikel Internet. Juli 2, 2006.
http://ridwansanjaya.blogspot.com/2006/07/web-20-gelombang-baru-di-
dunia.html (accessed 11 2, 2011).
Saputra, Meihta Dwiguna. Step by step Jasper Report Tutorial. 10 21, 2010.
http://mdsaputra.wordpress.com/tag/jasper-report/ (accessed Agustus 29,
2011).
Simarmata, Janner. Rekayasa Web: Analisis dan Desain Sistem, Rekayasa
Informasi, Rekayasa Hypermedia, Interaksi Manusia dan Komputer,
Rekayasa Kebutuhan, Data Mining, Manajemen Proyek. Yogyakarta:
Penerbit Andi, 2010.
Sofyan, Ryan. Mengenal RIA (Rich Internet Application). Januari 15, 2010.
http://view-code.com/berita-193-mengenal-ria-rich-internet-
application.html (accessed 11 2, 2011).
Subhansyah, Nendy. Perancangan Sistem Akademik Sekolah Berbasis Teknologi
Mobile Web (Studi Kasus: SMA Muhammadiyah 3 Tangerang. Jakarta,
2011.
Suryana, Taryana. "Metode RUP." 2006.
167
No Test Case (Kasus Uji)
Qualification
Method
(Metode
Kualifikasi)
Precondition/Testing Steps (Kondisi
Awal/Langkah Pengujian)
Expected Result (Hasil Yang
Diharapkan)
Actual Result
(Hasil Aktual) Status
I. LOGIN
1.1 Login (Sukses) Demonstrasi 1. User harus berada pada halaman
login
2. Pada textbox username, masukkan
nama user yang terdaftar
3. Pada textbox password, masukkan
kata sandi yang sesuai
4. Klik tombol login
Akan tampil menu awal dengan
menu sesuai dengan hak akses
masing-masing user.
Tampil OK
1.2 Login (Password salah) Demonstrasi 1. User harus berada pada halaman
login
2. Pada textbox username, masukkan
nama user yang terdaftar
3. Pada textbox password, masukkan
kata sandi yang tidak sesuai
4. Klik tombol login
Akan tampil pesan "Username
atau password salah"
Tampil OK
1.3 Login (username salah) Demonstrasi 1. User harus berada pada halaman
login
2. Pada textbox username, masukkan
nama user yang tidak valid
3. Pada textbox password, masukkan
kata sandi yang sesuai
4. Klik tombol login
Akan tampil pesan "Username
atau password salah"
Tampil OK
II. UBAH PASSWORD
2.1 Akun > Ganti Password
(sukses)
Demonstrasi 1. User harus sudah berhasil masuk
2. Masukkan password lama yang
sesuai
Akan tampil pesan ‚Password
berhasil dirubah‛ dan ‚Harap
Tampil OK
168
3. Masukkan password baru yang
diinginkan
4. Masukkan kembali password baru
ingat password baru anda‛
2.2 Akun > Ganti Password
(Password lama salah)
Demonstrasi 1. User harus sudah berhasil masuk
2. Masukkan password lama yang
tidak sesuai
3. Masukkan password baru yang
diinginkan
4. Masukkan kembali password baru
Akan muncul pesan ‚Password
lama tidak sesuai‛
Tampil OK
2.3 Akun > Ganti Password
(password baru salah)
Demonstrasi 1. User harus sudah berhasil masuk
2. Masukkan password lama yang
sesuai
3. Masukkan password baru yang
diinginkan
4. Masukkan kembali password baru
yang berbeda
Akan muncul pesan ‚Pastikan
ketik password lagi dengan
benar!!‛
Tampil OK
III. KELUAR
3.1 Akun > keluar Demonstrasi 1. User harus sudah berhasil masuk
2. Pilih keluar
Aplikasi akan menampilkan
halaman login
Tampil OK
IV. ADMIN
4.1 Page (Tambah Role) Demonstrasi 1. User melakukan login sebagai
admin
2. Pada menu page, pilih tombol
‘add role’
3. Masukkan nama role
4. Pilih tombol save
Role akan tampil pada list Tampil OK
4.2 Page (Tambah halaman
hak akses baru)
Demonstrasi 1. User melakukan login sebagai
admin
2. Pada menu page, pilih role yang
ingin ditambah halaman akses,
pilih ‘show page’
Data halaman tersimpan dan akan
muncul
Tampil OK
169
3. Pilih ‘add page’
4. Masukkan data halaman sesuai
dengan deskripsi halaman
5. Pilih ‘save’
4.3 Page (Tambah sub
halaman hak akses)
Demonstrasi 1. User melakukan login sebagai
admin
2. Pada menu page, pilih role yang
ingin ditambah halaman akses,
pilih ‘show page’
3. Pilih ‘select’ pada halaman yang
akan di tambah sub
4. Pilih ‘add child’
5. Masukkan data halaman sesuai
dengan deskripsi halaman
6. Pilih ‘save’
Data halaman tersimpan dan akan
muncul di dalam halaman yang di
pilih sebelumnya.
Tampil OK
4.4 Pelajaran (tambah
pelajaran)
Demonstrasi 1. Pilih menu pelajaran
2. Pilih ‘add’
3. Masukkan kode pelajaran, nama
pelajaran, dan KKM
4. Pilih ‘save’
Data pelajaran tersimpan dan
akan tampil.
OK
4.5 Pelajaran (edit
pelajaran)
Demonstrasi 1. Pilih menu pelajaran
2. Pilih pelajaran yang ingin dirubah
3. Pilih ‘edit’
4. Ubah data pelajaran
5. Pilih ‘update’
Data pelajaran berubah Tampil OK
4.6 Pelajaran (delete
pelajaran)
Demonstrasi 1. Pilih menu pelajaran
2. Pilih pelajaran yang ingin di hapus
3. Pilih ‘delete’
Muncul pertanyaan ‚apakah anda
yakin menghapus data ini?‛. Jika
ok maka data dihapus jika tidak
makan aksi dibatalkan.
Tampil OK
4.7 Kelas (Tambah kelas) Demonstrasi 1. Pilih menu kelas Data kelas tampil Tampil OK
170
2. Pilih ‘add’
3. Masukkan kelas, jurusan jika ada,
dan lokal
4.8 Kelas (Edit kelas) Demonstrasi 1. Pilih menu kelas
2. Pilih kelas yang ingin dirubah
3. Pilih ‘edit’
4. Ubah data kelas
5. Pilih ‘update’
Data kelas berubah Tampil OK
4.9 Kelas (Delete kelas) Demonstrasi 1. Pilih menu kelas
2. Pilih kelas yang ingin di hapus
3. Pilih ‘delete’
Muncul pertanyaan ‚apakah anda
yakin menghapus data ini?‛. Jika
ok maka data dihapus jika tidak
makan aksi dibatalkan.
Tampil OK
4.10 User > tab user (tambah
user)
Demonstrasi 1. User melakukan login sebagai
admin
2. Pada tab user, pilih add
3. Masukkan NIP, nama, role sesuai
dengan jabatan, username dan
password yang diinginkan
4. Pilih save
Muncul message box
‚Menyimpan..‛ dan data user
tampil
Tampil OK
4.11 User > tab user (edit
user)
Demonstrasi 1. User melakukan login sebagai
admin
2. Pada tab user, pilih user yang ingin
di ubah
3. Pilih ‘edit’
4. Ubah data user
5. Pilih ‘update’
Muncul message box
‚Mengubah..‛ dan data user
tampil
Tampil OK
4.12 User > tab user (delete
user)
Demonstrasi 1. User melakukan login sebagai
admin
2. Pada tab user, pilih user yang ingin
di hapus
Muncul pertanyaan ‚apakah anda
yakin menghapus data ini?‛. Jika
ok maka data dihapus jika tidak
Tampil OK
171
3. Pilih ‘delete
4. Pilih ok
makan aksi dibatalkan.
4.13 User > tab Wali Kelas
(tambah wali kelas)
Demonstrasi 1. Pada tab wali kelas
2. Pilih tombol ‘add’
3. Pilih wali kelas dan kelas asuh
4. Pilih ‘save’
- Pada combobox wali kelas,
data user yang keluar adalah
user yang memiliki role sebagai
wali kelas saja.
- Pada combobox kelas, data
kelas yang muncul dari data
kelas yang dimasukkan
sebelumnya
- Muncul message box
‚Menyimpan..‛ dan data
tampil
Tampil OK
4.14 User > tab Wali Kelas
(edit wali kelas)
Demonstrasi 1. Pada tab wali kelas, pilih data yang
ingin dirubah
2. Pilih tombol ‘edit’
3. Ubah data wali kelas dan kelas
asuh
4. Pilih ‘update’
- Pada combobox wali kelas,
data user yang keluar adalah
user yang memiliki role sebagai
wali kelas saja.
- Pada combobox kelas, data
kelas yang muncul dari data
kelas yang dimasukkan
sebelumnya
- Muncul message box
‚Mengubah..‛ dan data tampil
Tampil OK
4.15 User > Guru (tambah
guru mengajar di kelas
berapa)
Demonstrasi 1. Pada tab guru
2. Pilih tombol ‘add’
3. Pilih guru, pelajaran dan kelas
4. Pilih ‘save
- Pada combobox guru, data
yang muncul adalah semua
data user
- Pada combobox kelas, data
kelas yang muncul dari data
kelas yang dimasukkan
sebelumnya
- Pada combobox pelajaran, data
yang muncul adalah data
Tampil OK
172
pelajaran yang dimasukkan
sebelumnya.
- Muncul messagebox
‚Menyimpan..‛ dan data
tampil
4.16 User > Guru (edit guru
mengajar di kelas
berapa)
Demonstrasi 1. Pilih menu user, pilih tab guru
2. Pilih data yang ingin dirubah
3. Pilih ‘edit’
4. Ubah data
5. Pilih ‘update’
- Pada combobox guru, data
yang muncul adalah semua
data user
- Pada combobox kelas, data
kelas yang muncul dari data
kelas yang dimasukkan
sebelumnya
- Pada combobox pelajaran, data
yang muncul adalah data
pelajaran yang dimasukkan
sebelumnya
- Muncul message box
‚Mengubah..‛ dan data tampil
Tampil OK
4.17 User > Guru (delete
guru mengajar di kelas
berapa)
Demonstrasi 1. Pilih menu user, pilih tab guru
2. Pilih data yang ingin dihapus
3. Pilih ‘delete’
Muncul pertanyaan ‚apakah anda
yakin menghapus data ini?‛. Jika
ok maka data dihapus jika tidak
makan aksi dibatalkan.
Tampil OK
V. KURIKULUM
5.1 Siswa Demonstrasi 1. Pilih menu siswa
2. Pilih data siswa yang diinginkan,
3. Pilih ‘edit’
Keluar data siswa Tampil OK
5.2 Pelajaran (tambah
pelajaran)
Demonstrasi 1. Pilih menu pelajaran
2. Pilih ‘add’
3. Masukkan kode pelajaran, nama
pelajaran, dan KKM
Data pelajaran tersimpan dan
akan tampil.
Tampil OK
173
4. Pilih ‘save’
5.3 Pelajaran (edit
pelajaran)
Demonstrasi 1. Pilih menu pelajaran
2. Pilih pelajaran yang ingin dirubah
3. Pilih ‘edit’
4. Ubah data pelajaran
5. Pilih ‘update’
Data pelajaran berubah Tampil OK
5.4 Pelajaran (delete
pelajaran)
Demonstrasi 1. Pilih menu pelajaran
2. Pilih pelajaran yang ingin di hapus
3. Pilih ‘delete’
Muncul pertanyaan ‚apakah anda
yakin menghapus data ini?‛. Jika
ok maka data dihapus jika tidak
makan aksi dibatalkan.
Tampil OK
5.5 Kelas (Tambah kelas) Demonstrasi 1. Pilih menu kelas
2. Pilih ‘add’
3. Masukkan kelas, jurusan jika ada,
dan lokal
Data kelas tampil Tampil OK
5.6 Kelas (Edit kelas) Demonstrasi 1. Pilih menu kelas
2. Pilih kelas yang ingin dirubah
3. Pilih ‘edit’
4. Ubah data kelas
5. Pilih ‘update’
Data kelas berubah Tampil OK
5.7 Kelas (Delete kelas) Demonstrasi 1. Pilih menu kelas
2. Pilih kelas yang ingin di hapus
3. Pilih ‘delete’
Muncul pertanyaan ‚apakah anda
yakin menghapus data ini?‛. Jika
ok maka data dihapus jika tidak
makan aksi dibatalkan.
Tampil OK
5.8 Persentase (masukkan
data)
Demonstrasi 1. Pilih menu persentase
2. Masukkan tahun ajaran
3. Masukkan bobot penilaian
4. Pilih ‘save’
- Jika jumlah persentase tidak
sama dengan 100% akan
muncul pesan ‚Jumlah harus
100%‛
- Data tersimpan
Tampil OK
174
5.9 Persentase (ubah data) Demonstrasi 1. Pilih menu persentase
2. Pilih ‘update’
3. Masukkan tahun ajaran
4. Masukkan bobot penilaian
5. Pilih ‘save’
- Jika jumlah persentase tidak
sama dengan 100% akan
muncul pesan ‚Jumlah harus
100%‛ Dan data tersimpan
Tampil OK
VI. WALI KELAS
6.1 Penilaian > kepribadian Demonstrasi 1. Pilih menu penilaian, pilih sub
kepribadian
2. Pilih siswa dan semester
3. Pilih ‘input’
- Pada combobox siswa, siswa
yang muncul adalah siswa
yang ada di kelas sesuai
dengan kelas asuh wali kelas
- Jika guru memasukkan nilai
pernah di masukkan
sebelumnya, akan tampil
‚Nilai sudah pernah
dimasukkan sebelumnya, anda
hanya diperbolehkan
mengubah‛
Tampil OK
6.2 Rapor Demonstrasi 1. Pilih menu rapor
2. Pilih kelas di combobox dan
semester
3. Pilih ‘view’
- Pada combobox kelas, kelas
yang muncul sesuai dengan
kelas asuh
Tampil OK
6.3 Pindah Kelas Demonstrasi 1. Pilih menu pindah kelas
2. Pilih kelas tujuan siswa
3. Pilih ‘submit’
- Siswa yang muncul adalah
siswa yang berada di kelas
sesuai dengan kelas asuh wali
kelas
- Tampil pesan ‚Menyimpan..‛
dan siswa tidak tampil lagi di
halaman pindah kelas
Tampil OK
6.4 Prestasi (tambah) Demonstrasi 1. Pilih menu prestasi
2. Pilih ‘add’
3. Pilih siswa
4. Masukkan jenis kegiatan, tingkat
- Siswa yang muncul adalah
siswa yang berada di kelas
sesuai dengan kelas asuh wali
kelas
Tampil OK
175
dan prestasi yang diraih
5. Pilih ‘save’
- Tampil pesan ‚Menyimpan..‛
dan data tampil
6.5 Prestasi (edit) Demonstrasi 1. Pilih menu prestasi
2. Pilih prestasi yang ingin dirubah
3. Pilih ‘edit’
4. Ubah data prestasi
5. Pilih update’
Tampil pesan ‚Mengubah..‛ dan
data tampil
Tampil OK
6.6 Prestasi (delete) Demonstrasi 1. Pilih menu prestasi
2. Pilih prestasi yang ingin dihapus
3. Pilih ‘delete’
Muncul pertanyaan ‚apakah anda
yakin menghapus data ini?‛. Jika
ok maka data dihapus jika tidak
makan aksi dibatalkan.
Tampil OK
6.7 Pelanggaran (tambah) Demonstrasi 1. Pilih menu pelanggaran
2. Pilih ‘add’
3. Masukkan data pelanggaran
4. Pilih ‘save’
Tampil pesan ‚Menyimpan..‛ dan
data tampil
Tampil OK
6.8 Pelanggaran (edit) Demonstrasi 1. Pilih menu pelanggaran
2. Pilih data yang ingin dirubah
3. Pilih ‘edit’
4. Ubah data pelanggaran
5. Pilih ‘update’
Tampil pesan ‚Mengubah..‛ dan
data tampil
Tampil OK
6.9 Pelanggaran (delete) Demonstrasi 1. Pilih menu pelanggaran
2. Pilih data yang ingin dihapus
3. Pilih ‘delete’
Muncul pertanyaan ‚apakah anda
yakin menghapus data ini?‛. Jika
ok maka data dihapus jika cancel
makan aksi dibatalkan.
Tampil OK
VII. TATA USAHA
7.1 Siswa (tambah siswa) Demonstrasi 1. Pilih menu siswa
2. Pilih ‘add’
3. Masukkan data siswa
4. Pilih ‘save’
- Role yang muncul di role
combobox hanya siswa
- Kelas yang muncul
berdasarkan data kelas yang
Tampil OK
176
sudah dimasukkan
sebelumnya.
- Tampil pesan ‚Menyimpan..‛
dan data tampil
7.2 Siswa (edit siswa) Demonstrasi 1. Pilih menu siswa
2. Pilih data yang ingin dirubah
3. Pilih ‘edit’
4. Ubah data siswa
5. Pilih ‘update’
Tampil pesan ‚Mengubah..‛ dan
data tampil
Tampil OK
7.3 Siswa (hapus siswa) Demonstrasi 1. Pilih menu siswa
2. Pilih data yang akan dihapus
3. Pilih ‘delete’
Muncul pertanyaan ‚apakah anda
yakin menghapus data ini?‛. Jika
ok maka data dihapus jika tidak
makan aksi dibatalkan.
Tampil OK
7.4 Kelulusan Demonstrasi 1. Pilih kelas
2. Pilih ‘view’
3. Pilih ‘lulus’
- Kelas yang ada pada combobox
kelas hanya kelas XII
- Siswa yang di pilih ‘lulus’ tidak
tampil
Tampil OK
VIII. KEPALA SEKOLAH
8.1 Lihat nilai Demonstrasi 4. Pilih menu lihat nilai
5. Pilih pelajaran, kelas, semester dan
tahun ajaran
6. Pilih ‘view’
Nilai siswa muncul sesuai dengan
parameter yang ditentukan.
Tampil OK
8.2 Lihat data siswa Demonstrasi 1. Pilih menu lihat data siswa
2. Masukkan nis
3. Masukkan nama
4. Pilih ‘view’
5. Pilih data siswa yang tampil
6. Pilih ‘preview’
Data siswa muncul jika sesuai
dengan nis/nama yang
dimasukkan.
Tampil OK
177
IX. GURU
9.1 Nilai (input) Demonstrasi 1. Pilih menu nilai
2. Pilih pelajaran, semester dan jenis
nilai
3. Pilih ‘input’
4. Masukkan nilai
5. Pilih ‘save’
- Pelajaran dan kelas yang
muncul sesuai dengan
pelajaran dan kelas yang sudah
diatur sebelumnya pada menu
user > guru
- Jika guru memasukkan nilai
dengan jenis UTS dan UAS,
dan pernah di masukkan
sebelumnya, akan tampil
‚Nilai sudah pernah
dimasukkan sebelumnya, anda
hanya diperbolehkan
mengubah‛
- Jika bagian kurikulum
tidak/belum mengatur
persentase, maka akan tampil
‚Anda belum/tidak di izinkan
memasukkan nilai, hubungi
bagian kurikulum‛
Tampil OK
9.2 Nilai (edit) Demonstrasi 1. Pilih menu nilai
2. Pilih pelajaran, semester dan jenis
nilai
3. Pilih ‘edit’
Nilai bisa dirubah Tampil OK
X. SISWA
10.1 Nilai > semester Demonstrasi Pilih menu nilai > semester Nilai tampil sesuai dengan field
yang ada
Tampil OK
10.2 Nilai > Detil Demonstrasi 1. Pilih menu nilai > detil
2. Pilih kelas
3. Pilih pelajaran
4. Pilih semester
Nilai tampil sesuai dengan
parameter yang ada
Tampil OK
178
10.3 Nilai > Kepribadian Demonstrasi Pilih menu nilai > kepribadian
Nilai tampil sesuai dengan field
yang ada
Tampil OK
10.4 Data Siswa Demonstrasi 5. Pilih menu data siswa Data siswa tampil sesuai dengan
siswa yang masuk/login
Tampil OK
10.5 Prestasi Demonstrasi 6. Pilih menu prestasi Prestasi yang tampil sesuai
dengan prestasi yang sudah
dimasukkan wali kelas
Tampil OK
10.6 Pelanggaran Demonstrasi 7. Pilih menu pelanggaran pelanggaran yang tampil sesuai
dengan pelanggaran yang sudah
dimasukkan wali kelas
Tampil OK
180
Pewawancara : Sufyan Sidqy
Koresponden : Yunda Kurniawan S.Pd
Jabatan : Kurikulum
1. Bagaimana cara memproses sebuah nilai menjadi rapor di SMA
Manbaul Ulum ini?
- Ada beberapa tahapan yang di jalankan untuk mengolah nilai sampau
menjadi rapor.
Sebelum melakukan penilaian terhadap siswa, guru meminta blanko
penilaian kosong kepada Tata Usaha
Setelah mendapat blanko, guru melaksanakan ujian, soal diberikan
kepada siswa.
Setelah selesai melaksanakan ujian, ujian dikoreksi dkemudian nilai
siswa di masukkan ke dalam blanko nilai tersebut,
Guru memberikan kepada Tata Usaha untuk direkap.
Tata Usaha memasukkan data nilai siswa di buku rekap siswa sesuai
dengan kelas masing-masing. Hal ini bertujuan agar sekolah
memiliki arsip nilai siswa.
Setelah nilai di rekap, Tata Usaha mengembalikan blanko nilai
tersebut ke guru yang bersangkutan. Proses ini dilakukan untuk ujian
harian, ujian tengah semester dan ujian akhir semester.
Nilai di simpan oleh guru sebagai arsip.
Setelah nilai uas diberikan dan direkap oleh Tata Usaha, nilai
diberikan kepada operator Sistem Penilaian siswa. Operator SAS
181
memasukkan nilai tersebut kedalam sistem untuk kemudian di buat
dalam bentuk file dengan format .pdf.
File rapor dengan format .pdf diberikan kepada sekolah
Tata Usaha mencetak file tersebut
Rapor diserahkan kepada wali kelas untuk di tanda tangani
Rapor diserahkan kepada kepala sekolah untuk ditanda tangani,
setelah ditanda tangani diberikan kembali kepada wali kelas.
Rapor diberikan kepada siswa pada akhir semester.
Siswa memberikan kepada wali siswa untuk dilihat dan ditanda
tangani.
2. Apa masalah/kendala yang di alami selama melakukan proses
tersebut?
Ada beberapa, kendala yang pertama adalah jika ada nilai yang di
rekap hilang tercecer karena pengarsipan yang tidak rapih. Tapi itu
masih bisa di atasi dengan meminta arsip nilai dari guru, masalah
lagi jika nilai tersebut hilang. Kendala yang kedua adalah ketika
proses penyerahan nilai dari guru bidang studi kepada tata usaha.
Msalahnya adalah guru tidak diberi batasan waktu yang ketat untuk
penyerahan dan tidak ada sanksi jika telat menyerahkan nilai,
akibatnya bagian TU akan meminta terus menerus kepada guru.
Padahal proses penyerahan nilai ke operatot SAS sampai menjadi
rapor cukup memakan waktu, belum lagi jika ada kesalahan dalam
isi rapor. Kendala lain adalah rapor yang sudah dibagikan belum
tentu sampai ke wali siswa, padahal rapor merupakan laporan yang
182
sekolah berikan agar dapat disampaikan kepada wali siswa agar wali
siswa tahu apa yang anaknya dapatkan selama bersekolah.
Ada satu masalah lagi, yaitu fungsi dari setiap komponen sekolah
yang kurang dimaksimalkan. Jadi TU akan memiliki fungsi ganda.
3. Apa yang bapak harapkan?
Saya mempunyai beberapa harapan untuk memaksimalkan proses
akademik di sekolah ini. Pertama, saya ingin memiliki sebuah
sistem/aplikasi sendiri sehingga nanti jika ada kesalahan dalam
rapor, kita dari pihak sekolah dapat langsung memperbaikinya tanpa
harus bergantung dengan sistem lain (SAS). Kedua, diharapkan ada
sistem yang dapat memaksimalkan fungsi dari setiap bagian yang
ada sehingga tugas yang ada tidak menumpuk kepada 1 bagian saja
(TU). Dan yang terakhir diharapkan ada aplikasi yang dapat diakses
melalui internet, sehingga jika rapor tidak sampai kepada wali siswa,
wali siswa masih dapat melihatnya melalui aplikasi tersebut.
183
Pewawancara : Sufyan Sidqy
Koresponden : Ginting Hartanto
Jabatan : Tata Usaha
1. Apa masalah/kendala yang di alami selama melakukan proses akademik
yang ada?
Tidak ada pembagian kerja yang jelas, jadi hampir semua pekerjaan ada
di bagian TU. Kemudian dalam proses penyerahan nilai, TU selalu
mengejar guru untuk menagih nilai, karena dalam sistem yang berjalan
sekarang, pihak sekolah tidak memberi tekanan dan sanksi jika ada
keterlambatan.
2. Apa yang bapak harapkan?
Diharapkan ada kejelasan tugas secara struktural. Kemudian ada sistem
yang dapat memberikan motivasi agar guru tidak terlambat menyerahkan
nilai.
3. Maksudnya?
Jadi misal seorang guru, ketika selesai melaksanakan ujian, nilai yang
didapat langsung dimasukkan ke sebuah aplikasi, kemudian jika ada
keterlambatan konsekuensi yang di berikan adalah nilai rapor di siswa
kosong. Nantinya jika ada siswa atau wali siswa yang komplain, sekolah
akan mengarahkan untuk bertanya langsung kepada guru yang
bersangkutan.
Kemudian untuk proses yang lainnya, seperti mencetak rapor, di
harapkan di kerjakan oleh wali kelas dari kelas yang bersangkutan.
Nantinya tugas TU adalah merekap nilai yang ada.
187
6. Masukkan port, username dan password yang di inginkan (default port 8080),
lalu Next
7. Masukkan path JVM, lalu Instal
8. Setelah selesai instal tomcat, masukkan file apsmu.war ke folder
$CATALINA_HOME/webapps/ ($CATALINA_HOME adalah folder
tempat instalasi tadi)
9. Jalankan xampp, lalu jalankan service MySQL dan Apache
10. Buka phpMyAdmin di localhost/phpMyAdmin, pastikan untuk mengakses
database menggunakan username root dan tidak menggunakan password.
188
11. Buat sebuah database dengan nama ―sistem‖
12. Pada Program File, pilih Configure Tomcat, lalu pilih Start
13. Aplikasi akan di deploy secara otomatis dan table yang dibutuhkan akan
dibuat otomatis oleh aplikasi.
14. Buka browser, lalu ketikan alamat localhost:8080/apsmu. Angka 8080
adalah port default dari tomcat, jika port tersebut di rubah, maka ganti 8080
sesuai dengan port yang anda masukkan ketika proses instalasi.
15. Selesai.
190
ADMIN
1. MENAMBAH ROLE
Pada menu PAGE, pilih tombol untuk menambah
role.
Akan terbuka form untuk mengisi role
Jika sudah, pilih tombol untuk menyimpan atau
untuk membatalkan.
2. MENGATUR HALAMAN AKSES
Pada menu PAGE, pilih role yang ingin di atur halaman aksesnya
Untuk menambah halaman, pilih
Untuk mengubah, pilih halaman, lalu
Untuk menghapus, pilih halaman, lalu
Kemudian akan muncul form untuk mengisi data halaman
MENU adalah nama menu yang akan tampil di bawah gambar
header
URL adalah nama file yang di inginkan
Untuk URL akan tersedia di lampiran (PERHATIKAN BESAR KECIL
HURUF!)
3. MENGATUR USER
Pada menu USER, pilih tab user
Untuk menambah user, pilih
191
Isi data user, lalu pilih untuk menyimpan data
user.
Untuk mengubah user, pilih
Ubah data user di form yang disediakan, lalu
untuk menyimpan perubahan.
4. MENGATUR WALI KELAS
Pada menu USER, pilih tab Wali Kelas
Pilih untuk menambah data wali kelas
Pilih user dan kelas dan untuk menyimpan data.
Untuk merubah data, pilih data di tabel yang ada lalu pilih
Ubah data, lalu
Data user harus sudah di simpan sebelumnya dengan role wali
kelas
Data kelas harus sudah di simpan sebelumnya pada menu kelas.
5. MENGATUR GURU MATA PELAJARAN
Pada menu USER, pilih tab Guru
Pilih untuk menambah data Guru
Pilih user, kelas dan pelajaran dan untuk
menyimpan data.
192
Untuk merubah data, pilih data di tabel yang ada lalu pilih
Ubah data, lalu
Data user harus sudah di simpan sebelumnya dengan role wali
kelas
Data kelas harus sudah di simpan sebelumnya pada menu kelas.
Data pelajaran harus sudah di simpan sebelumnya pada menu
pelajaran.
Tabel menu
NO NAMA URL DESKRPSI
1 pageManagement.zul Mengatur role dan halaman yang
dapat di akses oleh user
2 user.zul Mengatur user yang dapat mengakses aplikasi
Menambah guru pelajaran Menambah wali kelas
3 inputDataKelas.zul Memasukkan dan mengubah data
kelas
4 inputDataSiswa.zul Memasukkan dan mengubah data
siswa
5 inputDataPelajaran.zul Memasukkan dan mengubah data
pelajaran
6 Persentase.zul Mengatur tahun pelajaran dan
persentase penilaian
7 inputNilaiAkademik.zul Memasukkan dan mengubah nilai
akademik.
8 inputNilaiSikap.zul Memasukkan dan mengubah nilai
kepribadian, nilai pengembangan
193
diri dan kehadiran
9 inputPelanggaran.zul Memasukkan dan mengubah data
pelanggaran siswa.
10 inputPrestasi.zul Memasukkan dan mengubah data
prestasi siswa.
11 pindahKelas.zul Menaikkan kelas
12 cetakRapor.zul Mencetak rapor
13 lihatDataSiswa.zul Melihat data siswa
14 lihatDataSiswaAll.zul Melihat semua data siswa
15 lihatNilaiAkademik.zul Melihat nilai akademik siswa
16 lihatNilaiAkademikAll.zul Melihat semua nilai akademik
siswa
17 lihatNilaiSikap.zul Melihat nilai sikap
18 lihatNilaiSikapAll.zul Melihat semua nilai sikap
19 lihatPelanggaran.zul Melihat pelanggaran siswa
20 lihatPrestasi.zul Melihat prestasi siswa.
21 Persentase.zul Memasukkan tahun ajaran dan
persentase penilaian.
194
KURIKULUM
1. MENGATUR DATA PELAJARAN
Untuk menambah data pelajaran, pilih
Masukkan data pelajaran dan pilih untuk
menyimpan data.
Untuk merubah data, pilih data di tabel yang ada lalu pilih
Ubah data, lalu
2. MENGATUR DATA KELAS
Untuk menambah data kelas, pilih
Masukkan data pelajaran dan pilih untuk
menyimpan data.
Untuk merubah data, pilih data di tabel yang ada lalu pilih
Ubah data, lalu
3. MENGATUR DATA SISWA
Untuk menambah data siswa, pilih
Masukkan data siswa dan pilih untuk menyimpan
data.
195
Untuk merubah data, pilih data di tabel yang ada lalu pilih
Ubah data, lalu
4. MENGATUR DATA USER
Pada menu USER, pilih tab user
Untuk menambah user, pilih
Isi data user, lalu pilih untuk menyimpan data
user.
Untuk mengubah user, pilih
Ubah data user di form yang disediakan, lalu
untuk menyimpan perubahan.
5. MENGATUR WALI KELAS
Pada menu USER, pilih tab Wali Kelas
Pilih untuk menambah data wali kelas
Pilih user dan kelas dan untuk menyimpan data.
Untuk merubah data, pilih data di tabel yang ada lalu pilih
Ubah data, lalu
Data user harus sudah di simpan sebelumnya dengan role wali kelas
Data kelas harus sudah di simpan sebelumnya pada menu kelas.
196
6. MENGATUR GURU MATA PELAJARAN
Pada menu USER, pilih tab Guru
Pilih untuk menambah data Guru
Pilih user, kelas dan pelajaran dan untuk
menyimpan data.
Untuk merubah data, pilih data di tabel yang ada lalu pilih
Ubah data, lalu
Data user harus sudah di simpan sebelumnya dengan role wali kelas
Data kelas harus sudah di simpan sebelumnya pada menu kelas.
Data pelajaran harus sudah di simpan sebelumnya pada menu
pelajaran.
7. MENGATUR PERSENTASE
Jika data masih kosong, masukkan data
pilih untuk menyimpan data
jika sudah ada, pilih untuk mengubah data
masukkan data lalu pilih untuk menyimpan data.
8. PENILAIAN
Pilih penilaian – input nilai
Untuk memasukkan nilai, pilih pelajaran yang di ajar.
Pilih semester dan jenis nilai yang ingin di masukkan.
Pilih
197
Jika sudah selesai memasukkan nilai, pilih
Untuk mengubah nilai, isi pelajaran, semester dan jenis nilai yang
ingin di rubah
Pilih
Ubah nilai, lalu pilih untuk menyimpan.
198
WALI KELAS
1. CETAK RAPOR
Pilih kelas dan semester
Pilih untuk melihat data siswa
Pilih untuk mendapatkan nilai dalam bentuk pdf.
2. PINDAH KELAS
Pilih menu pindah kelas
Pilih kelas yang ingin di tuju
Pilih jika sudah selesai memilih kelas tujuan.
3. NILAI SIKAP
Pilih menu penilaian – sikap
Pilih siswa dan semester
Pilih untuk memulai penilaian
Masukkan data, lalu pilih simpan.
4. NILAI AKADEMIK
Pilih menu penilaian – akademik
Untuk memasukkan nilai, pilih pelajaran yang di ajar.
Pilih semester dan jenis nilai yang ingin di masukkan.
Pilih
Jika sudah selesai memasukkan nilai, pilih
199
Untuk mengubah nilai, isi pelajaran, semester dan jenis nilai yang
ingin di rubah
Pilih
Ubah nilai, lalu pilih untuk menyimpan.
5. PELANGGARAN
Pilih penilaian – pelanggaran
Untuk menambah pelanggaran, pilih tombol
Pilih siswa yang melakukan pelanggaran
Masukkan jenis pelanggaran pada form yang disediakan
Pilih jika sudah selesai untuk menyimpan.
Untuk mengubah, pilih data yang ingin di ubah.
Pilih
Ubah data, lalu untuk menyimpan data
pelanggaran.
6. PRESTASI
Pilih penilaian – prestasi
Untuk menambah pelanggaran, pilih tombol
Pilih siswa yang mendapat prestasi
Masukkan jenis kegiatan, tingkat, dan prestasi yang di dapat pada
form yang disediakan
Pilih jika sudah selesai untuk menyimpan.
Untuk mengubah, pilih data yang ingin di ubah.
201
KEPALA SEKOLAH
1. LIHAT DATA SISWA
Pilih lihat data siswa
Masukkan NIS siswa
Pilih
Pilih data siswa pada tabel
Pilih untuk melihat data lengkap siswa.
2. LIHAT NILAI SISWA
Pilih penilaian – lihat nilai
Pilih kelas, semester, pelajaran dan tahun pelajaran
Pilih untuk melihat nilai siswa
3. PENILAIAN
Pilih penilaian – input nilai
Untuk memasukkan nilai, pilih pelajaran yang di ajar.
Pilih semester dan jenis nilai yang ingin di masukkan.
Pilih
Jika sudah selesai memasukkan nilai, pilih
Untuk mengubah nilai, isi pelajaran, semester dan jenis nilai yang
ingin di rubah
Pilih
Ubah nilai, lalu pilih untuk menyimpan.
202
GURU
1. PENILAIAN
Untuk memasukkan nilai, pilih pelajaran yang di ajar.
Pilih semester dan jenis nilai yang ingin di masukkan.
Pilih
Jika sudah selesai memasukkan nilai, pilih
Untuk mengubah nilai, isi pelajaran, semester dan jenis nilai yang
ingin di rubah
Pilih
Ubah nilai, lalu pilih untuk menyimpan.
204
ActInputNilaiAkademik.java
package org.sia.action;
import
org.apache.poi.hssf.record.formula.functions.Setva
lue;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.criterion.MatchMode;
import org.hibernate.criterion.Order;
import org.hibernate.criterion.Restrictions;
import org.sia.model.*;
import java.util.ArrayList;
import java.util.List;
import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.event.Event;
import org.zkoss.zk.ui.event.EventListener;
import
org.zkoss.zk.ui.util.GenericForwardComposer;
import
org.zkoss.zkplus.databind.AnnotateDataBinder;
import org.zkoss.zkplus.hibernate.HibernateUtil;
import org.zkoss.zul.*;
public class ActInputNilaiAkademik extends
Security {
Session sess =
HibernateUtil.currentSession();
List<Siswa> allMain = new
ArrayList<Siswa>();
List<NilaiAkademik> allAkademik = new
ArrayList<NilaiAkademik>();
List<NilaiAkademik> nilaiAkademik = new
ArrayList<NilaiAkademik>();
List<Persentase> persen =
sess.createCriteria(Persentase.class).list();
List<NilaiAkhir> nilaiAkhir = new
ArrayList<NilaiAkhir>();
NilaiAkademik selected, selectedForm;
Siswa selectedSiswa;
205
NilaiAkhir selectedAkhir;
NilaiAkademik belajar = new NilaiAkademik();
Siswa ssw = new Siswa();
String huruf;
// COMPONENT
private Groupbox gbxList;
private Groupbox gbxForm;
private Listbox listbox;
private Grid a;
private Button addBtn;
private Button editBtn;
private Button deleteBtn;
private Button submitForm;
private Button updateForm;
private Button cancelForm;
private Button cancelBtn;
private Combobox pelajaranCbx, kelasCbx,
semesterCbx, jenisCbx;
AnnotateDataBinder binder;
@Override
public void doAfterCompose(Component comp)
throws Exception {
super.doAfterCompose(comp);
Session session =
HibernateUtil.currentSession();
Account acc =
Security.getAccountSession();
// List<Kelas> allKelas =
session.createCriteria(Kelas.class).list();
List<Mengajar> allPelajaran =
session.createCriteria(Mengajar.class)
.createAlias("user",
"u").createAlias("u.account", "a")
.add(Restrictions.eq("a.idAcc",
acc.getIdAcc())).list();
List<Mengajar> allKelas =
session.createCriteria(Mengajar.class)
206
.createAlias("user",
"u").createAlias("u.account", "a")
.add(Restrictions.eq("a.idAcc",
acc.getIdAcc())).list();
Comboitem comboKelas, comboPelajaran;
for (Mengajar kelas : allKelas) {
comboKelas = new Comboitem();
comboKelas.setLabel(kelas.getKelas().getKela
s() + "."
+
kelas.getKelas().getJurusan() + " "
+
kelas.getKelas().getLokal());
comboKelas.setValue(kelas);
kelasCbx.appendChild(comboKelas);
}
for (Mengajar plj : allPelajaran) {
comboPelajaran = new
Comboitem();
comboPelajaran.setLabel(plj.getPelajaran().g
etNamaPelajaran());
comboPelajaran.setValue(plj);
pelajaranCbx.appendChild(comboPelajaran);
}
binder = new AnnotateDataBinder(comp);
System.out.println("doAfterCompose");
startMode();
}
public void onSelect$pelajaranCbx() {
Session em =
HibernateUtil.currentSession();
207
Mengajar mng = (Mengajar)
pelajaranCbx.getSelectedItem().getValue();
kelasCbx.setValue(mng.getKelas().getKelas()
+ "."
+
mng.getKelas().getJurusan() + " " +
mng.getKelas().getLokal());
}
/*
*
==================================================
BUTTON'S ACTION
*
==================================================
=
*/
// input button
public void onClick$inputBtn() throws
InterruptedException {
Session session =
HibernateUtil.currentSession();
addMode();
renderList();
pelajaranCbx.setDisabled(true);
kelasCbx.setDisabled(true);
jenisCbx.setDisabled(true);
semesterCbx.setDisabled(true);
}
// edit button
public void onClick$editBtn() throws
InterruptedException {
editMode();
loadForm();
pelajaranCbx.setDisabled(true);
kelasCbx.setDisabled(true);
jenisCbx.setDisabled(true);
semesterCbx.setDisabled(true);
208
}
// submit button
public void onClick$submitForm() throws
InterruptedException {
Session session =
HibernateUtil.currentSession();
for (Siswa ssw : allMain) {
selectedForm = new
NilaiAkademik();
selectedAkhir = new
NilaiAkhir();
selectedSiswa = ssw;
Intbox a = (Intbox)
listbox.getFellowIfAny("nilaiIntbx" +
ssw.getIdSiswa(), true);
selectedForm.setSiswa(ssw);
selectedForm.setNilai(a.getValue());
selectedForm.setSemester((String)
semesterCbx.getSelectedItem().getValue());
selectedForm.setKelas(((Mengajar)
kelasCbx.getSelectedItem().getValue()).getKelas())
;
selectedForm.setPelajaran(((Mengajar)
pelajaranCbx.getSelectedItem().getValue()).getPela
jaran());
selectedForm.setJenis(jenisCbx.getSelectedIt
em().getValue()
.toString());
if
(jenisCbx.getSelectedItem().getValue().equals("UAS
")) {
Messagebox.show("Anda
yakin sudah memasukkan semua nilai?",
"Pertanyaan",
Messagebox.OK | Messagebox.CANCEL,
Messagebox.QUESTION, new EventListener() {
209
@Override
public
void onEvent(Event event) throws Exception {
//
TODO Auto-generated method stub
int i = new
Integer(event.getData().toString());
if
(i == Messagebox.CANCEL) {
cancelMode();
return;
}
else {
if (persen.isEmpty()) {
alert("Anda belum/tidak di izinkan
untuk memasukkan nilai, hubungi bagian
Kurikulum");
} else {
Session session =
HibernateUtil.currentSession();
selectedForm.setTh1(persen.get(0).getTa1());
selectedForm.setTh2(persen.get(0).getTa2());
session.save(selectedForm);
saveNilai();
Messagebox.show("Menyimpan nilai
akhir..");
}
}
}
});
} else {
if (persen.isEmpty()) {
210
alert("Anda
belum/tidak di izinkan untuk memasukkan nilai,
hubungi bagian Kurikulum");
} else {
selectedForm.setTh1(persen.get(0).getTa1());
selectedForm.setTh2(persen.get(0).getTa2());
session.save(selectedForm);
Messagebox.show("Menyimpan..");
}
}
startMode();
}
}
public void onClick$updateForm() throws
InterruptedException {
Session session =
HibernateUtil.currentSession();
for (NilaiAkademik nilai :
allAkademik) {
Intbox a = (Intbox)
listbox.getFellowIfAny("nilaiIntbx" +
nilai.getSiswa().getIdSiswa(), true);
nilai.setNilai(a.getValue());
if
(jenisCbx.getSelectedItem().getValue().equals("UAS
")) {
if (persen.isEmpty()) {
alert("Anda
belum/tidak di izinkan untuk mengubah nilai,
hubungi bagian Kurikulum");
} else {
session.update(nilai);
selectedSiswa.equals(getEditNilai().get(0).g
etSiswa());
211
selectedAkhir.setNilaiPengetahuan(getNilaiAk
hir());
selectedAkhir.setNilaiPraktik(getNilaiPrakti
k());
selectedAkhir.setSikap(sikap(getSikap()));
session.update(selectedAkhir);
Messagebox.show("Mengupdate nilai akhir..");
}
}else{
session.update(nilai);
Messagebox.show("Mengupdate nilai..");
}
}
startMode();
}
// cancel button
public void onClick$cancelForm() {
selected = null;
cancelMode();
}
public void onClick$cancelBtn() {
cancelMode();
}
/*
*
==================================================
ROW RENDER
*
==================================================
=
212
*/
private void renderList() {
ListModel model = new
SimpleListModel(getAllMain());
listbox.setModel(model);
listbox.setItemRenderer(new
ListitemRenderer() {
@Override
public void render(final
Listitem item, Object data)
throws Exception {
// TODO Auto-generated
method stub
final Siswa ssw = (Siswa)
data;
item.setValue(ssw);
Listcell nilai1 = new
Listcell();
new Listcell("" +
ssw.getNis()).setParent(item);
new Listcell("" +
ssw.getNama()).setParent(item);
Intbox nilai = new
Intbox();
nilai.setId("nilaiIntbx" +
ssw.getIdSiswa());
nilai.setWidth("180px");
nilai.setMaxlength(2);
nilai.setStyle("align:center");
nilai.setParent(nilai1);
nilai1.setParent(item);
selectedSiswa = ssw;
//
System.out.println("praktik render: " +
getRataHarian());
//
System.out.println("nilai akhir render: " +
getNilaiAkhir());
213
//
System.out.println("nilai praktik render: " +
// getNilaiPraktik());
//
System.out.println("ulangan render: " +
getUlangan());
}
});
}
/*
*
==================================================
GETTER SETTER
*
==================================================
=
*/
private List<Siswa> getAllMain() {
Session session =
HibernateUtil.currentSession();
allMain = session
.createCriteria(Siswa.class)
.add(Restrictions.eq("kelas.idKelas",
((Mengajar) kelasCbx
.getSelectedItem().getValue()).getKelas().ge
tIdKelas()))
.list();
return allMain;
}
public void setAllMain(List<Siswa> allMain)
{
this.allMain = allMain;
}
private List<NilaiAkademik> getEditNilai() {
Session session =
HibernateUtil.currentSession();
allAkademik = session
214
.createCriteria(NilaiAkademik.class)
.add(Restrictions.eq("kelas.idKelas",
((Mengajar) kelasCbx
.getSelectedItem().getValue()).getKelas().ge
tIdKelas()))
.add(Restrictions.eq("semester",
semesterCbx.getSelectedItem()
.getValue()))
.add(Restrictions.like("th1",
persen.get(0).getTa1(),
MatchMode.ANYWHERE))
.add(Restrictions.like("th2",
persen.get(0).getTa2(),
MatchMode.ANYWHERE))
.add(Restrictions.eq("pelajaran.idPelajaran"
,
((Mengajar)
pelajaranCbx.getSelectedItem().getValue())
.getPelajaran().getIdPelajaran()))
.add(Restrictions.eq("jenis",
jenisCbx.getSelectedItem()
.getValue()))
.add(Restrictions.eq("th1",
persen.get(0).getTa1()))
.add(Restrictions.eq("th2",
persen.get(0).getTa2()))
.list();
return allAkademik;
}
/*
*
==================================================
BUTTON MODE
215
*
==================================================
=
*/
public void startMode() {
submitForm.setVisible(false);
updateForm.setVisible(false);
cancelForm.setVisible(false);
kelasCbx.setDisabled(false);
semesterCbx.setDisabled(false);
pelajaranCbx.setDisabled(false);
jenisCbx.setDisabled(false);
kelasCbx.setDisabled(true);
}
public void addMode() {
gbxForm.setOpen(true);
submitForm.setVisible(true);
updateForm.setVisible(false);
cancelForm.setVisible(true);
}
public void editMode() {
submitForm.setVisible(false);
updateForm.setVisible(true);
}
public void cancelMode() {
gbxForm.setOpen(true);
startMode();
}
/*
*
==================================================
*
*
==================================================
=
216
*/
public void loadForm() {
ListModel model = new
SimpleListModel(getEditNilai());
listbox.setModel(model);
listbox.setItemRenderer(new
ListitemRenderer() {
@Override
public void render(final
Listitem item, Object data)
throws Exception {
// TODO Auto-generated
method stub
final NilaiAkademik blj =
(NilaiAkademik) data;
item.setValue(blj);
Listcell nilai1 = new
Listcell();
new Listcell("" +
blj.getSiswa().getNis()).setParent(item);
new Listcell("" +
blj.getSiswa().getNama()).setParent(item);
Intbox nilai = new
Intbox();
nilai.setId("nilaiIntbx" +
blj.getSiswa().getIdSiswa());
nilai.setValue(blj.getNilai());
nilai.setWidth("180px");
nilai.setStyle("align:center");
nilai.setParent(nilai1);
nilai1.setParent(item);
}
});
}
private double getUlangan() {
217
Session sess =
HibernateUtil.currentSession();
nilaiAkademik = sess
.createCriteria(NilaiAkademik.class)
.add(Restrictions.ilike("jenis", "ulangan",
MatchMode.ANYWHERE))
.createAlias("siswa", "s")
.createAlias("kelas", "k")
.createAlias("pelajaran",
"p")
.add(Restrictions.eq("p.idPelajaran",
((Mengajar) pelajaranCbx
.getSelectedItem().getValue()).getPelajaran(
)
.getIdPelajaran()))
.add(Restrictions.eq("s.idSiswa",
selectedSiswa.getIdSiswa()))
.add(Restrictions.eq("semester",
semesterCbx.getSelectedItem()
.getValue()))
.add(Restrictions.eq("k.idKelas",
((Mengajar) kelasCbx
.getSelectedItem().getValue()).getKelas().ge
tIdKelas()))
.list();
System.out.println("id siswa: " +
selectedSiswa.getIdSiswa());
System.out.println("id kelas: "
+ ((Mengajar)
kelasCbx.getSelectedItem().getValue()).getKelas()
.getIdKelas());
System.out.println("id pelajaran: " +
selectedSiswa.getIdSiswa());
System.out.println("size dari u: " +
nilaiAkademik.size());
int prod = 0;
218
for (int i = 0; i <
nilaiAkademik.size(); i++) {
prod +=
nilaiAkademik.get(i).getNilai();
}
double ulangan = (nilaiAkademik.size()
== 0 ? 0.0
: (double)
nilaiAkademik.get(0).getNilai());
double u = nilaiAkademik.size();
double nilai = (prod / u);
return nilai;
}
private double getRataHarian() {
Session sess =
HibernateUtil.currentSession();
nilaiAkademik = sess
.createCriteria(NilaiAkademik.class)
.add(Restrictions.ilike("jenis", "ulangan",
MatchMode.ANYWHERE))
.createAlias("siswa", "s")
.createAlias("kelas", "k")
.createAlias("pelajaran",
"p")
.add(Restrictions.eq("p.idPelajaran",
((Mengajar) pelajaranCbx
.getSelectedItem().getValue()).getPelajaran(
)
.getIdPelajaran()))
.add(Restrictions.eq("s.idSiswa",
selectedSiswa.getIdSiswa()))
.add(Restrictions.eq("semester",
semesterCbx.getSelectedItem()
.getValue()))
.add(Restrictions.eq("k.idKelas",
((Mengajar) kelasCbx
219
.getSelectedItem().getValue()).getKelas().ge
tIdKelas()))
.list();
int prod = 0;
for (int i = 0; i <
nilaiAkademik.size(); i++) {
prod +=
nilaiAkademik.get(i).getNilai();
// System.out.println("prod
ulangan di getRataHarian : " + prod
// +" | "+i);
}
double u = nilaiAkademik.size();
double ulangan = (prod / u);
System.out.println("banyak ulangan di
getRataHarian : " + u);
System.out.println("hasil bagi ulangan
: " + ulangan);
nilaiAkademik = sess
.createCriteria(NilaiAkademik.class)
.add(Restrictions.ilike("jenis", "Tugas",
MatchMode.ANYWHERE))
.createAlias("siswa", "s")
.createAlias("kelas", "k")
.createAlias("pelajaran",
"p")
.add(Restrictions.eq("p.idPelajaran",
((Mengajar) pelajaranCbx
.getSelectedItem().getValue()).getPelajaran(
)
.getIdPelajaran()))
.add(Restrictions.eq("s.idSiswa",
selectedSiswa.getIdSiswa()))
.add(Restrictions.eq("semester",
semesterCbx.getSelectedItem()
.getValue()))
220
.add(Restrictions.eq("k.idKelas",
((Mengajar) kelasCbx
.getSelectedItem().getValue()).getKelas().ge
tIdKelas()))
.list();
int prod1 = 0;
for (int i = 0; i <
nilaiAkademik.size(); i++) {
prod1 +=
nilaiAkademik.get(i).getNilai();
}
double u1 = nilaiAkademik.size();
double tugas = (prod1 / u1);
return (ulangan + tugas) / 2;
}
private int getNilaiAkhir() {
Session sess =
HibernateUtil.currentSession();
nilaiAkademik = sess
.createCriteria(NilaiAkademik.class)
.add(Restrictions.ilike("jenis",
"kehadiran",
MatchMode.ANYWHERE))
.createAlias("siswa", "s")
.createAlias("kelas", "k")
.createAlias("pelajaran",
"p")
.add(Restrictions.eq("p.idPelajaran",
((Mengajar) pelajaranCbx
.getSelectedItem().getValue()).getPelajaran(
)
.getIdPelajaran()))
.add(Restrictions.eq("s.idSiswa",
selectedSiswa.getIdSiswa()))
221
.add(Restrictions.eq("semester",
semesterCbx.getSelectedItem()
.getValue()))
.add(Restrictions.eq("k.idKelas",
((Mengajar) kelasCbx
.getSelectedItem().getValue()).getKelas().ge
tIdKelas()))
.list();
double kehadiran = (double)
(nilaiAkademik.size() == 0 ? 0.0
: (double)
nilaiAkademik.get(0).getNilai());
nilaiAkademik = sess
.createCriteria(NilaiAkademik.class)
.add(Restrictions.ilike("jenis", "uts",
MatchMode.ANYWHERE))
.createAlias("siswa", "s")
.createAlias("kelas", "k")
.createAlias("pelajaran",
"p")
.add(Restrictions.eq("p.idPelajaran",
((Mengajar) pelajaranCbx
.getSelectedItem().getValue()).getPelajaran(
)
.getIdPelajaran()))
.add(Restrictions.eq("s.idSiswa",
selectedSiswa.getIdSiswa()))
.add(Restrictions.eq("semester",
semesterCbx.getSelectedItem()
.getValue()))
.add(Restrictions.eq("k.idKelas",
((Mengajar) kelasCbx
.getSelectedItem().getValue()).getKelas().ge
tIdKelas()))
.list();
double uts = (double)
(nilaiAkademik.size() == 0 ? 0.0
222
: (double)
nilaiAkademik.get(0).getNilai());
nilaiAkademik = sess
.createCriteria(NilaiAkademik.class)
.add(Restrictions.ilike("jenis", "uas",
MatchMode.ANYWHERE))
.createAlias("siswa", "s")
.createAlias("kelas", "k")
.createAlias("pelajaran",
"p")
.add(Restrictions.eq("p.idPelajaran",
((Mengajar) pelajaranCbx
.getSelectedItem().getValue()).getPelajaran(
)
.getIdPelajaran()))
.add(Restrictions.eq("s.idSiswa",
selectedSiswa.getIdSiswa()))
.add(Restrictions.eq("semester",
semesterCbx.getSelectedItem()
.getValue()))
.add(Restrictions.eq("k.idKelas",
((Mengajar) kelasCbx
.getSelectedItem().getValue()).getKelas().ge
tIdKelas()))
.list();
double uas = (double)
(nilaiAkademik.size() == 0 ? 0.0
: (double)
nilaiAkademik.get(0).getNilai());
persen =
sess.createCriteria(Persentase.class).list();
return (int) (((kehadiran *
persen.get(0).getKehadiran()) / 100)
+ ((uts *
persen.get(0).getUts()) / 100)
+ ((uas *
persen.get(0).getUas()) / 100) + ((getRataHarian()
* persen
223
.get(0).getRataHarian()) /
100));
}
private int getNilaiPraktik() {
Session sess =
HibernateUtil.currentSession();
nilaiAkademik = sess
.createCriteria(NilaiAkademik.class)
.add(Restrictions.ilike("jenis", "praktik",
MatchMode.ANYWHERE))
.createAlias("siswa", "s")
.createAlias("kelas", "k")
.createAlias("pelajaran",
"p")
.add(Restrictions.eq("p.idPelajaran",
((Mengajar) pelajaranCbx
.getSelectedItem().getValue()).getPelajaran(
)
.getIdPelajaran()))
.add(Restrictions.eq("s.idSiswa",
selectedSiswa.getIdSiswa()))
.add(Restrictions.eq("semester",
semesterCbx.getSelectedItem()
.getValue()))
.add(Restrictions.eq("k.idKelas",
((Mengajar) kelasCbx
.getSelectedItem().getValue()).getKelas().ge
tIdKelas()))
.list();
int prod1 = 0;
for (int i = 0; i <
nilaiAkademik.size(); i++) {
prod1 +=
nilaiAkademik.get(i).getNilai();
}
double u1 = nilaiAkademik.size();
224
double praktik = (prod1 / u1);
return (int) praktik;
}
private int getSikap() {
Session sess =
HibernateUtil.currentSession();
nilaiAkademik = sess
.createCriteria(NilaiAkademik.class)
.add(Restrictions.ilike("jenis", "sikap",
MatchMode.ANYWHERE))
.createAlias("siswa", "s")
.createAlias("kelas", "k")
.createAlias("pelajaran",
"p")
.add(Restrictions.eq("p.idPelajaran",
((Mengajar) pelajaranCbx
.getSelectedItem().getValue()).getPelajaran(
)
.getIdPelajaran()))
.add(Restrictions.eq("s.idSiswa",
selectedSiswa.getIdSiswa()))
.add(Restrictions.eq("semester",
semesterCbx.getSelectedItem()
.getValue()))
.add(Restrictions.eq("k.idKelas",
((Mengajar) kelasCbx
.getSelectedItem().getValue()).getKelas().ge
tIdKelas()))
.list();
int sikap = (int)
(nilaiAkademik.size() == 0 ? 0.0
: (double)
nilaiAkademik.get(0).getNilai());
return sikap;
225
}
public void onClick$viewBtn() {
renderList();
}
public void saveNilai() {
Session sess =
HibernateUtil.currentSession();
selectedAkhir.setSiswa(selectedSiswa);
selectedAkhir.setKelas(((Mengajar)
kelasCbx.getSelectedItem().getValue()).getKelas())
;
selectedAkhir.setSemester(semesterCbx.getSel
ectedItem().getValue().toString());
selectedAkhir.setPelajaran(((Mengajar)
pelajaranCbx.getSelectedItem().getValue()).getPela
jaran());
selectedAkhir.setNilaiPengetahuan(getNilaiAk
hir());
selectedAkhir.setNilaiPraktik(getNilaiPrakti
k());
selectedAkhir.setSikap(sikap(getSikap()));
selectedAkhir.setTh1(persen.get(0).getTa1())
;
selectedAkhir.setTh2(persen.get(0).getTa2())
;
sess.saveOrUpdate(selectedAkhir);
}
public String sikap(int i) {
if (i <= 50) {
huruf = "D";
} else if (i <= 60) {
huruf = "C";
} else if (i <= 70) {
huruf = "B";
226
} else {
huruf = "A";
}
return huruf;
}
}
NilaiAkademik.java
package org.sia.model;
// Generated Sep 29, 2011 3:17:23 PM by Hibernate
Tools 3.2.2.GA
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import static
javax.persistence.GenerationType.IDENTITY;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
/**
* Nilaiakademik generated by hbm2java
227
*/
@Entity
@Table(name = "nilaiakademik")
public class NilaiAkademik implements
java.io.Serializable {
private Integer idNilaiAkademik;
private Pelajaran pelajaran;
private Siswa siswa;
private Kelas kelas;
private Integer nilai;
private String semester;
private String jenis;
private String th1;
private String th2;
public NilaiAkademik() {
}
public NilaiAkademik(Pelajaran pelajaran,
Siswa siswa, Kelas kelas,
Integer nilai, String semester ,
String jenis) {
this.pelajaran = pelajaran;
this.siswa = siswa;
this.kelas = kelas;
this.nilai = nilai;
this.semester = semester;
this.jenis = jenis;
}
@Id
@GeneratedValue(strategy = IDENTITY)
@Column(name = "id_nilai_akademik", unique =
true, nullable = false)
public Integer getIdNilaiAkademik() {
return this.idNilaiAkademik;
}
228
public void setIdNilaiAkademik(Integer
idNilaiAkademik) {
this.idNilaiAkademik =
idNilaiAkademik;
}
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "id_pelajaran")
public Pelajaran getPelajaran() {
return this.pelajaran;
}
public void setPelajaran(Pelajaran
pelajaran) {
this.pelajaran = pelajaran;
}
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "id_siswa")
public Siswa getSiswa() {
return this.siswa;
}
public void setSiswa(Siswa siswa) {
this.siswa = siswa;
}
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "id_kelas")
public Kelas getKelas() {
return this.kelas;
}
public void setKelas(Kelas kelas) {
this.kelas = kelas;
}
@Column(name = "nilai")
public Integer getNilai() {
return this.nilai;
}
public void setNilai(Integer nilai) {
229
this.nilai = nilai;
}
@Column(name = "semester")
public String getSemester() {
return this.semester;
}
public void setSemester(String semester) {
this.semester = semester;
}
@Column(name = "jenis")
public String getJenis() {
return this.jenis;
}
public void setJenis(String jenis) {
this.jenis = jenis;
}
public String getTh1() {
return th1;
}
public void setTh1(String th1) {
this.th1 = th1;
}
public String getTh2() {
return th2;
}
public void setTh2(String th2) {
this.th2 = th2;
}
}
230
NilaiAkhir.java
package org.sia.model;
// Generated Sep 29, 2011 3:17:23 PM by Hibernate
Tools 3.2.2.GA
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import static
javax.persistence.GenerationType.IDENTITY;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
/**
* Nilaiakademik generated by hbm2java
*/
@Entity
@Table(name = "nilaiakhir")
public class NilaiAkhir implements
java.io.Serializable {
/**
*
*/
private Integer idNilaiAkhir;
private Pelajaran pelajaran;
private Siswa siswa;
private Kelas kelas;
private Integer nilaiPengetahuan;
private Integer nilaiPraktik;
private String semester;
private String sikap;
private String th1;
private String th2;
231
public NilaiAkhir() {
}
public NilaiAkhir(Pelajaran pelajaran, Siswa
siswa, Kelas kelas,
Integer nilaiPengetahuan, String
semester , String jenis) {
this.pelajaran = pelajaran;
this.siswa = siswa;
this.kelas = kelas;
this.nilaiPengetahuan =
nilaiPengetahuan;
this.semester = semester;
}
@Id
@GeneratedValue(strategy = IDENTITY)
@Column(name = "id_nilai_akademik", unique =
true, nullable = false)
public Integer getIdNilaiAkhir() {
return this.idNilaiAkhir;
}
public void setIdNilaiAkhir(Integer
idNilaiAkhir) {
this.idNilaiAkhir = idNilaiAkhir;
}
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "id_pelajaran")
public Pelajaran getPelajaran() {
return this.pelajaran;
}
public void setPelajaran(Pelajaran
pelajaran) {
this.pelajaran = pelajaran;
}
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "id_siswa")
public Siswa getSiswa() {
232
return this.siswa;
}
public void setSiswa(Siswa siswa) {
this.siswa = siswa;
}
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "id_kelas")
public Kelas getKelas() {
return this.kelas;
}
public void setKelas(Kelas kelas) {
this.kelas = kelas;
}
@Column(name = "nilaiPengetahuan")
public Integer getNilaiPengetahuan() {
return this.nilaiPengetahuan;
}
public void setNilaiPengetahuan(Integer
nilaiPengetahuan) {
this.nilaiPengetahuan =
nilaiPengetahuan;
}
@Column(name = "nilaiPraktik")
public Integer getNilaiPraktik() {
return nilaiPraktik;
}
public void setNilaiPraktik(Integer
nilaiPraktik) {
this.nilaiPraktik = nilaiPraktik;
}
@Column(name = "semester")
public String getSemester() {
233
return this.semester;
}
public void setSemester(String semester) {
this.semester = semester;
}
public String getSikap() {
return sikap;
}
public void setSikap(String sikap) {
this.sikap = sikap;
}
public String getTh1() {
return th1;
}
public void setTh1(String th1) {
this.th1 = th1;
}
public String getTh2() {
return th2;
}
public void setTh2(String th2) {
this.th2 = th2;
}
}
234
inputNilaiAkademik.zul
<?page title="new page title"
contentType="text/html;charset=UTF-8"?>
<zk>
<style>
.GridLayoutNoBorder tr.z-row td.z-row-
inner, tr.z-row .z-cell,
div.z-grid{--> border: none; overflow:
hidden; zoom: 1;
background: white; border-top: none;
border-left: none;
border-right: none; border-bottom:
none; } .z-label{ font-size:
12px; }
</style>
<?init
class="org.zkoss.zkplus.databind.AnnotateDataBinde
rInit"?>
<window title="" border="none" width=""
apply="org.sia.action.ActInputNilaiAkademik"
sclass="GridLayoutNoBorder">
<div align="center">
<label value="NILAI AKADEMIK"
style="font-size: 14px;
color:#008BB6;
font-weight:bold; font-
family: Verdana;" />
</div>
<grid>
<rows>
<row>
<toolbar width="">
<groupbox>
<hlayout>
<div align="center">
Mata Pelajaran
<combobox width="150px"
id="pelajaranCbx" mold="rounded"
constraint="no empty: Tidak boleh
kosong"
value="@{win$composer.selected.pelajaran }"
/>
Kelas
<combobox width="150px"
mold="rounded" constraint="no empty:
Tidak boleh kosong"
id="kelasCbx"
value="@{win$composer.selected.kelas }" />
Semester
<combobox width="150px"
235
mold="rounded" constraint="no empty:
Tidak boleh kosong"
id="semesterCbx"
value="@{win$composer.selected.semester }">
<comboitem value="1" label="1" />
<comboitem value="2" label="2" />
</combobox>
Jenis
<combobox width="150px"
mold="rounded" constraint="no empty:
Tidak boleh kosong"
id="jenisCbx"
value="@{win$composer.selected.jenis }">
<comboitem value="Tugas"
label="Tugas" />
<comboitem value="Kehadiran"
label="Kehadiran" />
<comboitem value="ulangan"
label="Ulangan" />
<comboitem value="praktik"
label="Praktik" />
<comboitem value="sikap"
label="Sikap" />
<comboitem value="uts"
label="UTS" />
<comboitem value="UAS"
label="UAS" />
</combobox>
</div>
<div align="">
<button label="INPUT" onClick=""
id="inputBtn"
image="/img/button/add.png"/>
<button label="EDIT" onClick=""
image="/img/button/update.png"
id="editBtn" />
236
<button label="CANCEL" onClick=""
image="/img/button/cancel.png"
id="cancelBtn" />
</div>
</hlayout>
</groupbox>
</toolbar>
</row>
</rows>
</grid>
<grid style="overflow:auto">
<rows>
<row>
<div align="center">
<groupbox
id="gbxForm" mold="3d" width="">
<panel>
<panelchildren>
<div align="center">
<listbox id="listbox">
<auxhead>
<auxheader label="NIS"
align="center" />
<auxheader
label="Nama Siswa"
align="center" />
<auxheader label="Nilai"
align="center" />
</auxhead>
<listhead>
<listheader
width="200px" />
<listheader />
<listheader
width="200px" />
</listhead>
<listitem>
<listcell label="" />
</listitem>
</listbox>
</div>
237
</panelchildren>
</panel>
<div
align="center">
<button label="SUBMIT" onClick=""
image="/img/button/update2.png"
id="submitForm" />
<button label="UPDATE" onClick=""
image="/img/button/update2.png"
id="updateForm" />
<button label="CANCEL" onClick=""
image="/img/button/cancel.png"
id="cancelForm" />
</div>
</groupbox>
</div>
</row>
</rows>
</grid>
</window>
</zk>