252
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

repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

Embed Size (px)

Citation preview

Page 1: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 2: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 3: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 4: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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.

Page 5: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 6: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 7: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 8: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 9: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 10: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 11: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 12: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 13: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 14: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 15: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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.

Page 16: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 17: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 18: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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.

Page 19: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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 :

Page 20: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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.

Page 21: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 22: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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 :

Page 23: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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.

Page 24: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 25: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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.

Page 26: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 27: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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.

Page 28: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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.

Page 29: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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.

Page 30: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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.

Page 31: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 32: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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.

Page 33: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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.

Page 34: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 35: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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)

Page 36: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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)

Page 37: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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,

Page 38: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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.

Page 39: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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.

Page 40: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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.

Page 41: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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.

Page 42: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 43: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 44: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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:

Page 45: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 46: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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.

Page 47: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 48: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 49: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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.

Page 50: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 51: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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.

Page 52: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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.

Page 53: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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.

Page 54: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 55: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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.

Page 56: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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 :

Page 57: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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.

Page 58: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 59: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 60: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 61: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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.

Page 62: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 63: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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.

Page 64: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 65: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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.

Page 66: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 67: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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.

Page 68: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 69: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 70: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 71: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 72: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 73: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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.

Page 74: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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.

Page 75: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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:

Page 76: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 77: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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.

Page 78: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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)

Page 79: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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.

Page 80: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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"

Page 81: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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.

Page 82: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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.

Page 83: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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.

Page 84: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 85: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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"

Page 86: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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"

Page 87: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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"

Page 88: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 89: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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.

Page 90: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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)

Page 91: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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)

Page 92: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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)

Page 93: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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.

Page 94: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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.

Page 95: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 96: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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,

Page 97: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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)

Page 98: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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)

Page 99: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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)

Page 100: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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)

Page 101: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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)

Page 102: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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)

Page 103: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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)

Page 104: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 105: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 106: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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.

Page 107: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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.

Page 108: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 109: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 110: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 111: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 112: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 113: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 114: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 115: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 116: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 117: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 118: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 119: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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.

Page 120: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 121: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 122: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 123: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 124: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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.

Page 125: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 126: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 127: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 128: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 129: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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,

Page 130: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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,

Page 131: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 132: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 133: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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.

Page 134: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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.

Page 135: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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.

Page 136: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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.

Page 137: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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.

Page 138: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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.

Page 139: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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.

Page 140: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 141: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 142: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

127

4) Tabel Siswa

Gambar 4. 56 Struktur Tabel Siswa

Page 143: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 144: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 145: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

130

11) Tabel pengembanganDiri

Gambar 4. 63 Struktur Tabel pengembanganDiri

12) Tabel ketidakhadiran

Gambar 4. 64 Struktur Tabel ketidakhadiran

Page 146: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 147: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 148: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 149: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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.

Page 150: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 151: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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.

Page 152: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 153: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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)

Page 154: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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;

}

Page 155: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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;

}}

Page 156: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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.

Page 157: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 158: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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.

Page 159: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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>

Page 160: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 161: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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"

Page 162: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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”

Page 163: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

148

Gambar 4. 72 User Interface “User”

Gambar 4. 73 User Interface “User”

Page 164: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

149

Gambar 4. 74 User Interface "User - Siswa"

Gambar 4. 75 User Interface “Page Management”

Page 165: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

150

Gambar 4. 76 User Interface "Input Data Pelajaran"

Gambar 4. 77 User Interface "Input Data Kelas"

Page 166: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

151

Gambar 4. 78 User Interface "Input Data Siswa"

Gambar 4. 79 User Interface "Input Nilai Akademik"

Page 167: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

152

Gambar 4. 80 User Interface "Input Pelanggaran"

Gambar 4. 81 User Interface “Input Prestasi"

Page 168: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

153

Gambar 4. 82 User Interface "Cetak rapor"

Gambar 4. 83 User Interface “Pindah Kelas"

Page 169: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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;

Page 170: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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{

Page 171: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 172: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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;

}

Page 173: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

}

}

Page 174: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 175: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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.

Page 176: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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.

Page 177: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 178: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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.

Page 179: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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.

Page 180: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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.

Page 181: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

166

LAMPIRAN

LAMPIRAN I

SKENARIO DAN HASIL

PENGUJIAN

Page 182: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 183: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 184: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 185: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 186: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 187: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 188: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 189: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 190: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 191: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 192: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 193: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 194: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

LAMPIRAN II

WAWANCARA

Page 195: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 196: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 197: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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.

Page 198: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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.

Page 199: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

184

LAMPIRAN III

INSTALASI

Page 200: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

185

1. Jalankan apache-tomcat-6.0.29.exe

2. Pilih Next

3. Pilih I Agree

Page 201: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

186

4. Pilih Next

5. Pilih lokasi untuk instal, lalu Next

Page 202: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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.

Page 203: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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.

Page 204: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

189

LAMPIRAN IV

PETUNJUK

PENGGUNAAN

Page 205: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 206: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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.

Page 207: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 208: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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.

Page 209: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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.

Page 210: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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.

Page 211: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 212: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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.

Page 213: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 214: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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.

Page 215: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

200

Pilih

Ubah data, lalu untuk menyimpan data prestasi.

Page 216: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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.

Page 217: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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.

Page 218: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

203

LAMPIRAN V

KODE PROGRAM

Page 219: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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;

Page 220: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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)

Page 221: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 222: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 223: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 224: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 225: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 226: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

*

==================================================

=

Page 227: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 228: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 229: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 230: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

}

/*

*

==================================================

*

*

==================================================

=

Page 231: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 232: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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;

Page 233: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 234: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 235: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 236: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 237: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 238: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 239: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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;

Page 240: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 241: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 242: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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;

}

Page 243: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 244: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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;

}

}

Page 245: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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;

Page 246: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 247: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 248: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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;

}

}

Page 249: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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"

Page 250: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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

Page 251: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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>

Page 252: repository.uinjkt.ac.idrepository.uinjkt.ac.id/dspace/bitstream/123456789/5418/1...1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan

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>