Pemodelan Analisis & Desain Sistem Perhitungan Biaya Per Objek Pekerjaan Pada PT. Perkebunan Nusantara IV (Persero)
NUSANTARA IV (PERSERO)
SKRIPSI
KARINA ASTARI
041401039
PROGRAM STUDI S1 ILMU KOMPUTER
DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS SUMATERA UTARA
MEDAN
2008
(2)
PEMODELAN ANALISIS & DESAIN SISTEM PERHITUNGAN BIAYA PER OBJEK PEKERJAAN PADA PT. PERKEBUNAN
NUSANTARA IV (PERSERO)
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar Sarjana Komputer
KARINA ASTARI 041401039
PROGRAM STUDI S1 ILMU KOMPUTER DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA
MEDAN 2008
(3)
PERSETUJUAN
Judul : PEMODELAN ANALISIS DAN DESAIN SISTEM
PERHITUNGAN BIAYA PER OBJEK PEKERJAAN PADA PT. PERKEBUNAN NUSANTARA IV
(PERSERO)
Kategori : SKRIPSI
Nama : KARINA ASTARI
Nomor Induk Mahasiswa : 041401039
Program Studi : SARJANA (S1) ILMU KOMPUTER
Departemen : ILMU KOMPUTER
Fakultas : MATEMATIKA DAN ILMU PENGETAHUAN
ALAM (FMIPA) UNIVERSITAS SUMATERA UTARA
Diluluskan di Medan, 2008
Komisi Pembimbing :
Pembimbing 2 Pembimbing 1
Rahmat W. Sembiring, SE, M. Sc, IT Prof. Dr. Muhammad Zarlis
NIP. 131 997 892 NIP. 131 570 434
Diketahui/Disetujui oleh
Program Studi S1 Ilmu Komputer Ketua,
Prof. Dr. Muhammad Zarlis NIP 131 570 434
(4)
PERNYATAAN
PEMODELAN ANALISIS DAN DESAIN SISTEM PERHITUNGAN BIAYA PER OBJEK PEKERJAAN PADA PT. PERKEBUNAN NUSANTARA IV (PERSERO)
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.
Medan, Desember 2008
Karina Astari 041401039
(5)
PENGHARGAAN
Puji dan syukur penulis panjatkan kepada Allah SWT, dengan limpahan karunia-Nya kertas kajian ini berhasil diselesaikan dalam waktu yang telah ditetapkan.
Ucapan terima kasih penulis sampaikan kepada Bapak Prof. Dr. Muhammad Zarlis selaku Ketua Program Studi Ilmu Komputer sekaligus pembimbing pada penyelesaian skripsi ini, serta Bapak Rahmat W. Sembiring, SE, M.Sc, IT yang telah memberikan panduan kepada penulis untuk menyelesaikan kajian ini. Panduan ringkas, padat dan profesional telah diberikan kepada penulis agar penulis dapat menyelesaikan skripsi ini. Selanjutnya kepada Bapak Drs. Muhammad Firdaus M.Si selaku pembimbing akademik. Ucapan terima kasih juga ditujukan kepada Bapak Syahriol Sitorus, S.Si, MIT selaku Sekretaris Program Studi Ilmu Komputer sekaligus pembanding pada skripsi, Bapak Drs. James Piter Marbun M.Kom, Dekan dan Pembantu Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara, semua dosen pada Program Studi Ilmu Komputer FMIPA USU serta pegawai di FMIPA USU. Ucapan terima kasih juga ditujukan kepada Bapak Mulkan Lubis, SH, MM selaku Kepala Kantor Koordinasi PTP. Nusantara Wilayah I Sumatera, Bapak Dahlan Harahap selaku Direktur Utama PT. Perkebunan Nusantara IV (Persero), Ibu Ir. Hj. Deriati, MM selaku Kapala Bagian Sumber Daya Manusia PT. Perkebunan Nusantara IV (Persero), Bapak Ir. P. Karo-Karo selaku Manajer Urusan IT PT. Perkebunan Nusantara IV (Persero), Bapak Ipan G. Siahaan, SP., MP. selaku Asisten Urusan IT PT. Perkebunan Nusantara IV (Persero) serta seluruh staf dan karyawan PT. Perkebunan Nusantara IV (Persero) yang telah membantu kelancaran pelaksanaan riset di PT. Perkebunan Nusantara IV (Persero).
Akhirnya, tidak terlupakan kepada yang tersayang kedua orangtua yang selalu sabar dalam mendidik serta memotivasi penulis. Serta seluruh keluarga tercinta yang berjasa dalam memberikan dorongan kepada penulis selama menyelesaikan skripsi ini. Semoga Allah SWT akan membalasnya. Selanjutnya untuk teman-teman terbaik, Icha dan Desi yang terus memberi dukungan, Gita dan Anti yang telah membantu dalam pencarian jati diri, Foni, Baby, Hermi, Ainul, Ikhsan, Atika, sahabat-sahabat seperjuangan IPA 8 SMU Negeri I Medan angkatan 2004, serta rekan-rekan kuliah yang telah banyak memberikan bantuan kepada penulis.
(6)
ABSTRAK
Meningkatnya kebutuhan akan teknologi informasi disebabkan oleh meningkatnya kebutuhan pengolahan data dan penyampaian informasi secara cepat dan akurat. Perusahaan dalam hal ini PT. Perkebunan Nusantara IV (Persero) membutuhkan sebuah sistem perangkat lunak untuk mengakses perhitungan biaya per objek pekerjaan pada setiap unitnya. Dalam pengembangan sistem perangkat lunak, proses analisis dan perancangan berperan penting untuk menghasilkan sistem perangkat lunak yang baik. Analisis dan perancangan sistem ini dibuat menggunakan UML (Unified Modelling Language) yang merupakan bahasa analisis dan perancangan berorientasi objek. Penggunaan UML disesuaikan dengan objek-objek pada penelitian untuk dapat membuat rancangan sistem perangkat lunak berorientasi objek. Penggunaan UML yang berorientasi objek dapat lebih mudah diimplementasikan pada bahasa pemrograman berorientasi objek. Biaya per objek pekerjaan terdiri dari upah karyawan, tunjangan khusus karyawan, catu beras karyawan, tunjangan sosial karyawan, biaya lembur karyawan, biaya premi karyawan, dan biaya bahan yang digunakan. Pada biaya tunjangan sosial yang diperoleh di akhir bulan, digunakan perhitungan biaya estimasi menggunakan biaya pada tahun sebelumnya. Dengan adanya sistem ini, perhitungan biaya tidak lagi dilakukan secara manual dan biaya setiap objek pekerjaan dapat diakses setiap hari.
(7)
MODELLING ANALYSIS AND DESIGN FOR COST COMPUTATION SYSTEM OF EACH ACTIVITY OBJECT IN PT. PERKEBUNAN
NUSANTARA IV (PERSERO)
Abstract
The increasing in information technology’s needs is mostly caused by the increasing in needs of processing data and transferring information quickly and correctly. Company, in this case, PT. Perkebunan Nusantara IV (Persero) needs a software system to access the cost computation of each activity in its each unit. In software system development, analysis and design have an important part to make a good software system. This analysis and design system is developed by UML (Unified Modelling Language) as an object oriented analysis and design language. The use of UML is appropriated with the objects to make the design of object oriented software system. The use of UML as an object oriented analysis and design language can be easier to be implemented in object oriented programming language. The cost for each activity consist of employee wages, employee special subsidy, employee hulled rice subsidy, employee social subsidy, employee overtime fee, employee premium fee, and used material cost. On employee social subsidy which is accepted in the end of each month, the social subsidy of last year is used. By using this system, the cost computation is no longer done manually and the cost of each activity can be accessed every day.
(8)
DAFTAR ISI
Halaman
Persetujuan ii
Pernyataan iii
Penghargaan iv
Abstrak v
Abstract vi
Daftar Isi vii
Daftar Tabel x
Daftar Gambar xii
Bab 1 Pendahuluan
1.1 Latar Belakang 1
1.2 Rumusan Masalah 2
1.3 Batasan Masalah 4
1.4 Tujuan Penelitian 4
1.5 Manfaat Penelitian 4
1.6 Metode Penelitian 5
1.7 Sistematika Penulisan 5
Bab 2 Landasan Teori
2.1 Konsep Pemodelan Objek 7
2.1.1 Objek dan Kelas 7
2.1.2 Atribut dan Operasi 8
2.1.3 Hubungan (Relationship) 9
2.2 UML 10
2.2.1 Analisis Persyaratan dengan UML 10
2.2.2 Desain dengan UML 11
2.2.3 Teknik Analisis dan Desain Sistem dengan UML 11
2.2.4 Diagram-Diagram dalam UML 12
2.2.4.1 Use Case Diagram 12
2.2.4.2 Activity Diagram 15
2.2.4.3 Class Diagram 18
2.2.4.4 Interaction Diagram 22
2.2.4.5 Package Diagram 23
2.2.4.6 Deployment Diagram 24
Bab 3 Analisis Sistem
3.1 Analisis Permasalahan Umum 25
3.2 Proses Bisnis Sistem Perhitungan Biaya Per Objek Pekerjaan 25 3.2.1 Use Case Diagram Persyaratan Bisnis 26 3.2.2 Dokumentasi Naratif Use Case Diagram Persyaratan Bisnis 31
3.2.3 Activity Diagram 39
3.3 Komponen Biaya Per Objek Pekerjaan 41
3.4 Analisis Kebutuhan Sistem 41
3.4.1 Analisis Fungsi Sistem 41
3.4.2 Analisis Masukan dan Keluaran Sistem 42
(9)
3.5 Use Case Diagram Analisis Sistem 42
3.5.1 Use Case Login 45
3.5.2 Use Case Memasukkan Data Absen 46
3.5.3 Use Case Mengubah Data Hasil 51
3.5.4 Use Case Memasukkan Data Bahan yang Dipakai 53
3.5.5 Use Case Memasukkan Data Sosial 56
3.5.6 Use Case Melihat Data KLKH 58
3.5.7 Use Case Mengubah Data Absen 61
3.5.8 Use Case Mengubah Data Sosial 63
3.5.9 Use Case Mengubah Data Bahan yang Dipakai 65
3.5.10 Use Case Menghapus Data Absen 67
3.5.11 Use Case Menghitung Realisasi Sosial 69 3.5.12 Use Case Menghapus Data Bahan yang Dipakai 71
3.5.13 Use Case Memasukkan Bahan 73
3.5.14 Use Case Mengubah Bahan 75
3.5.15 Use Case Mengubah Harga Pokok Beras 77
3.6 Class Diagram Keseluruhan 79
3.6.1 Kelas Analisis 80
3.6.2 Paket Analisis 83
Bab 4 Perancangan Sistem
4.1 Use Case Diagram 84
4.1.1 Use Case Login 87
4.1.2 Use Case Memasukkan Data Absen 88
4.1.3 Use Case Mengubah Data Hasil 91
4.1.4 Use Case Memasukkan Data Bahan yang Dipakai 92
4.1.5 Use Case Memasukkan Data Sosial 95
4.1.6 Use Case Melihat Data KLKH 96
4.1.7 Use Case Mengubah Data Absen 98
4.1.8 Use Case Mengubah Data Sosial 99
4.1.9 Use Case Mengubah Data Bahan yang Dipakai 100
4.1.10 Use Case Menghapus Data Absen 103
4.1.11 Use Case Menghitung Realisasi Sosial 104 4.1.12 Use Case Menghapus Data Bahan yang Dipakai 105
4.1.13 Use Case Memasukkan Bahan 107
4.1.14 Use Case Mengubah Bahan 109
4.1.15 Use Case Mengubah Harga Pokok Beras 110
4.2 Class Diagram Keseluruhan 111
4.3 Kelas Perancangan 113
4.4 Perancangan Antarmuka 118
4.4.1 Antarmuka fLogin 118
4.4.2 Antarmuka fHalamanUtama 120
4.4.3 Antarmuka fTampil 121
4.4.4 Antarmuka fPokok 123
4.4.5 Antarmuka fBahanPakai 125
4.4.6 Antarmuka fEdit 127
4.4.7 Antarmuka fAbsen 129
(10)
Bab 5 Kesimpulan dan Saran 135
Daftar Pustaka 136
Lampiran A Algoritma 137
Lampiran B Surat Izin Praktik Kerja Lapangan oleh Kantor Koordinasi PT.
Perkebunan Nusantara Wilayah-I Sumatera 179 Lampiran C Surat Izin Praktik Kerja Lapangan oleh PT. Perkebunan
(11)
DAFTAR TABEL
Halaman
Tabel 2.1 Multiplisitas 19
Tabel 3.1 Dokumentasi Naratif Melakukan Absensi terhadap Karyawan 31 Tabel 3.2 Dokumentasi Naratif Mencatat Hasil Pekerjaan Setiap Blok 31 Tabel 3.3 Dokumentasi Naratif Mendata Bahan yang Dipakai oleh Setiap Objek
Pekerjaan 32
Tabel 3.4 Dokumentasi NaratifMendata Hasil Panen Karyawan 32 Tabel 3.5 Dokumentasi Naratif Memasukkan Data Absensi Karyawan dan Hasil
Pekerjaan 33
Tabel 3.6 Dokumentasi NaratifMenghitung Jumlah Karyawan dan Hasil Pekerjaan
Karyawan 33
Tabel 3.7 Dokumentasi NaratifMemasukkan Data Lembur Karyawan 34 Tabel 3.8 Dokumentasi NaratifMenghitung Jumlah Jam Lembur 34 Tabel 3.9 Dokumentasi NaratifMemasukkan Data Hasil Panen Karyawan 35 Tabel 3.10 Dokumentasi NaratifMenghitung Premi Panen dan Berondolan 35 Tabel 3.11 Dokumentasi NaratifMembuat Daftar (Barchart) Perencanaan Pekerjaan
Bulanan 36
Tabel 3.12 Dokumentasi NaratifMengesahkan Daftar Lembur Untuk Dikirim ke
Kantor Kebun 36
Tabel 3.13 Dokumentasi NaratifMengesahkan Data Laporan oleh Kerani Afdeling 37 Tabel 3.14 Dokumentasi NaratifMengesahkan Daftar Lembur 37 Tabel 3.15 Dokumentasi NaratifMenghitung Biaya Lembur dan Premi 38 Tabel 3.16 Dokumentasi NaratifMenghitung Jumlah Biaya Per Objek Pekerjaan 38 Tabel 3.17 Dokumentasi NaratifMengeluarkan Surat Edaran Gaji Pokok dan
Tunjangan Khusus 39
Tabel 3.18 Dokumentasi NaratifMemperoleh Laporan Biaya 39
Tabel 3.19 Dokumentasi Naratif Login 45
Tabel 3.20 Dokumentasi Naratif Memasukkan Data Absen 47 Tabel 3.21 Dokumentasi Naratif Mengubah Data Hasil 52 Tabel 3.22 Dokumentasi Naratif Memasukkan Data Bahan yang Dipakai 54 Tabel 3.23 Dokumentasi Naratif Memasukkan Data Sosial 57 Tabel 3.24 Dokumentasi Naratif Melihat Data KLKH 59 Tabel 3.25 Dokumentasi Naratif Mengubah Data Absen 62 Tabel 3.26 Dokumentasi Naratif Mengubah Data Sosial 64 Tabel 3.27 Dokumentasi Naratif Mengubah Data Bahan yang Dipakai 66 Tabel 3.28 Dokumentasi Naratif Menghapus Data Absen 68 Tabel 3.29 Dokumentasi Naratif Menghitung Realisasi Sosial 70 Tabel 3.30 Dokumentasi Naratif Menghapus Data Bahan yang Dipakai 72 Tabel 3.31 Dokumentasi Naratif Memasukkan Bahan 74
Tabel 3.32 Dokumentasi Naratif Mengubah Bahan 76
Tabel 3.33 Dokumentasi Naratif Mengubah Harga Pokok Beras 78
(12)
Tabel 4.1 Kelas pengontrolLogin 113
Tabel 4.2 Kelas pengontrolPokok 113
Tabel 4.3 Kelas pengontrolBahan 114
Tabel 4.4 Kelas pengontrolKLKH 115
Tabel 4.5 Kelas pengontrolTampil 117
Tabel 4.6 Kelas pengontrolEditKLKH 117
Tabel 4.7 Spesifikasi detail fLogin 119
Tabel 4.8 Spesifikasi detail fHalamanUtama 120
Tabel 4.9 Spesifikasi detail fTampil 122
Tabel 4.10 Spesifikasi detail fPokok 124
Tabel 4.11 Spesifikasi detail fBahanPakai 126
Tabel 4.12 Spesifikasi detail fEdit 128
(13)
DAFTAR GAMBAR
Halaman
Gambar 1.1 Diagram Blok Fokus Permasalahan 2
Gambar 2.1 Kelas dan Objek 8
Gambar 2.2 Atribut dan Nilai 9
Gambar 2.3 Operasi 9
Gambar 2.4 Aktor 12
Gambar 2.5 Use case 13
Gambar 2.6 Relasi asosiasi 13
Gambar 2.7 Relasi cakupan 14
Gambar 2.8 Relasi perluasan 14
Gambar 2.9 Relasi generalisasi 15
Gambar 2.10 Simbol Awal Activity 15
Gambar 2.11 Simbol Akhir Activity 16
Gambar 2.12 Action State 16
Gambar 2.13 Activity state 16
Gambar 2.14 Transisi 17
Gambar 2.15 Percabangan 17
Gambar 2.16 Forking dan Joining 18
Gambar 2.17 Kelas, atribut, dan operasi 19
Gambar 2.18 Asosiasi 20
Gambar 2.19 Agregasi 20
Gambar 2.20 Komposisi 20
Gambar 2.21 Generalisasi 21
Gambar 2.22 Relasi Realisasi 21
Gambar 2.23 Constraint dan Notes 22
Gambar 2.24 Sequence Diagram 23
Gambar 2.25 Paket 24
Gambar 2.26 Simpul-simpul pada deployment diagram 24
Gambar 2.27 Hubungan antar simpul 24
Gambar 3.1 Use Case Diagram Persyaratan Bisnis 29 Gambar 3.2 Activity Diagram dari Use Case Bisnis 40
Gambar 3.3 Use Case Diagram Analisis Sistem 44
Gambar 3.4 Activity Diagram untuk Use Case Login 46 Gambar 3.5 Activity Diagram untuk Use Case Memasukkan Data Absen 51 Gambar 3.6 Activity Diagram untuk Use Case Mengubah Data Hasil 53 Gambar 3.7 Activity Diagram untuk Use Case Memasukkan Data Bahan yang
Dipakai 56
Gambar 3.8 Activity Diagram untuk Use Case Memasukkan Data Sosial 58 Gambar 3.9 Activity Diagram untuk Use Case Melihat Data KLKH 61 Gambar 3.10 Activity Diagram untuk Use Case Mengubah Data Absen 63 Gambar 3.11 Activity Diagram untuk Use Case Mengubah Data Sosial 65 Gambar 3.12 Activity Diagram untuk Use Case Mengubah Data Bahan yang
(14)
Gambar 3.13 Activity Diagram untuk Use Case Menghapus Data Absen 69 Gambar 3.14 Activity Diagram untuk Use Case Menghitung Realisasi Sosial 71 Gambar 3.15 Activity Diagram untuk Use Case Menghapus Data Bahan yang
Dipakai 73
Gambar 3.16 Activity Diagram untuk Use Case Memasukkan Bahan 75 Gambar 3.17 Activity Diagram untuk Use Case Mengubah Bahan 77 Gambar 3.18 Activity Diagram untuk Use Case Mengubah Harga Pokok Beras 79 Gambar 3.19 Class Diagram Analisis Keseluruhan 80
Gambar 3.20 Package Diagram Analisis 83
Gambar 4.1 Use Case Diagram Perancangan Sistem 85
Gambar 4.2 Class Diagram untuk Use Case Login 86
Gambar 4.3 Sequence Diagram untuk Use Case Login 87 Gambar 4.4 Class Diagram untuk Use Case Memasukkan Data Absen 88 Gambar 4.5 Sequence Diagram untuk Use Case Memasukkan Data Absen 89 Gambar 4.6 Class Diagram untuk Use Case Mengubah Data Hasil 91 Gambar 4.7 Sequence Diagram untuk Use Case Mengubah Data Hasil 92 Gambar 4.8 Class Diagram untuk Use Case Memasukkan Data Bahan yang
Dipakai 93
Gambar 4.9 Sequence Diagram untuk Use Case Memasukkan Data Bahan yang
Dipakai 94
Gambar 4.10 Class Diagram untuk Use Case Memasukkan Data Sosial 95 Gambar 4.11 Sequence Diagram untuk Use Case Memasukkan Data Sosial 96 Gambar 4.12 Class Diagram untuk Use Case Melihat Data KLKH 96 Gambar 4.13 Sequence Diagram untuk Use Case Melihat Data KLKH 97 Gambar 4.14 Class Diagram untuk Use Case Mengubah Data Absen 98 Gambar 4.15 Sequence Diagram untuk Use Case Mengubah Data Absen 99 Gambar 4.16 Class Diagram untuk Use Case Mengubah Data Sosial 99 Gambar 4.17 Sequence Diagram untuk Use Case Mengubah Data Sosial 100 Gambar 4.18 Class Diagram untuk Use Case Mengubah Data Bahan yang
Dipakai 101
Gambar 4.19 Sequence Diagram untuk Use Case Mengubah Data Bahan yang
Dipakai 102
Gambar 4.20 Class Diagram untuk Use Case Menghapus Data Absen 103 Gambar 4.21 Sequence Diagram untuk Use Case Menghapus Data Absen 104 Gambar 4.22 Class Diagram untuk Use Case Menghitung Realisasi Sosial 104 Gambar 4.23 Sequence Diagram untuk Use Case Menghitung Realisasi Sosial 105 Gambar 4.24 Class Diagram untuk Use Case Menghapus Data Bahan yang
Dipakai 106
Gambar 4.25 Sequence Diagram untuk Use Case Menghapus Data Bahan yang
Dipakai 107
Gambar 4.26 Class Diagram untuk Use Case Memasukkan Bahan 108 Gambar 4.27 Sequence Diagram untuk Use Case Memasukkan Bahan 108 Gambar 4.28 Class Diagram untuk Use Case Mengubah Bahan 109 Gambar 4.29 Sequence Diagram untuk Use Case Mengubah Bahan 110 Gambar 4.30 Class Diagram untuk Use Case Mengubah Harga Pokok Beras 110 Gambar 4.31 Sequence Diagram untuk Use Case Mengubah Harga Pokok Beras 111 Gambar 4.32 Class Diagram Perancangan Keseluruhan 112
Gambar 4.33 Perancangan Antarmuka fLogin 118
(15)
Gambar 4.35 Perancangan Antarmuka fTampil 121
Gambar 4.36 Perancangan Antarmuka fPokok 123
Gambar 4.37 Perancangan Antarmuka fBahanPakai 125
Gambar 4.38 Perancangan Antarmuka fEdit 127
Gambar 4.39 Perancangan Antarmuka fAbsen 129
(16)
ABSTRAK
Meningkatnya kebutuhan akan teknologi informasi disebabkan oleh meningkatnya kebutuhan pengolahan data dan penyampaian informasi secara cepat dan akurat. Perusahaan dalam hal ini PT. Perkebunan Nusantara IV (Persero) membutuhkan sebuah sistem perangkat lunak untuk mengakses perhitungan biaya per objek pekerjaan pada setiap unitnya. Dalam pengembangan sistem perangkat lunak, proses analisis dan perancangan berperan penting untuk menghasilkan sistem perangkat lunak yang baik. Analisis dan perancangan sistem ini dibuat menggunakan UML (Unified Modelling Language) yang merupakan bahasa analisis dan perancangan berorientasi objek. Penggunaan UML disesuaikan dengan objek-objek pada penelitian untuk dapat membuat rancangan sistem perangkat lunak berorientasi objek. Penggunaan UML yang berorientasi objek dapat lebih mudah diimplementasikan pada bahasa pemrograman berorientasi objek. Biaya per objek pekerjaan terdiri dari upah karyawan, tunjangan khusus karyawan, catu beras karyawan, tunjangan sosial karyawan, biaya lembur karyawan, biaya premi karyawan, dan biaya bahan yang digunakan. Pada biaya tunjangan sosial yang diperoleh di akhir bulan, digunakan perhitungan biaya estimasi menggunakan biaya pada tahun sebelumnya. Dengan adanya sistem ini, perhitungan biaya tidak lagi dilakukan secara manual dan biaya setiap objek pekerjaan dapat diakses setiap hari.
(17)
MODELLING ANALYSIS AND DESIGN FOR COST COMPUTATION SYSTEM OF EACH ACTIVITY OBJECT IN PT. PERKEBUNAN
NUSANTARA IV (PERSERO)
Abstract
The increasing in information technology’s needs is mostly caused by the increasing in needs of processing data and transferring information quickly and correctly. Company, in this case, PT. Perkebunan Nusantara IV (Persero) needs a software system to access the cost computation of each activity in its each unit. In software system development, analysis and design have an important part to make a good software system. This analysis and design system is developed by UML (Unified Modelling Language) as an object oriented analysis and design language. The use of UML is appropriated with the objects to make the design of object oriented software system. The use of UML as an object oriented analysis and design language can be easier to be implemented in object oriented programming language. The cost for each activity consist of employee wages, employee special subsidy, employee hulled rice subsidy, employee social subsidy, employee overtime fee, employee premium fee, and used material cost. On employee social subsidy which is accepted in the end of each month, the social subsidy of last year is used. By using this system, the cost computation is no longer done manually and the cost of each activity can be accessed every day.
(18)
BAB 1
PENDAHULUAN
1.1Latar Belakang
Dewasa ini kebutuhan teknologi informasi di segala bidang kehidupan semakin meningkat. Salah satu penyebab meningkatnya kebutuhan akan teknologi informasi yaitu meningkatnya kebutuhan pengolahan data dan penyampaian informasi secara cepat dan akurat serta mudah dikontrol. Hal ini juga tidak lepas dari pengaruh pengetahuan manusia yang semakin berkembang dikarenakan munculnya masalah yang semakin kompleks. Untuk itu diperlukan teknologi yang dapat membuat masalah yang kompleks tersebut menjadi lebih ringan. Hal ini dapat dilaksanakan dengan adanya kesatuan dalam bidang pengolahan informasi, database dan jaringan komputer.
PT. Perkebunan Nusantara IV (Persero) memiliki 36 unit usaha yang tersebar di 8 kabupaten di Sumatera Utara. Setiap unit usaha memiliki beberapa afdeling, dan setiap afdeling memiliki beberapa blok. Setiap blok memiliki laporan aktivitas kerja, pencapaian, penggunaan barang dan biaya harian. Laporan dari tiap blok kemudian disampaikan ke afdeling, untuk selanjutnya disampaikan ke kebun. Laporan tersebut direkap setiap hari, sehingga pada akhir bulan diperoleh laporan bulanan yang akan dikirim ke kantor pusat. Dengan laporan bulanan ini dapat diketahui biaya bulanan di tiap kebun.
Pada pemeriksaan laporan biaya bulanan tersebut, sering ditemukan ketidaksesuaian biaya yang dicantumkan. Namun terjadi kesulitan melakukan pengambilan keputusan untuk mengatasi ketidaksesuaian tersebut karena pemeriksaan baru dilaksanakan di akhir bulan. Oleh karena itu, PT. Perkebunan Nusantara IV
(19)
(Persero) memerlukan suatu sistem untuk dapat memudahkan kantor pusat melakukan pengontrolan data biaya setiap hari, tanpa harus menunggu laporan pada akhir bulan.
Proses analisis dan desain memiliki peranan penting dalam pengembangan sistem. Pengembangan sistem melibatkan proses analisis dan desain yang kompleks untuk menerjemahkan permintaan pengguna menjadi desain sistem. Unified Modelling Language (UML) adalah bahasa analisis dan desain yang berorientasi objek yang berfungsi untuk mendesain, membangun, dan mendokumentasikan deskripsi dan desain sistem perangkat lunak. UML tidak bergantung pada bahasa pemrograman yang akan digunakan.
1.2Rumusan Masalah
Masalah yang dibahas dalam penelitian ini yaitu:
1. Bagaimana sistem perhitungan biaya per objek pekerjaan dari setiap blok setiap hari, tanpa harus menunggu akhir bulan. Perhitungan biaya per objek pekerjaan dapat digambarkan sebagai berikut:
(20)
Biaya per Objek Pekerjaan
Upah Catu beras Tunjangan sosial Lembur Premi Bahan
Hitung upah per karyawan per hari per objek
pekerjaan
Hitung catu beras per karyawan per hari per objek
pekerjaan
Hitung Estimasi sosial per karyawan per hari per objek
pekerjaan
hitung kembali biaya sosial karyawan dengan nilai real
pada akhir bulan
Hitung lembur per karyawan per jumlah jam
lemburnya per hari
Premi input hitung premi panen per karyawan per hari
Hitung biaya bahan yang digunakan per hari per objek
pekerjaan
(21)
2. Bagaimana analisis terhadap proses perhitungan biaya per objek pekerjaan pada PT. Perkebunan Nusantara IV (Persero).
3. Bagaimana desain dan pemodelan berorientasi objek dalam membangun sistem perangkat lunak perhitungan biaya per objek pekerjaan menggunakan UML.
1.3Batasan Masalah
Ruang lingkup penelitian ini dibatasi pada:
1. Tidak mencakup biaya-biaya yang tidak dapat dikendalikan oleh manajer unit setempat, antara lain biaya-biaya sosial dan umum yang dibebankan oleh unit lain atau kantor pusat yang terdapat pada rekening netral dan rekening koran, yang besar biayanya baru didapatkan pada akhir bulan.
2. Tidak membahas segi sistem pengambilan keputusan.
3. Pada perancangan sistem, aktor yang berperan hanya pengguna perangkat lunak. 4. Diagram UML yang digunakan sesuai dengan kebutuhan desain sistem.
5. Tidak mencakup bagaimana implementasi sistem perangkat lunak. 6. Tidak membahas deskripsi dari tools UML yang digunakan.
1.4Tujuan Penelitian
Adapun tujuan penelitian ini yaitu:
1. Membuat desain sistem perangkat lunak perhitungan biaya per objek pekerjaan melalui analisis dan desain berorientasi objek yaitu UML.
2. Biaya per objek pekerjaan dapat dihitung secara akurat setiap hari, sehingga data harian dapat dikontrol dan dapat mempercepat pengambilan keputusan jika terdapat ketidaksesuaian data.
1.5Manfaat Penelitian
Manfaat dari penelitian ini adalah selain untuk melakukan pemodelan analisis dan desain sistem terhadap objek yang lebih kompleks dengan menggunakan UML, juga untuk membuat dokumentasi analisis dan desain sistem yang dapat lebih mudah dimengerti. Sistem yang dihasilkan diharapkan dapat mempercepat proses perhitungan
(22)
dan penyampaian laporan ke kantor pusat sehingga pemeriksaan data biaya dan peningkatan proses pekerjaan dapat dilakukan setiap hari tanpa harus menunggu akhir bulan.
1.6Metode Penelitian
Tahapan yang diambil dalam penelitian ini yaitu: 1. Studi literatur.
Penulisan ini dimulai dengan studi kepustakaan yaitu mengumpulkan bahan-bahan referensi baik dari buku, artikel, paper, jurnal, makalah, maupun situs internet mengenai pemodelan berorientasi objek, analisis dan desain sistem dengan UML dan beberapa referensi lainnya untuk menunjang pencapaian tujuan tugas akhir. 2. Mengamati secara langsung aktivitas sistem.
3. Tanya jawab secara langsung dengan pegawai perusahaan yang bersangkutan dalam rangka melengkapi data yang diperlukan dalam desain sistem perangkat lunak.
4. Analisis sistem perhitungan biaya per objek pekerjaan.
Pada tahap ini akan dilakukan analisis terhadap fokus permasalahan penelitian. 5. Pemodelan desain sistem dengan UML.
Pada tahap ini dilakukan desain sistem perangkat lunak menggunakan diagram-diagram UML.
1.7Sistematika Penulisan
Sistematika penulisan dari skripsi ini terdiri dari beberapa bagian utama sebagai berikut:
BAB 1: PENDAHULUAN
Bab ini akan menjelaskan mengenai latar belakang pemilihan judul skripsi “Pemodelan Analisis dan Desain Sistem Perhitungan Biaya Per Objek Pekerjaan pada PT. Perkebunan Nusantara IV (Persero)”, rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metode penelitian, dan sistematika penulisan.
(23)
BAB 2: LANDASAN TEORI
Bab ini akan membahas teori-teori yang berkaitan dengan sistem, pemodelan berorientasi objek, UML, analisis sistem dengan UML, serta desain sistem dengan UML.
BAB 3: ANALISIS SISTEM
Bab ini berisikan langkah-langkah penelitian yang dilakukan, serta analisis terhadap fokus permasalahan penelitian.
BAB 4: DESAIN SISTEM
Bab ini berisikan hasil desain sistem serta pembahasan terhadap desain tersebut.
BAB 5: KESIMPULAN dan SARAN
Bab terakhir akan memuat kesimpulan isi dari keseluruhan uraian bab-bab sebelumnya dan saran-saran dari hasil yang diperoleh yang diharapkan dapat bermanfaat dalam pengembangan selanjutnya.
(24)
BAB 2
LANDASAN TEORI
2.1 Konsep Pemodelan Objek
Pemodelan objek merupakan suatu metode untuk menggambarkan struktur sistem yang memperlihatkan semua objek yang ada pada sistem. (Nugroho, 2005, hal:37). Beberapa konsep dasar dalam pemodelan objek adalah objek, kelas, atribut, operasi, dan hubungan.
2.1.1 Objek dan Kelas
Objek merupakan sesuatu, sebuah entitas, sebuah benda, sesuatu yang dapat diangkat, atau apapun yang dapat kamu bayangkan yang memiliki identitas masing-masing. (O’Docherty, 2005, hal:13). Ada beberapa objek yang hidup dan ada yang tidak. Contoh objek dalam dunia nyata yaitu orang, nomor, kucing, dan mobil.
Objek adalah orang, tempat, benda, kejadian, atau konsep-konsep yang ada di dunia nyata yang penting bagi suatu perangkat lunak. (Nugroho, 2005, hal:38). Objek orang misalnya mahasiswa, dosen, ibu, ayah, dan sebagainya. Objek tempat misalnya kampus, negara, jalan, kota, dan sebagainya. Objek benda misalnya mesin, buku, mobil, komputer, dan sebagainya. Objek kejadian misalnya pembayaran, registrasi kuliah, mengikuti kuliah, dan sebagainya.
Kelas seperti juga objek, adalah sesuatu yang membungkus (encapsulate) informasi (atribut) dan perilaku (operasi) dalam dirinya. Dalam pengembangan sistem tradisional, dilakukan pendekatan dengan cara memisahkan atribut pada sisi basis data dan operasi pada sisi aplikasi pengakses. Namun hal ini berbeda pada pendekatan
(25)
berorientasi objek yang menggabungkan atribut dengan operasi yang akan mengaksesnya dalam apa yang dinamakan kelas.
Kelas didefinisikan sebagai kumpulan objek dengan atribut yang mirip, operasi yang mirip, serta hubungan dengan objek yang lain dengan cara yang mirip. (Nugroho, 2005).
Gambar berikut memperlihatkan suatu kelas dan objek yang mungkin dihasilkan dengan prosedur instansiasi. Suatu objek merupakan instansiasi dari suatu kelas jika objek itu merupakan keturunan yang nyata dari suatu kelas.
Manusia (Manusia)
Adi
(Manusia) Ani
Kelas Objek
Instansiasi
Gambar 2.1 Kelas dan Objek
2.1.2 Atribut dan Operasi
Setiap objek memiliki identitas dan masing-masing dapat dibedakan. (Nugroho, 2005, hal:38). Setiap objek memiliki atribut, misalnya sebuah mobil memiliki produsen, jenis, warna, dan harga, sedangkan seekor kucing memiliki jenis kelamin, jenis, berat, dan warna. Setiap objek juga memiliki operasi, misalnya mobil dapat bergerak dari satu tempat ke tempat lain, sedangkan kucing dapat berlari, minum, dan makan.
Atribut adalah informasi-informasi yang dimiliki suatu objek dalam kelas. Dari contoh di atas dapat ditambahkan, untuk objek Adi dan Ani dapat memiliki atribut jenis kelamin, usia, berat badan, tinggi badan, dan lain-lain. Dari fakta-fakta ini dapat dipahami bahwa nilai dari suatu atribut adalah karakteristik yang membedakan satu objek dengan objek lainnya dalam kelas yang sama.
(26)
Manusia (Manusia) (Manusia)
Kelas dengan atribut Objek dengan nilai pada atribut Instansiasi
Nama: String Usia: Integer
Adi 21
Ani 23
Gambar 2.2 Atribut dan Nilai
Operasi atau metode berhubungan dengan perilaku yang berhubungan dengan suatu kelas. Operasi adalah fungsi atau transformasi yang mungkin dapat diaplikasikan ke/oleh suatu objek dalam kelas. Contohnya suatu objek dalam kelas manusia dapat memiliki operasi-operasi seperti tersenyum, berbicara, makan, minum, dan sebagainya. Contoh lainnya yaitu suatu objek lingkaran memiliki atribut warna, posisi, dan jari-jari, serta memiliki operasi geser dan pilih. Algoritma dari suatu operasi dapat dirincikan dengan menggunakan pseudocode yang memiliki bagian-bagian yaitu nama metode, kamus yang berisi semua nama yang ada dan tipe datanya, serta algoritma yang berisi uraian langkah-langkah penyelesaian masalah.
+Makan()
+Berpindah_alamat() -Nama
-Usia Manusia
+Geser(in Delta : bool) +Pilih(in Point : object) : bool -Warna
-Posisi -Jari-jari
Lingkaran
Gambar 2.3 Operasi
2.1.3 Hubungan (Relationship)
Ketika menggambarkan kelas-kelas dan objek-objek, akan terlihat bahwa kebanyakan kelas dan objek adalah berdiri sendiri. Pada kenyataannya, hampir semua kelas dan objek saling bekerja sama satu sama lain sehingga pada pemodelan kelas dan objek, setelah kelas dan objek didefinisikan, juga dimodelkan bagaimana kelas-kelas dan objek-objek saling berhubungan.
(27)
2.2 UML
UML adalah keluarga notasi grafis yang didukung oleh meta-model tunggal, yang membantu pendeskripsian dan desain sistem perangkat lunak, khususnya sistem yang dibangun menggunakan pemrograman berorientasi objek. (Fowler, 2005, hal: 1). UML merupakan standar yang relatif terbuka yang dikontrol oleh Object Management Group (OMG), yang terdiri dari banyak perusahaan. UML lahir dari penggabungan banyak bahasa pemodelan grafis berorientasi objek antara lain metode Booch oleh Graddy Booch, metode Object Modelling Technique (OMT) oleh DR. James Rumbaugh, dan metode Object Oriented Software Engineering (OOSE) oleh Ivar Jacobson.
Dengan UML, dapat dibuat model untuk perangkat lunak, dimana perangkat lunak tersebut dapat berjalan pada perangkat keras, sistem operasi dan jaringan apapun, serta ditulis dalam bahasa pemrograman apapun. Namun, karena UML juga menggunakan kelas dan operasi dalam konsep dasarnya, maka UML lebih cocok untuk pemodelan perangkat lunak dalam bahasa berorientasi objek seperti C++, Java, C# atau VB.NET.
2.2.1 Analisis Persyaratan dengan UML
Analisis persyaratan meliputi usaha untuk mengetahui apa kemampuan sebuah sistem yang diinginkan pengguna dan pelanggan dari sebuah pengembangan perangkat lunak. Beberapa diagram yang digunakan dalam analisis persyaratan yaitu:
1. Use case diagram yang digunakan untuk menggambarkan bagaimana orang-orang berinteraksi dengan sistem tersebut.
2. Activity diagram yang berfungsi menunjukkan aliran kerja organisasi tersebut yang dapat menunjukkan bagaimana aktivitas interaksi antara perangkat lunak dan manusia. Activity diagram dapat menunjukkan konteks use case dan juga rincian bagaimana sebuah use case berjalan.
3. Class diagram yang diambil dari sudut pandang konseptual, dapat berfungsi untuk membangun kosakata yang besar mengenai domain tersebut.
(28)
2.2.2 Desain dengan UML
Beberapa diagram yang digunakan dalam mendesain sistem yaitu:
1. Use case diagram yang digunakan untuk menggambarkan bagaimana orang-orang berinteraksi dengan sistem tersebut.
2. Sequence diagram untuk mengetahui apa yang terjadi dalam perangkat lunak. 3. Class diagram dari sudut perangkat lunak. Diagram ini menunjukkan kelas yang
terdapat di dalam perangkat lunak dan bagaimana mereka saling berhubungan. 4. Package diagram untuk menunjukkan organisasi berskala besar perangkat lunak
tersebut.
5. Penggunaan deployment diagram untuk menunjukkan susunan fisik perangkat lunak tersebut.
2.2.3 Teknik Analisis dan Desain Sistem dengan UML
Teknik yang digunakan dalam pemodelan analisis dan desain sistem menggunakan UML diantaranya:
1. Pengidentifikasian proses bisnis sistem yang terjadi di lapangan.
2. Pengidentifikasian fungsionalitas sistem dengan penggunaan use case diagram. 3. Pengidentifikasian skenario sistem berdasarkan use case diagram dengan
penggunaan activity diagram.
4. Pengidentifikasian kelas-kelas yang terdapat dalam sistem dengan penggunaan class diagram.
5. Pengidentifikasian hubungan inheritance antara kelas. 6. Pengidentifikasian atribut-atribut yang dimiliki setiap kelas.
7. Pengelompokan kelas-kelas dalam package-package tertentu dengan penggunaan package diagram.
8. Pada setiap use case, dilakukan pengidentifikasian operasi-operasi yang dimiliki setiap kelas yang terlibat dalam use case tersebut.
9. Pengidentifikasian objek-objek, serta penggunaan sequence diagram untuk mendeskripsikan aliran komunikasi antara objek-objek pada setiap use case. 10.Desain antarmuka sistem dan spesifikasi detail dari bagian-bagian antarmuka yang
(29)
11.Pengidentifikasian arsitektur fisik sistem dan kebutuhan sistem dengan penggunaan deployment diagram.
Teknik yang digunakan tidak terbatas pada teori yang diperoleh, namun berdasarkan kebutuhan pada saat analisis dan desain sistem. Dalam pembangunan suatu sistem, jenis diagram yang digunakan disesuaikan dengan kebutuhannya.
2.2.4 Diagram-Diagram dalam UML
Dalam UML, dikenal diagram-diagram yang digunakan untuk membantu dalam analisis dan desain sistem. Dalam skripsi ini, ada beberapa diagram yang digunakan, yaitu use case diagram, activity diagram, class diagram, sequence diagram, package diagram, dan deployment diagram.
2.2.4.1 Use Case Diagram
Use case diagram mendeskripsikan interaksi tipikal antara para pengguna sistem dengan sistem itu sendiri, dengan memberi sebuah narasi tentang bagaimana sistem tersebut digunakan. (Fowler, 2005). Use case diagram menampilkan aktor, use case, dan hubungan diantara mereka yang dijabarkan sebagai berikut:
1. Aktor
Aktor adalah seseorang atau sesuatu yang berinteraksi dengan sistem yang sedang dikembangkan. Aktor bersifat eksternal, yaitu berada di luar lingkup sistem yang sedang dikembangkan. (Nugroho, 2005). Pengguna sistem merupakan aktor yang umum di setiap sistem. Aktor disimbolkan dengan:
Gambar 2.4 Aktor
(30)
Setiap use case diagram memiliki aktor utama yang meminta sistem untuk memberi sebuah layanan. Aktor utama adalah aktor dengan tujuan yang akan dipenuhi oleh use case diagram. Aktor selain aktor utama dikenal sebagai aktor sekunder.
2. Use Case
Use case menggambarkan bagaimana seseorang akan mengunakan atau memanfaatkan sistem. Use case dapat membantu untuk berfokus pada apa yang penting, yaitu menentukan apa yang dibutuhkan serta harapan pengguna terhadap sistem yang dikembangkan. Pengidentifikasian use case dapat dilakukan dengan melakukan identifikasi pekerjaan-pekerjaan dan fungsi-fungsi apa yang dilakukan aktor untuk sistem. Use case disimbolkan dengan:
Use case
Gambar 2.5 Use Case
3. Hubungan (relationship)
Aktor dan use case masing-masing tidak berdiri sendiri, melainkan saling terhubung dengan apa yang dinamakan hubungan. Ada beberapa hubungan yang dikenal dalam use case diagram, yaitu:
a. Hubungan asosiasi (association relationship)
Hubungan asosiasi merupakan hubungan yang biasa terjadi antara aktor dan use case yang menggambarkan bahwa aktor melakukan apa yang dinyatakan dalam use case. Hubungan disimbolkan dengan:
Aktor Use case
(31)
b. Hubungan cakupan (include relationship)
Hubungan cakupan memungkinkan suatu use case untuk menggunakan fungsionalitas yang disediakan oleh use case lainnya. Hubungan ini dapat membantu dalam beberapa kasus seperti pada kasus dimana dua atau lebih use case memiliki sejumlah besar fungsi yang identik, maka fungsi-fungsi yang sama dapat dipisahkan menjadi suatu use case tersendiri, sehingga use case lain dapat memiliki hubungan cakupan dengan use case yang baru. Hubungan cakupan disimbolkan dengan:
NewUseCase1 NewUseCase2
<<incl ude>>
Gambar 2.7 Hubungan Cakupan
c. Hubungan perluasan (extends relationship)
Hubungan perluasan memungkinkan suatu use case memiliki kemungkinan untuk memperluas fungsionalitas yang disediakan use case lainnya. Hubungan perluasan disimbolkan dengan:
NewUseCase1 NewUseCase2
<<extend>>
Gambar 2.8 Hubungan Perluasan
d. Hubungan generalisasi (generalization relationship)
Hubungan generalisasi digunakan untuk memperlihatkan bahwa beberapa aktor atau use case memiliki sesuatu hal yang bersifat umum. Generalisasi berguna untuk mengelompokkan sifat-sifat yang umum dari sejumlah aktor
(32)
atau use case menjadi aktor atau use case tunggal, kemudian bisa mewariskan sifat-sifat umum tadi ke sejumlah aktor atau use case yang lain. Hubungan generalisasi disimbolkan dengan:
Gambar 2.9 Hubungan generalisasi
2.2.4.2 Activity Diagram
Activity diagram secara sepintas mirip dengan diagram alir (flowchart) yang memperlihatkan aliran kendali dari suatu activity ke activity lainnya. Activity diagram juga dapat digunakan untuk memodelkan langkah-langkah dalam sebuah use case. (Reed, 2001).
Dalam membangun activity diagram dikenal beberapa komponen, yaitu: 1. Awal dan akhir activity
Simbol yang digunakan untuk awal activity yaitu:
Gambar 2. 10 Simbol Awal Activity
Mirip dengan simbol awal activity, simbol yang digunakan untuk menandakan akhir dari activity diagram yaitu:
(33)
Gambar 2. 11 Simbol Akhir Activity
2. Action state dan activity state
Action state merupakan langkah-langkah dalam activity diagram, dimana state mencerminkan eksekusi dari suatu aksi pada objek. Misalnya pemanggilan operasi pada sebuah objek, menciptakan objek, atau menghancurkan objek. Pekerjaan suatu action state secara umum dipertimbangkan mengambil waktu eksekusi yang tidak signifikan. Action state pada umumnya bersifat atomik, pekerjaannya tidak dapat didekomposisi lebih lanjut. Action state pada activity diagram disimbolkan dengan:
X = X + 1
Gambar 2.12 Action State
Activity state dapat didekomposisi lebih lanjut, activity state dapat ditampilkan dengan activity diagram yang lain. Activity state tidak bersifat atomik, yang secara umum berarti membutuhkan beberapa waktu untuk terselesaikan dengan tuntas. Activity state pada activity diagram disimbolkan dengan:
(34)
(35)
keluar. Pada joining, aliran konkuren yang masuk akan saling menunggu satu sama lain sebelum melanjutkan ke titik-titik selanjutnya. Forking dan joining dilambangkan dengan:
(36)
Gambar 2.17 Kelas, atribut, dan operasi
2. Hubungan
Hubungan memiliki beberapa bentuk, yaitu: a. Asosiasi
Asosiasi merupakan hubungan antara dua atau lebih kelas yang menspesifikasikan hubungan antara bagian-bagian mereka. Hubungan antara dua buah kelas mengindikasikan bahwa objek pada kelas yang satu “mengenali” objek pada kelas yang lain dan dapat mengirimkan pesan kepada objek tersebut. Asosiasi memiliki multiplisitas yang memberi petunjuk tentang banyaknya instansi dari suatu kelas berhubungan dengan satu instansi kelas yang lain pada satu waktu tertentu. Dalam UML, notasi-notasi multiplisitas yang dapat digunakan yaitu:
Tabel 2.1 Multiplisitas
Multiplisitas Arti
Satu 1
Nol atau banyak (tak terbatas) * (0..*)
Satu atau banyak 1..*
Nol atau satu (asosiasi pilihan) 0..1
Jangkauan tertentu 2..4
Multiple, jangkauan disjoint 2, 4..6, 8
Asosiasi biasanya diberi nama untuk menggambarkan artinya. Asosiasi juga memiliki role, yaitu ujung dari suatu asosiasi yang terhubung ke kelas.
(37)
Gambar 2.18 Asosiasi
b. Agregasi dan komposisi
Agregasi merupakan bentuk hubungan antara suatu keseluruhan ke bagian-bagiannya.
Gambar 2.19 Agregasi
Komposisi adalah bentuk yang lebih kuat dari agregasi. Bagiannya merupakan milik satu-satunya dari keseluruhan.
Gambar 2.20 Komposisi
c. Generalisasi
Generalisasi diperlukan untuk memperlihatkan hubungan pewarisan (inheritance) antarunsur dalam class diagram. Pewarisan memungkinkan suatu
(38)
kelas mewarisi semua atau sebagian atribut, operasi, hubungan, serta semantik dari kelas yang berada di atasnya dalam hierarki pewarisan.
Gambar 2.21 Generalisasi
d. Dependency
Dependency menghubungkan dua kelas atau lebih dimana jika terdapat perubahan pada kelas yang satu, maka akan memaksa terjadinya perubahan pada kelas yang lainnya walaupun tidak terdapat asosiasi yang jelas diantara mereka.
e. Realisasi
Hubungan realisasi digunakan untuk memperlihatkan hubungan antara suatu kelas dengan interface-nya, antara package dengan interface-nya, antara komponen dengan interface-nya, atau antara use case dengan realisasi use case yang bersangkutan.
Gambar 2.22 Hubungan Realisasi
3. Constraint dan notes
Constraint dan notes memberikan keterangan pada bagian-bagian seperti asosiasi, atribut, operasi, dan kelas. Constraint merupakan batasan semantik yang ditandai dengan ekspresi boolean.
(39)
Gambar 2.23 Constraint dan Notes
4. Stereotype
Kelas mempunyai stereotype, yang menyediakan kemampuan untuk membuat elemen pemodelan yang baru. Beberapa stereotype yang umum untuk suatu kelas adalah : entiti, boundary, dan control.
Kelas entiti merefleksikan entiti dunia nyata. Kelas entiti biasanya independent dari sekitarnya, dan tidak tahu bagaimana cara sekitarnya berkomunikasi dengan sistem. Aplikasinya independent, artinya bisa digunakan untuk lebih dari satu aplikasi. Kelas entiti disebut dengan kelas domain karena berhubungan dengan abstraksi entiti dunia nyata. Kelas boundary menangani komunikasi antara lingkungan sistem dan yang ada di dalam sistem, menyediakan interface bagi user atau sistem lain (misalnya interface ke aktor). Kelas control memodelkan urutan behavior spesifik terhadap satu atau lebih use case. Kelas control mengkoordinasi event yang diperlukan untuk merealisasikan behavior spesifik dalam use case. Kelas control biasanya merupakan kelas yang tergantung pada aplikasi. Kelas control bertanggung jawab terhadap arus event dalam use case.
2.2.4.4 Sequence Diagram
Sequence diagram digunakan untuk melihat behavior beberapa objek di dalam use case tunggal. Sequence diagram baik untuk memperlihatkan kolaborasi antarobjek.
Masing-masing sequence diagram menggambarkan aliran-aliran pada suatu use case. Sequence diagram dapat dibaca dengan melihat pada objek-objek dan
(40)
pesan-pesan (message). Objek-objek yang berperan dalam aliran diperlihatkan pada kotak empat persegi panjang yang melintas pada bagian atas diagram. Setiap objek memiliki garis hidup (lifeline), yang digambarkan sebagai garis vertikal di bawah nama suatu objek. Garis hidup dimulai pada saat objek terbentuk. Pesan-pesan digambarkan di antara garis hidup yang dimiliki dua objek untuk memperlihatkan bagaimana objek-objek itu saling berkomunikasi.
: Aktor
objek1:Class1 objek2:Class2
Gambar 2.24 Sequence Diagram
2.2.4.5 Package Diagram
Kelas menunjukkan bentuk dasar penyusunan sebuah sistem borerientasi objek. Meskipun kelas berguna, dibutuhkan sesuatu yang lebih untuk menyusun sistem-sistem yang lebih besar. Sebuah package adalah sebuah bentuk pengelompokan yang memungkinkan untuk mengambil setiap bentuk di UML dan mengelompokkan elemen-elemennya dalam tingkatan unit yang lebih tinggi. Kegunaan package yang umum adalah mengelompokkan kelas. Sebuah package dapat terdiri dari sub package dan kelas. Setiap kelas harus memiliki nama unik di dalam packagenya. Dalam diagram, package disimbolkan dengan sebuah folder berlabel:
(41)
NewPackage
Gambar 2.25 Package
2.2.4.6 Deployment Diagram
Deployment diagram menunjukkan susunan fisik sebuah sistem, menunjukkan bagian perangkat lunak mana yang berjalan pada perangkat keras yang mana. Deployment diagram menggambarkan simpul (node) yang saling berhubungan. Simpul adalah elemen fisik yang ada saat aplikasi dijalankan dan mencerminkan suatu sumber daya komputasi, secara umum menggunakan kapasitas memori dan kemampuan pemrosesan. Diagram dengan simpul umum digunakan pada pemodelan client server dimana komponen-komponen suatu aplikasi disebarkan pada tiap-tiap server dengan tujuan mencapai kinerja yang optimum. Simpul disimbolkan dengan kubus. Hubungan antarsimpul dilambangkan dengan garis lurus.
Processor
Device
Gambar 2.26 Simpul-Simpul pada Deployment Diagram
Processor
Device
(42)
BAB 3
ANALISIS SISTEM
3.1Analisis Permasalahan Umum
Berdasarkan rumusan masalah yang telah dijabarkan pada bab I, akan dibuat pemodelan berorientasi objek dalam menganalisis dan mendesain sistem perhitungan biaya per objek pekerjaan dengan menggunakan UML.
3.2 Proses Bisnis Sistem Perhitungan Biaya Per Objek Pekerjaan
PT. Perkebunan Nusantara IV (Persero) memiliki 36 unit usaha yang tersebar di 8 kabupaten di Sumatera Utara. Setiap unit usaha memiliki beberapa afdeling, dan setiap afdeling memiliki beberapa blok. Setiap blok memiliki laporan aktivitas kerja, pencapaian, penggunaan barang dan biaya harian. Laporan aktivitas kerja harian tersebut dicatat pada buku mandor.
Objek pekerjaan merupakan aktivitas-aktivitas pekerjaan yang dilaksanakan oleh pekerja yang menggunakan alat atau material-material dan menimbulkan biaya. Objek-objek pekerjaan yang utama yaitu pemeliharaan, panen, pengangkutan, dan pengolahan. Pada bidang pemeliharaan terdapat sekitar 30 hingga 50 tipe objek yang memiliki nomor rekening tertentu untuk tiap tipenya. Bidang pengolahan hanya terdapat pada pabrik, tidak pada afdeling.
Setiap buku mandor tersebut kemudian dikumpulkan dan direkap kedalam satu form PB10 yaitu Kumpulan Laporan Kerja Harian (KLKH). Laporan tersebut dikumpulkan untuk tiap afdeling, kemudian dikumpulkan untuk setiap unit. Laporan
(43)
tersebut direkap setiap hari, kemudian pada akhir bulan dihasilkan Laporan Manajemen Bulanan (LMB) yang disampaikan ke kantor pusat.
Sistem ini diharapkan dapat mempercepat proses perhitungan dan penyampaian laporan ke kantor pusat tanpa harus menunggu akhir bulan. Walaupun demikian, hal ini tidak mungkin dilaksanakan secara sempurna karena ada biaya-biaya yang tidak dapat dikendalikan oleh manajer unit setempat, antara lain biaya-biaya yang dibebankan oleh unit lain atau kantor pusat. Contohnya yaitu biaya listrik yang data biayanya baru diperoleh pada akhir bulan.
Asumsi parameter penggunaan use case pada proses bisnis yaitu menggambarkan model proses yang terjadi di lapangan dari awal pendataan hingga memperoleh laporan biaya. Use case diagram analisis sistem diharapkan dapat mencakup fungsionalitas sistem yang dibutuhkan untuk perhitungan biaya-biaya untuk mendapatkan total biaya per objek pekerjaan. Penggunaan UML pada perancangan sistem diharapkan dapat mengembangkan model perancangan untuk mencapai fungsi-fungsi yang diharapkan pengguna mulai dari model pemasukan data awal, model pengubahan data, model penghapusan data, dan model proses perhitungan setiap biaya.
3.2.1 Use Case Diagram Persyaratan Bisnis
Dari hasil pengamatan secara langsung pada proses perhitungan biaya pada salah satu unit, dilakukan identifikasi aktor dan use case dalam membangun suatu use case diagram persyaratan bisnis.
Identifikasi aktor dilakukan dengan menjawab beberapa pertanyaan. Hasil yang diperoleh yaitu:
1. Siapa yang menggunakan sistem? Jawaban: Kerani afdeling.
2. Siapa/apa yang dipengaruhi oleh kehadiran sistem?
Jawaban: Kerani afdeling, administrasi kebun, keuangan kebun, manajer, dan kantor pusat.
(44)
3. Kelompok mana yang membutuhkan sistem untuk melaksanakan suatu pekerjaan tertentu?
Jawaban: Kantor pusat.
4. Siapa/apa yang mempengaruhi sistem?
Jawaban: Mandor, Kerani afdeling, Asisten afdeling, kantor pusat, dan manajer. 5. Kelompok mana yang dibutuhkan sistem untuk melaksanakan pekerjaan tertentu?
Jawaban: Kerani afdeling.
6. Perangkat keras atau perangkat lunak lain apa (jika ada) yang menggunakan sistem yg kita kembangkan?
Jawaban: Tidak ada.
7. Perangkat lunak lain apa yang dibutuhkan sistem? Jawaban: Server basis data.
8. Masalah apa yang dikerjakan aplikasi?
Jawaban: Penghitungan biaya per hari per objek pekerjaan. 9. Untuk siapa dan untuk apa sistem dikembangkan?
Jawaban: Agar data biaya per objek pekerjaan per hari dapat diakses kantor pusat. 10.Bagaimana pengguna menggunakan sistem? (Apa yang mereka lakukan dengan
sistem yang dikembangkan)
Jawaban: Menginput data dari Mandor setiap hari. Menginput data dari kantor pusat (harga beras, harga premi, daftar gaji, harga bahan) jika ada surat edaran baru yang menyatakan perubahan harga.
Dari jawaban tersebut dapat disimpulkan bahwa aktor yang berperan terhadap sistem yaitu mandor, kerani afdeling, asisten afdeling, keuangan kebun, administrasi, manajer, dan kantor pusat.
Identifikasi use case dilakukan dengan mengidentifikasi kegiatan dari setiap aktor yang berhubungan dengan sistem:
1. Mandor
Kegiatan yang dilakukan oleh mandor adalah: a. Melakukan absensi terhadap karyawan b. Mencatat jam lembur karyawan
(45)
d. Mendata bahan yang dipakai oleh setiap objek pekerjaan pada setiap blok e. Mencatat data pekerjaan pemborong
f. Mendata hasil panen karyawan 2. Kerani Afdeling
Kegiatan yang dilakukan oleh kerani afdeling adalah: a. Memasukkan data absensi karyawan
b. Memasukkan data lembur karyawan c. Memasukkan data pekerjaan pemborong d. Memasukkan data hasil panen karyawan e. Menghitung premi panen dan berondolan
f. Menghitung jumlah karyawan (US) dan hasil pekerjaan karyawan g. Menghitung jumlah jam lembur
h. Membuat daftar (barchart) perencanaan pekerjaan bulanan 3. Asisten Afdeling
Kegiatan yang dilakukan oleh asisten afdeling adalah:
a. Mengesahkan daftar lembur untuk dikirim ke kantor kebun b. Mengesahkan data laporan oleh kerani afdeling
4. Keuangan kebun
Kegiatan yang dilakukan oleh bagian keuangan kebun adalah: a. Menghitung biaya lembur dan premi
5. Administrasi
Kegiatan yang dilakukan oleh bagian administrasi adalah: a. Menghitung jumlah biaya per objek pekerjaan
6. Manajer
Kegiatan yang dilakukan oleh manajer adalah: a. Mengesahkan daftar lembur
7. Kantor pusat
Kegiatan yang dilakukan oleh kantor pusat adalah:
a. Mengeluarkan surat edaran gaji pokok dan tunjangan khusus b. Memperoleh laporan biaya
Berdasarkan hasil identifikasi, dapat digambarkan suatu use case diagram persyaratan bisnis sebagai berikut:
(46)
Melakukan absensi terhadap karyawan
Mencatat hasil pekerj aan seti ap bl ok
Mendata bahan yang dipakai oleh setiap objek pekerjaan pada
Mandor
Mendata hasil panen karyawan
Memasukkan data absensi karyawan dan hasil pekerjaan
Menghi tung jumlah karyawan (US) dan hasil pekerjaan karyawan
Membuat daftar (barchart) perencanaan pekerjaan bul anan
Menghi tung premi panen dan berondolan
Memasukkan data l embur karyawan
Menghi tung jumlah j am lembur KeraniAfdeli ng
Memasukkan data hasi l panen karyawan
(47)
Menghi tung bi aya l embur dan premi
KeuanganKebun Menghi tung jumlah biaya per objek
pekerj aan administrasiKebun
Mengesahkan daftar lembur Manaj er
Mengel uarkan surat edaran gaj i pokok dan tunj angan khusus Memperoleh laporan biaya
KantorPusat
Mengesahkan daftar lembur untuk dikiri m ke kantor kebun
Mengesahkan data laporan oleh kerani afdeling
Asi stenAfdeli ng
(48)
3.2.2 Dokumentasi Naratif Use Case Diagram Persyaratan Bisnis
Berikut merupakan tabel-tabel dokumentasi naratif dari setiap use case dalam use case diagram persyaratan bisnis:
Tabel 3.1 Dokumentasi Naratif Melakukan Absensi Terhadap Karyawan
Nama Use Case: Melakukan absensi terhadap karyawan
ID Use Case: UCB-01
Prioritas: Tinggi
Sumber: Persyaratan
Pelaku Bisnis Utama: Mandor Pelaku Sistem Utama: Mandor Pelaku Partisipan Lain: -- Stakeholder yang Berminat Lain:
--Deskripsi: Use case ini mendeskripsikan proses pencatatan kehadiran karyawan sekaligus pencatatan objek pekerjaan yang dilaksanakan oleh masing-masing karyawan.
Tabel 3.2 Dokumentasi Naratif Mencatat Hasil Pekerjaan Setiap Blok
Nama Use Case: Mencatat hasil pekerjaan setiap blok
ID Use Case: UCB-02
Prioritas: Tinggi
Sumber: Persyaratan
Pelaku Bisnis Utama: Mandor Pelaku Sistem Utama: Mandor Pelaku Partisipan Lain: -- Stakeholder yang Berminat Lain:
--Deskripsi: Use case ini mendeskripsikan proses pencatatan hasil pekerjaan karyawan pada setiap blok setiap harinya.
(49)
Tabel 3.3 Dokumentasi NaratifMendata Bahan yang Dipakai oleh Setiap Objek Pekerjaan
Nama Use Case: Mendata bahan yang dipakai oleh setiap objek pekerjaan
ID Use Case: UCB-03
Prioritas: Tinggi
Sumber: Persyaratan
Pelaku Bisnis Utama:
Mandor
Pelaku Sistem Utama:
Mandor
Pelaku Partisipan Lain:
-- Stakeholder yang Berminat Lain:
--Deskripsi: Use case ini mendeskripsikan proses pencatatan data bahan-bahan yang digunakan oleh setiap objek pekerjaan. (Jika ada)
Tabel 3.4 Dokumentasi NaratifMendata Hasil Panen Karyawan
Nama Use Case: Mendata hasil panen karyawan
ID Use Case: UCB-04
Prioritas: Tinggi
Sumber: Persyaratan
Pelaku Bisnis Utama:
Mandor
Pelaku Sistem Utama:
Mandor
Pelaku Partisipan Lain:
-- Stakeholder yang Berminat Lain:
--Deskripsi: Use case ini mendeskripsikan proses pencatatan hasil panen karyawan berupa kapasitas panen, basis borong, denda, dan berondolan.
(50)
Tabel 3.5 Dokumentasi Naratif Memasukkan Data Absensi Karyawan dan Hasil Pekerjaan
Nama Use Case: Memasukkan data absensi karyawan dan hasil pekerjaan
ID Use Case: UCB-05
Prioritas: Tinggi
Sumber: Persyaratan
Pelaku Bisnis Utama: Kerani afdeling Pelaku Sistem Utama: Kerani Afdeling Pelaku Partisipan Lain: -- Stakeholder yang Berminat Lain:
--Deskripsi: Use case ini mendeskripsikan proses pencatatan absensi karyawan dan hasil pekerjaan karyawan ke dalam buku Kumpulan Laporan Kerja Harian (KLKH)
Tabel 3.6 Dokumentasi Naratif Menghitung Jumlah Karyawan dan Hasil Pekerjaan Karyawan
Nama Use Case: Menghitung jumlah karyawan dan hasil pekerjaan karyawan
ID Use Case: UCB-06
Prioritas: Tinggi
Sumber: Persyaratan
Pelaku Bisnis Utama: Kerani afdeling Pelaku Sistem Utama: Kerani Afdeling Pelaku Partisipan Lain: -- Stakeholder yang Berminat Lain:
--Deskripsi: Use case ini mendeskripsikan proses penghitungan jumlah karyawan baik yang hadir dan juga yang tidak hadir di dalam buku Kumpulan Laporan kerja Harian (KLKH).
(51)
Tabel 3.7 Dokumentasi NaratifMemasukkan Data Lembur Karyawan
Nama Use Case: Memasukkan data lembur karyawan
ID Use Case: UCB-07
Prioritas: Tinggi
Sumber: Persyaratan
Pelaku Bisnis Utama:
Kerani afdeling
Pelaku Sistem Utama:
Kerani Afdeling
Pelaku Partisipan Lain:
-- Stakeholder yang Berminat Lain:
--Deskripsi: Use case ini mendeskripsikan proses pencatatan jam lembur karyawan ke dalam buku lembur (AU20).
Tabel 3.8 Dokumentasi NaratifMenghitung Jumlah Jam Lembur
Nama Use Case: Menghitung jumlah jam lembur
ID Use Case: UCB-08
Prioritas: Tinggi
Sumber: Persyaratan
Pelaku Bisnis Utama:
Kerani afdeling
Pelaku Sistem Utama:
Kerani Afdeling
Pelaku Partisipan Lain:
-- Stakeholder yang Berminat Lain:
--Deskripsi: Use case ini mendeskripsikan proses penghitungan jumlah jam lembur karyawan sesuai dengan ketentuan pada Perjanjian Kerja Bersama (PKB).
(52)
Tabel 3.9 Dokumentasi NaratifMemasukkan Data Hasil Panen Karyawan
Nama Use Case: Memasukkan data hasil panen karyawan
ID Use Case: UCB-09
Prioritas: Tinggi
Sumber: Persyaratan
Pelaku Bisnis Utama:
Kerani afdeling
Pelaku Sistem Utama:
Kerani Afdeling
Pelaku Partisipan Lain:
-- Stakeholder yang Berminat Lain:
--Deskripsi: Use case ini mendeskripsikan proses pencatatan hasil panen karyawan beserta preminya ke dalam buku premi panen (PB11).
Tabel 3.10 Dokumentasi NaratifMenghitung Premi Panen dan Berondolan
Nama Use Case: Menghitung premi panen dan berondolan
ID Use Case: UCB-10
Prioritas: Tinggi
Sumber: Persyaratan
Pelaku Bisnis Utama:
Kerani afdeling
Pelaku Sistem Utama:
Kerani Afdeling
Pelaku Partisipan Lain:
-- Stakeholder yang Berminat Lain:
--Deskripsi: Use case ini mendeskripsikan proses penghitungan jumlah premi panen dan berondolan pada PB11.
(53)
Tabel 3.11 Dokumentasi Naratif Membuat Daftar (Barchart) Perencanaan Pekerjaan Bulanan
Nama Use Case: Membuat daftar (barchart) perencanaan pekerjaan bulanan
ID Use Case: UCB-11
Prioritas: Sedang
Sumber: Persyaratan
Pelaku Bisnis Utama: Kerani afdeling Pelaku Sistem Utama: Kerani Afdeling Pelaku Partisipan Lain: -- Stakeholder yang Berminat Lain:
--Deskripsi: Use case ini mendeskripsikan proses pembuatan barchart berdasarkan dokumen Rencana Kerja (RKAP) triwulan.
Tabel 3.12 Dokumentasi NaratifMengesahkan Daftar Lembur Untuk Dikirim ke Kantor Kebun
Nama Use Case: Mengesahkan daftar lembur untuk dikirim ke kantor kebun
ID Use Case: UCB-12
Prioritas: Sedang
Sumber: Persyaratan
Pelaku Bisnis Utama: Asisten Afdeling Pelaku Sistem Utama: Asisten Afdeling Pelaku Partisipan Lain: -- Stakeholder yang Berminat Lain:
--Deskripsi: Use case ini mendeskripsikan proses pengesahan data lembur oleh pihak yang berwenang dari afdeling agar laporan dapat diserahkan ke kantor kebun
(54)
Tabel 3.13 Dokumentasi NaratifMengesahkan Data Laporan oleh Kerani Afdeling
Nama Use Case: Mengesahkan data laporan oleh kerani afdeling
ID Use Case: UCB-13
Prioritas: Sedang
Sumber: Persyaratan
Pelaku Bisnis Utama:
Asisten Afdeling
Pelaku Sistem Utama:
Asisten Afdeling
Pelaku Partisipan Lain:
-- Stakeholder yang Berminat Lain:
--Deskripsi: Use case ini mendeskripsikan proses pengesahan laporan oleh pihak yang berwenang dari afdeling agar laporan dapat diserahkan ke kantor kebun
Tabel 3.14 Dokumentasi NaratifMengesahkan Daftar Lembur
Nama Use Case: Mengesahkan daftar lembur
ID Use Case: UCB-14
Prioritas: Sedang
Sumber: Persyaratan
Pelaku Bisnis Utama:
Manajer
Pelaku Sistem Utama:
Manajer
Pelaku Partisipan Lain:
-- Stakeholder yang Berminat Lain:
--Deskripsi: Use case ini mendeskripsikan proses pengesahan jam lembur yang disetujui oleh manajer.
(55)
Tabel 3.15 Dokumentasi NaratifMenghitung Biaya Lembur dan Premi
Nama Use Case: Menghitung biaya lembur dan premi
ID Use Case: UCB-15
Prioritas: Sedang
Sumber: Persyaratan
Pelaku Bisnis Utama:
Keuangan kebun
Pelaku Sistem Utama:
Keuangan kebun
Pelaku Partisipan Lain:
-- Stakeholder yang Berminat Lain:
--Deskripsi: Use case ini mendeskripsikan proses penghitungan jumlah biaya lembur dan premi dari buku lembur (AU20) dan juga buku premi panen (PB11).
Tabel 3.16 Dokumentasi NaratifMenghitung Jumlah Biaya Per Objek Pekerjaan Nama Use Case: Menghitung jumlah biaya per objek pekerjaan
ID Use Case: UCB-16
Prioritas: Sedang
Sumber: Persyaratan
Pelaku Bisnis Utama:
Administrasi
Pelaku Sistem Utama:
Administrasi
Pelaku Partisipan Lain:
-- Stakeholder yang Berminat Lain:
--Deskripsi: Use case ini mendeskripsikan proses penghitungan jumlah biaya keseluruhan per objek pekerjaan.
(56)
Tabel 3.17 Dokumentasi Naratif Mengeluarkan Surat Edaran Gaji Pokok dan Tunjangan Khusus
Nama Use Case: Mengeluarkan surat edaran gaji pokok dan tunjangan khusus
ID Use Case: UCB-17
Prioritas: Sedang
Sumber: Persyaratan
Pelaku Bisnis Utama: Kantor pusat Pelaku Sistem Utama: Kantor pusat Pelaku Partisipan Lain: -- Stakeholder yang Berminat Lain:
--Deskripsi: Use case ini mendeskripsikan proses pengeluaran surat keputusan gaji pokok dan tunjangan khusus untuk setiap golongan karyawan.
Tabel 3.18 Dokumentasi NaratifMemperoleh Laporan Biaya
Nama Use Case: Memperoleh laporan biaya
ID Use Case: UCB-18
Prioritas: Sedang
Sumber: Persyaratan
Pelaku Bisnis Utama: Kantor pusat Pelaku Sistem Utama: Kantor pusat Pelaku Partisipan Lain: -- Stakeholder yang Berminat Lain:
--Deskripsi: Use case ini mendeskripsikan proses penerimaan laporan biaya per objek pekerjaan dari setiap unit.
3.2.3 Activity Diagram
Proses bisnis yang terjadi dimulai dari pemasukan data hingga diperoleh laporan biaya per objek pekerjaan dapat dimodelkan dalam activity diagram berikut ini:
(57)
Laporan Biaya
(58)
3.3 Komponen Biaya Per Objek Pekerjaan
Biaya per objek pekerjaan merupakan biaya yang ditimbulkan oleh aktivitas-aktivitas pekerjaan yang dilaksanakan oleh pekerja yang menggunakan alat atau material-material. Komponen dari biaya untuk setiap objek pekerjaan yaitu:
1. Upah dan tunjangan khusus karyawan yang bekerja pada objek pekerjaan tersebut. 2. Biaya lembur karyawan yang bekerja pada objek pekerjaan tersebut.
3. Biaya catu beras karyawan yang bekerja pada objek pekerjaan tersebut. 4. Tunjangan sosial karyawan yang bekerja pada objek pekerjaan tersebut. 5. Biaya bahan yang digunakan oleh objek pekerjaan tersebut.
6. Biaya premi (kelebihan) panen karyawan.
3.4 Analisis Kebutuhan Sistem
Pada sub bab ini dibahas mengenai hasil analisis fungsi sistem, masukan sistem, keluaran sistem, dan batasan sistem perhitungan biaya per objek pekerjaan.
3.4.1 Analisis Fungsi Sistem
Dari hasil analisis terhadap proses bisnis yang berlangsung, maka sistem perangkat lunak yang didesain harus memiliki fungsi-fungsi sebagai berikut:
1. Menyimpan data absen karyawan dalam database. 2. Menyimpan data hasil panen karyawan dalam database.
3. Menghitung upah, tunjangan khusus, estimasi tunjangan sosial, dan biaya catu beras per hari kerja setiap karyawan.
4. Menghitung biaya lembur per jam setiap karyawan.
5. Menghitung biaya lembur karyawan dalam setiap objek pekerjaan setiap hari. 6. Menghitung biaya premi panen karyawan setiap hari.
7. Menghitung biaya bahan yang digunakan oleh setiap objek pekerjaan. 8. Menghitung biaya per objek pekerjaan.
(59)
3.4.2 Analisis masukan dan keluaran sistem
Hal yang menjadi masukan sistem berupa: 1. Data absen dari buku mandor
2. Data lembur karyawan 3. Data panen karyawan 4. Data hasil pekerjaan 5. Data penggunaan bahan 6. Data harga pokok bahan 7. Data harga pokok premi panen 8. Data harga beras
9. Data tunjangan sosial
Hal yang menjadi keluaran dari sistem adalah:
1. Jumlah biaya per objek pekerjaan setiap hari setiap blok. 2. Tampilan data yang tersimpan.
3.4.3 Analisis batasan sistem
Batasan dari sistem yang akan didesain yaitu:
1. Tidak mencakup perhitungan biaya-biaya yang tidak dapat dikendalikan oleh manajer unit.
2. Tidak mencakup pencetakan laporan.
3. Tidak membahas proses-proses pengesahan laporan. 4. Tidak mencakup pekerjaan pemborong.
5. Tidak mencakup pembuatan barchart.
3.5 Use Case Diagram Analisis Sistem
Use case diagram persyaratan bisnis diperoleh dari penelitian sistem nyata di lapangan. Dari use case diagram tersebut, dibatasi bahwa perangkat lunak yang akan didesain hanya mencakup seorang aktor yaitu:
(60)
Use case yang diidentifikasi dari aktor user yaitu: 1. Login
2. Memasukkan data absen 3. Mengubah data hasil
4. Memasukkan data bahan yang dipakai 5. Memasukkan data sosial
6. Melihat data KLKH 7. Mengubah data absen 8. Mengubah data sosial
9. Mengubah data bahan yang dipakai 10.Menghapus data absen
11.Menghitung realisasi sosial
12.Menghapus data bahan yang dipakai 13.Memasukkan bahan
14.Mengubah bahan
15.Mengubah harga pokok beras
Setelah aktor dan use case teridentifikasi, dapat digambarkan suatu use case diagram sebagai berikut:
(61)
MenghitungRealSosial
(f rom Use Cases)
Mengubah harga pokok beras
(f rom Use Cases)
Mengubah bahan
(f rom Use Cases)
Memasukkan bahan
(f rom Use Cases)
Melihat data KLKH
(f rom Use Cases)
Menghapus data bahan yang dipakai
(f rom Use Cases)
Mengubah data bahan yang dipakai
(f rom Use Cases)
Mengubah data hasil
(f rom Use Cases)
Menghapus data absen
(f rom Use Cases)
Mengubah data absen
(f rom Use Cases)
Memasukkan data bahan yang dipakai
(f rom Use Cases)
Login
(f rom Use Cases)
Memasukkan data absen
(f rom Use Cases)
Memasukkan data sosial
(f rom Use Cases)
Mengubah data sosial
(f rom Use Cases)
User
(f rom Actors)
(62)
3.5.1 Use caseLogin
Use case login dapat dideskripsikan dalam tabel dokumentasi naratif berikut ini:
Tabel 3.19 Dokumentasi Naratif Login
Nama Use Case: Login
ID Use Case: UC-01
Prioritas: Tinggi
Sumber: Persyaratan
Pelaku Bisnis Utama: User Pelaku Sistem Utama: User Pelaku Partisipan Lain: -- Stakeholder yang Berminat Lain:
--Deskripsi: Use case ini mendeskripsikan proses login user ke dalam aplikasi. Prakondisi: Sudah ada data tentang user.
Pemicu: Hanya user yang terdaftar yang dapat mengakses aplikasi. Bidang khas suatu
event:
Kegiatan Pelaku
Langkah 1: Masuk ke dalam halaman login.
Langkah 2: Memasukkan nama user dan password.
Respons Sistem
Langkah 3: Mencari data user dalam database dan mencocokkannya dengan password.
Langkah 4: Mengizinkan user masuk ke dalam aplikasi.
Bidang Alternatif: Alt-4: Sistem tidak menemukan data user atau password tidak cocok dengan user, maka sistem menampilkan pesan bahwa proses login gagal.
Kesimpulan: Use case login dinyatakan berhasil jika data user terdapat dalam database dan data user dan password sesuai.
Postkondisi: User masuk ke halaman utama aplikasi. Aturan Bisnis: --
Batasan dan Spesifikasi
Implementasi:
--
Asumsi: --
(63)
Aliran event dalam use case login dapat digambarkan dalam suatu activity diagram:
Gambar 3.4 Activity Diagram untuk Use Case Login
3.5.2 Use Case Memasukkan Data Absen
Use case memasukkan data absen dapat dideskripsikan dalam tabel dokumentasi naratif berikut ini:
(64)
Tabel 3.20 Dokumentasi Naratif Memasukkan Data Absen
Nama Use Case: Memasukkan data absen
ID Use Case: UC-02
Prioritas: Tinggi
Sumber: Persyaratan
Pelaku Bisnis Utama: User Pelaku Sistem Utama: User Pelaku Partisipan Lain: -- Stakeholder yang Berminat Lain:
--Deskripsi: Use case ini mendeskripsikan proses memasukkan dan menyimpan data absen karyawan.
Prakondisi: Sudah ada data tentang unit, karyawan, dan rekening pekerjaan.
Pemicu: Use case ini diinisialisasi saat user menyeleksi pilihan untuk memasukkan data absen baru.
Bidang khas suatu event:
Kegiatan Pelaku
Langkah 1: Masuk ke halaman absen karyawan.
Langkah 3: Memilih tanggal. Langkah 4: Meminta daftar unit
Langkah 7: Memasukkan kata kunci pencarian unit dan dasar pencarian. Langkah 8: Meminta hasil pencarian.
Langkah 11: Memilih salah satu unit yang ditampilkan.
Langkah 13: Menginput kode afdeling.
Langkah 14: Meminta daftar mandor.
Respons Sistem
Langkah 2: Sistem menampilkan tanggal hari ini.
Langkah 5: Mencari data unit dalam database.
Langkah 6: Menampilkan data unit tersebut beserta pilihan pencarian.
Langkah 9: Mencari data unit yang diinput oleh user dalam database. Langkah 10: Menampilkan data unit yang ditemukan.
Langkah 12: Mengambil data unit yang dipilih.
Langkah 15: Mencari data mandor dalam database.
(65)
Tabel 3.20 Dokumentasi Naratif Memasukkan Data Absen(lanjutan)
Langkah 17: Memasukkan kata kunci pencarian mandor dan dasar pencarian.
Langkah 18: Meminta hasil pencarian.
Langkah 21: Memilih salah satu mandor yang ditampilkan.
Langkah 23: Meminta daftar karyawan.
Langkah 26: Memasukkan kata kunci pencarian karyawan dan dasar pencarian.
Langkah 27: Meminta hasil pencarian.
Langkah 30: Memilih salah satu karyawan yang ditampilkan.
Langkah 32: Meminta daftar rekening pekerjaan.
Langkah 35: Memasukkan kata kunci pencarian rekening pekerjaan dan dasar pencarian.
Langkah 16: Menampilkan data mandor beserta pilihan pencarian.
Langkah 19: Mencari data mandor yang diinput oleh user dalam database.
Langkah 20: Menampilkan data mandor yang ditemukan.
Langkah 22: Mengambil data mandor yang dipilih.
Langkah 24: Mencari data karyawan dalam database.
Langkah 25: Menampilkan data karyawan beserta pilihan pencarian.
Langkah 28: Mencari data karyawan yang diinput oleh user dalam database.
Langkah 29: Menampilkan data karyawan yang ditemukan.
Langkah 31: Mengambil data karyawan yang dipilih.
Langkah 33: Mencari data rekening pekerjaan dalam database.
Langkah 34: Menampilkan data rekening pekerjaan beserta pilihan pencarian.
(66)
Tabel 3.20 Dokumentasi Naratif Memasukkan Data Absen(lanjutan)
Langkah 36: Meminta hasil pencarian.
Langkah 39: Memilih salah satu rekening pekerjaan yang ditampilkan.
Langkah 41: Meminta daftar sub rekening pekerjaan.
Langkah 44: Memilih salah satu sub rekening yang diinginkan.
Langkah 46: Memasukkan kode blok dan tahun tanam.
Langkah 47: Meminta opsi status kerja karyawan.
Langkah 49: Memilih status kerja karyawan.
Langkah 50: Memilih opsi lembur.
Langkah 52: Memasukkan jam mulai lembur dan jam selesai lembur.
Langkah 53: Mengeksekusi perintah simpan absen.
Langkah 37: Mencari data rekening pekerjaan yang diinput oleh user dalam database.
Langkah 38: Menampilkan data rekening pekerjaan yang ditemukan. Langkah 40: Mengambil data rekening pekerjaan yang dipilih.
Langkah 42: Mencari data sub rekening dari rekening yang dipilih dalam database.
Langkah 43: Menampilkan data sub rekening pekerjaan.
Langkah 45: Mengambil data sub rekening pekerjaan yang dipilih.
Langkah 48: Menampilkan opsi status kerja karyawan.
Langkah 51: Menampilkan isian jam mulai lembur dan jam selesai lembur.
Langkah 54: Memeriksa apakah data yang sama sudah pernah ada dalam database.
Langkah 55: Mencari jenis lembur dalam database.
Langkah 56: Menghitung jumlah jam lembur sesuai jenis kelamin. Langkah 57: Menghitung jumlah rupiah lembur.
(67)
Tabel 3.20 Dokumentasi Naratif Memasukkan Data Absen(lanjutan)
Langkah 58: Memeriksa status kerja karyawan.
Langkah 59: Menghitung upah. Langkah 60: Menghitung catu beras. Langkah 61: Menyimpan data absensi ke dalam database.
Langkah 62: Menginisialisasi ID kegiatan.
Langkah 63: Memeriksa keberadaan data kegiatan dalam database.
Langkah 64: Menyimpan/menambahkan data
kegiatan dalam database. Bidang
Alternatif:
Alt-10,20,29,38: data yang dicari tidak ditemukan, maka sistem akan menampilkan halaman kosong.
Alt-49: Jika status karyawan tidak kerja, maka proses dilanjutkan ke langkah 53.
Alt-50: karyawan tidak lembur, maka proses dilanjutkan ke langkah 53. Kesimpulan: Use case ini merupakan rincian pengisian data absen.
Postkondisi: Absen tersimpan dalam database. Aturan Bisnis: --
Batasan dan Spesifikasi
Implementasi:
--
Asumsi: --
Masalah terbuka: Nilai hasil pekerjaan tidak berdasarkan masing-masing karyawan, melainkan kolektif (per blok).
Aliran event dalam use case memasukkan data absen dapat digambarkan dalam suatu activity diagram:
(68)
Gambar 3.5 Activity Diagram untuk Use Case Memasukkan Data Absen
3.5.3 Use Case Mengubah Data Hasil
Use case mengubah data hasil dapat dideskripsikan dalam tabel dokumentasi naratif berikut ini:
(1)
if (statusKerja == K)
if(nomorRek != panen)
sqlquery cari dalam table klkh yang memenuhi kondisi id= idKLKHBaru
jalankan sqlquery
ambil data lemburLaki, lemburWanita, lemburKLKH if (statusLemburSesudah == Ya)
hargaBeras
pengontrolKLKH::cariHargaBeras()
jenisLembur pengontrolKLKH::cekJenisLembur(tanggal) jamLembur
pengontrolKLKH::hitungJamLembur(jenisLembur, mulaiLembur, selesaiLembur)
lemburPerJam
pengontrolKLKH::hitungLemburPerJam(golongan, hargaBeras)
lemburBaru pengontrolKLKH::hitungLembur(jamLembur, lemburPerJam)
else
jamLembur 0 lemburBaru 0
sqlquery update data tahunTanamSesudah, blokSesudah, mulaiLembur, selesaiLembur, jamLembur, dan lemburBaru untuk data yang memenuhi kondisi idAbsen pada tabel absen jalankan sqlquery
if (JKKar == true)
lemburLaki lemburLaki – lembur + lemburBaru
else
lemburWanita lemburWanita – lembur + lemburBaru
lemburKLKH lemburKLKH – lembur + lemburBaru sqlquery update data lemburLaki,lemburWanita,
dan lemburKLKH untuk data yang memenuhi kondisi idKLKHBaru pada tabel klkh jalankan sqlquery
else
sqlquery cari dalam table klkh yang memenuhi kondisi id= idKLKHBaru
jalankan sqlquery
ambil data premiLaki, premiWanita, premiKLKH sqlquery cari dalam tabel panen yang memenuhi
kondisi nomorPanen dan tahunTanam dan idKLKH jalankan sqlquery
ambil data premi sebagai premiSebelum, brondolan sebagai brondolanSebelum
premimandorSebelum
pengontrolKLKH::hitungPremiMandor( premiSebelum,brondolanSebelum) premimandorSesudah
pengontrolKLKH::hitungPremiMandor( premiSesudah,brondolanSesudah) dasarPremiBaru
pengontrolKLKH::hitungDasarPremi( kapasitasSesudah, basisBorongSesudah)
(2)
biayaPremiBaru
pengontrolKLKH::hitungBiayaPremi( tahunTanamSesudah, kapasitasSesudah, basisBorongSesudah)
biayaBrondolanBaru
pengontrolKLKH::hitungBiayaBrondolan( tahunTanamSesudah, brondolanSesudah) premiBaru pengontrolKLKH::hitungPremi( tahunTanamSesudah, kapasitasSesudah, basisBorongSesudah, brondolanSesudah, dendaSesudah)
if (JKKar == true)
premiLaki premiLaki – premi + premiBaru else
premiWanita premiWanita – premi + premiBaru
premiKLKH premiKLKH – premi + premiBaru sqlquery update data premiLaki,premiWanita,
dan premiKLKH untuk data yang memenuhi kondisi id=idKLKH pada tabel klkh jalankan sqlquery
sqlquery update data tahunTanamSesudah,
blokSesudah, nomorPanen, dan premiBaru untuk data yang memenuhi kondisi idKLKH pada tabel absen
jalankan sqlquery
sqlquery update data nomorPanen,
kapasitasSesudah, BasisBorongSesudah, BrondolanSesudah, dasarPremiBaru, biayaPremiBaru, biayaBrondolanBaru, premiBaru pada tabel panen yang memenuhi kondisi idKLKH dan nomorPanen pada tabel panen
jalankan sqlquery
sqlquery cari dalam tabel absen data yang memenuhi kondisi tanggal dan NIKMandor dan rekening panen dan sub rekening mandor panen jalankan sqlquery
ambil nilai premi sebagai premiMandor, id_klkh sebagai idKLKHMandor, dan JK sebagai JKMandor
premiMandor premiMandor - premiMandorSebelum + premiMandorSesudah
sqlquery update data premi = premiMandor untuk data yang memenuhi kondisi tanggal dan
NIKMandor dan rekening panen dan sub rekening mandor panen pada klkh jalankan sqlquery
sqlquery cari dalam tabel klkh yang memenuhi kondisi id=idKLKHMandor
jalankan sqlquery
ambil data premiLaki sebagai premiMandorLaki ambil data premiWanita sebagai premiMandorWanita ambil data premiKLKH sebagai premiMandorKLKH if (JKMandor == true)
(3)
premiMandorLaki premiMandorLaki -
premiMandorSebelum + premiMandorSesudah else
premiMandorWanita premiMandorWanita - premiMandorSebelum + premiMandorSesudah premiMandorKLKH premiMandorKLKH -
premiMandorSebelum + premiMandorSesudah sqlquery update data premiLaki =
premiMandorLaki, premiWanita =
premiMandorWanita, premiKLKH = premiMandorKLKH untuk data yang memenuhi kondisi
id=idKLKHMandor pada tabel klkh jalankan sqlquery
else
sqlquery update data tahun_tanam =
tahunTanamSesudah untuk data yang memenuhi kondisi id= idAbsen pada tabel absen
jalankan sqlquery
sqlquery update data tahun_tanam =
tahunTanamSesudah untuk data yang memenuhi kondisi id= idKLKH pada tabel klkh
jalankan sqlquery
AlgoIF-01 Metode
fLogin::bCariUnit_Click()
{menampilkan panel untuk menampilkan daftar unit}
Kamus
--
Algoritma
Tampilkan panelUnit
AlgoIF-02 Metode
fPokok::setBahan()
{mengaktifkan groupbox bahan pada interface fPokok}
Kamus
Sqlquery: string
Algoritma
Aktifkan groupbox bahan
Sqlquery cari semua data bahan dalam database Jalankan sqlquery
(4)
AlgoIF-03 Metode
fPokok::setBeras()
{mengaktifkan groupbox beras pada interface fPokok}
Kamus
Sqlquey: string
Algoritma
Aktifkan groupbox beras
Sqlquery cari data harga beras dalam database Jalankan sqlquery
Tampilkan daftar harga beras dalam datagrid dgBeras
AlgoIF-04 Metode
fPokok::tampilSosial()
{mengaktifkan groupbox sosial pada interface fPokok}
Kamus
Sqlquey: string
Algoritma
Aktifkan groupbox sosial
Sqlquery cari semua data beban sosial dalam database Jalankan sqlquery
Tampilkan daftar beban sosial dalam datagrid dgSosial
AlgoIF-05 Metode
fTampil:: tampilAkumulasi(us_laki: Integer, us_wanita: Integer, s1: Integer, s1m: Integer, h1: Integer, h2: Integer, h2m: Integer, ct: Integer, cp: Integer, p1: Integer, p3: Integer, p4: Integer, m: Integer,
upah:Double, lembur: Double, bahan: Double, premi: Double, catu: Double, sosial: Double)
{menampilkan akumulasi data biaya dan jumlah US}
Kamus
Sqlquey: string
Algoritma
Input(us_laki, us_wanita, s1, s1m, h1, h2, h2m, ct, cp, p1, p3, p4, m, upah, lembur, bahan, premi, catu, sosial) Tampilkan setiap data pada kolom isian masing-masing
(5)
AlgoIF-06 Metode
fPokok::setSosial()
{mengambil nilai sosial dari baris data yang dipilih pada datagrid sosial}
Kamus
tahun, bulan : integer
sosialLaki, sosialWanita: double
Algoritma
tahun nilai tahun dari baris data yang dipilih pada datagrid sosial
bulan nilai bulan dari baris data yang dipilih pada datagrid sosial
sosialLaki nilai sosialLaki dari baris data yang dipilih pada datagrid sosial
sosialWanita nilai sosialWanita dari baris data yang dipilih pada datagrid sosial
output(tahun,bulan,sosialLaki,sosialWanita)
AlgoIF-07 Metode
fPokok::setSosialBaru()
{mengosongkan kolom isian untuk diisi data baru}
Kamus
--
Algoritma
Kosongkan kolom isian tahun, bulan, sosialLaki dan sosialWanita
(6)
AlgoIF-08 Metode
fEditAbsen::loadData(idAbsen: string, nomorRek: string, upah: double, catuBeras: double, sosial: double, lembur: double, premi: double, JKKar: boolean, nikMandor: string, nomorPanen: string,
tahunTanam:integer, tanggal: datetime, statusKerja: string)
{mengosongkan kolom isian untuk diisi data baru}
Kamus
idAbsen, nomorRek, nomorPanen, nikMandor, statusKerja: string
upah, catuBeras, sosial, lembur, premi: double JKKar: boolean
tahunTanam:integer tanggal: datetime
Algoritma
Input(idAbsen, nomorRek, upah, catuBeras, sosial, lembur, premi, JKKar, nikMandor, nomorPanen, tahunTanam, tanggal, statusKerja)
If (lembur == 0)
statusLembur = ya else
statusLembur = tidak
isi semua kolom isian yang sesuai dengan data input output(statusLembur)