Sistem Pengarsipan Data Akademik Di SMA Negeri 2 Purwakarta

(1)

(2)

Dia Pro

JU

FAKUL

UNIV

SKRIPSI

Diajukan untuk Memenuhi Tugas Akhir Sarjana Program Strata Satu Jurusan Teknik Informatika

Fakultas Teknik dan Ilmu Komputer Universitas Komputer Indonesia

Oleh :

MEDYA MERINA

10110701

PROGRAM STUDI S1

JURUSAN TEKNIK INFORMATIKA

ULTAS TEKNIK DAN ILMU KOMPU

IVERSITAS KOMPUTER INDONES

2012

ana tika

KA

PUTER

ESIA


(3)

(4)

(5)

(6)

i

Oleh

MEDYA MERINA 10110701

Sekolah Menengah Atas (SMA) Negeri 2 Purwakarta adalah salah satu sekolah Instansi Pemerintah yang berdiri dibawah Departemen Pendidikan Nasional dan merupakan salah satu sekolah unggulan di kota Purwakarta. Sekolah ini dihadapkan dengan suatu perubahan yang disebabkan oleh perkembangan teknologi di Indonesia sehingga sekolah ini harus menyesuaikan keadaannya dengan kondisi saat ini. Sekolah ini akan memanfaatkan perkembangan teknologi tersebut pada bagian sistem akademiknya. Data yang tadinya hanya berupa dokumen dan memiliki tingkat kerusakan tinggi akan disajikan secara terkomputerisasi dalam bentuk aplikasi perangkat lunak yang bertujuan untuk memaksimalkan kinerja sekolah serta dapat memberikan informasi secara cepat dan berguna bagi yang membutuhkan.

Metode pembangunan aplikasi ini menggunakan metode pembangunan perangkat lunak waterfall dan dibangun dengan pemrograman berbasis objek. Kebutuhan fungsionalitas perangkat lunak digambarkan menggunakan diagram UML. Dan model konseptual basis data digambarkan menggunakan ERD (Entity

Relationship Diagram).

Pengujian sistem terdiri dari pengujian alpha dan pengujian betha. Pengujian

alpha menggunakan metode pengujian black box yang berfokus pada persyaratan

fungsional perangkat lunak dan pengujian betha yaitu pengujian lapangan dengan memberikan kuisioner kepada petugas TU dan guru yang ada di SMA Negeri 2 Purwakarta. Dari hasil pengujian maka dapat ditarik kesimpulan bahwa secara fungsional, sistem pengarsipan ini dapat membantu dalam hal pengarsipan data akademiknya, dan membantu dalam memperoleh informasi secara cepat dan efisien. Kata kunci : pengarsipan, waterfall, Sistem akademik, UML, ERD.


(7)

By

MEDYA MERINA 10110701

High School of Purwakarta is one of school that stands for Government Agencies under the Ministry of National Education and also one of the top school in Purwakarta. This school is faced with a changes caused by technological developments in Indonesia, so this school must adjust with the current situation with the condition. This school will take advantage of the technological developments in the academic system. The data that was just a document and have a high level of damage will be presented with computerized software application that aims to maximize the performance of school and can provide fast and useful information.

This application build with a method of development system called Waterfall and develop by object-oriented programming language. This application is presented by using Use Case Diagram for general description of system. And conceptual

models of data base is presented by ERD (Entity Relationship Diagram). This

application focus for the archiving data on academic system.

Testing system consisting of alpha testing and beta testing. Alpha testing use black box testing method that focuses on functional requirements and testing beta software is field testing by giving questionnaires to TU officials and teachers in High School of Purwakarta. From the test results it can be concluded that functionally can help in academic data archiving and help to gets some information quickly and efficient.


(8)

iii

Assalamualaikum, Wr.Wb

Puji syukur penulis ucapkan ke hadirat Allah SWT, yang masih memberikan kesempatan dan kesehatan sehingga berkat dan anugerah-nya penulis dapat menyelesaikan laporan skripsi dalam waktu yang telah ditetapkan dengan judul “SISTEM PENGARSIPAN DATA AKADEMIK DI SMA NEGERI 2 PURWAKARTA”.

Penulisan skripsi ini merupakan salah satu syarat bagi mahasiswa untuk menyelesaikan Program SI Jurusan Teknik Informatika Fakultas Teknik dan Ilmu Komputer Universitas Komputer Indonesia.

Dalam menyelesaikan skripsi ini, penulis banyak mendapatkan bimbingan dan bantuan dari berbagai pihak baik berupa material, spiritual. Pada kesempatan ini penulis menyampaikan ungkapan rasa syukur dan terimakasih yang sebesar-sebesarnya kepada :

1. Kepada kedua orang tuaku, mama dan papa, yang selalu memberikan doa, kasih sayang dan dukungannya.

2. Bapak Ir. Eddy Suryanto Soegoto, M.Sc., selaku Rektor Universitas Komputer Indonesia.


(9)

5. Bapak Irfan Maliki, S.T.,M.T. Selaku Dosen Wali dan sekaligus menjadi pembimbing dan dosen penguji II, yang telah memberikan dorongan dan arahan kepada penulis selama proses penyusunan laporan skripsi ini.

6. Bapak Iskandar Ikbal, S.T., M.kom selaku dosen reviewer dan penguji I. 7. Ibu Ednawati Rainarli, S.Si., M.Si., selaku dosen penguji III.

8. Bapak dan Ibu dosen Jurusan Teknik Informatika yang telah mendidik dan mengajar penulis selama kuliah di Universitas Komputer Indonesia.

9. Seluruh staff dan karyawan, sekretariat Jurusan Teknik Informatika, terima kasih juga atas bantuannya.

10. Seluruh bapak ibu guru, serta karyawan di SMA Negeri 2 yang telah mengijinkan penulis melakukan penelitian tugas akhir ini.

11. Adik-adik ku , Dewi dan Udit, tante ku ici, arief yang selalu memberikan semangat dan doanya.

12. Buat kak aji yang selalu membantu banget dan sabar banget ngadepin kegalauan aku selama pembuatan skripsi ini. Ayo semangat selesaikan thesisnya.

13. Teman-temen seperjuangan, Siska, Ria, Faqhri, Arief, Boby, Dewi, Agung, Agi, Dede, Munip dll, yang telah memberikan dukungan kepada penulis hingga saat ini.


(10)

v

Penulis menyadari masih terdapat banyak kekurangan didalam penulisan skripsi ini karena keterbatasan pengetahuan penulis. Oleh karena itu saran dan kritik yang membangun sangat penulis harapkan. Semoga laporan skripsi ini dapat bermanfaat bagi semua pihak yang memerlukan.

Bandung, Agustus 2012


(11)

Kata Pengantar ... iii

Daftar Isi ... vi

Daftar Gambar ... xiv

Daftar Tabel ... xx

Daftar Simbol ... xxi

Daftar Lampiran ... xxvii

BAB 1 ... 1

PENDAHULUAN ... 1

1.1. Latar belakang masalah ... 3

1.2. Identifikasi Masalah ... 3

1.3. Maksud dan Tujuan ... 3

1.3.1 Maksud ... 3

1.3.2 Tujuan ... 3

1.4. Batasan Masalah ... 4

1.5. Metodologi Penelitian ... 4

1.6. Sistematika Penulisan ... 8

BAB 2 ... 11

TINJAUAN PUSTAKA ... 11

2.1. Profil SMA Negeri 2 Purwakarta ... 11


(12)

vii

2.2. Landasan Teori ... 15

2.2.1. Rekayasa perangkat lunak ... 15

2.2.2. Unfied Modelling Language ... 17

2.2.2.1. Use Case Diagram ... 18

2.2.2.2. Class Diagram ... 19

2.2.2.3. Sequence Diagram ... 20

2.2.2.4. Activity Diagram ... 21

2.2.3. Basisdata / database relasional ... 22

2.2.4. Konsep berorientasi objek ... 24

2.2.5. Arsitektur Client-Server ... 26

2.2.6. Teknik Hashing (Hash) ... 27

2.2.7. Java ... 28

2.2.8. MySQL ... 31

2.2.8.1. STORAGE ENGINE AND INDEXING ... 31

2.2.8.2. Partitioning... 37

2.2.8.3. Indexing ... 39

BAB 3 ... 40

ANALISIS MASALAH DAN PERANCANGAN ... 40

3.1. Analisis masalah... 40


(13)

3.1.1.4. Proses Pemilihan Beasiswa ... 47

3.1.2. Analisis kebutuhan non fungsional ... 48

3.1.2.1. Analisis Hardware ( Perangkat Keras ) ... 48

3.1.2.2. Analisis Software (Perangkat Lunak) ... 48

3.1.2.3. Analisis User (Pengguna) ... 49

3.1.3. Analisis Basis Data ... 51

3.1.4. Analisis Kebutuhan Fungsionalitas ... 53

3.1.4.1. Use Case Diagram ... 53

Skenario use case ... 54

3.1.4.2. Sequence Diagram... 107

1. Sequence Diagram Proses Login ... 107

2. Sequence Diagram Pengelolaan Tahun Ajaran ... 108

3. Sequence Diagram Pengelolaan Kelas ... 110

4. Sequence Diagram Pengelolaan data siswa dan orang tua ... 111

5. Sequence Diagram Pengelolaan data guru ... 112

6. Sequence Diagram Pengelolaan Data Mata Pelajaran ... 113

7. Sequence Diagram Pengelolaan nilai siswa ... 114

8. Sequence Diagram Pengelolaan Kehadiran Siswa ... 115

9. Sequence Diagram Pengelolaan Tagihan Siswa ... 116


(14)

ix

14. Sequence Diagram Report Tagihan Siswa ... 119

15. Sequence Diagram Pengelolaan Data Mengajar ... 120

16. Sequence Diagram Pengelolaan beasiswa ... 121

17. Sequence Diagram Report Penerima Beasiswa ... 122

18. Sequence Diagram Pengelolaan data TU ... 122

19. Sequence Diagram Pengelolaan data User ... 124

3.1.4.3. Activity Diagram ... 125

1. Activity Diagram Proses Login ... 125

2. Activity Diagram Pengelolaan Tahun Ajaran ... 125

3. Activity Diagram Pengelolaan Kelas ... 126

4. Activity Diagram Pengelolaan Data Siswa ... 127

5. Activity Diagram Pengelolaan Data Orang Tua ... 128

6. Activity Diagram Pengelolaan Data Guru ... 129

7. Activity Diagram Pengelolaan Mata Pelajaran ... 130

8. Activity Diagram Pengelolaan Nilai Siswa ... 131

9. Activity Diagram Pengelolaan Kehadiran Siswa ... 132

10. Acrivity Diagram Pengelolaan Data Tagihan Siswa ... 133

11. Acrivity Diagram Pengelolaan Beasiswa ... 134

3.1.4.4. Class Diagram ... 135


(15)

3.2.1.1. Skema relasi ... 139

3.2.1.2. Struktur Tabel ... 141

3.2.2. Perancangan Kode ... 151

3.2.3. Perancangan Struktur Menu ... 155

1. Menu Admin (TU) ... 156

2. Menu Guru ... 157

3.2.4. Perancangan Antar Muka ... 158

3.2.5. Perancangan Pesan ... 209

3.2.6. Jaringan Semantik ... 212

1. Jaringan Semantik Menu TU (Admin) ... 213

2. Jaringan Semantik Menu Guru ... 217

3.2.7. Perancangan Method... 219

1. Perancangan Method Login ... 219

2. Perancangan Method Tambah Data ... 220

3. Perancangan Method Cari Data... 221

4. Method Ubah Data ... 222

5. Method Hapus Data ... 223

6. Method Cetak Laporan ... 225

BAB 4 ... 226


(16)

xi

4.1.3. Implementasi Basis Data (Database) ... 227

1. Database arsipakademik ... 227

3. Tabel kelas ... 227

4. Tabel matapelajaran ... 228

5. Tabel guru ... 228

6. Tabel tu ... 228

7. Tabel pegawai ... 229

8. Tabel siswa ... 229

9. Tabel orangtua ... 229

10. Tabel walikelas ... 230

11. Tabel user ... 230

12. Tabel ajar ... 231

13. Tabel beasiswa ... 231

14. Tabel nilai_siswa ... 231

15. Tabel tagihan... 232

16. Tabel kehadiran... 232

4.1.4. Implementasi Antar Muka... 232

1. Implementasi Halaman Login ... 233

2. Halaman Menu Admin (TU)... 233


(17)

7. Menu Report ... 236

4.2. Pengujian ... 236

4.2.1. Pengujian Alpha ... 236

4.2.1.1. Rencana Pengujian ... 236

4.2.1.2. Kasus Dan Hasil Pengujian ... 240

1. Pengujian Login ... 240

2. Pengujian Pengelolaan Tahun Ajaran... 241

3. Pengujian Pengelolaan Kelas... 244

4. Pengujian Pengelolaan Data Mata Pelajaran ... 246

5. Pegelolaan Data Guru ... 252

6. Pengelolaan data TU ... 259

7. Pengelolaan Data Siswa... 266

8. Pengelolaan Data Orang Tua ... 275

9. Pengelolaan Wali Kelas ... 286

10. Pengelolaan Data Mengajar ... 290

11. Pengelolaan Data User ... 295

12. Pengelolaan Kehadiran Siswa ... 302

13. Pengelolaan Nilai Siswa ... 304

14. Pengelolaan Iuran Siswa ... 311


(18)

xiii

4.2.2.1. Kuisioner Pengguna ... 325

4.2.2.1.1. Kuisioner Pengguna Admin (TU) ... 326

4.2.2.1.2. Kuisioner Pengguna Guru ... 337

4.2.2.2. Kesimpulan Pengujian Betha ... 346

BAB 5 ... 347

KESIMPULAN DAN SARAN ... 347

5.1. Kesimpulan ... 347

5.2. Saran ... 348


(19)

BAB 1

PENDAHULUAN

1.1. Latar belakang masalah

Sekolah Menengah Atas (SMA) Negeri 2 Purwakarta adalah salah satu sekolah menengah atas yang terletak di Kabupaten Purwakarta. SMA N 2 Purwakarta merupakan Instansi Pemerintah yang bergerak di bidang Pendidikan yang berada dibawah naungan Departemen Pendidikan Nasional. Saat ini SMA Negeri 2 Purwakarta dihadapkan dengan perkembangan teknologi internet yang semakin cepat, sehingga adanya tantangan untuk memanfaatkan teknologi tersebut untuk dapat memaksimalkan pengolahan data dan penyampaian informasi yang berkaitan dengan sekolah. Karena pada saat ini hampir pada setiap prosedur sistem akademik sekolah dilakukan secara manual dan belum secara online. Misalnya pada proses pengarsipan data akademik.

Dalam mengelola pengarsipan data, SMA Negeri 2 Purwakarta manajemen pengarsipan data akademiknya masih belum terkomputerisasi dan penyimpanan datanya masih belum terdokumentasi dengan baik. Dimana dalam pengolahan datanya masih menggunakan kertas atau buku, dan belum memiliki suatu media penyimpanan dan pengelolaan data yang baik. Seperti saat pengarsipan data administrasi siswa dan guru, pengarsipan data iuran siswa, nilai siswa, dan kehadiran , yang pengarsipannya masih menggunakan media cetak, seperti buku. Hal ini sangat menyulitkan ketika pencarian data,


(20)

dan pengorganisasian data. Contohnya, seperti pembuatan laporan siswa yang kemudian akan diarsipkan. Hal ini berguna agar laporan tersebut tidak hilang atau rusak. Tetapi media penyimpanannya hanya berupa kertas atau buku yang kenyataannya mudah rusak. Karena itulah maka dibutuhkan suatu sistem yang dapat mengelola pengarsipan data tersebut.

Dari pengarsipan data operasional, maka akan digunakan sebagai penentuan penerima beasiswa, pembuatan laporan iuran sekolah, laporan nilai siswa, laporan siswa yang masuk, dan laporan kehadiran siswa. Jadi, pihak terkait yang membutuhkan dapat melihat informasi dari laporan yang disediakan. Pengarsipan tersebut akan dibuat menggunakan sistem yang terkomputerisasi. Berdasarkan hasil uraian di atas, maka dibutuhkan suatu sistem informasi yang dapat menangani pengarsipan data akademik di sekolah menengah atas untuk membantu pihak-pihak terkait dalam mengatur data-data akademik, dan kemudian permasalahan ini akan dituangkan dalam tugas akhir yang berjudul “Sistem Pengarsipan Data Akademik di SMA Negeri 2 Purwakarta”.


(21)

1.2. Identifikasi Masalah

Berdasarkan latar belakang yang telah dikemukaan, didapatkan beberapa identifikasi masalah sebagai berikut :

1. Belum adanya suatu sistem dapat membantu pihak sekolah dalam pengarsipan data akademik.

2. Belum adanya suatu sistem yang dapat memisahkan data yang berkaitan dengan siswa dan guru.

3. Belum adanya sistem yang dapat membantu dalam penentuan penerima beasiswa

4. Belum adanya sistem yang dapat menghasilkan laporan yang bersifat informatif dan dapat mencetak setiap laporan yang dibutuhkan.

5. Belum adanya sistem yang dapat menyimpan data lebih terorganisir

1.3. Maksud dan Tujuan

1.3.1 Maksud

Berdasarkan permasalahan yang telah dipaparkan, maka maksud dari tugas akhir ini adalah membangun suatu sistem pengarsipan data akademik yang dapat digunakan di SMA Negeri 2 Purwakarta.

1.3.2 Tujuan

Sedangkan tujuan yang ingin dicapai adalah :


(22)

2. Melakukan proses pemisahan pengarsipan antara siswa dan guru. 3. Sistem dapat membantu dalam menentukan calon penerima beasiswa 4. Sistem dapat menghasilkan laporan yang bersifat informatif, seperti

laporan administrasi siswa, iuran sekolah, beasiswa, nilai dan kehadiran siswa

5. Menyimpan data secara lebih terorganisir sehingga dapat digunakan dalam proses pencarian data yang dibutuhkan.

1.4. Batasan Masalah

Adapun batasan masalah yang dikaji antara lain :

1. Apikasi yang dibangun merukapan aplikasi berbasis desktop client-server 2. Sistem ini menangani pengarsipan data akademik, meliputi pengolahan

administrasi siswa, penentuan beasiswa, nilai dan kehadiran siswa yang ada di SMA Negeri 2 Purwakarta.

3. Pengguna aplikasi ini bagian Tata Usaha dan Guru.

1.5. Metodologi Penelitian

Metodologi yang digunakan dalam penulisan tugas akhir ini adalah sebagai berikut :

1. Tahap pengumpulan data

Metode pengumpulan data yang digunakan dalam penelitian ini adalah sebagai berikut :

a. Studi Literatur.

Pengumpulan data dengan cara mengumpulkan literatur, jurnal, paper dan bacaan-bacaan yang ada kaitannya dengan judul penelitian.


(23)

b. Observasi.

Teknik pengumpulan data dengan mengadakan peninjauan langsung terhadap permasalahan yang diambil. Dalam hal ini, peruses oberservasi dilakukan di SMA Negeri 2 Purwakarta. Adapun tujuan dilakukannya proses obeservasi yaitu untuk mengetahui sistem, proses bisnis serta kesulitan-kesulitan yang terdapat di SMA Negeri 2 Prwakarta.

c. Wawancara

Metode pengumpulan data dengan cara melakukan tanya jawab secara langsung dengan narasumber yang diperlukan. Dalam hal ini, wawancara dilakukan pada pihak-pihak SMA Negeri 2 Purwakarta. Pihak-pihak tersebut adalah,Wakil Kepala Sekolah, dan Bagian Tata Usaha.

2. Tahap pembangunan perangkat lunak.

Untuk metode pembangunan perangkat lunak, metode yang akan digunakan adalah model sekuensial linear atau biasa disebut model


(24)

Keterangan : [ (Pressman, 2002)]

a. Rekayasa dan pemodelan sisem/informasi

Rekayasa dan analisis sistem menyangkut pengumpulan kebutuhtan pada tingkat sistem dengan sejumlah kecil analisis serta desain tingkat puncak. Rekayasa informasi mencakup juga pengumpulan kebutuhan pada tingkat bisnis strategis dan tingkat area bisnis.

b. Analisis kebutuhan perangkat lunak

Proses pengumpulan kebutuhan diintensifkan dan difokuskan, khususnya pada perangkat lunak. Untuk memahami sifat program yang dibangun, seorang analis harus memahami domain informasi, tingkah laku, unjuk kerja, dan antar muka yang diperlukan. Dalam hal ini, mempelajari dan menganalisis proses bisnis yang ada di SMA Negeri 2 Purwakarta dan


(25)

mempelajari kekurangannya. Sehingga sistem yang dibangun sesuai dengan kebutuhan dari SMA Negeri 2 Purwakarta.

c. Perancangan / Design

Perancangan perangkat lunak sebenarnya adalah proses multi langkah yang berfokus pada empat atribut sebuah program yang bebeda; struktur data, arsitektur perangkat lunak, representasi interface, dan detail (algoritma) prosedural. Dalam hal ini membuat perancangan sistem pengarsipan data. Mendefinisikan objek-objek dari sistem tersebut. Membuat algoritma sistem ini dan merancang antarmuka pengguna untuk sistem ini dan merancang antarmuka yang sesuai dengan kebutuhan pengguna, sehingga sistem ini dapat dengan mudah dipelajari oleh pengguna dari aplikasi ini. Perancangan yang akan digunakan dalam pembangunan sistem ini menggunakan metode berorientasi objek.

d. Generasi kode / Coding

Perancangan harus diterjemahkan ke dalam bentuk mesin yang bisa dibaca. Langkah pembuat kode (programer) melakukan tugas ini. Jika perancangan dilakukan dengan cara yang lengkap, pembuatan kode dapan diselesaikan secara mekanis. Hasil dari perancangan sistem tersebut akan diimplementasikan melalui generasi kode menggunakan bahasa pemrograman Java dengan basis data MySQL. Generasi kode juga akan menggunakan teknik Objek Oriented Programming (OOP) sehingga akan menghasilkan implementasi dari perancangan yang menggunakan konsep pemrograman berorientasi objek.


(26)

e. Pengujian

Proses pengujian berfokus pada logika internal perangkat lunak, memastikan bahwa semua pernyataan sudah diuji, dan pada eksternal fungsionalitas, yaitu mengarahkan pengujian untuk menemukan kesalahan-kesalahan dan memastikan bahwa input yang dibatasi akan memberikan hasil aktual yang sesui dengan hasil yang dibutuhkan.

f. Pemeliharaan / Maintenance

Pemeliharaan perangkat lunak mengaplikasikan lagi setiap fase program sebelumnya dan tidak membuat yang baru lagi

3. Penyusunan Dokumentasi

Menyusun dokumentasi program agar dapat digunakan pada tahp pengembangan selanjutnya. Penyusunan dokumentasi dilakukan seiring dengan pembuatan aplikasi ini. Dokumentasi akan diimplementasikan dalam bentuk buku Tugas Akhir.

1.6. Sistematika Penulisan

Sistematika penulisan tugas akhir ini disusun untuk memberikan gambaran umum tentang penelitian yang dijalankan. Sistematika penulisan tugas akhir ini adalah sebagai berikut :


(27)

BAB 1. PENDAHULUAN

Menguraikan tentang latar belakang permasalahan, mencoba merumuskan inti permasalahan yang dihadapi, menentukan tujuan dan kegunaan penelitian, yang kemudian diikuti dengan pembatasan masalah, asumsi, serta sistematika penulisan.

BAB 2. TINJAUAN PUSTAKA

Berisi teori yang mendasari penyusunan dan pembuatan Tugas Akhir ini. Terdiri dari sejarah SMA Negeri 2 Purwakarta, rekayasan perangkat lunak, unified modeling language, basis data relasional, konsep berorientasi objek, arsitektur client/server, java dan mysql.

Bab ini membahas berbagai konsep dasar dan teori-teori yang berkaitan dengan topik masalah yang diteliti.

BAB 3. ANALISIS MASALAH DAN PERANCANGAN

Berisi tentang analisis dari sistem lama dan sistem baru. Juga berisi tentang perancangan aplikasi, seperti perancangan use case diagram, class diagram, perancangan antarmuka pengguna, perancangan database, dan perancangan pengkodean dan perancangan menu.


(28)

BAB 4 IMPLEMENTASI DAN PENGUJIAN

Berisi implementasi dari perangkat lunak berdasarkan analisis dan perancangan yang telah dilakukan serta pengujian. Untuk pengujian difokuskan pada fungsionalitas nya saja atau black box testing.

BAB 5. KESIMPULAN DAN SARAN

Merupakan bab terakhir yang memuat kesimpulan dari sistem yang telah diimplementasikan serta saran yang diperlukan dalam pengembangan lebih lanjut.


(29)

BAB 2

TINJAUAN PUSTAKA

2.1. Profil SMA Negeri 2 Purwakarta

2.1.1. Sejarah SMA Negeri 2 Purwakarta

SMA Negeri 2 Purwakarta berdiri pada tanggal 3 September 1979 berdasarkan SK pendirian Menteri Pendidikan dan Kebudayaan RI dengan No Statistik Sekolah (NISS) : 3010220001002, dalam kurun waktu 29 tahun SMAN 2 Purwakarta telah dipimin oleh 11 orang Kepala Sekolah, yaitu

1. Bpk. M. Masri (Alm) (1979-1980) 2. Bpk DRS. Akhmad Subarkah (1980-1985) 3. Bpk Drs. H. Machmud Radi (1985-1988) 4. Bpk. H. Waryo Sukanda, BA (1988-1990) 5. Ibu Dra. Hj. R. Atty Ruchyati (1990-1993) 6. Bpk. Drs. Iri Setiadi, (1993-1996) 7. Bpk Drs. Jumdiat Marzuki, MM (1996-2000) 8. Ibu Dra. Iis Sri Sugiharti (2000-2005) 9. Bpk. Drs Asep Saepudin (2005-2008) 10. Plt. Kepala Bpk. Drs. Rudiana, MM (2008-2009)

11. Bpk. Drs. Marseno (2009-2011)


(30)

SMAN 2 Purwakarta memiliki tujuan, yaitu dalam mewujudkan iklim belajar yang kondusif, selalu berusaha melengkapi sarana prasarana khususnya sarana prasarana pengembangan ruangan belajar,meningkatkan partisipasi orang tua untuk terlaksananya program sekolah, melaksanakan pembelajaran team teaching

untuk meningkatkan mutu pembelajaran, membekali keterampilan komputer bagi siswa untuk menunjang mata pelajaran dan menghadapi perkemabangan IPTEK, dan mengembangkan pembelajaran yang berorientasi kepada KTSP ( Kurikulum Tingkat Satuan Pendidikan ).

2.1.2. Visi dan Misi SMA Negeri 2 Purwakarta Visi

Membangun generasi kreatif, inovatif dan tangguh yang dilandasi oleh keimanan dan ketaqwaan.

Misi

1. Meningkatkan kepribadian dan kemadirian yang dilandasi iman dan taqwa.

2. Meningkatkan prestasi akademik dan non akademik agar tercapai mutu lulusan yang berkualitas.

3. Meningkatkan profesionalisme Guru dan TU, membina semangat kerjasama yang dilandasi kekeluargaan.

4. Menciptakan suasanan yang kondusif bagi terwujudnya harmonisasi civitas akademika.


(31)

5. Meningkatkan Wawasan Wiyata Mandala untuk mendukung kegiatan belajar mengajar.

2.1.3. Logo SMA Negeri 2 Purwakarta

Seperti hal nya badan instansi lainnya, SMA Negeri Purwakarta juga memiliki logo / lambang yang membedakan mereka dangan sekolah lainnya. Logo tersebut menjadi ciri khas sekolah tersebut.

Adapun logo SMA Negeri 2 Purwakarta adalah sebagi berikut :

2.1.4. Struktur Organisasi dan Job Description SMA Negeri 2 Purwakarta Di setiap perusahaan atau instansi, pasti memiliki yang namanya struktur organisasi. Struktur organisasi berfungsi mengatur tugas dan kewenangan masing-masing anggota didalam organisasi tersebut dengan tujuan agar masing-masing individu memiliki deskripsi kerja (job desc) sehingga terjadi pembagian kerja yang jelas yang akan menyebabkan pencapaian tujuan secara efektif dan efisien. Begitu juga SMA Negeri 2 Purwakarta.


(32)

Mereka juga memiliki struktur organisasi yang berfungsi mengatur tugas dan kewenangan masing-masing pegawai.

Adapun struktur organisasi SMA Negeri 2 Purwakarta adalah sebagai berikut :


(33)

2.2. Landasan Teori

2.2.1. Rekayasa perangkat lunak

Rekayasa perangkat lunak merupakan suatu teknologi pembangunan perangkat lunak yang mencakup proses, metode, dan tools. Rekayasa perangkat lunak merangkak kedekade keempat sejak keberadaannya, mendapatkan banyak kekuatan dan kelemahan yang dialami oleh manusia dari abad yang sama. Sifat inosen serta antusiasmenya yang ada di tahun-tahun awal kemunculannya, telah diganti dengan harapan yang lebih masuk akal yang mendukung tahun-tahun pengalamannya. Sekarang, rekayasa perangkat lunak dikenal sebagai disiplin yang sah, layak mendapatkan penelitian yang serius, studi yang sungguh-sungguh, dan diskusi yang matang. Salah satu model dalam pembangunan perangkat lunak adalah dengan model sekuensial linear atau biasa disebut model waterfall. [ (Pressman, 2002)]

Model tersebut terdiri dari beberapa tahapan, yaitu :

Analisis

Kode Perancangan

Pengujian

Pemeliharaan Rekayasa dan Pemodelan Sistem


(34)

Keterangan Tahapan [ (Pressman, 2002)] :

a. Rekayasa dan pemodelan sisem/informasi

Rekayasa dan analisis sistem menyangkut pengumpulan kebutuhtan pada tingkat sistem dengan sejumlah kecil analisis serta desain tingkat puncak. Rekayasa informasi mencakup juga pengumpulan kebutuhan pada tingkat bisnis strategis dan tingkat area bisnis.

b. Analisis kebutuhan perangkat lunak

Proses pengumpulan kebutuhan diintensifkan dan difokuskan, khususnya pada perangkat lunak. Untuk memahami sifat program yang dibangun, seorang analis harus memahami domain informasi, tingkah laku, unjuk kerja, dan antar muka yang diperlukan. Kebutuhan baik untuk sistem maupun perangkat lunak didokumentasikan dan dilihat lagi dengan pelanggan.

c. Perancangan / Design

Perancangan perangkat lunak sebenarnya adalah proses multi langkah yang berfokus pada empat atribut sebuah program yang bebeda; struktur data, arsitektur perangkat lunak, representasi interface, dan detail

(algoritma) prosedural. Proses perancangan menerjemahkan syarat /

kebutuhan ke dalam sebuah representasi perangkat lunak yang dapat diperkirakan demi kualitas sebelum dimulai pemunculan kode. Sebagaimana persyaratan, perancangan didokumentasikan dan menjadi bagian da konfigurasi perangkat lunak.


(35)

d. Generasi kode / Coding

Perancangan harus diterjemahkan ke dalam bentuk mesin yang bisa dibaca. Langkah pembuat kode (programer) melakukan tugas ini. Jika perancangan dilakukan dengan cara yang lengkap, pembuatan kode dapan diselesaikan secara mekanis.

e. Pengujian

Proses pengujian berfokus pada logika internal perangkat lunak, memastikan bahwa semua pernyataan sudah diuji, dan pada eksternal fungsionalitas, yaitu mengarahkan pengujian untuk menemukan kesalahan-kesalahan dan memastikan bahwa input yang dibatasi akan memberikan hasil aktual yang sesui dengan hasil yang dibutuhkan.

f. Pemeliharaan / Maintenance

Pemeliharaan perangkat lunak mengaplikasikan lagi setiap fase program sebelumnya dan tidak membuat yang baru lagi.

2.2.2. Unfied Modelling Language (UML)

Unfied Modelling Language (UML) adalah sebuah “bahasa” yang menjadi

standar dalam industri untuk visualisasi, merancang dan mendokumentasikan sistem piranti lunak. UML menawarkan sebuah standar untuk merancang sebuah sistem. [ (Dharwiyanti & Wahono, 2003)].

Dengan menggunakan UML kita dapat membuat model untuk semua jenis aplikasi piranti lunak, dimana aplikasi tersebut dapat berjalan pada piranti keras, sistem operasi dan jaringan apapun, serta ditulis dalam bahasa


(36)

pemrograman apapun. Tetapi karena UML juga menggunakan class dan operation dalam konsep dasarnya, maka ia lebih cocok untuk penulisan piranti lunak dalam bahasa-bahasa berorientasi objek seperti C++, Java, C# ata VB.NET. Walaupun demikian, UML tetap digunakan untuk modeling aplikasi prosedural dalam VB atau C. [ (Dharwiyanti & Wahono, 2003)]

Pada UML dikenal beberapa diagram, diantaranya sebagai berikut :

2.2.2.1.Use Case Diagram

Use Case Diagram menggambarkan fungsionalitas yang diharapkan dari sebuah sistem. Yang ditekankan adalah “apa” yang diperbuat sistem, dan bukan “bagaimana”. Sebuah use case merepresentasikan sebuah interaksi antara aktor dengan sistem. Use case merupakan sebuah pekerjaan tertentu, misalnya login ke sistem, meng-create sebuah daftar belanja, dan sebagaimanya. Seorang / sebuah aktor adalah sebuah entitas manusia atau mesin yang berinteraksi dengan sistem untuk melakukan pekerjaan-pekerjaan tertentu. [ (Dharwiyanti & Wahono, 2003)]


(37)

Contoh use case diagram :

2.2.2.2.Class Diagram

Class adalah sebuah spesifikasi yang jika diinstanisasi akan menghasilkan sebuah objek dan merupakan inti dari pengembangan dan desain berorientasi objek. Class menggambarkan keadaan (atribut/properti) suatu sistem, sekaligus menawarkan layanan untuk manipulasi keadaan tersebut (metode/fungsi).

Class diagram menggambarkan struktur dan deskripsi class, package dan

objek beserta hubungan satu sama lain seperti containment, pewarisan, asosiasi, dan lain-lain. [ (Dharwiyanti & Wahono, 2003)]


(38)

Contoh class diagram :

2.2.2.3.Sequence Diagram

Sequence Diagram menggambarkan interaksi antar objek di dalam dan di sekitar sistem (termasuk pengguna, display, dan sebagainya) berupa

message yang digambarkan terhadap waktu. Sequence diagram terdiri atas

dimensi vertical (waktu) dan dimensi horizontal (objek-objek yang terkait).

Sequence diagram biasa digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan sebagai respon dari sebuah event untuk menghasilkan output tertentu. Diawali dari apa yang men-trigger aktivitas tersebut, proses dan perubahan apa saja yang terjadi secara internal dan output apa saja yang dihasilkan. [ (Dharwiyanti & Wahono, 2003)]


(39)

Contoh sequence diagram :

2.2.2.4.Activity Diagram

Activity diagram menggambarkan berbagai alir aktivitas dalam sistem yang sedang dirancang, bagaimana masing-masing alir berawal, decision

yang mungkin terjadi, dan bagiamana mereka berakhir. Activity diagram

juga dapat menggambarkan proses parallel yang mungkin terjadi pada beberapa eksekusi.

Activity diagram merupakan state diagram khusus, dimana sebagian besar

state adalah action dan sebagian besar transisi di-triger 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


(40)

jalur-jalur aktivitas dari level atas secara umum. [ (Dharwiyanti & Wahono, 2003)]

Contoh activity diagram :

2.2.3. Basisdata / database relasional

Seiring dengan meningkatnya kemampuan komputer dan jumlah data yang diolah, yang semakin hari semakin banyak, maka masalah pengolahana data menjadi semakin kompleks. Oleh sebab itu kemudian diciptakan suatu teknik pengolahan data yang disebut Managemen Database Relasional. Dengan manajemen database relasional kita dapat meningkatkan efisiensi akses, kecepatan pengolahan, pengembangan maupun kemudahan dalam pemeliharaan data. [ (Rickyanto, 2004)]


(41)

Dalam manajemen database relasional dikenal komponen – komponen penting penanganan data. Berikut ini adalah komponen utama dalam konsep database relasional : [ (Dharwiyanti & Wahono, 2003)]

1. Tabel

Tabel merupakan entitas yang merupakan suatu kesatuan unit dari kumpulan row / record dengan atribut-atributnya (column).

2. Baris

Baris merupakan elemen dari tabel dan sering disebut record atau row. Baris merupakan elemen data dari tabel yang memiliki atribut-atribut atau sering disebut field atau kolom. Baris atau row dalam tabel mewakili kesatuan data yang lebih kecil dari tabel yang biasanya menyimpan suatu masukan objek data, misalnya data pegawai yang terdiri data atribut seperti nama, alamat, kota di mana seorang pegawai tinggal.

3. Kolom

Kolom atau column sering disebut juga atribut atau field dari baris / row. Column adalah pembentuk suatu baris dan mewakili atribut terdiri dari suatu record.

4. Index

Index diperlukan untuk meningkatkan performa, khususnya dalam mendapatkan record dalam database. Index dapat menggunakan kolom tertentu sebagai key index atau gabungan dari beberapa kolom sebagai


(42)

5. Primary key

Primary key merupakan elemen penting untuk mempertahankan integritas

data. Dengan adanya primary key maka kita dapat mencegah terjadinya redudansi atau data ganda yang dapat berpengaruh pada integritas data dan jalannya program pengolahan data. Oleh karena itu primary key diperlukan untuk mendapatkan keunikan data atau record.

6. Foreign key

Selain primary key, foreign key diperlukan untuk relasi antartabel. Dengan

foreign key kita dapat meningkatkan efisiensi penyimpanan data maupun dalam mendapatkan data.

2.2.4. Konsep berorientasi objek

Teknologi objek oriented memandang software sebagai sebuah interaksi antarbagian atau subsistem dalam sebuah sistem, dan menggambarkan satu bagian tersebut dalam satu objek.

OOP (object oriented programming) adalah metode pemrograman yang mengikuti konsep-konsep berorientasi objek, yakni encapsulation

(pengapsulan), inheritance (pewarisan), polimorfisme (keragaman/bentuk lain). [ (Huda, Subiyanto, & Nugroho, 2008)]

Dalam konsep berorientasi objek dikenal beberapa istilah sebagai berikut:

a. Class

Class adalah cetak biru (rancangan) dari objek. Ini berarti bisa dibuat banyak objek dari satu macam class. Class mendefiniskan sebuah tipe dari


(43)

objek. Di dalam class dapat dideklarasikan variabel dan diciptakan object

(instansiasi). Sebuah class mempunyai anggota (member) yang terdiri atas atribut dan method.

b. Object

Object (objek) secara lugas dapat diartkan sebagai insatansiasi atau hasil ciptaan dari suatu class yang telah dibuat sebelumnya. Dalam pengembangan program orientasi objek lebih lanjut, sebuah objek dapat dimungkinkan terdiri atas objek-objek lain. Seperti halnya objek mobil terdiri atas mesin, ban, kerangka mobil, pintu, karoseri dan lain-lain. Atau, bisa jadi sebuah objek merupakan turunan dari objek lain sehingga mewarisi sifat-sifat induknya.

c. Atribut

Atribut menunjuk pada elemen data dari sebuah object. Atribut menyimpan informasi tentang object. Dikenal juga sebagai member data, variabel instance, properti atau sebuah field data.

d. Method

Method dikenal juga sebagai suatu function dan procedure. Dalam OOP,

method digunakan untuk memodularisasi program melalui pemisahan tugas

dalam suatu class. Pemanggilan method menspesifikasikan nama method dan menyediakan informasi (parameter) yang diperlukan untuk melaksanakan tugasnya.


(44)

e. Constructor

Constructor adalah tipe khusus method yang digunakan untuk

menginstansiasi atau menciptakan sebuah objek. Nama constructor adalah sama dengan nama kelasnya. Selain itu, constructor tidak bisa mengembalikan suatu nilai (not return value) bahkan void sekalipun.

f. Package

Package menunjuk pada pengelompokkan class dan/atau subpackages.

Strukturnya dapat disamakan dengan direktorinya.

2.2.5. Arsitektur Client-Server

Client-server adalah arsitektur komputasi yang memisahkan sisi client dari

server dan paling banyak diimplementasikan melalui jaringan komputer. Setiap

client atau server dikoneksikan ke jaringan sebagai sebuah node. Tipe dasar arsitektur client server hanya terdiri dari 2 node: client dan server. Tipe ini sering disebut dengan two-tier.

Setiap perangkat lunak client dapat mengirim request data kepada satu atau lebih server yang terhubung. Sebaliknya, server dapat menerima request in, memprosesnya, dan mengembalikan informasi yang diminta kepada client. Contoh client yaitu web browser atau aplikasi database. Server dapat meliputi web server, database server, dan mail server.


(45)

Pendekatan arsitektur client-server memperkenalkan sebuah server database

untuk menggantikan file server. Menggunakan Relational Database Management System (RDBMS), query-query dari user dapat dijawab secara langsung. Dalam arsitektur client-server, statement Remote Procedure Calls (RPCs) atau SQL digunakan untuk berkomunikasi antara client dan server.

2.2.6. Teknik Hashing (Hash)

Pada file hash, pengaksesannya dilakukan secara langsung (direct access) seperti file berindeks tapi, file hash memakai fungsi dari nilai key yang disebut fungsi hash atau KAT (Key-to-address Transformation). [ (J & Imbar, 2008)]

Gambar berikut ini menunjukkan perbedaan mendasar antara file berindeks dan file hash

Gambar 2. 8 : File Berindeks vs File Hash [ (J & Imbar, 2008)]

Pada file berindeks satu record diambil melalui alamat indeks, sedangkan pada file hash yang menentukan posisi record adalah key nya sendiri.


(46)

Fungsi hash (f(hash)) adalah penentuan alamat record pada file data dengan melakukan perhitungan nilai kunci (key) dari record.

Nilai key f (hash) alamat relatif.

Tujuan dari hashing adalah untuk menemukan fungsi yang memetakan setiap nilai key ke dalam nilai lokasi/alamat kosong. [ (J & Imbar, 2008)].

2.2.7. Java

Java dibuat dan diperkenalkan pertama kali oleh sebuah tim Sun

Microsystem yang dipimpin oleh Patrick Naughton dan James Gosling pada tahun

1991 dengan code nama Oak. Tahun 1995 Sun mengubah nama Oak tersebut menjadi Java. Ide pertama kali kenapa java dibuat adalah karena adanya motivasi untuk membuat sebuah bahasa pemrograman yang bersifat portable dan platform independent (tidak tergantung mesin dan sistem operasi) yang dapat digunakan untuk membuat piranti lunak yang dapat ditanamkan (embedded) pada berbagai macam peralatan elektronik consumer biasa, seperti microwave, remote control, telepon, card reader dan sebagainya.


(47)

Berdasarkan white 1. Sederhana. Ba C++ namun menghilangka Java juga m garbage collec 2. Berorientasi

berorientasi o dan dapat d memodelkan d objek-objek te 3. Dapat didistr terdistribusi s terintegrasi pa

Gambar 2. 9 : Arsitektur Java

ite paper resmi dari SUN, Java memiliki karakt Bahasa pemrograman Java menggunakan sintak

n sintaks pada Java telah banyak diper kan penggunaan pointer yang rumit dan multi menggunakan automatic memory allocation lection.

si objek (Object Oriented). Java mengunaka objek yang membuat program dapat dibuat dipergunakan kembali. Pemrograman bero n dunia nyata kedalam objek dan melakukan

tersebut.

stribusi dengan mudah. Java dibuat untuk m i secara mudah dengan adanya libraries ne pada Java.

akteristik berikut: taks mirip dengan perbaiki terutama ultiple inheritance. ion dan memory

kan pemrograman at secara modular erorientasi objek an interaksi antar

membuat aplikasi networking yang


(48)

4. Interpreter. Program Java dijalankan menggunakan interpreter yaitu Java Virtual Machine (JVM). Hal ini menyebabkan source code Java yang telah dikompilasi menjadi Java bytecodes dapat dijalankan pada platform yang berbeda-beda.

5. Robust. Java mempuyai reliabilitas yang tinggi. Compiler pada Java mempunyai kemampuan mendeteksi error secara lebih teliti dibandingkan bahasa pemrograman lain. Java mempunyai runtime-Exception handling untuk membantu mengatasi error pada pemrograman.

6. Aman. Sebagai bahasa pemrograman untuk aplikasi internet dan terdistribusi, Java memiliki beberapa mekanisme keamanan untuk menjaga aplikasi tidak digunakan untuk merusak sistem komputer yang menjalankan aplikasi tersebut.

7. Architecture Neutral. Program Java merupakan platform independent.

Program cukup mempunyai satu buah versi yang dapat dijalankan pada platform yang berbeda dengan Java Virtual Machine.

8. Portabel. Source code maupun program Java dapat dengan mudah dibawa

ke platform yang berbeda-beda tanpa harus dikompilasi ulang.

9. Performance. Performance pada Java sering dikatakan kurang tinggi.

Namun performance Java dapat ditingkatkan menggunakan kompilasi Java lain seperti buatan Inprise, Microsoft ataupun Symantec yang menggunakan Just In Time Compilers (JIT).


(49)

10. Multithreaded. Java mempunyai kemampuan untuk membuat suatu program yang dapat melakukan beberapa pekerjaan secara sekaligus dan simultan.

11. Dinamis. Java didesain untuk dapat dijalankan pada lingkungan yang dinamis. Perubahan pada suatu class dengan menambahkan properties ataupun method dapat dilakukan tanpa menggangu program yang menggunakan class tersebut.

2.2.8. MySQL

MySQL adalah sebuah perangkat lunak sistem manajemen basis data SQL atau DBMS yang multithread, multi-user, dengan sekitar 6 juta instalasi di seluruh dunia. MYSQL AB membuat MySQL tersedia sebagai perangkat lunak gratis di bawah lisensi komersial untuk kasus-kasus dimana penggunaannya tidak cocok dengan penggunaan GPL. [ (Solichin, 2010)].

Tidak seperti PHP atau Apache yang merupakan software yang dikembangkan oleh komunitas umum, dan hak cipta untuk kode sumber dimiliki oleh penulisnya masing-masing, MySQL dimiliki dan di sponsori oleh sebuah perusahaan komersial Swedia yaitu MySQL AB. MySQL AB memegang penuh hak cipta hamper atas semua kode sumbernya. Kedua orang Swedia dan satu orang Finlandia yang mendirikan MySQL AB adalah : David Axmark, Allan Larson, dan Michael “Monty” Widenius.


(50)

1. Relational Database System, seperti halnya software database lain yang ada di pasaran, MySQL termasuk DBMS.

2. Arsitektur Client-Server. MySQL memiliki arsitektur client-server dimana server database MySQL terinstal di server. Client MySQL dapat berada di computer yang sama dengan server, dan dapat juga di computer lain yang berkomunikasi dengan server melalui jaringan bahkan internet.

3. Mengenal perintah SQL standar. SQL (Structured Query Language) merupakan suatu bahasa standar yang berlaku di hampir semua software

database. MySQL mendukung SQL versi SQL:2003.

4. Mendukung sub select. Melalui versi 4.1 MySQL telah mendukung select

dalam select (sub select).

5. Mendukung views. MySQL mendukung views sejak versi 5.0

6. Mendukung Stored Prosedured (SP). MySQL mendukung SP sejak versi 5.0.

7. Mendukung Triggers. MySQL mendukung trigger pada versi 5.0 namun masih terbatas. Pengembang MySQL berjanji akan meningkatkan kemampuan trigger pada versi 5.1.

8. Mendukung replication.

9. Mendukung transaksi. 10. Mendukung foreign key.

11. Tersedia fungsi GIS. 12. Free (bebas didownload). 13. Stabil dan tangguh.


(51)

14. Fleksibel dengan berbagai pemrograman. 15. Security yang baik.

16. Dukungan dari banyak komunitas. 17. Perkembangan software cukup cepat. 2.2.8.1. STORAGE ENGINE AND INDEXING

MySQL mendukung beberapa storage engine yang berperan untuk menangani berbagai tipe tabel yang ada. Berikut adalah berbagai storage engine yang tersedia pada MySQL [ (Santoso, Cahyadi, Ardian, Lokasasmita, & Mirza, 2006)]:

1. MyISAM

Mengatur non-transactional tabel. Engine ini dapat melakukan penyimpanan dan pengambilan data dengan cepat. MyISAM adalah default storage engine pada MySQL.

MyISAM memiliki beberapa karakteristik sebagai berikut:

- Seperti panjang key maksimum adalah 1000 bytes, maksimum jumlah kolom per indeks adalah 16.

- Nilai numerik disimpan pada high byte sehingga dapat melakukan kompresi secara lebih baik, dapat melakukan AUTO_INCREMENT, dan masih banyak yang lainnya, yang tidak akan kita bahas satu per satu di sini.

- Dapat menaruh data file dan index file dalam direktori yang berbeda untuk meningkatkan kecepatan akses.


(52)

Menghasilkan in-memory table. Storage engine MERGE dapat mengatur beberapa tabel MyISAM sebagai sebuah tabel tunggal. Storage engine

MEMORY dan MERGE khusus untuk mengatur non-transactional tabel.

Memory storage engine ini dahulu dikenal dengan nama Heap engine. Memori membuat tabel dengan isinya disimpan di memori. Setiap tabel memori memiliki satu buah file yang akan disimpan dalam disk, ekstensinya adalah .frm.

MEMORY memiliki beberapa karakteristik sebagai berikut:

- Menggunakan 100% dynamic hashing untuk operasi insert, sehingga lebih hemat karena tidak perlu tempat tambahan untuk menyimpan key. - Kita dapat memiliki non-unique keys di tabel MEMORY.

- Dapat memiliki NULL values, menggunakan panjang yang tetap dalam hal penyimpanan, kolom tidak bisa mengandung BLOB atau TEXT. 3. InnoDB dan BDB

Menghasilkan transaction-safe table. Maksud dari transaction safe table

adalah tabel yang memiliki kemampuan commit, rollback, crash recovery. Namun dengan kemampuan yang tersebut, tentu saja ada overhead yang dimiliki.Kita dapat mengaktifkan atau menon-aktifkan engine bertipe ini.

4. EXAMPLE

Example adalah engine yang tidak melakukan apa-apa. Kita dapat

membuat tabel dengan tipe ini, tetapi tidak ada data yang dapat disimpan atau dibaca dari tabel ini, sesuai dengan namanya, engine ini hanya sekedar memberikan contoh bagaimana kode dari MySQL digunakan.


(53)

Tujuan dari engine ini adalah untuk menunjukkan bagaimana cara memulai untuk menulis sebuah storage engine.

5. NDB cluster

NDB cluster adalah engine yang digunakan MySQL untuk

mengimplementasi tabel yang terpisah di lebih dari satu komputer. Saat ini NDB hanya didukung pada sistem Linux, Solaris dan Mac OS X. Namun pada versi-versi selanjutnya akan akan dikembangkan versi selanjutnya (hingga saat paper ini ditulis, MySQL terakhir adalah versi 5.1) yang akan mendukung NDB pada Windows, dan juga platform lainnya.

6. ARCHIVE

Digunakan untuk menyimpan data dengan ukuran yang sangat besar tanpa memerlukan index. Engine ini mensupport operasi INSERT dan SELECT,

namun tidak untuk operasi DELETE, REPLACE, dan UPDATE. Dalam engine ini juga dikenal dengan menggunakan row-level locking.

7. CSV

Digunakan untuk menyimpan data dalam text-file dimana antara satu nilai dengan nilai yang lainnya dibatasi oleh koma. Saat kita membuat tabel CSV, selain membuat file yang berisikan table format, storage engine juga membuat data file yang berupa teks file biasa. Ketika kita menyimpan data, storage engine menyimpannya ke dalam data file dengan menggunakan koma untuk memisahkan nilai-nilai yang ada.


(54)

8. BLACKHOLE

Menerima setiap data yang diberikan, tetapi tidak menyimpan data dan selalu mengembalikan data berupa himpunan kosong. Blackhole

mendukung semua jenis pengindeksan., kegunaan dari blackhole ini antara lain:

- verifikasi dari syntax dump file

- pengukuran overhead yang terjadi dengan membandingkan dengan ketika menggunakan blackhole

- mencari performance bottlenecks yang tidak terkait dengan storage engine itu sendiri.

9. FEDERATED

Menyimpan data di database dengan akses terbatas (jarak jauh). Saat ini

engine ini hanya dapat bekerja dengan menggunakan MySQL C Client API. Dengan menggunakan Federated storage engine, tidak akan ada lagi lokal data files, melainkan remote database menyimpan data yang umumnya akan ada di tabel. Alur informasi yang terjadi adalah sebagai berikut:

a. SQL calls issued locally

b. MySQL handler API (data in handler format)

c. MySQL client API (data converted to SQL calls)

d. Remote database -> MySQL client API

e. Convert result sets (if any) to handler format


(55)

2.2.8.2.Partitioning

Partitioning memungkinkan kita untuk mendistribusikan data-data di suatu tabel yang sama ke filesystem yang berbeda di tempat yang berbeda pula. MySQL mendukung horizontal partitioning yang berarti row-row yang berbeda akan didistribusikan ke partisi yang berbeda. Ada empat tipe partition yang didukung oleh MySQL, berikut adalah deskripsi dari keempat tipe tersebut:

1. Range Partitioning

Tabel yang dipartisi menggunakan range dipartisi dimana setiap partisinya memiliki row yang mengandung variabel yang berada pada rentang nilai tertentu. Rentang nilai (range) dapat kontinu tetapi tidak overlap dan didefinisikan melalui operator VALUES LESS THAN.

Partisi jenis ini akan berguna pada kondisi sebagai berikut:

- jika kita ingin menghapus data lama, terutama untuk data yang besar, kita dapat melakukan penghapusan ataupun perubahan secara efisien, contoh: DELETE FROM employees WHERE YEAR(separated) <= 1990;

- jika kita ingin menggunakan kolom berisikan tanggal atau waktu.

- jika kita akan sering menjalan query yang bergantung pada kolom yang dipartisi.

2. List Partitioning

Pada list partitioning, setiap partisi didefinisikan dan diklasifikasikan berdasarkan keanggotaan sebuah nilai suatu kolom terhadap suatu daftar nilai. Partisi


(56)

dilakukan oleh perintah PARTITION BY LIST (expr) di mana expr adalah nama kolom yang hendak dijadikan dasar partisi dan setiap partisi didefinisikan melalui perintah VALUES IN (value_list) di mana value_list adalah daftar bilangan bulat yang dipisahkan oleh koma.

3. Hash Partitioning

Partisi dengan hash dilakukan untuk menjamin pendistribusian yang adil (seragam) pada setiap data yang dimasukkan. Dengan partisi jenis ini, kita tidak perlu mendefinisikan keanggotaan setiap partisi. Kita hanya perlu menspesifikasi suatu ekspresi yang memiliki input suatu nilai kolom dan mempunyai output nomor partisi dari data tersebut. MySQL juga mendukung suatu varian dari hash

partitioning yaitu LINEAR HASH partitioning.

4. Key Partitioning

Partisi dengan key memiliki prinsip yang hampir sama dengan hash partitioning. Yang menjadi perbedaan adalah fungsi hashing untuk partisi jenis ini dibuat langsung oleh server MySQL dengan fungsi MD5() pada MySQL Clusters. Untuk

storage engine yang lain, server telah mengembangkan fungsi yang menerapkan algoritma yang hampir sama bernama PASSWORD().

2.2.8.3. Indexing

Index adalah fitur dalam database yang membuat kita dapat mengakses row pada


(57)

balanced tree. DBMS yang ada saat ini dapat melakukan indexing melalui R-/R+

tree, hash, expression, partial, reverse, bitmap, dan GiST.

Dari berbagai metode indexing diatas, MySQL hanya dapat mengimplementasikan B/B+ tree dan hash dimana B/B+ tree digunakan oleh tabel MyISAM, InnoDB dan HEAP dan hash digunakan oleh tabel HEAP.

Storage Engine Allowable Index Types

MyISAM BTREE

InnoDB BTREE


(58)

40 3.1. Analisis masalah

Analisis masalah merupakan proses memilah-milah suatu permasalahan menjadi elemen-elemen yang lebih kecil untuk dipelajari guna mempermudah permasalahan dari suatu sistem informasi. Hasil akhir dari analisis sistem merupakan cara pemecahan masalah yang terjadi dalam spesifikasi sistem baru.

3.1.1. Analisis sistem yang sedang berjalan

Pada bagian ini akan dibahas bagaimana prosedur dan aliran data yang sedang berjalan dari satu proses ke proses lain yang digambarkan dalam bentuk activity

diagram. Dari hasil obeservasi dan wawancara pada pihak SMA Negeri 2

Purwakarta, terdapat beberapa proses yang masih dijalankan secara manual, diantaranya adalah :

1. Proses absensi siswa 2. Proses nilai siswa

3. Proses pembayaran dan pelaporan iuran sekolah 4. Proses pemilihan beasiswa


(59)

3.1.1.1.Proses Absensi Siswa

Proses pengolahan data absensi siswa di SMA Negeri 2 Purwakarta saat ini adalah sebagai berikut :

1. Masing-masing guru melakukan absen setiap melaksanakan kegiatan belajar mengajar.

2. Data kehadiran tersebut diserahkan pada petugas TU. 3. Petugas TU menerima data kehadiran dari setiap kelas.

4. Petugas TU melakukan pencatatan jumlah kehadiran siswa dan keterangan lainnya.

5. Setelah itu, dibuatkan sebuah laporan kehadiran siswa untuk diserahkan pada wali kelas


(60)

Untuk lebih jelas, proses absensi dituangkan dalam suatu activity diagram.

Gambar 3. 1 :Proses Absensi Siswa start

Mengisi Daftar Kehadiran Siswa

Menyerahkan daftar kehadiran siswa

Menerima data kehadiran siswa

Mencatat jumlah kehadiran siswa

Membuat laporan absensi siswa

Menyerahkan kepada wali kelas

Pengelolaan data kehadiran

Menerima laporan absensi siswa

Melakukan evaluasi dan membuat laporan

Menerima laporan kehadiran siswa

end Kepala sekolah Wali Kelas

Petugas TU Guru


(61)

3.1.1.2. Proses Pengolahan Nilai Siswa

Proses sistem pengolahan nilai siswa pada SMA Negeri 2 Purwakarta saat ini adalah sebagai bertikut :

1. Guru memberikan PR / tugas, ulangan dan ujian dan menilainya. 2. Hasil penilaian tersebut diserahkan kepada petugas TU.

3. Kemudian nilai tersebut dibuat laporan nilai siswa dan diserahkan kepada wali kelas.

4. Wali kelas menerima laporan nilai siswa.

5. Kemudian, wali kelas mengisi raport siswa dan menyerahkan kepada kepala sekolah untuk ditandatangani.

6. Kepala sekolah menerima laporan nilai siswa dalam bentuk buku raport, kemudian menandatangai sebagai bentuk pengesahan.


(62)

Untuk lebih jelasnya, proses pengolahan nilai dituangkan dalam bentuk activity

diagram.

Menilai PR, Ulangan, Tugas, dan Ujian Siswa

Menyerahkan data nilai siswa start

Memberikan PR, Ulangan, Tugas, dan Ujian untuk Siswa

Menerima data nilai siswa

Membuat laporan nilai siswa

Menyerahkan laporan nilai siswa

Menerima Laporan nilai siswa

Mengisi Raport siswa

Menyerahkan kepada Kepala Sekolah untuk ditanda tangani

Menerima laporan nilai siswa untuk disahkan

mengesahkan nilai siswa end Kepala sekolah Wali Kelas Petugas TU Guru


(63)

3.1.1.3. Proses Pembayaran dan Pelaporan Iuran Sekolah

Proses sistem pembayaran iuran sekolah pada SMA Negeri 2 Purwakarta saat ini adalah sebagai bertikut :

1. Bendahara Pemungut menerima uang spp dari siswa.

2. Kemudian mencatat data pembayaran dan menandatangani kartu bayaran siswa

3. Selanjutnya, bendahara pemungut mencatat data siswa yang sudah membayar pada buku besar.

4. Menyerahkan data siswa yang telah membayar kepada petugas TU.

5. Petugas TU membuat laporan siswa yang telah membayar, dan menyerahkan kepada kepala sekolah untuk ditandatangani.

6. Kepala sekolah menerima laporan keuangan siswa.

7. Kemudian kepala sekolah menandatangani sebagai bentuk pengesahan. 8. Kemudian laporan tersebut dilaporkan kepada komite sekolah untuk


(64)

Untuk lebih jelasnya, proses pembayaran dan pelaporan iuran siswa dituangkan dalam activity diagram.

end Menerima uang spp dari

siswa

Mencatat data yang telah membayar pada buku besar Mencatat data pembayaran dan

menandatangani kartu bayaran

Menyerahkan laporan data siswa yang telah membayar

start

menerima laporan data siswa yang telah membayar

membuat laporan keuangan siswa untuk ditandatangani kepala sekolah

Menyerahkan laporan keuangan siswa

Menerima laporan siswa untuk ditandatangani Mengesahkan laporan keuangan siswa Melaporkan kepada komite Menerima laporan keuangan siswa mengevaluasi laporan keuangan siswa Komite Kepala sekolah Petugas TU Bendahara Pemungut


(65)

3.1.1.4. Proses Pemilihan Beasiswa

Proses penentuan yang berhak menerima beasiswa di SMA Negeri 2 Purwakarta saat ini adalah sebagai berikut :

1. Yang menentukan siapa yang berhak menerima beasiswa adalah bagian BP. Jadi BP memilih siswa yang berhak menerima beasiswa berdasarkan parameter-parameter tertentu.

2. Kemudian data siswa siswa yang berhak tersebut diserahkan kepada petugas TU untuk dibuat laporan.

3. Kemudian laporan tersebut diserahkan kepada kepala sekolah untuk ditindak lanjuti.

Untuk lebih jelasnya, proses pemilihan beasiswa dituangkan dalam activity diagram.

start

Memilih siswa yang berhak mendapatkan beasiswa berdasarkan parameter yang yang sudah ditentukan

Menyerahkan data siswa tersbut

Membuat laporan siswa yang berhak menerima beasiswa

Menyerahkankan laporan tersebut untuk ditandatangani

Menerima laporan tersebut dan menindaklanjuti proses penerimaan beasiswa

end Kepala sekolah Petugas TU

BP


(66)

3.1.2. Analisis kebutuhan non fungsional

Analisis kebutuhan non fungsional merupakan analisis kebutuhan di luar fungsi dari sistem. Analisis ini terdiri dari analisis hardware (perangkat keras), analisis software (perangkat lunak), analisis user (pengguna), dan analisis jaringan.

3.1.2.1. Analisis Hardware ( Perangkat Keras )

Hardware ( Perangkat Keras ) adalah seluruh komponen atau unsur

peralatan yang digunakan untuk menunjang pembangunan suatu sistem. Berikut ini merupakan spesifikasi perangkat keras yang digunakan dalam membangun aplikasi ini (minimal) :

1. Procesor Intel Pentium 4 2. RAM 1 GB

3. Hard disk 80 GB 4. Monitor

5. Keyboard dan mouse

3.1.2.2. Analisis Software (Perangkat Lunak)

Software ( Perangkat Lunak ) adalah komponen dalam pengolahan data

yang berupa perangkat lunak. Perangkat lunak untuk mengolah data di SMA Negeri 2 Purwakarta saat ini masih menggunakan perangkat lunak yang umum seperti :


(67)

a. Sistem Operasi : Windows XP b. Aplikasi pendukung : Microsoft Office

Untuk membangun sistem ini maka dibutuhkan spesifikasi minimum perangkat lunak yang harus ada, diantaranya :

a. Sistem operasi : Microsoft Windows XP b. Perangkat pendukung :

1. MySQL

2. Neatbean

3. Rational Rose

4. Microsoft Visio 2003

3.1.2.3. Analisis User (Pengguna)

Analisis user (pengguna) dimaksudkan untuk mengetahui siapa saja user atau pengguna yang terlibat dalam pengolahan data beserta karakteristiknya sehingga dapat diketahui tingkat pemahaman user terhadap computer. 1. Guru

Education : S1 / S2

Sistem Operasi yang digunakan : Windows XP

Software : Microsoft Word dan Excel


(68)

Frequency of use : Medium (menengah) to high (tinggi)

Job Descriction : Memonitoring semua laporan

akademik

2. Petugas Tata Usaha / Admin

Education : D3 / S1

Sistem Operasi yang digunakan : Windows XP

Software : Microsoft Word dan Excel

Knowledge & Experience : Medium (menengah)

Frequency of use : Medium (menengah) to high

(tinggi)

Job Descriction : Mengolah seluruh data

akademik yang ada di SMA Negeri 2 Purwakarta. Seperti pengelolaan data kehadiran siswa, data tagihan siswa, beasiswa, dan juga nilai siswa. Juga menjadi Administrator pada perangkat lunak yang akan dibangun.

Berdasarkan hasil analisis terhadap user yang akan menggunakan aplikasi, setiap user yang ada di SMA Negeri 2 Purwakarta pada umumnya sudah bisa mengoperasikan komputer, tapi belum memahami benar tentang komputer. Dari data keseluruhan dapat dilihat bahwa setiap user dapat mengoperasikan program aplikasi office seperti


(69)

Microsoft Word dan Microsoft Excel. Tetapi masih perlu di berikan pelatihan untuk mengoptimalkan penggunaan aplikasi yang akan dibangun.

3.1.3. Analisis Basis Data

Analisis basis data merupakan kumpulan data yang saling berkaitan satu dengan yang lain yang direalisasikan dengan relasi kunci yang digambarkan dalam entity relationship diagram (ERD)


(70)

(71)

3.1.4. Analisis Kebutuhan Fungsionalitas

Analisis kebutuhan fungsionalitas suatu sistem bisa digambarkan atau dijelaskan dengan cara membuat diagram UML terlebih dahulu, yang meliputi Use Case Diagram, sequence Diagram, Activity Diagram dan Class Diagram.

3.1.4.1. Use Case Diagram

Use Case Diagram menggambarkan fungsionalitas yang diharapkan dari

sebuah sistem. Yang ditekankan adalah “apa” yang diperbuat sistem, dan bukan “bagaimana”. Sebuah use case merepresentasikan sebuah interaksi antara aktor dengan sistem. Use case merupakan sebuah pekerjaan tertentu, misalnya login ke sistem, meng-create sebuah daftar belanja, dan sebagaimanya. Seorang / sebuah aktor adalah sebuah entitas manusia atau mesin yang berinteraksi dengan sistem untuk melakukan pekerjaan-pekerjaan tertentu.


(72)

Skenario use case

Nomor : 01

Nama use case : Login

Aktor : Petugas TU, Kepala Sekolah, Wali Kelas

Tujuan : melakukan verifikasi terhahap user yang akan menggunakan aplikasi

Deskripsi : user memasukkan usename dan password sebelum masuk ke halaman utama

Report data siswa

Report data guru

Report penerima beasiswa Report nilai siswa

Report kehadiran siswa

Report keuangan

Guru

Login

<<include>>

<<include>>

Pengelolaan penilaian kinerja

<<include>> Pengelolaan nilai siswa

<<include>>

Pengelolaan kehadiran siswa

<<include>>

Pengelolaan keuangan siswa

<<include>>

Pengelolaan beasiswa

<<include>> Pengelolaan data mata pelajaran

<<include>> Pengelolaan data siswa

<<include>> Pengelolaan data guru

<<include>> pengelolaan tahun ajaran

<<include>> pengelolaan kelas

<<include>> pengelolaan jenis tagihan

<<include>>

pengelolaan jenis nilai kinerja guru

Penglolaan orang tua <<include>>

Pengelolaan data mengajar guru

<<include>> Pengelolaan User Pengelolaan TU Petugas TU <<include>> <<include>> <<include>> <<include>> <<include>>


(73)

Kondisi awal : Halaman login

Kondisi akhir : Halaman utama

Aktor Sistem

1. Memasukkan user name dan

password kemudian menekan

button OK

2. Sistem memeriksa userename dan

password yang di input kan oleh user

menampilkan form input nilai siswa

3. Jika username dan password terdaftar, maka secara otomatis akan masuk ke menu utama, jika tidak maka sistem akan kembali ke halaman login.


(74)

Nomor : 02

Nama use case :Pengelolaan Tahun Ajaran

Aktor : Petugas TU

Tujuan : mencatat, menghapus, dan mengupdate data tahun ajaran

Deskripsi : 1. Mencatat data tahun ajaran kedalam data base

2. Mencari data tahun ajaran, kemudian dapat menghapus data tersebut atau mengupdatenya

Proses mencatat tahun ajaran baru

Kondisi awal : Halaman utama, menu tahun ajaran, form input tahun ajaran

Kondisi akhir : Tahun ajaran yang baru tersimpan di database

Aktor Sistem

1. Petugas TU masuk ke menu tahun ajaran, lalu ke form input tahun ajaran

2. Petugas TU memasukkan data tahun ajaran yang baru

3. Sistem menampilkan form input tersebut

4. Sistem menyimpan data tersebut kedalam database


(75)

data, maka akan muncul kotak dialog peringatan.

Proses mencari tahun ajaran baru

Kondisi awal : Halaman utama, menu tahun ajaran, form cari tahun ajaran

Kondisi akhir : Menampilkan tahun ajaran yang dicari user

Aktor Sistem

1. Petugas TU masuk ke menu tahun ajaran, lalu ke form cari tahun ajaran

2. Petugas TU memasukkan data tahun ajaran yang akan dicari

3. Sistem menampilkan form cari tersebut

4. Sistem menampilkan tahun ajaran tersebut

5. Jika user salah dalam memasukkan data, maka akan muncul kotak dialog peringatan data yang di cari tidak ditemukan.


(76)

Nomor : 03

Nama use case :Pengelolaan Kelas

Aktor : Petugas TU

Tujuan : mencatat, menghapus, dan mengupdate data kelas

Deskripsi : 1. Mencatat data kelas kedalam database

2. Mencari data kelas, kemudian dapat menghapus data tersebut atau mengupdatenya

Proses mencatat kelas baru

Kondisi awal : Halaman utama, menu kelas, form input kelas

Kondisi akhir : Kelas yang baru tersimpan di database

Aktor Sistem

1. Petugas TU masuk ke menu kelas, lalu ke form input kelas 2. Petugas TU memasukkan data

kelas yang baru

3. Sistem menampilkan form input tersebut

4. Sistem menyimpan data tersebut kedalam database

5. Jika user salah dalam memasukkan data, maka akan muncul kotak dialog


(77)

peringatan.

Proses mencari kelas

Kondisi awal : Halaman utama, menu kelas, form cari kelas

Kondisi akhir : Menampilkan kelas yang dicari user

Aktor Sistem

1. Petugas TU masuk ke menu kelas, lalu ke form cari kelas

2. Petugas TU memasukkan kode kelas yang akan dicari

3. Sistem menampilkan form cari tersebut

4. Sistem menampilkan kelas tersebut

5. Jika user salah dalam memasukkan data, maka akan muncul kotak dialog peringatan data yang di cari tidak ditemukan.


(78)

Nomor : 04

Nama use case :Pengelolaan data siswa

Aktor : Petugas TU

Tujuan : mencatat, menghapus, dan mengupdate data siswa

Deskripsi : 1. Mencatat data kelas kedalam database

2. Mencari data siswa, kemudian dapat menghapus data tersebut atau mengupdatenya

Proses mencatat data siswa

Kondisi awal : Halaman utama, menu siswa, form input siswa

Kondisi akhir : Data siswa yang baru tersimpan di database

Aktor Sistem

1. Petugas TU masuk ke menu siswa, lalu ke form input data siswa

2. Petugas TU memasukkan data siswa yang baru

3. Sistem menampilkan form input tersebut

4. Sistem menyimpan data tersebut kedalam database


(79)

data, maka akan muncul kotak dialog peringatan.

Proses mencari data siswa

Kondisi sebelum : Halaman utama, menu siswa, form cari siswa

Kondisi sesudah : Menampilkan data siswa yang dicari user

Aktor Sistem

1. Petugas TU masuk ke menu siswa, lalu ke form cari siswa.

2. Petugas TU memasukkan nis siswa yang akan dicari

3. Sistem menampilkan form cari tersebut

4. Jika nis yang dimasukkan user terdaftar, maka sistem akan menampilkan data siswa tersebut. 5. Jika nis tidak terdaftar, maka akan

muncul kotak dialog peringatan data yang dicari tidak ditemukan.


(80)

Kondisi awal : Halaman utama, menu siswa, form ubah siswa

Kondisi akhir : data siswa telah terupdate

Aktor Sistem

1. Petugas TU masuk ke menu siswa, lalu ke form ubah siswa

2. Petugas TU mencari data siswa yang akan diubah dengan menginputkan nis.

3. Petugas TU mengubah data siswa tersebut

4. Sistem menampilkan form ubah tersebut

6. Jika nis yang dimasukkan user terdaftar, maka sistem akan menampilkan data siswa tersebut.

7. Jika nis tidak terdaftar, maka akan muncul kotak dialog peringatan data yang dicari tidak ditemukan.

8. Sistem memberikan peringatan, apakah data tersebut akan diubah?

9. Jika iya, maka akan sistem

menyimpan kembali data siswa yang telah diubah oleh user.


(81)

10. Jika user salah dalam mencatat data, maka akan muncul kotak dialog peringatan

Proses hapus data siswa

Kondisi awal : Halaman utama, menu siswa, form hapus siswa

Kondisi akhir : Data siswa telah terhapus

Aktor Sistem

1. Petugas TU masuk ke menu siswa, lalu ke form hapus siswa

2. Petugas TU mencari data siswa yang akan dihapus dengan menginputkan nis.

3. Petugas TU menghapus data siswa tersebut

4. Sistem menampilkan form hapus tersebut

5. Jika nis yang dimasukkan user terdaftar, maka sistem akan menampilkan data siswa tersebut. 6. Jika nis tidak terdaftar, maka akan

muncul kotak dialog peringatan data yang dicari tidak ditemukan.

7. Sistem memberikan peringatan, apakah data tersebut akan dihapus?


(82)

8. Jika iya, maka data akan terhapus.

Nomor : 05

Nama use case :Pengelolaan Orang Tua

Aktor : Petugas TU

Tujuan : mencatat, menghapus, dan mengupdate data orang tua siswa

Deskripsi : 1. Mencatat data orang tua kedalam database

2. Mencari data orang tua, kemudian dapat menghapus data tersebut atau mengupdatenya

Proses mencatat data orang tua siswa

Kondisi awal : Halaman utama, menu siswa, form input siswa

Kondisi akhir : Data orang tua siswa yang baru tersimpan di database


(83)

1. Petugas TU masuk ke menu siswa, lalu ke form input data siswa

2. Petugas TU memasukkan data orang tua siswa yang baru

6. Sistem menampilkan form input tersebut

7. Sistem menyimpan data tersebut kedalam database

8. Jika user salah dalam memasukkan data, maka akan muncul kotak dialog peringatan.

Proses mencari data orang tua siswa

Kondisi awal : Halaman utama, menu kelas, form cari siswa

Kondisi akhir : Menampilkan data orang tua siswa yang dicari user

Aktor Sistem

1. Petugas TU masuk ke menu siswa, lalu ke form cari siswa. 2. Petugas TU memasukkan nis

siswa yang akan dicari data orang tuanya

3. Sistem menampilkan form cari tersebut

4. Jika nis yang dimasukkan user terdaftar, maka sistem akan menampilkan data orang tua siswa


(84)

tersebut.

5. Jika nis tidak terdaftar, maka akan muncul kotak dialog peringatan data yang dicari tidak ditemukan.

Proses mengubah data orang tua siswa

Kondisi awal : Halaman utama, menu siswa, form ubah siswa

Kondisi akhir : data orang tua siswa telah terupdate

Aktor Sistem

1. Petugas TU masuk ke menu siswa, lalu ke form ubah siswa

2. Petugas TU mencari data orang tua siswa yang akan diubah dengan menginputkan nis.

3. Petugas TU mengubah data orang

4. Sistem menampilkan form ubah tersebut

5. Jika nis yang dimasukkan user terdaftar, maka sistem akan menampilkan data orang tua siswa tersebut.

6. Jika nis tidak terdaftar, maka akan muncul kotak dialog peringatan data yang dicari tidak ditemukan.


(85)

tua siswa tersebut 7. Sistem memberikan peringatan, apakah data tersebut akan diubah?

8. Jika iya, maka akan sistem

menyimpan kembali data orang tua siswa yang telah diubah oleh user.

9. Jika user salah dalam mencatat data, maka akan muncul kotak dialog peringatan

Proses hapus data orang tua siswa

Kondisi awal : Halaman utama, menu siswa, form hapus siswa

Kondisi akhir : Data orang tua siswa telah terhapus

Aktor Sistem

1. Petugas TU masuk ke menu siswa, lalu ke form hapus siswa

2. Petugas TU mencari data siswa yang akan dihapus dengan

4. Sistem menampilkan form hapus tersebut

5. Jika nis yang dimasukkan user terdaftar, maka sistem akan


(86)

menginputkan nis.

3. Petugas TU menghapus data orang tua tersebut

menampilkan data orang tua siswa tersebut.

6. Jika nis tidak terdaftar, maka akan muncul kotak dialog peringatan data yang dicari tidak ditemukan.

7. Sistem memberikan peringatan, apakah data tersebut akan dihapus?

8. Jika iya, maka data akan terhapus.

Nomor : 06

Nama use case :Pengelolaan Data Guru

Aktor : Petugas TU

Tujuan : mencatat, menghapus, dan mengupdate data guru

Deskripsi : 1. Mencatat data guru kedalam database

2. Mencari data guru, kemudian dapat menghapus data tersebut atau mengupdatenya


(87)

Proses mencatat data guru

Kondisi awal : Halaman utama, menu guru, form input guru

Kondisi akhir : Data guru yang baru tersimpan di database

Aktor Sistem

1. Petugas TU masuk ke menu guru, lalu ke form input data guru

2. Petugas TU memasukkan data guru yang baru

3. Sistem menampilkan form input tersebut

4. Sistem menyimpan data tersebut kedalam database

5. Jika user salah dalam memasukkan data, maka akan muncul kotak dialog peringatan.

Proses mencari data guru

Kondisi awal : Halaman utama, menu guru, form cari guru

Kondisi akhir : Menampilkan data guru yang dicari user


(88)

1. Petugas TU masuk ke menu guru, lalu ke form cari guru.

2. Petugas TU memasukkan kode guru yang akan dicari.

3. Sistem menampilkan form cari tersebut

4. Jika kode guru yang dimasukkan

user terdaftar, maka sistem akan

menampilkan data guru tersebut. 5. Jika guru tidak terdaftar, maka akan

muncul kotak dialog peringatan data yang dicari tidak ditemukan.

Proses mengubah data guru

Kondisi awal : Halaman utama, menu guru, form ubah guru

Kondisi akhir : data guru telah terupdate

Aktor Sistem

1. Petugas TU masuk ke menu guru, lalu ke form ubah guru.

2. Petugas TU mencari data guru yang akan diubah dengan

menginputkan kode guru.

4. Sistem menampilkan form ubah tersebut

5. Jika kode guru yang dimasukkan

user terdaftar, maka sistem akan


(89)

3. Petugas TU mengubah data guru tersebut

6. Jika kode guru tidak terdaftar, maka akan muncul kotak dialog peringatan data yang dicari tidak ditemukan.

7. Sistem memberikan peringatan, apakah data tersebut akan diubah?

8. Jika iya, maka akan sistem

menyimpan kembali data guru yang telah diubah oleh user.

9. Jika user salah dalam mencatat data, maka akan muncul kotak dialog peringatan

Proses hapus data guru

Kondisi awal : Halaman utama, menu guru, form hapus guru


(90)

Aktor Sistem

1. Petugas TU masuk ke menu guru, lalu ke form hapus guru

2. Petugas TU mencari data guru yang akan dihapus dengan

menginputkan kode guru.

3. Petugas TU menghapus data guru tersebut

4. Sistem menampilkan form hapus tersebut

5. Jika kode guru yang dimasukkan

user terdaftar, maka sistem akan

menampilkan data guru tersebut. 6. Jika kode guru tidak terdaftar, maka

akan muncul kotak dialog peringatan data yang dicari tidak ditemukan.

7. Sistem memberikan peringatan, apakah data tersebut akan dihapus?

8. Jika iya, maka data akan terhapus.

Nomor : 07

Nama use case :Pengelolaan Data Mata Pelajaran


(91)

Tujuan : mencatat, menghapus, dan mengupdate data mata pelajaran

Deskripsi : 1. Mencatat data mata pelajaran kedalam database

2.Mencari data mata pelajaran, kemudian dapat menghapus data tersebut atau mengupdatenya

Proses mencatat data mata pelajaran

Kondisi awal : Halaman utama, menu mata pelajaran, form input mata pelajaran

Kondisi akhir : Data mata pelajaran yang baru tersimpan di database

Aktor Sistem

1. Petugas TU masuk ke menu mata pelajaran, lalu ke form input data mata pelajaran

2. Petugas TU memasukkan data mata pelajaran yang baru

3. Sistem menampilkan form input tersebut

4. Sistem menyimpan data tersebut kedalam database

5. Jika user salah dalam memasukkan data, maka akan muncul kotak dialog peringatan.


(92)

Proses mencari data mata pelajaran

Kondisi awal : Halaman utama, menu mata pelajaran, form cari mata pelajaran

Kondisi akhir : Menampilkan data mata pelajaran yang dicari user

Aktor Sistem

1. Petugas TU masuk ke menu mata pelajaran, lalu ke form cari mata pelajaran.

2. Petugas TU memasukkan kode mata pelajaran yang akan dicari.

3. Sistem menampilkan form cari tersebut

4. Jika kode mata pelajaran yang dimasukkan user terdaftar, maka sistem akan menampilkan data mata pelajaran tersebut tersebut.

5. Jika kode mata pelajaran tidak terdaftar, maka akan muncul kotak dialog peringatan data yang dicari tidak ditemukan.

Proses mengubah data mata pelajaran


(1)

(2)

Report data siswa

Report data guru <<include>>

<<include>> Pengelolaan data guru

<<include>> pengelolaan tahun ajaran

<<include>> pengelolaan kelas

<<include>> pengelolaan jenis tagihan

<<include>>

pengelolaan jenis nilai kinerja guru

Pengelolaan User

Pengelolaan TU

<<include>>

Report penerima beasiswa Report nilai siswa

Report kehadiran siswa

Report keuangan

Guru

Login

Pengelolaan penilaian kinerja

<<include>> Pengelolaan nilai siswa

<<include>>

Pengelolaan kehadiran siswa

<<include>>

Pengelolaan keuangan siswa

<<include>>

Pengelolaan beasiswa

<<include>> Pengelolaan data mata pelajaran

<<include>> Pengelolaan data siswa

<<include>> Penglolaan orang tua

<<include>>

Pengelolaan data mengajar guru

<<include>> Petugas TU <<include>> <<include>> <<include>> <<include>> <<include>>


(3)

(4)

Membantu pihak SMA Negeri 2 Purwakarta

dalam pengarsipan data akademik.

Memisahkan data yang berkaitan dengan

siswa dan guru.

Membantu menentukan calon penerima

Membantu menentukan calon penerima

beasiswa.

Memberikan laporan yang bersifat informatif.

Menyimpan data secara terorganisir sehingga

memudah kan dalam pencarian.


(5)

Perlu adanya pengembangan pada desain

tampilan agar lebih menarik sehingga dapat

lebih memikat pengguna.

Aplikasi yang dibuat memerlukan perbaikan

agar seluruh informasi yang dapat

ditampilkan secara detail dan sesuai dengan

ditampilkan secara detail dan sesuai dengan

keinginan yang dibutuhkan.

Laporan dibuat dalam bentuk PDF.

Sistem ini dapat dikembangkan secara detail

dengan menambahkan fungsionalitas lain,

seperti penggajian guru dan lain sebagainya.


(6)