You are on page 1of 143

PERANCANGAN PROGRAM APLIKASI TRANSAKSI PEMBAYARAN SPP, UTS DAN UAS MENGGUNAKAN METODE ANALISIS DAN DESAIN BERORIENTASI

OBJEK MODEL UNIFIED APPROACH (UA) (STUDI KASUS SMK MUHAMMADIYAH GARUT)
TUGAS AKHIR Diajukan Untuk Memenuhi Syarat Kelulusan Pada Program Studi Strata I Teknik Informatika

Oleh: Hilman Sudirman 0706049

JURUSAN TEKNIK INFORMATIKA SEKOLAH TINGGI TEKNOLOGI GARUT 2012

LEMBAR PENGESAHAN

PERANCANGAN PROGRAM APLIKASI TRANSAKSI PEMBAYARAN SPP, UTS DAN UAS MENGGUNAKAN METODE ANALISIS DAN DESAIN BERORIENTASI OBJEK MODEL UNIFIED APPROACH (UA) (STUDI KASUS SMK MUHAMMADIYAH GARUT)
Disusun Oleh: Hilman Sudirman 0706049 Laporan Tugas Akhir ini Disetujui Panitia Sidang Tugas Akhir Sebagai Kelengkapan Tugas Akhir, Tahun Akademik 2011/2012

Menyetujui:

Pembimbing I

Pembimbing II

H.Eko Retnadi,Drs.,M.Kom. NIDN:0410086401 Menyetujui,

Rina Kurniawati,SE,.Msi NIDN:0220067404

Ketua Jurusan teknik Informatika

Eri Satria M.kom NID:

KATA PENGANTAR

Bismillahirrohmanirrohim Segala puji dan syukur penulis panjatkan kehadirat ALLOH SWT atas limpahan rahmat dan karunia-NYa sehingga penulis dapat menyelesaikan tugas akhir ini. Sholawat serta salam semoga tetap tercurahlimpahkan kepada Nabi Besar Muhammad SAW, kepada keluarganya, sahabatnya dan semoga sampai kepada kita selaku umat pengikut sunnahnya. Laporan tugas kahir ini disusun sebagai salah satu syarat kelulusan Mata Kuliah Tugas Akhir di Jurusan Teknik Informatika Sekolah Tinggi Teknologi Garut (STTG). Dalam penyusunan tugas Akhir ini penulis banyak sekali mendapatkan bantuan, motivasi, bimbingan da petunjuk dari berbagai pihak, oleh kerena itu rasa terima kasih penulis sampaikan kepada yang terhormat: 1. Kedua orang tua tercinta (Bapak Aang Sudarman, dan Ibu Elis Aisyah) Kaka Ai Mulyati,SS, kaka Melani, sekeluarga, serta orang-orang terdekat yang telah memberikan doa motivasi dan bantuan baik secara moril materil selama penyusunan tugas akhir ini. 2. Dans Azie terimakasih banyak sahabat terbaikku atas luang waktu dan ide-idenya semoga Alloh SWT membalas semua kebaikannya. 3. Bapak H. Eko Retnadi,Drs,.M.Kom, selaku dosen pembimbing I dalam penyusunan laporan tugas akhir ini, terimakasih atas perhatian dan waktu yang diberikannya. 4. Ibu Rina Kurniawati,SE,.Msi selaku dosen pembimbing II dalam penyusunan laporan tugas akhir ini, terimaksih banyak atas bimbinganya yang begitu berkesan. 5. Penguji 6. Bapak Eri Satria.M.Si selaku ketua jurusan Teknik Informatika di Sekolah Tinggi Teknologi Garut. 7. Staff perpustakaan

ii

8. Geng Asyik: A Abdurahman Saleh, Ridwan Setiawan, Hamdan Fauzi, Septiana Firdaus, terimakasih persahabatanya, kerjasamanya, motivasi dan berbagi ilmu serta canda tawanya terimaksih teman. 9. Rekan-rekan Teknik Informatika 2007 yang telah bersama-sama berjuang, kita jangan berhenti untuk terus berjuang demi sebuah cita-cita dan harapan. 10. Seluruh staff dosen dan civitas akademika Sekolah Tinggi Teknologi Garut. 11. Rekan-rekan yang di Masjid AL-Falah dan anak-anak santri Masjid ALFalah, terimakasih atas semua dukungan dan Doa yang diberikannya.

Penulis sangat menyadari dalam penyusunan Tugas Akhir ini masih jauh dari sempurna, oleh karena itu penulis dengan senang hati menerima kritik dan saran yang membangun demi perbaikan dimasa yang akan datang, Akhirnya penulis berharap Tugas Akhir ini dapat memberikan manfaat bagi kita semua, semoga apa yang telah kita lakukan menjadi sebuah nilai kebaikan dihadapan Alloh SWT. Amiin

Wassalam Garut, Oktober 2012

Penulis

iii

DAFTAR ISI

Halaman ABSTRAK ............................................................................. KATA PENGANTAR ........................................................... DAFTAR ISI .......................................................................... DAFTAR GAMBAR ............................................................. DAFTAR TABEL .................................................................. BAB I PENDAHULUAN 1.1 Latar Belakang ................................................................. 1.2 Identifikasi Masalah ......................................................... 1.3 Maksud dan Tujuan .......................................................... 1.4 Batasan Masalah............................................................... 1.5 Metodologi Penelitian ...................................................... 1.6 kerangka Pemikiran .......................................................... 1.7 Sistematika Penulisan ...................................................... BAB II TINJAUAN PUSTAKA 2.1 Konsep Dasar Sistem Informasi ....................................... 2.1.1 Definisi Sistem .............................................................. 2.1.2 Karakteristik Sistem.................................................... 2.1.3 Klasifikasi Sistem ......................................................... 2.1.4 Definisi Informasi ......................................................... 2.1.5 Siklus Informasi ............................................................ 2.1.6 Kualitas Informasi ......................................................... 2.1.7 Definisi Sistem Informasi ............................................. 2.1.8 Komponen Sistem Informasi ........................................ 2.2 Konsep Dasar Manajemen Sistem Informasi 2.2.1 Definisi Manajemen ...................................................... 2.2.2 Fungsi-fungsi Manajemen ............................................. 2.2.3 Tingkat Manajemen ...................................................... 17 17 18 10 10 11 12 13 14 15 16 16 1 4 4 4 5 7 8 i ii iv ix xii

iv

Halaman 2.2.4 Definisi Manajemen Sistem Informasi.......................... 2.2.5 Ruang Lingkup Pekerjaan Manajemen Sistem Informasi ....................................................................... 2.3 Konsep Dasar Data 2.3.1 Definisi Data ................................................................. 2.3.2 Jenis Data ...................................................................... 2.3.3 Sumber Data .................................................................. 2.3.4 Analisa Sistem............................................................... 2.4 Pengembangan Sistem 2.4.1 Definisi Metodologi Berorientasi Objek ....................... 2.4.2 Karakteristik Sistem Berorientasi Objek ....................... 2.4.3 Keuntungan Metodologi Berorientasi Objek ................ 2.5 Konsep Dasar Dalam Object Oriented Analysis & Deseign (OOAD) ............................................................ 2.6 Object Oriented Development .......................................... 2.7 Unified Approach (UA) ................................................... 2.7.1 Objek Oriented Analysis (OOA) ................................... 2.7.2 Objek Oriented Design (OOD) ..................................... 2.8 Basis Data (Database) 2.8.1 Pengertian Basis Data ................................................... 2.8.2 Database Management System ..................................... 2.8.3 Model Data .................................................................... 2.8.4 Antarmuka Database .................................................... 2.8.5 Object Oriented Database (OODB).............................. 2.8.6 Object Oriented Database Management System (OODBMS) .................................................................. 2.9 Unified Modelling Language (UML) 2.9.1 Sejarah UML ................................................................. 2.9.2 Pengertian UML ............................................................ 2.9.3 View Dalam UML......................................................... 2.9.4 Diagram UML .............................................................. 37 38 38 40 37 32 33 33 35 36 26 28 29 30 31 24 24 25 20 21 21 23 19 19

Halaman 2.9.5 Class Diagram ............................................................... 2.9.6 Use Case Diagram......................................................... 2.9.7 Component Diagram ..................................................... 2.9.8 Sequence Diagram ........................................................ 2.9.9 Collaboration Diagram................................................. 2.9.10 Activity Diagram (Diagam Aktivitas) ......................... 2.10 Arsitektur Sistem............................................................ 2.10.1 Sistem Tunggal/Mandiri (Stand-Alone) ...................... 2.10.2 Sistem Tersentralisasi (Centralized System) ............... 2.10.3 Sistem Client-Server ................................................... 2.11 Software Pendukung ...................................................... BAB III METODOLOGI PENGEMBANGAN SISTEM 3.1 Tujuan Sistem yang akan dibangun ................................. 3.2 Analisis Kebutuhan Sistem .............................................. 3.3 Identifikasi Aktor ............................................................. 3.4 Analisis Activity Diagram................................................ 3.5 Deskripsi Aktivitas Pengolahan Data pada sistem Informasi SPP ...................................................... 3.5.1 Deskripsi aktifitas pada sistem informasi pembayaran SPP ............................................................. 3.6 Pengembangan Use Case ................................................. 3.7 Narative Use case ............................................................ 3.7.1 Narative Use case untuk proses login ........................... 3.7.2 Narative Use case Untuk Kelola Data Siswa ................ 3.7.3 Narative Use Case Untuk Proses Transaksi Pembayaran .................................................. 3.8 Pengembangan Interaction Diagram ................................ 3.9 Sequence Diagram ........................................................... 3.9.1 Sequence Diagram Untuk Proses Login........................ 3.9.2 Sequence Diagram Untuk Untuk Kelola Data Siswa .... 63 64 65 65 66 61 61 62 62 63 60 56 56 57 58 40 46 48 49 50 51 52 53 53 54 54

vi

Halaman 3.9.3 Sequence Diagram Untuk Proses Transaksi Pembayaran ................................................ 3.9.4 Sequence Diagram Untuk Proses Penghitungan Tunggakan ........................................... 3.9.5 Sequence Diagram Untuk Proses Buat Laporan ........... 3.9.6 Sequence Diagram Untuk Proses Ganti Password ....... 3.10 Collaboration Diagram.................................................. 3.10.1 Collaboration Diagram Untuk Proses Login .............. 3.10.2 Collaboration Diagram Kelola Data Siswa ................ 3.10.3 Collaboration Diagram Untuk Proses Transaksi Pembayaran ................................................ 3.10.4 Collaboration Diagram Untuk Mengecek Status Pembayaran ................................................... 3.10.5 Collaboration Diagram Untuk Pengolahan Data Laporan ............................................................ 3.10.6 Collaboration Diagram Untuk Proses Cetak Tanda Bukti .............................................................. 3.10.7 Collaboration Diagram Untuk Proses Ganti Password ........................................................ 3.11 Diagram Class 3.11.1 Identifikasi Class Pada Sistem Informasi Pembayaran SPP ........................................................ 3.12 Identifikasi Atribut dan Method ..................................... 3.12.1 Identifikasi Relationship ............................................. BAB IV HASIL DAN PEMBAHASAN 4.1 Perancangan Sistem ......................................................... 4.2 Perancangan Kelas 4.2.1 Perancangan Kelas. Asosiasi, Metode dan Atribut ....... 4.2.2 Refine Kelas-Kelas Pada Sistem ................................... 4.2.3 Refine Atribut-Atribut Class ......................................... 4.2.4 Refine Method-Method Kelas........................................ 83 83 84 85 82 74 80 81 74 73 73 72 72 67 68 69 70 71 71 66

vii

Halaman 4.5 Perancangan Layer Akses dan Layer Antarmuka 4.5.1 Perancangan Layer Akses ............................................. 4.5.2 Perancangan Basis Data (Data Base)............................ 4.5.3 Deskripsi Tabel Dalam Basis Data ............................... 4.6. Perancangan Antarmuka (Interface) 4.6.1 Desain Antarmuka (Interface) ...................................... 4.7 Model Implementasi Antarmuka (Interface) ................... 4.8 Testing .............................................................................. 4.8.1 Tujuan Testing .............................................................. 4.8.2 Kasus Testing ................................................................ 4.8.3 Pelaksanaan Testing ...................................................... BAB V KESIMPULAN DAN SARAN 5.1 Kesimpulan ...................................................................... 5.2 Saran ................................................................................. DAFTAR PUSTAKA LAMPIRAN 105 106 95 97 101 101 101 102 86 89 89

viii

DAFTAR GAMBAR

Halaman Gambar 1.1 Tahapan Analisis UA (Unfied Approach) .................... Gambar 1.2 Perancangan UA (Unified Approach) .......................... Gambar 1.3 Kerangka pemikiran ..................................................... Gambar 2.1 Elemen-elemen Sistem ................................................. Gambar 2.2 Karakteristik Suatu Sistem ........................................... Gambar 2.3 Siklus Informasi .......................................................... Gambar 2.4 Pilar Kualitas Informasi .............................................. Gambar 2.5 Tingkat Manajemen...................................................... Gambar 2.6 Pengelompokan Data.................................................... Gambar 2.7 Simbol Aktor ................................................................ Gambar 2.8 Contoh Kelas Serta Objek ............................................ Gambar 2.9 Contoh Kelas dan Operasi-operasinya ......................... Gambar 2.10 Contoh simbol Paket .................................................. Gambar 2.11 Tahapan Analisis Unified Approach .......................... Gambar 2.12 Tahapan Perancangan Unified Approach ................... Gambar 2.13 Model Data Hirakis .................................................... Gambar 2.14 Model Data Jaringan .................................................. Gambar 2.15 Anatomi Sebuah Model .............................................. Gambar 2.17 Klasifikasi Jenis diagram UML.................................. Gambar 2.18 Contoh Kelas Diagram ............................................... Gambar 2.19 Asosiasi ...................................................................... Gambar 2.20 Contraint Pada Sebuah Asosiasi ................................ Gambar 2.21 Association Class ....................................................... Gambar 2.22 Association Dengan Multiplisitas .............................. Gambar 2.23 Contoh Generalisasi ................................................... Gambar 2.24 Agregasi Bertingkat.................................................... Gambar 2.25 Dependenc .................................................................. Gambar 2.26 Notasi Use Case ......................................................... 6 7 8 11 12 15 15 19 22 26 27 28 28 30 31 33 34 35 40 42 43 43 44 44 45 46 46 46

ix

Halaman Gambar 2.27 Contoh Use Case Diagram ........................................ Gambar 2.28 Contoh Hubungan Depends-On ................................. Gambar 2.29 Component Diagram .................................................. Gambar 2.30 Contoh Sequence Daiagram....................................... Gambar 2.31 Contoh Collaboration Diagram ................................. Gambar 2.32 Contoh Activity Diagram ........................................... Gambar 2.33 Contoh Sistem Stand Alone ........................................ Gambar 2.34 Contoh Sistem Tersentralisasi .................................... Gambar 2.35 Contoh Sistem Client-Server Sederhana .................... Gambar 3.1 Diagram Activity........................................................... Gambar 3.2 Pengolahan data user pada Sistem Informasi SPP ....... Gambar 3.3 Use case Diagram untuk Sistem Informasi pembayaran SPP ............................................................ Gambar 3.4 Sequence diagram untuk proses login .......................... Gambar 3.5 Sequence diagram untuk kelola data siswa .................. Gambar 3.6 Sequence diagram untuk Proses Transaksi Pembayaran ................................................. Gambar 3.7 Sequence diagram untuk Proses Penghitungan Tunggakan ........................................... Gambar 3.8 Sequence diagram Untuk Proses Buat Laporan ........... Gambar 3.9 Sequence diagram Untuk Proses Ganti Password ....... Gambar 3.10 Collaboration Diagram untuk proses login ............... Gambar 3.11 Collaboration Diagram untuk Kelola Data Siswa ..... Gambar 3.12 Collaboration Diagram Untuk Proses Transaksi Pembayaran ................................................ Gambar 3.13 Collaboration Diagram Untuk Mengcek Status Pembayaran ...................................................... Gambar 3.14 Collaboration Diagram Untuk Membuat dan Mencetak Data Laporan ...................................... Gambar 3.15 Collaboration Diagram Untuk Proses Cetak Tanda Bukti ..................................................... 73 73 72 72 68 69 70 71 71 67 62 65 66 47 48 49 49 51 52 53 54 54 59 60

Halaman Gambar 3.16 Collaboration Diagram Untuk Proses Ganti Password .......................................................... Gambar 4.1 Class Diagram Sistem Informasi Pembayaran SPP ..... Gambar 4.2 Class Diagram untuk atribut yang sudah dikaji ulang (refine) ..................................................... Gambar 4.3 Class Diagram dengan method yang sudah dikaji ulang (refine) ..................................................... Gambar 4.4 Rancangan Akhir Class Diagram (Kelas Bisnis, Kelas Akses dan Kelas Antarmuka) ............................ Gambar 4.5 Class Diagram Perancangan Basis Data ...................... Gambar 4.6 Desain Form Login ...................................................... Gambar 4.7 Desain Form Halaman Utama ...................................... Gambar 4.8 Desain Form Transaksi Pembayaran ............................ Gambar 4.9 Desain Form Transaksi Pembayaran Biaya Lain ......... Gambar 4.10 Desain Form Transaksi Pembayaran Tunggakan ....... Gambar 4.11 Desain Form laporan pembayaran.............................. Gambar 4.12 Desain Form Kelola Data Pengguna .......................... Gambar 4.13 Desain Form Kelola Data Pengguna .......................... Gambar 4.14 Tampilan Form Login ................................................ Gambar 4.15 Tampilan Menu SISPP ............................................... Gambar 4.16 Tampilan Menu Transaksi Pembayaran ..................... Gambar 4.17 Tampilan Menu Transaksi Pembayaran Biaya Lainnya ............................................................ Gambar 4.18 Tampilan Menu Transaksi Pembayaran Tunggakan .. Gambar 4.19 Tampilan Menu Laporan Pembayaran ....................... Gambar 4.20 Tampilan Menu Kelola Data Pengguna ..................... Gambar 4.21 Tampilan Kwitansi Pembayaran................................. 99 99 100 100 101 88 89 95 95 96 96 96 97 97 97 98 98 99 86 84 74 83

xi

DAFTAR TABEL
Halaman Tabel 1.1 Rekapitulasi Jumlah Siswa Per Tingkat 3 Tahun Terakhir Di SMK Muhammadiyah Garut .................... Tabel 1.2 Data Transaksi Pembayaran SPP di SMK Muhammadiyah Garut Periode 2010/2012 .................. Tabel 2.1 Perbandingan Metodologi Knvensional Dengan Metodologi Objek ........................................... Tabel 2.2 Model Database Relation ............................................. Tabel 2.3 Notasi pada Class Diagram .......................................... Tabel 2.4 Notasi Multiplisitas ....................................................... Tabel 2.5 Notasi Use Case Diagram............................................. Tabel 2.6 Notasi Component Diagram .............................................. Tabel 2.7 Notasi Sequence Diagram ................................................ Tabel 2.8 Notasi Collaboration Diagram ......................................... Tabel 2.9 Notasi Activity Diagram................................................ Tabel 3.1 Identifikasi Aktor beserta aktifitasnya .......................... Tabel 3.2 Narative use case untuk proses Login........................... Tabel 3.3 Narative use case untuk kelola data siswa .................... Tabel 3.4 Narative use case untuk proses transaksi pembayaran ................................................... Tabel 3.5 Eliminasi Class Berdasrkan Interaction Diagram Login ............................................................. Tabel 3.6 Eliminasi Irelevant Class Berdasarkan Interaction Diagram Pengolahan Data Siswa ............................... Tabel 3.7 Eliminasi Irelevant Class Berdasarkan Interaction Diagram Pengolahan Data Transaksi ......................... Tabel 3.8 Eliminasi Irelevant Class Berdasarkan Interaction Diagram Buat Laporan............................................... Tabel 3.9 Eliminasi Irelevant Class Berdasarkan Interaction Diagram Proses Ganti Password ............................... 79 78 77 76 75 64 24 34 42 44 47
48

49 50 51 58 62 63

xii

Halaman Tabel 3.10 Identifikasi Atribut dan method .................................. Tabel 3.11 Relationships Class Sistem Pembayaran SPP............. Tabel 4.1 Refine method-method kelas ......................................... Tabel 4.2 Tabel tb_bayar............................................................... Tabel 4.3 Tabel tb_ biaya lain ....................................................... Tabel 4.4 Tabel tb_ detail biaya lain ............................................. Tabel 4.5 Tabel tb_detail bayar spp .............................................. Tabel 4.6 Tabel tb_ detail bayar tunggakan .................................. Tabel 4.7 Tabel tb_ konfigurasi .................................................... Tabel 4.8 Tabel tb_ siswa .............................................................. Tabel 4.9 Tabel tb_ spp ................................................................. Tabel 4.10 Tabel tb_tunggakan ..................................................... Tabel 4.11 Tabel tb_user ............................................................... Tabel 4.12 Tabel Testing............................................................... 80 81 85 90 90 91 91 91 92 93 93 94 94 102

xiii

BAB I PENDAHULUAN

1.1 Latar Belakang SMK Muhammadiyah Garut berdiri pada tahun 1970 yang bertepat di jalan Jenderal Ahmad Yani No, 257 Telepon (0262) 233653 Kelurahan Kota Wetan Kecamatan Garut Kota Kabupaten Garut kode pos 44111 merupakan salah satu sekolah swasta yang berda di daerah garut. SMK Muhammadiyah Garut memilki 4 (empat) program keahlian (Jurusan) yang terdiri dari: 1. Program keahlian Administrasi Perkantoran (AP) 2. Program keahlian keuangan / Akuntansi (AK) 3. Program keahlian Tata Niaga / Pemasaran (PM) 4. Program keahlian Teknik Komputer Informatika (RPL) Pertumbuhan siswa tahun ketahun semakin meningkat dengan

bertambahnya program keahlian (jurusan), maka dari itu kita bisa melihat rekapitulasi jumlah siswa di bawah ini: Tabel 1.1 Rekapitulasi Jumlah Siswa Per 3 Tahun Terakhir Di SMK Muhammadiyah Garut:
J Tahun Ajaran JML KLS 5 4 5 14 Tingkat 1 JML L 53 55 74 182 P 157 128 146 431 210 183 220 613 JML Kls 3 5 4 12 Tingkat 2 JML L 16 52 45 113 P 98 129 121 348 114 181 166 461 Tingkat 3 JML Kls L 2 12 3 16 5 43 10 71 Juml ah P 74 89 116 279 L/P 86 105 159 350

2009/2010 2010/2011 2011/2012

Jumlah

(Sumber: SMK Muhammadiyah Garut,2012) Dengan bertambahnya siswa yang masuk menjadi suatu kebanggaan khususnya bagi sekolah, namun di balik itu menjadi kewalahan juga bagi petugas TU dimana menghadapi siswa yang mebayar SPP atau uang sekolah dengan proses yang manual. Sistem informasi terkomputerisasi adalah sekumpulan komponen yang terdiri dari hardware, software, brainware, prosedur atau aturan yang diorganisasikan secara terintegrasi untuk mengolah fakta dan data menjadi

informasi yang bermanfaat guna memecahkan masalah dalam perusahaan ataupun organisasi [7]. Ruang lingkup Sistem Informasi yang ada di SMK Muhammadiyah Garut adalah: Administrasi kurikulum dan pembelajaran, Administrasi Kesiswaan, Administrasi Kepegawaian, Administrasi Keuangan, administrasi kurikulum, dan administrasi kesiswaant. Sistem informasi yang digunakan di SMK Muhammadiyah Garut meliputi ruang lingkup yang ada di atas, akan tetapi sistem informasi tersebut masih diterapkan secara manual, salah satunya sistem informasi pembayaran SPP (Sumbangan Penyelenggaraan Pendidikan). Sistem informasi transaksi pembayaran SPP merupakan bagian dari manajemen administrasi keuangan yang berkaitan dengan pembayaran uang sekolah di antaranya: menerima, merekapitulasi dan melaporkan uang Sumbangan Penyelenggaraan Pendidikan (SPP), Sumbangan Pendidikan (USP), UTS dan UAS. Pembayaran SPP merupakan ketentuan yang harus dibayar setiap siswa setiap sebulannya, tujuan siswa melakukan pembayaran sekolah sebagai salah satu sarana dalam meningkatkan pelayanan atau fasilitas yang terbaik untuk siswasiswanya. Ketentuan-ketentuan pembayaran bagi setiap siswa antara lain: a. Siswa melakukan pembayaran SPP, besarnya berdasarkan ketentuan yang telah ditetapkan sekolah setiap tahunnya. b. SPP / tunggakan harus dibayar sebelum tanggal 10 setiap bulannya. c. Kartu harus dibawa saat pembayaran SPP / tunggakan. d. Siswa dapat membayar SPP dengan cara di cicil / peembayaran 1 bulan seharusnya di bayar 1 kali tapi bisa dengan 2kali bayar. Sejalan dengan meningkatnya jumlah siswa SMK Muhammadiyah Garut setiap tahunnya, maka jumlah transaksi pembayaran yang terjadi semakin meningkat pula. Angka peningkatan jumlah transaksi dapat terlihat pada data statistik pada tabel 1.2.

Tabel 1.2 Data Transaksi Pembayaran SPP di SMK Muhammadiyah Garut Periode 2010/2012
Tahun 2010/2011 2010/2011 2010/2011 2010/2011 2010/2011 2010/2011 2011/2012 2011/2012 2011/2012 2011/2012 2011/2012 2011/2012 Bulan Juli Agustus September Oktober Nopember Desember Januari Februari Maret April Mei Juni Jumlah Transaksi Perbulan 960 312 360 408 264 864 960 216 504 432 336 816 Rata-rata Transaksi Perhari 40 13 15 17 11 36 40 9 21 18 14 34

Sumber: SMK Muhammadiyah Garut, 2012) Untuk mengantisipasi terjadinya pelayanan pembayaran SPP yang lambat, dan tidak akurat akibat dari banyaknya pembayaran siswa. Maka dari itu, dalam menganalisis dan merancang perangkat lunak atau sistem informasi diperlukan suatu pendekatan yang dapat memecahkan masalah, di antaranya adalah pendekatan klasik atau konvensional, pendekatan prosedural, dan pendekatan berorientasi objek. Di antara semua pendekatan - pendekatan yang terbaru dan terpopular saat ini yaitu pendekatan berorientasi objek. Pendekatan ini merupakan suatu teknik yang memutuskan rancangan pada objek dan antar muka yang dihasilkan. Objek adalah Entity yang berisi data atau variabel dan tingkah laku. Data atau variabel yang menggambarkan sifat atau keadaan objek dalam dunia nyata (Ireal word). Bertolak dari latar belakang masalah di atas, penelitian ini akan diarahkan pada implementasi perancangan program aplikasi transaksi pembayaran SPP, UTS, dan UAS, dengan mengambil judul PERANCANGAN PROGRAM TRANSAKSI PEMBAYARAN SPP, UTS DAN UAS MENGGUNAKAN METODE ANALISIS DAN DESAIN BERORIENTASI OBJEK MODEL UNIFIED APPROACH (UA).

1.2 Identifikasi Masalah 1. Dengan proses manual pencatatan dan penyimpanan data pada transaksi pembayaran SPP di simpan dalam bentuk buku-buku besar, sehingga petugas mengalami kesulitan dalam pencarian informasi sudah dan belumnya siswa melakukan pembayaran SPP. 2. Petugas mengalami kesulitan dalam membuat laporan bulanan ataupun laporan tahunan. 3. Siswa, orang tua, wali kelas, Kepala TU, kepala sekolah (manajemen sekolah) mengalami kesulitan dalam mendapatkan informasi besarnya tungakan siswa secara cepat.

1.3 Maksud dan Tujuan Penelitian a. Maksud Adapun maksud penelitian ini adalah untuk merancang / mengembangkan perangkat lunak transaksi pembayaran SPP, UTS dan UAS yang ada di SMK Muhammadiyah Garut. b. Tujuan Tujuan merancang / mengembangkan perangkat lunak transaksi

pembayaran SPP, UTS dan UAS ini adalah sebagai berikut: 1. Dapat digunakan dengan mudah yang memiliki kemampuan untuk mengolah data transaksi pembayaran SPP, UTS dan UAS di SMK Muhammadiyah Garut. 2. Dapat menyimpan data dengan menggunakan komputerisasi

1.4 Batasan Masalah Berdasarkan latar belakang dan tujuan diatas, maka permasalahan yang menjadi batasan pembahasan tugas akhir ini adalah sebagai berikut: 1. Perancangan aplikasi ini hanya pada pencatatan transaksi pembayaran SPP, UTS dan UAS, laporan siswa yang sudah / belum melunasi, dan pembayaran SPP yang bisa di cicil.

2. Tahapan analisis dan perancangan sistem menggunakan bahasa pemodelan Unified Modeling Language (UML) dengan menggunakan Metode Unified Approach (UA). 3. Sistem yang dirancang hanya pada demo program saja yang menggunakan pendekatan Black-Box Testing (Pengujian kotak hitam). 4. Bahasa pemrograman yang digunakan dalam perancangan sistem adalah menggunakan Microsoft Visual Studio 8 dan menggunakan MYSQL versi 5 sebagai data basenya. 5. Perangkat yang dibuat bersifat stand alone

1.5 Metodologi Penelitian Untuk memenuhi kebutuhan data pada tahapan ini menggunkan beberapa pendekatan diantara lain: 1. Penelitian Lapangan (field research) Penelitian ini dimaksudkan untuk mengetahui dan memperoleh data primer yang dilakukan melaui tahapapan sebagai berikut: a. Wawancara Wawancara, melakukan pertanyaan secara langsung terhadap orang atau petugas yang berinteraksi dengan sistem yang ada di SMK Muhammadiyah Garut. b. Observasi Selain wawancara, dilakukan juga pengamatan secara langsung bagaimana setiap prosedur berlangsung, sehingga dapat diketahui aktifitas bisnisnya yang nantinya akan dimodelkan. c. Study kepustakaan (library research) Yaitu dengan mengadakan study literatur atau pendekatan pada materi atau dokumen-dokumen yang berkaitan dan di sesuaikan dengan masalah yang sedang dibahas.

2. Metode Pengembangan Sistem Dalam pengembangan sistem, akan digunakan pendekatan berorientasi objek dengan Unified Approach (UA) dari [1]. Unified Approach (UA) adalah

suatu metodologi pengembangan sistem berbasis objek yang menggabungkan proses dan metodologi yang telah ada sebelumnya dan menggunakan UML sebagai standar pemodelannya. Proses dan tahapan yang ada dalam UA merupakan proses-proses terbaik yang diambil dari metode objek yang telah diperkenalkan oleh Boach, Roumbaugh, dan Jacobson. Selain itu, langkahlangkah yang ada dalam UA sangat interatif dan memudahkan pengembangan sistem dalam tugas akhir ini. Tahap Analisis dalam UA ditujukan untuk mengindentifikasi kelas-kelas yang teridentifikasi sebagai output di tahap analisis akan dijadikan input pada tahap perancangan. Sementara itu, output dari tahap perancangan adalah perangkat lunak yang telah dirancang sesuai dengan kebutuhan user. Langkah-langkah yang harus dilakukan pada metodologi Unfied Approach (UA) adalah sebagai berikut: 1. Tahap Analisis
Pengembangan Diagram Aktifitas dan Use Case Identifikasi Aktor Pengembang an Diagram Interaksi Identifikasi Kelas, relasi,atribut & Method

Pemeriksaan

Gambar 1.1 Tahapan Analisis Unfied Approach, [1]. Keterangan: a. Identifikasi Aktor Identifikasi aktor adalah tahap pertama dalam OOA. Istilah aktor mempresentasikan peran dari seorang aktor terhadap sistem. Kandidat aktor dapat ditemukan dengan mencari tahu siapa yang akan menggunakan sistem. b. Pengembangan Diagram Aktifitas dan Diagram Use Case Pada tahap ini akan digambarkan model aktifitas bisnis menggunakan diagram aktifitas UML untuk menggambarkan kinerja sistem. Dalam diagram aktifitas akan digambarkan alur kerja dari sistem. Dengan mengetahui alur kerja sistem yang ada, dapat dilakukan pemodelan diagram Use Case untuk menggambarkan interaksi aktor terhadap sistem. c. Pengembangan Diaguram Interaksi

Salah satu diagram dari interaksi adalah sequence

diagram. Sequence

diagram adalah suatu model untuk menggambarkan interaksi antar objek dalam sistem. Interaksi yang dilakukan oleh objek-objek tersebut dilakukan dengan cara satu objek mengirimkan pesan (message) kepada objek lain. Objek-objek yang teridentifikasi dari sequence diagram ini akan dijadikan referensi untuk kelas. d. Identifikasi kelas Dari sequence diagram akan terlihat objek-objek apa saja yang ada dalam sistem. Dari objek-objek tersebut dilakukan identifikasi kelas-kelas, reationship, atribut serta metode-metode kyang akan digunakan pada setiap kelas. e. Pemeriksaan terhadap tahap sebelumnya (Refine & Iterate) Dalam tahap ini akan diperiksa kebenaran dari hasil analisis sistem yang didasarkan pada tahap sebelumnya. 2. Tahap Perancangan
Perancangan Kelas, metode, atribut dan asosiasi Menyaring UML Class Diagram Perancangan Layar Akses dan Layer Antarmuka

Pengujian

Gambar 1.2 Tahap Perancangan Unified Approach, [1].

1.6 Kerangka Pemikiran Semakin berkembangnya teknologi, kebutuhan manusia pun ikut berkembang karena manusia dituntut untuk lebih cepat dalam mengerjakan segala sesuatu. Khususnya di suatu organisasi, pengolahan data organisasi harus dikemas dengan rapih dan dikerjakan secepat mungkin.

Start Current Sistem (Sistem Informasi Pembayaran SPP ) Object Oriented Analysis (OOA): Identifikasi Aktor Pengembangan Diagram Use Case dan Diagram Aktifitas Pengembangan Diagram Interaksi Identifikasi Kelas-kelas, relasi, atribut dan method Pemeriksaan terhadap tahap sebelumnya

Objek oriented Desain (OOD): Perancangan kelas, asosiasi, metode dan antribut Membangun UML Class Diagram Perancangan Layer Akses dan Layer Antarmuka Pengujian dengan menggunakan metode Black-Box

Simulasi Aplikasi Pembayaran SPP

End

Gambar 1.3 Kerangka Pemikiran 1.7. Sistematika Penulisan Untuk menghasilkan laporan tugas akhir yang sistematis dan mudah dipahami, berikut dijelaskan mengenai sistematika yang akan digunakan dalam penyusunan tugas akhir ini. BAB I PENDAHULUAN Bab ini dijelaskan tentang latar belakang, identifikasi masalah, maksud dan tujuan, pembatasan masalah, metodologi pengembangan sistem, dan sistematika penulisan laporan tugas akhir. BAB II TINJAUAN PUSTAKA Bab ini berisi teori dari berbagai sumber yang digunakan sebagai referensi baik didalam kegiatan analisis maupun perancangan. Serta memuat konsep-konsep dasar yang menjadi petunjuk sehingga aktivitas analisis sesuai dengan aturan-aturan yang baku.

BAB III

METODOLOGI PENGEMBANGAN SISTEM Bab ini menjelaskan tentang tahapan-tahapan penelitian, data hasil proses, data yang dihasilkan (output yang dihasilkan), alat-alat pemodelan yang digunakan

BAB IV

PERANCANGAN DAN IMPLEMENTASI Bab ini akan menjelaskan hasil dan pembahasan dari tahapantahapan penelitian dan pembahasannya.

BAB V

KESIMPULAN DAN SARAN Pada bagian ini menjelaskan hasil akhir dari pembahasan yang dijabarkan dalam laporan tugas akhir berikut saran yang diharapkan dapat membantu kearah konstruktif untuk kemajuan penelitian yang lebih baik.

DAFTAR PUSTAKA LAMPIRAN

BAB II TINJAUAN PUSTAKA

2.1 Konsep Dasar Sistem Informasi Dalam proses pengembangan sistem informasi, diperlukan pemahaman terhadap konsep-konsep dasar dari sistem informasi. Berikut merupakan penjelasan dari konsep-konsep dasar sistem informasi. 2.1.1 Definisi Sistem Beberapa pendefinisian sistem yang dilihat dari berbagai sudut pandang, diantaranya sebagai berikut: Dalam mendefinisikan sistem terdapat dua kelompok pendekatan, yaitu pendekatan sistem yang menekankan pada prosedur yang digunakan dalam sistem. Pendekatan ini mendefinisikan sistem sebagai berikut: Sistem adalah suatu jaringan kerja dari prosedur-prosedur yang berhubungan, berkumpul bersama-sama untuk melakukan suatu kegiatan atau untuk menyelesaikan suatu sasaran tertentu,[7]. Pendekatan yang kedua lebih menekankan pada elemen atau komponen penyusun sistem. Pendekatan ini mendefinisikan sistem sebagai berikut: Sistem adalah kumpulan dari elemen-elemen yang saling berinteraksi untuk mencapai satu tujuan tertentu, [7]. Dari kedua definisi ini adalah benar dan tidak bertentangan, yang berbeda adalah cara pendekatannya. Karena pada hakekatnya setiap komponen sistem, untuk dapat saling berinteraksi dan untuk mencapai tujuan tertentu harus melakukan sejumlah prosedur, metode, dan cara kerja yang juga saling berinteraksi. Menurut Bahrami, suatu sistem dapat terdiri dari empat elemen yang subsistem. Elemen-elemen tersebut yaitu: 1. Masukan kumpulan data transaksi kesebuah pengolahan data medium, contohnya penyortiran data (surat keluar dan surat masuk). 2. Pengolahan untuk mengelola surat keluar dan surat masuk pengolahannya dilakukan dengan cara manual, seperti mengelompokan data (surat keluar dan surat masuk) kedalam group bedasarkan ciri surat, no urut surat dan sebagainya. 3. Keluaran menampilkan hasil yang didapat dari kegiatan sebelumnya berupa informasi yang dibutuhkan seperti menampilkan laporan (surat keluar dan surat masuk). 4. Umpan Balik/Kontrol terdiri dari usul perbaikan yang diberikan oleh unit pengawasan mutu dari instansi yang besangkutan.

10

11

Masukan

Pengolahan

Keluaran

Umpan Balik Gambar 2.1 Elemen-elemen Sistem, [1].

2.1.2 Karakteristik Sistem Menurut [7], ada beberapa karakteristik atau sifat-sifat tertentu yang dimiliki oleh suatu sistem yaitu mempunyai komponen (components), batasan sistem (boundari), lingkungan luar sistem (environments), penghubung

(interface), masukan (input), keluaran (output), pengolah (Proses), dan sasaran suatu tujuan (goal). Adapun penjelasan dari karakteristik dari suatu sistem adalah sebagai berikut: a. Komponen Sistem (Component) Sistem terdiri dari sejumlah komponen yang saling berinteraksi, yang artinya kerjasama membentuk satu kesatuan. b. Batas sistem (Boundary) Merupakan daerah yang membatasi antara satu sistem dengan sistem yang lainnya atau dengan lingkungan luarnya. c. Lingkungan Luar Sistem (Environments) Adapun diluar dari batas sistem yang mempengaruhi operasi. d. Penghubung Sistem (Interface) Merupakan media penghubung antara sub sistem dengan sistem lainnya. Dengan penghubung satu subsistem dapat berintegrasi dengan subsistem yang lainnya membentuk satu kesatuan. e. Masukan Sistem (Input) Masukan (input) adalah energi yang dimasukkan ke dalam sistem. Masukan dapat berupa masukan perawatan (maintenance input) yaitu energi yang dimasukkan supaya sistem dapat beroperasi, dan dapat berupa masukan sinyal (signal input) yaitu energi yang diproses untuk mendapatkan keluaran. f. Keluaran Sistem (Output) Keluaran (output) adalah hasil dari energi yang diolah dan diklasifikasikan menjadi keluaran yang berguna dan sisa pembuangan. Keluaran dapat merupakan masukan untuk subsistem yang lain atau kepada supra sistem. g. Pengolahan Sistem (Process) Suatu sistem dapat mempunyai bagian pengolah yang akan mengubah masukan menjadi keluaran.

12

h. Sasaran Sistem (Objective) Suatu sistem mempunyai tujuan (goal) atau sasaran (objektive). Sasaran dari sistem sangat menentukan sekali masukan yang dibutuhkan sistem dan keluaran yang akan dihasilkan sistem. Suatu sistem dikatakan berhasil bila mengenai sasaran atau tujuannya.

Gambar 2.2 Karakteristik Suatu Sistem [7].

2.1.3 Klasifikasi Sistem Menurut [7], sistem dapat di klasifikasikan dari beberapa sudit pandang, diantaranya adalah sebagai berikut: 1. Sistem abstrak (abstrac system) dan sistem fisik (physical system). Sistem abstrak adalah sistem yang berupa pemikiran atau ide-ide yang tidak tampak secara fisik. Sedangkan sistem fisik sistem yang ada secara fisiknya. 2. Sistem alamiah (natural system) dan sistem buatan manusia (human made system). Sistem alamiah adalah sistem yang terjadi melalui proses alam, tidak dibuat oleh manusia. Sedangkan sistem buatan adalah sistem yang dibuat atau dirancang oleh manusia. 3. Sistem tertentu (determinic sistem) dan sistem tak terntu (probalistic system). Sistem tertentu merupakan sistem yang beroperasi dengan tingkah laku yang sudah dapat diprediksi. Sedangkan sistem tak tentu adalah sistem yang kondisi masa depannya tidak dapat diprediksi karena mengandung unsur probabilitas.

13

4. Sistem tertutup (closed system) dan sistem terbuka (open system). Sistem tertutup merupakan sistem yang tidak berhubungan den tidak terpengaruh dengan lingkungan luar. Sedangkan sistem terbuka adalah sistem yang berhubungan dan berpengaruh dengan lingkungan luar.

2.1.4 Definisi Informasi Informasi merupakan suatu hal yang sangat dibutuhkan dalam suatu organisasi ataupun instansi terutama kebutuhan bagi manajemen dalam mengambil suatu keputusan. Informasi adalah data yang telah diolah menjadi suatu bentuk yang berarti bagi penerimanya dan bermanfaat dalam pengambilan keputusan pada saat ini ataupun saat mendatang, [7]. Iinformasi adalah data yang sudah diolah, dibentuk, atau dimanipulasi sesuai dengan keperluan tertentu, [1]. Dari kedua pengertian tersebut dapat disimpulkan bahwa informasi adalah data yang setelah diolah atau diproses, menghasilkan informasi yang memiliki nilai dan lebih bermanfaat bagi penggunanya. Informasi merupakan proses lebih lanjut dari data yang sudah memiliki nilai tambah. Berdasarkan pada bentuknya, informasi dapat dibedakan sebagai berikut, [7]: 1. Informasi Uraian Informasi Uraian adalah informasi yang disajikan dalam bentuk uraian cerita yang panjang atau singkat yang berisikan kalimat-kalimat yang singkat dan jelas. Informasi ini bisa dalam bentuk laporan, notulen, surat atau memo. 2. Informasi rekapitulasi Informasi rekapitulasi adalah informasi ringkas dengan hasil akhir dari suatu perhitungan (kalkulasi) atau gabungan perhitungan yang berisikan angka-angka yang disajikan dalam bentuk kolom-kolom. Contohnya neraca, kuitansi, rekening, daftar pembelian. 3. Informasi Gambar (Bagan) Informasi Gambar (Bagan) adalah informasi yang di buat dalam bentuk gambar atau bagan, misalnya gambar konstruksi dan bagan organisasi. 4. Informasi Model

14

Informasi Model adalah informasi dalam bentuk formulir dengan modelmodel yang dapat memberikan nilai ramalan atau prediksi dan nilai-nilai lain seperti nilai hasil pemecahan persoalan yang optimal sebagai alternatif bagi pembuatan keputusan. 5. Informasi Statistik Informasi statistik adalah informasi yang disajikan dalam bentuk angka yang ditunjukkan dalam bentuk grafik atau tabel. 6. Informasi Formulir Informasi formulir adalah informasi yang di buat dalam bentuk formulir dengan format (kolom) isian yang sudah ditentukan dan yang disesuaikan dengan keperluan kegiatan masing-masing. 7. Informasi Animasi Informasi animasi adalah informasi dalam bentuk gambar animasi dengan suara dan video. Informasi ini dapat juga disebut informasi multimedia. 8. Informasi Simulasi Informasi simulasi adalah informasi mengenai suatu kegiatan nyata pada suatu situasi atau peralatan yang di buat dalam bentuk serupa tetapi dengan ukuran kecil atau dengan layar komputer menjadi mirip seperti ukuran sebenarnya. Misalnya simulasi untuk pendidikan pilot pesawat terbang dengan perangkat lunak khusus. 2.1.5 Siklus Informasi Data yang masih merupakan bahan mentah apabila tidak diolah maka data tersebut tidak akan berguna. Data tersebut akan berguna dan menghasilkan suatu informasi apabila diolah melalui suatu model. Model yang digunakan untuk mengolah data tersebut disebut dengan model pengolahan data atau lebih dikenal dengan nama siklus pengolahan data.

15

Proses (Model)

Input (Data)

data-base

Output (Information)

Data (ditangkap)

Penerima

Hasil Tindakan

Keputusan Tindakan

Gambar 2.3 Siklus Informasi [7]. Data yang diolah melalui suatu model menjadi informasi, penerima kemudian menerima informasi tersebut, membuat suatu keputusan dan melakukan tindakan, yang berarti menghasilkan suatu tindakan yang lain yang akan membuat sejumlah data kembali. Data tersebut akan ditangkap sebagai input, diproses kembali lewat suatu model dan seterusnya membentuk suatu siklus. 2.1.6 Kualitas Informasi Kulitas dari informasi (quality of information) tergantung dari tiga hal, yaitu informasi harus akurat (accurate), tepat waktu (timeliness) dan relevan (relevance), John Burch dan Gary Grudnitski menggambarkan kualitas dari informasi dengan bentuk bangunan yang ditunjang oleh tiga buah pilar, seperti terlihat pada gambar berikut:

Gambar 2.4 Pilar Kualitas Informasi [7].

Pengertian gambar dia atas dapat di artikan sebagai berikut: Akurat, berarti informasi harus bebas dari kesalahan-kesalahan dan tidak bias atau menyesatkan. Akurat juga berarti infomrmasi harus jelas mencerminkan maksudnya. Informasi harus akurat karena dari sumber informasi sampai ke penerima informasi kemungkinan banyak terjadi gangguan (noise) yang dapat merubah atau merusak informasi tersebut.

16

Tepat waktu, berarti informasi yang datang pada penerima tidak boleh terlambat. Informasi yang sudah usang tidak akan mempunyai nilai lagi. Karena informasi merupakan landasan di dalam pengambilan keputusan. Bila pengambilan keputusan terlambat, maka dapat berakibat fatal. Relevan, berarti informasi tersebut mempunyai manfaat untuk

pemakaiannya. Relevansi informasi untuk tiap-tiap orang satu dengan yang lainnya berbeda.

2.1.7 Definisi Sistem Informasi Dari beberapa definisi mengenai sistem dan informasi yang telah dijelaskan diatas, maka Sistem Informasi dapat didefinisikan sebagai berikut : Sistem Informasi adalah suatu sistem di dalam suatu organisasi yang mempertemukan kebutuhan pengolahan transaksi harian, mendukung operasi, bersifat manajerial dan kegiatan strategi dari suatu organisasi dan menyediakan pihak luar tertentu dengan laporan-laporan yang diperlukan, [7]. Sistem informasi merupakan suatu sistem yang saling barkaitan dan berintegrasi satu sama lain dan bertujuan untuk menyediakan informasi untuk mendukung operasi, manajemen dan fungsi pengambilan keputusan dalam suatu organisasi. Kegiatan di Sistem Informasi mencakup [7]: 1. Input, menggambarkan suatu kegiatan untuk menyediakan data untuk diproses. 2. Proses, menggambarkan bagaimana suatu data di proses untuk

menghasilkan suatu informasi yang bernilai tambah. 3. Output, suatu kegiatan untuk menghasilkan laporan dari proses diatas tersebut. 4. Penyimpanan, suatu kegiatan untuk memelihara dan menyimpan data. 5. Kontrol, ialah suatu aktifitas untuk menjamin bahwa sistem informasi tersebut berjalan sesuai dengan yang diharapkan.

2.1.8 Komponen Sistem Informasi Sistem informasi memiliki komponenkomponen sebagai pendukungnya, komponenkomponen tersebut diantaranya adalah sebagai berikut [7]:

17

1. Blok Masukan yaitu input yang mewakili data yang masuk ke dalam sistem informasi termasuk metode dan media untuk mendapatkan data yang akan dimasukan yang berupa dokumen-dokumen dasar. 2. Blok Model yaitu kombinasi prosedur, logika dan model matematik yang akan memanipulasi data input dan data yang tersimpan di basis data untuk menghasilkan keluaran yang diinginkan. 3. Blok keluaran yaitu informasi yang berkualitas dan dokumentasi yang berguna untuk semua pemakai sistem dan manajemen. 4. Blok Teknologi yaitu alat yang digunakan untuk menerima input, menyimpan dan mengakses data serta menghasilkan keluaran yang diinginkan. 5. Blok Basis Data yaitu basis data yang digunakan dan disimpan untuk keperluan penyediaan informasi lebih lanjut dimana berisi data-data yang diorganisasikan sedemikian rupa agar informasi yang dihasilkan berkualitas. 6. Blok kendali yaitu pengendalian pada perusahaan untuk mencegah hal-hal yang dapat merusak sistem atau bila ada kesalahan-kesalahan dapat langsung diatasi.

2.2 Konsep Dasar Manajemen Sistem Informasi 2.2.1 Definisi Manajemen Secara operasional manajemen dapat didefinisikan sebagai berikut: Manajemen adalah Proses mengkoordinasikan, mengintegrasikan, menyederhanakan, dan mensinkronisasikan sumber daya manusia, material, dan metode dengan mengaplikasikan fungsi-fungsi manajemen seperti perencanaan, pengorganisasian, penggiatan, pengawasan, dan lain-lain agar tujuan organisasi dapat tercapai secara efisien dan efektif, [1]. 2.2.2 Fungsi-fungsi Manajemen Untuk mencapai tujuannya, organisasi memerlukan dukungan manajemen dengan berbagai fungsinya yang disesuaikan dengan kebutuhan organisasi masing-masing. Kegiatan fungsi-fungsi tersebut memerlukan data dan informasi, dan akan menghasilkan data dan informasi pula. Beberapa fungsi manajemen pokok [1] adalah: a. Perencanaan

18

Berkaitan

dengan

penyusunan

dan

penjabaran

tujuan

serta

menjabarkannya dalam bentuk perencanaan untuk mencapai tujuan. b. Pengorganisasian Berkaitan dengan pengelompokan personel serta tugasnya untuk menjalankan pekerjaan sesuai tugas dan misinya. c. Pengaturan personel Berkaitan dengan kegiatan bimbingan dan pengaturan kerja personel. d. Pengarahan Berkaitan dengan kegiatan melakukan intruksi tugas-tugas. e. Pengawasan Berkaitan dengan pemeriksaan untuk menentukan sampai sejauh mana kemajuan yang dicapai dan melakukan koreksi-koreksi.

2.2.3 Tingkat Manajemen Pengolahan data dan informasi dilakukan sesuai dengan keperluan manajemen sebagai proses kegiatan dan keperluan manajer sebagai pimpinan manajemen. Maka dari itu, dalam organisasi terdapat tingkatan-tingkatan manajemen sebagai ukuran tinggi rendahnya tingkat kelompok pimpinannya. Karena organisasi terbagi dalam unit-unit kerja maka tingkatan tersebt merupakan juga tingkat unit kerja. Tingkat tersebut umumnya terdiri dari [1]: 1. Manajemen Lini Atas (Top Management) Kegiatan manajemen lini puncak adalah memformulasikan perencanaan dan strategi. Tingkat manajemen ini berorientasi pada masa depan organisasi dan meninjau hasil kerja dan pencapaian tujuan organisasi secara umum dan menyeluruh. Tugas-tugas pada tingkat ini terutama mengkoordinasikan keseluruhan upaya organisasi dan hubungan dengan organisasi lain dan masyarakat. 2. Manajemen Lini Tengah (Middle Management) Manajemen lini tengah ini bertugas meninjau hasil dalam organisasi dan dengan kegiatan-kegiatan pengawasan menggerakkan organisasi mencapai sasaran. Manajemen pada lini ini lebih berorientasi pada masalah-masalah pelatihan personel, pertimbangan terhadap personel, pengadaan peralatan

19

dan bahan, dan lain-lain yang berhubungan dengan masalah-masalah kritis dalam mencapai keberhasilan kinerja. 3. Manajemen Lini Bawah (Lower Management) Pada manajemen lini bawah terdapat jumlah manajer yang banyak sesuai dengan bentuk piramida organisasi yang makin membesar ke bawah. Tingkat ini disebut juga tingkat manajemen operasional. Tugas pentingnya adalah mengawasi dan mengatur personel berketerampilan teknis atau karyawan biasa. Secara umum tugas dan pekerjaan ketiga tingkat manajemen tersebut dapat digambarkan seperti berikut:

Gambar 2.5 Tingkat Manajemen, [1]. 2.2.4 Definisi Manajemen Sistem Informasi Manajemen Sistem Informasi (MSI) berasal dari kata Management of Information System yang lazim disingkat MSI. Adapun definisi dari MSI adalah: MSI adalah mata kuliah yang mempelajari cara-cara mengelola pekerjaan informasi dengan menggunakan pendekatan sistem yang berdasarkan pada prinsip-prinsip manajemen, [1]. Karena sistem informasi dikerjakan dengan menggunakan prinsip-prinsip manajemen agar tujuan dapat tercapai secara efisien dan efektif maka disebut Manajemen Sistem Informasi (MSI). 2.2.5 Ruang Lingkup Pekerjaan Manajemen Sistem Informasi Pekerjaan MSI berkembang melalui empat proses sesuai dengan perkembangan alat pengolah data yaitu zaman MSI [1]: 1. Dikerjakan secara manual 2. Dikerjakan dengan alat mesin manual 3. Dikerjakan dengan alat mesin elektrik 4. Dikerjakan dengan elektrik (komputer)

20

Pekerjaan MSI dimulai dari pengumpulan data yang dibuat atau terjadi karena adanya fakta. Fakta tersebut dicatat atau direkam pada komputer sehingga menghasilkan fakta yang disebut data. Data atau fakta tertulis otentik (asli) harus disimpan sebagai arsip (otentik) untuk keperluan pembuktian-pembuktian dan back-up baik sebagai bukti administratif ataupun sebagai bukti hukum tertulis bila terjadi kesalahan pada komputerisasi data bersangkutan untuk pengolahan menjadi informasi dalam pekerjaan sistem informasi. Pengolahan data menjadi informasi disebut juga sebagai proses

transformasi, atau manipulasi data menjadi informasi. Bentuk pengolahannya dapat terdiri dari klasifikasi, sortir, kalkulasi, dan penyimpulan. Alat pengolahnya dapat dikelompokkan menjadi alat pengolah manual, mesin manual, mesin elektrik, dan komputer. Hasil pengolahan data adalah informasi yang berbentuk laporan, model deskriptif, dan bentuk statistik. Informasi kemudian dianalisis sebagai bahan pengambilan keputusan. Keputusan pada manajemen lini bawah umumya bersifat teknis, pada manajemen lini tengah umumnya bersifat taktis, dan pada manajemen lini atas umumnya bersifat strategis. Keputusan kemudian dioperasionalkan ke dalam bentuk kegiatan

perencanaan, pelaksanaan, dan evaluasi atau penilaian. Pada setiap kegiatan tersebut dilakukan juga kegiatan pengawasan. Kegiatan tersebut secara keseluruhan untuk mencapai tujuan organisasi secara efisien dan efektif, terutama dalam menghadapi era globalisasi yang penuh dengan persaingan, di mana setiap kegiatan memerlukan dukungan data dan informasi.

2.3 Konsep Dasar Data 2.3.1 Definisi Data Menurut beberapa pakar data dapat didefinisikan sebagai berikut: Data adalah fakta yang sudah ditulis dalam bentuk catatan atau direkam ke dalam berbagai bentuk media, [1].

21

Data adalah kenyataan yang menggambarkan suatu kejadian-kejadian dan kesatuan nyata, [7]. Dalam konteks sistem informasi data di pandang sebagai keterangan yang masih mentah. Agar dapat digunakan untuk keperluan manajemen maka data harus diolah dulu ke dalam bentuk informasi yang sesuai dengan keperluan manajemen yang bersangkutan. Karena itu, sering dikatakan bahwa data adalah bahan yang masih mentah. Sedang arti data menurut isinya adalah keterangan atau bukti mengenai kenyataan yang masih mentah, masih berdiri sendiri-sendiri, belum diorganisasikan, dan belum diolah. Data yang sudah diolah sesuai keperluan disebut informasi. Semua kegiatan memang memerlukan data, serta sebaliknya setiap pekerjaan juga akan menghasilkan data baik untuk keperluan unit kerjanya sendiri maupun untuk keperluan unit kerja lain, ataupun organisasi lain.

2.3.2 Jenis Data Data dapat dikelompokkan menjadi dua, yaitu data statis dan data dinamis. Data statis dapat diartikan sebagai berikut: Data statis adalah jenis data yang umumnya tidak berubah atau jarang berubah, misalnya identitas nama (orang, organisasi atau tempat), kode-kode nomor (nomor: kartu penduduk, rekening, pegawai atau karyawan, mahasiswa, asuransi, kartu kredit, nomor telepon dan sebagainya), dan alamat, [1]. Sedangkan data dinamis diartikan sebagai berikut: Data Dinamis adalah enis data yang selalu berubah baik dalam frekuensi waktu yang singkat (harian) atau agak lama (semesteran) dan lain-lain, [1].

2.3.3 Sumber Data Berdasarkan sumbernya maka data dikelompokkan menjadi dua [6] yaitu: 1. Data internal Data internal adalah data yang berasal dari dalam organisasi itu sendiri, yaitu oraganisasi pusat dan cabang-cabangnya. 2. Data eksternal Data eksternal adalah data yang berasal dari sumber-sumber yang berada di luar organisasi itu sendiri.

22

Berdasarkan isinya maka baik data internal maupun data eksternal dapat dibagi menjadi empat kelompok, yaitu: DATA INTERNAL EKSTERNAL

Data Kegiatan

Data Penelitian

Data Lingkugan

Data Peraturan

Gambar 2.6 Pengelompokan data [1].

1. Data kegiatan Setiap organisasi mempunyai kegiatan. Kegiatan-kegiatan tersebut dilaksanakan baik oleh perorangan maupun unit-unit kerja yang terdapat dalam organisasi bersangkutan. Kegiatan-kegiatan itu perlu direkam, untuk dipergunakan sebagai bahan pengingat, bukti, pengambil keputusan, laporan, informasi, penelitian, perencanaan, penilaian, pengawasan, dan lain-lain. 2. Data Hasil penelitian Hasil penelitian merupakan data yang penting bagi organisasi. Hasil penelitian cenderung disebut data, karena untuk dapat digunakan lebih lanjut oleh unit-unit (fungsi) organisasi secara spesifik masih harus diubah terlebih dahulu bentuknya sesuai dengan keperluan. 3. Data lingkungan Data penting untuk keperluan pekerjaan manajer dalam membuat keputusan dan mengerjakan fungsi-fungsi manajemen lainnya seperti perencanaan, penganggaran, pengawasan, evaluasi atau lain-lainnya, adalah data lingkungan. Pengertian data lingkungan ini sangat luas, yaitu mengenai semua bidang yang berkaitan dengan kegiatan organisasi dan yang dapat mempengaruhi kegiatan organisasi. Data tersebut banyak terdapat pada media cetak seperti buku, buku referensi, majalah, koran, dan lain-lain. 4. Data peraturan

23

Data penting lainnya yang sangat berguna sebagai alat bantu dalam pekerjaan manajemen dan pekerjaan operasional adalah bahan-bahan peraturan.

2.3.4

Analisis Sistem Analisis sistem Informasi dapat didefinisikan sebagai berikut:

Analisis Sistem Informasi adalah penguraian dari suatu sistem informasi yang utuh ke dalam bagianbagian komponennya dengan maksud untuk mengidentifikasi dan mengevaluasi permasalahanpermasalahan, kesempatan kesempatan, hambatanhambatan yang terjadi dan kebutuhankebutuhan yang diharapkan sehingga dapat diusulkan perbaikan perbaikannya, [7]. Pada dasarnya, Analisis sistem merupakan proses untuk memahami sistem yangada, kemudian mengidentifikasi masalah dan mencari solusinya. Analisis sistem memiliki tujuan untuk mengetahui sistem secara detail sebagai pedoman untuk melanjutkan proses pengembangannya. Alasan yang melatar belakangi dilakukannya analisis sistem: 1. Problem Solving, dikarenakan sistem yang lama sudah tidak bisa memenuhi kebutuhan, sehingga diperlukan pengembangan sistem yang baru. Hal ini memerlukan analisis sistem agar sistem yang baru dapat berfungsi sesuai dengan kebutuhan. 2. Adanya kebutuhan baru dalam lingkungan atau organisasi di tempat sistem berjalan yang memerlukan modifikasi untuk mendukung organisasi. 3. Meningkatkan kemampuan atau performansi sistem. Adapun kegiatan-kegiatan yang dilakukan dalam analisis sistem adalah sebagai berikut: 1. Menganalisis klasifikasi data, proses dan fungsi kebutuhan informasi seluruh bagian organisasi yang merupakan kebutuhan informasi untuk masa yang akan datang. 2. Menganalisis dokumen-dokumen yang bisa dijadikan pedoman bagi tahap pengembangan berikutny 3. Melakukan eterhadap sistemyang evaluasi terhadap sistem yang sedang berjalan.

24

2.4

Pengembangan Sistem

2.4.1 Definisi Metodologi Berorientasi Objek Metodologi Berorientasi Objek dapat didefinisikan sabagai berikut: Suatu strategi pembangunan perangkat lunak yang mengorganisasikan perangkat lunak sebagai kumpulan objek yang berisi data dan operasi yang diberlakukan terhadapnya, [11]. Sebuah sistem yang dibangun dengan berdasarkan metode berorientasi objek adalah sebuah sistem yang komponennya dibungkus (dienkapsulasi) menjadi kelompok data dan fungsi. Setiap komponen dalam sistem tersebut dapat mewarisi atribut, sifat dan komponen lainnya serta dapat berinteraksi satu sama lainnya. Adapun perbandingan antara metodologi konvensional dengan

metodologi objek adlah sebagai berikut [11]: Tabel 2.1 Perbandingan Metodologi Konvensional Dengan Metodologi Objek Tabel 2.1 Sunber: [11]. No 1 Metodologi Konvensional Metodologi konvensional menggunakan beberapa alat ntuk menggambarkan model seperti DAD, ERD, dan DFD Metodologi konvensional, data dan proses dianggap komponen yang berlainan. Metodologi konvensional ditujukan untuk melengkapi pemrograman terstruktur bahasa generasi ke 3 (3GL). Program berukuran besar dipecahpecah menjadi program-program yang lebih kecil. Data bergerak secara bebas dalam sistem, dari satu fungsi ke fungsi yang lain terkait. Pendekatan adalah pendekatan atas ke bawah (top down approach) Metodologi Objek Metodologi objek hanya menggunakan satu jenis model yang disempurnakan mulai dari analisis sampai pembuatan sistem. Metodolgi objek menganggap data dan proses merupakan bagian dari objek. Metodologi objek ditujukan untuk bahasa 4GL. Program berukuran besar dibagi pada apa yang dinamakan objekobjek. Fungsi-fungsi yang mengoperasikan data tergabung dalam suatu objek yang sama. Pendekatan adalah pendekatan bawah atas (bottom up approach)

5 6

2.4.2 Karakteristik Sistem Berorientasi Objek Karakteristik yang dimiliki sebuah sistem berorientasi objek antara lain [11]. 1. Abstraksi

25

Prinsip untuk merepsentasikan dunia nyata yang kompleks menjadi satu bentuk model yang sederhana dengan mengabaikan aspek-aspek lain yang tidak sesuai dengan permasalahan. 2. Pembungkusan (encapsulation) Pembungkusan atribut data dan layanan (operasi-operasi) yang dipunyai objek. Untuk menyembunyikan implementasi dan objek sehingga objek lain tidak mengetahui cara kerjanya. 3. Pewarisan (inheritance) Mekanisme yang memungkinkan satu objek mewarisis sebagian atau seluruh definisi dan objek lain sebagai bagian dan dirinya. 4. Reusability Pemanfaatan kembali objek yang sudah didefinisikan untuk suatu permasalahn pada suatu permasalahan lainnya yang melibatkan objek tersebut. 5. Generalisasi dan Spesialisasi Menunjukkan antara kelas dan objek yang umum dengan kelas dan objek yang khusus. 6. Komunikasi antar Objek Komunilasi antar objek dilakukan lewat pesan (message) yang dikirim dan dari suatu objek ke objek lainnya. 7. Polymorphism Kemampuan suatu objek untuk digunakan dibanyak tujuan yang berbeda dengan nama yang dama sehinnga menghemat baris program. 2.4.3 Keuntungan Metodologi Berorientasi Objek Keuntungan Metodologi Berorientasi Objek diantaranya [11]: 1. Meningkatkan produktivitas Karena kelas dan objek yang ditemukan dalam suatu masalah masih dapat dipakai ulang untuk masalah lainnya yang melibatkan objek tersebut. 2. Kecepatan pengembangan Karena sistem yang dibangun dengan baik dan benar pada saat analisis dan perancangan akan menyebabkan berkurangnya kesalahan pada saat pengkodean.

26

3. Kemudahan pemeliharaan Karena dengan model objek, pola-pola yang cenderung tetap dan stabil dapat dipisahkan dan pola-pola yang mungkin sering berubah-ubah. 4. Adanya konsistensi Kerna sifat pewarisan dan penggunaan notasi yang sama pada siaat analisis, perancangan maupun pengkodean. 5. Meningkatkan kualitas perangkat lunak Karena pendekatan pengembangan lebih dekat dengan dunia nyata dan adanya konsistensi pada saat pengembangannya, perangkat lunak yang dihasilkan akan mampu memenuhi kebutuhan pemakai.

2.5

Konsep Dasar Dalam Object Oriented Analysis & Design (OOAD) Terdapat beberapa konsep penting dalam metode analisis menggunakan

pendekatan objek, diantaranya: A. Aktor ( User ) Aktor adalah faktor eksternal yang akan berinteraksi dengan sistem. Aktor akan memberikan instruksi kepada sistem untuk mengerjakan suatu pekerjaan. Aktor tidak hanya manusia, tetapi juga bisa berupa hardware atau software. Aktor dalam use case dilambangkan dengan gambar sebagai berikut :

Gambar 2.7 Simbol Aktor [15] Menurut [15] ada empat macam tipe aktor: 1. Primary Busines Actor (Pelaku Bisnis Utama) Stakeholder yang terutama mendapat keuntungan dari pelaksanaan use case dengan menerima nilai yang terukur atau terobservasi. Pelaku bisnis utama kemungkinan tidak menginisiasi kejadian bisnis. 2. Primary System Actor (Pelaku Sistem Utama) Stakeholder yang secara langsung berhadapan dengan sistem untuk menginisiasi atau memicu kegiatan atau sistem. Pelaku sistem utama dapat berinteraksi dengan para pelaku bisnis utama untuk menggunakan sistem aktual. Mereka memfasilitasi kejadian dengan menggunakan sistem secara langsung demi mencapai keuntungan para pelaku bisnis utama.

27

3. External Server Actor (Pelaku Server Eksternal) Stakeholder yang melayani kebutuhan user 4. External Receiving Actor (Pelaku Penerima Eksternal) Stakeholder yang bukan pelaku utama, tapi menerima nilai yang terukur (output) dari kegiatan transaksi. B. Objek (Object) Objek adalah segala sesuatu yang memiliki identitas yang unik. Objek dapat berupa benda kongkrit maupun hal-hal yang abstrak. Objek bisa berupa orang, tempat, organisasi, unit informasi, molekul, gambar, kejadian, benda atau konsepkonsep yang ada di dunia nyata. Setiap objek memiliki identitas, keadaan dan perilaku. Identitas adalah sesuatu yang membedakan suatu objek dari objek lainnya sehingga masing-masing objek dapat dibedakan. Dua buah mobil yang bertipe sama misalnya, dilihat dari fisiknya dua mobil itu terlihat sama baik dari bentuknya, warnanya, ukurannya bahkan tahun pembuatannya. Akan tetapi, tetap saja kedua buah mobil tersebut adalah objek yang berbeda, dan ada perbedaan serta dari masing-masing mobil tersebut yang membedakan antara satu dengan yang lainnya, misalnya nomor polisi atau nomor mesinnya. C. Kelas (Class) Kelas adalah kumpulan dari objek yang didalamnya terdapat atribut dan operasi yang serupa. Dengan penggolongan objek-objek dalam suatu kelas kita bisa melakukan abstraksi masalah. Atribut dan nama kelas untuk beberapa objek yang sejenis dapat dituliskan sekali saja begitu juga dengan fungsi dan metode yang sama cukup dituliskan satu kali saja dan bisa digunakan ulang oleh objek yang termasuk kedalam kelas yang sama. D. Atribut Atribut merupakan karakteristik dari suatu objek dimana kita dapat membedakan objek yang satu dengan objek yang lainnya dalam kelas yang sama.

Gambar 2.8 Contoh Kelas serta Objek [2]

E. Operasi (Operation)

28

Operasi adalah fungsi yang dapat diaplikasikan ke atau oleh suatu objek dalam kelas. Misalnya kelas window memiliki fungsi close, cancel, open dan lainlain. Operasi yang sama dapat diterapkan pada kelas yang berbeda.

Gambar 2.9 Contoh Kelas dan Operasi-operasinya [2]

F. Paket (Package) Paket adalah pengelompokan untuk menandakan kelompok suatu elemen model. Paket digunakan untuk mempermudah mengorganisasi elemen-elemen model. Sebuah paket dapat mengandung beberapa paket kelas lain didalamnya.

Gambar 2.10 Contoh Simbol Paket [10]

G. Kelas Objek (Object Class) Kelas terdiri dari beberapa objek yang memiliki atribut, operasi, semantik dan relationship yang sama. Kelas objek menggambarkan abstraksi dari suatu objek dalam implementasi. Dalam kelas objek terdapat istilah Visibility Operasi yang terdiri dari : - Protected : operasi atau atribut yang tampak hanya oleh kelas itu sendiri, subkelas atau teman kelas tersebut. Visibility merupakan default dari sebuah operasi yang kita buat. Visibility ini melindungi operasi dari penggunaan oleh kelas-kelas luar. Protected digambarkan dengan tanda (#). - Public : operasi atau atribut dapat digunakan oleh kelas lain yang berhubungan dengan kelas tersebut. Digambarkan dengan tanda (+). - Private : operasi atau atribut yang hanya bisa digunakan oleh kelas itu sendiri. Digambarkan dengan tanda (-) 2.6 Object Oriented Development Object Oriented Development dapat di definisikan sebagai berikut: Object Oriented Development adalah Suatu cara pengembangan perangkat lunak dan sistem informasi berdasarkan abstraksi objek-objek yang ada di dunia nyata.

29

Abstraksi adalah menemukan serta memodelkan fakta-fakta dari suatu objek yang penting bagi suatu aplikasi, [7]. Siklus hidup pengembangan berorientasi objek mengandung 3 proses makro: analisis berorientasi objek, perancangan berorientasi objek, dan implementasi berorientasi objek. Keunggulan utama pendekatan ini adalah bahwa semua keputusan perancangan dapat dilacak langsung ke spesifikasi kebutuhan pengguna. Pengembangan sistem dengan metodologi berorientasi objek pada umumnya bersifat iteratif: dengan kata lain, kita dapat mulai dengan analisis berorientasi objek, melakukan beberapa tahapan secara iteratif sambil melakukan penghalusan objek-objek dan melengkapi model sistem, [7]. Pengembangan sistem berorientasi objek mencakup aktivitas-aktivitas sebagai berikut [2]: a. Analisis berorientasi objek yang dikendalikan oleh use case b. Perancangan berorientasi objek c. Pembuatan prototype d. Pengembangan berbsasis komponen e. Pengujian berkelanjutan 2.7 Unified Approach (UA) Dalam pengembangan sistem, akan digunakan pendekatan berorientasi objek dengan Unified Approach (UA) dari [1]. Unified Approach (UA) adalah suatu metodologi pengembangan sistem berbasis objek yang menggabungkan proses dan metodologi yang telah ada sebelumnya dan menggunakan UML sebagai standar pemodelannya. Proses dan tahapan yang ada dalam UA merupakan proses-proses terbaik yang diambil dari metode objek yang telah diperkenalkan oleh Boach, Roumbaugh, dan Jacobson. Selain itu, langkahlangkah yang ada dalam UA sangat interatif dan memudahkan pengembangan sistem dalam tugas akhir ini. Tahap Analisis dalam UA ditujukan untuk mengindentifikasi kelas-kelas yang teridentifikasi sebagai output di tahap analisis akan dijadikan input pada tahap perancangan. Sementara itu, output dari tahap perancangan adalah perangkat lunak yang telah dirancang sesuai dengan kebutuhan user.

30

Langkah-langkah yang harus dilakukan pada metodologi Unfied Approach (UA) dari [1] adalah sebagai berikut:

2.7.1 Objek Oriented Analysis (OOA) Unified Approach (UA) adalah sebuah metode pendekatan yang mempunyai cara sistematis dalam mengerjakan proses analisis. Salah seorang pakar mengungkapkan bahwa: Analisis adalah proses menyaring kebutuhan sistem dan apa yang harus dilakukan sistem untuk memenuhi kebutuhan aktor. Tujuan dari analisis adalah untuk memahami inti permasalahan dan tanggung jawab sistem dengan memahami pekerjaan apa yang dilakukan oleh sistem melalui beberapa pemodelan. Hasil akhir yang ingin dicapai dari tahap ini adalah menghasilkan kelas-kelas sesuai dengan kebutuhan. Analisis berorientasi objek dengan pendekatan UA (Unified Approach) dari [1] digambarkan dalam bagan berikut:
Pengembangan Diagram Aktifitas dan Use Case Identifikasi Aktor Pengembang an Diagram Interaksi Identifikasi Kelas, relasi,atribut & Method Pemeriksaan

Gambar 2.11 Tahapan Analisis Unified Approach, [2]. Keterangan: a. Identifikasi Aktor Identifikasi aktor adalah tahap pertama dalam OOA. Istilah aktor mempresentasikan peran dari seorang aktor terhadap sistem. Kandidat aktor dapat ditemukan dengan mencari tahu siapa yang akan menggunakan sistem. b. Pengembangan Diagram Aktifitas dan Diagram Use Case Pada tahap ini akan digambarkan model aktifitas bisnis menggunakan diagram aktifitas UML untuk menggambarkan kinerja sistem. Dalam diagram aktifitas akan digambarkan alur kerja dari sistem. Dengan mengetahui alur kerja sistem yang ada, dapat dilakukan pemodelan diagram Use Case untuk menggambarkan interaksi aktor terhadap sistem.

31

c. Pengembangan Diaguram Interaksi Salah satu diagram dari interaksi adalah sequence diagram. Sequence

diagram adalah suatu model untuk menggambarkan interaksi antar objek dalam sistem. Interaksi yang dilakukan oleh objek-objek tersebut dilakukan dengan cara satu objek mengirimkan pesan (message) kepada objek lain. Objek-objek yang teridentifikasi dari sequence diagram ini akan dijadikan referensi untuk kelas. d. Identifikasi kelas Dari sequence diagram akan terlihat objek-objek apa saja yang ada dalam sistem. Dari objek-objek tersebut dilakukan identifikasi kelas-kelas, reationship, atribut serta metode-metode kyang akan digunakan pada setiap kelas. e. Pemeriksaan terhadap tahap sebelumnya (Refine & Iterate) Dalam tahap ini akan diperiksa kebenaran dari hasil analisis sistem yang didasarkan pada tahap sebelumnya.

2.7.2 Objek Oriented Design (OOD) Perancangan sistem dirancang berdasarkan hasil dari tahap analisis sebelumnya. Tujuan untuk memberikan gambaran yang jelas guna mempermudah proses pembuatan perangkat lunak atau sistem informasi. Pada tahapan lebih terfokus pada bagaimana cara untuk menyajikan informasi kepada actor serta merancang interface sehingga actor dapat berinteraksi dengan sistem.
Perancangan Kelas, metode, atribut dan asosiasi Menyaring UML Class Diagram Perancangan Layar Akses dan Layer Antarmuka

Pengujian

Gambar 2.12 Tahap Perancangan Unified Approach, [2]. Keterangan: 1. Perancangan kelas, asosiasi, metode dan atribut Pada tahap ini dilakukan perancangandan pemriksaaan atribut, method dan visibilitasnya terhadap kelas-kelas yang telah teridentifikasi. Ditahap ini

32

apabila ada kelas, atribut, methode yang sekiranya perlu ada maka dilakukan penambahan; 2. Menyaring (memeriksa) UML Class Diagram Proses menyaring diagram kelas mulai dari nama kelas, asosiasi, atribut serta methode-nya. Tahap ini difokuskan pada pengembangan method yang ada dengan activity diagram. Dari activity diagram yang telah dirancang bisa membantu pengembangan sistem selama pembuatan perangkat lunak terutama respon serta alur kerja pengoperasian sistem. 3. Perancangan Layer Akses dan Layer Antarmuka Proses merancang Layer akses dan Grafhic User Interface (GUI) berdasarkan pada class diagram yang telah dirancang sebelumnya. Layer akses adalah layer yang menjadi media penterjemah kebutuhan user terhadap sistem dan respon sistem terhadap kebutuhan user, Layer antarmuka adalah layer dimana user akan berkomunikasi terhadap sistem melalui suatu interface. 4. Pengujian Proses terakhir dari perancangan sistem dalam UA dengan melakukan pengujian terhadap sistem. Apakah telah memenuhi kebutuhan atau masih terdapat kekurangan. Bila masih ada kekurangan maka dilakukan perbaikan.

2.8

Basis Data (Database)

2.8.1 Pengertian Basis Data Bambang Hariyanto mendefinisikan Basis Data sebagai berikut : Kumpulan data yang saling berhubungan yang merefleksikan fakta -fakta yang terdapat di organisasi, [5]. Fatansyah mendefinisikan Basis Data sebagai berikut : Kumpulan file/tabel/arsip yang saling berhubungan yang disimpan dalam media penyimpanan elektronis, [3]. Dari kedua pengertian diatas dapat disimpulkan bahwa Basis Data merupakan kumpulan data (arsip) yang saling berhubungan yang merefleksikan fakta-fakta yang terdapat di organisasi dan disimpan dalam bentuk penyimpanan elektronis.

33

2.8.2 Database Management System (DBMS) Dalam suatu sistem informasi database merupakan salah satu komponen inti yang harus ada. Menurut [2] definisi DBMS adalah: A database management system (DBMS) is a set of programs that enables the creation and maintenance of a collection of related data, [2]. DBMS merupakan sekumpulan program yang memungkinkan kita

membuat dan memelihara sekumpulan data yang terelasi. Tujuan mendasar sebuah DBMS adalah menyediakan fasilitas penyimpanan data yang efisien dan kemudahan dalam pengaksesan data. Database menyediakan sebuah model data yang menggunakan konsep logika seperti field, records, tabel, relasi juga format suatu data seperti tipe dan ukuran data.

2.8.3 Model Data Menurut Abdul Kadir definisi Model data adalah: Rancangan yang digunakan untuk memperlihatkan struktur data dan relasi data dalam database, [8]. Model data menurut [8] dikelompokan dalam tiga model yaitu : 1. Model Data Hirarkis Model hirarkis memperlihatkan data sebagai cabang. Setiap titik cabang merupakan sebuah objek data. Bentuk dari model hirarkis digambarkan dalam gambar berikut :
Akar

Dosen Novia

Dosen Zaenal

Basis Data Ari Edi Dian

Pascal Edi Eka Dian

Fisika Romi

Tomi

Gambar 2.13 Model Data Hirarkis [8].

2. Model Data Jaringan Model jaringan hampir serupa dengan model hirarkis, tetapi dengan perbedaan: 3. Tidak mengenal akar

34

4. Setiap anak bisa memiliki lebih dari satu orangtua Berikut merupakan bentuk model jaringan:
Dosen Novia Dosen Zaenal Pascal Dian Eka Fisika Romi Tomi

Basis Data Ari Edi

Gambar 2.14 Model Data Jaringan [8].

5. Model Relasional Dari semua model data yang ada, model data yang paling sering digunakan adalah model relasional. Model relasional merupakan model yang sederhana, konsep utamanya adalah relasi yang digambarkan dengan tabel. Kolom pada setiap tabel adalah atribut yang mendefiinsikan data. Setiap tabel yang direlasikan harus memiliki primary key. Berikut adalah bentuk dari model relasi.
Kolom

Nim 02320001 02320002 02320003 02420004

Nama Ali Akbar Siti Faimah Rita Andini Faruk Fardan

Jenis_kelamin P W W P

Kode_jur 51 52 51 52

Tabel 2.2 Model Database Relasional [8].

6. Model Data Berbasis Objek Model ini berusaha menjawab kesulitan RDBMS (Relational Database Management Systems) untuk mengatasi tipe data yang kompleks seperti file citra, file gambar dan file audio-video. Objek adalah pengelompokkan logis dari data yang berelasi dan program logis yang mewakili hal nyata di dunia seperti customer, employee, order, product. Item data seperti : customer ID, customer name disebut varibel di model object oriented dan disimpan dalam tiap objek. Variabel-variabel hanya bisa diakses melalui method. Sementara istilah method adalah aplikasi program logis yang menggunakan objek tertentu dan menyediakan fungsi tertentu sperti check customer credit card limit, update alamat customer. Gambar 2.43 menunjukkan objek Customer sebagai contoh implementasi object oriented. Pada inti lingkaran terdapat variabel-variabel tentang objek dan

35

kumpulan variabel itu dikelilingi oleh method yang menunjukkan bahwa hanya dengan melalui method saja variabel tersebut dapat diakses. Ini adalah konsep enkapsulasi, salah satu konsep penting di model object oriented.
PRIBADI
DATA: Nip Nama Alamat Tgl_lahir Jenis_kelamin Pekerjaan PRIBADI dan PEKERJAAN saling terhubung sebab PRIBADI berisi PEKERJAAN PEKERJAAN DATA: Nip Kode_bagian Gol jabatan BAGIAN METODE: Menambah data pekerjaan Menghapus data pekerjaan Dll BAGIAN
DATA: Kode_bagian Nama_bagian

METODE: Menambah data pribadi Menghapus data pribadi Dll

PEKERJAAN dan BAGIAN saling terhubung sebab PEKERJAAN berisi BAGIAN

METODE: Menambah data bagian Menghapus data bagian Dll

Gambar 2.15 Anatomi sebuah Objek [8].

2.8.1

Antarmuka Database

Sebuah antarmuka dalam database harus memiliki Data Definition Language (DDL) dan Data Manipulation Language (DML) yang merupakan tipe bahasa dari SQL. Nama SQL berasal dari SEQUEL (Structured English for Querry Language) yang diciptakan IBM sebagai antarmuka untuk basis data relasional eksperimental yang dinamakan SYSTEM R. SQL sekarang menjadi standar untuk basis data relasional, [2]. Adapun penjelasan tipe bahasa dari SQL adalah, [2]: a. DDL (Data Definition Language) DDL merupakan suatu bahasa yang digunakan untuk membuat struktur dan relasi antar objek dalam database yang terdiri dari kumpulan record, relasi dan tabel yang digunakan untuk menyimpan informasi mengenai entitas. b. DML (Data Manipulation Language) DML merupakan suatu bahasa yang menyediakan fasilitas bagi aktor untuk mengakses dan memanipulasi data seperti create, update, delete. Standar

36

DML yang digunakan dalam relasional database adalah Structure Query Language (SQL). Manipulasi data dapat berupa : a) Penyisipan/penambahan data baru ke suatu basis data b) Penghapusan data dari suatu basis data c) Pengubahan data di suatu basis data

2.8.2

Object Oriented Database (OODB) Basis data berorientasi objek diusulkan untuk mempertemukan kebutuhan

dari aplikasi-aplikasi yang kompleks. Pendekatan basis data berorientasi objek menawarkan fleksibilitas untuk menangani beberapa kebutuhan tanpa dibatasi tipe data serta Query yang umum dijumpai pada basis data relasional, [11]. Menurut David Kroenke definisi Objek Oriented Database adalah: Konsep dari pemrograman berorientasi objek secara umum ditambah dengan database sebagai media penyimpanan datanya yang berbentuk class-class, sehingga dalam hal ini masih berhubungan erat dengan E-R Model, [9]. Kunci dari basis data berorientasi objek adalah kemampuan yang basis data berikan pada perancang untuk menspesifikasi struktur objek yang kompleks serta operasi yang dapat diaplikasikan pada objek tersebut. Basis data berorientasi objek dirancang sedemikian rupa sehingga dapat terintegrasi bersama perangkat lunak yang dikembangkan dengan bahasa-bahasa pemrograman berorientasi objek, [13]. Objek database mulai populer pada pertengahan tahun 1990-an. Bermula dari Object Oriented Programming(OOP) yang kemudian dikembangkan menjadi Object Oriented Design(OOD) dan pada akhirnya menjadi Object Oriented Analysis (OOA). Didalam konsep objek oriented database kita dapat melakukan pemodelan data dari semua penomena dan dapat dinyatakan dalam bahasa umum. OODB muncul karena kekompleksan dari penyimpanan objek-objek yang akan disimpan didalam database sehingga konsep dari Relational Database Manejemen System (RDBMS) masih tetap digunakan. Mekanisme penyimpanan objek-objek didalam Relational Database Menejemen System ini sering dikenal dengan istilah ORDBMS (Objek Relational Database Managemen System).

37

Beberapa keuntungan yang diberikan apabila kita menggunakan konsep dari object oriented database ketimbang menggunakan konsep terstruktur,

keuntungan-keuntungan itu diantaranya: context sistem yang kita bangun akan memberikan informasi yang jelas, mengurangi biaya maintenance, komponen sistem lebih independent artinya lebih mudah jika dilakukan perubahan dan perawatan tanpa mengganggu kinerja komponen sistem yang lain, antara pengguna dan pendevelop dapat saling berkomunikasi sepanjang pembuatan sistem karena sistem yang dibangun biasanya dilengkapi dengan bebarapa diagram dan visualisasi yang menjelaskan aktifitas-aktifitas yang dilakukan, dengan object oriented lebih mencerminkan bagaimana kita dapat menguraikan atau memecahkan sistem yang kompleks, mendukung semua aplikasi, [11].

2.8.3

Object Oriented Database Management System (OODBMS)

Pemrograman berorientasi objek (object oriented) mulai digunakan pada pertengahan tahun 1980-an, dan nantinya akan berkembang menjadi produk DBMS berorientasi objek. Tujuan produk ini adalah untuk menyimpan objek pemrograman berorientasi objek (seperti C++ atau Java) dalam sebuah database tanpa harus mentransformasinya ke format relasional. Definisi Object Oriented Database Management System (OODBMS) adalah: Perkawinan antara pemrograman berorientasi objek dengan teknologi basis data, [11]. Basis data berorientasi objek memungkinkan pemanfaatan dari keunggulan program berorientasi objek dibandingkan dengan basis data yang murni bersifat relasional. Dengan mengkombinasi pemrograman berorientasi objek dengan teknologi basis data kita dapat mengembangkan aplikasi yang lebih terintegrasi, [11]. OODBMS mengembangkan basis data sedemikian rupa sehingga objekobjek dapat disimpan secara permanen dan tetap ada setelah program berakhir sehingga dapat dipanggil oleh aplikasi-aplikasi lain di kemudian hari serta dapat dibagikan ke program-program (aplikasi-aplikasi) yang lain. Salah satu sasaran dari OODBMS adalah memelihara hubungan langsung antara dunia nyata dengan objek-objek basis data sehingga objek-objek tidak kehilangan integritas serta identitas mereka. OODBMS menyediakan sistem yang secara unik membangkitkan identifikasi objek (OID-Object Identifier) untuk setiap objek, [11].

38

2.9 Unified Modelling Language (UML) 2.9.1 Sejarah UML Grady Booch dan Jim Rumbaugh memulai penelitian di Rational Software Co. sekitar tahun 1994. Tujuan mereka yakni menciptakan sebuah metode baru yang dapat menciptakan metode-metode sebelumnya yang dapat digunakan pada semua kalangan. Sekitar tahun 1995 Ivar Jacobson, seorang tokoh yang menciptakan OOSE and Objectory Methode bergabung, [11]. Selain itu, perusahaan Rational Software Co. membeli lisensi Objectory System dari Swedish Company sebagai pengembang dan pendistribusinya. Maka lahirnya sebuah metode baru yang mereka beri nama Unified Modeling Languange yang diharapkan dapat menjadi sebuah bahasa pemodelan standar.

2.9.2 Pengertian UML Unified Modelling Language merupakan sebuah notasi grafis standar untuk menggambarkan sistem berorientasi objek yang merupakan hasil kerjasama dari Grady Booch, James Rumbaugh dan Ivar Jacobson. Berikut merupakan pengertian UML menurut beberapa sumber sebagai berikut: Sebuah bahasa untuk menetapkan, memvisualisasikan, membangun, dan medokumentasikan sistem perangkat lunak dan komponen-komponennya, [2]. Satu kumpulan konvensi pemodelan yang digunakan untuk menentukan atau menggambarkan sebuah sistem software yang terkait dengan objek, [15]. Berdasarkan pengertian diatas UML merupakan sebuah bahasa pemodelan suatu sistem berdasarkan grafik atau gambar untuk menspesifikasikan, membangun, menvisualisasikan dan mendokumentasikan suatu sistem perangkat lunak berorientasi objek. UML memberikan standar penulisan sebuah sistem yang meliputi konsep bisnis proses, penulisan kelas, skema data base, dan komponen yang diperlukan dalam sistem perangkat lunak.

2.9.3 View Dalam UML

39

Pemodelan yang komplek merupakan tugas yang sangat berat. Idealnya seluruh sistem dapat digambarkan dengan single graph yang mendefinisikan sistem secara keseluruhan dengan jelas, mudah berkomunikasi dan dapat dipahami. Tapi bagaimanapun juga, hal tersebut sulit dilakukan. Single graph tidak dapat mencakup seluruh informasi yang dibutuhkan untuk menggambarkan sistem. Sistem digambarkan dengan sejumlah aspek yang berbeda: fungsionalitas, non-fungsionalitas dan aspek organisasi, sehingga sistem dapat digambarkan dalam sejumlah view. Dengan melihat sistem dari beberapa view, ini memungkinkan untuk mengkonsentrasikan hanya pada salah satu aspek sistem pada satu saat. Adapun view yang ada dalam UML :
Design View Design View
Use Case Use Case View View Process View Process View

Implementati Implementati on View on View

Deployment Deployment View View

Gambar 2.16 View dalam UML [10].

Keterangan: 1. Use case View, Use case View mendefinisikan perilaku eksternal system secara fungsional dari sistem yang akan dibangun, yang dirasakan oleh external actors. Use case view digambarkan dalam use case diagram atau state diagram. Permintaan pemakai dari sistem digambarkan dalam beberapa use case view. Use case view juga merupakan kunci dari view-view lain, karena dalam use case view ini berisi kendali atau dasar untuk tahap pengembangan view yang lainnya. View ini juga digunakan untuk memvalidasi dan memverifikasi akhir dari sistem dengan menguji use case view. 2. Design View Design View mendeskripsikan struktur logika yang mendukung fungsi-fungsi yang dibutuhkan di use case. Design view ini berisi definisi komponen program, class-class utama bersama-sama dengan spesifikasi data, perilaku dan interaksinya. Informasi yang terkandung di view ini menjadi perhatian para programmer karena menjelaskan secara detail bagaimana fungsionalitas sistem akan diimplementasikan. 3. Implementation View

40

Implementation View menjelaskan komponen-komponen fisik dari sistem yang akan dibangun. Hal ini berbeda dengan komponen logic yang dideskripsikan pada design view. Informasi tambahan tentang komponen seperti alokasi resource atau informasi administrative lainnya, seperti buku laporan pengerjaan selama pembangunan sistem dapat ditambahkan. 4. Process View Process View berhubungan dengan hal-hal yang berkaitan dengan concurrency di dalam sistem. Concurrency menguraikan sistem kedalam proses dan pemrosespemroses (processors). Aspek ini mengijinkan penggunaan sumber daya secara efisien dan eksekusi parallel. Concurency berisi diagram yang dinamis (state, sequence, collaboration dan activity diagram) dan implementation diagram (component dan deployment diagram). 5. Deployment View Deployment View menjelaskan bagaimana komponen-komponen fisik

didistribusikan ke lingkungan fisik seperti jaringan komputer, printer dan peralatan lainnya serta bagaimana peralatan tersebut dihubungkan dengan peralatan yang lainnya dimana sistem akan dijalankan. 2.9.1 Diagram UML Setiap sistem yang komplek memiliki pendekatan yang terbaik melalui suatu himpunan kecil dalam pandangan semua view dalam suatu model, tidak ada single view yang terpenuhi. Setiap model bisa dinyatakan pada tingkat yang berbeda dari ketepatannya. Menurut [4] diagram-diagram yang tersedia pada UML terbagi atas 2 kategori, yaitu :
Structure Diagram Diagram Behaviour Diagram
Class Diagram Component Diagram Activity Diagram

Use Case Diagram Interaction Diagram Sequence Diagram Collaboration Diagram

Gambar 2.17 Klasifikasi Jenis Diagram UML [4].

41

2.9.5 Class Diagram Class Diagram dapat di definisikan sebagai barikut: Sebuah spesifikasi yang jika diinstansiasi akan menghasilkan sebuah objek dan merupakan inti dari pengembangan dan desain berorientasi objek, [11]. Class menggambarkan keadaan (atribut/properti) suatu sistem, sekaligus menawarkan layanan untuk memanipulasi keadaan tersebut (metoda/fungsi). Class diagram juga menggambarkan struktur dan deskripsi class, package dan object beserta hubungan satu sama lain seperti containment, pewarisan, asosiasi, dan lain-lain. Sebuah Class memiliki tiga area pokok, [11]: 1. Nama, merupakan nama dari sebuah kelas 2. Atribut, merupakan peroperti dari sebuah kelas. Atribut melambangkan batas nilai yang mungkin ada pada objek dari class 3. Operasi, adalah sesuatu yang bisa dilakukan oleh sebuah class atau yang dapat dilakukan oleh class lain terhadap sebuah class. Berikut adalah notasi notasi yang ada pada class diagram : Tabel 2.3 Notasi pada Class Diagram Sumber : [6]
Nama Class Keterangan Class adalah blok - blok pembangun pada pemrograman berorientasi objek. Sebuah class digambarkan sebagai sebuah kotak yang terbagi atas 3 bagian.Bagian atas adalah bagian nama dari class. Bagian tengah mendefinisikan property/atribut class. Bagian akhir mendefinisikan method-method dari sebuah class. Sebuah asosiasi merupakan sebuah relationship paling umum antara 2 class, dan dilambangkan oleh sebuah garis yang menghubungkan antara 2 class. Garis ini bisa melambangkan tipe-tipe relationship dan juga dapat menampilkan hukum-hukum multiplisitas pada sebuah relationship (Contoh: One-to-one, one-to-many, many-to-many). Jika sebuah class tidak bisa berdiri sendiri dan harus merupakan bagian dari class yang lain, maka class tersebut memiliki relasi Composition terhadap class tempat dia bergantung tersebut. Sebuah relationship composition digambarkan sebagai garis dengan ujung berbentuk jajaran genjang berisi/solid. Kadangkala sebuah class menggunakan class yang lain. Hal ini disebut dependency. Umumnya penggunaan dependency digunakan untuk menunjukkan operasi pada suatu class yang menggunakan class yang lain. Sebuah dependency dilambangkan sebagai sebuah panah bertitik-titik. Simbol

Assosiation

Composition

Dependency

42

Aggregation

Generalizatio n

Aggregation mengindikasikan keseluruhan bagian relationship dan biasanya disebut sebagai relasi mempunyai sebuah atau bagian dari. Sebuah aggregation digambarkan sebagai sebuah garis dengan sebuah jajaran genjang yang tidak berisi/tidak solid. Sebuah relasi generalization sepadan dengan sebuah relasi inheritance pada konsep berorientasi objek. Sebuah generalization dilambangkan dengan sebuah panah dengan kepala panah yang tidak solid yang mengarah ke kelas parent-nya/induknya.

Diagram kelas memodelkan struktur kelas dan isinya. Kelas terdiri dari Nama Kelas, Atribut dan Operasi.
Class Name Attributes Operation Gambar 2.18 Contoh Class Diagram [2].

Keterangan: 1. Class Name: bagian yang paling atas berisi nama kelas, nama kelas diambil dari domain permasalahan dan harus sejelas mungkin. Oleh karena itu, nama kelas haruslah berupa kata benda. 2. Attribut: kelas memiliki attribut yang menggambarkan karakteristik dari objek. Attribut kelas yang benar adalah yang dapat mencakup informasi yang dilukiskan dan mengenali instance tertentu dari kelas. Tipe attribut dapat berupa primitive attribut atau tipe lainnya. 3. Operations: operasi digunakan untuk memanipulasi attribut atau menjalankan aksi-aksi. Class diagram terdiri dari beberapa relationship, [11] : a. Asosiasi (Association) Asosiasi didefinisikan sebagai penghubung objek-objek pada kelas yang sama. Suatu bentuk asosiasi adalah agregasi yang menampilkan hubungan suatu objek dengan bagian-bagiannya. Kita menggunakan pemahaman asosiasi adalah pada saat beberapa kelas saling terhubung satu sama lain secara konseptual. Sebagai contoh, misalkan seorang pegawai bekerja pada sebuah perusahaan. Maka bekerja merupakan

43

sebuah asosiasi antara kelas pegawai dan kelas perusahaan. Selanjutnya bisa kita simpulkan bahwa sebuah asosiasi bias merupakan sebuah bentuk kata kerja yang merelasikan kelas yang satu dengan kelas yang lainnya.

Gambar 2.19 Asosiasi (Assosiation) [10]. b. Batasan (Constraints) Constraints adalah batasan-batasan asosiasi fungsional antar entitas dalam model objek. Kata entitas termasuk didalamnya adalah objek-objek, kelas-kelas, link, serta asosiasi-asosiasi. Berikut (gambar 2.17) adalah contoh constraint dimana teller akan melayani para pelanggan telepon yang ingin melakukan segala urusan yang berhubungan dengan masalah telepon, tapi untuk dapat dilayani maka para pelanggan harus antri, maka antri kita jadikan constraint pada asosiasi tersebut.
{antri} Teller melayani Gambar 2.20 Constraint pada sebuah Asosiasi [10] Pelanggan

c. Associations Class Sebuah asosiasi dapat memiliki atribut dan operasi seperti halnya sebuah class. Sebuah association class sebenarnya diperlukan apabila salah satu dari kelas yang terhubung mempunyai sebuah atau beberapa atribut yang tidak layak dimiliki oleh kelas tersebut, karena secara logis atribut tersebut lebih layak dimiliki oleh asosiasi yang menghubungkan kedua kelas tersebut. Akan lebih mudah dipahami jika kita menganalogikan hal ini dengan diagram ERD, dimana sesuai dengan hukum-hukum tertentu maka jika ada sebuah relasi binary atau ternary maka harus dibuatkan sebuah entitas tambahan yang merupakan entitas transaksi untuk menampung record-record transaksi yang terjadi antar entitas murni. Entitas transaksi yang tercipta tersebut mirip sekali dengan association class. Berikut adalah contoh sebuah association class.

44

Company

Employer

Employee

Person

WorksFor Salary

Gambar 2.21 Association Class [2]. Seperti yang dilihat pada gambar diatas, association class divisualisasikan sama halnya seperti class biasa, hanya saja untuk menghubungkan ke garis asosiasi digunakan garis putus-putus. d. Multiplisitas (Multiplicity) Multiplicity atau multiplisitas adalah jumlah banyaknya objek sebuah class yang berelasi dengan sebuah objek lain pada class lain yang berasosiasi dengan class tersebut. Untuk menyatakan multiplisitas anda dapat meletakkannya diatas garis asosiasi berdekatan dengan class yang sesuai, Ada banyak multiplisitas yang mungkin untuk dipakai. Tabel berikut menjabarkan multiplisitas yang dapat digunakan.
Multiplisitas * 0 1 0..* 1..* 0..1 1..1 Arti Banyak Nol Satu Nol atau banyak Satu atau banyak Nol atau satu Hanya satu

Tabel 2.4 Notasi Multiplisitas [13].


Matakuliah Mahasiswa

Gambar 2.22 Asosiasi dengan Multiplisitas [11]. e. Generalisasi dan Pewarisan (Generalization & Inheritance) Menurut [11] generalisasi dapat di definisikan sebagai barikut: Suatu cara yang sangat berdaya guna untuk berbagi apa yang dimiliki suatu kelas (objek) bagi kelas-kelas (objek-objek) yang lain, [11].

45

Generalisasi adalah relasi keatas beberapa sub kelas di atasnya yang ditunjukan dengan tanda segitiga.
Boeing Airplane

Boeing 737

Boeing 757

Boeing 767

Gambar 2.23 Contoh Generalisasi [2]. Sebuah class (child class atau subclass) dapat mewarisi atribut-atribut dan operasioperasi dari class lainnya (parent class atau super class) dimana parent class bersifat lebih umum daripada child class. Generalisasi pada konsep Object Oriented digunakan untuk menjelaskan hubungan kesamaan diantara class. Dengan menggunakan generalisasi bisa dibangun struktur logis yang bisa menampilkan derajat kesamaan atau perbedaan diantara class-class. Manfaat lain dari struktur hirarkis juga memungkinkan untuk penambahan subclass (child class) baru tanpa harus merubah struktur yang sudah ada. Inheritance adalah sebuah mekanisme pengimplementasian generalisasi dan spesialisasi. Aturan inheritance dapat secara umum bisa diklasifikasikan sebagai berikut : a. Subclass selalu mewarisi semua sifat dari superclass-nya. b. Definisi subclass selalu mencakup paling tidak satu detil yang tidak diturunkan dari superclass-nya.

a. Agregasi (Agregation) Agregasi adalah sebuah hubungan dimana satu kelas whole yang lebih besar berisi satu atau lebih kelas part yang lebih kecil. Atau kelas part yang lebih kecil adalah bagian dari kelas whole yang lebih besar. Agregasi disimbolkan dengan jajaran genjang yang diletakkan pada class yang mengandung objek.

46

Gambar 2.23 Agregasi Bertingkat [13]. Gambar 2.24 Agregasi [2]. b. Dependency Class Pada penggunaan relasi kadangkala satu class menggunakan class yang lain, hal ini disebut dependency. Umumnya penggunaan dependency digunakan untuk menunjukkan operasi pada suatu class yang menggunakan class yang lain. Notasi untuk dependency pada UML dapat menggunakan garis putus-putus dan tanda panah pada ujungnya.

Form

Gambar 2.25 Dependenc, [10]. 2.9.6 Use Case Diagram Use case dalam UML didefinisikan sebagai : a graph of actors, a set of use case enclosed by a system boundary , communication (participation), association between the actors and the use cases, and generalization among the use case, [2]. Use case akan menggambarkan cara kerja suatu software dengan aktor. Dalam use case diagram akan digambarkan hubungan antara aktor dengan use case. Aktor adalah orang atau subsistem lain yang akan berinteraksi dengan sistem. Sementara use case menggambarkan proses yang akan dilakukan oleh aktor terhadap sistem.

Gambar 2.26 Notasi Use Case Diagram [11].

47
obj ect Use...

Actor

Use Case

Actor adalah pengguna sistem. Actor tidak terbatas hanya manusia saja, jika sebuah sistem berkomunikasi dengan aplikasi lain dan membutuhkan input atau memberikan output, maka aplikasi tersebut juga bisa dianggap sebagai uc Notasi UseCase Actor actor. Use case digambarkan sebagai lingkaran elips dengan nama use case dituliskan didalam elips tersebut. Use Case Name Asosiasi digunakan untuk menghubungkan actor dengan use case. Asosiasi digambarkan dengan sebuah garis yang menghubungkan antara Actor dengan Use Case. Menyatakan hubungan ketergantungan antar Use Case, yakni pelaksanaan suatu use case baru bisa dilakukan setelah pelaksanaan use case lain selesai.

Association

Depends on

Tabel 2.5 Notasi Use Case Diagram [6] Berbicara mengenai use case diagram tidak akan terlepas dengan hal yang disebut stereotype. Stereotype adalah sebuah model khusus yang terbatas untuk kondisi tertentu. Untuk menunjukkan stereotype digunakan symbol << diawalnya dan ditutup dengan >> diakhirnya. Terdapat 2 stereotype paling sering digunakan dalam use case diagram yaitu <<extend>> dan <<include>>. <<extend>> digunakan untuk menunjukkan bahwa satu use case merupakan tambahan fungsional dari use case yang lain jika kondisi atau syarat tertentu dipenuhi. Sedangkan <<include>> digunakan untuk menggambarkan bahwa suatu use case seluruhnya merupakan fungsionalitas dari use case lainnya. Berikut adalah contoh use case diagram :

Gambar 2.27 Contoh Use Case Diagram [11].

Notasi di bawah ini berarti pelaksanaan use case1 tergantung kepada pelaksanaan use case2, dengan kata lain use case1 baru bisa dilakukan setelah use case2 terpenuhi/selesai dijalankan. Berikut adalah contoh Hubungan Depends-On :

48

Es tablis h Bank Account

<<depends on>>

<<depends on>>

Make a Deposit

Make a Withdrawal

Gambar 2.28 Contoh Hubungan Depends-On, [15].

2.9.7 Component Diagram Diagram ini menggambarkan komponen-komponen perangkat lunak yang dibutuhkan oleh sistem dan berada dalam sistem. Komponen tersebut dapat berupa source code, binary file atau executable file. Hubungan antar satu komponen dan komponen yang lain adalah saling ketergantungan. Komponen perangkat lunak adalah bagian fisik dari sebuah sistem yang menetap di komputer. komponen merupakan implementasi software dari sebuah class. Komponen bisa berupa tabel, file data, file DLL, dokumen dan lain-lain. Component diagram mengandung komponen, interface dan relationship. Komponen diagram ini digunakan pada saat anda ingin memecah sistem menjadi komponen-komponen dan ingin menampilkan hubungan-hubungan mereka dengan antarmuka atau pemecahan komponen menjadi struktur yang lebih rendah. Secara umum dapat kita katakan bahwa component diagram kita gunakan untuk menjelaskan kebergantungan antar beragam komponen-komponen software seperti misalnya kebergantungan antara file-file executable dengan file-file sumbernya (source file) dll. Berikut adalah notasi dari component diagram :

Component

Depedency

Sebuah komponen melambangkan sebuah entitas software dalam sebuah sistem. Sebuah komponen dinotasikan sebagai sebuah kotak segiempat dengan dua kotak kecil tambahan yang menempel disebelah kirinya. Sebuah Dependency digunakan untuk menotasikan relasi antara dua komponen. Notasinya adalah tanda panah putus-putus yang diarahkan kepada komponen tempat sebuah komponen itu bergantung.

Tabel 2.6 Notasi Component Diagram [6]. Berikut adalah contoh sebuah component diagram :

49

Jadwal

Room AllocEXE

Room USP

Class USP

Gambar 2.29 Component Diagram 10].

2.9.8 Sequance Diagram Sequence diagram menggambarkan interaksi antar objek didalam dan disekitar sistem (termasuk pengguna, display dan sebagainya) berupa message yang digambarkan terhadap waktu. Sequence diagram biasa digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan sebagai respon dari sebuah event untuk menghasilkan output tertentu. Sequence diagram terdiri dari sumbu vertikal putus-putus yang merepresentasikan lifetime objek dan sumbu horizontal yang menunjukan sekumpulan objek yang saling berinteraksi dalam sistem. Diagram ini menjelaskan bagaimana objek berinteraksi dengan objek yang lainnya yaitu dengan cara mengirim dan menerima pesan. Komunikasi antar objek tersebut ditandai dengan garis horizontal yang disertai dengan nama operasinya.
Caller OffHook Exchange Receiver T alk

DialT one

DialNumber RingT one OffHook

OnHook

Gambar 2.30 Contoh Sequence Diagram [2].

Berikut adalah notasi Sequence Diagram:


Object Object merupakan instance dari sebuah class dan dituliskan tersusun secara horizontal. Digambarkan sebagai sebuah class (kotak) dengan nama objek didalamnya yang diawali dengan sebuah titik koma. Actor juga dapat berkomunikasi dengan objek, maka actor juga dapat diurutkan sebagai kolom. Simbol Actor sama dengan simbol pada Actor Use Case Diagram.

obj ect Use...

Actor

Actor

50

Lifeline

Lifeline mengindikasikan keberadaan sebuah objek dalam basis waktu. Notasi untuk Lifeline adalah garis putus-putus vertikal yang ditarik dari sebuah objek. Activation dinotasikan sebagai sebuah kotak segi empat yang digambar pada sebuah lifeline. Activation mengindikasikan sebuah objek yang akan melakukan sebuah aksi. Message, digambarkan dengan anak panah horizontal antara Activation. Message mengindikasikan komunikasi antara objekobjek

Activation

Massage

Tabel 2.7 Notasi Sequence Diagram [21].

2.9.9 Colaboration Diagram Collaboration diagram menggunakan prinsip yang sama dengan sequence diagram yaitu digunakan untuk memperlihatkan aliran-aliran pada use case. Sementara sequence diagram berurutan menurut waktu, collaboration diagram berfokus pada relasi-relasi yang terjadi antara objek yang satu dengan objek-objek yang lainnya. Pada collaboration diagram ini, objek-objek dan message (pesan) yang ada digambarkan mirip seperti flowchart, hanya saja, untuk menjaga urutan pesan yang diterima oleh masing-masing objek, pesan-pesan tersebut diberi nomor urutan pesan.

Object

Actor

Object merupakan instance dari sebuah class. Digambarkan sebagai sebuah class (kotak) dengan nama objek didalamnya yang diawali dengan sebuah titik koma. Actor juga dapat berkomunikasi dengan objek, maka actor juga dapat disertakan ke dalam collaboration diagram. Simbol Actor sama dengan simbol pada Actor Use Case Diagram.

obj ect Use...

Actor

Message

Message, digambarkan dengan anak panah yang mengarah antar objek dan diberi label urutan nomor yang mengindikasikan urutan komunikasi yang terjadi antar objek.

Tabel 2.8 Notasi Collaboration Diagram [6]

Berikut adalah sebuah contoh collaboration diagram yang mengilustrasikan sebuah sistem panggilan genggam (Telephone Call) :

51

Object

Caller
1: OffHook 2: DialTone

Message
3: DialNumber

Exchange
4: RingTone

Receiver
5: OffHook 6: OnHook

Talk Gambar 2.31 Contoh Collaboration Diagram [2].

2.9.10 Activity Diagram (Diagram Aktivitas) Diagram aktifitas mempunyai kesamaan dengan flowchart karena dapat memodelkan alur kerja dan aktfitas dari sebuah sistem. Menurut Ali Bahrami activity diagram didefinisikan sebagai berikut: An activity diagram is a variation or special case of the state machine, in which the states are activities representing the performance of operations and the transitions are triggered by the completion of the operations, [2]. Menurut Whitten activity diagram didefinisikan sebagai berikut: sebuah diagram yang dapat digunakan untuk menggambarkan secara grafis aliran proses bisnis, langkah-langkah sebuah use case atau logika behaviour (metode) object, [2]. Diagram aktifitas dapat mempermudah kita dalam memahami proses kerja suatu sistem secara keseluruhan. 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 statechart diagram. Activity diagram mempunyai peran seperti halnya flowchart, akan tetapi perbedaannya dengan flowchart adalah activity diagram bisa mendukung perilaku parallel sedangkan flowchart tidak bisa. Berikut adalah notasi activity diagram :
obj ec...

Simbol

Keterangan Titik Awal Titik Akhir

obj ec...

52

obj ect Use Case An...

obj ect Use C...

Activity Pilihan Untuk mengambil Keputusan

object Use Case Angkot

Fork; Digunakan untuk menunjukkan kegiatan yang dilakukan secara parallel / menggabungkan dua kegiatan peralel menjadi satu. Rake; Menunjukkan adanya dekomposisi
obj ect Use Cas...

Tanda Waktu Tanda pengiriman Tanda penerimaan Aliran akhir (Flow Final)

obj ect Use Cas...

obj ec...

Tabel 2.9 Notasi Activity Diagram [6]. Berikut adalah sebuah contoh activity diagram yang menggambarkan sebuah sistem processing mortgage request :

Gambar 2.32 Contoh Activity Diagram [2].

2.10 Arsitektur Sistem Arsitektur sistem merujuk pada konfigurasi sistem secara keseluruhan yang akan menjadi tempat hidup dari DBMS, basis data dan aplikasi yang memanfaatkannya, [3]. Dari waktu ke waktu, sejalan dengan kemajuan teknologi, arsitektur sistem yang akan kita pilih semakin banyak variannya. Yang juga berubah adalah keunggulannya. Arsitektur sistem yang pada saat ini boleh dikatakan paling baik dan banyak dierapkan di berbagai tempat, di masa yang akan dating dapat beralih ke arsitektur lain yang memang sama sekali baru atau merupakan pengembangan dari arsitektur sistem yang lama.

53

Beberapa jenis arsitektur sistem yang dapat digunakan adalah, [3]: a. Sistem Tunggal/Mandiri (Stand-Alone). b. Sistem Tersentralisasi (Centralized System). c. Sistem Client-Server.

2.10.1 Sistem Tunggal/Mandiri (Stand-Alone) Pada arsitektur ini, DBMS, basis data dan aplikasi basis data ditempatkan pada mesin (komputer) yang sama. Dengan demikian, pemakai yang dapat menggunakannya di setiap saat juga hanya satu orang (single user). Arsitektur ini merupakan arsitektur system yang paling sederhana dan paling murah. Arsitektur semacam ini dapat kita gunakan, jika basis data yang di kelola memang tidak terlalu besar dan lebih bersifat membantu mempercepat pekerjaan-pekerjaan klerikal (administratif).

Gambar 2.33 Contoh Sistem Stand-Alone [3].

2.10.2 Sistem Tersentralisasi (Centralized System) Arsitektur sistem ini terdiri atas sebuah mesin server dan sejumlah terminal (yang menjadi tempat user berinteraksi dengan sistem). Yang tersentralisasi dalam arsitektur ini mencakup basis data, DBMS dan aplikasi basis data atau basis data saja. Untuk lingkup sentralisasi yang pertama, maka jenis server-nya sering disebut sebagai DBMS-server atau Aplication-server dan terminalnya lebih tepat disebut dumb-terminal (terminal pasif). Sedang jika yang disentralisasi hanya basis data, server yang kita gunakan biasa disebut file-server dan terminalnya disebut workstation (stasiun kerja).

Gambar 2.34 Contoh Sistem Tersentralisasi [3].

54

2.10.3 Sistem Client-Server Sistem ini terdiri atas dua komponen (mesin) utama, yaitu client dan server. Client berisi aplikasi basis data dan server berisi DBMS dan basis data. Setiap aktifitas yang dikehendaki para pemakai akan lebih dulu di tangani oleh client. Client selanjutnya mengupayakan agar semua proses bias mungkin ditangani sendiri. Jika ada proses yang harus melibatkan data yang tersimpan pada basis data, barulah client melakukan kontak dengan server.

Gambar 2.35 Contoh Sistem Client-Server Sederhana [3].

2.11 Software Pendukung 1. Microsoft Visual Studio .Net 2008 Microsoft Visual Studio .Net 2008 merupakan salah satu bahasa pemrograman komputer yang mendukung Object Oriented Programming (OOP). Microsoft Visual Studio .Net 2008 adalah versi BASIC visual yang dikembangkan oleh Microsoft. Bahasa ini berawal dari Quick BASIC yang bersifat procedural namun kemudian diperluas dengan fitur-fitur yang bersifat visual. Microsoft Visual Studio .Net 2008 merupakan salah satu bahasa pemrograman atau pengembangan aplikasi yang sangat dikenal di dunia. Baik itu karena kemudahannya dalam pengembangan aplikasi maupun kemampuannya yang beragam. Selain itu, Microsoft Visual Studio .Net 2008 didukung oleh berbagai fasilitas dalam pengembangan aplikasi. Salah satunya adalah pengembangan aplikasi database. 2. Microsoft Visio Versi 2007 Microsoft visio Versi 2010 merupakan salah satu produk Microsoft yang dikenal akan kemudahan dalam penggunaannya. Microsoft Visio Versi 2003 merupakan salah satu program yang digunakan dalam pemodelan baik pemodelan sistem, tata letak bangunan, pemodelan database dan sebagainya.

55

3. Sparx Systems' Enterprise Architect 7.0 Sparx Systems' Enterprise Architect (EA) adalah suatu tool Computer Aided Software Engineering (CASE ) untuk merancang dan mengembangkan software system, pemodelan bisnis proses dan pemodelan lainnya. Sparx Systems' Enterprise Architect (EA) dirancang berdasarkan spesifikasi UML 2.1, yang mana menggunakan bahasa visual dalam setiap bagian perancangan sistem. Sparx Systems' Enterprise Architect (EA) tersedia dalam 3 versi yaitu : Corporate, Professional dan Desktop, berbeda. Kelebihan-kelebihan Sparx Systems' Enterprise Architect (EA) yaitu : a. Komprehensif dengan pemodelan UML b. Memiliki fasilitas untuk pemodelan Requirements Management c. Dapat berkolaborasi dengan aplikasi Java dan .Net) d. Mendukung proyek management termasuk sumberdaya, metrics dan testing e. Mendukung testing : test case, Junit dan Nunit. f. Pemilihan dokumentasi lebih flexibel dengan mengikuti standar HTML dan penulisan dalam format RTF g. Fasilitas pemodelan yang Extendable dimana setiap pengguna dapat menentukan profil dan teknologi yang digunakan pada sistem h. Usability i. Scalability dimana Sparx Systems' Enterprise Architect (EA) dapat digunakan untuk memodelkan sistem skala kecil maupun besar. setiap versi memiliki fasilitas yang

BAB III METODOLOGI PENGEMBANGAN SISTEM

3.1 Tujuan Sistem yang akan dibangun Pada bab ini dibahas mulai dari mengidentifikasi user / actor, mengidentifikasi dan mengembangkan activity, use case, interfaction diagram dan class diasgram. Dalam menentukan tujuan sistem yang akan dirancang harus sesuai dengan kebutuhan yang di inginkan user yaitu sebuah sistem informasi terkomputerisasi yang berfungsi untuk menangani proses pembayaran SPP dengan maksud untuk mengakomodasi kebutuhan siswa, orang tua, wali kelas, kepala TU, WKS kesiswaan, kepala sekolah (manajemen sekolah). Kegunaan dari sistem informasi yang akan dirancang ini diharapkan dapat memberikan kemudahan. Dalam perancangannya penulis menggunakan Software Microsoft Visual Studio .Net 2008 dan perancangan databasenya menggunakan Structural Query Language (SQL) / MYSQL persi 5, dengan harapan dapat memberikan kemudahan bagi petugas, juga mampu memberikan kontribusi bagi SMK Muhammadiyah Garut serta memberikan pelayanan yang lebih baik dan memberikan laporan-laporan yang dibutuhkan secara cepat dan akurat.

3.2 Analisis Kebutuhan Sistem Pada analisa kebutuhan sistem ini dilakukan beberapa langkah identifikasi dengan mengacu pada metodologi Unified Approach (UA) adalah suatu metodologi pengembangan sistem berbasis objek yang menggabungkan proses dan metodologi yang telah ada sebelumnya dan menggunakan UML sebagai standar pemodelannya. Proses dan tahapan yang ada dalam UA merupakan proses-proses terbaik yang diambil dari metode objek yang telah diperkenalkan oleh Boach, Roumbaugh, dan Jacobson. Selain itu, langkah-langkah yang ada dalam UA sangat interatif dan memudahkan pengembangan sistem dalam tugas akhir ini. Tahap Analisis dalam UA ditujukan untuk mengindentifikasi kelas-kelas yang teridentifikasi sebagai output di tahap analisis akan dijadikan input pada 56

57

tahap perancangan. Sementara itu, output dari tahap perancangan adalah perangkat lunak yang telah dirancang sesuai dengan kebutuhan user. Unified Approach (UA) adalah sebuah metode pendekatan yang mempunyai cara sistematis dalam mengerjakan proses analisis. Salah seorang pakar mengungkapkan bahwa: Analisis adalah proses menyaring kebutuhan sistem dan apa yang harus dilakukan sistem untuk memenuhi kebutuhan aktor. Tujuan dari analisis adalah untuk memahami inti permasalahan dan tanggung jawab sistem dengan memahami pekerjaan apa yang dilakukan oleh sistem melalui beberapa pemodelan. Hasil akhir yang ingin dicapai dari tahap ini adalah menghasilkan kelas-kelas sesuai dengan kebutuhan.

3.3 Identifikasi Aktor Dalam sistem informasi pembayaran SPP, aktor yang dapat teridentifikasi adalah: 1. Siswa merupakan pelaku bisnis utama yang mendapatkan pelayanan dalam melakukan transaksi pembayaran SPP. 2. Petugas TU merupakan pelaku sistem utama yang secara langsung akan berhadapan dengan sistem. 3. Kepala Tata Usaha merupakan pelaku server eksternal yang mengawasi berjalannya sistem informasi pembayaran SPP serta menerima dan bertanggung jawab dalam laporan hasil dari proses sistem pembayaran SPP berdasarkan waktu yang diperlukan. 4. Wali kelas merupakan pelaku penerima eksternal yang melayani kebutuhan user yang secara tidak langsung kewajiban memberitahu ataupun memberikan informasi pembayaran uang sekolah kepada siswa dari kelas perwakilannya. 5. WKS kesiswaan merupakan pelaku penerima eksternal berperan

menghimpun, mengatur, menganalisis dan menyimpan data siswa sebagai bahan pertimbangan dalam kelancaran kegiatan belajar mengajar (KBM) ataupun kelancaran administrasi siswa-siswanya.

58

6. Kepala Sekolah merupakan pelaku penerima eksternal yang mengawasi berjalannya sistem informasi pembayara SPP dan menerima laporan hasil dari proses sistem pembayaran SPP dengan waktu yang diperlukan. Tabel 3.1 Identifikasi Aktor beserta aktifitasnya
Tipe Aktor Aktor Siswa merupakan Primary Business Actor (Pelaku Bisnis 1. Siswa PBA Utama) yang mendapatkan pelayanan dalam melakukan transaksi pembayaran SPP di SMK Muhammadiyah Garut. Petugas TU merupakan Primary System Actor (Pelaku Sistem Utama) yang secara langsung akan berhadapan (berinteraksi) 2 Petugas TU PSA dengan sistem, untuk memberikan informasi dan mengelola keuangan salah satunya transaksi pembayaran SPP, UTS dan UAS. Kepala TU merupakan Primary System Actor (Pelaku Sistem 3 Kepala TU PSA Utama) yang secara langsung akan berhadapan (berinteraksi) dengan sistem, untuk mengelola user yang menggunakan sistem informasi pembayaran tersebut. Wali kelas merupakan External Server Actor (Pelaku Server Eksternal) yang yang melayani kebutuhan user yang secara 4 Wali Kelas ESA tidak langsung berkewajiban memberitahu ataupun memberikan informasi pembayaran uang sekolah kepada siswa dari kelas perwakilannya. WKS kesiswaan merupakan External Receiving Actor (Pelaku 5 WKS Kesiswaan ERA Penerima Ekternal) berperan menghimpun, mengatur, Aktivitas Aktor mo 6 Kepala Sekolah

menganalisis dan menyimpan data siswa sebagai bahan pertimbangan dalam kelancaran administrasi siswa-siswanya. Kepala sekolah merupakan External Receiving Actor (Pelaku

ERA

Penerima External) yang mengawasi berjalannya sistem informasi pembayaran SPP dan menerima laporan hasil dari proses sistem pembayaran SPP.

3.4 Analisis Activity Diagram Activity Diagram digunakan untuk memodelkan aspek dinamis dari sistem. Activity Diagram secara esensial mirip diagram alir (Flowchart), memperlihatkan aliran kendali dari suatu aktifitas ke aktifitas lainnya. Dengan Activity Diagram,

59

kita juga memodelkan aliran-aliran dari objek dalam pergerakannya dari suatu state lainnya state lainnya dalam suatu aliran kendali.

act Use Case Model Proses Siswa

Mulai

Petugas TU

Mendatangi tempat Pembayaran

Pencarian Informasi Data Sisw a

Ya Sisw a Melakukan Pembayaran Tidak Sisw a Menanyakan Informasi Tunggakan Pengecekan Mempunyai Tunggakan Pencarian Data Transaksi

Ya

Tidak Ada Tunggakan

Tidak

Melakukan Pembayaran dengan Menyertakan Kartu Iuran

Petugas Menerima Uang Pembayaran

Pencatatan Pada Buku Transaksi

Pencatatan Tanda Bukti Pada Kartu Iuran

Selesai

Gambar 3.1 Diagram Activity

60

3.5 Deskripsi Aktivitas Pengolahan Data pada sistem Informasi SPP Kepala TU sebagai administrator yang mengelola data user, supaya user bisa berinteraksi langsung dengan sistem.
act AD Administrator

Petugas TU Mulai

Akses SISPP

Login

Nama/Pass Salah

Ya Tidak

Ubah User Tidak

Ya

Administrator

Ya Buat User Baru

Operator

Input Data User

Ya

Administrator

Tidak

Ya Operator Selesai

Gambar 3.2 Pengolahan data user pada Sistem Informasi SPP

3.5.1 Deskripsi aktifitas pada sistem informasi pembayaran SPP Petugas TU sebagai user mengakses sistem informasi pembayaran SPP untuk masuk ke aplikasi program. Sebelum masuk ke aplikasi program, user terlebih dahulu harus melakukan Login dengan memasukan user_name dan Password. Setelah User melakukan Login, maka akan muncul menu tampilan utama dari program. Tetapi apabila terjadi kesalahan dalam pengisian username

61

dan password maka akan muncul pesan kesalahan / pemberitahuan bahwa user name atau passwor salah. Dalam menggunakan program lebih lanjut, user dapat melakukan pengisian untuk input data siswa serta user juga bisa melakukan perubahan data siswa dengan cara memilih form kelola data siswa. Begitu juga dengan data transaksi user juga bisa melakukan penginputan data ketika melakukan pencatatan

transaksi sesuai dengan jenis transaksi pembayaran uang sekolah, pada form pembayaran. Pada menu pembayaran terdapat sub-menu SPP, biaya lain dan tunggakan. Pada form kelola data, selain dapat melakukan input data siswa juga terdapat laporan pembayaran pada sub menu. sedangkan pada pembayaran petugas juga bisa melakukan pencetakan tanda bukti pembayaran yang dilakukan oleh petugas sebagai bukti bahwa siswa tersebut telah melakukan pembayaran uang sekolah atau bisa disebut SPP. Pembuatan dan pencetakan laporan-laporan mengenai transaksi pembayaran SPP, user harus memilih menu kelola data yang meliputi laporan pembayaran seperti pembayaran spp, uts dan uas, loporan perperiode berdasarkan skala kebutuhan (harian, bulanan dan tahunan) Laporan-laporan tersebut akan ditujukan kepada kepala tata usaha, WKS sekolah kesiswaan, kepala sekolah. Jika akan melakukan perubahan password, maka user harus memilih menu alat lalu data pengguna beserta ubah password atau tambah pengguna. Dari deskripsi aktifitas diatas dapat dikembangkan activity diagram yang dilakukan oleh user pada sistem informasi pembayaran SPP, UTS dan UAS.

3.6 Pengembangan Use Case Dalam tahapan pengembangan activity diagram terdapat gambaran umum sistem serta beberapa aksi aktor yang berinteraksi langsung dengan sistem. Dari alur tersebut maka dapat ditentukan proses pemodelan use case yang dilakukan user terhadap sistem sehingga sistem melakukan respon terhadap aksi yang dilakukan oleh user. Dari respon-respon tersebut diatas maka diperoleh gambaran use case diagram sebagai berikut:

62

Gambar 3.3 Use case Diagram untuk Sistem Informasi pembayaran SPP

3.7 Narative Use case 3.7.1 Narative use case untuk proses login Fungsi proses login merupakan reaksi sistem kepada setiap User untuk melindungi data transaksi. Syarat utama untuk mengakses sistem ini yaitu setiap user harus memasukan nama dan password. Tabel 3.2 Narative use case untuk proses Login
Nama Use Case ID Use Case Actor: Tujuan: Dekripsi/Uraian Proses Login SISPP-001 Petugas TU Membatasi hak akses user menjaga keamanan data Use-case ini memungkinkan aktor untuk mengidentifikasikan dirinya untuk dapat masuk kesistem dengan kewenangan tertentu yang lebih dari kewenangan aktor user umum. Syarat utama untuk mengakses sistem ini yaitu setiap User harus memasukan Username dan Password. Sistem akan memeriksa Username dan password yang dimasukan User kedalam basis data untuk melakukan pencocokan agar bisa melakukan login. Proses Login merupakan reaksi sistem kepada setiap User Kegiatan Pelaku Respons Sistem Step 1: petugas TU Step 2: Tampilan Utama SISPP. mengakses aplikasi SISPP. Step 4: Sistem menampilkan from Step 3: user mengisi from login login dengan username dan Step 6: Open database, validasi password user name dan password Step 7: Sistem menampilkan Step 5: klik OK menu layanan aplikasi SISPP bila username dan password benar Step 8: Sistem menampilkan dialog box pesan kesalahan bila password yang dimasukan salah Use case ini selesai bila konfirmasi proses login dan tampilan utama aplikasi menu SISPP telah ditampilkan.

Bidang Khas Suatu Event / Kejadian:

Kesimpulan:

63

3.7.2 Narative Use Case Untuk Kelola Data Siswa Fungsi proses input data merupakan reaksi sistem kepada setiap operator untuk memberikan kemudahan bagi petugas dalam pendaftaran identitas seluruh data siswa yang ada pada setiap transaksi yang ada di SMK MUHAMMADIYAH Garut. From yang disediakan oleh sistem akan membantu petugas ketika melakukan input data siswa. Tabel 3.3 Narative use case untuk kelola data siswa
Nama Use Case ID Use Case Actor: Tujuan: Dekripsi/Uraian Bidang Khas Suatu Event / Kejadian: Kelola Data Siswa SISPP-002 Petugas TU Memberikan kemudahan keapda user (petugas TU) dalam melakukan mengelola data siswa. User melakukan pengolahan data siswa yang meliputi ID siswa. Kegiatan Pelaku Respons Sistem Step 1: petugas TU membuka Step 2: Sistem menampilkan aplikasi SISPP. menu Utama SISPP. Step 3: Petugas TU membuka Step 4: Sistem menampilkan menu kelola data menu kelola data siswa. Step 5: Petugas TU membuka Step 6: Sistem menampilkan form data siswa form data siswa. Step 7: Petugas TU Step 8: Sistem menampilkan menginput data siswa atau form data siswa mengecek berdasarkan Step 10: Sistem merespons tingkatan (kelas) jurusan dengan menyimpan data (keahlian). tersebut. Step 9: Petugas TU memilih Step 12: Sistem merespons button save untuk menyimpan dengan menampilkan data data siswa siswa Step 11: Petugas TU Step 14: Sistem merespons mengklik button siswa, jika dengan menampilkan user akan menampilkan data kembali Menu Utama siswa. SISPP. Step 13: Bila petugas TU tidak akan melakukan pengolahan data siswa lagi, maka user mengklik button close untuk keluar dari from siswa. Use case ini selesai bila konfirmasi proses login dan tampilan utama aplikasi menu SISPP telah ditampilkan.

Kesimpulan:

3.7.3 Narative Use Case Untuk Proses Transaksi Pembayaran Fungsi proses transaksi pembayaran merupakan reaksi dari sistem untuk memberikan kemudahan kepada petugas sebagai pengguna dalam melakukan proses transaksi pembayaran secara cepat dengan cara menggunakan form berdasarkan kategori transaksi khusus yang telah disediakan oleh sistem.

64

Tabel 3.4 Narative use case untuk proses transaksi pembayaran


Nama Use Case ID Use Case Actor: Tujuan: Dekripsi/Uraian Bidang Khas Suatu Event / Kejadian: Proses Transaksi Pembayaran SISPP-003 Petugas TU Memberikan kemudahan kepada (petugas TU) sebagai user dalam melakukan proses transaksi pembayaran. Petugas melakukan proses transaksi pembayaran dengan jenis pembayaran SPP, UTS dan UAS. Kegiatan Pelaku Respons Sistem Step 1: Petugas TU membuka Step 2: Sistem menampilkan aplikasi SISPP. menu Utama SISPP. Step 3: Petugas TU membuka Step 4: Sistem menampilkan menu proses transaksi menu proses transaksi pembayaran. pembayaran. Step 5: Petugas TU membuka Step 6: Sistem menampilkan form data transaksi form data transaksi Step 7: Petugas TU pembayaran. menginput data transaksi pembayaran atau mengecek data transaksi pembayaran. Step 9: Petugas TU memilih Step 8: Sistem menampilkan button simpan untuk proses data transaksi menyimpan data transaksi pembayaran. pembayaran. Step 10: Sistem merespons Step 11: Petugas TU dengan menyimpan data mengklik button Transaksi tersebut. pembayaran, jika user akan Step 12: Sistem merespons menampilkan data transaksi dengan menampilkan data pembayaran. transaksi pembayaran. Step 13: Bila petugas TU Step 14: Sistem merespons tidak akan melakukan proses dengan menampilkan transaksi pembayaran lagi, kembali Menu Utama maka user mengklik button SISPP. close untuk keluar dari form transaksi pembayaran. Use case ini selesai bila proses transaksi pembayaran telah slesai.

Kesimpulan:

Skenario-skenario di atas berfungsi untuk menjelaskan aktifitas yang terjadi pada setiap use case. Melalui skenario kita dapat mengetahui gambaran proses yang akan terjadi pada sistem. Skenario ini akan membantu mempermudah pembuatan sequence diagram.

3.8 Pengembangan Interaction Diagram Setiap skenario dalam use case dapat digambarkan dalam urutan interaksi antara aktor dan sistem beserta aktivitasnya. Pengembangan dari use case yang dapat mengimplementasikan skenario adalah Interaction Diagram. Squence Diagram dan Collaboration Diagram, keduanya dinamakan sebagai Interaction

65

Diagram. Interaction Diagram digunakan untuk memperhatikan interaksi, yang memuat himpunan dari objek serta relasi yang terjadi antara objek itu, termasuk juga bagaimana message (pesan) mengalir diantara objek.

3.9 Sequence Diagram Sequence diagram bisa digunakan untuk menggambarkan skenario atau rangkaian lengkah-langkah yang dilakukan sebagai respon dari sebuah event untuk menghasilkan output tertentu. Diagram ini juga menjelaskan bagaimana objek berinteraksi dengan objek yang lainnya yaitu dengan cara mengirim dan menerima pesan.

3.9.1 Sequence Diagram Untuk Proses Login Pada Sequence diagram login, sistem akan meminta user untuk memasukan nama dan password jika nama dan password yang dimasukan vailid, maka sistem akan melakukan login dan user dapat mengakses sistem SISPP. Sebaliknya jika password yang dimasukan salah maka sistem akan menampilkan suatu pesan kesalahan bahwa password atau username yang anda masukan salah.

Gambar 3.4 Sequence diagram untuk proses login

66

3.9.2 Sequence Diagram Untuk Kelola Data Siswa Pada sequence diagram untuk proses data siswa, bertujuan untuk memudahkan user dalam proses input data siswa pada setiap pengolahan data siswa, serta untuk memudahkan user dalam pencarian data siswa pada setiap tansaksi.

Gambar 3.5 Sequence diagram untuk kelola data siswa 3.9.3 Sequence diagram Untuk Proses Transaksi Pembayaran Pada Sequence diagram proses transaksi pembayaran, user akan memasukan data transaksi sesuai dengan kategori transaksi dan besarnya nominal pembayaran yang dilakukan diantaranya pembayaran SPP, UTS dan UAS.

67

Gambar 3.6 Sequence diagram untuk Proses Transaksi Pembayaran

3.9.4 Sequence diagram Untuk Proses penghitungan Tunggakan Pada Sequence diagram untuk proses tunggakan, user akan mengecek data tunggakan sesuai dengan kategori tunggakan yang tersisa atau tunggakan yang belum di bayar.

68

Gambar 3.7 Sequence diagram untuk Proses Penghitungan Tunggakan 3.9.5 Sequence diagram Untuk Proses Buat Laporan Pada fungsi buat laporan, user dapat mengatur laporan data transaksi pembayaran yang akan dicetak menurut periode kebutuhan dengan menampilkan jenis laporan.

69

Gambar 3.8 Sequence diagram Untuk Proses Buat Laporan

3.9.6 Sequence diagram Untuk Proses Ganti Password Funsi proses ganti password merupakan reaksi dari sistem untuk membatasi hak akses user (pengguna) untuk menjaga keamanan data.

70

Gambar 3.9 Sequence diagram Untuk Proses Ganti Password

3.10 Collaboration Diagram Collaboration Diagram menekankan pada organisasi struktural objek-objek yang mengirim serta menerima pesan.

71

3.10.1 Collaboration Diagram Untuk Proses Login


sd Collaboration Diagram Login

Petugas 1: Akses SISPP() Si stem Informasi SISPP

2: Masukan Form Logi n() Form Logi n

3: Masukan Nama Dan Password() Memi nta Masukan Nama dan Password

3.1: Val i dasi Logi n ?() Logi n

3.2: Password Sal ah()

3.3: *Password Benar() Menu Utama SISPP

3.4: T ampi l an Menu Utama SISPP()

Gambar 3.10 Collaboration Diagram untuk proses login

3.10.2 Collaboration Diagram Untuk Kelola Data Siswa

sd Collabortion Diagram Data Sisw a

Petugas 1: Akses Apl i kasi SISPP() 1.1: T ampi l an Menu Utama SISPP()

Menu Utama SISPP

2.1: T ampi l an Menu Input Data() 2: Membuka Menu Input Data() Menu Input Data

3: Membuka Form Data Si swa() Form Data Si swa

3.1: T ampi l an Form Data Si swa()

4: T ampi l an Data Si swa() Data Si swa

4.1: Val i dasi Data Si swa ?()

Gambar 3.11 Collaboration Diagram untuk Kelola Data Siswa

72

3.10.3 Collaboration Diagram Untuk Proses Transaksi Pembayaran


sd Collaboration Diagram Data Transaksi

2.1: Tampilan Menu Input Data() Petugas 1: Akses Aplikasi SISPP() 1.1: Tampilan Menu Utama SISPP() Menu Utama SISPP

Menu Input Data

2: Buka Menu Input Data()

3.1: Tampilan From Data Transaksi Berdasarkan Jenis pembayaran() 3: Buka Form Data Transaksi() From Data Transaksi

4.2: Tampilan Data Transaksi Sesuai Dengan Jenis Pembayaran() 4.1: Data Transaksi Tersimpan () 4: Validasi Data Transaksi() Data Transaksi

Gambar 3.12 Collaboration Diagram Untuk Proses Transaksi Pembayaran 3.10.4 Collaboration Diagram Untuk Mengecek Status Pembayaran
sd Collaboration Diagram Mengecek Status Pembayaran

Petugas TU

1: Akses Aplikasi SISPP()

1.1: Tampilan Menu Utama SISPP() Menu Utama SISPP

2: Buka Menu Pembayaran()

2.1: Tampilan Menu Pembayaran() Menu Pembayaran

3: Buka Form Pembayaran()

3.1: Tampilan Form Pembayaran() Form Pembayaran 4.3: Nunggak()

4.1: Validasi Pembayaran() 4.2: Lunas () 4: Tampilan Data Pembayaran() Data Pembayaran

Gambar 3.13 Collaboration Diagram Untuk Mengcek Status Pembayaran

73

3.10.5 Collaboration Diagram Untuk Pengolahan Data Laporan


sd Collaboration Diagram Data Laporan

Petugas TU

1: Akses Aplikasi SISPP() Menu Utama SISPP

1.1: Tampilan Menu Utama SISPP()

2: Buka Menu Laporan() Menu Laporan

2.1: Tampilan Menu Laporan()

3.1: Tampilan Laporan() 3: Buka From Laporan() Form Laporan

5: Hitng Laporan() 4: Validasi Laporan()

5.1: Tampil Proses Data Laporan() Data Laporan 4.1: Laporan Tercetak()

Gambar 3.14 Collaboration Diagram Untuk Membuat dan Mencetak Data Laporan

3.10.6 Collaboration Diagram Untuk Proses Cetak Tanda Bukti


sd Collaboration Diagram Tanda Bukti

Petugas 1.1: T ampilan Menu Utama SISPP() 1: Akses Aplikasi SISPP() Menu Utama SISPP

2: Buka Menu T anda Bukti()

2.1: T ampilan Menu T anda Bukti() Menu T anda Bukti T ransaksi

3: Buka From T anda Bukti()

3.1: T ampilan T anda Bukti() From T anda Bukti T ransaksi

4: Validasi T anda Bukti T ransaksi Pembayaran() Data T anda Bukti T ransaksi 4.1: T anda Bukti T ercetak()

Gambar 3.15 Collaboration Diagram Untuk Proses Cetak Tanda Bukti

74

3.10.7 Collaboration Diagram Untuk Proses Ganti Password


sd Collaboration Diagram Ganti Passw ord

Petugas 1.1: Tampilan Menu Utama SISPP() 1: Akses Menu SISPP() Menu Utama SISPP

2: Buka Menu Pengaturan()

Menu Pengaturan

2.1: Tampilan Menu Pengaturan()

3.2: Masukan Nama&Password() 3: Pilih Ubah User() 3.1: Tampilan From Ubah User() From Ganti Password

Gambar 3.16 Collaboration Diagram Untuk Proses Ganti Password

3.11 Diagram Class 3.11.1 Identifikasi Class Pada Sistem Informasi Pembayaran SPP A. Identifikasi Class Dari seluruh interaction diagram yaitu melalui gambaran pada sequence diagram dan collaboration diagram untuk setiap proses diatas, dapat dilihat gambaran kandidat-kandidat kelas yang akan digunakan dalam perancangan sistem. Kandidat kelas tersebut didapatkan dari objek-objek yang ada dalam Iinteraction diagram. Hal yang pertama dilakukan dalam pengklasifikasian adalah dengan mendaftarkan sejumlah objek menjadi kandidat kelas. Adapun kandidat kelas yang dapat diidentifikasi dari diagram sebelumnya adalah sebagai berikut. B. Identifikasi Class pada Interaction Diagram Login Kandidat calss yang terdapat pada interaction diagram ini adalah: Petugas TU Form Login Load form Login Sistem Informasi Pembayaran SPP Menu Utama SISPP Mangakses Aplikasi SISPP

75

Tampilan form login Input Username dan Password Login Klik Button Login Validasi Login Load Menu Utama Tampilan Menu Utama SISPP Tampilan Pesan Kesalahan Selanjutnya kandidat class di atas ditentukan kategori class-nya (Relevan class, Fuzzy Class dan Irrelevant Class). Jika ada kandidat yang masuk pada kategori Irrelevant Class maka kandidat tersebut di eliminasi dari list kandidat clas. Berikut ini adalah kandidat class berdasarkan kategorinya. Tabel 3.5 Eliminasi Class Berdasrkan Interaction Diagram Login
Kandidat Class Petugas TU Kategori Class Irrelevent Class Alasan Karena merupsksn aktor yang berinteraksi langsung dengan sistem Karena merupakan Interface saja Karena merupakan aktifitas sistem Karena merupakan nama saja Karena tidak memiliki objek dan aksi Karena merupakan aktifitas sistem Karena merupakan nama saja Karena merupakan atributes class dari form login Karena merupakan aktor yang berinteraksi langsung dengan sistem Karena merupakan aktifitas, Button Login sebagai method dari Form Login Karena merupakan aktifitas sistem Karena merupakan aktifitas sistem Karena merupakan nama saja Karena tidak memiliki objek dan aksi Karena merupakan aktifitas sistem Karena merupakan nama saja

Form Login Load Form Login Sistem Informasi Pembayaran SPP Menu Utama Mengakses Aplikasi SISPP Tampilan Form Login Input Username dan Password Login

Irrelevent Class Irrelevent Class Irrelevent Class Irrelevent Class Irrelevent Class Irrelevent Class Irrelevent Class Irrelevent Class Fuzzy Class Irrelevent Class

Klik Button Login

Irrelevent Class

Validasi Login Load Menu Utama Sistem Informasi Pembayaran SPP MenuUtama Mengakses Aplikasi SISPP Tampilan Form Login

Irrelevent Class Irrelevent Class Irrelevent Class Irrelevent Class Irrelevent Class Irrelevent Class

Tidak ada class yang dapat teridentifikasi pada interactin diagram login.

76

C. Identifikasi Class Pada Interaction Diagram Pengolahan Data Siswa Kandidat class yang terdapat pada interaction ini adalah: Petugas TU Mengakses Aplikasi SISPP Membuka menu input data Membuka form siswa Tampilan form siswa Pencarian informasi atau Cek status siswa Data siswa Selanjutnya kandidat class diatas ditentukan kategori class-nya (Relevan class, Fuzzy Class dan Irrelevant Class). Jika ada kandidat yang masuk pada kategori Irrelevant Class maka kandidat tersebut dieliminasi dari list kandidat class. Berikut ini adalah kandidat class bedasarkeun kategorinya. Tabel 3.6 Eliminasi Irelevant Class Berdasarkan Interaction Diagram Pengolahan Data Siswa
Kandidat Class Petugas TU Mengakses Aplikasi SISPP Tampilan Menu Utama Membuka Menu Input Data Membuka Form Siswa Tampilan Form Siswa Penerimaan Informasi atau Cek Status Siswa Siswa Input Siswa Kategori Class Irrelevent Class Irrelevent Class Irrelevent Class Irrelevent Class Irrelevent Class Irrelevent Class Irrelevent Class Alasan Karena merupakan aktor yang berinteraksi langsung dengan sistem Karena merupakan aktifitas sistem Karena merupakan nama saja Karena merupakan aktifitas sistem Karena merupakan aktifitas sistem Karena merupakan nama saja Karena merupakan proses dari pencarian atau pengecekan informasi data atau status siswa Karena mempunyai atribut serta method Karena merupakan atributes class dari form data siswa

Relevan Class Fuzzy Class

Class yang dapat didefinisikan pada interaction pengolahan data siswa adalah: Siswa: Class siswa merupakan class yang memuat data siswa. D. Identifikasi Class pada Interaction Diagram Proses Pengolahan Data Transaksi Kandidat class yang terdapat pada interaction ini adalah: Petugas TU Mengakses Aplikasi SISPP Tampilan Menu Utama SISPP

77

Membuka Menu Input Data Membuka form Pembayaran Tampilan form Pembayaran Pilih Pembayaran Pilih Jenis Pembayaran Pembayaran SPP Pembayaran UTS Pembayaran UAS Selanjutnya kandidat class di atas ditentukan kategori class-nya (Relevant class, Fuzzy Class dan Irrelevant Class). Jika ada kandidat yang masuk pada kategori Irrelevant Class maka kandidat tersebut dieliminasi dari list kandidat class. Berikut ini adalah kandidat class berdasarkan kategorinya. Tabel 3.7 Eliminasi Irrelevant Class Berdasarkan Interaction Diagram Pengolahan Data Transaksi
Kandidat Class Petugas TU Mengakses Aplikasi SISPP Tampilan Menu Utama Membuka Menu Input Data Tmpilan Form Pembayaran Tampilan Form Kategori Pembayaran Pembayaran Jenis Pembayaran Pembayaran SPP Pembayaran UTS Pembayaran UAS Kategori Class Irrelevent Class Irrelevent Class Irrelevent Class Irrelevent Class Irrelevent Class Irrelevent Class Relevant Class Relevant Class Relevant Class Relevant Class Relevant Class Alasan Karena merupakan aktor yang berinteraksi langsung dengan sistem Karena merupakan aktifitas sistem Karena merupakan nama saja Karena merupakan aktifitas sistem Karena merupakan nama saja Karena merupakan nama saja Karena mempunyai atribut serta method Karena mempunyai atribut serta method Karena mempunyai atribut serta method Karena mempunyai atribut serta method Karena mempunyai atribut serta method

Class yang dapat di identifikasi pada interaction pengolahan data transaksi adalah: Pembayaran: Class pembayaran merupakan Class yang memuat data trnsaksi pembayaran. Jenis pembayaran: Class jenis pembayaran merupakan Class yang memuat data pembayaran. a. Identifikasi Class Pada Interaction Diagram Proses Buat Laporan Kandidat Class yang terdapat pada interaction ini adlah: Petugas TU Mengakses Aplikasi SISPP

78

Tampilan menu Utama SISPP Membuka Menu Laporan Tampilan Menu Laporan Form laporan Data Laporan Pilih periode laporan Tampilan form data laporan Klik Button Print Tampilan data laporan Selanjutnya kandidat class di atas ditentukan kategori class-nya. (Relevant clas, Fuzzy dan Irrelevant Class). Jika ada kandidat yang masuk pada kategori Irrelevant Class maka kandidat tersebut dieliminasi dari list kandidat class. Berikut ini adalah kandidat class berdasarkan kategorinya.

Tabel 3.8 Eliminasi Irrelevant Class Baerdasarkan Interaction Diagram Buat Laporan
Kandidat Class Petugas TU Mengakses Aplikasi SISPP Membuka Menu Laporan Membuka Menu Laporan Tampilan Form Laporan Form Laporan Laporan Pilih periode laporan Tampilan Form laporan Klik Button Print Tampilan Data Laporan Irrelevent Class Kategori Class Irrelevent Class Irrelevent Class Irrelevent Class Irrelevent Class Irrelevent Class Irrelevent Class Irrelevent Class Irrelevent Class Irrelevent Class Irrelevent Class Alasan Karena merupakan aktor yang berinteraksi langsung dengan sistem Karena merupakan aktifitas sistem Karena merupakan nama saja Karena merupakan aktifitas sistem Karena merupakan nama saja Karena merupakan interface saja Karena mempunyai atribut serta method Karena merupakan aktivitas sistem Karena merupakan nama saja Karena merupakan aktivitas, dan Buttonprint sebagai method dari From berdasarkan kategori data laporan Karena hanya informasi data laporan

Class yang dapat di identifikasi pada interaction data laporan adalah: Laporan: Class laporan merupakan Class yang memuat data laporan. b. Identifikasi Class Pada interaction Diagram Proses Ganti Password Kandidat class yang terdapat pada interaction ini adalah: Pertugas TU Menu Utama SISPP Mengakses Aplikasi SISPP

79

Menu pengaturan Pilih ubah user Tampilan form ubah user Masukan perubahan Klik ok Simpan perubahan Selanjutnya kandidat class di atas ditentukan kategori clas-nya (Relevant class, Fuzzy Class dan Irrelevant Class). Jika ada kandidat yang masuk pada kategori Irrelevant Class maka kandidat tersebut dieliminasi dari list kandidat class. Berikut ini adalah kandidat class berdasarkan kategorinya. Tabel 3.9 Eliminasi Irrelevant Class berdasarkan Interaction Diagram Proses Ganti Password
Kandidat Class Petugas TU Menu Utama SISPP Mengakses Aplikasi SISPP Menu pengaturan Form ganti password Tampilan menu utama Membuka menu pengaturan Tampilan menu pengaturan Membuka form ganti Password Tampilan form ganti password Input password lama Input password baru Ulangi password Kategori Class Irrelevant Class Irrelevant Class Irrelevant Class Irrelevant Class Irrelevant Class Irrelevant Class Irrelevant Class Irrelevant Class Irrelevant Class Irrelevant Class Fuzzy Class Fuzzy Class Fuzzy Class Alasan Karena merupakan aktor yang berinteraksi langsung dengan sistem Karena tidak memiliki objek dan aksi Karena merupakan aktifitas sistem Karena tidak memiliki objek dan aksi Karena merupakan interface saja Karena merupakan nama saja karena merupakan aktifitas sistem Karena merupakan nama saja karena merupakan aktifitas sistem Karena merupakan nama saja Karena merupakan atributes class dari Form data ganti Password Karena merupakan atributes class dari Form data ganti password Karena merupakan antributes class dari form data ganti password

Tidak ada class yang dapat terindetifikasi pada interction ganti password. Berdasarkan hasil identifikasi di atas, terdapat beberapa class yang dapat di identifikasi. Berikut adalah class yang teridentifikasi pada sistem informasi pembayaran SPP. Siswa : Class siswa merupakan Class yang memuat data siswa.

Transaksi Pembayaran: Class pembayaran merupakan Class yang memuat data transaksi pembayaran

80

Laporan

: Class laporan merupakan Class yang memuat data laporan.

Tunggakan

: Class tunggakan merupakan Class yang memuat tunggakan bagi setiap siswa.

User Pembayaran SPP

: Class User merupakan Class yang memuat data User. : Class pembayaran SPP merupakan Class yang memuat pembayaran SPP

Pembayaran UTS

: Class pembayaran UTS merupakan Class yang memuat pembayaran UTS

Pembayaran UAS

: Class pembayaran UAS merupakan Class yang memuat pembayaran UAS

3.12 Identifikasi Atribut dan Method Setelah semua class teridentifikasi, selanjutnya dilakukan identifikasi terhadap atribut dan method yang dimiliki tiap kelas. Adapun atribut dan method tersebut dapat kita peroleh dari sequence diagram yang tergambar pada message antar objek. Atribut dan method yang teridentifikasi dapat dilihat pada tabel berikut. Tabel 3.10 Identifikasi Atribut dan method
Class Atribut NIS_Siswa Nama_Siswa JK_Siswa Alamat_Siswa TmptLahir__Siswa TglLahir_Siswa Jurusan_Siswa Kelas_Siswa status Id_Pembayaran Id_Siswa Tanggal_Transaksi Method

Siswa

addSiswa deletSiswa editSiswa saveSiswa

Transaksi Pembayaran

Id_Tunggakan Jenis_Tunggakan Tunggakan

addPembayaran deletPembayaran editPembayaran getPembayaran savePembayaran viewPembayaran addJenisTunggakan deletJenisTunggakan editJenisTunggakan getJenisTunggakan saveJenisTunggakan viewJenisTunggakan

81

Tabel 3.10 Identifikasi dan method (Lanjutan)


Class Laporan Atribut Id_Laporan Jenis_Laporan Periode_Laporan Id_User Nama Password Jabatan Id_pembayaran SPP Id_Siswa Tanggal_Transaksi Id_pembayaran UTS Id_Siswa Tanggal_Transaksi Id_pembayaran UAS Id_Siswa Tanggal_Transaksi Method addLaporan printLaporan displayLaporan addUser deleteUser editUser saveUser addPembayaranSPP getPembayaranSPP savePembayaranSPP viewPembayaranSPP addPembayaranUTS getPembayaranUTS savePembayaranUTS viewPembayaranUTS addPembayaranUAS getPembayaranUAS savePembayaranUAS viewPembayaranUAS

User

Pembayaran SPP

Pembayaran UTS

Pembayaran UAS

3.12.1 Identifikasi Relationship Setelah semua class telah teridentifikasi, maka langkah selanjutnya lyaitu menentukan relationships antara kelas. Adapun relationships dari tiap kelas dapat dilihat pada tabel dibawah ini. Tabel 3.11 Relationships Class Sistem Pembayaran SPP
Class Siswa Transaksi Pembayaran Tunggakan Laporan User Pembayaran SPP Pembayaran UTS Pembayaran UAS Related Class Pembayaran Siswa Tunggakan Pembayaran Petugas SPP UTS UAS Association Name Get Siswa Get Pembayaran Get Tunggakan Get Laporan Get User Get SPP Get UTS Get UAS cardinality One or more One or more One or more One or more One or more One or more One or more One or more

82

BAB IV PERANCANGAN DAN IMPLEMENTASI

4.1 Perancangan Sistem Perancangan sistem dirancang berdasarkan hasil dari tahap analisis sebelumnya. Tujuannya untuk memberikan gambaran yang jelas guna mempermudah proses pembuatan perangkat lunak atau sistem informasi. Pada tahap perancangan lebih terfokus pada bagaimana cara untuk menyajikan informasi kepada aktor serta merancang interface sehingga aktor dapat berinteraksi dengan sistem. Keterangan: 1. Perancangan kelas, asosiasi, metode dan atribut Pada tahap ini dilakukan perancangandan pemriksaaan atribut, method dan visibilitasnya terhadap kelas-kelas yang telah teridentifikasi. Ditahap ini apabila ada kelas, atribut, methode yang sekiranya perlu ada maka dilakukan penambahan; 2. Menyaring (memeriksa) UML Class Diagram Proses menyaring diagram kelas mulai dari nama kelas, asosiasi, atribut serta methode-nya. Tahap ini difokuskan pada pengembangan method yang ada dengan activity diagram. Dari activity diagram yang telah dirancang bisa membantu pengembangan sistem selama pembuatan perangkat lunak terutama respon serta alur kerja pengoperasian sistem. 3. Perancangan Layer Akses dan Layer Antarmuka Proses merancang Layer akses dan Grafhic User Interface (GUI) berdasarkan pada class diagram yang telah dirancang sebelumnya. Layer akses adalah layer yang menjadi media penterjemah kebutuhan user terhadap sistem dan respon sistem terhadap kebutuhan user, Layer antarmuka adalah layer dimana user akan berkomunikasi terhadap sistem melalui suatu interface. 4. Pengujian Proses terakhir dari perancangan sistem dalam UA dengan melakukan pengujian terhadap sistem. Apakah telah memenuhi kebutuhan atau masih terdapat kekurangan. Bila masih ada kekurangan maka dilakukan perbaikan. 82

83

4.2 Perancangan Kelas 4.2.1 Perancangan Kelas, Asosiasi, Metode dan Atribut Pada tahapan ini dilakukan pemeriksaan kembali terhadap kelas-kelas yang diperoleh dari tahap analisis. Dalam perancangan tahap ini, penambahan atribut serta visibilitas pada setiap atribut dan operasi dilakukan untuk melengkapi class diagram.
class Class Diagram SISPP

Sisw a + + + + + alamat_siswa: varchar jk_siswa: int jurusan_siswa: varchar kelas_siswa: int nama_siswa: varchar NIS_siswa: int tahun_ajaran: date tgllahir_siswa: date tmptlahir_siswa: varchar addSiswa() : void deletSiswa() : void editSiswa() : void getPembayaran() : void getSiswa() : void + + + + + + +

Transaksi Pembayaran id_pembayaran: int NIS_siswa: int tanggal_pembayaran: int total_bayar: int addPembayaran() : void editPembayaran() : void getNIS() : void getPembayaran() : void savePembayaran() : void veiwPembayaran() : void viewPembayaran() : void Biaya Lain + + + + id_biaya lain: int id_config: int jenis_biaya: int status: int tglakhrbayar: int tglawalbayar: int addbiayalain() : void getbiayalain() : void printbiayalain() : void savebiayalain() : void

User + + + + + id_User: int nama_lengkap: int nama_User: int Password: int status: int tipe_user: int addUser() : void deletUser() : void editUser() : void getSiswa() : void saveUser() : void

Tunggakan + + + id_Laporan: int jenis_Tunggakan: int nis_siswa: int nominal: int status: int tahun: int tanggal: int addLaporan() : void displayLaporan() : void printLaporan() : void + + + + + + +

Jenis Pembayaran id_Pembayaran: int jenis_pembayaran: int NIS_Siswa: int addLaporan() : void addPembayaran() : void deletPembayaran() : void editPembayaran() : void getPembayaran() : void savePembayaran() : void veiwPembayaran() : void

Laporan + + + id_laporan: int jenis_laporan: int periode_laporan: int displayLaporan() : void get Range() : void print_laporan() : void

Pembayaran SPP

Pembayaran UTS

Pembayaran UAS

Gambar 4.1 Class Diagram Sistem Informasi Pembayaran SPP

4.2.2 Refine Kelas-Kelas Pada Sistem Sebagaimana telah dijelaskan pada bab sebelumnya bahwa kelas-kelas yang teridentifikasi pada sistem informasi pembayaran SPP yang diusulkan pada penelitian ini adalah sebagai berikut: 1. Kelas Siswa 2. Kelas Pembayaran 3. Kelas Tunggakan 4. Kelas Laporan

84

5. Kelas User 6. Kelas Pembayaran SPP 7. Kelas Pembayaran UTS 8. Kelas Pembayaran UAS Kelas-kelas diatas akan dikaji ulang dari sisi atribut serta methodmethodnya.

4.2.3 Refine Atribut-Atribut Class Dari kelas-kelas yang disajikan sebelumnya. pada tahap ini akan dilakukan refine untuk masing atribut-atribut pada masing-masing kelas dikaji ulang dengan menambahkan beberapa informasi pada masing-masing atribut. Informasi yang ditambahkan adalah berupa visibilitas dan tipe data masing-masing atribut. Visibilitas terdiri dari tiga jenis visibilitas: + public visibility (dapat diakses pada seluruh kelas) # protected visibility (hanya dapat diakses oleh subclass dan method pada kelas yang bersangkutan) - Private visibility (hanya dapat diakses pada kelas yang memilikinya) Berikut adalah class diagram dengan atribut yang sudah dikaji ulang:
class Class Diagram SISPP Sisw a + + + + + alamat_siswa: varchar jk_siswa: int jurusan_siswa: varchar kelas_siswa: int nama_siswa: varchar NIS_siswa: int tahun_ajaran: date tgllahir_siswa: date tmptlahir_siswa: varchar addSiswa() : void deletSiswa() : void editSiswa() : void getPembayaran() : void getSiswa() : void + + + + + + +

Transaksi Pembayaran id_pembayaran: int NIS_siswa: int tanggal_pembayaran: int total_bayar: int addPembayaran() : void editPembayaran() : void getNIS() : void getPembayaran() : void savePembayaran() : void veiwPembayaran() : void viewPembayaran() : void Biaya Lain + + + + id_biaya lain: int id_config: int jenis_biaya: int status: int tglakhrbayar: int tglawalbayar: int addbiayalain() : void getbiayalain() : void printbiayalain() : void savebiayalain() : void

User + + + + + id_User: int nama_lengkap: int nama_User: int Password: int status: int tipe_user: int addUser() : void deletUser() : void editUser() : void getSiswa() : void saveUser() : void

Tunggakan + + + id_Laporan: int jenis_T unggakan: int nis_siswa: int nominal: int status: int tahun: int tanggal: int addLaporan() : void displayLaporan() : void printLaporan() : void + + + + + + +

Jenis Pembayaran id_Pembayaran: int jenis_pembayaran: int NIS_Siswa: int addLaporan() : void addPembayaran() : void deletPembayaran() : void editPembayaran() : void getPembayaran() : void savePembayaran() : void veiwPembayaran() : void

Laporan + + + id_laporan: int jenis_laporan: int periode_laporan: int displayLaporan() : void get Range() : void print_laporan() : void

Pembayaran SPP

Pembayaran UTS

Pembayaran UAS

Gambar 4.2 Class Diagram untuk atribut yang sudah dikaji ulang (refine)

85

4.2.4 Refine Method-method kelas Sebagaimana method-method yang telah terindentifikasi sebelumnya, maka pada tahap ini method-method tersebut akan ditinjau ulang dengan menambahkan beberapa informasi berupa visibilitas (visibility) dari masing-masing method pada kelas. Berikut format suatu method berdasarkan notasi Unified Modelling Language (UML): Berdasarkan beberapa visibilitas suatu method: + public visibility (dapat diakses pada seluruh kelas) # protected visibility (dapat diakses oleh subclass dan method pada kelas yang bersangkutan). - Private visibility (hanya dapat diakses pada kelas yang memilikinya). Berikut tabel yang menunjukan method pada masing-masing kelas:
Class Method +addSiswa +deletSiswa +editSiswa +getSiswa +saveSiswa +addPembayaran +deletPembayaran +editPembayaran +getPembayaran +savePembayaran +viewPembayaran +addJenisTunggakan +deletJenisTunggakan +editJenisTunggakan +getJenisTunggakan +saveJenisTunggakan +viewJenisTunggakan +addLaporan +printLaporan +displayLaporan +addUser +deletUser addPembayaranSPP getPembayaranSPP savePembayaranSPP viewPembayaranSPP addPembayaranUTS getPembayaranUTS savePembayaranUTS viewPembayaranUTS addPembayaranUAS getPembayaranUAS savePembayaranUAS viewPembayaranUAS

Kelas Siswa

Pembayaran

Tunggakan

Laporan User

Pembayaran SPP

Pembayaran UTS

Pembayaran UAS

Tabel 4.1 Refine method-method kelas

86

class Class Diagram SISPP

Sisw a + + + + + alamat_siswa: varchar jk_siswa: int jurusan_siswa: varchar kelas_siswa: int nama_siswa: varchar NIS_siswa: int tahun_ajaran: date tgllahir_siswa: date tmptlahir_siswa: varchar addSiswa() : void deletSiswa() : void editSiswa() : void getPembayaran() : void getSiswa() : void + + + + + + +

Transaksi Pembayaran id_pembayaran: int NIS_siswa: int tanggal_pembayaran: int total_bayar: int addPembayaran() : void editPembayaran() : void getNIS() : void getPembayaran() : void savePembayaran() : void veiwPembayaran() : void viewPembayaran() : void Biaya Lain + + + + id_biaya lain: int id_config: int jenis_biaya: int status: int tglakhrbayar: int tglawalbayar: int addbiayalain() : void getbiayalain() : void printbiayalain() : void savebiayalain() : void

User + + + + + id_User: int nama_lengkap: int nama_User: int Password: int status: int tipe_user: int addUser() : void deletUser() : void editUser() : void getSiswa() : void saveUser() : void

Tunggakan + + + id_Laporan: int jenis_Tunggakan: int nis_siswa: int nominal: int status: int tahun: int tanggal: int addLaporan() : void displayLaporan() : void printLaporan() : void + + + + + + +

Jenis Pembayaran id_Pembayaran: int jenis_pembayaran: int NIS_Siswa: int addLaporan() : void addPembayaran() : void deletPembayaran() : void editPembayaran() : void getPembayaran() : void savePembayaran() : void veiwPembayaran() : void

Laporan + + + id_laporan: int jenis_laporan: int periode_laporan: int displayLaporan() : void get Range() : void print_laporan() : void

Pembayaran SPP

Pembayaran UTS

Pembayaran UAS

Gambar 4.3 Class Diagram dengan method yang sudah dikaji ulang (refine)

4.5 Perancangan Layer Akses dan Antar Muka 4.5.1 Perancangan Layer Akses Tujuan utama dari perancangan layer akses adlah menyediakan layer yang dapat mengkomunikasikan sebuah kelas dengan data source. Layer akses harus dapat menterjemahkan pemintaan yang ada pada kelas bisnis yang di inputkan melalui kelas interface. 1. Menerjemahkan pemintaan Layer akses harus dapat menterjemahkan permintaan data dari layer bisnis melalui interface terhadap tempat penyimpanan data (data base). Contoh: Admin memasukan user name dan Password untuk melakukan login, maka layer akses harus membuat pernyataan SQL yang benar untuk mengeksekusinya. 2. Menterjemahkan hasil

87

Layer akses harus dapat menampilkan data yang diminta ke dalam bisnis layer melalui view layer. Contoh: User malakukan pencarian informasi tertentu, dalam hal ini sistem harus dapat menampilkan informasi yang diinginkan oleh user sesuai dengan keinginan user. Pada tahap ini akan didefinisikan kelas yang akan dijadikan kelas penyimpanan (database). Kelas tersebut akan digabungkan ke dalam class diagram yang telah ada. Dalam perancangan sistem ini dapat teridentifikasi 1 kelas penyimpanan dengan nama database pembayaran (DB pembayaran) yang menyimpan semua data pembayaran. Berikut merupakan class diagram untuk kelas bisnis yang telah digabungkan dengan kelas akses yang telah terindentifikasi:

88

class Rancangan Akhir Class Bisnis Class Interface

Siswa User + + + + + + + id_User: int Jabatan: int nama_User: int password: int addUser() : void CekPassword() : void CekUsername() : void deletUser() : void editUser() : void getUser() : void saveUser() : void + + + + + Alamat_siswa: int Jk_Siswa: int Jurusan_Siswa: int Kelas_Siswa: int nama_siswa: int Nis_Siswa: int Status: int tahun_pelajaran: int tgllahir_siswa: int tmptlahir_siswa: int addSiswa() : void deletSiswa() : void editSiswa() : void getPembayaran() : void getSiswa() : void

Menu Utama + showMenuUtama() : void Transaksi Pembayaran + + + + + + id_pembayaran: int Nis_siswa: int tanggal_pembayaran: int addPembayaran() : void deletPembayaran() : void editPembayaran() : void getPembayaran() : void savePembayaran() : void viewPembayaran() : void + + + + Biaya Lain id_biaya Lain: int Id_config: int jenis_biaya: int status: int tglakhrbayar: int tglawalbayar: int addbiayalain() : void getbiayalain() : void printbiayalain() : void savebiayalain() : void

UserUI + ShowFromUser() : void

Pembayaran + ShowPembayaran() : void

Kelola Data + ShowKelolaData() : void

Alat + ShowFormAlat() : void

Tentang + ShowTentang() : void

LoginUI + ShowFromLogin() : void

SPP + ShowSPP() : void

Data Siswa + ShowDataSiswa() : void

Data Pengguna + ShowDataPengguna() : void

Jenis Pembayaran Tunggakan Laporan Id_Laporan: int Jenis_laporan: int Periode_Laporan: int id_Laporan: int jenis_laporan: int periode_laporan: int + + + + + + + Id_Pembayaran: int Jenis_pembayaran: int Nis_Pembayaran: int addLaporan() : void addPembayaran() : void deletPembayaran() : void editPembayaran() : void getPembayaran() : void savePembayaran() : void viewPembayaran() : void Biaya Lain Konfigurasi + ShowBiayaLain() : void Laporan Pembayaran + ShowKonfigurasi() : void + ShowLaporanPembayaran() : void

+ addlaporan() : void + displaylaporan() : void + printlaporan() : void

+ addLaporan() : void + displayLaporan() : void + printLaporan() : void

TunggakanSiswa Cetak Format Kwitansi + ShowTunggakanSiswa() : void + ShowCetakKwitansi() : void

UTS

UAS

SPP

Gambar 4.4 Rancangan Akhir Class Diagram (Kelas Bisnis, Kelas Akses dan Kelas Antarmuka)

89

4.5.2

Perancangan Basis data Perancangan aplikasi pembayaran SPP ini menggunakan MySQL persi 5

Comunity sebagai basis data (data base). Berikut gambaran umum koneksi antar interface sistem dengan sistem basis data MySQLpersi 5:
tbBayar tbBiayaLain tbDetBayarBiayaLain

tbDetBayarSPP tbDetBayarTunggakan tbUser

tbKonfig

tbSiswa

tbTunggakan

tbSPP

Gambar 4.5 Class Diagram Perancangan Basis Data

4.5.3

Deskripsi Tabel Dalam Basis Data

Berdasarkan class diagram perancangan basis data, berikut tabel-tabel basis data yang akan digunakan dalam perancangan aplikasi. 1. Tabel tb_ bayar Tabel ini menyimpan data transaksi pembayaran, berikut tabelnya:

90

Tabel 4.2 Tabel tb_bayar

Berikut statement SQL untuk tabel tb_bayar:


CREATE TABLE IF NOT EXISTS tbbayar ( kode_bayar varchar(10) NOT NULL, tanggal date NOT NULL, totalbayar double NOT NULL, petugas int(11) NOT NULL, PRIMARY KEY (kode_bayar)) ENGINE=InnoDB DEFAULT CHARSET=latin1;

2.

Tabel tb_ biaya lain Tabel ini menyimpan data biaya lain seperti pembayaran UTS dan UAS,

berikut tabelnya:

Tabel 4.3 Tabel tb_ biaya lain Berikut statement SQL untuk tabel tb_biaya lain:
CREATE TABLE IF NOT EXISTS tbbiayalain ( id_biayalain int(11) NOT NULL AUTO_INCREMENT, jenis_biaya varchar(20) NOT NULL, nominal double NOT NULL, tglawalbayar date NOT NULL, tglakhirbayar date NOT NULL, id_konfig int(11) NOT NULL, status varchar(12) NOT NULL, PRIMARY KEY (`id_biayalain`)) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1;

3.

Tabel tb_detail bayar biaya lain Tabel ini menyimpan data detail bayar biaya lain, untuk penyimpanan

secara detail pembayaran UTS dan UAS, berikut tabelnya:

91

Tabel 4.4 Tabel tb_ detail biaya lain Berikut statement SQL untuk tabel tb_detai bayar biaya lain:
CREATE TABLE IF NOT EXISTS tbdetbayarbiayalain ( id_detbayarbiayalain int(11) NOT NULL AUTO_INCREMENT, kode_bayar varchar(10) NOT NULL, nis varchar(10) NOT NULL, id_biayalain int(11) NOT NULL, status int(11) NOT NULL, PRIMARY KEY (`id_detbayarbiayalain`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

4.

Tabel tb_detail bayar spp Tabel ini menyimpan data detail bayar, untuk penyimpanan secara detail

pembayaran SPP, berikut tabelnya:

Tabel 4.5 Tabel tb_detail bayar spp Berikut statement SQL untuk tabel tb_detai bayar SPP:
CREATE TABLE IF NOT EXISTS tbdetbayarspp ( id_detbayarspp` int(11) NOT NULL AUTO_INCREMENT, kode_bayar` varchar(10) NOT NULL, nis varchar(10) NOT NULL, id_spp int(11) NOT NULL, status int(11) NOT NULL, PRIMARY KEY (id_detbayarspp)) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1;

5.

Tabel tb_detail bayar tunggakan Tabel ini menyimpan data detail bayar tunggakan, untuk penyimpanan

secara detail bayar tunggakan, berikut tabelnya:

92

Tabel 4.6 Tabel tb_ detail bayar tunggakan Berikut statement SQL untuk tabel tb_detai bayar tunggakan:
CREATE TABLE IF NOT EXISTS tbdetbayartunggakan ( id_detbayartunggakan int(11) NOT NULL AUTO_INCREMENT, kode_bayar varchar(10) NOT NULL, id_tunggakan int(11) NOT NULL, PRIMARY KEY (id_detbayartunggakan)) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1;

6.

Tabel tb_konfigurasi Tabel ini menyimpan data konfigurasi, untuk penyimpanan data konfigurasi

apabila ada perubahan pada pembayaran SPP, UTS dan UAS, berikut tabelnya:

Tabel 4.7 Tabel tb_ konfigurasi Berikut statement SQL untuk tabel tb_konfigurasi:
CREATE TABLE IF NOT EXISTS `tbkonfig` ( Id_konfig int(11) NOT NULL AUTO_INCREMENT, TahunAjar varchar(4) NOT NULL, Semester varchar(10) NOT NULL, TglMulai date NOT NULL, TglTutup date NOT NULL, Status varchar(10) NOT NULL, PRIMARY KEY (Id_konfig)) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1;

7.

Tabel tb_siswa Tabel ini menyimpan data siswa, untuk penyimpanan data siswa, berikut

tabelnya:

93

Tabel 4.8 Tabel tb_ siswa Berikut statement SQL untuk tabel tb_siswa:
CREATE TABLE IF NOT EXISTS tbsiswa ( NIS` varchar(10) NOT NULL, nama_siswa varchar(40) NOT NULL, alamat_siswa text NOT NULL, jk_siswa varchar(15) NOT NULL, tmplahir_siswa varchar(20) NOT NULL, tgllahir_siswa date NOT NULL, jurusan_siswa varchar(30) NOT NULL, kelas_siswa varchar(6) NOT NULL, status varchar(12) NOT NULL, PRIMARY KEY (`NIS`)) ENGINE=InnoDB DEFAULT CHARSET=latin1;

8.

Tabel tb_spp Tabel ini menyimpan data SPP, untuk penyimpanan data SPP, berikut

tabelnya:

Tabel 4.9 Tabel tb_ spp Berikut statement SQL untuk tabel tb_spp:
CREATE TABLE IF NOT EXISTS tbspp ( id_spp int(11) NOT NULL AUTO_INCREMENT, nama_bulan varchar(15) NOT NULL, nominal double NOT NULL, tglakhirbayar date NOT NULL, id_konfig int(11) NOT NULL, status varchar(10) NOT NULL, PRIMARY KEY (id_spp)) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=2;

94

9.

Tabel tb_tunggakan Tabel ini menyimpan data tunggakan, untuk penyimpanan data tunggakan,

berikut tabelnya:

Tabel 4.10 Tabel tb_tunggakan Berikut statement SQL untuk tabel tb_tunggakan:
CREATE TABLE IF NOT EXISTS tbtunggakan ( id_tunggakan int(11) NOT NULL AUTO_INCREMENT, nis varchar(10) NOT NULL, jenis_tunggakan varchar(15) NOT NULL, nominal double NOT NULL, tanggal date NOT NULL, status varchar(12) NOT NULL, PRIMARY KEY (id_tunggakan)) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1;

10. Tabel tb_user Tabel ini menyimpan data user, untuk penyimpanan data user yang akan berinteraksi langsung dengan sistem, berikut tabelnya:

Tabel 4.11 Tabel tb_user Berikut statement SQL untuk tabel tb_tunggakan:
CREATE TABLE IF NOT EXISTS tbuser ( Id_user int(11) NOT NULL AUTO_INCREMENT, nama_user varchar(20) NOT NULL, pass_user varchar(30) NOT NULL, tipe_user varchar(10) NOT NULL, nama_lengkap varchar(30) NOT NULL, status varchar(10) NOT NULL, PRIMARY KEY (Id_user), UNIQUE KEY nama_user (nama_user)) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=2;

95

4.6 Perancangan Antarmuka (Interface) 4.6.1 Desain Antarmuka (Interface) Pada dasarnya aplikasi harus memiliki cara untuk berkominikasi dengan penggunanya. Kelas-kelas tampilan (Interface) memiliki fungsi-fungsi Utama sebagai berikut: 1. Input Antarmuka (Interface) pengguna harus dirancang untuk

mentransformasikan aksi yang seharusnya dilakukan oleh pengguna, misalnya dengan meng-Klik suatu tombol dengan menggunakan mouse. Tanggapan pengguna mungkin juga membuka atau menutup antarmuka (Initerface) yang lain atau mengirim message pada aplikasi untuk melakukan suatu proses tertentu. 2. Output Antarmuka (interface) pengguna seharusnya menggunakan gambaran tampilan yang baik sebagai cara untuk mengkomunikasikan keluaran dari aplikasi. Berikut desain antarmuka (initerface) dari aplikasi yang akan dibuat: 1. Desain Form Login

Gambar 4.6 Desain Form Login 2. Desain Form Halaman Utama

Gambar 4.7 Desain Form Halaman Utama 3. Desain Form Transaksi Pembayaran

96

Menu

Pembayaran

Kelola Data

Alat

Tentang

Transaksi Pembayaran SPP:

Kode Bayar

Tanggal

Nis

Cari

Bulan Semester

Nama

Kelas Jurusan

Tahun Ajaran Besar (Rp)

Dbayar (Rp)

Total Bayar

Sisa (Rp)

Bayar SPP

Nis

Nama Siswa

Bulan

Semester

Tahun Ajaran

Besar Bayar Rp

DBayar

Sisa(Rp)

Status

Gambar 4.8 Desain Form Transaksi Pembayaran 4. Desain Form Transaksi pembayaran biaya lain
Menu Pembayaran Kelola Data Alat Tentang

Transaksi Pembayaran Biaya Lainnya:

Kode Bayar

Tanggal

Nis

Cari

Bulan Semester

Nama

Kelas Jurusan

Tahun Ajaran Besar (Rp)

Dbayar (Rp)

Total Bayar

Sisa (Rp)

Bayar SPP

Nis

Nama Siswa

Bulan

Semester

Tahun Ajaran

Besar Bayar Rp

DBayar

Sisa(Rp)

Status

Gambar 4.9 Desain Form Transaksi Pembayaran Biaya Lain 5. Desain Form Pembayaran Tunggakan
Menu Pembayaran Kelola Data Alat Tentang

Transaksi Pembayaran Tunggakan:

Kode Bayar

Tanggal

Nis

Cari

Bulan Semester

Nama

Kelas Jurusan

Tahun Ajaran Besar (Rp)

Dbayar (Rp)

Total Bayar

Sisa (Rp)

Antikan

Bayar

Batal

Bayar SPP

Nis

Nama Siswa

Bulan

Semester

Tahun Ajaran

Besar Bayar Rp

DBayar

Sisa(Rp)

Status

Gambar 4.10 Desain Form Transaksi Pembayaran Tunggakan 6. Desain Form laporan pembayaran

97

Menu

Pembayaran

Kelola Data

Alat

Tentang

LAPORAN KEUANGAN:

Jenis Laporan

Tahun

Tampilkan

Cetak

Bulan Tanggal

Nis

Nama Siswa

Bulan

Semester

Tahun Ajaran

Besar Bayar Rp

DBayar

Sisa(Rp)

Status

Gambar 4.11 Desain Form laporan pembayaran 7. Desain Form Kelola Data Pengguna
Menu Pembayaran Kelola Data Alat Tentang

Kelola Data Pengguna:

User Name

Nama Lengkap

Password

Tipe User

Tambah

Simpan

Edit

Hapus

Batal

Nama_User

Pass_User

Tipe_User

Nama_Lengkap

Gambar 4.12 Desain Form Kelola Data Pengguna 8. Desain Form Kwitansi Pembayaran

Gambar 4.13 Desain Form Kelola Data Pengguna 4.7 Model Implementasi Antarmuka (Interface) Ketika petugas TU meng-akses program, halaman yang akan muncul pertama kali adalah form login. Apabila verifikasi user name dan password benar maka akan sistem masuk ke menu halaman utama. Berikut adalah interface yang didefinisikan:

98

1. Form Login Proses pertama ketika petugas mengakses program pembayaran SPP, UTS dan UAS adalah petugas TU (user) diharuskan melakukan login sebelum malakukan penggunaan aplikasi pembayaran SPP:

Gambar 4.14 Tampilan Form Login 2. Form Menu SISPP Proses ketika petugas TU telah melakukan Login, ini merupakan Tampilan Menu SISPP.

Gambar 4.15 Tampilan Menu SISPP 3. Form Transaksi Pembayaran Pada Form ini menampilkan menu transaksi pembayaran yang ditujukan pada menu pembayaran.

99

Gambar 4.16 Tampilan Menu Transaksi Pembayaran 4. Tampilan Menu Transaksi Pembayaran Biaya Lainnya Pada Form ini menampilkan menu pembayaran lainnya, seperti pembayaran UTS dan UAS.

Gambar 4.17 Tampilan Menu Transaksi Pembayaran Biaya Lainnya

5. Tampilan Menu Transaksi Pembayaran Tunggakan Pada Form ini menampilkan menu Transaksi pembayaran tunggakan

Gambar 4.18 Tampilan Menu Transaksi Pembayaran Tunggakan

100

6. Tampilan Menu Laporan Pembayaran Pada Form ini menampilkan menu Laporan keuangan, laporan yang di cetak sesuai dengan sekala kebutuhan.

Gambar 4.19 Tampilan Menu Laporan Pembayaran 7. Tampilan Menu Kelola Data Pengguna (user) Pada Form ini menmpilkan menu kelola data pengguna, yang bertujuan untuk keamanan pada sistem agar sistem tidak digunakan oleh siapa saja.

Gambar 4.20 Tampilan Menu Kelola Data Pengguna 8. Tampilan Kwitansi Pembayaran Pada Form ini menampilkan Kwitansi pembayaran, yang bertujuan untuk membuktikan bahwa siswa telah melakukan pembayaran.

101

Gambar 4.21 Tampilan Kwitansi Pembayaran 4.8 Testing Pada tahapan testing, sistem yang telah dibangun akan dilakukan pengujian. Testing perangkat lunak menggunakan metode Black-Box Testing (pengujian kotak hitam), yaitu pengujian perangkat lunak dari segi spesifikasi fungsional tanpa menguji desain dan kode program. Pengujian dimaksudkan untuk mengetahui apakah fungi-fungsi, masukan, dan keluaran dari perangkat lunak sudah sesuai dengan spesifikasi yang diinginkan. 4.8.1 Tujuan Testing Tujuan testing dilakukan pada tahap pengujian sebagai berikut: a. Menentukan keberhasilan dari sistem yang telah dibuat, b. Memastikan apakah persyaratan sistem telah memenuhi selutuh

persyaratan pengguna, c. Memastikan bahwa semua spesifikasi yang dibutuhkan oleh sisotem sudah diimplementasikan dan diuji secara sistematis, d. Dapat mengontrol sistem agar dapat bekerja dengan efektif dan efisien. 4.8.2 Kasus Testing Kasus dari testing sebagai berikut: 1. Kemudahan pemakaian sistem, 2. Semua fungsi berjalan sesuai dengan tujuannya dan bebas dari error, 3. Menampilkan pesan pengingat apabila ada kesalahan dari user, 4. Kebutuhan pengguna dan sistem telah terpenuhi, 5. Apakah sistem telah siap pakai?

102

4.8.3 Pelaksanaan Testing Tabel 4.12 Testing


Kegiatan Hasil yang diterapkan Hasil aktual keluaran Halaman Utama User mengklik menu Masuk ke halaman Tampil halaman Utama Login Login Kegiatan Hasil yang diterapkan Hasil aktual keluaran Sub Menu Halaman Transaksi Pembayaran User mengklik Sub Masuk ke halaman Tampil Halaman SPP Menu SPP SPP Kegiatan Hasil yang diterapkan Hasil aktual keluaran Pesan Kesalahan pada Sub Menu Halaman SPP User mengklik cari Tampil Pesan Isilah Klik OK untuk kembali tanpa mengisi NIS NIS terlebih dahulu kehalaman pembayaran terlebih dahulu SPP Kegiatan Hasil yang diterapkan Hasil aktual keluaran Pesan Kesalahan pada Sub Menu Halaman SPP User mengklik Tampil pesan Klik OK untuk kehalaman tombol cari, tetapi kesalahan data tidak pembayaran SPP memasukan NIS ada yang belum dimasukan pada pengolahan data siswa terlebih dahulu Kegiatan Hasil yang diterapkan Hasil aktual keluaran Halaman Transaksi Pembayaran Biaya Lain User mengklik Masuk Halaman menu Tampil Halaman Transaksi Transaksi Transaksi Pembayaran Pembayaran Biaya Lain Pembayaran Biaya Biaya Lain Lain Kegiatan Hasil yang diterapkan Hasil aktual keluaran Pesan Kesalahan pada Sub Menu Halaman Biaya Lain User mengklik cari Tampil Pesan Isilah Klik OK untuk kembali tanpa mengisi NIS NIS Kosong Tidak kehalaman pembayaran terlebih dahulu Dapat Mencari Data Biaya Lain Kegiatan Hasil yang diterapkan Hasil aktual keluaran Pesan Kesalahan pada Sub Menu Halaman Biaya Lain User mengklik Tampil pesan Klik OK untuk kehalaman tombol cari, tetapi kesalahan data tidak pembayaran Biaya Lain memasukan NIS ada yang belum dimasukan pada pengolahan data siswa terlebih dahulu Kegiatan Hasil yang diterapkan Hasil aktual keluaran Halaman Transaksi Pembayaran Tunggakan User mengklik Masuk Halaman menu Tampil Halaman Transaksi Transaksi Transaksi Pembayaran Pembayaran Tunggakan Pembayaran Tunggakan Tunggakan Kegiatan Hasil yang diterapkan Hasil aktual keluaran Pesan Kesalahan pada Sub Menu Halaman Tunggakan User mengklik cari Tampil Pesan Isilah Klik OK untuk kembali tanpa mengisi NIS NIS Kosong Tidak kehalaman pembayaran terlebih dahulu Dapat Mencari Data Tunggakan Kegiatan Hasil yang diterapkan Hasil aktual keluaran Keterangan Terpenuhi Keterangan Terpenuhi Keterangan Terpenuhi

Keterangan Terpenuhi

Keterangan Terpenuhi

Keterangan Terpenuhi

Keterangan Terpenuhi

Keterangan Terpenuhi

Keterangan Terpenuhi

Keterangan

103

Pesan Kesalahan pada Sub Menu Halaman Tunggakan User mengklik Tampil pesan Klik OK untuk kehalaman tombol cari, tetapi kesalahan data tidak pembayaran Tunggakan memasukan NIS ada yang belum dimasukan pada pengolahan data siswa terlebih dahulu Kegiatan Hasil yang diterapkan Hasil aktual keluaran Halaman Menu Kelola Data User mengklik Menu Masuk Halaman menu Tampil Halaman Menu Kelola Data Kelola Data Kelola Data Kegiatan Hasil yang diterapkan Hasil aktual keluaran Sub Menu Halaman Data Siswa User mengklik Data Masuk Halaman menu Tampil Halaman Menu Siswa Data Siswa Kelola Data Siswa Kegiatan Hasil yang diterapkan Hasil aktual keluaran Pesan Kesalahan pada Sub Menu Halaman Data Siswa User mengklik cari Tampil Pesan Isilah Klik OK untuk kembali tanpa mengisi NIS NIS terlebih dahulu kehalaman Kelola Data terlebih dahulu Siswa Kegiatan Hasil yang diterapkan Hasil aktual keluaran Pesan Kesalahan pada Sub Menu Halaman Data Siswa User mengklik Tampil pesan Klik OK untuk kehalaman tombol cari, tetapi kesalahan data tidak Kelola Data Siswa memasukan NIS ada yang belum ditambahkan pada pengolahan data siswa terlebih dahulu Kegiatan Hasil yang diterapkan Hasil aktual keluaran Halaman Menu Laporan Pembayaran User mengklik Menu Masuk Halaman menu Tampil Halaman Menu Laporan Pembayaran Laporan Pembayaran Laporan Pembayaran Kegiatan Hasil yang diterapkan Hasil aktual keluaran Halaman Menu alat User mengklik Menu Masuk menu kekelola Tampilan Halaman Menu kelola data pengguna data pengguna Data Pengguna Kegiatan Hasil yang diterapkan Hasil aktual keluaran Pesan Kesalahan pada Sub Menu Kelola Data Pengguna User Mengklik Tampil Pesan Klik OK untuk kembali ke Menu Data Kesalahan Isi Semua kelola Data Pengguna Pengguna Dan Variabel apabila Tidak Mengisi variabel dan langsung menyimpan maka akan meuncul pesan kesalahan

Terpenuhi

Keterangan Terpenuhi Keterangan Terpenuhi Keterangan Terpenuhi

Keterangan Terpenuhi

Keterangan Terpenuhi Keterangan Terpenuhi Keterangan Terpenuhi

104

Tabel 4.12 Testing (Lanjutan)


Kegiatan Hasil yang diterapkan Hasil aktual keluaran Pesan Kesalahan pada Sub Menu Kelola Data Pengguna User Mengklik Tampil Pesan Klik OK untuk kembali ke Menu Data Kesalahan Password kelola Data Pengguna dan Pengguna Dan Minimum 8 Karakter meneruskannya apabila Tidak Mengisi password kurang dari 8 karakter maka akan meuncul pesan kesalahan Kegiatan Hasil yang diterapkan Hasil aktual keluaran Halaman Menu alat User mengklik Masuk menu Tampilan Menu konfigurasi Konfigurasi Konfigurasi Kegiatan Hasil yang diterapkan Hasil aktual keluaran Halaman Menu Keluar User mengklik Menu Tampil Pesan Keluar Klik OK untuk keluar Keluar dari aplikasi SISPP Aplikasi SISPP Keterangan Terpenuhi

Keterangan Terpenuhi Keterangan Terpenuhi

BAB V KESIMPULAN DAN SARAN 5.1. Kesimpulan Berdasarkan hasil kajian dan teori yang ada, kesimpulan yang diambil dari hasil analisa dan perancangan Sistem Informasi Pembayaran SPP, UTS dan UAS di SMK Muhammadiyah Garut adalah sebagai berikut: 1. Sistem informasi transaksi pembayaran SPP, UTS dan UAS di SMK Muhammadiyah Garut dapat mengakomodasi aktivitas administrasi antara lain memudahkan petugas TU dalam proses pengolahan data transaksi serta pengarsipan yang tersusun dan pencarian informasi tunggakan secara cepat; 2. Unified Approach (UA) diguanakan sebagai metodologi untuk menganalisa dan merancang Sistem Transaksi Pembayaran SPP, UTS dan UAS di SMK Muhammadiyah Garut. Dengan sistem informasi yang dirancang menggunakan bahasa pemrograman Visual Studio .Net 2008 serta DBMS MySql mampu mewakili proses manajerial pada pengolahan data Pembayaran SPP, UTS dan UAS di SMK Muhammadiyah Garut; 3. Bedasarkan analisa dan perancangan pada sistem informasi transaksi pembayaran SPP, UTS dan UAS di SMK Muhammadiyah Garut, mampu menghasilkan aplikasi perangkat lunak yang bertujuan untuk meningkatkan produktivitas dan menunjang fasilitas dalam aktivitas administrasi khususnya transaksi pembayaran SPP, UTS dan UAS di SKM Muhammadiyah Garut. 5.2 Saran Dalam keterbatasan ilmu pengetahuan dan waktu yang penyusun miliki, selain itu karena masih awal bagi penyusun menggunakan metodologi berbasis objek untuk menganalisis dan merancang sistem, penyusun menyadari masih banyak kekurangan dalam laporan tugas akhir ini, maka dari itu penyusun mengharapkan kepada pembaca dapat memahami dan memberikan masukan atau 105

106

referensi yang menunjang untuk menyempurnakan penyusunan tugas akhir ini atau bagi orang lain yang akan mengambil tema sama dengan penyusun.

DAFTAR PUSTAKA

Bahrami,Ali,Object Oriented Systems Development.,The McGraw-Hill., Companies,Inc,Singapore,1999. Amsyah,Zulkifli, Manajemen Sistem Informasi,Gramedia Pustaka Utama: Jakarta, 2005. Fathansyah., Basis Data, Informatika, Bandung, 1999. Flowler, Martin Diagram UML2005. Hariyanto pengertian Basis Data2004. http://resource.visual-paradigm.com Hartono,Jogianto, Analisis dan Desain Sistem Informasi : Pendekatan Terstruktur Teori dan Praktek Aplikasi Bisnis, Edisi 2. Cetakan 1. Andi Offsett:Yogyakarta,1990. Kadir, Abdul Model Data, Andi Yoyakarta, 2005. Kroenke, David M. Dasar-dasar, Desain, dan Implementasi Database Processing (Edisi kesembilan-Jilid 1), Erlangga, Jakarta, 2005. Munawar, Pemodelan Dengan Visual UML, Graha Ilmu, Yogyakarta. Nugroho, Adi, Analisis dan Perancangan Sistem Informasi dengan Metodologi berorientasi Objek. Informatika, Bandung, 2005. Purwanto,Pengertian Administrasi Tata Usaha (Administrasi Pendidikan). Sourtcourse Series Visual Basic .Net2008,Wahana Komputrr Semarang. Santosa, Interaksi Manusia dan Komputer2004. Whitten,Jefrrey,dkk Metode dan Analisis Sistem, edisi bahasa indonesia, Irwin MeGrow-Hill,singapore

LAMPILRAN 1 Profil Organisasi a. Visi SMK Muhammadiyah Garut Perserikatan Muhammadiyah dalam seluruh aspeknya dan maksud menumbuhkan nilai-nilai dan sikap hidup islami sesuai Al-Quran dan assunah yang diwujudkan dalam pandangan pendirian sikap hidup dan perjuangan untuk membela agama islam sesuai tuntunan Rosululloh SAW. b. Misi SMK Muhammadiyah Garut Menegakkan dan menjunjung tinggi agama islam sehingga dapat mewujudkan masyarakat islam yang sebenar-benarnya. c. Tujuan SMK Muhammadiyah Garut Secara umum tujuan SMK Muhammadiyah Garut adalah sebagai berikut: a. Membuka kesempatan kepada lulusan SLTP untuk melanjutkan pendidikannya ke jenjang kejuruan (SMK). b. Membuka program keahlian baru yang dituntut oleh kebutuhan lapangan pekerjaan sesuai dengan bidang keahlian yang diminati. c. Menjawab tantangan kebutuhan lapangan kerja yang mempunyai kompetensi bidang keahlian dimana kini dan masa mendatang dimana perkembangannya pesat sekali. d. Memberikan penguasaan dan penggunaan teknologi. e. Mempersiapkan otomatisasi. f. Mengembangkan wawasan mekatonika dalam dunia pendidikan khususnya dan masyarakat pada umumnya. g. Meningkatkan kualitas proses belajar mengajar untuk menghasilkan lulusan sesuai dengan yang diharapkan. h. Meningkatkan kemandirian, ketangguhan, dan keunggulan dalam persaingan pasar kerja nasional, regional, maupun internasional. Struktur Organisasi A. Struktur Organisasi SMK Muhammadiyah Garut SDM dalam memasuki era globalisasi dan

Kepala Sekolah Drs. Dedih Herdiat

Bendahara Sri Herliana, M.M.Pd

Kepala T.Usaha U. Kurniawan

Wakasek Kurikulum

Wakasek Siswa

Wakasek Sarana

Wakasek Humas

Kajur Akuntansi, AD Perkantoran, Pemasaran, Teknik Informatika

Koordinator BK

Koordinator Perpustakaan

Koordinator UKS

Petugas TU

Wali Kelas

Guru-Guru

KELAS X

KELAS XI

KELAS XII

Gambar Struktur Organisasi SMK Muhammadiyah Garut Dalam jabatannya masing-masing mempunyai tugas pokok dan tanggung jawab sebagai berikut: Tugas dan Tanggung Jawab 1. Kepala Sekolah a. Berkewajiban melaksanakan garis kebijakan yang telah ditentukan oleh pimpinan yayasan. b. Berkewajiban membina seluruh personil sekolah sehingga mampu secara kreatif melaksanakan tugasnya sebagai staf yayasan yang bertanggung jawab. c. Merencanakan, mengorganisir, mengkoordinir, mengendalikan,

mengawasi dan mengevaluasi terus menerus seluruh kegiatan sekolah yang ada dibawah tanggung jawabnya. 2. Wakil Kepala Sekolah Bidang Kurikulum a. Mengdakan hubungan kerja sama dengan guru, staf untuk mencapai tujuan yang diharapkan.

b. Memberikan bimbingan kepada guru-guru teori kejujuran dalam usaha mengsingkronisasikan mata diklat teori kejujuran yang menunjang pada praktek kejujuran. c. Mengadakan hubungan dengan Dunia Industri dan Dunia Usaha untuk menunjang siswa kedepannya atas petunjuk kepala sekolah. d. Membantu kepala sekolah menyusun program kerja pertahun pelajaran. e. Menyusun petunjuk-petunjuk tentang penyelenggaraan proses kegiatan belajar mengajar (KMB). f. Mengumpulkan naskah untuk keperluan evaluasi. g. Mengumpulkan hasil belajar siswa dari guru-guru. h. Membantu kepala sekolah mengevaluasi hasil kegiatan belajar. i. Menganalisa persentase kehadiran siswa dan guru. j. Menyiapkan bahan-bahan rapat kenaikan maupun kelulusan. k. Membantu program pengajaran dalam membuat jadwal pelajaran. l. Bila kepala sekolah berhalangan hadir, dapat ditunjuk mewakilinya. 3. Wakil Kepala Sekolah Bidang Kesiswaan a. Bekerja sama dengan guru, staf pengajar dan wali kelas untuk melangsungkan jalannyaproses belajar mengajar. b. Bekerjasama dengan kepala sekolah untuk menyusun program kerja bimbingan dan penyuluhan. c. Menghimpun, mengatur, menganalisa, dan menyimpan data siswa selengkapnya sebagai bahan pertimbangan sekolah. d. Memberikan bantuan dan tuntutan pemecahan masalah yang mendapat kesulitan dalam mengikuti program KMB di sekolah. e. Mengadakan konsultasi dengan staf pimpinan dan guru dalam usaha yang bersifat umum untuk tujuan memajukan hasil belajar siswa dan penyesuaian terhadap pribadi mereka. f. Bila kepala sekolah berhalangan hadir, dapat ditunjuk mewakilinya. 4. Wakil Kepala Sekolah Program Keahlian a. Membina dan membantu dalam profesinya, serta meinciptakan situasi lingkungan sekolah yang dapat mendorong minat belajar.

b. Memonitor dan mengawasi kegiatan proses belajar mengajar dalam rangka membantu siswa maupun guru agar dapat meningkatkan minat balajar khsusnya pada jurusan. c. Membuat program jurusan dalam rangka pembinaan jurusan. d. Menyusun renking prestasi siswa di jurusan. e. Bekerjasama dengan semua jurusan dalam rangka meningkatkan ketertiban KBM. f. Bila kepala sekolah berhalangan hadir, dapat ditunjuk mewakilinya. 5. Jurusan Ketatalaksanaan Sekolah (Bagian Tata Usaha) Melaksanakan tugas yang berkaitan dengan pekerjaan administrasi sekolah. a. Menerima, merekapitulasi dan melaporkan uang sumbangan

penyelenggaraan pendidikan (SPP) dan uang sumbangan pendidikan (USP). b. Administrasi tata usaha sekolah a) Urusan surat menyurat. b) Menyimpan arsip-arsip surat masuk dan surat keluar. c) Mengumpulkan data guru, pegawai dan siswa. 6. Bimbingan dan Penyuluhan a. Memberikan bimbingan dan penyuluhan berupa pengarahan kepada wali kelas dan guru, dalam mengarahkan dan membina seluruh siswanya. 7. Wali Kelas a. Melaksanakan pembinaan siswa pada kelas perwakilannya. b. Menambahkan budaya disiplin didalam kelas sebagai usaha

tercapainya KBM yang tertib, efektif, dan efisien. c. Mengdakan hubungan dengan orang tua siswa dalam usaha mengatasi kesulitan belajar siswa (bila perlu mengadakan home visit). d. Mempunyai data siswa perwakilannya yang lengkap. e. Membantu kesulitan belajarnya siswa dalam masing-masing

perwakilannya. f. Mengisi hasil belajar siswa dalam buku raport dan membagikannya kepada siswa/oarang tua siswa.

g. Menyusun renking prestasi belajar siswa dan kelas perwaliannya. h. Setiap wali kelas diharapkan mengikuti upacara sekolah yang di adakan di sekolah. 8. Guru-guru a. Melaksanakan fungsi sebagai pendidik, berusaha melakukan KBM dalam suasana tertib, efektif, dan efisien. b. Menyusun program satuan pelajaran, (SAP) yang menjadi tugasnya sesuai dengan kurikulum yang berlaku. c. Mengembangkan persiapan mengajar SAP. d. Melaksanakan ulangan tengah semester (UTS), ulangan umum (ULUM) sesuai dengan waktu dan jadwal yang telah ditentukan. e. Malaksanakan tugas-tugas lainnya, sesuai dengan peraturan yang berlaku. 9. Siswa a. Melaksanakan hak sebagai siswa yaitu kegiatan belajar mengajar (KBM) sesuai dengan kurikulum yang telah ditetapkan. b. Melaksanakan ulangan tengah semester (UTS), ulangan umum (ULUM) sesuai dengan waktu da jadwal yang telah ditentukan. c. Melaksanakan kewajiban pembayaran uang sekolah yang telah ditetapkan sekolah setiap tahunnya mulai dari pembayaran USP, SPP, semesteran, dan lain-lain.

LAMPIRAN 2 LISTING PROGRAM Form Login:


Public Class frmLogin Dim user As New clsUser Private Sub OK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK.Click If cekKosong(UsernameTextBox, PasswordTextBox) = False Then user.Ambiluser(UsernameTextBox.Text) If user.propertiuser.Count <> 0 Then Dim pass1 As String = user.propertiuser.Item(3) Dim pass2 As String = EncryptPassword(PasswordTextBox.Text) If pass2 = pass1 Then username = user.propertiuser.Item(2) password = user.propertiuser.Item(3) tipeuser = user.propertiuser.Item(4) namauser = user.propertiuser.Item(5) Me.Hide() frmMain.Show() Else MsgBox("Username atau Password Salah!") End If End If End If End Sub

Form (Utama) Main:


Public Class frmMain Dim trans As New clsTransaksi Dim ijin As Boolean = False Dim kwit As New kwitansi Sub cekUser() If tipeuser <> "Admin" Then blokir() End If End Sub #Region "Cek Tunggakan" Sub cekTunggakan() trans.cekTerlambatLain() trans.cekTerlambatSpp() End Sub #End Region #Region "Blokir" Sub blokir() DataPenggunaToolStripMenuItem.Visible = False CetakFormatKwitansiToolStripMenuItem.Visible = False End Sub #End Region Private Sub frmMain_FormClosed(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed Application.Exit() End Sub Private Sub frmMain_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load cekUser() cekTunggakan() frmSpash.Show() End Sub

#Region "Aksi Menu" Private Sub KeluarToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles KeluarToolStripMenuItem.Click If MsgBox("Keluar dari aplikasi?", MsgBoxStyle.YesNo, "Konfirmasi") = MsgBoxResult.Yes Then Application.Exit() End If End Sub Private Sub DataPenggunaToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DataPenggunaToolStripMenuItem.Click frmUser.ShowDialog() End Sub Private Sub KonfigurasiToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles KonfigurasiToolStripMenuItem.Click frmKonfigurasi.MdiParent = Me frmKonfigurasi.Show() End Sub Private Sub DataSiswaToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DataSiswaToolStripMenuItem.Click frmSiswa.MdiParent = Me frmSiswa.Show() End Sub Private Sub BiayaLainToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BiayaLainToolStripMenuItem.Click frmTransaksiLain.Show() End Sub Private Sub SppToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SppToolStripMenuItem.Click If Me.WindowState = FormWindowState.Maximized Then frmTransaksiSpp.ShowDialog() frmTransaksiSpp.WindowState = FormWindowState.Normal Else frmTransaksiSpp.Show() frmTransaksiSpp.MdiParent = Me frmTransaksiSpp.WindowState = FormWindowState.Maximized End If End Sub Private Sub LaporanPembayaranToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LaporanPembayaranToolStripMenuItem.Click frmLaporan.Show() End Sub Private Sub TunggakanSiswaToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TunggakanSiswaToolStripMenuItem.Click frmTransaksiTunggakan.Show() End Sub Private Sub TentangToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TentangToolStripMenuItem.Click frmTentang.ShowDialog() End Sub Private Sub CetakFormatKwitansiToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CetakFormatKwitansiToolStripMenuItem.Click Dim kwit As New kwitansi With kwit.Validasi .Add("") .Add("") .Add("")

End With kwit.showPrint() End Sub #End Region End Class

Form Siswa:
Public Class frmSiswa Dim siswa As New clsSiswa Function koleksiProperti() As Collection Dim properti As New Collection With properti .Add(txtNIS.Text, "nis") .Add(txtNama.Text, "nama") .Add(txtAlamat.Text, "alamat") .Add(cmbJK.Text, "jk") .Add(txtTmpLahir.Text, "tmplahir") .Add(Format(dtpTglLahir.Value, "yyyy-MM-dd"), "tgllahir") .Add(txtJurusan.Text, "jurusan") .Add(cmbKelas.Text, "kelas") .Add(cmbStatus.Text, "status") End With koleksiProperti = properti End Function Sub awalSiswa() endisKontrol(False, txtNama, txtAlamat, txtJurusan, txtTmpLahir, dtpTglLahir, cmbJK, cmbKelas, cmbStatus, btnSimpan, btnUpdate, btnBatal) endisKontrol(True, txtNIS, btnTambah, btnCari) clearKontrol(txtNIS, txtNama, txtAlamat, txtJurusan, txtTmpLahir, dtpTglLahir, cmbJK, cmbKelas, cmbStatus) siswa.tampilKeDgv("select * from tbsiswa", dgvSiswa) End Sub Private Sub btnCari_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCari.Click If txtNIS.Text = "" Then MsgBox("Isilah NIS terlebih dahulu") Else siswa.AmbilSiswa(txtNIS.Text) If siswa.propertiSiswa.Count <> 0 Then With siswa.propertiSiswa txtNama.Text = .Item(2) txtAlamat.Text = .Item(3) txtTmpLahir.Text = .Item(4) cmbJK.Text = .Item(5) dtpTglLahir.Text = .Item(6) txtJurusan.Text = .Item(7) cmbKelas.Text = .Item(8) cmbStatus.Text = .Item(9) End With endisKontrol(True, txtNama, txtAlamat, txtJurusan, txtTmpLahir, dtpTglLahir, cmbJK, cmbKelas, cmbStatus, btnUpdate, btnBatal) endisKontrol(False, txtNIS, btnCari, btnTambah, btnSimpan) End If End If End Sub Private Sub btnTambah_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnTambah.Click clearKontrol(txtNIS, txtNama, txtAlamat, txtJurusan, txtTmpLahir, dtpTglLahir, cmbJK, cmbKelas, cmbStatus) endisKontrol(True, txtNama, txtAlamat, txtJurusan, txtTmpLahir, dtpTglLahir, cmbJK, cmbKelas, cmbStatus, btnSimpan, btnBatal) endisKontrol(False, btnTambah, btnCari, btnUpdate)

End Sub Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load awalSiswa() End Sub Private Sub btnBatal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnBatal.Click awalSiswa() End Sub Private Sub btnSimpan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSimpan.Click If cekKosong(txtNIS, txtNama, txtAlamat, txtTmpLahir, txtJurusan, cmbJK, cmbKelas, cmbStatus, dtpTglLahir) = True Then MsgBox("Isilah semua variabel") Else siswa.propertiSiswa = koleksiProperti() siswa.SimpanSiswa() awalSiswa() dgvSiswa.Update() End If End Sub Private Sub btnUpdate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnUpdate.Click If cekKosong(txtNIS, txtNama, txtAlamat, txtTmpLahir, txtJurusan, cmbJK, cmbKelas, cmbStatus, dtpTglLahir) = True Then MsgBox("Isilah semua variabel") Else siswa.propertiSiswa = koleksiProperti() siswa.UpdateSiswa() awalSiswa() dgvSiswa.Update() End If End Sub Private Sub dgvSiswa_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles dgvSiswa.DoubleClick If dgvSiswa.RowCount <> 0 Then With dgvSiswa txtNIS.Text = .Item(0, .CurrentRow.Index).Value txtNama.Text = .Item(1, .CurrentRow.Index).Value txtAlamat.Text = .Item(2, .CurrentRow.Index).Value txtTmpLahir.Text = .Item(3, .CurrentRow.Index).Value cmbJK.Text = .Item(4, .CurrentRow.Index).Value dtpTglLahir.Text = .Item(5, .CurrentRow.Index).Value txtJurusan.Text = .Item(6, .CurrentRow.Index).Value cmbKelas.Text = .Item(7, .CurrentRow.Index).Value cmbStatus.Text = .Item(8, .CurrentRow.Index).Value endisKontrol(True, txtNama, txtAlamat, txtJurusan, txtTmpLahir, dtpTglLahir, cmbJK, cmbKelas, cmbStatus, btnUpdate, btnBatal) endisKontrol(False, txtNIS, btnCari, btnTambah, btnSimpan) End With End If End Sub End Class

Form Transaksi SPP:


Public Class frmTransaksiSpp Dim trans As New clsTransaksi Dim kwit As New kwitansi Sub asalTransaksiSpp()

endisKontrol(False, txtNama_Siswa, txtKelas, txtJurusan, txtKodeBayar, dtpTanggal, cmbBulan, txtSemester, txtTahun, txtNominal, txtDibayar, txtSisa, txtTotal, btnEntry, btnBayar, btnBatal) clearKontrol(txtNIS, txtNama_Siswa, txtKelas, txtJurusan, txtKodeBayar, dtpTanggal, cmbBulan, txtSemester, txtTahun, txtNominal, txtDibayar, txtSisa, txtTotal) dgvDaftarBayar.Rows.Clear() dgvDaftarBayar.Update() btnCari.Enabled = True detailSpp() End Sub Sub detailSpp() cmbBulan.Items.Clear() Dim coll As Collection = trans.AllBulan() For Each item In coll cmbBulan.Items.Add(item.ToString) Next End Sub Sub detailSiswa() trans.someProSiswa(txtNIS.Text) If trans.proTrans.Count <> 0 Then collToTextKontrol(trans.proTrans, txtNama_Siswa, txtJurusan, txtKelas) endisKontrol(True, txtNama_Siswa, txtJurusan, txtKelas, cmbBulan, txtSemester, txtTahun, txtNominal, txtDibayar, txtSisa, txtTotal, btnEntry, btnBatal, btnBayar) endisKontrol(False, btnCari) End If End Sub Private Sub btnCari_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCari.Click If txtNIS.Text = "" Then MsgBox("Isilah NIS terlebih dahulu") Else detailSiswa() End If End Sub Private Sub frmTransaksiSpp_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load asalTransaksiSpp() End Sub Private Sub cmbBulan_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmbBulan.SelectedIndexChanged Dim coll As Collection = trans.detailSpp(cmbBulan.Text) collToTextKontrol(coll, lblSpp, txtNominal, txtTahun, txtSemester) If trans.cekBayar("tbdetbayarspp", txtNIS.Text, "Id_spp", Val(lblSpp.Text)) Then MsgBox("Sudah dibayar, cek tunggakan bila ada") txtDibayar.Enabled = False Else txtDibayar.Enabled = True End If End Sub Private Sub btnBatal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnBatal.Click asalTransaksiSpp() End Sub Private Sub btnEntry_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEntry.Click If cekKosong(cmbBulan, txtSemester, txtTahun, txtNominal, txtDibayar) = True Then MsgBox("Isilah semua variabel") Else

If cektransaksi(txtNIS, txtDibayar) = False Then MsgBox("Cek semua variabel dengan benar!") Else Dim status As String = Nothing If txtSisa.Text = "" Or txtSisa.Text = 0 Then status = "Lunas" Else status = "Nunggak" End If Dim row As String() = New String() {txtNIS.Text, txtNama_Siswa.Text, lblSpp.Text, cmbBulan.Text, txtSemester.Text, txtTahun.Text, txtNominal.Text, txtDibayar.Text, txtSisa.Text, status, namauser} dgvDaftarBayar.Rows.Add(row) cmbBulan.Items.Remove(cmbBulan.Text) row = Nothing txtTotal.Text = Val(txtTotal.Text) + Val(txtDibayar.Text) End If End If End Sub Private Sub btnBayar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnBayar.Click If dgvDaftarBayar.Rows.Count <> 0 Then txtKodeBayar.Text = Kode_Otomatis("SP") Dim row() As String = {txtKodeBayar.Text, Format(dtpTanggal.Value, "yyyy-MM-dd"), txtTotal.Text, username} trans.Bayar(row) For i = 0 To dgvDaftarBayar.RowCount - 1 With dgvDaftarBayar Dim collspp As New Collection collspp.Add(txtKodeBayar.Text) collspp.Add(.Item(0, i).Value) collspp.Add(.Item(2, i).Value) collspp.Add(.Item(9, i).Value) collspp.Add(.Item(7, i).Value) collspp.Add("Sudah") trans.bayarSpp(collspp) If .Item(9, i).Value = "Nunggak" Then Dim collNunggak As New Collection collNunggak.Add(.Item(0, i).Value) collNunggak.Add("Tunggakan SPP " & .Item(3, i).Value & " Tahun " & .Item(5, i).Value) collNunggak.Add(.Item(8, i).Value) collNunggak.Add(Format(dtpTanggal.Value, "yyyyMM-dd")) collNunggak.Add(.Item(5, i).Value) collNunggak.Add("Active") trans.simpanTunggak(collNunggak) End If End With Next MsgBox("Data sudah di Update") 'cetak kwitansi pembayaran If MsgBox("Cetak kwitansi pembayaran?", MsgBoxStyle.YesNo, "Konfirmasi") = MsgBoxResult.Yes Then With kwit.Validasi .Add(txtKodeBayar.Text) .Add(dtpTanggal.Value.ToString) .Add(namauser) End With 'kwit.showPrint() kwit.PrintKwitansi() End If asalTransaksiSpp()

Else MsgBox("Tidak ada daftar pembayaran") End If End Sub Private Sub txtDibayar_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtDibayar.TextChanged If Val(txtDibayar.Text) < Val(txtNominal.Text) Then txtSisa.Text = Str(Val(txtNominal.Text) Val(txtDibayar.Text)) ElseIf Val(txtDibayar.Text) = Val(txtNominal.Text) Then txtSisa.Text = "0" ElseIf Val(txtDibayar.Text) > Val(txtNominal.Text) Then MsgBox("Masukan lebih dari besar nominal bayaran!") End If End Sub Private Sub btnBaru_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) asalTransaksiSpp() End Sub End Class

Form Transaksi Biaya Lain:


Public Class frmTransaksiLain Dim trans As New clsTransaksi Dim kwit As New kwitansi Sub asalTransaksiUjian() endisKontrol(False, txtNama_Siswa, txtKelas, txtJurusan, txtKodeBayar, dtpTanggal, cmbJenisBiaya, txtSemester, txtTahun, txtNominal, txtDibayar, txtSisa, txtTotal, btnEntry, btnBayar, btnBatal) clearKontrol(txtNIS, txtNama_Siswa, txtKelas, txtJurusan, txtKodeBayar, dtpTanggal, cmbJenisBiaya, txtSemester, txtTahun, txtNominal, txtDibayar, txtSisa, txtTotal) dgvDaftarBayar.Rows.Clear() dgvDaftarBayar.Update() btnCari.Enabled = True detailBiaya() End Sub Sub detailBiaya() cmbJenisBiaya.Items.Clear() Dim colls As Collection = trans.AllBiaya For Each item In colls cmbJenisBiaya.Items.Add(item.ToString) Next item End Sub Sub detailSiswa() trans.someProSiswa(txtNIS.Text) collToTextKontrol(trans.proTrans, txtNama_Siswa, txtJurusan, txtKelas) endisKontrol(True, txtNama_Siswa, txtJurusan, txtKelas, cmbJenisBiaya, txtSemester, txtTahun, txtNominal, txtDibayar, txtSisa, txtTotal, btnEntry, btnBatal, btnBayar) endisKontrol(False, btnCari) End Sub Private Sub frmTransaksiUjian_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Me.MdiParent = frmMain asalTransaksiUjian() End Sub Private Sub btnCari_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCari.Click If txtNIS.Text = "" Then

MsgBox("NIS kosong, tidak dapat mencari data", MsgBoxStyle.Critical, "Perhatian") Else detailSiswa() End If End Sub Private Sub btnBatal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnBatal.Click asalTransaksiUjian() End Sub Private Sub cmbJenisBiaya_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmbJenisBiaya.SelectedIndexChanged Dim coll As Collection = trans.detailBiaya(cmbJenisBiaya.Text) collToTextKontrol(coll, lbljenis, txtNominal, txtTahun, txtSemester) If trans.cekBayar("tbdetbayarbiayalain", txtNIS.Text, "id_biayalain", Val(lbljenis.Text)) Then MsgBox("Sudah dibayar, cek tunggakan bila ada") txtDibayar.Enabled = False Else txtDibayar.Enabled = True End If End Sub Private Sub btnEntry_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEntry.Click If cekKosong(cmbJenisBiaya, txtSemester, txtTahun, txtNominal, txtDibayar) = True Then MsgBox("Isilah semua variabel") Else If cektransaksi(txtNIS, txtDibayar) = False Then MsgBox("Cek semua variabel dengan benar!") Else Dim status As String = Nothing If txtSisa.Text = "" Or txtSisa.Text = 0 Then status = "Lunas" Else status = "Nunggak" End If Dim row As String() = New String() {txtNIS.Text, txtNama_Siswa.Text, lbljenis.Text, cmbJenisBiaya.Text, txtSemester.Text, txtTahun.Text, txtNominal.Text, txtDibayar.Text, txtSisa.Text, status, namauser} dgvDaftarBayar.Rows.Add(row) cmbJenisBiaya.Items.Remove(cmbJenisBiaya.Text) row = Nothing txtTotal.Text = Val(txtTotal.Text) + Val(txtDibayar.Text) End If End If End Sub Private Sub txtDibayar_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtDibayar.TextChanged If Val(txtDibayar.Text) < Val(txtNominal.Text) Then txtSisa.Text = Str(Val(txtNominal.Text) Val(txtDibayar.Text)) ElseIf Val(txtDibayar.Text) = Val(txtNominal.Text) Then txtSisa.Text = "0" ElseIf Val(txtDibayar.Text) > Val(txtNominal.Text) Then MsgBox("Masukan lebih dari besar nominal bayaran!")

End If End Sub Private Sub btnBaru_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) asalTransaksiUjian() End Sub Private Sub btnBayar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnBayar.Click If dgvDaftarBayar.Rows.Count <> 0 Then txtKodeBayar.Text = Kode_Otomatis("BL") Dim row() As String = {txtKodeBayar.Text, Format(dtpTanggal.Value, "yyyy-MM-dd"), txtTotal.Text, username} trans.Bayar(row) For i = 0 To dgvDaftarBayar.RowCount - 1 With dgvDaftarBayar Dim collBL As New Collection collBL.Add(txtKodeBayar.Text) collBL.Add(.Item(0, i).Value) collBL.Add(.Item(2, i).Value) collBL.Add(.Item(9, i).Value) collBL.Add(.Item(7, i).Value) collBL.Add("Sudah") trans.bayarLain(collBL) If .Item(9, i).Value = "Nunggak" Then Dim collNunggak As New Collection collNunggak.Add(.Item(0, i).Value) collNunggak.Add("Tunggakan " & .Item(3, i).Value.ToString & " Tahun " & .Item(5, i).Value.ToString) collNunggak.Add(.Item(8, i).Value) collNunggak.Add(Format(dtpTanggal.Value, "yyyyMM-dd")) collNunggak.Add(.Item(5, i).Value) collNunggak.Add("Active") trans.simpanTunggak(collNunggak) End If End With Next MsgBox("Data sudah di Update") 'cetak kwitansi pembayaran If MsgBox("Cetak kwitansi pembayaran?", MsgBoxStyle.YesNo, "Konfirmasi") = MsgBoxResult.Yes Then With kwit.Validasi .Add(txtKodeBayar.Text) .Add(dtpTanggal.Value.ToString) .Add(namauser) End With 'kwit.showPrint() kwit.PrintKwitansi() End If asalTransaksiUjian() Else MsgBox("Tidak ada daftar pembayaran") End If End Sub End Class

Form Tunggakan:
Public Class frmTransaksiTunggakan Dim trans As New clsTransaksi Dim kwit As New kwitansi

Sub asalTransaksiTunggak() endisKontrol(False, txtNama_Siswa, txtKelas, txtJurusan, txtKodeBayar, dtpTanggal, cmbjenisTunggak, txtTglTunggak, txtTahunTunggak, txtNominal, txtDibayar, txtSisa, txtTotal, btnEntry, btnBayar, btnBatal) clearKontrol(txtNIS, txtNama_Siswa, txtKelas, txtJurusan, txtKodeBayar, dtpTanggal, cmbjenisTunggak, txtTglTunggak, txtTahunTunggak, txtNominal, txtDibayar, txtSisa, txtTotal) dgvDaftarBayar.Rows.Clear() dgvDaftarBayar.Update() btnCari.Enabled = True End Sub Sub detailTunggak(ByVal nis As String) cmbjenisTunggak.Items.Clear() Dim colls As Collection = trans.AllTunggak(nis) For Each item In colls cmbjenisTunggak.Items.Add(item.ToString) Next item End Sub Sub detailSiswa() trans.someProSiswa(txtNIS.Text) collToTextKontrol(trans.proTrans, txtNama_Siswa, txtJurusan, txtKelas) endisKontrol(True, txtNama_Siswa, txtJurusan, txtKelas, cmbjenisTunggak, txtNominal, txtDibayar, txtSisa, txtTotal, btnEntry, btnBatal, btnBayar) endisKontrol(False, btnCari) detailTunggak(txtNIS.Text) End Sub Private Sub frmTransaksiTunggakan_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Me.MdiParent = frmMain asalTransaksiTunggak() End Sub Private Sub btnCari_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCari.Click If txtNIS.Text = "" Then MsgBox("NIS kosong, tidak dapat mencari data", MsgBoxStyle.Critical, "Perhatian") Else detailSiswa() End If End Sub Private Sub btnBatal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnBatal.Click asalTransaksiTunggak() End Sub Private Sub cmbjenisTunggak_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmbjenisTunggak.SelectedIndexChanged Dim coll As Collection = trans.detailJenisTunggak(cmbjenisTunggak.Text, txtNIS.Text) collToTextKontrol(coll, lblTunggak, txtNominal, txtTglTunggak, txtTahunTunggak) End Sub

Private Sub btnEntry_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEntry.Click If cekKosong(cmbjenisTunggak, txtTglTunggak, txtTahunTunggak, txtNominal, txtDibayar) = True Then MsgBox("Isilah semua variabel") Else If cektransaksi(txtNIS, txtDibayar) = False Then MsgBox("Cek semua variabel dengan benar!") Else Dim status As String = Nothing If txtSisa.Text = "" Or txtSisa.Text = 0 Then status = "Lunas" Else status = "Belum" End If Dim row As String() = New String() {txtNIS.Text, txtNama_Siswa.Text, lblTunggak.Text, cmbjenisTunggak.Text, txtTglTunggak.Text, txtTahunTunggak.Text, txtNominal.Text, txtDibayar.Text, txtSisa.Text, status, namauser} dgvDaftarBayar.Rows.Add(row) cmbjenisTunggak.Items.Remove(cmbjenisTunggak.Text) row = Nothing txtTotal.Text = Val(txtTotal.Text) + Val(txtDibayar.Text) End If End If End Sub Private Sub txtDibayar_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtDibayar.TextChanged If Val(txtDibayar.Text) < Val(txtNominal.Text) Then txtSisa.Text = Str(Val(txtNominal.Text) Val(txtDibayar.Text)) ElseIf Val(txtDibayar.Text) = Val(txtNominal.Text) Then txtSisa.Text = "0" ElseIf Val(txtDibayar.Text) > Val(txtNominal.Text) Then MsgBox("Masukan lebih dari besar nominal bayaran!") End If End Sub Private Sub btnBaru_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) asalTransaksiTunggak() End Sub Private Sub btnBayar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnBayar.Click If dgvDaftarBayar.Rows.Count <> 0 Then txtKodeBayar.Text = Kode_Otomatis("TG") Dim row() As String = {txtKodeBayar.Text, Format(dtpTanggal.Value, "yyyy-MM-dd"), txtTotal.Text, username} trans.Bayar(row) For i = 0 To dgvDaftarBayar.RowCount - 1 With dgvDaftarBayar Dim collspp As New Collection collspp.Add(txtKodeBayar.Text) collspp.Add(.Item(2, i).Value) trans.bayarTunggakan(collspp) If .Item(9, i).Value = "Belum" Then Dim collNunggak As New Collection collNunggak.Add(.Item(0, i).Value) collNunggak.Add(.Item(3, i).Value) collNunggak.Add(.Item(8, i).Value) collNunggak.Add(Format(dtpTanggal.Value, "yyyyMM-dd"))

collNunggak.Add(.Item(5, i).Value) trans.simpanTunggak(collNunggak) ElseIf .Item(9, i).Value = "Lunas" Then Dim collNunggak As New Collection collNunggak.Add(.Item(0, i).Value) collNunggak.Add(.Item(3, i).Value) collNunggak.Add(.Item(8, i).Value) collNunggak.Add(Format(dtpTanggal.Value, "yyyyMM-dd")) collNunggak.Add(.Item(5, i).Value) trans.HapusTunggak(collNunggak) End If End With Next 'cetak kwitansi pembayaran If MsgBox("Cetak kwitansi pembayaran?", MsgBoxStyle.YesNo, "Konfirmasi") = MsgBoxResult.Yes Then With kwit.Validasi .Add(txtKodeBayar.Text) .Add(dtpTanggal.Value.ToString) .Add(namauser) End With 'kwit.showPrint() kwit.PrintKwitansi() End If asalTransaksiTunggak() Else MsgBox("Tidak ada daftar pembayaran") End If End Sub End Class

Form User:
Public Class frmUser Dim user As New clsUser Sub asalPengguna() endisKontrol(False, txtNama_Lengkap.txtChar, txtNama_User.txtChar, txtPass_User.txtPass, cmbType_User, btnBatal, btnHapus, btnSimpan, btnUbah) clearKontrol(txtNama_Lengkap.txtChar, txtNama_User.txtChar, txtPass_User.txtPass, cmbType_User) endisKontrol(True, dgvDataPengguna, btnTambah) txtNama_User.txtChar.ReadOnly = False user.tampilKeDgv("SELECT Nama_User,Pass_User,Tipe_User,Nama_Lengkap FROM tbUser WHERE Status='Active'", dgvDataPengguna) End Sub Private Sub frmPengguna_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load asalPengguna() End Sub Private Sub btnTambah_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnTambah.Click endisKontrol(False, dgvDataPengguna, btnTambah) endisKontrol(True, txtNama_User.txtChar, txtPass_User.txtPass, txtNama_Lengkap.txtChar, cmbType_User, btnSimpan, btnBatal) End Sub Private Sub btnBatal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnBatal.Click asalPengguna()

End Sub Private Sub dgvDataPengguna_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles dgvDataPengguna.DoubleClick With dgvDataPengguna txtNama_User.txtChar.Text = .Item(0, .CurrentRow.Index).Value cmbType_User.Text = .Item(2, .CurrentRow.Index).Value txtNama_Lengkap.txtChar.Text = .Item(3, .CurrentRow.Index).Value End With endisKontrol(True, txtNama_Lengkap.txtChar, txtPass_User.txtPass, btnUbah, btnHapus, btnBatal) endisKontrol(False, btnTambah, btnSimpan) End Sub Private Sub btnSimpan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSimpan.Click If cekKosong(txtPass_User.txtPass, txtNama_Lengkap.txtChar, cmbType_User) = True Then MsgBox("Isilah semua variabel") txtNama_User.txtChar.Focus() Else With user.propertiuser .Clear() .Add(txtNama_User.txtChar.Text, "nama") .Add(txtPass_User.txtPass.Text, "pass") .Add(cmbType_User.Text, "tipe") .Add(txtNama_Lengkap.txtChar.Text, "namalengkap") End With user.Simpanuser() asalPengguna() dgvDataPengguna.Update() End If End Sub Private Sub btnUbah_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnUbah.Click If cekKosong(txtPass_User.txtPass, txtNama_Lengkap.txtChar, cmbType_User) = False Then user.Ambiluser(txtNama_User.txtChar.Text) Dim pass1 As String = user.propertiuser.Item(3) Dim pass2 As String = EncryptPassword(InputBox("Masukan Password Lama!", "Konfirmasi")) If pass2 = pass1 Then With user.propertiuser .Add(txtNama_User.txtChar.Text, "nama") .Add(txtPass_User.txtPass.Text, "pass") .Add(cmbType_User.Text, "tipe") .Add(txtNama_Lengkap.txtChar.Text, "namalengkap") .Add("Active", "status") End With user.Updateuser() asalPengguna() dgvDataPengguna.Update() Else MsgBox("Password salah") End If Else MsgBox("Isilah semua variabel") txtPass_User.txtPass.Focus() End If End Sub Private Sub btnHapus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnHapus.Click

If MsgBox("Hapus data pengguna?", MsgBoxStyle.OkCancel, "Konfirmasi") = MsgBoxResult.Ok Then With user.propertiuser .Add(txtNama_User.txtChar.Text, "nama") .Add(txtPass_User.txtPass.Text, "pass") .Add(cmbType_User.Text, "tipe") .Add(txtNama_Lengkap.txtChar.Text, "namauser") .Add("Deactive", "status") End With user.Updateuser() asalPengguna() End If End Sub End Class

Form Laporan:
Imports System.Drawing.Printing Public Class frmLaporan Dim db As New clsDBase Dim Print As New clsPrint #Region "Laporan" Function filterChek(ByVal rdbChek As String) As String Dim qry As String = Nothing If rdbChek = "Tahun" Then qry = "(tanggal >= '" & cmbThnDari.Text & "-01-01' and tanggal <= '" & cmbThnKe.Text & "-12-30')" ElseIf rdbChek = "Bulan" Then Dim bulan As Date = Nothing Select Case cmbBulan.Text Case "Januari" bulan = CDate("01-01-2000") Case "Februari" bulan = CDate("01-02-2000") Case "Maret" bulan = CDate("01-03-2000") Case "April" bulan = CDate("01-04-2000") Case "Mei" bulan = CDate("01-05-2000") Case "Juni" bulan = CDate("01-06-2000") Case "Juli" bulan = CDate("01-07-2000") Case "Agustus" bulan = CDate("01-08-2000") Case "September" bulan = CDate("01-09-2000") Case "Oktober" bulan = CDate("01-10-2000") Case "Nopember" bulan = CDate("01-11-2000") Case "Desember" bulan = CDate("01-12-2000") End Select qry = "(tanggal >= '" & cmbTahunBulan.Text & "-" & Format(bulan, "MM") & "-01' AND tanggal <= '" & cmbTahunBulan.Text & "-" & Format(bulan, "MM") & "-31')"

ElseIf rdbChek = "Tanggal" Then endisKontrol(False, cmbBulan, cmbTahunBulan, cmbThnDari, cmbThnKe) qry = "tanggal = '" & Format(dtpTanggal.Value.Date, "yyyy-MMdd") & "'" End If filterChek = qry End Function Function filterLaporan(ByVal jenis As String) As String Dim Klausa As String = Nothing If jenis <> "" Then Select Case jenis Case "Pembayaran SPP" Klausa = "SELECT * FROM vdetLunasSpp WHERE " Case "Pembayaran Biaya Lain" Klausa = "SELECT * FROM vdetLunasbl WHERE " Case "Pembayaran Tunggakan" Klausa = "SELECT * FROM vbayartunggakan where " Case "Tunggakan SPP" Klausa = "select * from vtunggakan where " Case "Tunggakan Biaya Lain" Klausa = "SELECT * FROM vBelumUjian WHERE LEFT(Kode_Bayar,2)='AS' AND " End Select filterLaporan = Klausa Else filterLaporan = "" End If End Function Private Sub frmLaporan_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Me.MdiParent = frmMain listBulan(cmbBulan) listTahun(cmbTahunBulan) listTahun(cmbThnDari) listTahun(cmbThnKe) rdbFilter.Checked = True End Sub Private Sub rdbFilter_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles rdbFilter.CheckedChanged endisKontrol(False, cmbBulan, cmbTahunBulan, dtpTanggal) endisKontrol(True, cmbThnDari, cmbThnKe) lblFilter.Text = "Tahun" End Sub Private Sub rdbBulan_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles rdbBulan.CheckedChanged endisKontrol(False, cmbThnDari, cmbThnKe, dtpTanggal) endisKontrol(True, cmbBulan, cmbTahunBulan) lblFilter.Text = "Bulan" End Sub Private Sub rdbHari_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles rdbHari.CheckedChanged endisKontrol(False, cmbBulan, cmbTahunBulan, cmbThnDari, cmbThnKe) endisKontrol(True, dtpTanggal) lblFilter.Text = "Tanggal" End Sub Private Sub btnTampilLaporan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnTampilLaporan.Click 'Dim tb As String = Nothing If cekKosong(cmbJenisLaporan) = False Then Dim qry As String = filterLaporan(cmbJenisLaporan.Text) qry = qry + filterChek(lblFilter.Text) dgvLaporan.DataSource = db.ViewData(qry)

End If End Sub #End Region #Region "Cetak" Private Sub btnCetak_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCetak.Click Print.DataGridView1 = dgvLaporan Print.headertext = "Laporan " & cmbJenisLaporan.Text & " Sistem Informasi Pembayaran SPP" Print.StartPrint(Print.DataGridView1) End Sub #End Region End Class

LAMPIRAN 3 Tampilan Pesan Kesalahan User mengklik tombol cari pada form pembayaran SPP, tetapi tidak memasukan NIS terlebih dahulu maka muncul pesan kesalahan:

User mengklik tombol cari pada form pembayaran SPP, tetapi memasukan NIS yang terlebih dahulu maka muncul pesan kesalahan:

User mengklik tombol cari pada form Transaksi Biaya Lain, tetapi tidak memasukan NIS terlebih dahulu maka muncul pesan kesalahan:

User mengklik tombol cari pada form Transaksi Biaya Lain, tetapi memasukan NIS yang salah atau tidak ada pada data base maka muncul pesan kesalahan:

User mengklik tombol cari pada form Transaksi Pembayaran Tunggakan, tetapi tidak memasukan NIS terlebih dahulu maka muncul pesan kesalahan:

User mengklik tombol cari pada form Transaksi Tunggakan Siswa, tetapi memasukan NIS yang salah atau tidak ada pada data base maka muncul pesan kesalahan:

User mengklik tombol cari pada form Kelola Data Siswa, tetapi tidak memasukan NIS terlebih dahulu maka muncul pesan kesalahan:

User mengklik tombol cari pada form Kelola Data Siswa, tetapi memasukan NIS yang salah atau tidak ada pada data base maka muncul pesan kesalahan:

User mengklik tombol cari pada form Kelola Data Pengguna, tetapi tidak memasukan data terlebih dahulu maka muncul pesan kesalahan:

User mengklik tombol pada form Kelola Data Pengguna, dan user memasukan anggka pada kotak user name maka muncul pesan kesalahan:

You might also like