Jumlah_Jam_Kerja/README.md

56 lines
2.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Jumlah_Jam_Kerja
# 🕒 Perhitungan Jumlah Jam Kerja Karyawan
## 📘 Deskripsi Soal
Soal ini berkaitan dengan perhitungan jumlah total jam kerja karyawan dalam satu hari berdasarkan jam masuk dan jam keluar. Sistem perhitungan dibagi menjadi dua kategori: **jam kerja normal** dan **jam lembur**. Jam kerja normal ditetapkan selama maksimal **8 jam**. Jika karyawan bekerja lebih dari 8 jam, maka kelebihannya dianggap sebagai **lembur** dengan perhitungan nilai lembur berdasarkan sistem bobot sebagai berikut:
- Jam lembur pertama: dikalikan **1**
- Jam lembur kedua: dikalikan **2**
- Jam lembur ketiga dan seterusnya: dikalikan **3**
Total jam kerja efektif dalam sehari adalah jumlah dari jam kerja normal (maksimal 8 jam) dan nilai jam lembur yang dihitung berdasarkan aturan di atas.
## 📊 Contoh Soal
### Input:
7 10
10 20
1 10
### Output:
h#1: 3
h#2: 11
h#3: 9
### Penjelasan:
- **7 10** → Total kerja 3 jam → semua jam normal → total = **3**
- **10 20** → Total kerja 10 jam → 8 jam normal + 2 lembur
- Lembur: 1×1 + 1×2 = 3 → total = 8 + 3 = **11**
- **1 10** → Total kerja 9 jam → 8 jam normal + 1 lembur
- Lembur: 1×1 = 1 → total = 8 + 1 = **9**
## 📌 Batasan Soal
- Input terdiri dari dua angka per baris: `jam_masuk` dan `jam_keluar`
- Pemisah antara angka adalah spasi (` `)
- Nilai jam dalam rentang **023**
- `jam_keluar > jam_masuk`
- Tidak ada input invalid (dijamin valid)
- Jumlah entri bisa lebih dari satu baris
## 🧠 Strategi Penyelesaian
1. **Baca dan parsing input** sebagai pasangan `jam_masuk` dan `jam_keluar`.
2. Hitung total jam kerja sebagai `total_jam = jam_keluar - jam_masuk`.
3. Jika `total_jam <= 8`, maka semua dihitung sebagai jam normal.
4. Jika lebih dari 8, maka:
- 8 jam pertama = jam normal
- Sisanya = jam lembur
5. Hitung nilai lembur berdasarkan aturan bobot:
- Jam lembur pertama dikali 1
- Jam lembur kedua dikali 2
- Jam lembur ke-3 dan seterusnya dikali 3
6. Jumlahkan `jam_normal + nilai_lembur` untuk mendapatkan total nilai jam kerja efektif.
7. Ulangi proses untuk setiap baris data.