MENGGUNAKAN METODE BERORIENTASI
OBJEK
SKRIPSI
Diajukan Untuk Melengkapi Salah Satu Syarat Memperoleh Gelar Sarjana (Strata 1)
Oleh :
DEDE IIN MUTMAINAH
2009140799
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS TEKNIK
UNIVERSITAS PAMULANG
PAMULANG
2013
i
MENGGUNAKAN METODE BERORIENTASI
OBJEK
SKRIPSI
Oleh :
DEDE IIN MUTMAINAH
2009140799
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS TEKNIK
UNIVERSITAS PAMULANG
PAMULANG
2013
ii Yang bertanda tangan di bawah
Nama : Dede Iin Mutmainah
NIM : 2009140799
Program Studi : Teknik Informatika
Fakultas : Teknik
Jenjang Pendidikan : Strata1
Menyatakan bahwa skripsi yang saya buat dengan judul:
SISTEM PENGGAJIAN PERKANTORAN MENGGUNAKAN METODE BERORIENTASI OBJEK
1. Merupakan hasil karya tullis ilmiah sendiri, bukan merupakan karya yang
pernah diajukan untuk memperoleh gelar akademik oleh pihak lain, dan bukan merupakan hasil plagiat.
2. Saya ijinkan untuk dikelola oleh Universitas Pamulang sesuai dengan norma
hokum dan etika yang berlaku.
Pernyataan ini saya buat dengan penuh tanggung jawab dan saya bersedia menerima konsekuensi apapun sesuai yang berlaku apabila di kemudian hari pernyataan ini tidak benar.
Pamulang, 18 September 2013
iii
NIM : 2009140799
Nama : Dede Iin Mutmainah
Program Studi : Teknik Informatika
Fakultas : Teknik
Jenjang Pendidikan : Strata 1
Judul Skripsi :SISTEM PENGGAJIAN PERKANTORAN
MENGGUNAKAN METODE BERORIENTASI OBJEK
Skripsi ini telah diperiksa dan disetujui.
Pamulang , 18 September 2013
Riswal Hanafi Siregar, S.Si.,MSi. Pembimbing
Mengetahui,
Ahmad Hindasyah, SSi, MSi. KaProdi Teknik Informatika
iv
NIM : 2009140799
Nama : Dede Iin Mutmainah
Program Studi : Teknik Informatika
Fakultas : Teknik
Jenjang Pendidikan : Strata 1
Judul Skripsi : SISTEM PENGGAJIAN PERKANTORAN
MENGGUNAKAN METODE BERORIENTASI OBJEK
Skripsi ini telah dipertahankan di hadapan dewan penguji ujian skripsi fakultas Teknik, program studi Teknik Informatika dan dinyatakan LULUS.
Pamulang, 18 September 2013
Normalisa,S.Kom.,M.Kom. Adi Sulistiyo Nugroho S.Kom.,M.M.
Penguji 1 Penguji II
Riswal Hanafi Siregar, S.Si.,MSi. Pembimbing
Mengetahui,
Ahmad Hindasyah, SSi, MSi. KaProdi Teknik Informatika
v
Puji Syukur penulis panjatkan kehadirat Tuhan Yang Maha Esa, yang telah melimpahkan rahmat dan karunia-Nya, sehingga penulis dapat
menyelesaikan proposal tugas akhir dengan judul ”SISTEM PENGGAJIAN
PERKANTORAN MENGGUNAKAN METODE BERORIENTASI OBJEK”
ini dengan sebaik-baiknya dan tidak lupa pula shalawat serta salam semoga tercurahkan kepada Nabi Muhammad SAW, Keluarga,sahabat dan semoga sampai kepada pengikutnya hingga akhir zaman.
Dalam penyusunan proposal tugas akhir ini penulis banyak mendapatkan masukan-masukan yang berharga baik moril maupun materi.Maka dalam kesempatan ini penulis ingin mengucapkan terima kasih yang sebesar-besarnya semoga Allah SWT, kepada penulis untuk menyusun proposal ini dengan sebaik-baiknya.senantiasa melimpahkan rahmat,hidayah serta karunia_Nya kepada :
1. Bapak Drs. H. Darsono, selaku pemilik yayasan sasmita jaya, Universitas
Pamulang dan Stikes Unpam yang telah memberikan kesempatan kepada penulis untuk menyelesaikan kuliah di Universitas Pamulang.
2. Bapak DR. Dayat Hidayat, M.M selaku Rektor Universitas Pamulang.
3. Bapak Ir. Sewaka, M.M selaku Dekan Fakultas Teknik di Universitas
Pamulang.
4. Bapak Ahmad Hindasyah, SSi, MSi., selaku Kaprodi Tehnik Informatika
Universitas Pamulang.
5. Bapak Riswal Hanafi Siregar, S.Si, MSi., selaku dosen pembimbing
Tehnik Informatika Universitas Pamulang.
6. Kedua orang tua penulis yang telah memberikan segala-galanya buat
penulis hingga penulis tidak mampu mengungkapkan dengan lisan maupun tulisan.
7. Bapak Ardiansyah Murdiawan Saputra selaku direktur utama PT.Arlinda
Putra yang telah memberikan kesempatan untuk dapat melakukan survey dan penelitian di PT.Arlinda Putra.
vi
menyempurnakan tugas-tugas berikutnya.Akhir kata semoga proposal tugas akhir ini bermanfaat bagi semua pihak yang membutuhkan khususnya bagi mahasiswa Tehnik Informatika Universitas Pamulang yang hendak mengajukan tugas akhir dan masyarakat pada umumnya.
Pamulang, 18 September 2013
vii
Salary is financial returns received by employeesin exchange for their contribution to an organization / company / institution wheretheir work. Utilization of science and technology that is not optimal, the sourceinadequate human resources, facilities and infrastructure that are less supportive,and salary calculations are usually done at the end of the month by spv, are the factors that cause high errorof the technical payroll processing or calculating employee salary detailson an institution. The purpose of this study is: to build software applicationsfinancial data to the Java programming language that is easy, efficient,cheap, with adequate results and conduct a test of the systemthat has been built.
Subjects in this study is the application software payroll system officeXYZ, particularly the manufacture of employee salaries each month.Step development of this application begins with data collection personnel,analysis of the data, making the submission process payroll cycle,salary calculation, making data flow diagrams, interface design, andsystem testing with black box test
This research resulted in a form of software"Office Payroll System Using Object-Oriented Methods"The information generated from this system is related to employee datawith salaries, printing of employee salaries and financial reporting. based onthe results of the testing that has been done, the system can run well andfit for use.
viii
Gaji merupakan kembalian finansial yang diterima oleh para pegawai
sebagai ganti konstribusi mereka terhadap suatu
organisasi/perusahaan/instansitempat mereka bekerja (iwan kurnianto:2008). Pemanfaatan ilmu dan teknologi yang belum optimal, sumber daya manusia yang belum memadai,sarana dan prasarana yang kurang mendukung, dan perhitungan gaji yang biasanya dilakukan pada akhir bulan oleh spv, merupakan faktor-faktor penyebab tingginya kesalahan teknis pembuat daftar gaji dalam memproses atau menghitung rincian gaji pegawai pada suatu instansi. Tujuan dari penelitian ini adalah: membangun software aplikasi data keuangan dengan bahasa pemrograman java yang mudah, efisien, murah, dengan hasil yang memadai dan melakukan suatu pengujian terhadap sistem yang telah dibangun.
Subjek pada penelitian ini adalah software aplikasi sistem penggajian perkantoranPT.XYZ, khususnya pembuatan gaji pegawai tiap bulannya. Langkah pengembangan aplikasi ini diawali dengan pengumpulan data pegawai, analisis data, pembuatan siklus proses pengajuan gaji, perhitungan gaji, pembuatan diagram alur data, perancangan antarmuka, dan pengujian sistem dengan black box test.
Penelitian yang dilakukan ini menghasilkan sebuah perangkat lunak berupa “Sistem Penggajian Perkantoran Dengan Menggunakan Metode Berorientasi Objek”Informasi yang dihasilkan dari sistem ini adalah data pegawai yang berhubungan dengan gaji, pencetakan gaji pegawai dan pembuatan laporan keuangan. Berdasarkan hasil pengujian yang telah dilakukan, sistem tersebut dapat berjalan dengan baik dan layak digunakan.
ix
LEMBAR PERNYATAAN ... ii
LEMBAR PERSETUJUAN... iii
LEMBAR PENGESAHAN ... iv
KATA PENGANTAR ... v
ABSTRACT ... vii
ABSTRAK ... viii
DAFTAR ISI ... ix
DAFTAR GAMBAR ... xiii
DAFTAR TABEL ... xvi
DAFTAR SIMBOL ... xvii
BAB I PENDAHULUAN ... 1 1.1. Latar Belakang ... 1 1.2. Rumusan Masalah ... 2 1.3. Tujuan Penelitian ... 2 1.4. Batasan Masalah ... 2 1.5. Manfaat Penelitian ... 3 1.6. Metode Penelitian ... 3 1.7. Sistematika Penulisan ... 4
BAB II LANDASAN TEORI ... 6
2.1. Definisi Penggajian ... 6
2.2. Pemrograman Berorientasi Objek ... 6
2.2.1. Keuntungan metode berarah berorientasi objek ... 7
x
2.3.1. Use Case Diagram ... 11
2.3.2. Activity Diagram ... 12
2.3.3. Class Diagram ... 15
2.3.4. Sequence Diagram ... 16
2.4. Definisi Basis Data ... 16
2.4.1. Tujuan Basis Data ... 17
2.4.2. DBMS (Database Management System) ... 17
2.4.3. Merancang Model Basis Data ... 18
2.5. Teori Pemrograman ... 21 2.5.1. Java ... 21 2.5.2. Keunggulan Java ... 22 2.6. Aplikasi Pendukung ... 24 2.6.1. Netbeans ... 24 2.6.2. JasperReport ... 24 2.6.3. MySQL ... 25
BAB III ANALISA DAN PERANCANGAN ... 28
3.1. Analisa ... 28
3.1.1. Analisa Sistem Berjalan ... 28
3.1.2. Analisa data ... 30
3.1.3. Analisa Perangkat Keras ... 31
3.1.4. Analisa Perangkat Lunak ... 32
3.1.5. Analisa User ... 32
3.1.6. Analisa Kebutuhan ... 33
xi
BAB IV IMPLEMENTASI DAN PENGUJIAN ... 66
4.1. Implementasi Aplikasi ... 66
4.2. Implementasi Komputer ... 66
4.2.1. Implementasi Perangkat Keras ... 66
4.2.2. Implementasi Perangkat Lunak ... 66
4.2.3. Implementasi Antar Muka... 67
4.3. Pengujian Aplikasi / Testing Apliccation ... 70
4.3.1 Kasus dan pengujian ... 71
BAB V PENUTUP ... 73 5.1. Kesimpulan ... 73 5.2. Saran ... 73 DAFTAR PUSTAKA ... 74 LAMPIRAN ... 76 6.1. ApplicationContext.xml ... 76 6.2. Main Java ... 77 6.3. KaryawanController.java ... 80 6.4. SQLTemplete.java ... 89 6.5. KaryawanDao.java ... 91 6.6. Karyawan.java ... 93 6.7. MasterSevice.java ... 104 6.8. TableModel.java ... 108 6.9. MessageUtility.java ... 111 6.10. MainFrame.java ... 113 6.11. LaporanDataKaryawanPanel.java... 131
xii
xiii
Gambar 2.0-1Simbol kelas ... 8
Gambar 2.0-2 Simbol class & object ... 8
Gambar 2.0-3 Komponen model MVC ... 9
Gambar 2.0-4 Simbol actor use case... 11
Gambar 2.0-5 Simbol Use Case ... 12
Gambar 2.0-6 Simbol Relationship ... 12
Gambar 2.0-7 Simbol Star Activity diagram ... 12
Gambar 2.0-8 Simbol final Activity diagram ... 13
Gambar 2.0-9 Simbol Activity ... 13
Gambar 2.0-10 Simbol Hole Activities ... 13
Gambar 2.0-11 Simbol Miracle Activities ... 13
Gambar 2.0-12 Simbol Fork ... 14
Gambar 2.0-13 Simbol Join ... 14
Gambar 2.0-14 Simbol Decision Point ... 14
Gambar 2.0-15 Simbol Swimlane ... 15
Gambar 2.0-16Class model diagram ... 15
Gambar 2.0-17 model sequence diagram ... 16
Gambar 3.0-1 Activity Diagram Proses Pengumpulan Data ... 28
Gambar 3.0-2Activity Diagram Proses Penggajian ... 29
Gambar 3.0-3 Activity Diagram Proses Pembuatan Laporan ... 29
Gambar 3.0-4 Ketergantungan Fungsi Pada Relasi Cabang ... 35
Gambar 3.0-5 Ketergantungan Fungsi Pada Relasi Jabatan ... 35
Gambar 3.0-6 Ketergantungan Fungsi Pada Relasi Jenis Potongan ... 36
Gambar 3.0-7 Ketergantungan Fungsi Pada Relasi Potongan ... 37
Gambar 3.0-8 Ketergantungan Fungsi Pada Relasi Detil pengurangan ... 38
Gambar 3.0-9 Ketergantungan Fungsi Pada Relasi Karyawan ... 39
Gambar 3.0-10 Ketergantungan Fungsi Pada Relasi Jenis Pendapatan ... 40
Gambar 3.0-11 Ketergantungan Fungsi Pada Relasi Gaji ... 40
Gambar 3.0-12 Ketergantungan Fungsi Pada Relasi Detil Pendapatan ... 41
xiv
Gambar 3.0-16 Transformasi ERD KE LRS ... 45
Gambar 3.0-17Logical Record Structure ... 46
Gambar 3.0-18 Use Case Diagram Sistem Penggajian ... 53
Gambar 3.0-19 Class Diagram Sistem Usulan ... 54
Gambar 3.0- 20 Sequence Diagram Karyawan ... 55
Gambar 3.0-21 Sequence Diagram Cabang ... 55
Gambar 3.0-22 Sequence Diagram Jabatan ... 56
Gambar 3.0-23 Squence Diagram Tahun Buku ... 56
Gambar 3.0-24 Squence Diagram Potongan ... 57
Gambar 3.0-25 Sequence DiagramPenggajian ... 57
Gambar 3.0-26 Sequence DiagramLaporan Karyawan ... 58
Gambar 3.0-27 Sequence DiagramLaporan Penggajian ... 58
Gambar 3.0-28 Sequence Diagram Laporan Potongan ... 59
Gambar 3.0-29 Sequence Diagram User ... 59
Gambar 3.0-30 Activity Diagram Login User ... 60
Gambar 3.0-31 Activity Diagram Pendataan Pegawai ... 61
Gambar 3.0-32 Activity Diagram Penghitungan Gaji ... 62
Gambar 3.0-33 Activity Diagram Pembuatan Laporan ... 62
Gambar 3.0-34 User Interface Login User ... 63
Gambar 3.0-35 User Interface Cabang ... 63
Gambar 3.0-36 User Interface Jabatan ... 63
Gambar 3.0-37 User Interface Dialog Jabatan ... 64
Gambar 3.0-38 User InterfaceKaryawan ... 64
Gambar 3.0-39 User Interface Dialog Karyawan ... 65
Gambar 4.0-1 Tampilan File Jabatan ... 67
Gambar 4.0-2 Tampilan File Tambah/Ubah Jabatan ... 67
Gambar 4.0-3 Tampilan FileTambah/Ubah penerimaan gaji karyawan berdasarkan jabatan ... 68
Gambar 4.0-4 Tampilan File Karyawan ... 68
xvi
Tabel 2.1Diagram UML ... 10
Tabel 3.1 Data karyawan... 47
Tabel 3.2 Data jabatan... 48
Tabel 3.3 Slip ... 48
Tabel 3.4 Gaji Karyawan ... 49
Tabel 3.5 Cabang ... 49
Tabel 3.6 Detil Pendapatan ... 50
Tabel 3.7 Jenis pendapatan ... 50
Tabel 3.8 Potongan... 51
Tabel 3.9 Detil pengurangan ... 51
Tabel 3.10 Jenis potongan ... 52
Tabel 3.11 Tahun Buku ... 52
Tabel 3.12 User ... 53
Tabel 4.1 Rencana pengujian ... 70
Tabel 4.2 Pengujian login (data normal) ... 71
Tabel 4.3 Pengujian login (data normal) ... 71
Tabel 4.4 Pengujian Gaji ... 71
xvii
DAFTAR SIMBOL
1. Usecase Diagram Actor Use Case Association 2. Class DiagramClass, Nama, Atribut, Method
Assosiation
name
-atribute
+methode()
xviii 3. Sequence Diagram Actor Boundary Control . Entity Object Message Actor
xix Object
1
1.1. Latar Belakang
Gaji merupakan upah dari hasil kerja yang di terima seorang pekerja secara tetap(Evi, 2013). Dalam penggajian setiap perusahaan memiliki sistem yang berbeda-beda.Pay for position dimana pegawai dihargai berdasarkan posisi atau jabatannya dalam perusahaan (Saiful, 2012). Sehingga tidaklah heran jika perusahaan mengalami kesulitan dalam melakukan perhitungan gajinya.
Masalah yang timbul di departemen Finance bagian penggajian adalah akibat jumlah tenaga kerja yang banyak,biasanya dilakukan pada akhir bulan dan diakibatkan oleh banyaknya karyawan yang masuk dan mengundurkan diri setiap bulannya serta tersebarnya karyawan di berbagai cabang.Hal tersebut tentu menyulitkan dalam pengarsipan data karyawan, perhitungan gaji karyawan yang dihitung berdasarkan lama kerja karyawan dan tunjangan karyawan.Maka dari itu perusahaan memerlukan suatu sistem untuk menghitung dan membuat suatu laporan penggajian.
Oleh karena itu dibutuhkan suatu sistem komputerisasi sehingga data yang di dapat lebih efisien dan efektif, sehingga mempermudah cara memproses data pengajian(Fahmi, 2000).
Semakin banyak perusahaan yang menggunakan sistem komputerisasi diharapkan dapat meminimalkan kesalahan yang dibuat oleh manusia sehingga mengurangi kurugian yang besar. Oleh sebab itu penulis tertarik untuk melakukan
penelitian pada bidang penggajian pada perusahaan dengan judul ”Sistem
1.2. Rumusan Masalah
Dalam penelitian karya ilmiah ini berdasarkan latar belakang, maka permasalahan yang akan dibahas sebagai berikut:
1. Bagaimana system ini dapat membantu proses penghitungan gaji karyawan?
1.3. Tujuan Penelitian
Tujuan penelitian karya ilmiah berdasarkan rumusan masalah di atas adalah:
1. Membantu proses penghitungan gaji karyawan pada sebuah perusahaan.
1.4. Batasan Masalah
Dalam penelitian karya ilmiah ini menggunakan metode beroreintasi objek, dimana metode ini mempermudah para pengembang dan analisa untuk megimplementasi suatu pembuatan aplikasi, keutungan berorientasi objek ini meningkatkan produktifitas dimana kelas dan objek yang ditemukan pada suatu kasus masih dapat dipakai ulang untuk kasus lainnya, meningkatkan kualitas karena sistem yang dibangun dengan baik dan benar pada saat analisis dan perncangannya, mempermudah perawatan karena model objek pola-pola yang cenderung tetap dan stabil, adanya suatu konsistensi karena perwarisan dan penggunaan notasi yang sama pada saat analisis. maka penulis melakukan pembatasan masalah.Adapun batasan masalah ini adalah:
1. Pembahasan sistem mencakup data pegawai, proses pencatatan rekap absen,
perhitungan tunjangan, proses perhitungan bonus dan potongan gaji pada sebuah perusahaan.
2. Laporan yang dihasilkan adalah data karyawan,laporan data penggajian
1.5. Manfaat Penelitian
Manfaat yang dapat diperoleh dari penulisan karya ilmiah ini antara lain,
a. Manfaat pihak akademis
Pada Universitas Pamulang, dalam penelitian ini juga dapat memberikan konstribusi untuk bahan kajian dikalangan akademis.
b. Manfaat pihak instansi
Diharapkan menjadi suatu system informasi yang dapat digunakan pada perusahaan-perusahaan,khususnya pada perusahaan tertentu dalam mengelola dan menghitung gaji, tunjangan, absensi, maupun laporan-laporan setiap karyawan diberbagai kantor cabang perusahaan.
c. Manfaat bagi penulis
Manfaat bagi penulis adalah untuk lebih mengerti masalah-masalah yang ada dalam sebuah perusahaan, terutama pada bagian penggajian karyawan pada perusahaan.
1.6. Metode Penelitian
Metode penelitian
1. Studi Literatur
Metode yang digunakan untuk mengumpulkan data adalah dengan cara
observasi,wawancara , dan menganalisa dokumen yang berkaitan (document
analysis).
2. Perencanaan
Dalam pengumpulan data penulis menggunakan beberapa metode untuk mendapatkan hasil yang optimal,metode yang digunakan mengikuti SDLC
(Sytem Development Life Sycle).Penulis juga melakukan studi pustaka dengan
studi lapangan, mencari informasi langsung dari narasumber, dalam hal ini selaku pemilik perusahaan.
3. Analisis dan Perancangan
Analisis ini mengenai tentang system yang sedang berjalan dan system yang
akan diusulkan.Perancangan system seperti ERD,LRS,Usecase diagram,
Sequence diagram,Class diagram. Desain interface untuk user.
4. Implementasi Sistem
Membuat database yang diperlukan untuk menunjang program, membuat
aplikasi menggunakan Netbeans 7.3 Dan MySql serta menjelaskan detil-detil
sistem yang dibuat dengan menggunakan bahasa pemrograman yang sesuai.
5. Pengujian Sistem
Dalam hal ini akan dilakukan pengujian terhadap sistem yang dibuat selama kurun waktu tertentu. Apakah aplikasi program dapat benar-benar membantu
user dalam memecahkan masalah dan pengujian apakah memungkinkan
terjadi human error. Sehingga dapat dilakukan perbaikan-perbaikan pada
aplikasi.
1.7. Sistematika Penulisan
Sistematika dari penulisan ini dimaksudkan untuk memberi penjelasan bagi pembaca mengenai setiap hal yang ada dalam penulisan ini yang terdiri dari lima bab, yang setiap babnya mempunyai isi pokok bahasan tersendiri, yaitu:
BAB I PENDAHULUAN
Memberikan penjelasan mengenai latar belakang permasalahan, rumusan masalah,tujuan penelitian, batasan masalah, manfaat penelitian, metode penelitian dan sistematika penulisan.
BAB II LANDASAN TEORI
Bab ini berisi tentang kajian pustaka teori-teori dan definisi-definisi yang digunakan dalam membantu proses pembuatan tugas akhir.
Bab ini penulis membuat sistem penggajian karyawan beserta aliran datanya,proses untuk bisa ditampilkan di program tersebut.
BAB IV PENGUJIAN DAN IMPLEMENTASI
Melakukan testing ( uji coba ) dan implementasi terhadap program atau aplikasi tersebut.
BAB V KESIMPULAN DAN SARAN
6
2.1. Definisi Penggajian
Gaji merupakan pembayaran atas penyerahan jasa yang dilakukan oleh karyawan yang mempunyai jenjang jabatan seperti manajer(Mulyadi, 2001).
Gaji adalah suatu bentuk pembayaran secara periodik dari pihak perusahaan atau majikan kepada karyawannya atau pekerjaanya sesuai dengan yang dinyatakan dalam kontrak kerja. Dari sudut pandang pelaku bisnis, gaji dapat dianggap sebagai biaya yang dibutuhkan untuk mendapatkan sumber daya manusia untuk menjalankan operasi (Tines Priandini,2011).
Penggajian dapat diartikan sebagai proses pembayaran upah kepada seseorang atau individu untuk pengganti hasil kerja atau jasa yang telah dilakukan.Jadi Sistem Penggajian atau kepegawaian adalah sistem yang mencakup seluruh tahap pemrosesan penggajian pelaporan kepegawaian(Mulyadi, 2001).
Penggajian adalah kegiatan atau proses dari pembayaran gaji dari pihak perusahaan atau majikan kepada karyawannya dengan mengikuti prosedur-prosedur tertentu yang sudah disepakati sebelumnya (Tines Priandini,2011).
2.2. Pemrograman Berorientasi Objek
Objek dapat digambarkan sebagai benda , orang, tempat dan sebagainya
yang mempunyai artibut dan metode. Tahap-tahap metodelogi berdasarkan System
Development Life Cycle (SDLC) digunakan dengan memperhatikan karakteristik
khusus berorientasi objek (Sutopo, 2002) yaitu analisa, desain, dan implementasi. Orientasi objek adalah suatu strategis untuk mengorganisasikan sistem sebagai koleksi dari interaksi objek-objek yang menggabungkan data dan prilaku (Blaha, 1998).
Karakteristik atau sifat-sifat yang dipakai dalam pendekatan berorientasi objek untuk pengembangan sistem (Edward, 1994):
a. Abstraksi
Prinsip untuk meresentasikan dunia nyata yang kompleks menjadi satu bentuk model yang sederhana dengan mangabaikan aspek-aspek lain yang tidak sesuai dengan permasalahan.
b. Enkapsulasi (Pembukusan)
Pembungkusan atribut data dan layanan (operasi-operasi) yang dipunya objek menyembunyikan implementasi dan objek sehingga objek lain tidak mengetahui cara kerja nya.
c. Interitance (Perwarisan)
Mekanisme menurunkan atribut dan fungsi dari suatu superkelas ke subkelas dalam suatu hiraksi.
2.2.1. Keuntungan metode berarah berorientasi objek
Keuntungan metode berarah objek diantranya adalah:
1. Meningkatkan produktivitas
Karena kelas dan objek yang diketemukan pada suatu kasus yang masih dapat dipakai ulang yang melibatkan objek tersebut.
2. Meningkatkan kualitas
Karena sistem yang dibangun dengan baik dan benar pada saat analisa dan perancanganya akan menyebabkan berkurangnya kesalahan pada saat pengkodean program aplikasi.
3. Mempermudah perawatan
Karena dengan model objek pola-pola yang cenderung tetap dan stabil dapat dipisahkan dari pola-pola yang mungkin sering berubah-ubah.
4. Adanya konsistensi
Karena sifatnya pewarisan dan penggunaan notasi yang sama pada saat analisa, perancangan, maupun pengkodean.
2.2.2. Penentuan objek dan kelas
Pengertian objek adalah suatu abstraksi dari suatu lingkup permasalahan / implementasi yang menggambarkan kemampuan dari system untuk menangkap informasi tentang objek tersebut, berinteraksi dengan keduanya pada nilai atribut dan service-nya.
Kelas adalah suatu gambaran dari satu atau lebih objek, penggambaran dengan sekumpulan atribut dan service yang sama. Menggambarkan bagaimana untuk menciptakan objek-objek baru dalam suatu kelas.
Gambar 2.0-1Simbol kelas
Simbol ini digunakan untuk merepresentasikan generalisasi kelas dari lingkup permasalahan yang berhubungan dengan objek-objeknya yang digambarkan dengan objek.
Kelas & objek adalah suatu istilah yang berarti suatu kelas & objek yang ada di kelas tersebut.
Gambar 2.0-2 Simbol class & object
Simbol diberi nama dengan kelas & objeknya, atribut dan service dapat digunakan untuk tiap-tiap objek disuatu kelas. Nama kelas & objek adalah suatu kata kerja atau kata sifat. Kelas & objek mengambarkan suatu objek tunggal dengan kelasnya. Contoh: ketika tiap objek menggambarkan sesuatu yang berhubungan dengan “meja” maka nama kelas & objeknya: “anggota_meja”.
2.2.3. Model MVC(Model-View-Controller)
Model-View-Controller arsitekturnya adalah sebuah pola yang terbukti membangun proyek secara lebih efektif. Hal itu dilakukan dengan memilih komponen antra model, view dan controller pada bagian-bagian dalam proyek.
Gambar 2.0-3 Komponen model MVC
Gambar di atas menunjukan tiga komponen yang terdapat pada dalam pola model MVC dan interaksi yang terjadi.
1. Model
Pola MVC memiliki layer yang disebut dengan model yang
merepresentasikan data yang digunakan oleh aplikasi sebagaimana proses bisnis yang diasosiasikan terhadapnya. Dengan memilihnya sebagai bagian terpisah, penampungan data, presentasi, serta proses manipulasi terpisah dari bagian lain aplikasi(Jeni, 2000). Membuat detail data dan operasinya
dapat ditempatkan yang ditentukan (model), hal ini memberikan
keuntungan dalam proses maintance aplikasi.Dengan pemisahan total
antara data dengan implementasi interface, komponen model dapat
digunakan kembali oleh aplikasi lain yang memiliki kegunaan yang hampir sama.
2. View
Layer ini mendukung keseluruhan detail dari implementasi keseluruhan presentasi. Di sini komponen grafis menyediakan representasi proses
internal aplikasi dan menuntun alur interaksi user terhadap apllikasi. Tidak ada layer lain yang berinteraksi dengan user, hanya View.
3. Controller
Kelebihan penggunaan layer Controller secara terpisah:
a. Dengan menggunakan komponen terpisah untuk menampung komponen
terpisah untuk menampung detail dari transisi layer, hal ini memudahkan
team pengembang multiple interface berkerja secara terpisah dari yang lain
b. secara simultan antara komponen View terabstraksi dalam
Controller(Kristoko, 2009).
c. Dengan menggunakan layer terpisah yang melakukan update terhadap
komponen Model, bagaimana data dari user mengubah ketetepan aplikasi
disembunyikan oleh Controller. Hal ini memisahkan dengan jelas antara
presentation logic dengan business logic (Sutopo, 2002).
2.3. Definisi UML
Menurut (Salahudin & Rosa, 2007) pada perkembangan teknik pemrograman berorientasi objek, muncul sebuah standarisasi bahasa pemodelan untuk pembangunan perangkat lunak yang dibangun dengan menggunakan teknik
pemrograman berorientasi objek, yaitu Unified Modeling Language (UML). UML
muncul karena adanya kebutuhan pemodelan visual untuk menspesifikasikan, menggambarkan, membangun dan dokumentasi dari sistem perangkat lunak. UML merupakan bahasa visual untuk pemodelan dan komunikasi mengenai sebuah sistem dengan menggunakan diagram dan teks-teks pendukung
Pada UML terdapat 13 macam diagram yang dikelompokkan dalam 3 kategori dan macam-macam diagram tersebut dapat dilihat pada label dibawah ini:
Tabel 2.1Diagram UML Structure
Diagrams
1. Class diagram
2. Object diagram
3. Component diagram
4. Composite structure diagram
5. Package diagram
Behavior diagram 1. Use Case diagram 2. Activity diagram
3. State machine diagram
Interaction
diagram
1. Sequence diagram
2. Communication diagram
3. Timing diagram
4. Interaction overview diagram
2.3.1. Use Case Diagram
Use Case diagram adalah model fungsional sebuah system yang menggunakan actor dan use case. Use Case adalah layanan (service) atau
fungsi yang disediakan oleh system untuk pengunanya(Hendri, 2008). Use
Case adalah suatu pola atau gambaran yang menunjukan kelakuan atau
kebiasaan sistem. Setiap Use Case adalah suatu urut-urutan (sequence)
transaksi yang saling berhubungan dan dilakukan oleh sebuah actor dan
sistem dalam sebuah dialog. Komponen yang ada dalam use case:
1) Actor
Actor adalah segala sesuatu yang berinteraksi langsung dengan sistem aplikasi komputer, seperti orang, benda atau lainnya. Tugas actor adalah memberikan informasi kepada sistem dan dapat memerintahkan sistem untuk melakukan sesuatu tugas.
Gambar 2.0-4 Simbol actor use case
2) Use case
Use case menggambarkan fungsi tertentu dalam suatu sistem berupa
komponen, kejadian atau kelas. Setiap Use Case adalah sebuah urutan dari
uc Use Case Model
Actor
<< Simbol actor <<Nama Actor
hubungan transaksi yang dikerjakan oleh actor dan sistem dalam sebuah dialog.
Gambar 2.0-5 Simbol Use Case
3) Relationship
Hubungan yang terjadi antar simbol dalam use case. Menggunakan garis dan tipe simbol yang digunakan untuk menghubungkan garis.
Gambar 2.0-6 Simbol Relationship
2.3.2. Activity Diagram
Activity Diagram adalah salah satu cara untuk memodelkan event-event yang terjadi dalam suatu use case. Diagram ini juga dapat digantikan dengan sejumlah teks, namun penggunaannya kadang sulit
dipahami. Sehingga activity diagram yang bersifat grafis lebih sering
digunakan.Komponen-komponen pada Activity Diagram
1) Start Point
Start Point (initial node), menggambarkan permulaan dari sebuah sistem yang akan dikerjakan, biasanya diletakkan pada pojok kiri atas.
Gambar 2.0-7 Simbol Star Activity diagram
uc Use Case Model
Use Case
uc Business Process Model
Actor2 Use Case1 Use Case2 <<relasi>> <<relasi «include» analysis Bu... ActivityInitial
2) End Point
End Point (activity final node), menggambarkan akhir dari sebuah
sistem.
Gambar 2.0-8 Simbol final Activity diagram
3) Activities
Activities, menggambarkan proses bisnis dan dikenal sebagai
activity state.
Gambar 2.0-9 Simbol Activity
4) Black Hole Activities
Black Hole Activities, ada masukan dan keluaran
Gambar 2.0-10 Simbol Hole Activities
5) Miracle Activities
Miracle Activities, tidak ada masukan dan ada keluaran dan dipakai pada waktu start point
Gambar 2.0-11 Simbol Miracle Activities
act Busines...
ActivityFinal
act Business Process Model Activ ity
6) Parallel Activities
a) Fork
Fork (percabangan), mempunyai 1 transisi masuk dan 2 atau lebih
transisi keluar
Gambar 2.0-12 Simbol Fork
b) Join
Join (penggabungan), mempunyai 2 atau lebih transisi masuk dan
hanya 1 transisi keluar.
Gambar 2.0-13 Simbol Join
7) Decision Point
Decision Points, tidak ada keterangan (pertanyaan) pada tengah
belah ketupat seperti pada flowchart dan harus mempunyai Guards
(kunci).
Gambar 2.0-14 Simbol Decision Point
act Business Process Model
Activ ity3 Activ ity2 Activ ity1
act Business Process Model
Activ ity1 Activ ity2
Activ ity3
8) Swimlane
Swimlane, sebuah cara untuk mengelempokan activity berdasarkan
actor.
Gambar 2.0-15 Simbol Swimlane
2.3.3. Class Diagram
Class diagram menggambarkan struktur dan deskripsi class, package
dan obyek beserta hubungan satu sama lain seperti containment, pewarisan, asosiasi, dan lain-lain.Class memiliki tiga area pokok, yaitu :
1) Nama (dan stereotype)
2) Atribut
Atribut adalah sebuah nilai data yang dimiliki oleh obyek sebuah kelas. Nama, umur, berat badan, adalah atribut dari obyek manusia atau orang.
3) Metode
Metode adalah implementasi dari sebuah operasi ke dalam sebuah kelas.
Sebagai contoh, sebuah kelas “file” mungkin mempunyai operasi print.
Gambar 2.0-16Class model diagram
act Business Process Model w imlane
2.3.4. Sequence Diagram
Sequence diagram menggambarkan interaksi antar obyek di dalam dan
di sekitar sistem (termasuk pengguna, display dan sebagainya).
Sequence diagram biasa digunakan untuk menggambarkan skenario
atau rangkaian langkah-langkah yang dilakukan sebagai respons dari sebuah
event untuk menghasilkan output tertentu.
Gambar 2.0-17 model sequence diagram
2.4. Definisi Basis Data
Basis Data (database) merupakan kumpulan data yang saling berhubungan
satu dengan yang lainnya, tersimpan di perangkat keras komputer dan digunakan perangkat lunak untuk memanipulasinya. Data perlu disimpan didalam basis data perlu diorganisasikan sedemikian rupa, supaya informasi yang dihasilkan berkualitas.
Untuk mengelola basis data diperlukan perangkat lunak yang disebut DBMS. Definisi DBMS menurut (Connolly, 2005) adalah suatu sistem perangkat lunak yang bisa mendefinisikan, membuat, memelihara, dan mengontrol akses ke
basis data.Berikut ini adalah transformasi data yang menjadi database:
a. Karakter, merupakan bagian data terkecil, dapat berupa karakter, numeric,
b. Field, suatu field menggambarkan suatu atribut dari record yang menunjukan suatu item dari data, seperti misalnya nama, alamat, dan lain sebagainya. Kumpulan dari field berbentuk suatu record.
c. Record, kumpulan dari field membentuk suatu record. Record
menggambarkan suatu unit data individu tertentu. Kumpulan dari record
membentuk suatu file. Misalnya file personalia, tiap record dapat mewakili data tiap- tiap karyawan.
d. File, file terdiri dari record- record yang menggambarkan suatu kesatuan data
yang sejenis. Misalnya file mata kuliah berisi data tentang semua mata kuliah
yang ada.
e. Database,database merupakan kumpulan dari file yang membentuk database.
2.4.1. Tujuan Basis Data
Prinsip utama database adalah pengaturan data dengan tujuan
utama fleksibelitas dan kecepatan dalam pengambilan data kembali.
Adapun tujuan database diantaranya:
a. Efisiensi meliputi speed, space, dan accuracy.
b. Menangani data dalam jumlah besar.
c. Kebersamaan pemakaian (Sharebility).
d. Meniadakan duplikasi dan inkinsistensi data.
2.4.2. DBMS (Database Management System)
Database Management System (DBMS atau DMS) adalah paket
perangkat lunak yang kompleks digunakan untuk memanipulasi database.
Sedangkan Connoly menjelaskan pengenalan sistem informasi, DBMS adalah suatu sistem perangkat lunak yang bisa mendefinisikan, membuat, memelihara, dan mengontrol akses ke basis data.(Connolly, 2005)
Semua operasi input dan output yang berhubungan dengan
database harus menggunakan DBMS. Jika pemakai akan mengakses
database, DBMS menyediakan penghubung (interface) antara pemakai
dengan database. Hubungan pemakai dengan database dapat dilakukan dengan dua cara yaitu :
a. Secara interaktif menggunakan bahasa pernyataan (Query Language)
b. Dengan menggunakan program aplikasi (Microsoft SQL Server)
2.4.3. Merancang Model Basis Data
Pada perancangan model konseptual penekanan tinjauan dilakukan pada struktur data dan relasi antara file. Menurut (Connolly, 2005), suatu desain basis data harus memenuhi kondisi untuk tidak mengandung anomali, yaitu suatu kejanggalan dari suatu penempatan atribut tertentu dari suatu objek data. Pendekatan yang dilakukan pada perancangan model konseptual adalah menggunakan model data relational, terdapat dua buah teknik yaitu :
2.4.3.1. Normalisasi
Normalisasi adalah teknik analisis data yang
mengorganisasikan data kedalam grup untuk bentuk yang non
redundant,stabil, fleksibel. Sebuah tabel yang belum dinormalisasi
disebut UNF (Unormalized Form). UNF merupakan suatu tabel
yang berisikan satu atau lebih grup yang berulang(Whitten, 2004). Proses pembentukan tabel normal (normalisasi) bertujuan untuk :
Membuat sekecil mungkin terjadinya data rangkap
Menghindarkan adanya data yang tidak konsisten terutama bila
dilakukan penghapusan atau penambahan data sebagai akibat adanya data rangkap.
Bentuk normalisasi adalah suatu aturan yang dikenakan pada relasi- relasi dalam basis data dan harus dipenuhi oleh relasi- relasi tersebut pada langkah- langkah normalisasi.
Bentuk Normal adalah keadaan yang dihasilkan dengan
menerapkan aturan sederhana berkaitan dengan konsep
ketergantungan fungsional (functional dependency). Ada 6 tahap
1) Bentuk tidak normal
Bentuk ini merupakan kumpulan data yang akan disimpan, tidak ada keharusan mengikuti suatu format tertentu, dapat saja data tidak lengkap atau terduplikasi dan data dikumpulkan apa adanya.
2) Bentuk Normal Pertama (First Normal Form/ 1NF)
Sebuah relasi dimana setiap baris dan kolom mempunyai hanya satu nilai. Dengan mentransfer data dari sumber kedalam format tersebut dan table dalam bentuk tidak normal
(unnormalized form) akan diubah ke bentuk normal pertama
dengan menghilangkan kelompok yang berulang seperti atribut atau sekelompok atribut.
3) Bentuk normal kedua
Sebuah relasi yang ada pada bentuk normal pertama, dan setiap
atribut yang bukan primary key ketergantungan fungsional
penuh pada primary key. Yang didasarkan pada konsep
ketergantungan fungsional secara penuh. Perubahan dari 1NF ke 2NF ditentukan dengan menghilangkan ketergantungan parsial. Jika terdapat ketergantungan parsial dilakukan penghilangan atribut yang tergantung fungsional dengan memindahkan kedalam relasi baru dengan duplikasi dari determinannya.
4) Bentuk normal ketiga
Sebuah relasi dimana memenuhi 1NF dan 2NF dan dimana atribut tidak primary key mengalami ketergantungan transitif
pada primary key. Dan meskipun relasi 2NF lebih sedikit
mengalami pengulangan data dari pada 1NF, tidak dipungkiri
masih bisa mengalami update anomalies (relasi yang memiliki
data yang berulang). Normalisasi 2NF ke 3NF dilakukan dengan menghilangkan ketergantungan transitif. Jika terdapat ketergantungan transitif, maka dihilangkan dari relasi dengan
menempatkan atribut pada suatu relasi yang baru dengan duplikasi determinannya.
5) Bentuk normal Boyce-Codd (BCNF)
BCNF adalah suatu relasi jika dan hanya jika setiap determinan adalah kunci kandidat. BCNF berdasarkan pada prinsip ketergantungan fungsional. Perbedaan BCNF dan 3NF adalah jika 3NF memungkinkan sebuah relasi memiliki B sebagai
primary key dan A ketergantungan fungsional terhadap B, A boleh tidak merupakan kunci kandidat, sedangkan dalam BCNF, A harus merupakan kunci kandidat.
6) Dependensi nilai banyak dan bentuk normal keempat
(4NF/Fourth Normal Form)
Suatu relasi yang memenuhi BCNF dan tidak mengandung
nontrival multi-valued dependencies (yang dilakukan dengan
pemisahan atribut yang multi-valued dependencies ke relasi baru). MVD menggambarkan ketergantungan antara atribut dalam suatu relasi, dimana setiap nilai A adalah sekelompok nilai untuk B sekelompok nilai untuk C. Dimana nilai- nilai B dan C tidak tergantung satu sama lain.
7) Dependensi gabungan dan bentuk normal kelima (5NF/Fifth
Normal form)
Suatu relasi yang tidak memiliki ketergantungan gabungan (join dependency). 5NF ini sering disebut project-join normal
form(PJNF). Join dependency menggambarkan sebuah tipe
ketergantungan. Contoh sebuah relasi R dengan subset dari atribut R menunjuk A, B, …Z, sebuah relasi R memenuhi
joindependency jika dan hanya jika setiap nilai resmi dari R sama dengan penggabungan proyeksi A, B…Z.
a. Teknik Entity Relationship
1. Perancangan database Teknik Entity Relationship
Database adalah kumpulan file yang saling berkaitan.
2005)merupakan hubungan antar data berdasarkan persepsi dunia nyata yang terdiri dari sekumpulan objek dasar yang disebut entity dan hubungan antar objek tersebut. Model Entity Relationship merepresentasikan bagaimana isi dari basis data yang harus dibentuk. Salah satu hal penting adalah kardinalitas yang merepresentasikan jumlah suatu ke entity lain yang diasoasikan dalam hubungannya.
2. Entity Relationship Concept
Relasi antara dua file atau tabel dapat dikategorikan menjadi tiga macam. Demikian pula untuk membantu gambaran relasi secara lengkap. Terdapat juga tiga macam relasi dalam hubungan atribut dalam satu file, yaitu antara lain :
1) One To One Relationship 2 file : hubungan antara file pertama dengan file kedua adalah satu banding satu.
2) One To Many Relationship 2 file : hubungan antara
file pertama dengan file kedua adalah satu berbanding banyak atau dapat pula dibalik banyak berbanding satu.
3) Many To Many Relationship 2 file : hubungan
antara file pertama dengan file kedua adalah banyak berbanding banyak.
2.5. Teori Pemrograman
2.5.1. Java
Java merupakan pemrograman yang menanjak popularitasnya dewasa ini. Selain gratis, Java mudah didapatkan dan juga tangguh. Java sendiri lahir pada tahun 1991 yang diprakarsai oleh tim Sun melalui
Java merupakan fitur- fitur dari bahasa pemrograman yang lain, dimana fitur itu dianggap merupakan suatu kelebihan oleh tim Sun.
Misalnya Java Virtual Machine (JVM)/ Java Runtime environment (JRE)
yang merupakan mesin maya pada bahasa pascal, sintaks dan Exception
Handling diambil dari C/C++ dan lain sebagainya.
Java Virtual Machine (JVM) atau Java Runtime Environment
(JRE) merupakan fitur Java yang membuatnya dapat berjalan pada semua
PlatForm sistem operasi. Apabila anda membuat Java pada Windows,
anda dapat menjalankannya pada sistem operasi Linux, Mac OS dan
lainnya.
2.5.2. Keunggulan Java
Java memiliki beberapa keunggulan yang tidak dimiliki oleh bahasa lain. Berdasarkan White Paper resmi dari SunMicrosystem, Java memiliki karakteristik sebagai berikut menurut (Andi, 2010) :
1. Sederhana
Bahasa pemrograman Java menggunakan sintaks mirip dengan C++, namun sintaks Java telah banyak diperbaiki terutama menghilangkan penggunaan pointer yang rumit dan multiple inheritance. Java juga
menggunakan automatic memory allocation dan memory garbage
collection.
2. Berorientasi Objek (Object Oriented)
Java menggunakan pemrograman berorientasi objek yang membuat program dapat dibuat secara modular dan dapat dipergunakan kembali. Pemrograman berorientasi objek memodelkan dunia nyata kedalam objek dan melakukan interaksi antara objek- objek tersebut.
3. Dapat Didistribusikan dengan Mudah
Java dibuat untuk membuat aplikasi terdistribusi secara mudah dengan adanya libraries networking yang terintegrasi pada java.
4. Interpreter
Program java dijalankan menggunakan interpreter yaitu Java Virtual Machine (JVM). Hal ini menyebabkan source code java yang telah
dikompilasi menjadi java bytecodes dapat dijalankan pada platform
yang berbeda- beda.
5. Robust
Java mempunyai realibilitas yang tinggi. Compiler pada java
mempunyai kemampuan mendeteksi error secara lebih teliti
dibandingkan bahasa pemrograman lain. Java mempunyai Runtime
Exception Handling untuk membantu mengatasi error pada
pemrograman.
6. Aman
Sebagai bahasa pemrograman untuk aplikasi internet dan terdistribusi,
java memiliki beberapa mekanisme keamanan untuk menjaga aplikasi
tidak digunakan untuk merusak system computer yang menjalankan
aplikasi tersebut.
7. Architecture Neutral
Program java merupakan platform independen. Program cukup
mempunyai satu buah versi yang dapat dijalankan pada platform yang
berbeda dengan Java Virtual Machine.
8. Portabel
Source code maupun program java dapat dengan mudah dibawa ke
platform yang berbeda- beda tanpa harus dikompilasi ulang.
9. Multithreading
Java mempunyai kemampuan untuk membuat suatu program yang dapat melakukan beberapa pekerjaan secara sekaligus dan simultan.
10.Dinamis
Java didesain untuk dapat dijalankan pada lingkungan yang dinamis.
Perubahan pada suatu class dengan menambahkan properties ataupun
method dapat dilakukan tanpa mengganggu program yang
2.6. Aplikasi Pendukung
2.6.1. Netbeans
NetBeans merupakan sebuah proyek kode terbuka yang sukses
dengan pengguna yang sangat luas, komunitas yang terus tumbuh. Sun
Microsystems mendirikan proyek kode terbuka NetBeans pada bulan Juni
2000 dan terus menjadi sponsor utama. Saat ini terdapat dua produk
NetBeans IDE dan NetBeans PlatForm.
The NetBeans IDE adalah sebuah lingkungan pengembangan
sebuah kakas untuk pemrograman menulis, mengompilasi, mencari
kesalahan dan menyebarkan program. NetBeans IDE ditulis dalam Java
namun dapat mendukung bahasa pemrograman lain. Terdapat banyak
modul untuk memperluas NetBeans IDE. NetBeans IDE adalah sebuah
produk bebas dengan tanpa batasan bagaimana digunakan.
Tersedia juga NetBeans PlatForm sebuah fondasi yang modular
dan dapat diperluas yang dapat digunakan sebagai perangkat lunak dasar
untuk membuat aplikasi desktop yang besar. Mitra ISV menyediakan
plug-in bernilai tambah yang dapat dengan mudah diintegrasikan kedalam
Platform dan dapat juga digunakan untuk membuat kakas dan solusi
sendiri.
2.6.2. JasperReport
Laporan adalah hal yang mutlak ada pada hampir semua aplikasi. Tanpa laporan, program komputer hampir tidak bermakna apa- apa. Percuma pengolahan data dilakukan kalau tidak ada hasil berupa laporan atau report yang dihasilkan. Biasanya laporan dibuat saat user interface
dan pengolahan data user selesai.
JasperReport adalah sebuah tool yang sangat powerful untuk
membuat laporan dalam bentuk PDF, HTML, XLS, RTF, ODT, CSV, TXT, dan XML. Program ini mulai dikembangkan tahun 2001 oleh Teodor Danciu, setelah pada peluncurannya pada tahun itu sampai sekarang tool ini menjadi sangat popular. Sehingga pada search engine dia
muncul paling awal dibanding dengan yang lainnya. Kemudian pada tahun
2005 muncul perusahaan JasperSoft yang pengembangannya didukung
oleh beberapa pengembang software, dan menyediakan juga beberapa
aplikasi tambahan yang bersifat commercial.
Dengan kemampuan dan fleksibilitasnya yang sangat tinggi, anda bisa membuat berbagai laporan berbentuk chart, crosstabs, subreport dan kemampuan lain yang anda butuhkan. Satu lagi, yang tidak kalah pentingnya adalah sifatnya yang open source membuat tool ini semakin
menawan untuk menjadi pilihan bagi programmer maupun developer
terkini. Anda bisa mendapatkan distribusi secara gratis di alamat
www.jasperforge.org.
2.6.3. MySQL
Database secara sederhana, dapat kita sebut sebagai gudang data. Secara teori, database adalah kumpulan data atau sistem informasi yang kompleks, data- data tersebut disusun menjadi beberapa kelompok dengan tipe data yang sejenis, dimana setiap datanya dapat saling berhubungan satu sama lain atau dapat berdiri sendiri, sehingga mudah diakses.
Database dapat kita kelola menggunakan program aplikasi data, misalnya : MySql, Ms. Access, PostgreSQL dan SQL Server. Aplikasi yang
dapat membuat dan mengelola database disebut database manajemen
system (DBMS). Mysql merupakan database server yang awalnya hanya
berjalan pada system Unix dan Linux. Seiring berjalannya waktu dan banyaknya peminat yang menggunakan database ini, Mysql merilis versi
yang dapat di-instal pada hampir semua Platform, termasuk
Windows.(Bunafit, 2008)
MySQL menggunakan bahasa standar untuk mengakses database,
yaitu menggunakan bahasa Structured Query Language (SQL). Sejak
tahun 70-an bahasa ini telah dikembangkan oleh IBM, yang kemudian
diikuti dengan adanya Oracle, Informix dan Sybase. Dengan menggunakan
dengan misalnya dbase ataupun Clipper yang masih menggunakan syntax
pemrograman murni. MySQL adalah sebuah server database SQL
multiuser dan multithreaded. SQL sendiri adalah salah satu bahasa
database yang paling popular didunia. Implementasi program server
database ini adalah program daemon MySQLd dan beberapa program lain
serta beberapa referensi. Keunggulan MySQL dibandingkan dengan perangkat lunak database server lainnya, yaitu :
1. Freeware
2. High performance
3. Biaya rendah
4. Mudah untuk dikonfigurasi dan dipelajari
5. Portable
6. MySQL merupakan program yang multi-threaded, sehingga dipasang
pada server yang memiliki multi-CPU.
7. Didukung program- program umum seperti C, C++, Java, Perl, PHP,
Python, TCL APIs.
8. Bersifat terbuka
9. Memiliki sistem keamanan yang baik dengan verifikasi host.
10.Memiliki kemampuan mengelola database dengan jumlah record yang
banyak.
11.Mendukung record yang memiliki kolom dengan panjang tetap atau
panjang bervariasi.
MySQL merupakan program database server dengan SQL sebagai
bahasa yang digunakan didalamnya. SQL dibagi menjadi dua bentuk
query, yaitu :
1. DDL (Data Definition Language)
DDL Adalah sebuah metode Query SQL yang berguna untuk
mendefinisikan data pada sebuah database, adapun Query yang
dimiliki adalah :
CREATE : digunakan untuk melakukan pembuatan table dan
DROP : digunakan untuk melakukan penghapusan table maupun database.
ALTER : digunakan untuk melakukan pengubahan struktur table
yang telah dibuat, baik menambah Field (add), mengganti nama
Field (change), ataupun menamakannya kembali (rename), serta
menghapus (drop).
2. DML (Data Manipulation Language)
DML Adalah sebuah metode Query yang dapat digunakan apabila
DDL telah terjadi, sehingga fungsi dari Query ini adalah untuk
melakukan pemanipulasi database yang telah ada atau yang telah
dibuat sebelumnya. Berikut Query yang termasuk didalamnya adalah :
SELECT : digunakan untuk menampilkan data pada table
INSERT:digunakan untuk melakukan penginputan/pemasukan data
pada tabel database.
UPDATE : dilakukan untuk melakukan pengubahan atau
peremajaan terhadap data yang ada pada tabel.
DELETE : digunakan untuk melakukan penghapusan data pada
28
3.1. Analisa
Sistem penggajian pada PT. XYZ yang berjalan selama ini melibatkan
divisi Hrd, staff keuangan dan spv.Di sistem berjalan pada perusahaan tersebut terpusat pada Divisi Keuangan. Adapun analisa sistem berjalan sebagai berikut:
3.1.1. Analisa Sistem Berjalan
a. Pengumpulan Data
Setiap kali perusahaan akan melakukan penggajian bagian HRD menyerahkan data jenis gaji karyawan dan rekap absen
manual. Untuk staff keuangan sendiri mengumpulkan data
potongan gaji baik berupa piutang karyawan ataupun kerugian yang disebabkan oleh karyawan. Setelah selesai semua data diserahkan ke bagian spv.
Gambar 3.0-1 Activity Diagram Proses Pengumpulan Data
act Pengumpulan data2
SPV
HRD Staff keuangan
Menyerahkan data j enis gaj i karyaw an dan rekap absen
manual
terima data menyerahkan data potongan gaj i,
baik berupa piutang karyaw an ataupun kerugian yang disebabkan
b. Transaksi Penggajian
Proses penggajian setelah data terkumpul bagian spv
menerima data lalu membuat slip gaji untuk masing-masing karyawan berdasarkan jumlah kehadiran dan karyawan menerima slip gaji setiap awal bulan yang di buat oleh bagian spv.
Gambar 3.0-2Activity Diagram Proses Penggajian
c. Pembuatan Laporan
Bagian spv membuat laporan pembayaran gaji karyawan
setiap awal bulan yang nanti laporan tersebut diserahkan kepada pimpinan.
Gambar 3.0-3 Activity Diagram Proses Pembuatan Laporan
act transaksi penggaj ian
karyaw an spv
buat slip gaj i karyaw an berdasarkan j umlah
kehadiran
terima slip gaj i
act pembuatan laporan
pimpinan spv
buat laporan pembayaran gaj i
3.1.2. Analisa data
1. Analisa Keluaran
Analisa keluaran merupakan gambaran keluaran berbentuk informasi yang dihasilkan oleh sistem berjalan. Analisa keluaran di PT.XYZ dapat dirincikan sebagai berikut :
a. Slip Gaji
Nama Keluaran : Slip Gaji
Fungsi : Bukti pembayaran gaji karyawan
Media : Kertas
Distribusi : Karyawan dan SPV
Rangkap : 2 (dua)
Frekuensi : Setiap bulan
Keterangan : Dokumen ini berisikan rincian data
penggajian karyawan b. Laporan Gaji
Nama Keluaran : Laporan Gaji
Fungsi : Mengetahui laporan gaji karyawan
selama sebulan
Media : Kertas
Distribusi : Spv Internal dan Manager Finance
Rangkap : 2 (dua)
Frekuensi : Setiap bulan
Keterangan : Rekapitulasi data penggajian
karyawan
2. Analisa Masukan
Analisa Masukan adalah bentuk data yang diperlukan dalam proses sistem penggajian karyawan.Analisa masukkan akan diolah sesuai dengan maksud dan tujuan sistem
a. Data Karyawan
Nama Masukkan : Data Karyawan
Fungsi : Mengetahui data karyawan secara
detail
Media : Kertas
Distribusi : Hrd
Rangkap : 1 (satu)
Frekuensi : Setiap bulan
Keterangan : Data lengkap karyawan
b. Rekap Absensi
Nama Masukkan : Rekap Absensi
Fungsi : Mengetahui data absensi karyawan
selama sebulan
Media : Kertas
Distribusi : Hrd dan staff internal
Rangkap : 1 (satu)
Frekuensi : Setiap bulan
Keterangan : Data absensi karyawan
3.1.3. Analisa Perangkat Keras
Perangkat keras (hardware) di PT.XYZ:
1. Delapan buah komputer yang terdapat di ruang financesebagai berikut:
a. Processor : Intel® Core™ i3-2350M CPU
2.30GHz
b. Harddisk : 160GB
c. Memory : 2.00GB
d. Monitor : 14 inchi
e. Mouse
2. Printer Dua buah yang terdapat di ruang finance dengan type
3.1.4. Analisa Perangkat Lunak
Sistem operasi yang digunakan di PT.XYZ adalah Microsoft
Windows 7 dan Microsoft office. Untuk mengimplementasikan Sistem
Penggajianyang diusulkan hanya menambahkan perangkat lunak
Neatbeans 7.3dan JDK7 sebagai aplikasi, Navicat for MySQL 1.0.01 dan
XAMPP 1.7.7 untuk DBMS. Perangkat lunak diatas sudah cukup mengolah
data penggajian dan pengolahan data lainnya yang diperlukan.
3.1.5. Analisa User
Analisa user dimaksudkan untuk mengetahui siapa saja user atau pengguna yang terlibat dalam pengolahan data beserta karakteristiknya
sehingga dapat diketahui tingkat pemahaman user terhadap komputer.
1. Direktur Nama : Rudi Nip : - Pendidikan : Sarjana Sistem operasi yang digunakan : Windows 7 Software yang digunakan
: Microsof word dan Microsoft Excel
2. Manager Keuangan Nama : Sinta Nip : - Pendidikan : Sarjana Sistem operasi yang digunakan : Windows 7 Software yang digunakan
3. Manager Frenchise Nama : Budi Nip : - Pendidikan : Sarjana Sistem operasi yang digunakan : Windows 7 Software yang digunakan
: Microsof word dan Microsoft Excel
3.1.6. Analisa Kebutuhan
Dalam melakukan perancangan, adapun analisa kebutuhannya adalah :
1. Komponen Gaji
a. Komponen gaji karyawan terdiri atas
Gaji Pokok
Tunjangan Tetap
- Tunjangan Jabatan
Tunjangan Tidak Tetap
- Tunjangan Makan
- Tunjangan Transport
- Tunjangan Komunikasi
b. Tunjangan jabatan diberikan kepada karyawan yang menempati jabatan struktural dalam perusahaan.
c. Tunjangan makan diberikan kepada karyawan untuk satu kali makan dalam satu hari.
d. Tunjangan transportdiberikan kepada karyawan untuk
perjalanan berangkat dan pulang kerja.
e. Tunjangan Komunikasi diberikan kepada karyawan untuk komunikasi jika ada penambahan bahan baku di outlet serta
f. Untuk tunjangan makan,tunjangan transport dan tunjangan komunikasi berlaku ketentuan sebagai berikut:
- Tunjangan makan dibayarkan kepada karyawan secara
bulanan untuk management sedangkan untuk operator dan
gudang bisa diambil harian dan dihitung berdasarkan jumlah kehadiran per bulan.
- Tunjangan Komunikasi dibayarkan kepada karyawan secara bulanan.
- Karyawan yang tidak masuk kerja tidak mendapatkan
tunjangan makan dan tunjangan transport.
- Perhitungan besarnya tunjangan makan dan transport untuk satu bulan adalah tunjangan per hari dikalikan jumlah kehadiran sebulan
2. Potongan
a. Untuk meringankan beban karyawan, perusahaan memberikan bantuan keuangan berupa pinjaman tanpa bunga bagi karyawan untuk keperluan yang dianggap penting dan mendesak
b. Besarnya pinjaman maksimal adalah 50% dari total gaji
berdasarkan berapa hari kerja.
3. Menghitung Tunjangan
Perhitungan jumlah tunjangan yang diterima per bulan adalah sebagai berikut:
Tunjangan Jabatan + Tunjangan Makan + Tunjangan Transport +
Tunjangan Komunikasi = Jumlah Tunjangan / Bulan
4. Menghitung Potongan
Perhitungan jumlah potongan yang diterima per bulan adalah sebagai berikut:
Potongan Pinjaman + Potongan Pengambilan uang makan + Potongan Selisih kas + Potongan Koreksi bahan baku = Jumlah Potongan / Bulan
3.2. Perancangan
Berdasarkan analisa yang telah dilakukan, perancangan sistem dibagi dalam dua tahap, yaitu perancangan basis data dan perancangan aplikasi.
3.2.1. Perancangan Basis Data
3.2.1.1. Normalisasi
1. Relasi Cabang
Kode_cabang cabang
Gambar 3.0-4 Ketergantungan Fungsi Pada Relasi Cabang Keterangan Gambar :
a) Tabel m_cabang sudah bernilai tunggal (1NF) karena sudah
tidak ada atribut yang berulang (Repeating Group).
b) Tabel m_cabang sudah normal bentuk kedua (2NF) karena
semua atribut non key yaitu cabang bergantung sepenuhnya
kepada atribut key yaitu kode_cabang (Funcional Dependency).
c) Tabel m_cabang sudah normal bentuk ketiga (3NF) karena
semua atribut non key tidak bergantung kepada atribut key lainnya tetapi terhadap key yaitu kode_cabang (Transitive
Dependency).
2. Relasi Jabatan
Kode_Jabatan Jabatan
Gambar 3.0-5 Ketergantungan Fungsi Pada Relasi Jabatan Keterangan Gambar :
a) Tabel m_jabatan sudah bernilai tunggal (1NF) karena sudah
b) Tabel m_jabatan sudah normal bentuk kedua (2NF) karena
semua atribut non key yaitu jabatan bergantung sepenuhnya
kepada atribut key yaitu kode_jabatan (Funcional Dependency).
c) Tabel m_jabatan sudah normal bentuk ketiga (3NF) karena
semua atribut non key tidak bergantung kepada atribut key lainnya tetapi terhadap key yaitu kode_jabatan (Transitive
Dependency).
3. Relasi Jenis Potongan
Jenis_Potongan Kode_Jenis_Potongan
Gambar 3.0-6 Ketergantungan Fungsi Pada Relasi Jenis Potongan Keterangan Gambar :
a) Tabel m_jenis_potongan sudah bernilai tunggal (1NF) karena
sudah tidak ada atribut yang berulang (Repeating Group).
b) Tabel m_jenis_potongansudah normal bentuk kedua (2NF)
karena semua atribut non key yaitu jenis_potongan bergantung
sepenuhnya kepada atributkey yaitu kode_jenis_potongan
(Funcional Dependency).
c) Tabel m_jenis_potongansudah normal bentuk ketiga (3NF)
karena semua atribut non key tidak bergantung kepada atribut key lainnya tetapi terhadap key yaitu m_jenis potongan (Transitive Dependency).
4. Relasi Potongan Status Kode_Jenis_Potongan Nik_karyawan Keterangan Jumlah_Potongan Tanggal_Potongan Kode_Potongan Sisa_potongan
Gambar 3.0-7 Ketergantungan Fungsi Pada Relasi Potongan Keterangan Gambar :
a) Tabel t_potongan sudah bernilai tunggal (1NF) karena sudah
tidak ada atribut yang berulang (Repeating Group).
b) Tabel t_potongan sudah normal bentuk kedua (2NF) karena
semua atribut non key yaitu jumlah_potongan, keterangan,
sisa_potongan, status, tanggal_potongan, nik_karyawan
dankode_jenis_potongan bergantung sepenuhnya kepada
atributkey yaitu kode_potongan (Funcional Dependency).
c) Tabel t_Potongan sudah normal bentuk ketiga (3NF) karena
semua atribut non key tidak bergantung kepada atribut key lainnya tetapi terhadap key yaitu kode_Potongan(Transitive
5. Relasi Detil Pengurangan
Kode_Potongan Kode_slip Jumlah_Pengurangan
Kode_Detil_Pengurangan
Gambar 3.0-8 Ketergantungan Fungsi Pada Relasi Detil pengurangan Keterangan Gambar :
a) Tabel t_detil_pengurangan sudah bernilai tunggal (1NF) karena
sudah tidak ada atribut yang berulang (Repeating Group).
b) Tabel t_detil_pengurangan sudah normal bentuk kedua (2NF)
karena semua atribut non key yaitu jumlah_pengurangan,
kode_slip dan kode_potonganbergantung sepenuhnya kepada
atribut key yaitu kode_detil_pengurangan (Funcional
Dependency).
c) Tabel t_detil_pengurangan sudah normal bentuk ketiga (3NF)
karena semua atribut non key tidak bergantung kepada atribut
key lainnya tetapi terhadap key yaitu
6. Relasi karyawan Jenis_Kelamin Kode_Jabatan Kode_Cabang Tanggal_Masuk No_Telepon No_Rekening Alamat_Karyawan Status_Perkawinan Tanggal_Lahir Tempat_Lahir Nama_Karyawan Nik_Karyawan
Gambar 3.0-9 Ketergantungan Fungsi Pada Relasi Karyawan Keterangan Gambar :
a) Tabel m_karyawan sudah bernilai tunggal (1NF) karena sudah
tidak ada atribut yang berulang (Repeating Group).
b) Tabel m_karyawan sudah normal bentuk kedua (2NF) karena
semua atribut non key yaitu jenis_kelamin, status_perkawinan, alamat_karyawan, nama_karyawan, no_rekening, tanggal_lahir, tanggal_masuk, no_telepon, tempat_lahir, kode_jabatan dan
kode_cabang bergantung sepenuhnya kepada atribut key yaitu
nik_karyawan (Funcional Dependency).
c) Tabel m_karyawan sudah normal bentuk ketiga (3NF) karena
semua atribut non key tidak bergantung kepada atribut key lainnya tetapi terhadap key yaitu nik_karyawan (Transitive