Metode
pengontrolLogin::tampilDaftarUnit(detail: string, kunci: string)
{membangkitkan query sql dari data inputan untuk dicari dalam database}
Kamus
Detail, kunci, sqlquey: string
Algoritma
Input(detail, kunci) Set koneksi sql Set sqldataadapter
Sqlquery cari data dalam tabel unit yang memenuhi kondisi
detail dan kunci Jalankan sqlquery
Hasil pencarian ditampilkan dalam datagrid Output(datagrid yang berisi hasil pencarian)
Algo01-02 Metode
pengontrolLogin::setUnit(kodeTerpilih: string, namaTerpilih: string)
{menyimpan data kode unit dan nama unit yang dipilih oleh user, dimana nilai input kodeTerpilih dan namaTerpilih berasal dari pilihan dari daftar(datagrid)}
Kamus kodeUnit,namaUnit,kodeTerpilih,namaTerpilih: string Algoritma Input(kodeTerpilih, namaTerpilih) kodeUnit kodeTerpilih namaUnit namaTerpilih Output(kodeUnit,namaUnit)
Algo01-03 Metode
pengontrolLogin::validate(username: string, password: string)
{membangkitkan query sql untuk memeriksa keabsahan nama user dan password}
Kamus
Username, password, sqlquery, user: string
Algoritma
Input(username, password)
Sqlquery cari data dalam tabel user yang memenuhi kondisi
username dan password Jalankan sqlquery
If (data yang cocok ditemukan) then
Status Login sukses
User username
Else
Status Login gagal
Output(Status)
Algo02-01 Metode
pengontrolPokok::validateHargaBeras(hargaBeras: double) {membangkitkan query sql untuk mengubah harga beras}
Kamus hargaBeras: double sqlquery: string Algoritma Input(hargaBeras) Set koneksi sql Set sqldataadapter
Sqlquery update hargaBeras dalam tabel beras
Algo02-02 Metode
pengontrolPokok::hitungRealSosial(id: integer, bulan: integer, tahun: integer, biayaSosialLaki: double, biayaSosialWanita: double)
{melakukan penghitungan biaya sosial realisasi}
Kamus
id, bulan, tahun: integer
biayaSosialLaki, biayaSosialWanita, sosPerHKLaki, sosPerHKWanita: double
jlhUSLaki, jlhUSWanita: integer
Algoritma
Input(bulan, tahun, biayaSosialLaki, biayaSosialWanita)
Sqlquery hitung jlhUSLaki dan jlhUSWanita dalam tabel
klkh untuk data yang memenuhi kondisi bulan buku dan tahun buku {sqlquery untuk menghitung jumlah hari kerja pekerja dalam 1 bulan yang akan dihitung realisasi sosialnya}
Jalankan sqlquery
If (data yang cocok ditemukan) then
jlhUSLaki hasil pencarian[“laki”]
jlhUSWanita hasil pencarian[“wanita”]
Else
Pesan error
Sqlquery update data jlhUSLaki dan JLh jlhUSWanita pada
tabel sosial untuk data yang memenuhi kondisi id Jalankan sqlquery
sosPerHKLaki biayaSosialLaki / jlhUSLaki
sosPerHKWanita biayaSosialWanita / jlhUSWanita
Sqlquery update sosial_Laki= US_Laki x sosPerHKLaki dan
sosial_Wanita=US_Wanita x sosPerHKWanita dan
status='realisasi' pada tabel klkh untuk data yang memenuhi kondisi bulan dan tahun
Jalankan sqlquery
Algo02-03 Metode
pengontrolPokok::simpanBahan(kode: string, nama: string, harga: double)
{membangkitkan query sql untuk menyimpan data bahan}
Kamus
harga: double
sqlquery, kode, nama: string
Algoritma
Input(kode, nama, harga)
Sqlquery “masukkan data kode, nama dan harga ke dalam
tabel bahanpokok Jalankan sqlquery
Algo02-04 Metode
pengontrolPokok::simpanUbah(kodeBahanSesudah: string, namaBahan: string, hargaperSatuan: double,
kodeBahanSebelum: string)
{membangkitkan query sql untuk mengubah data bahan}
Kamus
hargaperSatuan : double
sqlquery, kodeBahanSesudah, namaBahan, kodeBahanSebelum: string
Algoritma
Input(kodeBahanSebelum, namaBahan, hargaperSatuan, kodeBahanSebelum)
Sqlquery update data kodeBahanSesudah, namaBahan,
hargaperSatuan pada tabel bahanpokok untuk data yang memenuhi kondisi kodeBahanSebelum
Jalankan sqlquery
Algo02-05 Metode
pengontrolPokok::simpanSosial(bulan: integer, tahun: integer, biayaSosialLaki: double, biayaSosialWanita: double)
{membangkitkan query sql untuk menyimpan data sosial}
Kamus
bulan, tahun: integer
biayaSosialLaki, biayaSosialWanita: double sqlquery: string
Algoritma
Input(bulan, tahun, biayaSosialLaki, biayaSosialWanita)
Sqlquery masukkan data bulan, tahun, biayaSosialLaki ,
biayaSosialWanita ke dalam tabel Sosial Jalankan sqlquery
Algo02-06 Metode
pengontrolPokok::simpanUbahSosial(id: integer, bulan: integer, tahun: integer, biayaSosialLaki: double, biayaSosialWanita: double)
{membangkitkan query sql untuk mengubah data sosial}
Kamus
id, bulan, tahun: integer
biayaSosialLaki, biayaSosialWanita: double sqlquery: string
Algoritma
Input(kodeBahanSebelum, namaBahan, hargaperSatuan, kodeBahanSebelum)
Sqlquery update data bulan, tahun, biayaSosialLaki,
biayaSosialWanita pada tabel sosial untuk data yang memenuhi kondisi id
Algo03-01 Metode
pengontrolBahan::tampilBahanPakai(idKLKH: string) {menampilkan data bahan pakai untuk data pekerjaan yg
dipilih}
Kamus
idKLKH, sqlquey: string
Algoritma
Input(idKLKH)
Sqlquery cari data dalam tabel BahanPakai yang memenuhi
kondisi idKLKH Jalankan sqlquery
Hasil pencarian yang cocok ditampilkan dalam datagrid Output(datagrid berisi daftar hasil pencarian)
Algo03-02 Metode
pengontrolBahan::tampilDaftarBahan(detail: string, kunci: string)
{menampilkan daftar bahan}
Kamus
detail, kunci, sqlquey: string
Algoritma
Input(detail, kunci)
Sqlquery cari data dalam tabel BahanPokok yang memenuhi
kondisi kunci=detail Jalankan sqlquery
Hasil pencarian yang cocok ditampilkan dalam datagrid Output(datagrid berisi daftar hasil pencarian)
Algo03-03 Metode
pengontrolBahan::setBahan(kodeBahan: string, namaBahan: string, hargaPokok: double)
{menampilkan data bahan pakai untuk data pekerjaan yg dipilih dari pilihan dari daftar(datagrid)}
Kamus
kodeBahan, namaBahan, sqlquey, kodeSet,namaSet,: string hargaPokok, hargaPokokSet: double
Algoritma Input(kodeBahan,namaBahan,hargaPokok) kodeSet kodeBahan namaSet namaBahan hargaPokokSet hargaPokok Output(kodeSet,namaSet,hargaPokokSet)
Algo03-04 Metode
pengontrolBahan::hitungHarga(jumlah: double, hargaPokokSet: double)
{menghitung harga total bahan pakai yang di inputkan}
Kamus
hargaTotal, jumlah, hargaPokokSet: double
Algoritma
Input(jumlah,hargaPokok)
hargaTotal jumlah * hargaPokokSet
Output(hargaTotal)
Algo03-05 Metode
pengontrolBahan::setBaru()
{pengaturan status untuk penyimpanan data bahan pakai baru}
Kamus status: string hargaSebelum: double Algoritma hargaSebelum 0 status “baru” Algo03-06 Metode pengontrolBahan::setUbah(hargaAwal: double)
{pengaturan status untuk pengubahan data bahan pakai}
Kamus
status: string
hargaSebelum, hargaAwal: double
Algoritma
Input(hargaAwal)
hargaSebelum hargaAwal
Algo03-07 Metode
pengontrolBahan::simpanBahanPakai(status: string, idKLKH: string, kodeBahan: string, jumlah: double, hargaTotal: double, hargaSebelum: double)
{menyimpan data bahan pakai dalam database}
Kamus
kodeBahan, sqlquey: string
hargaTotal, jumlah, totalBahan, biaya_bahan: double
Algoritma
Input(kodeBahan,jumlah,hargaTotal)
Sqlquery masukkan data bulan, tahun, biayaSosialLaki
dan biayaSosialWanita ke dalam tabel BahanPakai Jalankan sqlquery
Sqlquery cari biaya_bahan dari tabel klkh yang memenuhi
kondisi id_klkh = idKLKH Jalankan sqlquery
Ambil data biaya_bahan
If (status = baru)
totalBahan biaya_bahan + hargaTotal
Else
totalBahan biaya_bahan – hargaSebelum + hargaTotal
sqlquery update data biaya_bahan = totalBahan pada tabel
klkh untuk record yang memenuhi kondisi id_klkh=idKLKH Jalankan sqlquery
Algo03-08 Metode
pengontrolBahan::hapusBahanPakai(idKLKH: string, kodeBahan: string, hargaSebelum: double)
{menghapus data bahan pakai dalam database}
Kamus
kodeBahan, sqlquey: string
hargaTotal, jumlah, totalBahan, biaya_bahan: double
Algoritma
Input(kodeBahan,jumlah,hargaTotal)
Sqlquery hapus data dari tabel BahanPakai yang
memenuhi kondisi kode_bahan=kodeBahan Jalankan sqlquery
Sqlquery cari biaya_bahan dari tabel klkh yang memenuhi
kondisi id_klkh = idKLKH Jalankan sqlquery
Ambil data biaya_bahan
totalBahan biaya_bahan – hargaSebelum
sqlquery update klkh set biaya_bahan = totalBahan pada
record dengan kondisi id_klkh=idKLKH Jalankan sqlquery
Algo04-01 Metode
pengontrolKLKH::tampilKLKH(tanggalRekam: datetime, unit: string)
{menampilkan daftar laporan kegiatan kerja harian}
Kamus
detail, kunci, sqlquey: string
Algoritma
Input(idKLKH, tanggalRekam)
Sqlquery tampilkan record tabel klkh yang memenuhi
kondisi kodeunit=unit dan tanggal=tanggalRekam Jalankan sqlquery
Hasil pencarian yang cocok ditampilkan dalam datagrid Output(datagrid berisi daftar hasil pencarian)
Algo04-02 Metode
pengontrolKLKH::tampilDaftarUnit(detail: string, kunci: string)
{menampilkan daftar unit}
Kamus
detail, kunci, sqlquey: string
Algoritma
Input(detail, kunci)
Sqlquery tampilkan record tabel usahaUnit yang memenuhi
kondisi kunci=detail Jalankan sqlquery
Hasil pencarian ditampilkan dalam datagrid Output(datagrid berisi daftar hasil pencarian)
Algo04-03 Metode
pengontrolKLKH::tampilDaftarMandor(detail: string, kunci: string)
{menampilkan daftar mandor}
Kamus
detail, kunci, sqlquey: string
Algoritma
Input(detail, kunci)
Sqlquery tampilkan record tabel karyawan yang memenuhi
kondisi kunci=detail dan jabatan=mandor Jalankan sqlquery
Hasil pencarian ditampilkan dalam datagrid Output(datagrid berisi daftar hasil pencarian)
Algo04-04 Metode
pengontrolKLKH::tampilDaftarKar(detail: string, kunci: string)
{menampilkan daftar kayawan}
Output(datagrid berisi daftar hasil pencarian)
Kamus
detail, kunci, sqlquey: string
Hasil pencarian ditampilkan dalam datagrid
Algoritma
Input(detail, kunci)
Sqlquery tampilkan record tabel karyawan yang memenuhi
kondisi kunci=detail Jalankan sqlquery
Algo04-05 Metode
pengontrolKLKH::tampilDaftarRek(detail: string, kunci: string)
{menampilkan daftar rekening pekerjaan}
Kamus
detail, kunci, sqlquey: string
Algoritma
Input(detail, kunci)
Sqlquery tampilkan record tabel rekening yang memenuhi
kondisi kunci=detail Jalankan sqlquery
Hasil pencarian ditampilkan dalam datagrid Output(datagrid berisi daftar hasil pencarian)
Algo04-06 Metode
pengontrolKLKH::tampilDaftarSubRek(detail: string, kunci: string)
{menampilkan daftar sub rekening pekerjaan}
Kamus
detail, kunci, sqlquey: string
Algoritma
Input(detail, kunci)
Sqlquery tampilkan record tabel subRekening yang memenuhi
kondisi kunci=detail Jalankan sqlquery
Hasil pencarian ditampilkan dalam datagrid Output(datagrid berisi daftar hasil pencarian)
Algo04-07 Metode
pengontrolKLKH::simpanAbsen(kodeUnit: string, Afdeling: string, tanggalRekam: datetime, NIKMandor: string, NIKKar: string, JenisKelamin: boolean, Golongan:
string, statusKerja: string, rekeningPekerjaan: string, subRekening: string, blok: string, tahunTanam: integer, mulaiLembur: integer, selesaiLembur: integer,
jumlahJamLembur: double, biayaLembur: double, catuBeras: double, upah: double, sosial: double, nomorPanen: string, premi: double, lastUpdate: datetime, userID: string, idKLKH: string)
{membangkitkan query sql untuk menyimpan data absen}
Kamus
jumlahJamLembur, biayaLembur, catuBeras, upah, sosial, premi: double
sqlquery, kodeUnit, Afdeling, NIKMandor, NIKKar, Golongan, statusKerja, rekeningPekerjaan, subRekening, blok, nomorPanen, userID, idKLKH: string
tanggalRekam, mulaiLembur, selesaiLembur, lastUpdate: datetime
Algoritma
Input(kodeUnit, Afdeling, tanggalRekam, NIKMandor, NIKKar, JenisKelamin, Golongan, statusKerja, rekeningPekerjaan, subRekening, blok, tahunTanam, mulaiLembur,
selesaiLembur, jumlahJamLembur, biayaLembur, catuBeras, upah, sosial, nomorPanen, premi, lastUpdate, userID, idKLKH)
Sqlquery masukkan data kodeUnit, Afdeling, tanggalRekam,
NIKMandor, NIKKar, JenisKelamin, Golongan, statusKerja, rekeningPekerjaan, subRekening, blok, tahunTanam,
mulaiLembur, selesaiLembur, jumlahJamLembur, biayaLembur, catuBeras, upah, sosial, nomorPanen, premi, lastUpdate, userID, dan idKLKH ke dalam tabel absenHarian
Algo04-08 Metode
pengontrolKLKH::setUnit(kodeUnitTerpilih: string, namaUnitTerpilih: string)
{menyimpan data kode unit dan nama unit yang dipilih oleh user, dimana nilai input kodeTerpilih dan namaTerpilih berasal dari pilihan dari daftar(datagrid)}
Kamus
kodeUnitTerpilih, namaUnitTerpilih, kodeUnit, namaUnit: string Algoritma Input(kodeBahan,namaBahan,hargaPokok) kodeUnit kodeTerpilih namaUnit namaTerpilih Output(kodeUnit, namaUnit) Algo04-09 Metode pengontrolKLKH::setMandor(NIKMandorTerpilih: string, namaMandorTerpilih: string)
{menyimpan data NIK dan nama mandor yang dipilih oleh user, dimana nilai input NIKMandorTerpilih dan
namaMandorTerpilih berasal dari pilihan dari daftar(datagrid)}
Kamus
NIKMandorTerpilih, namaMandorTerpilih, NIKMandor, namaMandor: string Algoritma Input(NIKMandorTerpilih, namaMandorTerpilih) NIKMandor NIKMandorTerpilih namaMandor namaMandorTerpilih Output(NIKMandor, namaMandor)
Algo04-10 Metode
pengontrolKLKH::setKaryawan(NIKKaryawanTerpilih: string, namaKaryawanTerpilih: string, JKKarTerpilih: boolean, golonganKarTerpilih: string, suskelKarTerpilih: string) {menyimpan data NIK dan nama karyawan yang dipilih oleh
user, dimana nilai input NIKKaryawanTerpilih dan namaKaryawanTerpilih berasal dari pilihan dari daftar(datagrid)}
Kamus
NIKKaryawanTerpilih, namaKaryawanTerpilih,JKKarTerpilih, golonganKarTerpilih, suskelKarTerpilih, NIKKaryawan, namaKaryawan, golonganKar, suskelKar: string
JKKar: boolean
Algoritma
Input(NIKKaryawanTerpilih, namaKaryawanTerpilih,
JKKarTerpilih, golonganKarTerpilih, suskelKarTerpilih)
NIKKaryawan NIKKaryawanTerpilih
namaKaryawan namaKaryawanTerpilih
JKKar JKKarTerpilih
golonganKar golonganKarTerpilih
suskelKar suskelKarTerpilih
Output(NIKKaryawan, namaKaryawan, JKKar, golonganKar, suskelKar)
Algo04-11 Metode
pengontrolKLKH::setRek(nomorRekTerpilih: string, namaRekTerpilih: string)
{menyimpan data nomor dan nama rekening yang dipilih oleh user, dimana nilai input nomorRekTerpilih dan
namaRekTerpilih berasal dari pilihan dari daftar(datagrid)}
Kamus
nomorRekTerpilih, namaRekTerpilih, nomorRek, namaRek: string
Algoritma
Input(nomorRekTerpilih, namaRekTerpilih)
nomorRek nomorRekTerpilih
namaRek namaRekTerpilih
Algo04-12 Metode
pengontrolKLKH::setSubRek(nomorSubRekTerpilih: string, namaSubRekTerpilih: string)
{menyimpan data nomor dan nama sub rekening yang dipilih oleh user, dimana nilai input nomorSubRekTerpilih dan namaSubRekTerpilih berasal dari pilihan dari
daftar(datagrid)}
Kamus
nomorSubRekTerpilih, namaSubRekTerpilih, nomorSubRek, namaSubRek: string Algoritma Input(nomorSubRekTerpilih, namaSubRekTerpilih) nomorSubRek nomorSubRekTerpilih namaSubRek namaSubRekTerpilih Output(nomorSubRek, namaSubRek) Algo04-13 Metode pengontrolKLKH::hitungUpah(golongan: string) {menghitung upah per jam karyawan}
Kamus
sqlquery, golongan: string
gajipokok, tunjangankhusus, upahperjam: double
Algoritma
Input(golongan)
Sqlquery cari nilai gajipokok, tunjangankhusus dalam
tabel gajipokok yang memenuhi kondisi gol=golongan Jalankan sqlquery
Ambil nilai gajipokok dan tunjangankhusus
Upahperjam ((gajipokok + tunjangankhusus) * 12bulan) /
173harikerjaefektif Output(upahPerJam)
Algo04-14 Metode
pengontrolKLKH::cariHargaBeras() {mencari harga beras yang berlaku}
Kamus
sqlquery: string hargaBeras: double
Algoritma
Input(golongan)
Sqlquery cari nilai hargaBeras dalam database
Jalankan sqlquery Ambil nilai hargaBeras Output(hargaBeras)
Algo04-15 Metode
pengontrolKLKH::hitungCatu(suskelKar: string, hargaBeras: double)
{menghitung catu beras karyawan per hari}
Kamus
suskelKar: string
hargaBeras, jatahBeras, catuBeras: double
Algoritma
Input(suskel)
Ambil substring dari suskel untuk mendapatkan status pekerja apakah janda(J), duda(D), kawin(K), atau lajang(L) dan untuk mendapatkan jumlahAnak
If (status adalah janda atau duda atau lajang) If (anak <= 3)
jatahBeras 15 + (jumlahAnak * 8)
else
jatahBeras 15 + (3 * 8)
else if (status kawin) if (anak <= 3) jatahBeras 15 + 10 + (jumlahAnak * 8) else jatahBeras 15 + 10 + (3 * 8) else jatahBeras 15
catuBeras (jatahBeras * 12 / 173) * hargaBeras
output(catuBeras)
Algo04-16 Metode
pengontrolKLKH::hitungSosialEstimasi(bulan: integer, tahun: integer)
{menghitung biaya sosial estimasi karyawan per hari}
Kamus
sqlquery: string
bulan, tahun, jumlahUSLaki, jumlahUSWanita: integer biayaSosialLaki, biayaSosialWanita: double
Algoritma
Input(bulan,tahun)
Sqlquery cari nilai biayaSosialLaki, biayaSosialWanita,
jumlahUSLaki, jumlahUSWanita dalam tabel sosial yang memenuhi kondisi bulan_buku = bulan dan tahun_buku = tahun
Jalankan sqlquery
Ambil nilai biayaSosialLaki, biayaSosialWanita, jumlahUSLaki, jumlahUSWanita
sosialLakiperHK biayaSosialLaki / jumlahUSLaki
sosialWanitaperHK biayaSosialWanita / jumlahUSWanita
Algo04-17 Metode
pengontrolKLKH::cekJenisLembur(tanggalRek : datetime) {mencari jenis/level hari lembur}
Kamus
Sqlquery, jenisLembur: string tanggalRek: datetime
Algoritma
Input(tanggal)
Sqlquery cari nilai level dalam tabel harilibur yang
memenuhi kondisi tanggal = tanggalRek Jalankan sqlquery
Ambil nilai level If (level = 2)
jenisLembur “libur khusus”
else if (level = 1) if (hari = jumat)
jenisLembur “libur pendek”
else
jenisLembur “libur biasa”
else
jenisLembur “hari biasa”
Algo04-18 Metode
pengontrolKLKH::hitungJamLembur(jenisLembur: string, mulaiLembur: integer, selesaiLembur: integer) {menghitung jumlah jam lembur}
Kamus
jenisLembur: string tanggalRek: datetime
mulaiLembur, selesaiLembur, jangkaWaktu: integer totalJamLembur: double
Algoritma
Input(jenisLembur, mulaiLembur, selesaiLembur) if (jenisLembur = "hari biasa")
if (jangkaWaktu <= 1)
totalJamLembur = (jangkaWaktu * 1.5
else
totalJamLembur= (1 * 1.5)+((jangkaWaktu - 1) * 2) else if (jenisLembur == "libur biasa")
if (jangkaWaktu <= 7) totalJamLembur = (jangkaWaktu * 2) else if (jangkaWaktu <= 8) totalJamLembur = (7 * 2) + (1 * 3) else if (jangkaWaktu >= 10) totalJamLembur= (7 * 2)+ (1 * 3) + (2 * 4) else totalJamLembur= (7 * 2)+ (1 * 3) + (1 * 4) else if (jenisLembur == “libur pendek”)
if (jangkaWaktu <= 5) totalJamLembur = (jangkaWaktu * 2) else if (jangkaWaktu <= 6) totalJamLembur = (5 * 2) + (1 * 3) else if (jangkaWaktu >= 8) totalJamLembur= (5 * 2)+ (1 * 3) + (2 * 4) else totalJamLembur= (5 * 2)+ (1 * 3) + (1 * 4) else if (jenisLembur == “libur khusus")
if (jangkaWaktu <= 7)
totalJamLembur = (jangkaWaktu * 3) else
totalJamLembur= (7 * 3)+ ((jangkaWaktu - 7) * 4) output(totalJamLembur)
Algo04-19 Metode
pengontrolKLKH::hitungLemburPerJam(golonganKar: string, hargaBeras: double)
{menghitung biaya lembur per jam karyawan}
Kamus
Sqlquery, golonganKar: string hargaBeras, lemburPerJam: double
Algoritma
Input(golonganKar,hargaBeras)
Sqlquery cari nilai gajipokok, tunjangankhusus dalam
tabel gajipokok yang memenuhi kondisi golongan= golonganKar
Jalankan sqlquery
Ambil nilai gajipokok dan tunjangankhusus
lemburPerJam (gajipokok + tunjangankhusus + (15 *
hargaBeras))/173 output(lemburPerJam)
Algo04-20 Metode
pengontrolKLKH::hitungLembur(tanggalRek: datetime, mulaiLembur: integer, selesaiLembur: integer, golonganKar: string)
{menghitung biaya lembur karyawan}
Kamus
totalJamLembur, lemburPerJam, lembur, hargaBeras: double jenisLembur, golonganKar: integer
tanggalRek: datetime golonganKar: string
Algoritma
Input(tanggalRek, mulaiLembur, selesaiLembur, golonganKar)
jenisLembur cekJenisLembur(tanggalRek)
totalJamLembur hitungJamLembur(jenisLembur, mulaiLembur,
selesaiLembur)
hargaBeras cariHargaBeras()
lemburPerJam hitungLemburPerJam(golonganKar, hargaBeras)
lembur totalJamLembur * lemburPerJam
Algo04-21 Metode
pengontrolKLKH::hitungDasarPremi(kapasitas: double, basisBorong: double)
{menghitung biaya premi}
Kamus
kapasitas, basisBorong, premi, biayaPremi, biayaperKg: double
Algoritma
Input(kapasitas, basisBorong) If (kapasitas > basisBorong)
premi kapasitas – basisBorong
else premi 0 output(premi) Algo04-22 Metode pengontrolKLKH::hitungBiayaPremi(tahunTanam: integer, kapasitas: double, basisBorong: double)
{menghitung biaya premi}
Kamus
kapasitas, basisBorong, premi, biayaPremi, biayaperKg: double
tahunTanam: integer sqlquery: string
Algoritma
Input(tahunTanam, kapasitas, basisBorong)
Sqlquery cari nilai biayaperKg dan biayaperKgBrondolan
dalam tabel premi_pokok di database untuk data yang memenuhi kondisi tahunTanam
Jalankan sqlquery Ambil nilai biayaperKg
premi hitungDasarPremi(kapasitas,basisBorong)
biayaPremi premi * biayaperKg
Algo04-23 Metode
pengontrolKLKH::hitungBiayaBrondolan(tahunTanam: integer, brondolan: double)
{menghitung biaya brondolan}
Kamus
brondolan, biayaBrondolan, biayaperKgBrondolan: double tahunTanam: integer
sqlquery: string
Algoritma
Input(tahunTanam, brondolan)
Sqlquery cari nilai biayaperKg dan biayaperKgBrondolan
dalam tabel premi_pokok di database untuk data yang memenuhi kondisi tahunTanam
Jalankan sqlquery
Ambil nilai biayaperKgBrondolan
biayaBrondolan brondolan * biayaperKgBrondolan
output(biayaBrondolan)
Algo04-24 Metode
pengontrolKLKH::hitungPremi(tahunTanam: integer, kapasitas: double, basisBorong: double, brondolan: double, denda: double)
{menghitung premi panen}
Kamus
kapasitas, basisBorong, brondolan, denda, premi, biayaPremi, biayaBrondolan, totalPremiDibayar: double
tahunTanam: integer
Algoritma
Input(tahunTanam, kapasitas, basisBorong, brondolan, denda)
biayaPremi hitungBiayaPremi(tahunTanam,kapasitas,
basisBorong)
biayaBrondolan hitungBiayaBrondolan(tahunTanam,brondolan)
totalPremiDibayar biayaPremi + biayaBrondolan - denda
output(totalPremiDibayar)
Algo04-25 Metode
pengontrolKLKH::hitungPremiMandor(premi, brondolan) {menghitung premi mandor panen}
Kamus
premi, brondolan, premiMandor: double
Algoritma
Input(premi, brondolan)
premimtbsMandor premi * 2.10
premiBrondolanMandor brondolan * 5
premiMandor premimtbsMandor + premiBrondolanMandor
Algo04-26 Metode
pengontrolKLKH::inisialisasiId(tanggal: string, Unit: string, Afdeling: string, rekening: string, subRekening: string, blok: string)
{menghasilkan id KLKH}
Kamus
tgl, Unit, Afd, Rek, subRek, blok, idKLKH: string
Algoritma
Input(tgl, Unit, Afd, Rek, subRek, blok) If (blok tidak ada)
idKLKH tgl + "/" + Rek + "/" + subRek + "/" + Unit + "/" + Afd
else
idKLKH tgl + "/" + Rek + "/" + subRek + "/" + Unit + "/" + Afd + "/" + blok
output(idKLKH)
Algo04-27 Metode
pengontrolKLKH::tidakDibayar()
{mengisi nilai upah, catu, dan sosial untuk karyawan yang tidak dibayar}
Kamus
sosialLakiperHK, sosialWanitaperHK, upahperJam, catuBeras : double Algoritma sosialLakiperHK 0 sosialWanitaperHK 0 upahperJam 0 catuBeras 0
output(sosialLakiperHK, sosialWanitaperHK, upahperJam, catuBeras)
Algo04-28 Metode
pengontrolKLKH::setTidakPremi()
{mengisi nilai premi untuk kondisi pekerjaan yang tidak memiliki nilai premi}
Kamus
totalPremiDibayar : double
Algoritma
totalPremiDibayar 0
Algo04-29 Metode
pengontrolKLKH::setTidakLembur()
{mengisi nilai lembur untuk kondisi karyawan tidak lembur}
Kamus lembur : double Algoritma lembur 0 output(lembur) Algo04-30 Metode pengontrolKLKH::getPremi(premiIsian: double)
{mengisi nilai premi untuk kondisi premi bukan panen, dimana premiIsian merupakan nilai yang diisikan user pada isian}
Kamus
totalPremiDibayar, premiIsian : double
Algoritma
Input(premiIsian)
totalPremiDibayar premiIsian
Algo04-31 Metode
pengontrolKLKH::ubahPremiMandor(tanggal: datetime,
nikmandor: string, premi: double, brondolan: double) {menghapus data absen}
Kamus
Sqlquery, nikmandor, idKLKHMandor: string Tanggal: datetime
Premi, brondolan, premiAbsenMandor, premiPengurang,
premiMandorLaki, premiMandorWanita, premiMandorKLKH: double
JKMandor: boolean
Algoritma
sqlquery cari data dalam table absen yang memenuhi
kondisi tanggal= tanggal, rekening= panen, subrek= mandor panen, dan nik= nikmandor
jalankan sqlquery
ambil data premi sebagai premiAbsenMandor ambil data jk sebagai JKMandor
ambil data idKLKH sebagai idKLKHMandor
premiPengurang = hitungPremiMandor(premi,brondolan) premiAbsenMandor = premiAbsenMandor - premiPengurang
sqlquery update data premi=premiAbsenMandor untuk record
yang memenuhi kondisi tanggal= tanggal, rekening= panen, subrek= mandor panen, dan nik= nikmandor pada tabel absenHarian
jalankan sqlquery
sqlquery cari data dalam klkh yang memenuhi kondisi
tanggal=tanggal, id=idKLKHMandor, rekening= panen, dan subrek= mandor
jalankan sqlquery
ambil data premiLaki sebagai premiMandorLaki ambil data premiWanita sebagai premiMandorWanita ambil data premiKLKH sebagai premiMandorKLKH if (JKMandor == true)
premiMandorLaki premiMandorLaki - premiPengurang
else
premiMandorWanita premiMandorWanita - premiPengurang
premiMandorKLKH premiMandorKLKH – premiPengurang
sqlquery update data premiLaki= premiMandorLaki,
premiWanita= premiMandorWanita, premiKLKH=
premiMandorKLKH untuk record yang memenuhi kondisi tanggal= tanggal, rekening= panen, subrek= mandor panen, dan nik= nikmandor pada tabel klkh
Algo04-32 Metode
pengontrolKLKH::simpanPanen(nomorPanen: string, idKLKH: string, blok: string, NIKMandor: string, tahunTanam: integer, kapasitas: double, basisBorong: double, brondolan: double, denda: double, premi: double, biayaPremi: double, biayaBrondolan: double, totalPremiDibayar: double, premiMandor: double, tanggal: datetime)
{mennyimpan data panen}
Kamus
kapasitas, basisBorong, brondolan, denda, premi, biayaPremi, biayaBrondolan, biayaperKg, biayaperKgBrondolan,
totalPremiDibayar, premiMandor, totalPremiMandor, premiAbsenMandor: double
tahunTanam: integer
sqlquery, idKLKH, nomorPanen, blok, NIKMandor: string tanggalRek: datetime
Algoritma
Input(idKLKH, nomorPanen, blok, tahunTanam, kapasitas, basisBorong, brondolan, denda, premi, biayaPremi, biayaBrondolan, biayaperKg, biayaperKgBrondolan, totalPremiDibayar, premiMandor)
Sqlquery insert into panen(idKLKH, nomorPanen, blok,
tahunTanam, kapasitas, basisBorong, brondolan, denda, premi, biayaPremi, biayaBrondolan, biayaperKg,
biayaperKgBrondolan, totalPremiDibayar) Jalankan sqlquery
Sqlquery cari nilai premi, idKLKH, dan jeniskelamin dalam
tabel absen untuk record yang memenuhi kondisi nik = NIKMandor dan tanggal = tanggalRek dan rekening = rekening panen dan sub rekening = mandor panen Jalankan sqlquery
Ambil nilai premi sebagai premiAbsenMandor Ambil nilai idKLKH sebagai idKLKHMAndor Ambil nilai jeniskelamin sebagai jkMandor
premiAbsenMandor premiAbsenMandor + premiMandor
sqlquery update data nilai premi=premiAbsenMandor untuk
record yang memenuhi kondisi nik = NIKMandor pada tabel tabel absenHarian
jalankan sqlquery
Sqlquery cari nilai premiLaki, premiWanita, dan
totalPremi dalam tabel KLKH untuk record yang memenuhi kondisi id = idKLKHMandor dan tanggal = tanggalRek dan rekening = rekening panen dan sub rekening = mandor panen
Jalankan sqlquery
Ambil nilai premiLaki sebagai premiLakiKLKH Ambil nilai premiWanita sebagai premiWanitaKLKH Ambil nilai totalPremi sebagai totalPremiKLKH If (jkMandor == true)
premiLakiKLKH premiLakiKLKH + premiMandor
premiWanitaKLKH premiWanitaKLKH + 0
else
premiWanitaKLKH premiWanitaKLKH + premiMandor
totalPremiKLKH totalPremiKLKH + premiMandor
sqlquery update data premiLaki= premiLakiKLKH,
premiWanita= premiWanitaKLKH, dan totalPremi=
totalPremiKLKH untuk record yang memenuhi kondisi id = idKLKHMandor dan tanggal = tanggalRek dan rekening = rekening panen dan sub rekening = mandor panen pada tabel KLKH
jalankan sqlquery
Algo04-33 Metode
pengontrolKLKH::simpanKLKH(idKLKH: string, JKKar: boolean, unit:string, afdeling: string, blok: string,
tahunTanam: integer, tanggal: datetime, nomorRek: string, nomorSubRek:string, statusKerja: string, upah: double, catuBeras: double, sosial: double, premi:
double, lembur: double, bulan: integer, tahun: integer) {menyimpan data akumulasi dalam KLKH}
Kamus
lembur, upah, sosial, catuBeras, premi: double tahunTanam, bulan, tahun: integer
sqlquery, idKLKH, unit, afdeling, blok, nomorRek, nomorSubRek, statusKerja: string
tanggal: datetime JKKar: boolean
Laki, wanita, s1laki, s1wanita, s1, s1MerahLaki, s1MerahWanita, s1Merah, h1, h2, h2Merah, CTLaki, CTWanita, CT, CPLaki, CPWanita, CP, p1Laki, p1Wanita, p1, p3Laki, p3Wanita, p3, p4Laki, p4Wanita, p4,Mlaki, MWanita, M: integer
catuLaki,catuWanita,catuKLKH, upahLaki, upahWanita, upahKLKH, sosialLaki, sosialWanita, soialKLKH, lemburLaki, lemburWanita, lemburKLKH, premiLaki, premiWanita, premiKLKH: double
Algoritma
Input(idKLKH, JKKar, unit, afdeling, blok, tahunTanam, tanggal, nomorRek, nomorSubRek, statusKerja, upah, catuBeras, sosial, premi, lembur, bulan, tahun)
Sqlquery cari data dalam tabel KLKH yang memenuhi kondisi
id = idKLKH Jalankan sqlquery
If (tidak ditemukan data yang cocok) If (JKKar == true)
If (status kerja == K)
Laki 1
Wanita 0
Else if (status kerja == S1)
S1Laki 1
S1Wanita 0
S1 1
Else if (status kerja == S1Merah)
S1MerahLaki 1
S1MerahWanita 0
Else if (status kerja == CT)
CTLaki 1
CTWanita 0
CT 1
Else if (status kerja == CP)
CPLaki 1
CPWanita 0
CP 1
Else if (status kerja == P1)
P1Laki 1
P1Wanita 0
P1 1
Else if (status kerja == P3)
P3Laki 1
P3Wanita 0
P3 1
Else if (status kerja == P4)
P4Laki 1
P4Wanita 0
P4 1
Else if (status kerja == M)
MLaki 1 MWanita 0 M 1 upahLaki upah upahWanita 0 upahKLKH upah catuLaki catu catuWanita 0 catuKLKH catu sosialLaki sosial sosialWanita 0 sosialKLKH sosial lemburLaki lembur lemburWanita 0 lemburKLKH lembur premiLaki premi premiWanita 0 premiKLKH premi else If (status kerja == K) Laki 0 Wanita 1
Else if (status kerja == S1)
S1Laki 0
S1Wanita 1
S1 1
Else if (status kerja == S1Merah)
S1MerahLaki 0
S1MerahWanita 1
S1Merah 1
Else if (status kerja == CT)
CTLaki 0
CTWanita 1
CT 1
CPLaki 0
CPWanita 1
CP 1
Else if (status kerja == P1)
P1Laki 0
P1Wanita 1
P1 1
Else if (status kerja == P3)
P3Laki 0
P3Wanita 1
P3 1
Else if (status kerja == P4)
P4Laki 0
P4Wanita 1
P4 1
Else if (status kerja == M)
MLaki 0
MWanita 1
M 1
Else if (status kerja == H1) H1 1
Else if (status kerja == H2) H2M 1
Else if (status kerja == H1) H2M 1 upahLaki 0 upahWanita upah upahKLKH upah catuLaki 0 catuWanita catu catuKLKH catu sosialLaki 0 sosialWanita sosial sosialKLKH sosial lemburLaki 0 lemburWanita lembur lemburKLKH lembur premiLaki 0 premiWanita premi premiKLKH premi
sqlquery masukkan data ID, Unit, Afdeling, Tanggal,
nomorRek, nomorSubRek, tahunTanam, Blok,Laki, Wanita, lemburLaki, lemburWanita, lemburKLKH, bulan, tahun, upahLaki, upahWanita, upahKLKH, catuLaki, catuWanita, catuKLKH, S1Laki, S1Wanita, S1, S1MerahLaki, S1MerahWanita, S1Merah, H1, H2, H2Merah, CTLaki, CTWanita, CT, CPLaki, CPWanita, CP, P1Laki, P1Wanita, P1, P3Laki, P3Wanita, P3, P4Laki, P4Wanita, P4, MLaki, MWanita, M,
sosialLaki, sosialWanita, sosialKLKH,
statusestimasi, premiLaki, premiWanita, dan premiKLKH ke dalam tabel klkh
jalankan sqlquery
Else
Sqlquery cari data dalam tabel klkh yang memenuhi
Jalankan sqlquery