Sistem Peggajian Perkantoran Dengan Metode Berorientasi Objek

download Sistem Peggajian Perkantoran Dengan Metode Berorientasi Objek

of 251

description

Skripsi

Transcript of Sistem Peggajian Perkantoran Dengan Metode Berorientasi Objek

SISTEM PENGGAJIAN PERKANTORAN MENGGUNAKAN METODE BERORIENTASI OBJEK

SKRIPSIDiajukan Untuk Melengkapi Salah Satu Syarat Memperoleh Gelar Sarjana (Strata 1)

Oleh :DEDE IIN MUTMAINAH2009140799

PROGRAM STUDI TEKNIK INFORMATIKAFAKULTAS TEKNIKUNIVERSITAS PAMULANGPAMULANG201373

SISTEM PENGGAJIAN PERKANTORAN MENGGUNAKAN METODE BERORIENTASI OBJEK

SKRIPSI

Oleh :DEDE IIN MUTMAINAH2009140799

PROGRAM STUDI TEKNIK INFORMATIKAFAKULTAS TEKNIKUNIVERSITAS PAMULANGPAMULANG2013LEMBAR PERNYATAANYang bertanda tangan di bawahNama: Dede Iin MutmainahNIM: 2009140799Program Studi: Teknik InformatikaFakultas : TeknikJenjang Pendidikan : Strata1Menyatakan bahwa skripsi yang saya buat dengan judul:SISTEM PENGGAJIAN PERKANTORAN MENGGUNAKAN METODE BERORIENTASI OBJEK1. 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

(Dede Iin Mutmainah)

LEMBAR PERSETUJUANNIM: 2009140799 Nama: Dede Iin MutmainahProgram Studi: Teknik InformatikaFakultas: TeknikJenjang Pendidikan: Strata 1Judul 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

LEMBAR PENGESAHANNIM: 2009140799Nama: Dede Iin MutmainahProgram Studi: Teknik InformatikaFakultas: TeknikJenjang Pendidikan: Strata 1Judul Skripsi: SISTEM PENGGAJIAN PERKANTORAN MENGGUNAKAN METODE BERORIENTASI OBJEKSkripsi 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 1Penguji II

Riswal Hanafi Siregar, S.Si.,MSi.

Pembimbing

Mengetahui,

Ahmad Hindasyah, SSi, MSi.

KaProdi Teknik Informatika

KATA PENGANTARPuji 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.Penulis menyadari bahwa tak ada gading yang tak retak.Oleh karena itu,kritik dan saran yang konstruktif sangat penulis harapkan demi 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

Dede Iin Mutmainah

ABSTRACTSalary 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 testThis 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.Kunnci words: java, salary payroll system,

ABSTRAKGaji 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 ObjekInformasi 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. Kata kunnci: java, gaji sistem penggajian,

DAFTAR ISI

LEMBAR PERNYATAANiiLEMBAR PERSETUJUANiiiLEMBAR PENGESAHANivKATA PENGANTARvABSTRACTviiABSTRAKviiiDAFTAR ISIixDAFTAR GAMBARxiiiDAFTAR TABELxviDAFTAR SIMBOLxviiBAB I PENDAHULUAN11.1.Latar Belakang11.2.Rumusan Masalah21.3.Tujuan Penelitian21.4.Batasan Masalah21.5.Manfaat Penelitian31.6.Metode Penelitian31.7.Sistematika Penulisan4BAB II LANDASAN TEORI62.1.Definisi Penggajian62.2.Pemrograman Berorientasi Objek62.2.1.Keuntungan metode berarah berorientasi objek72.2.2.Penentuan objek dan kelas72.2.3.Model MVC(Model-View-Controller)82.3.Definisi UML102.3.1.Use Case Diagram112.3.2.Activity Diagram122.3.3.Class Diagram152.3.4.Sequence Diagram162.4.Definisi Basis Data162.4.1.Tujuan Basis Data172.4.2.DBMS (Database Management System)172.4.3.Merancang Model Basis Data182.5.Teori Pemrograman212.5.1.Java212.5.2.Keunggulan Java222.6.Aplikasi Pendukung242.6.1.Netbeans242.6.2.JasperReport242.6.3.MySQL25BAB III ANALISA DAN PERANCANGAN283.1.Analisa283.1.1.Analisa Sistem Berjalan283.1.2.Analisa data303.1.3.Analisa Perangkat Keras313.1.4.Analisa Perangkat Lunak323.1.5.Analisa User323.1.6.Analisa Kebutuhan333.2.Perancangan353.2.1.Perancangan Basis Data353.2.2.Perancangan Aplikasi53BAB IV IMPLEMENTASI DAN PENGUJIAN664.1.Implementasi Aplikasi664.2.Implementasi Komputer664.2.1.Implementasi Perangkat Keras664.2.2.Implementasi Perangkat Lunak664.2.3.Implementasi Antar Muka674.3.Pengujian Aplikasi / Testing Apliccation704.3.1Kasus dan pengujian71BAB V PENUTUP735.1.Kesimpulan735.2.Saran73DAFTAR PUSTAKA74LAMPIRAN766.1.ApplicationContext.xml766.2.Main Java776.3.KaryawanController.java806.4.SQLTemplete.java896.5.KaryawanDao.java916.6.Karyawan.java936.7.MasterSevice.java1046.8.TableModel.java1086.9.MessageUtility.java1116.10.MainFrame.java1136.11.LaporanDataKaryawanPanel.java1316.12.KaryawanPanel.java1356.13.PenggajianDialog.java1686.14.PenggajianPanel.java221

DAFTAR GAMBARGambar 2.01Simbol kelas8Gambar 2.02 Simbol class & object8Gambar 2.03 Komponen model MVC9Gambar 2.04 Simbol actor use case11Gambar 2.05 Simbol Use Case12Gambar 2.06 Simbol Relationship12Gambar 2.07 Simbol Star Activity diagram12Gambar 2.08 Simbol final Activity diagram13Gambar 2.09 Simbol Activity13Gambar 2.010 Simbol Hole Activities13Gambar 2.011 Simbol Miracle Activities13Gambar 2.012 Simbol Fork14Gambar 2.013 Simbol Join14Gambar 2.014 Simbol Decision Point14Gambar 2.015 Simbol Swimlane15Gambar 2.016Class model diagram15Gambar 2.017 model sequence diagram16Gambar 3.0-1 Activity Diagram Proses Pengumpulan Data28Gambar 3.0-2 Activity Diagram Proses Penggajian29Gambar 3.0-3 Activity Diagram Proses Pembuatan Laporan29Gambar 3.0-4 Ketergantungan Fungsi Pada Relasi Cabang35Gambar 3.0-5 Ketergantungan Fungsi Pada Relasi Jabatan35Gambar 3.0-6 Ketergantungan Fungsi Pada Relasi Jenis Potongan36Gambar 3.0-7 Ketergantungan Fungsi Pada Relasi Potongan37Gambar 3.0-8 Ketergantungan Fungsi Pada Relasi Detil pengurangan38Gambar 3.0-9 Ketergantungan Fungsi Pada Relasi Karyawan39Gambar 3.0-10 Ketergantungan Fungsi Pada Relasi Jenis Pendapatan40Gambar 3.0-11 Ketergantungan Fungsi Pada Relasi Gaji40Gambar 3.0-12 Ketergantungan Fungsi Pada Relasi Detil Pendapatan41Gambar 3.0-13 Ketergantungan Fungsi Pada Relasi Slip42Gambar 3.0-14 Ketergantungan Fungsi Pada Relasi Tahun Buku43Gambar 3.0-15 Entity Relational Diagram Sistem Usulan44Gambar 3.0-16 Transformasi ERD KE LRS45Gambar 3.0-17 Logical Record Structure46Gambar 3.0-18 Use Case Diagram Sistem Penggajian53Gambar 3.0-19 Class Diagram Sistem Usulan54Gambar 3.0- 20 Sequence Diagram Karyawan55Gambar 3.0-21 Sequence Diagram Cabang55Gambar 3.0-22 Sequence Diagram Jabatan56Gambar 3.0-23 Squence Diagram Tahun Buku56Gambar 3.0-24 Squence Diagram Potongan57Gambar 3.0-25 Sequence DiagramPenggajian57Gambar 3.0-26 Sequence DiagramLaporan Karyawan58Gambar 3.0-27 Sequence DiagramLaporan Penggajian58Gambar 3.0-28 Sequence Diagram Laporan Potongan59Gambar 3.0-29 Sequence Diagram User59Gambar 3.0-30 Activity Diagram Login User60Gambar 3.0-31 Activity Diagram Pendataan Pegawai61Gambar 3.0-32 Activity Diagram Penghitungan Gaji62Gambar 3.0-33 Activity Diagram Pembuatan Laporan62Gambar 3.0-34 User Interface Login User63Gambar 3.0-35 User Interface Cabang63Gambar 3.0-36 User Interface Jabatan63Gambar 3.0-37 User Interface Dialog Jabatan64Gambar 3.0-38 User InterfaceKaryawan64Gambar 3.0-39 User Interface Dialog Karyawan65Gambar 4.0-1 Tampilan File Jabatan67Gambar 4.0-2 Tampilan File Tambah/Ubah Jabatan67Gambar 4.0-3 Tampilan FileTambah/Ubah penerimaan gaji karyawan berdasarkan jabatan68Gambar 4.0-4 Tampilan File Karyawan68Gambar 4.0-5 Tampilan FileTambah/Ubah Karyawan69Gambar 4.0-6 Tampilan File Cabang69Gambar 4.0-7 Tampilan FileTahun Buku70

DAFTAR TABELTabel 2.1Diagram UML10Tabel 3.1 Data karyawan47Tabel 3.2 Data jabatan48Tabel 3.3 Slip48Tabel 3.4 Gaji Karyawan49Tabel 3.5 Cabang49Tabel 3.6 Detil Pendapatan50Tabel 3.7 Jenis pendapatan50Tabel 3.8 Potongan51Tabel 3.9 Detil pengurangan51Tabel 3.10 Jenis potongan52Tabel 3.11 Tahun Buku52Tabel 3.12 User53Tabel 4.1 Rencana pengujian70Tabel 4.2 Pengujian login (data normal)71Tabel 4.3 Pengujian login (data normal)71Tabel 4.4 Pengujian Gaji71Tabel 4.5 Pengujian Slip Gaji72

DAFTAR SIMBOL

1. Usecase DiagramActorActor

Use Case

Association

2. Class DiagramClass, Nama, Atribut, Method

Assosiation

Multiplicity

3. Sequence DiagramActor

Boundary

Control.

Entity

Object Message

Message of self

Object

ix

BAB IPENDAHULUAN1.1. Latar BelakangGaji 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 Penggajian Perkantoran MenggunakanMetode Berorentasi Objek .

1.2. Rumusan MasalahDalam 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 PenelitianTujuan penelitian karya ilmiah berdasarkan rumusan masalah di atas adalah:1. Membantu proses penghitungan gaji karyawan pada sebuah perusahaan.1.4. Batasan MasalahDalam 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 karyawan dan pencetakan slip gaji.

1.5. Manfaat PenelitianManfaat yang dapat diperoleh dari penulisan karya ilmiah ini antara lain, a. Manfaat pihak akademisPada Universitas Pamulang, dalam penelitian ini juga dapat memberikan konstribusi untuk bahan kajian dikalangan akademis.b. Manfaat pihak instansiDiharapkan 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 penulisManfaat bagi penulis adalah untuk lebih mengerti masalah-masalah yang ada dalam sebuah perusahaan, terutama pada bagian penggajian karyawan pada perusahaan.1.6. Metode PenelitianMetode penelitian 1. Studi LiteraturMetode yang digunakan untuk mengumpulkan data adalah dengan cara observasi,wawancara , dan menganalisa dokumen yang berkaitan (document analysis).2. PerencanaanDalam 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 PerancanganAnalisis 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 SistemMembuat 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 SistemDalam 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 PenulisanSistematika 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 PENDAHULUANMemberikan penjelasan mengenai latar belakang permasalahan, rumusan masalah,tujuan penelitian, batasan masalah, manfaat penelitian, metode penelitian dan sistematika penulisan.BAB II LANDASAN TEORIBab ini berisi tentang kajian pustaka teori-teori dan definisi-definisi yang digunakan dalam membantu proses pembuatan tugas akhir.BAB IIIANALISA DAN PERANCANGANBab ini penulis membuat sistem penggajian karyawan beserta aliran datanya,proses untuk bisa ditampilkan di program tersebut.

BAB IV PENGUJIAN DAN IMPLEMENTASIMelakukan testing ( uji coba ) dan implementasi terhadap program atau aplikasi tersebut.BAB V KESIMPULAN DAN SARANBab ini berisi tentang kesimpulan dan saran

27

BAB IILANDASAN TEORI2.1. Definisi PenggajianGaji 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 ObjekObjek 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. AbstraksiPrinsip 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 objekKeuntungan metode berarah objek diantranya adalah:1. Meningkatkan produktivitasKarena kelas dan objek yang diketemukan pada suatu kasus yang masih dapat dipakai ulang yang melibatkan objek tersebut.2. Meningkatkan kualitasKarena sistem yang dibangun dengan baik dan benar pada saat analisa dan perancanganya akan menyebabkan berkurangnya kesalahan pada saat pengkodean program aplikasi.3. Mempermudah perawatanKarena dengan model objek pola-pola yang cenderung tetap dan stabil dapat dipisahkan dari pola-pola yang mungkin sering berubah-ubah.4. Adanya konsistensiKarena sifatnya pewarisan dan penggunaan notasi yang sama pada saat analisa, perancangan, maupun pengkodean.2.2.2. Penentuan objek dan kelasPengertian 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.01Simbol kelasSimbol 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.02 Simbol class & objectSimbol 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.03 Komponen model MVCGambar di atas menunjukan tiga komponen yang terdapat pada dalam pola model MVC dan interaksi yang terjadi.1. ModelPola 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. ControllerKelebihan 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 UMLMenurut (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 pendukungPada UML terdapat 13 macam diagram yang dikelompokkan dalam 3 kategori dan macam-macam diagram tersebut dapat dilihat pada label dibawah ini:Tabel 2.1Diagram UMLStructure Diagrams1. Class diagram2. Object diagram3. Component diagram4. Composite structure diagram5. Package diagram6. Deployment diagram

Behavior diagram1. Use Case diagram2. Activity diagram3. State machine diagram

Interaction diagram1. Sequence diagram2. Communication diagram3. Timing diagram4. Interaction overview diagram

2.3.1. Use Case DiagramUse 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) ActorActor 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.04 Simbol actor use case2) Use caseUse case menggambarkan fungsi tertentu dalam suatu sistem berupa komponen, kejadian atau kelas. Setiap Use Case adalah sebuah urutan dari hubungan transaksi yang dikerjakan oleh actor dan sistem dalam sebuah dialog.

Gambar 2.05 Simbol Use Case3) RelationshipHubungan yang terjadi antar simbol dalam use case. Menggunakan garis dan tipe simbol yang digunakan untuk menghubungkan garis.

Gambar 2.06 Simbol Relationship2.3.2. Activity DiagramActivity 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 Diagram1) Start PointStart Point (initial node), menggambarkan permulaan dari sebuah sistem yang akan dikerjakan, biasanya diletakkan pada pojok kiri atas.

Gambar 2.07 Simbol Star Activity diagram

2) End PointEnd Point (activity final node), menggambarkan akhir dari sebuah sistem.

Gambar 2.08 Simbol final Activity diagram3) ActivitiesActivities, menggambarkan proses bisnis dan dikenal sebagai activity state.

Gambar 2.09 Simbol Activity4) Black Hole ActivitiesBlack Hole Activities, ada masukan dan keluaran

Gambar 2.010 Simbol Hole Activities5) Miracle ActivitiesMiracle Activities, tidak ada masukan dan ada keluaran dan dipakai pada waktu start point

Gambar 2.011 Simbol Miracle Activities

6) Parallel Activitiesa) ForkFork (percabangan), mempunyai 1 transisi masuk dan 2 atau lebih transisi keluar

Gambar 2.012 Simbol Forkb) JoinJoin (penggabungan), mempunyai 2 atau lebih transisi masuk dan hanya 1 transisi keluar.

Gambar 2.013 Simbol Join7) Decision PointDecision Points, tidak ada keterangan (pertanyaan) pada tengah belah ketupat seperti pada flowchart dan harus mempunyai Guards (kunci).

Gambar 2.014 Simbol Decision Point

8) SwimlaneSwimlane, sebuah cara untuk mengelempokan activity berdasarkan actor.

Gambar 2.015 Simbol Swimlane

2.3.3. Class DiagramClass 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) AtributAtribut adalah sebuah nilai data yang dimiliki oleh obyek sebuah kelas. Nama, umur, berat badan, adalah atribut dari obyek manusia atau orang.3) MetodeMetode adalah implementasi dari sebuah operasi ke dalam sebuah kelas. Sebagai contoh, sebuah kelas file mungkin mempunyai operasi print.

Gambar 2.016Class model diagram2.3.4. Sequence DiagramSequence 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.017 model sequence diagram2.4. Definisi Basis DataBasis 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, huruf ataupun karakter khusus yang membentuk suatu item data.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 DataPrinsip 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 DataPada 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. NormalisasiNormalisasi 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 normalisasi menurut (Connolly, 2005) yaitu :

1) Bentuk tidak normalBentuk 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 ketigaSebuah 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, BZ.a. Teknik Entity Relationship1. Perancangan database Teknik Entity RelationshipDatabase adalah kumpulan file yang saling berkaitan. Pada Entity Relationship menurut (Connolly, 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 ConceptRelasi 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 Pemrograman2.5.1. JavaJava 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 proyek bernama Green yang dipimpin oleh James Gosling.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 JavaJava memiliki beberapa keunggulan yang tidak dimiliki oleh bahasa lain. Berdasarkan White Paper resmi dari SunMicrosystem, Java memiliki karakteristik sebagai berikut menurut (Andi, 2010) :1. SederhanaBahasa 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 MudahJava dibuat untuk membuat aplikasi terdistribusi secara mudah dengan adanya libraries networking yang terintegrasi pada java.4. InterpreterProgram 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. RobustJava 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 NeutralProgram java merupakan platform independen. Program cukup mempunyai satu buah versi yang dapat dijalankan pada platform yang berbeda dengan Java Virtual Machine.8. PortabelSource code maupun program java dapat dengan mudah dibawa ke platform yang berbeda- beda tanpa harus dikompilasi ulang.9. MultithreadingJava mempunyai kemampuan untuk membuat suatu program yang dapat melakukan beberapa pekerjaan secara sekaligus dan simultan.10. DinamisJava didesain untuk dapat dijalankan pada lingkungan yang dinamis. Perubahan pada suatu class dengan menambahkan properties ataupun method dapat dilakukan tanpa mengganggu program yang menggunakan class tersebut.2.6. Aplikasi Pendukung2.6.1. NetbeansNetBeans 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. JasperReportLaporan 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. MySQLDatabase 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 SQL, proses akses database menjadi lebih user- friendly dibandingkan 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. Freeware2. High performance3. Biaya rendah4. Mudah untuk dikonfigurasi dan dipelajari5. Portable6. 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 terbuka9. 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 database. 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 tabel.(Nugroho, 2008).26

26

BAB IIIANALISA DAN PERANCANGAN3.1. AnalisaSistem 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 Berjalana. 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

b. Transaksi PenggajianProses 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-2 Activity Diagram Proses Penggajian

c. Pembuatan LaporanBagian spv membuat laporan pembayaran gaji karyawan setiap awal bulan yang nanti laporan tersebut diserahkan kepada pimpinan.

Gambar 3.0-3 Activity Diagram Proses Pembuatan Laporan3.1.2. Analisa data1. Analisa KeluaranAnalisa keluaran merupakan gambaran keluaran berbentuk informasi yang dihasilkan oleh sistem berjalan. Analisa keluaran di PT.XYZ dapat dirincikan sebagai berikut :a. Slip GajiNama 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 GajiNama 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 MasukanAnalisa Masukan adalah bentuk data yang diperlukan dalam proses sistem penggajian karyawan.Analisa masukkan akan diolah sesuai dengan maksud dan tujuan sistem

a. Data KaryawanNama 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 AbsensiNama 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 KerasPerangkat keras (hardware) di PT.XYZ:1. Delapan buah komputer yang terdapat di ruang financesebagai berikut:a. Processor: Intel Core i3-2350M CPU 2.30GHzb. Harddisk: 160GBc. Memory: 2.00GBd. Monitor: 14 inchie. Mouse2. Printer Dua buah yang terdapat di ruang finance dengan type dan merk canon pixma ip2770

3.1.4. Analisa Perangkat LunakSistem 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 UserAnalisa 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. DirekturNama:Rudi

Nip:-

Pendidikan:Sarjana

Sistem operasi yang digunakan:Windows 7

Software yang digunakan:Microsof word dan Microsoft Excel

2. Manager KeuanganNama:Sinta

Nip:-

Pendidikan:Sarjana

Sistem operasi yang digunakan:Windows 7

Software yang digunakan:Microsof word dan Microsoft Excel

3. Manager FrenchiseNama:Budi

Nip:-

Pendidikan:Sarjana

Sistem operasi yang digunakan:Windows 7

Software yang digunakan:Microsof word dan Microsoft Excel

3.1.6. Analisa KebutuhanDalam melakukan perancangan, adapun analisa kebutuhannya adalah :1. Komponen Gajia. Komponen gaji karyawan terdiri atas Gaji Pokok Tunjangan Tetap- Tunjangan Jabatan Tunjangan Tidak Tetap-Tunjangan Makan-Tunjangan Transport-Tunjangan Komunikasib.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 untuk komunikasi pengiriman bahan baku ke frenchise.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 sebulan2. Potongana. Untuk meringankan beban karyawan, perusahaan memberikan bantuan keuangan berupa pinjaman tanpa bunga bagi karyawan untuk keperluan yang dianggap penting dan mendesakb. Besarnya pinjaman maksimal adalah 50% dari total gaji berdasarkan berapa hari kerja.3. Menghitung TunjanganPerhitungan jumlah tunjangan yang diterima per bulan adalah sebagai berikut:Tunjangan Jabatan + Tunjangan Makan + Tunjangan Transport + Tunjangan Komunikasi = Jumlah Tunjangan / Bulan4. Menghitung PotonganPerhitungan 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. PerancanganBerdasarkan analisa yang telah dilakukan, perancangan sistem dibagi dalam dua tahap, yaitu perancangan basis data dan perancangan aplikasi.3.2.1. Perancangan Basis Data3.2.1.1. Normalisasi1. Relasi Cabang

Gambar 3.0-4 Ketergantungan Fungsi Pada Relasi CabangKeterangan 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

Gambar 3.0-5 Ketergantungan Fungsi Pada Relasi JabatanKeterangan Gambar : a) Tabel m_jabatan sudah bernilai tunggal (1NF) karena sudah tidak ada atribut yang berulang (Repeating Group). 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

Gambar 3.0-6 Ketergantungan Fungsi Pada Relasi Jenis PotonganKeterangan 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

Gambar 3.0-7 Ketergantungan Fungsi Pada Relasi PotonganKeterangan 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 Dependency).

5.Relasi Detil Pengurangan

Gambar 3.0-8 Ketergantungan Fungsi Pada Relasi Detil penguranganKeterangan 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 kode_detil_pengurangan(Transitive Dependency).

6. Relasi karyawan

Gambar 3.0-9 Ketergantungan Fungsi Pada Relasi KaryawanKeterangan 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 Dependency).7.Relasi Jenis Pendapatan

Gambar 3.0-10 Ketergantungan Fungsi Pada Relasi Jenis PendapatanKeterangan Gambar : a) Tabel m_jenis_pendapatan sudah bernilai tunggal (1NF) karena sudah tidak ada atribut yang berulang (Repeating Group). b) Tabel m_jenis_pendapatan sudah normal bentuk kedua (2NF) karena semua atribut non key yaitu jenis_pendapatan bergantung sepenuhnya kepada atribut key yaitu kode_jenis_pendapatan (Funcional Dependency). c) Tabel m_jenis_pendapatan sudah normal bentuk ketiga (3NF) karena semua atribut non key tidak bergantung kepada atribut key lainnya tetapi terhadap key yaitu kode_jenis_pendapatan (Transitive Dependency).8. Relasi Gaji

Gambar 3.0-11 Ketergantungan Fungsi Pada Relasi Gaji

Keterangan Gambar : a) Tabel m_gaji sudah bernilai tunggal (1NF) karena sudah tidak ada atribut yang berulang (Repeating Group). b) Tabel m_gaji sudah normal bentuk kedua (2NF) karena semua atribut non key yaitu besar_gaji, priode, kode_jabatan dan kode_jenis_pendapatan bergantung sepenuhnya kepada atribut key yaitu (Funcional Dependency). c) Tabel m_gaji sudah normal bentuk ketiga (3NF) karena semua atribut non key tidak bergantung kepada atribut key lainnya tetapi terhadap key yaitu kode_gaji (Transitive Dependency).9.Relasi Detil Pendapatan

Gambar 3.0-12 Ketergantungan Fungsi Pada Relasi Detil PendapatanKeterangan Gambar : a) Tabel t_detil_pendapatan sudah bernilai tunggal (1NF) karena sudah tidak ada atribut yang berulang (Repeating Group). b) Tabel t_detil_pendapatan sudah normal bentuk kedua (2NF) karena semua atribut non key yaitu jumlah_pendapatan, kode_gaji dan kode_slipbergantung sepenuhnya kepada atribut key yaitu kode_detil_pendapatan (Funcional Dependency). c) Tabel t_detil_pendapatan sudah normal bentuk ketiga (3NF) karena semua atribut non key tidak bergantung kepada atribut key lainnya tetapi terhadap key yaitu kode_detil_pendapatan(Transitive Dependency).

10.Relasi Slip

Gambar 3.0-13 Ketergantungan Fungsi Pada Relasi SlipKeterangan Gambar : a) Tabel t_slip sudah bernilai tunggal (1NF) karena sudah tidak ada atribut yang berulang (Repeating Group). b) Tabel t_slip sudah normal bentuk kedua (2NF) karena semua atribut non key yaitu slip_gaji, jumlah_hadir, tanggal_slip, total_gaji, total_pendapatan, total_pengurangan, nik_karyawan dan kode_tahun_bukubergantung sepenuhnya kepada atribut key yaitu kode_slip (Funcional Dependency). c) Tabel t_slip sudah normal bentuk ketiga (3NF) karena semua atribut non key tidak bergantung kepada atribut key lainnya tetapi terhadap key yaitu kode_slip (Transitive Dependency).

11. Relasi Tahun Buku

Gambar 3.0-14 Ketergantungan Fungsi Pada Relasi Tahun BukuKeterangan Gambar : a) Tabel m_tahun_buku sudah bernilai tunggal (1NF) karena sudah tidak ada atribut yang berulang (Repeating Group). b) Tabel m_tahun_buku sudah normal bentuk kedua (2NF) karena semua atribut non key yaitu tahun_buku, awalan, keterangan, status_aktif, tanggal_buku dan tanggal mulai bergantung sepenuhnya kepada atribut key yaitu kode_tahun_buku (Funcional Dependency). c) Tabel m_tahun_buku sudah normal bentuk ketiga (3NF) karena semua atribut nonkey tidak bergantung kepada atributkey lainnya tetapi terhadap key yaitu kode_tahun_buku(Transitive Dependency).

3.2.1.2. ERD

Gambar 3.0-15 Entity Relational Diagram Sistem Usulan3.2.1.3. Transformasi ERD ke LRS

Gambar 3.0-16 Transformasi ERD KE LRS3.2.1.4. LRS

Gambar 3.0-17 Logical Record Structure3.2.1.5. Spesifikasi Basis Data

1.Nama File:Karyawan

Isi:Data Karyawan

Media:Hardisk

Primary Key:Nik_karyawan

Foreign Key:Kode_cabang, Kode Jabatan

Panjang Record:

Tabel 3.1 Data karyawanNama FieldTypeLebarKeterangan

Nik_karyawanVarchar6No induk karyawan

Jenis_kelaminVarchar10Jenis kelamin karyawan

Status_perkawinanVarchar30Status karyawan

Alamat_karyawanVarchar100Alamat karyawan

Nama_karyawanVarchar100Nama karyawan

no_rekeningVarchar20Nomer Rekening

Tanggal_lahir DateTanggal lahir karyawan

Tanggal_masukDateTanggal masuk karyawan

No_teleponVarchar20Nomer telepon

Tempat_lahirVarchar100Tempat lahir karyawan

Kode_jabatanVarchar3Kode Jabatan karyawan

Kode_cabangVarchar3Kode cabang karyawan

2.Nama File:Jabatan

Isi:Data Jabatan

Media:Hardisk

Primary Key:Kode_jabatan

Foreign key:-

Panjang Record:

Tabel 3.2 Data jabatanNama FieldTypeLebarKeterangan

Kode_jabatanVarchar3Kode jabatan

Jabatan Varchar50 Jabatan

3.Nama File:Slip

Isi:Data slip

Media:Hardisk

Primary Key:Kode_slip

Foreign Key:Nik_karyawan, kode_tahun_buku

Panjang Record:

Tabel 3.3 SlipNama FieldTypeLebarKeterangan

Kode_slipVarchar13Kode slip

Slip_gajiVarchar15Slip gaji

Jumlah_hadirIntJumlah hadir

Tanggal_slipDateTanggal slip

Total_gajiIntTotal gaji

Total_pendapatanIntTotal pendapatan

Total_penguranganIntTotal pengurangan

Nik_karyawanVarchar6Nomer induk karyawan

Kode_tahun_bukuVarchar4Kode tahun buku

4.Nama File:Gaji karyawan

Isi:Data gaji karyawan

Media:Hardisk

Primary Key:Kode_gaji

Foreign Key:Kode_jabatan, kode_jenis_pendapatan

Panjang Record:

Tabel 3.4 Gaji KaryawanNama FieldTypeLebarKeterangan

Kode_gajiVarchar7Kode gaji

Besar_gajiInt Besar gaji

Periode_gajiVarchar20 Periode gaji

Kode_jabatanVarchar3Kode jabatan

Kode_jenis_pendapatanVarchar4Kode jenis pendapatan

5.Nama File:Cabang

Isi:Data Cabang

Media:Hardisk

Primary Key:Kode_cabang

Foreign Key:-

Panjang Record:

Tabel 3.5 CabangNama FieldTypeLebarKeterangan

Kode_cabangVarchar3Kode cabang

CabangVarchar50Nama cabang

6.Nama File:Detil pendapatan

Isi:Data detil pendapatan

Media:Hardisk

Primary Key:Kode_detil_pendapatan

Foreign Key:Kode_gaji, Kode_slip

Panjang Record:

Tabel 3.6 Detil PendapatanNama FieldTypeLebarKeterangan

Kode_detil_pendapatanVarchar12Kode detil pendapatan

Jumlah_pendapatanIntJumlah pendapatan

Kode_gajiVarchar7Kode gaji

Kode_slipVarchar13Kode slip

7.Nama File:Jenis pendapatan

Isi:Data jenis pendapatan

Media:Hardisk

Primary Key:Kode_jenis_pendapatan

Foreign Key:_

Panjang Record:

Tabel 3.7 Jenis pendapatanNama FieldTypeLebarKeterangan

Kode_jenis_pendapatanVarchar4Kode jenis pendapatan

Jenis_pendapatanVarchar50Jenis pendapatan

8.Nama File:Potongan

Isi:Data potongan

Media:Hardisk

Primary Key:Kode_potongan

Foreign Key:Nik_karyawan, kode_jenis_potongan

Panjang Record:

Tabel 3.8 PotonganNama FieldTypeLebarKeterangan

Kode_potonganVarchar8Kode potongan

Jumlah_potonganIntjumlah potongan

KeteranganVarchar255Keterangan

Sisa_potonganIntSisa Potongan

StatusVarchar11Status

Tanggal_potonganDateTanggal potongan

Nik_karyawanVarchar6No induk karyawan

Kode_jenis_potonganVarchar4Kode jenis potongan

9.Nama File:Detil pegurangan

Isi:Data detil pengurangan

Media:Hardisk

Primary Key:Kode_detil_pengurangan

Foreign Key:Kode slip, kode potongan

Panjang Record:

Tabel 3.9 Detil penguranganNama FieldTypeLebarKeterangan

Kode_detil_penguranganVarchar10Kode detil pengurangan

Jumlah_penguranganBigintJumlah pengurangan

Kode_slipVarchar13Kode slip

Kode_potonganVarchar8Kode potongan

10.Nama File:Jenis potongan

Isi:Data jenis potongan

Media:Hardisk

Primary Key:Kode_jenis_potongan

Foreign Key:-

Panjang Record:

Tabel 3.10 Jenis potonganNama FieldTypeLebarKeterangan

Kode_jenis_potonganVarchar4Kode jenis potongan

Jenis_potonganVarchar50Jenis potongan

10.Nama File:Tahun buku

Isi:Data tahun buku

Media:Hardisk

Primary Key:Kode_tahun_buku

Foreign Key:-

Panjang Record:

Tabel 3.11 Tahun BukuNama FieldTypeLebarKeterangan

Kode_tahun_bukuVarchar4Kode tahun buku

AwalanVarchar5Awalan

KeteranganVarchar255Keterangan

Status_aktifIntStatus aktif

Tahun_bukuVarchar100Tahun buku

Tanggal_mulaiDateTanggal mulai

11.Nama File:User

Isi:Data user

Media:Hardisk

Primary Key:username

Foreign Key:nik_karyawan

Panjang Record:

Tabel 3.12 UserNama FieldTypeLebarKeterangan

usernameVarchar30username

passwordVarchar100password user

statusVarchar25status user

nik_karyawanchar6NIK Karyawan

3.2.2. Perancangan Aplikasi3.2.2.1. Use Case Diagram1. Sistem Penggajian

Gambar 3.0-18 Use Case Diagram Sistem Penggajian3.2.2.2. Class Diagram

Gambar 3.0-19 Class Diagram Sistem Usulan

3.2.2.3. Sequence Diagrama. Tampilan Diagram Karyawan

Gambar 3.0- 20 Sequence Diagram Karyawanb.Tampilan Diagram Cabang

Gambar 3.0-21 Sequence Diagram Cabang

c.Tampilan Digram Jabatan

Gambar 3.0-22 Sequence Diagram Jabatand. Tampilan Digram Tahun buku

Gambar 3.0-23 Squence Diagram Tahun Buku

e.Tampilan Digram Potongan

Gambar 3.0-24 Squence Diagram Potonganf.Tampilan Digram Penggajian

Gambar 3.0-25 Sequence DiagramPenggajian

g.Tampilan Diagram Laporan Karyawan

Gambar 3.0-26 Sequence DiagramLaporan Karyawanh. Tampilan Diagram Laporan penggajian

Gambar 3.0-27 Sequence DiagramLaporan Penggajian

i.Tampilan Laporan Potongan

Gambar 3.0-28 Sequence Diagram Laporan Potonganj. Tampilan Diagram User

Gambar 3.0-29 Sequence Diagram User3.2.2.4. Activity Diagrama. Login UserPertama Hrd dan Spv input username dan password jika sudah system akan berjalan cari username jika username yang diinput salah maka akan kembali tapi jika username benar maka user akan mendapatkan hak akses untuk menggunakan aplikasi.

Gambar 3.0-30 Activity Diagram Login User

b. Pendataan PegawaiPertama Hrd input data lengkap pegawai terlebih dahulu lalu system memvalidasi data inputan jika data tidak valid maka akan kembali jika data benar maka data akan tersimpan.

Gambar 3.0-31 Activity Diagram Pendataan Pegawai

c. Penghitungan GajiPertama Spv input nomor induk karyawan lalu system akan menampilkan data gaji dan potongan karyawan kemudian spv input absensi karyawan jika sudah system akan mengitung akumulasi data gaji karyawan lalu cetak slip jika sudah karyawan terima slip

Gambar 3.0-32 Activity Diagram Penghitungan Gajid. Pembuatan LaporanPertama Spv mencetak laporan lalu laporan di serahkan ke asisten manager

Gambar 3.0-33 Activity Diagram Pembuatan Laporan

3.2.2.5. User Interface1. Tampilan Login User sistem informasi penggajian

Gambar 3.0-34 User Interface Login User2. Tampilan Cabang Sistem Informasi Penggajian

Gambar 3.0-35 User Interface Cabang

3. Tampilan Jabatan Sistem Informasi Penggajian

Gambar 3.0-36 User Interface Jabatan4. Tampilan Dialog Jabatan Sistem Informasi Penggajian

Gambar 3.0-37 User Interface Dialog Jabatan

5. Tampilan Karyawan Sistem Informasi Penggajian

Gambar 3.0-38 User InterfaceKaryawan

6. Tampilan Dialog Karyawan Sistem Informasi Penggajian

Gambar 3.0-39 User Interface Dialog Karyawan

65

BAB IVIMPLEMENTASI DAN PENGUJIAN4.1. Implementasi AplikasiPerangkat lunak (Software) rancangan sistem penggajian menggunakan metode berorientasi objek pada PT.XYZ dengan menggunakan netbeans 7.3 dan Mysql. Implementasi system merupakan4.2. Implementasi KomputerDalam implementasi pendukung system penggajian aplikasi berbasis desktop rancang bangun system penggajian PT.XYZ, pada sub ini akan dibahas mengenai:1) Implementasi perangkat keras2) Implementasi perangkat lunak4.2.1. Implementasi Perangkat KerasPerangkat Keras (Hardware) yang digunakan untuk pembuatan sistem informasi ini secara optimal memerlukan spesifikasi minimum komputer sebagai berikut :1. Processor: Intel Pentium core i3 (2,4GHz)2. HardDisk: 320 GB3. Memory RAM: 2 GB4.2.2. Implementasi Perangkat LunakUntuk mendukung sistem yang diusulkan berjalan dengan optimal, dibutuhkan software pengolahan data, adapun perangkat lunak yang digunakan untuk mendukung pembuatan program aplikasi ini sebagai berikut :1. Windows 8 pro sebagai sistem operasi.2. Java NetBeans IDE 7.3 sebagai perangkat lunak pembuatan listing program dan design interface.3. Navicat for MySQL sebagai database server dengan XAMPP.4. Enterprise Architect5. Microsoft Visio 20074.2.3. Implementasi Antar MukaImplementasi antarmuka dilakukan dengan setiap halaman program yang dibuat dan pengkodeannya dalam bentuk file program. Berikut ini adalah implementasi antarmuka yang dibuat :a. Tampilan File Jabatan

Gambar 4.0-1 Tampilan File Jabatanb. Tampilan File Tambah/Ubah Jabatan

Gambar 4.0-2 Tampilan File Tambah/Ubah Jabatanc. Tampilan File Tambah/Ubah Penerimaan gaji karyawan berdasarkan Jabatan

Gambar 4.0-3 Tampilan FileTambah/Ubah penerimaan gaji karyawan berdasarkan jabatan

d. Tampilan File Karyawan

Gambar 4.0-4 Tampilan File Karyawan

e. Tampilan File Tambah/Ubah Karyawan

Gambar 4.0-5 Tampilan FileTambah/Ubah Karyawan

f. Tampilan File Cabang

Gambar 4.0-6 Tampilan File Cabang

g. Tampilan File Tahun Buku

Gambar 4.0-7 Tampilan FileTahun Buku

4.3. Pengujian Aplikasi / Testing ApliccationRencana testing yang akan dilakukan dengan menguji sistem secara alpha.Tabel 4.1 Rencana pengujian

4.3.1 Kasus dan pengujianBerdasarkan rencana pengujian yang telah disusun, maka dapat dilakukan pengujian sebagai berikut :4.3.1.1. LoginTabel 4.2 Pengujian login (data normal)Data masukkanUser dan password

Yang diharapkanUsername, password bagian yang dimasukkan benar sehingga dapat masuk.

PengamatanUsername, password bagian yang dimasukkan diterima kemudian masuk ke menu utama.

KesimpulanSukses

Tabel 4.3 Pengujian login (data normal)Kasus dan hasil uji (data salah)

Data masukkanUsername dan password

Yang diharapkanUsername dan password yang di masukkan salah sehingga tidak dapat masuk.

PengamatanMuncul notifikasi bahwa login tidak valid

KesimpulanSukses

4.3.1.2. Pengolahan GajiTabel 4.4 Pengujian GajiKasus dan hasil uji (data normal)

Data masukkanData cabang, data jabatan, data karyawan, data tahun buku, data buku besar, data jenis gaji, data gaji pegawai,data transaksi dan data Laporan.

Yang diharapkanPengolahan data berhasil.Klik tambah, ubah dan hapus akan muncul masing-masing form dialog.

PengamatanBerhasil masuk form data cabang, data jabatan, data karyawan, data tahun buku buku besar, data jenis gaji, data gaji pegawai, data transaksi, dan data laporan.

KesimpulanSukses

4.3.1.3. Pengolahan Slip GajiTabel 4.5 Pengujian Slip GajiKasus dan hasil uji coba (data normal)

Data masukkanMengisi data nota di form dengan lengkap.

Yang diharapkanPengolahan data berhasil.Isi data nota dengan lengkap, lalu klik cetak.

PengamatanData berhasil dan tersimpan dalam database.

KesimpulanSukses

72

BAB VPENUTUP5.1. KesimpulanDari hasil perbandingan antara sistem yang dirancang dan diusulkan, maka penyusun dapat menyimpulkan bahwa dengan adanya sistem penghitungan gaji karyawan diharapkan dapat membantu untuk penghitungan gaji pada sebuah perusahaan.5.2. SaranBerdasakan Kesimpulan Diatas, maka penulis menyampaikan saran-saran sebagai berikut:a. Diperlukan ketelitian dalam memasukan data, sehingga informasi yang dihasilkan lebih baik.i

i

DAFTAR PUSTAKA

Andi. (2010). pengembangan aplikasi java dengan netbeans. yogyakarta: wahana komputer.Andi, K. (2007). SISTEM PENGAJIAN.Blaha. (1998). Konsep Berorintasi Objek. Analisis Dan Perancangan Sistem Dengan Metose Berorintasi Objek , 2.Bunafit, N. (2008). Panduan Lengkap Menguasai SQL. Jakarta: Media Kita.Connolly. (2005). Definisi Database Manajemen Sistem. 342.Edward, Y. (1994). Object-Oriented sistem design an intrgrated approach. New Jersey: Prentice Healt Inc.Evi, L. D. (2013). Kamus Lengkap Bahasa indonesia. Tangerang Selatan: Kharima Publishing group.Fahmi, f. (2000). Sistem Informasi. Sistem Informasi Pengajian karyawan pada CV.Diva menggunakan VB.Net .Hendri. (2008). Belajar merancang sistem aplikasi. Bandung: Modula.Jeni. (2000). Pengenalan model MVC (model-view controller. Jakarta: PT.Gramedia Utama.Kristoko, D. H. (2009). Implementasi Model View Controller dan Object Relation pada Content Management System Informasi Keuangan. Jurnal Teknologi Informasi , 1.Mulyadi. (2001). Kamus Besar.Nugroho, B. (2008). Panduan Lengkap menguasai SQL. jakarta: media kita.Saiful, B. (2012). Perancangan sisem pengajian pada PT. Grainda Gunalaras .Salahudin, M., & Rosa, A. S. (2007). Belajar Pemrograman dengan bahasa java . Bandung: Bumi Aksara.Sutopo, H. (2002). Analisa dan desain berorientasi objek. Yogyakarta: J & J Learning.Whitten. (2004). Database Manajemen Sistem. 322.

LAMPIRAN6.1. ApplicationContext.xml

6.2. Main Javapackage com.unpam.gajiapp;

import com.unpam.gajiapp.service.MasterService;import com.unpam.gajiapp.service.TransaksiService;import com.unpam.gajiapp.view.MainFrame;import java.util.logging.Level;import java.util.logging.Logger;import javax.swing.UIManager;import javax.swing.UnsupportedLookAndFeelException;import org.jb2011.lnf.beautyeye.BeautyEyeLookAndFeelCross;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;

public class Main {

private static MasterService masterService; private static TransaksiService transaksiService;

public static void main(String[] args) { ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml"); masterService = (MasterService) applicationContext.getBean("masterService"); transaksiService = (TransaksiService) applicationContext.getBean("transaksiService"); new MainFrame().setVisible(true);// new LoginDialog(null, true).setVisible(true); }

static { try { UIManager.setLookAndFeel(new BeautyEyeLookAndFeelCross()); } catch (UnsupportedLookAndFeelException ex) { Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex); } }

public static MasterService getMasterService() { return masterService; }

public static TransaksiService getTransaksiService() { return transaksiService; }

}6.3. KaryawanController.javapackage com.unpam.gajiapp.controller;

import com.unpam.gajiapp.Main;import com.unpam.gajiapp.model.Cabang;import com.unpam.gajiapp.model.Karyawan;import com.unpam.gajiapp.model.KaryawanView;import com.unpam.gajiapp.swingmodel.TableModel;import com.unpam.gajiapp.utility.MessageUtility;import com.unpam.gajiapp.utility.ValidationUtility;import com.unpam.gajiapp.view.MainFrame;import com.unpam.gajiapp.view.master.KaryawanPanel;import java.util.ArrayList;import java.util.List;import javax.swing.JOptionPane;

public class KaryawanController {

private KaryawanPanel karyawanPanel; private Cabang cabang; private Karyawan karyawan; private List listKaryawanViews; private TableModel tableModelKaryawan; private ValidationUtility validationUtility;

public KaryawanController(KaryawanPanel karyawanPanel) { this.karyawanPanel = karyawanPanel; cabang = new Cabang(); karyawan = new Karyawan(); listKaryawanViews = new ArrayList(); tableModelKaryawan = new TableModel(KaryawanView.class); validationUtility = new ValidationUtility(); }

public void ambilListKaryawan() { karyawanPanel.setTableModel(tableModelKaryawan); if(karyawanPanel.getTableView().getModel().getRowCount()>0) { karyawanPanel.getTableModel().removeAllRow(); } karyawanPanel.getTableModel().setList(Main.getMasterService().getListKaryawan("nikKaryawan")); karyawanPanel.getTableView().setModel(karyawanPanel.getTableModel());// settingTable2();// reset(); }

private void settingTable2() { int[] width={100,250}; for(int i=0;i