Implementasi Arsitektur Client-Server Da PDF
Implementasi Arsitektur Client-Server Da PDF
Skripsi
Oleh:
Yulianti
2009140661
Skripsi
Oleh:
Yulianti
2009140661
1. Merupakan hasil karya tulis ilmiah sendiri, bukan merupakan karya yang
pernah diajukan untuk memperoleh gelar akademik oleh pihak lain, dan
bukan merupakan hasil plagiat.
2. Saya ijinkan untuk dikelola oleh Universitas Pamulang sesuai dengan
norma hukum dan etika yang berlaku.
Pernyataan ini saya buat dengan penuh tanggung jawab dan saya bersedia
menerima konsekuensi apapun sesuai aturan yang berlaku apabila di kemudian
hari pernyataan ini tidak benar.
( Yulianti )
ii
LEMBAR PERSETUJUAN
NIM : 2009140661
Nama : YULIANTI
Program Studi : TEKNIK INFORMATIKA
Fakultas : TEKNIK
Jenjang Pendidikan : STRATA 1
Judul Skripsi : IMPLEMENTASI ARSITEKTUR CLIENT-SERVER
DAN MVC (MODEL-VIEW-CONTROLLER) UNTUK
MEMBANGUN APLIKASI ADMINISTRASI
SEKOLAH (STUDI KASUS: SMK AVERUS
JAKARTA)
iii
LEMBAR PENGESAHAN
NIM : 2009140661
Nama : YULIANTI
Program Studi : TEKNIK INFORMATIKA
Fakultas : TEKNIK
Jenjang Pendidikan : STRATA 1
Judul Skripsi : IMPLEMENTASI ARSITEKTUR CLIENT-SERVER
DAN MVC (MODEL-VIEW-CONTROLLER) UNTUK
MEMBANGUN APLIKASI ADMINISTRASI
SEKOLAH (STUDI KASUS: SMK AVERUS
JAKARTA)
Skripsi ini telah dipertahankan di hadapan dewan penguji ujian skripsi fakultas
Teknik, program studi Teknik Informatika dan dinyatakan LULUS.
iv
KATA PENGANTAR
Puji dan syukur saya panjatkan kepada Allah SWT, karena atas berkah dan
rahmat-Nya, Maka skripsi yang berjudul ‘‘IMPLEMENTASI ARSITEKTUR
CLIENT-SERVER DAN MVC (MODEL-VIEW-CONTROLLER) UNTUK
MEMBANGUN APLIKASI ADMINISTRASI SEKOLAH (STUDI KASUS:
SMK AVERUS JAKARTA)’’ dapat terselesaikan dengan baik.
Dalam penulisan Skripsi ini, banyak hambatan dan kesulitan yang penulis
hadapi, akan tetapi atas bantuan dan dorongan dari berbagai pihak, maka akhirnya
penulis dapat menyelesaikan skripsi ini. Untuk itu, pada kesempatan ini penulis
ingin menyampaikan rasa terima kasih yang sebesar-besarnya kepada:
1. Bapak Dr. H. Dayat Hidayat, M.M., selaku Rektor Universitas Pamulang.
2. Bapak Ir. Sewaka, M.M., selaku Dekan Fakultas Teknik Universitas
Pamulang.
3. Bapak Achmad Hindasyah, S.Si., M.Si., selaku Kepala Program Studi
Teknik Informatika Universitas Pamulang.
4. Ibu Normalisa, S.Kom., M.Kom., selaku dosen pembimbing, yang
memberikan bimbingan dengan baik, serta motivasi untuk segera
menyelesaikan skripsi ini.
5. Bapak Drs. H. A. Syarif AM, M.Pd., selaku kepala SMK (Sekolah
Menengah Kejuruan) Averus Jakarta, yang telah membantu memberikan
data-data yang diperlukan dalam menyelesaikan skripsi ini.
6. Kedua orang tua tersayang yang selalu memberi dorongan dan semangat
sehingga anakmu yang manja ini dapat menyelesaikan skripsi ini dengan
baik.
7. Suami tercinta yang selalu memberi dorongan dan semangat sehingga
istrimu tersayang ini dapat menyelesaikan skripsi ini dengan baik.
8. Seluruh pihak yang memberikan bantuan secara langsung maupun tidak
langsung yang tidak saya sebutkan satu-persatu.
Penulis
v
ABSTRACT
vi
ABSTRAK
vii
DAFTAR ISI
ABSTRACT ................................................................................................... vi
ABSTRAK................................................................................................... vii
viii
2.3.2 Administrasi Sekolah ................................................................. 9
ix
2.10.2 NetBeans ................................................................................ 51
3.2 Perancangan................................................................................. 58
x
4.2 Pengujian ................................................................................... 118
xi
DAFTAR GAMBAR
xii
Gambar 3. 25 Sequence diagram mengelola data pembayaran ................... 79
Gambar 3. 26 Sequence diagram mengelola jadwal ................................... 80
Gambar 3. 27 Sequence diagram mengelola data nilai ............................... 81
Gambar 3. 28 Sequence diagram mencetak laporan penerimaan siswa ...... 82
Gambar 3. 29 Sequence diagram mencetak laporan pembayaran ............... 82
Gambar 3. 30 Sequence diagram mencetak laporan nilai ........................... 83
Gambar 3. 31 Sequence diagram mencetak laporan jadwal ........................ 83
Gambar 3. 32 Activity diagram login .......................................................... 84
Gambar 3. 33 Activity diagram logout ........................................................ 84
Gambar 3. 34 Activity diagram mengelola jenis persyaratan ...................... 85
Gambar 3. 35 Activity diagram mengelola jenis pembayaran ..................... 86
Gambar 3. 36 Activity diagram mengelola data staf administrasi ............... 87
Gambar 3. 37 Activity diagram mengelola data guru .................................. 88
Gambar 3. 38 Activity diagram mengelola data siswa ................................ 89
Gambar 3. 39 Activity diagram mengelola kelompok mata pelajaran......... 90
Gambar 3. 40 Activity diagram mengelola mata pelajaran.......................... 91
Gambar 3. 41 Activity diagram mengelola data jam ................................... 92
Gambar 3. 42 Activity diagram mengelola data jurusan ............................. 93
Gambar 3. 43 Activity diagram mengelola data kelas ................................. 94
Gambar 3. 44 Activity diagram mengelola data kelas siswa ....................... 95
Gambar 3. 45 Activity diagram mengelola data pendaftaran ...................... 96
Gambar 3. 46 Activity diagram proses penerimaan siswa ........................... 97
Gambar 3. 47 Activity diagram mengelola data pembayaran ...................... 98
Gambar 3. 48 Activity diagram mengelola jadwal ...................................... 99
Gambar 3. 49 Activity diagram mengelola data nilai ................................ 100
Gambar 3. 50 Activity diagram mencetak laporan penerimaan siswa ....... 101
Gambar 3. 51 Activity diagram mencetak laporan pembayaran ................ 102
Gambar 3. 52 Activity diagram mencetak laporan nilai ............................ 103
Gambar 3. 53 Activity diagram mencetak laporan jadwal ......................... 104
Gambar 3. 54 Class diagram aplikasi administrasi sekolah ...................... 105
Gambar 3. 55 Desain antarmuka form utama ............................................ 106
Gambar 3. 56 Desain antarmuka form login ............................................. 106
xiii
Gambar 3. 57 Desain antarmuka informasi aplikasi.................................. 107
Gambar 3. 58 Desain antarmuka master data jenis persyaratan ................ 107
Gambar 3. 59 Desain antarmuka master data jenis pembayaran ............... 108
Gambar 4. 1 Diagram relasi basis data administrasi sekolah .................... 110
Gambar 4. 2 Tampilan form deskripsi ....................................................... 111
Gambar 4. 3 Tampilan form login ............................................................. 111
Gambar 4. 4 Tampilan form utama............................................................ 112
Gambar 4. 5 Tampilan form siswa ............................................................ 112
Gambar 4. 6 Tampilan form guru .............................................................. 113
Gambar 4. 7 Tampilan form staf administrasi ........................................... 113
Gambar 4. 8 Tampilan form pendaftaran .................................................. 114
Gambar 4. 9 Tampilan form penerimaan siswa ......................................... 114
Gambar 4. 10 Tampilan form pembayaran ................................................ 115
Gambar 4. 11 Tampilan form jadwal......................................................... 115
Gambar 4. 12 Tampilan form nilai ............................................................ 116
Gambar 4. 13 Tampilan form laporan penerimaan siswa .......................... 116
Gambar 4. 14 Tampilan form laporan nilai ............................................... 117
Gambar 4. 15 Tampilan form laporan pembayaran ................................... 117
Gambar 4. 16 Tampilan form laporan jadwal ............................................ 118
Gambar 4. 17 Membuat test (pengujian) unit (white box) ......................... 120
Gambar 4. 18 Menentukan test (pengujian) unit (white box) .................... 121
Gambar 4. 19 Melakukan test (pengujian) unit (white box) ...................... 122
Gambar 4. 20 Hasil test (pengujian) unit (white box)................................ 122
Gambar 4. 21 Hasil test (pengujian) empat unit/modul unit (white box) .. 123
xiv
DAFTAR TABEL
xv
DAFTAR SIMBOL
2 uc Use Ca...
Actor Untuk menggambarkan
pengguna (user)
Actor sistem/aplikasi
xvi
No. Simbol Nama Simbol Keterangan
7 uc Use Case Model
Package Digunakan untuk
Package
menggambarkan diagram
paket, yang berfungsi untuk
mengelompokkan use case
diagram atau class diagram
8 uc Use Case Model
Package
Trace Menggambarkan bahwa
«trace» sumber (source)
berhubungan dengan
sebagian/seluluh dalam
tujuan (destination)
9 class Class Model Class Untuk menggambarkan class
Class yang memiliki attribute dan
- attribute: int
method.
+ method() : void
10 Package Package
Import Untuk menggambarkan
«import»
xvii
No. Simbol Nama Simbol Keterangan
14 act Activ ity Decission Untuk menggambarkan
percabangan activity
(aktivitas)
15 ac...
Fork/Join Untuk menunjukkan proses
act Activ ity
yang berjalan secara paralel
xviii
DAFTAR LAMPIRAN
xix
BAB I
PENDAHULUAN
1
2
Dengan melihat dan mengamati sistem yang sedang berjalan pada SMK
AVERUS JAKARTA, terlihat banyak duplikasi data, karena setiap petugas
memiliki master data sendiri-sendiri di dalam komputernya. Data-datanya tidak
mudah untuk dilakukan pembaharuan (update), karena jika dilakukan
pembaharuan (update) di salah satu komputer, maka data-data di komputer lain
tidak ikut diperbaharui. Sehingga harus dilakukan pembaharuan (update) data
pada setiap komputer. Dokumen-dokumennya tidak teroganisir dengan baik,
karena disimpan oleh masing-masing petugas dalam folder dan file sesuai
kepentingannya, jika ada petugas yang tidak hadir, maka petugas lain kesulitan
untuk menggantikan tugasnya karena tidak tahu lokasi penyimpanannya. Selain
itu juga kesulitan untuk mengevaluasi data pembayaran, data prestasi siswa, dan
lain-lain, karena data-datanya harus dikumpulkan, diperbaharui, dan diolah setiap
dilakukan evaluasi.
Membangun aplikasi administrasi sekolah merupakan salah satu solusi
pengolahan data secara komputerisasi, sehingga informasi yang dihasilkan efektif
dan efisien. Aplikasi yang baik harus didukung oleh model data yang baik, yaitu
model data yang fleksibel dan dapat disesuaikan dengan kebutuhan masa depan
(Widhyaestoeti, 2011), sehingga jika di masa depan ada kebutuhan baru, maka
dapat dengan mudah untuk ditambahkan atau diperbaharui.
Sesuai dengan permasalahan di atas, agar tidak terjadi duplikasi
data/dokumen, dan tidak harus memperbaharui data di semua komputer jika ada
perubahan, maka perlu dibuat aplikasi yang menggunakan satu basis data dan
dapat diakses oleh semua komputer. Arsitektur yang dapat digunakan adalah
client-server, arsitektur ini membagi proses/aktivitas menjadi dua, yaitu
proses/aktivitas yang berhubungan dengan interaksi dengan pengguna (user)
dilakukan oleh client, sedangkan proses yang berhubungan dengan pengolahan
basis data dilakukan di dalam server (Prasetyo, 2004). Dengan adanya pembagian
proses/aktivitas ini, maka beban pada sistem komunikasi (jaringan komputer)
dapat dikurangi, sehingga ketika jumlah client cukup banyak tidak terlalu
berpengaruh pada kinerja sistem (Alam, 2005). Client-server masih merupakan
arsitektur yang dominan dalam industri komputer karena memiliki keunggulan
dalam hal fleksibilitas, interoperabilitas, kinerja, ketahanan, distribusi dan
3
1.3 Tujuan
Tujuan dari pembuatan karya ilmiah ini antara lain:
a. Merancang dan membangun aplikasi administrasi sekolah dengan
arsitektur client-server untuk mengurangi duplikasi data.
b. Merancang dan membangun aplikasi administrasi sekolah untuk
memperbaiki pengorganisasian dokumen-dokumen di sekolah.
c. Merancang dan membangun aplikasi administrasi sekolah untuk
mempercepat pembuatan laporan-laporan yang diperlukan dari data-data
administrasi.
d. Mengimplementasikan arsitektur MVC (Model-View-Controller) agar
aplikasi lebih rapi dan mudah disesuaikan dengan kebutuhan di masa
depan.
1.4 Batasan
Agar pembahasan dalam pembuatan karya ilmiah ini tidak melebar dan
dapat mencapai tujuan yang telah ditetapkan, maka pada pembahasan karya ilmiah
ini dibatasi dengan hanya membahas administrasi kesiswaan mulai dari
penerimaan siswa, proses belajar mengajar, sampai kelulusan. Data-data yang
akan dimasukkan dalam pembahasan yaitu biodata siswa, data keuangan, dan data
nilai.
1.5 Manfaat
Adapun manfaat-manfaat yang dapat diperoleh dari karya ilmiah ini antara
lain:
a. Meningkatkan kinerja administrasi sekolah.
b. Mempermudah pengelolaan data-data siswa, pembayaran, dan nilai.
c. Mempermudah evaluasi terhadap proses belajar-mengajar.
5
1.6 Metodologi
Metode-metode yang digunakan dalam penyusunan karya ilmiah ini antara
lain:
A. Metode pengumpulan data
Pengumpulan data-data yang diperlukan dilakukan dengan beberapa cara,
yaitu:
a. Studi pustaka
Dilakukan dengan cara membaca referensi yang berkaitan dengan
masalah administrasi sekolah, arsitektur client-server, pemrograman
berorientasi objek, perancangan dan pembuatan basis data, dan
pengembangan aplikasi menggunakan MVC (Model-View-
Controller).
b. Studi lapangan (observasi)
Dilakukan dengan cara pengamatan langsung terhadap kegiatan yang
berhubungan dengan administrasi sekolah di SMK AVERUS
JAKARTA. Kegiatan administrasi yang diamati mulai dari
administrasi pendaftaran, administrasi pembayaran, administrasi
proses belajar-mengajar, sampai kelulusan.
c. Wawancara/Interview
Pengumpulan data dilakukan dengan cara bertatap muka langsung dan
melakukan tanya-jawab pada staf administrasi, guru, dan siswa.
2.1 Implementasi
Dalam Kamus Besar Bahasa Indonesia (KBBI), implementasi berarti
penerapan/pelaksanaan (Depdiknas, 2013). Implementasi dapat diartikan sebagai
suatu tindakan atau pelaksanaan dari sebuah rencana yang sudah disusun secara
matang dan terperinci. Implementasi biasanya dilakukan setelah perencanaaan
selesai dilakukan dan sudah dianggap final.
Jika dihubungkan dengan aplikasi, implementasi adalah penerapan dari
sebuah desain aplikasi yang telah dirancang dengan lengkap pada sebuah
pemrograman komputer. Dari implementasi ini akan dihasilkan sebuah aplikasi
komputer yang dapat berjalan sesuai rancangan yang telah dibuat.
7
8
memberikan layanan berbagi pakai berkas (file server), printer (printer server),
jalur komunikasi (communication server).
Pada arsitektur ini, client tidak dapat berfungsi sebagai server, tetapi server
dapat berfungsi menjadi client (server non-dedicated). Prinsip kerja pada
arsitektur ini sangat sederhana, di mana server akan menunggu permintaan dari
client, memproses dan memberikan hasil kepada client. Sedangkan client akan
mengirimkan permintaan ke server, menunggu proses dan melihat visualisasi hasil
prosesnya.
Server menurut bahasa inggris berasal dari kata serve yang berarti melayani,
dengan kata lain server bisa disebut juga dengan pelayan. Hal ini memang sesuai
tugas utama dari server adalah melayani, entah melayani permintaan atau
pengiriman.
Server dalam ilmu komputer adalah sebuah komputer (workstation) yang
difungsikan untuk melayani beberapa permintaan-permintaan tertentu. Server
dalam ilmu komputer juga terdapat beberapa jenis dan macamnya, semisal proxy
server yang bertugas sebagai pelayan proxy, SQL server yang bertugas sebagai
pelayan atau penyedia database, DHCP server yang melayani/menyediakan IP
address untuk client-nya, mail server yang melayani keluar masuk surat
elektronik (e-mail), web server yang melayani permintaan atau akses menuju web
yang berada pada server tersebut.
Server komputer berbeda dengan server manusia (pelayan, buruh). Dalam
kehidupan manusia, pelayan (baca: server) cenderung menempati posisi jabatan
yang paling rendah atau bisa dibilang sering tertindas oleh majikanya, ini
berbanding terbalik dengan server versi komputer yang menempati posisi jabatan
yang paling tinggi karena rata-rata komputer yang dijadikan sebagai server
memiliki spesifikasi hardware yang mumpuni daripada komputer client biasa,
karena memang tugasnya yang harus melayani client dengan jumlah yang tidak
sedikit.
Client-server adalah suatu hubungan antara pelayan dan yang dilayani,
seperti yang sudah saya jelaskan di atas bahwa server tugasnya adalah melayani
client, berikut ini ilustrasi hubungan client dengan server:
12
Client
Network
Server
Client
Printer
Client
pada data dan hubungan yang mengatur data tersebut (Kristanti & Redita, 2012).
ERD digunakan untuk memodelkan struktur data dan hubungan antardata, untuk
menggambarkannya digunakan beberapa notasi dan simbol. Pada dasarnya ada
tiga simbol yang digunakan, yaitu:
A. Entiti
Entiti merupakan objek yang mewakili sesuatu yang nyata dan dapat
dibedakan dari sesuatu yang lain. Simbol dari entiti ini biasanya
digambarkan dengan persegi panjang.
B. Atribut
Setiap entitas pasti mempunyai elemen yang disebut atribut yang
berfungsi untuk mendeskripsikan karakteristik dari entitas tersebut. Isi
dari atribut mempunyai sesuatu yang dapat mengidentifikasikan isi
elemen satu dengan yang lain. Gambar atribut diwakili oleh simbol elips.
C. Hubungan/Relasi
Hubungan antara sejumlah entitas yang berasal dari himpunan entitas
yang berbeda. Relasi dapat digambarkan sebagai berikut :
2.5.3 Normalisasi
Desain basis data memengang peranan yang sangat penting dalam sistem
basis data, dan selayaknya dilakukan setelah adanya analisi sistem dan
permasalahan di tempat basis data diterapkan (Wahana Komputer, 2010). Desain
basis data perlu dilakukan secara cermat agar dihasilkan basis data yang efisien
dalam penggunaan ruang penyimpanan, cepat dalam pengaksesan, dan mudah
dalam manipulasi data. Salah satu cara yang dapat dilakukan dalam merancang
basis data seperti ini adalah dengan melakukan normalisasi.
Normalisasi adalah proses menata ulang basis data ke dalam bentuk standar
(normal) yang bertujuan untuk mencegah adanya anomali (Stephens R. , 2009).
Normalisasi juga didefinisikan sebagai suatu proses yang digunakan untuk
menentukan pengelompokan atribut-atribut dalam sebuah relasi sehingga
diperoleh relasi yang berstruktur baik, yaitu struktur yang mengandung
redundansi sesedikit mungkin, dan memungkinkan baris-baris dalam relasi
disisipkan, dimodifikasi, dan dihapus tanpa menimbulkan kesalahan atau
ketidakkonsistenan (Kadir, 2009). Proses normalisasi merupakan dasar untuk
pemodelan dan desain basis data relasional dengan tujuan untuk menghilangkan
redundansi data, menghindari data anomali yang dapat terjadi dalam basis data
unnormalized (basis data yang belum dinormalisasi), dan untuk menyederhanakan
penegakan kendala integritas (Stephens & Plew, 2001).
Berbeda dengan kebiasaan, biasanya teori ditemukan terlebih dahulu
sebelum diterapkan dalam praktik. Teori normalisasi dibangun atau dibentuk
17
menurut konsep level normalisasi. Level normalisasi atau sering disebut sebagai
bentuk normal suatu relasi, dijelaskan berdasarkan kriteria tertentu pada bentuk
normal. Setidaknya terdapat dua pendekatan untuk normalisasi, yaitu bekerja dari
Entity Relationship Diagram (ERD), atau menggunakan konsep-konsep teoritis di
balik desain yang baik untuk membuat relasi (Harrington, 2009).
Bentuk normal yang dikenal hingga saat ini meliputi bentuk 1NF (First
Normalized Form), 2NF (Second Normalized Form), 3NF (Third Normalized
Form), BCNF (Boyce-Codd Normalized Form/BCNF), 4NF (Forth Normalized
Form), 5NF (Fifth Normalized Form), dan DKNF (Domain Key Normalized
Form). Secara berturut-turut masing-masing level normal tersebut akan dibahas
dari bentuk tidak normal, berikut ini penjelasan dari masing-masing level:
A. Relasi bentuk tidak normal (Un-Normalized Form/UNF)
Relasi bentuk tidak normal adalah relasi-relasi yang dirancang tanpa
mengindahkan batasan dalam definisi basis data dan karakteristik
RDBMS (Relational Database Management System). Pada bentuk ini
semua data pada tiap entity (diambil atributnya) dan ditampung dalam
tabel besar, sehingga masih ada kemungkinan terjadi redudansi atau
kosong (Wahana Komputer, 2010). Bentuk ini harus dihindari dalam
perancangan relasi dalam basis data. Relasi UNF mempunyai kriteria
sebagai berikut:
a. Jika relasi mempunyai bentuk nonflat file (dapat terjadi akibat data
disimpan sesuai dengan kedatangannya, tidak memiliki struktur
tertentu, terjadi duplikasi atau tidak lengkap)
b. Jika relasi memuat set atribut berulang (nonsingle value)
c. Jika relasi memuat atribut nonatomic value
Dengan kata lain bentuk normal pertama adalah sebuah model data yang
setiap atribut yang dimilikinya memiliki satu dan hanya satu nilai.
Apabila ada atribut yang memiliki nilai lebih dari satu, atribut tersebut
adalah kandidat untuk menjadi entitas tersendiri.
Permasalahan dalam 1NF adalah sebagai berikut:
a. Tidak dapat menyisipkan informasi persial
b. Terhapusnya informasi ketika menghapus sebuah record
c. Pembaharuan atribut nonkunci mengkibatkan sejumlah record harus
diperbaharui
B. Prototipe (Prototype)
Prototyping merupakan salah satu metode pengembangan perangat lunak
yang banyak digunakan. Dengan metode prototyping ini pengembang
dan pelanggan dapat saling berinteraksi selama proses pembuatan sistem.
Sering terjadi seorang pelanggan hanya mendefinisikan secara umum apa
yang dikehendakinya tanpa menyebutkan secara detil output apa saja
yang dibutuhkan, pemrosesan dalam aplikasi, dan data-data apa saja yang
dibutuhkan. Sebaliknya di sisi pengembang kurang memperhatikan
efesiensi algoritma, kemampuan sistem operasi dan interface yang
menghubungkan manusia dengan komputer.
Untuk mengatasi ketidakserasian antara pelanggan dan pengembang,
maka dibutuhkan kerjasama yanga baik di antara keduanya sehingga
pengembang akan mengetahui dengan benar apa yang diinginkan
pelanggan dengan tidak mengesampingkan segi-segi teknis, dan
pelanggan akan mengetahui proses-proses dalam menyelesaikan sistem
yang diinginkan. Dengan demikian akan menghasilkan sistem sesuai
dengan jadwal waktu penyelesaian yang telah ditentukan.
Kunci agar model prototype ini berhasil dengan baik adalah dengan
mendefinisikan aturan-aturannya pada saat awal, yaitu pelanggan dan
pengembang harus setuju bahwa prototype dibangun untuk
mendefinisikan kebutuhan. Prototype akan dihilangkan sebagian atau
seluruhnya, dan perangkat lunak aktual direkayasa dengan kualitas dan
implementasi yang sudah ditentukan.
Tahapan-tahapan dalam model prototyping adalah sebagai berikut:
a. Pengumpulan kebutuhan
Pelanggan dan pengembang bersama-sama mendefinisikan format
seluruh perangkat lunak, mengidentifikasikan semua kebutuhan, dan
garis besar sistem yang akan dibuat.
b. Membangun prototyping
Membangun prototyping dengan membuat perancangan sementara
yang berfokus pada penyajian kepada pelanggan (misalnya dengan
membuat input dan format output).
28
c. Evaluasi protoptyping
Evaluasi ini dilakukan oleh pelanggan apakah prototyping yang
dibangun sudah sesuai dengan keinginan pelanggan. Jika sudah sesuai
maka dilanjutkan langkah “d”. Jika tidak prototyping direvisi dengan
mengulangi langkah “a”, “b” , dan “c”.
d. Mengkodekan sistem
Dalam tahap ini prototyping yang sudah disepakati diterjemahkan ke
dalam bahasa pemrograman yang sesuai.
e. Menguji sistem
Setelah sistem sudah menjadi suatu perangkat lunak yang siap pakai,
harus diuji dahulu sebelum digunakan. Pengujian ini dilakukan
dengan White Box, Black Box, Basis Path, pengujian arsitektur dan
lain-lain.
f. Evaluasi Sistem
Pelanggan mengevaluasi apakah sistem yang sudah jadi sudah sesuai
dengan yang diharapkan. Jika ya, langkah “g” dilakukan; jika tidak,
ulangi langkah ”d” dan “e”.
g. Menggunakan sistem
Perangkat lunak yang telah diuji dan diterima pelanggan siap untuk
digunakan.
C. Incremental
Pembuatan sofware dengan model incremental merupakan proses yang
terpecah menjadi beberapa bagian. Model ini mengandalkan prioritas dan
sistematika, jadi software yang paling penting dan yang paling
berpengaruh pada software lain yang harus dikerjakan terlebih dahulu.
Diumpakan seperti menjahit baju, pertama-tama yang harus dilakukan
30
D. Spiral
Merupakan gabungan model prototyping dan waterfall. Proses
pembuatannya mulai dari customer communication, planning, risk
analysis, engineering, construction and release, customer evaluation.
Proses ini akan terus berulang demi pemenuhan kebutuhan pelanggan,
walaupun perangkat lunak telah selesai.
Kelebihan model spiral:
a. Lebih cocok untuk pengembangan sistem dan perangkat lunak skala
besar
b. Dapat digunakan dalam waktu sangat lama karena perubahan terus
dilakukan
c. Membutuhkan pertimbangan langsung terhadp resiko teknis sehingga
mengurangi resiko sebelum menjadi permasalahan yang serius
31
c. Modularitas
Membagi sistem yang rumit menjadi bagian-bagian yang lebih kecil yang
bisa mempermudah pengembang memahami dan mengelola objek
tersebut. Contohnya adalah sistem akademis yang bisa dibagi menjadi
kemahasiswaan, daftar mata kuliah, pembayaran uang kuliah, dan lain-
lain.
d. Hirarki
Hirarki berhubungan dengan abstraksi dan modularitas, yaitu pembagian
berdasarkan urutan dan pengelompokan tertentu. Misalnya untuk
menentukan objek mana yang berada pada kelompok yang sama, objek
mana yang merupakan komponen dari objek yang memiliki hirarki lebih
tinggi. Semakin rendah hirarki objek berarti semakin jauh abstraksi
dilakukan terhadap suatu objek.
Keempat prinsip dasar ini merupakan hal yang mendasari teknologi objek
yang perlu ditanamkan dalam cara berpikir pengembang berorientasi objek.
c. Polimorfisme (polymorphism)
Memungkinkan pembuatan pengaksesan metode-metode dengan nama
yang sama namun berbeda parameter masukan atau berbeda kelas.
Class Diagram
Component
Diagram
Composite
Structure
Diagram
Structure Deployment
Diagram Diagram
Object Diagram
Package
Diagram
Diagram
Activity Diagram
Use Case
Diagram
Behavior
Diagram
State Machine
Diagram
Sequence
Diagram
Interaction Communication
Diagram Diagram
Interaction
Overview
Diagram
Timing Diagram
F. Package Diagram
Package diagram adalah sebuah bentuk pengelompokan yang
memungkinkan untuk mengambil setiap bentuk di UML dan
mengelompokkan elemen-elemen dalam tingkatan unit yang lebih tinggi.
Kegunaan package yang paling umum adalah untuk mengelompokkan
class.
G. Activity Diagram
Activity diagram digunakan untuk mendokumentasikan alur kerja pada
sebuah sistem, yang dimulai dari pandangan business level hingga ke
operational level. Pada dasarnya, activity diagram merupakan variasi
dari state machine diagram. Activity diagram mempunyai peran seperti
halnya flowchart, akan tetapi perbedaannya dengan flowchart adalah
activity diagram bisa mendukung perilaku paralel sedangkan flowchart
tidak bisa.
H. Use Case Diagram
Use case diagram adalah salah satu diagram yang ada dalam UML
(Unified Modeling Language). Use case diagram merupakan merupakan
pemodelan untuk kelakuan (behavior) aplikasi perangkat lunak yang
akan dibuat. Use case diagram mendeskripsikan interaksi antara satu
atau lebih aktor dengan aplikasi yang akan dibuat. Secara kasar, use case
diagram digunakan untuk mengetahui fungsi/proses apa saja yang ada di
dalam sebuah aplikasi dan siapa saja yang berhak menggunakan fungsi-
fungsi atau proses-proses itu.
Ada dua hal utama pada use case diagram yaitu pendefinisian apa yang
disebut aktor dan use case, berikut ini penjelasannya:
a. Aktor merupakan orang, proses, atau aplikasi lain yang berinteraksi
dengan aplikasi yang akan dibuat diluar aplikasi itu sendiri, jadi
walaupun simbol dari aktor adalah gambar orang tapi aktor belum
tentu merupakan orang.
b. Use case merupakan fungsi-fungsi/proses-proses yang disediakan
aplikasi sebagai unit-unit yang saling bertukar pesan/berinteraksi antar
38
unit/proses atau aktor. Syarat penamaan pada use case adalah nama
didefinisikan sesimpel mungkin dan dapat dipahami.
I. State Machine Diagram
State machine diagram digunakan untuk menelusuri individu-individu
objek melalui keseluruhan daur hidupnya, menspesifikasi semua urutan
yang mungkin dari pesan-pesan yang akan diterima objek tersebut
bersama-sama dengan tanggapan atas pesan-pesan tersebut. Diagram
state menggambarkan transisi dan perubahan keadaan suatu objek dalam
sistem sebagai akibat dari stimuli yang diterima. Pada umumnya diagram
ini menggambarkan class tertentu. State diagram membantu analis,
perancang dan pengembang untuk memahami perilaku objek dalam
sistem.
J. Sequence Diagram
Sequence diagram adalah diagram yang digunakan untuk
mendokumentasikan komunikasi/interaksi antarkelas. Diagram ini
menunjukkan sejumlah objek dan message (pesan) yang diletakkan
diantara objek-objek di dalam use case. Perlu diingat bahwa di dalam
diagram ini, kelas-kelas dan aktor-aktor diletakkan di bagian atas
diagram dengan urutan dari kiri ke kanan dengan garis lifeline yang
diletakkan secara vertikal terhadap kelas dan aktor.
K. Communication Diagram
Communication diagram atau collaboration diagram juga
menggambarkan interaksi antarobjek seperti sequence diagram, tetapi
lebih menekankan pada peran masing-masing objek dan bukan pada
waktu penyampaian message (pesan). Setiap message memiliki sequence
number, di mana message dari level tertinggi memiliki nomor 1.
Messages dari level yang sama memiliki prefiks yang sama.
L. Interaction Overview Diagram
Interaction overview diagram adalah pencangkokan secara bersama
antara activity diagram dengan sequence diagram. Interaction overview
diagram dapat dianggap sebagai activity diagram di mana semua
aktivitas diganti dengan sedikit sequence diagram, atau bisa juga
39
e. 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.
f. 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.
g. Arsitektur netral
Program Java merupakan platform independent. Program cukup
mempunyai satu buah versi yang dapat dijalankan pada platform yang
berbeda dengan Java Virtual Machine (JVM).
h. Portabel
Source code maupun program Java dapat dengan mudah dibawa ke
platform yang berbeda-beda tanpa harus dikompilasi ulang.
i. 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).
j. Multithreaded
Java mempunyai kemampuan untuk membuat suatu program yang dapat
melakukan beberapa pekerjaan secara sekaligus dan simultan.
k. 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.
48
digambarkan sebagai kombinasi dari sistem operasi dan perangkat keras yang
mendasarinya. Platform Java berbeda dari platform lainnya, karena hanya
merupakan platform perangkat lunak yang berjalan di atas platform hardware
lainnya.
Java platform terdiri dari dua komponen, yaitu Java Virtual Machine (JVM)
dan Aplication Programming Interface (API). Secara garis besar teknologi Java
terbagai menjadi beberapa bagian (Utomo, 2009), yaitu seperti di bawah ini:
a. J2SE (2 Platform Standard Edition)
Teknologi Java ini dirancang untuk membuat aplikasi yang berjalan pada
PC dan workstation yang berada pada platform Windows, Linux,
Macintos. J2SE terbagi menjadi dua bagian besar yaitu J2SE Core dan
J2SE Desktop.
J2SE Core digunakan untuk teknologi security, debugging, database dan
sebagainya. Sedangkan teknologi J2SE Desktop meliputi beberapa
teknologi yaitu JRE (Java Runtime Environment), JFC (Java Foundation
Classes), Java Sound API dan sebagainya.
b. J2EE (2 Platform Enterprise Edition)
Teknologi Java ini digunakan untuk pengembangan aplikasi-aplikasi
enterprise, meliputi beberapa teknologi yaitu JSP (Java Server Pages),
Java Servlet, CORBA (untuk aplikasi terdistribusi) dan sebagainya.
c. J2ME (Java 2 Platform Micro Edition)
Teknologi Java ini digunakan untuk pengembangan sistem mikro dan
sistem embedded seperti handphone, PDA dan lain sebagainya. Meliputi
dua bagian besar yaitu CLDC (MIDP, BlueTooth dan lainnya) dan CDC
Technology (JDBC/teknologi database dan RMI).
d. Java Web Services
Merupakan aplikasi web berbasis enterprise dengan standar XML dan
protokol tertentu untuk bertukar data dengan klien. Teknologi ini
meliputi beberapa API yang dirancang untuk bekerja dengan XML
seperti Java API for XML Based RPC (JAX-RPC), Java API for XML
Based Messaging (JAXM), Java API for XML Processing (JAXP) dan
Java API for XML Binding (JAXB).
51
2.10.2 NetBeans
Editor NetBeans cukup luar biasa untuk membuat aplikasi java, karena
didukung fasilitas drag and drop komponen, yaitu dukungan rapid application
development (pemrograman berbasis visual) (Huda & Komputer, 2009). NetBeans
IDE (Integrated Development Environment) adalah sebuah lingkungan
pengembangan terintegrasi yang tersedia untuk Windows, Mac, Linux, dan
Solaris. NetBeans adalah salah satu aplikasi IDE yang digunakan programmer
untuk menulis, meng-compile, mencari kesalahan, dan menyebarkan program.
Proyek NetBeans terdiri dari open-source IDE dan platform aplikasi, yang
memungkinkan pengembang untuk secara cepat membuat web, enterprise,
desktop, dan aplikasi mobile menggunakan platform Java, serta JavaFX, PHP,
JavaScript dan Ajax, Ruby dan Ruby on Rails, Groovy dan Grails, dan C/C++.
NetBeans menyajikan alat pemrograman GUI (Graphical User Interface)
dan berbagai wizard yang sangat memudahkan dalam membangun program java
(Wijono, Suharto, & Wijono, 2007). NetBeans ditulis dalam bahasa java namun
dapat juga mendukung bahasa pemrogramman lain. Program ini bersifat kode
terbuka (open source) dan bebas (free) untuk penggunaan komersial dan
nonkomersial. Kode sumber tersedia untuk guna ulang dengan lisensi Common
Development and Distribution License (CDDL).
Proyek NetBeans didukung oleh komunitas pengembang yang ekstensif dan
menawarkan dokumentasi dan sumber daya pelatihan serta beragam pilihan
plugin dari pihak ketiga.
2.10.3 MySQL
MySQL adalah sebuah perangkat lunak sistem manajemen basis data SQL
atau DBMS yang multi-thread dan multi-user. MySQL adalah Relation Database
Management System (RDBMS) yang didistribusikan secara gratis di bawah lisensi
General Public License (GPL), sehingga setiap orang bebas untuk menggunakan
MySQL (Supriyanto, 2010).
MySQL (My Structured Query Language) merupakan sebuah program
pembuat database yang bersifat open source, artinya semua orang dapat
menggunakan dan dapat dijalankan pada semua platform baik windows maupun
52
Selain itu MySQL juga memiliki beberapa keistimewaan yang antara lain:
a. Portability
MySQL dapat berjalan stabil pada berbagai sistem operasi seperti
Windows, Linux, FreeBSD, Mac OS X Server, Solaris, Amiga dan lain-
lain.
b. Open source
MySQL didistribusikan secara open source di bawah lisensi GPL,
sehingga dapat digunakan secara gratis.
c. Multiuser
MySQL dapat digunakan oleh beberapa user dalam waktu yang
bersamaan tanpa mengalami masalah atau konflik.
d. Performance tuning
MySQL memiliki kecepatan yang menakjubkan dalam menangani query
sederhana, dengan kata lain dapat memproses lebih banyak SQL per
satuan waktu.
54
e. Jenis kolom
MySQL memiliki tipe kolom yang sangat kompleks, seperti
signed/unsigned integer, float, double, char, text, date, timestamp dan
lain-lain.
f. Perintah dan fungsi
MySQL memiliki operator dan fungsi secara penuh yang mendukung
perintah SELECT dan WHERE dalam perintah (query).
g. Keamanan
MySQL memiliki beberapa lapisan keamanan seperti level subnetmask,
nama host, dan izin akses user dengan sistem perizinan yang mendetil
serta password terenkripsi.
h. Skalabilitas dan pembatasan
MySQL mampu menangani basis data dalam skala besar, dengan jumlah
rekaman (records) lebih dari 50 juta dan 60 ribu tabel serta 5 milyar
baris. Selain itu batas indeks yang dapat ditampung mencapai 32 indeks
pada tiap tabelnya.
i. Konektivitas
MySQL dapat melakukan koneksi dengan client menggunakan protokol
TCP/IP, Unix soket (UNIX), atau Named Pipes (NT).
j. Lokalisasi
MySQL dapat mendeteksi pesan kesalahan pada client dengan
menggunakan lebih dari dua puluh bahasa.
k. Antarmuka
MySQL memiliki antarmuka terhadap berbagai aplikasi dan bahasa
pemrograman dengan menggunakan fungsi API (Application
Programming Interface).
l. Klien dan peralatan
MySQL dilengkapi dengan berbagai peralatan (tool) yang dapat
digunakan untuk administrasi basis data, dan pada setiap peralatan yang
ada disertakan petunjuk online.
55
m. Struktur tabel
MySQL memiliki struktur tabel yang lebih fleksibel dalam menangani
ALTER TABLE, dibandingkan basis data lainnya semacam PostgreSQL
ataupun Oracle.
3.1 Analisa
Analisa atau analisis adalah kajian yang dilaksanakan terhadap sebuah
permasalahan guna meneliti struktur masalah secara mendalam dengan cara
memecah-mecah masalah tersebut menjadi bagian-bagian kecil yang lebih mudah
dipelajari, kemudian mempelajarinya dan mengambil kesimpulan.
56
57
Proses (aktivitas) dari sistem yang berjalan saat ini dapat digambarkan
dalam diagram activity (aktivitas) sebagai berikut:
act Business Process Model
Start
Guru menetapkan
kelulusan sisw a
Data pembayaran dicatat
Calon sisw a menyerahkan
dalam buku j urnal
form pendaftaran dan
pembayaran
melengkapi persyaratan
Meng-input dan
mengolahnya
menggunakan Ms. Excel
Selesai
3.2 Perancangan
Setelah dilakukan analisa terhadap kebutuhan dan data/dokumen,
selanjutnya dibuat perancangan basis data dan perancangan aplikasi.
59
* kd_jpers
* kd _jpem * no_pem
* kd_cs Nm_jpers
nm _jpem * kd_jpem
* kd_jpers Stn_pers
bsr_pem
Jmlh_pers
Bts_pem
M
Memiliki Jenis Persyaratan M
Jenis Pembayaran terdiri
Calon Siswa
* no_pem
nis
M wkt_pem
* no_peg no_ peg M
* kd_cs nm_peg
nm_cs almt_peg
almt_cs Staf Administrasi Menerima Pembayaran
tmp_lhr_peg 1 M
tmp_lhr_cs tgl_lhr_peg
tgl_lhr_cs Pass_peg M
asl_sklh_cs * nis
thn_lls_cs nm_sis
nli_ujn_nsnl_cs almt_sis 1
Siswa Melakukan
tmp_lhr_sis
tgl_lhr_sis M M
asl_sklh_sis
thn_lls_sis
nli_ujn_nsnl_sisl
thn_msk_sis
Memilih
* nis
* nis Menempati * kd_mtpel
* kd_kls tgs
ulngn
uts
uas
1 M
* kd_kls
1 M
Jurusan Untuk Kelas nm_kls Mendapat
dy_tmpng
1
* kd_jrsn
Nm_jrsn
* nig
Menempati
nm_gru
almt_gru
tmp_lhr_gru
tgl_lhr_gru
pass_gru M
M M
Guru Mengajar Jadwal Untuk
1
1 M
M
* kd_jdwl
hri Mata Pelajaran
kd_jm
Jam Sesuai * kd_matpel M
kd_matpel
1 nig nm_matpel
* kd_jm kd_klmpk
ktrngn nli_kkm
mlai
slsai * kd_klmpk Kelompok Mata
Termasuk
Nm_klmpk Pelajaran
1
Calon Siswa
* no_pem
nis
M wkt_pem
* kd_cs * no_peg no_ peg M
nm_cs nm_peg
almt_cs almt_peg
Staf Administrasi Menerima Pembayaran
tmp_lhr_cs tmp_lhr_peg 1 M
tgl_lhr_cs tgl_lhr_peg
asl_sklh_cs Pass_peg M
thn_lls_cs
* nis
nli_ujn_nsnl_cs
nm_sis 1
almt_sis Siswa Melakukan
tmp_lhr_sis
tgl_lhr_sis M M
asl_sklh_sis
thn_lls_sis
nli_ujn_nsnl_sisl
thn_msk_sis
Memilih * nis
* nis * kd_mtpel
Menempati
* kd_kls tgs
ulngn
uts
uas
1 M
1 M * kd_kls
Jurusan Untuk Kelas nm_kls Mendapat
dy_tmpng
1
* kd_jrsn
Nm_jrsn
Menempati
M
M M
Mengajar Jadwal Untuk
* nig
nm_gru 1 M
M
almt_gru * kd_jdwl
hri Mata Pelajaran
tmp_lhr_gru
tgl_lhr_gru kd_jm
Sesuai * kd_matpel M
pass_gru 1 kd_matpel
nig nm_matpel
Guru kd_klmpk
nli_kkm
Jam
1 Termasuk
* kd_jm
ktrngn 1
* kd_klmpk Kelompok Mata
mlai
Nm_klmpkl Pelajaran
slsai
3.2.1.4 Normalisasi
Normalisasi diperlukan jika tabel-tabel yang dibuat belum normal. Karena
tabel-tabel yang dihasilkan dari transformasi ERD pada gambar 3.3 telah
memenuhi syarat normal ke-3 (3NF), maka tabel-tabel tersebut tidak perlu
dinormalisasi lagi.
uc Akses Aplikasi
Login
Staf
Guru
(from Use Case Model)
(from Use Case Model)
Logout
uc Master Data
Mengelola Jenis
Mengelola Jenis Pembayaran
Persyaratan
Mengelola Data
Staf Administrasi Mengelola Data
Sisw a
Mengelola Data
Guru
Mengelola Data
Mengelola Data Kelas
Kelas Sisw a
Mengelola Data
Kelompok Mata
Pelaj aran Mengelola Data
Mata Pelaj aran
uc Transaksi
Mengelola Data
Pendaftaran
Memproses
Penerimaan Sisw a
Staf
(from Use Case Model)
Mengelola Data
Pembayaran
Mengelola Jadw al
Guru
(from Use Case Model)
uc Laporan
Mencetak Laporan
Penerimaan Sisw a
Mencetak Laporan
Pembayaran
Staf
Guru
inputUserId()
inputPassword()
klikLoginButton()
inputNig()
inputPassword()
klikLoginButton()
prosesLogin()
klikLogoutButton()
klikLogoutButton()
prosesLogout()
inputKodePersyaratan()
inputDataPersyaratan()
klikSimpanButton()
simpan()
simpan()
klikHapusButton()
hapus()
hapus(kodeJenisPersyaratan)
klikDaftarButton()
tampilkanDaftar()
bacaData()
tampilkanData()
inputKodePembayaran()
inputDataPembayaran()
klikSimpanButton()
simpan()
simpan()
klikHapusButton()
hapus(kodeJenisPembayaran)
hapus(kodeJenisPembayaran)
klikDaftarButton()
tampilkanDaftar()
bacaData()
tampilkanData()
inputNoPegawai()
inputDataPegawai()
klikSimpanButton()
simpan()
simpan()
klikHapusButton()
hapus(noPegawai)
hapus(noPegawai)
klikDaftarButton()
tampilkanDaftar()
bacaData()
tampilkanData()
inputNig()
inputNig()
inpuDataGuru()
inputDataGuru()
klikSimpanButton()
klikSimpanButton()
simpan()
simpan()
klikHapusButton()
klikHapusButton()
hapus(nig)
hapus(nig)
klikDaftarButton()
klikDaftarButton()
tampilkanDaftar()
bacaData()
tampilkanData()
inputNis()
inputDataSiswa()
klikSimpanButton()
simpan()
simpan()
klikHapusButton()
haspu(nis)
hapus(nis)
klikDaftarButton()
tampilkanDaftar()
bacaData()
tampilkanData()
inputKodeKelompokMataKuliah()
inputDataKelompokMataKuliah()
klikSimpanButton()
simpan()
simpan()
klikHapusButton()
hapus(kodeKelompokMataKuliah)
hapus(kodeKelompokMataKuliah)
klikDaftarButton()
tampilkanDaftar()
bacaData()
tampilkanData()
inputKodeMataPelajaran()
inputDataMataPelajaran()
klikSimpanButton()
simpan()
simpan()
klikHapusButton()
hapus(kodeMataPelajaran)
hapus(kodeMataPelejaran)
klikDaftarButton()
tampilkanDaftar()
bacaData()
tampilkanData()
inputKodeJam()
inputDataJam()
klikSimpanButton()
simpan()
simpan()
klikHapusButton()
hapus(kodeJam)
hapus(kodeJam)
klikDaftarButton()
tampilkanDaftarJam()
bacaData()
tampilkanData()
inputKodeJurusan()
inputDataJurusan()
klikSimpanButton()
simpan()
simpan()
klikHapusButton()
hapus(kodeJurusan)
hapus(kodeJurusan)
klikDaftarButton()
tampilkanDaftar()
bacaData()
tampilkanData()
inputDataKelas()
klikSimpanButton()
simpan()
simpan()
klikHapusButton()
hapus()
hapus()
klikDaftarButton()
tampilkanDaftar()
bacaData()
tampilkanData()
inputDataKelasSiswa()
klikSimpanButton()
simpan()
simpan()
klikHapusButton()
hapus()
hapus()
klikDaftarButton()
tampilkanDaftar()
bacaData()
tampilkanData()
inputNoPendaftaran()
inputDataCalonSiswa()
inputKelengkapanPersyaratan()
klikSimpanButton()
simpan()
simpan()
klikHapusButton()
hapus()
hapus()
klikDaftarButton()
tampilkanDaftarCalonSiswa()
bacaData()
tampilkanData()
inputTahunAjaran()
hitungJumlahCalonSiswa()
bacaData()
setJumlahCalonSiswa()
klikProsesPenerimaanSiswaButton()
prosesPenerimaanSiswa()
bacaData()
setJumlahDiterima()
klikSimpanButton()
simpan()
bacaData()
simpan()
simpan()
inputNoPembayaran()
klikBaruButton()
noPembayaranBaru()
bacaNoPembayaranTerakhir()
setNoPembayaran()
inputDataPembayaran()
tampilkanDataPembayaran()
baca()
setNamaPembayaran()
setBesarPembayaran()
klikSimpanButton()
simpan()
simpan()
simpan()
klikHapusButton()
hapus(noPembayaran)
hapus(noPembayaran)
hapus(noPembayaran)
klikDaftarButton()
tampilkanDaftarPembayaran()
bacaData()
tampilkanData()
bukaForm()
aturTampilanAwal()
bacaData()
setItemKelasComboBox()
bacaData()
setItemMataPelajaranComboBox()
bacaData()
setItemGuruComboBox()
bacaData()
setItemJamComboBox()
inputKodeJadwal()
cari(kodeJadwal)
baca(kodeJadwal)
tampilkanDataJadwal()
klikDaftarButton()
tampilkanDaftarJadwal()
bacaData()
tampilkanData()
klikPilihButton()
tampilkanDataJadwal()
baca(kodeDipilih)
tampilkanDataJadwal()
klikSimpanButton()
simpan()
simpan()
klikHapusButton()
hapus(kodeJadwal)
hapus(kodeJadwal)
inputKodeJadwal()
cariDataJadwal()
baca()
tampilkanDataJadwal()
baca()
tampilkanDataKelasSiswa()
baca()
tampilkanNamaMataPelajaran()
baca()
tampilkanDataSiswa()
baca()
tampilkanNilaiSiswa()
klikDaftarButton()
tampilkanDaftarJadwal()
bacaData()
tampilkanData()
klikPilihButton()
tampilkanDataJadwal()
baca()
tampilkanDataKelasSiswa()
baca()
tampilkanNamaMataPelajaran()
baca()
tampilkanDataSiswa()
baca()
tampilkanNilaiSiswa()
inputDataNilai()
klikSimpanButton()
simpan()
simpan()
inputTahunAjaran()
klikCetakButton()
cetakPenerimaanSiswa(tahunAjaran)
cetakSiswaBaru(tahunAjaran)
klikCetakButton()
cetakPembayaran()
cetak()
klikCetakButton()
cetakNilai()
cetak()
klikCetakButton()
cetakNilai()
cetak()
klikCetakButton()
cetakJadwal()
cetak()
klikCetakButton()
cetakJadwal()
cetak()
Mulai
valid?
[Ya]
Masuk ke dalam
[Tidak] sistem/aplikasi dan aktifkan
menu sesuai hak aksesnya
Selesai
Mulai
Selesai
Mulai
Ada yang
dipilih?
[Tidak]
Selesai
Mulai
[Tidak]
Simpan data (update/insert) Hapus data j enis
j enis pembayaran pembayaran
[Ya]
Selesai
Mulai
Ada yang
dipilih?
[Tidak]
Simpan data (update/insert) Hapus data staf
staf administrasi administrasi [Ya]
Selesai
Mulai
Ada yang
dipilih?
[Tidak]
Simpan data (update/insert) Hapus data guru
guru [Ya]
Selesai
Mulai
Input no. pegaw ai, nama, alamat, tempat Klik tombol daftar
lahir, tanggal lahir, asal sekolah, tahun
lulus, dan nilai uj ian nasional
Ada yang
dipilih?
[Tidak]
Simpan data (update/insert) Hapus data sisw a
sisw a [Ya]
Selesai
Mulai
Tampilkan daftar
kelompok mata pelaj aran
Selesai
Mulai
Input kode mata pelaj aran, dan nama Klik tombol daftar
mata pelaj aran
Ada yang
dipilih?
[Tidak]
Selesai
Mulai
Tampilkan daftar j am
[Tidak]
Simpan (update/insert) data Hapus data j am
j am [Ya]
Selesai
Mulai
[Tidak]
Simpan (update/insert) data Hapus data j urusan
j urusan [Ya]
Selesai
Mulai
Ada yang
dipilih?
[Tidak]
Selesai
Mulai
Ada yang
dipilih?
Selesai
Mulai
Ada yang
dipilih?
[Tidak] tampilkan no. pendaftaran
baru
Simpan (update/insert) data Hapus data calon sisw a
calon sisw a [Ya]
Selesai
Mulai
Selesai
Mulai
Tampilkan daftar
pembayaran
Ada yang
dipilih?
[Tidak] tampilkan no. pembayaran
baru
Simpan (update/insert) data Hapus data pembayaran
pembayaran [Ya]
Tampilkan data
pembayaran yang dipilih
Selesai
Mulai
Selesai
Mulai
Ada yang
dipilih?
[Tidak]
Selesai
Mulai
Selesai
Mulai
Selesai
Mulai
Selesai
Mulai
Selesai
Form Login
User ID
Password
Login Batal
Informasi Aplikasi
Oleh: Yulianti
NIM: 2009140661
Universitas Pamulang 2013
Nama Persyaratan
Satuan
Jumlah
Jumlah Pembayaran
Jangka Waktu
Satuan
4.1 Implemantasi
4.1.1 Implementasi Basis Data
Rancangan basis data diimplementasikan pada DBMS (Database
Management System) MySQL dan dihasilkan diagram relasi sebagai berikut:
109
110
4.2 Pengujian
Pengujian telah dilakukan menggunakan metode black box dan white box
selama pengembangan aplikasi, pengujian dilakukan untuk memastikan bahwa
rancangan algoritma dan implementasi pada source code program telah sesuai
dengan tujuan yang telah ditentukan. Pengujian telah dilakukan baik per blok
source code program maupun per modul. Bug (cacat) yang ditemukan pada
aplikasi langsung diperbaiki agar sesuai dengan proses yang diinginkan.
4.3 Analisa
Setelah aplikasi yang dibuat diimplementasikan pada jaringan LAN (Local
Area Network) menggunakan satu server basis data, yaitu MySQL, aplikasi dapat
digunakan secara bersamaan, dapat yang tersimpan dapat digunakan secara
bersamaan, sehingga ketika meng-input data dapat lebih cepat.
Aplikasi yang telah dibuat menggunakan arsitektur MVC (Model-View-
Controller) dapat memperpendek source code program, karena beberapa modul
(metode atau class) dapat digunakan modul lain tanpa mengetik ulang. Misalnya,
jika tidak menggunakan arsitektur MVC, maka source code untuk membaca atau
menampilkan data siswa harus diketik di modul form siswa dan modul form
pembayaran. Tetapi jika menggunakan arsitektur MVC, maka source code
124
tersebut cukup diketik di satu modul, kemudian modul lain tinggal memanggil
nama metodenya.
Jika menggunakan arsitektur MVC, ketika melakukan perubahan source
code pada modul user interface (antarmuka pengguna) tidak harus mengubah
bagian model (modul yang berhubungan dengan database). Hal ini dapat
mempermudah untuk menyesuaikan dengan kebutuhan di masa depan.
BAB V
PENUTUP
5.1 Kesimpulan
Dari hasil implementasi dan analisa pada bab sebelumnya, dapat diambil
kesimpulan sebagai berikut:
a. Aplikasi administrasi sekolah yang dibangun dengan arsitektur client-
server dapat mengurangi duplikasi data, karena semua data disimpan
dalam basis data yang terpusat dan digunakan dengan sistem berbagi.
b. Aplikasi administrasi sekolah yang telah dibuat dapat memperbaiki
pengorganisasian dokumen-dokumen di sekolah, semua data disimpan
dalam basis data terpusat, data/dokumen yang diperlukan dapat dilihat,
dan dianalisa tanpa harus dicetak.
c. Aplikasi administrasi sekolah dapat mempercepat pembuatan laporan-
laporan yang diperlukan dari data-data administrasi, karena untuk
membuat laporan, tinggal memilih menu laporan yang diinginkan, dan
spesifikasi laporan yang akan dicetak.
d. Aplikasi yang dibuat dengan arsitektur MVC (Model-View-Controller)
menjadi lebih rapi, dapat memperpendek source code aplikasi, dan
mudah disesuaikan dengan kebutuhan di masa depan. Jika ada
perubahan pada tampilan antarmuka, maka tidak perlu mengubah source
code yang berhubungan dengan basis data.
5.2 Saran
Aplikasi administrasi sekolah yang telah dibuat hanya mencakup
administrasi pendaftaran, pembayaran, jadwal, dan nilai. Agar aplikasi lebih baik
dan lengkap, dapat dikembangkan lebih lanjut, yaitu:
a. Ditambahkan administrasi absensi siswa, kegiatan ekstrakulikuler.
b. Ditambahkan data-data siswa seperti, data kontak, hobi, data orangtua,
dan data wali murid.
c. Meningkatkan keamanan data dengan menggunakan arsitektur multitier.
125
DAFTAR PUSTAKA
126
127
Martha, D., Harianto, C., & Asfi, M. (2010). Metode MVC untuk Perancangan
Sistem Berorientasi Objek pada Ujian Saringan Masuk Penerimaan
Mahasiswa Baru di STMIK CIC Cirebon. Jurnal Informatika, 145 - 160.
Munawar. (2005). Pemodelan Visual Dengan UML. Yogyakarta: Graha Ilmu.
Nugroho, A. (2009). Rekayasa Perangkat Lunak Menggunakan UML dan Java.
Yogyakarta: Andi.
O’Regan, G. (2011). Introduction to Software Process Improvement. London:
Springer.
Prasetyo, D. D. (2004). Belajar Sendiri Aplikasi Database Client/Server
Menggunakan Delphi dan MySQL. Jakarta: Elex Media Komputindo.
Qureshi, M. R., & Sabir, F. (2013). A Comparison of Model View Controller and
Model View Presenter. The Science International (Lahore), 7-9.
Simarmata, J. (2010). Rekayasa Perangkat Lunak. Yogyakarta: Andi.
Stephens, R. (2009). Beginning Database Design Solutions. Indianapolis: Wiley.
Stephens, R. K., & Plew, R. R. (2001). Database Design. Indianapolis: Sams.
Sulindawaty, & Calam, A. (2011). Sistem Informasi Pengolahan Nilai Siswa Pada
SMP Swasta Bakti Medan. Jurnal SAINTIKOM, 53-69.
Sumarta, T., Siswoyo, B., & Juhana, N. (2004). Perancangan Model Berorientasi
Objek Menggunakan Unified Modeling Language (UML).
JBPTUNIKOMPP, 1-8.
Supriyanto. (2010). Pemrograman Database Menggunakan Java dan MySQL
untuk Pemula. Jakarta: Mediakita.
Utomo, E. P. (2009). Panduan Mudah Mengenal Bahasa Java. Bandung: Yrama
Widya.
Utpatadevi, N. L., Sudana, A. A., & Cahyawan, A. A. (2012). Implementation of
MVC (Model-View-Controller) Architectural to Academic Management
Information System with Android Platform Base. International Journal of
Computer Applications, 1-6.
'Uyun, S., & Ma'arif, M. R. (2010). Implementation of Model View Controller
(MVC) Architecture on Building Web-based Information System. Seminar
Nasional Aplikasi Teknologi Informasi 2010 (SNATI 2010), E-47 - E-50.
128