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
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.
ii
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.
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.
iv
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.
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
vi
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
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
viii
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
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
x
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
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
xii
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
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
1
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
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
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 :
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
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
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
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
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
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
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
11
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)
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
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
Mereka juga memiliki struktur organisasi yang berfungsi mengatur tugas
dan kewenangan masing-masing pegawai.
Adapun struktur organisasi SMA Negeri 2 Purwakarta adalah sebagai
berikut :
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
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
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
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
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)]
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)]
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
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)]
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
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
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
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
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
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,
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
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
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.
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).
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.
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
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
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
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
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
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
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
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
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
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,
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
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
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
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
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
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
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
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)
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