• Tidak ada hasil yang ditemukan

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

Dokumen terkait