Berikut ini adalah pertanyaan dari rifaanajwa9 pada mata pelajaran TI untuk jenjang Sekolah Menengah Atas
(Coding bahasa python)# Program Penghitung Gaji Karyawan
# Digunakan untuk menghitung gaji karyawan berdasarkan jam kerja dan tarif per jam
import sqlite3
# Koneksi ke database
conn = sqlite3.connect('employee_db')
# Membuat tabel karyawan
conn.execute('''CREATE TABLE IF NOT EXISTS EMPLOYEE
(ID INT PRIMARY KEY NOT NULL,
NAME TEXT NOT NULL,
AGE INT NOT NULL,
SALARY REAL NOT NULL);''')
# Fungsi untuk menghitung gaji karyawan
def hitung_gaji(jam_kerja, tarif):
if jam_kerja <= 40:
gaji = jam_kerja * tarif
else:
gaji = (40 * tarif) + ((jam_kerja - 40) * tarif * 1.5)
return gaji
# Fungsi untuk menampilkan daftar karyawan
def tampilkan_karyawan():
cursor = conn.execute("SELECT * from EMPLOYEE")
for row in cursor:
print("ID = ", row[0])
print("NAME = ", row[1])
print("AGE = ", row[2])
print("SALARY = ", row[3])
# Fungsi untuk menambahkan karyawan baru
def tambah_karyawan(id, nama, usia, gaji):
conn.execute("INSERT INTO EMPLOYEE (ID, NAME, AGE, SALARY) \
VALUES (?, ?, ?, ?)", (id, nama, usia, gaji))
conn.commit()
print("Karyawan berhasil ditambahkan")
# Fungsi untuk menghapus karyawan
def hapus_karyawan(id):
conn.execute("DELETE from EMPLOYEE where ID = ?", (id,))
conn.commit()
print("Karyawan berhasil dihapus")
# Interface input dan output
while True:
print("\n========== Menu ==========")
print("1. Tampilkan daftar karyawan")
print("2. Tambah karyawan baru")
print("3. Hapus karyawan")
print("4. Keluar")
pilihan = int(input("Masukkan pilihan Anda: "))
if pilihan == 1:
tampilkan_karyawan()
elif pilihan == 2:
id = int(input("Masukkan ID karyawan: "))
nama = input("Masukkan nama karyawan: ")
usia = int(input("Masukkan usia karyawan: "))
gaji = float(input("Masukkan gaji karyawan: "))
tambah_karyawan(id, nama, usia, gaji)
elif pilihan == 3:
id = int(input("Masukkan ID karyawan yang ingin dihapus: "))
hapus_karyawan(id)
elif pilihan == 4:
break
else:
print("Pilihan tidak valid. Silakan coba lagi.")
Pertanyaan yang bakal ditanyain nanti pas presentasi skema programmer tentang coding ini apa ya oleh penguji!! pleaseee jawab mau setor sekarang.
# Digunakan untuk menghitung gaji karyawan berdasarkan jam kerja dan tarif per jam
import sqlite3
# Koneksi ke database
conn = sqlite3.connect('employee_db')
# Membuat tabel karyawan
conn.execute('''CREATE TABLE IF NOT EXISTS EMPLOYEE
(ID INT PRIMARY KEY NOT NULL,
NAME TEXT NOT NULL,
AGE INT NOT NULL,
SALARY REAL NOT NULL);''')
# Fungsi untuk menghitung gaji karyawan
def hitung_gaji(jam_kerja, tarif):
if jam_kerja <= 40:
gaji = jam_kerja * tarif
else:
gaji = (40 * tarif) + ((jam_kerja - 40) * tarif * 1.5)
return gaji
# Fungsi untuk menampilkan daftar karyawan
def tampilkan_karyawan():
cursor = conn.execute("SELECT * from EMPLOYEE")
for row in cursor:
print("ID = ", row[0])
print("NAME = ", row[1])
print("AGE = ", row[2])
print("SALARY = ", row[3])
# Fungsi untuk menambahkan karyawan baru
def tambah_karyawan(id, nama, usia, gaji):
conn.execute("INSERT INTO EMPLOYEE (ID, NAME, AGE, SALARY) \
VALUES (?, ?, ?, ?)", (id, nama, usia, gaji))
conn.commit()
print("Karyawan berhasil ditambahkan")
# Fungsi untuk menghapus karyawan
def hapus_karyawan(id):
conn.execute("DELETE from EMPLOYEE where ID = ?", (id,))
conn.commit()
print("Karyawan berhasil dihapus")
# Interface input dan output
while True:
print("\n========== Menu ==========")
print("1. Tampilkan daftar karyawan")
print("2. Tambah karyawan baru")
print("3. Hapus karyawan")
print("4. Keluar")
pilihan = int(input("Masukkan pilihan Anda: "))
if pilihan == 1:
tampilkan_karyawan()
elif pilihan == 2:
id = int(input("Masukkan ID karyawan: "))
nama = input("Masukkan nama karyawan: ")
usia = int(input("Masukkan usia karyawan: "))
gaji = float(input("Masukkan gaji karyawan: "))
tambah_karyawan(id, nama, usia, gaji)
elif pilihan == 3:
id = int(input("Masukkan ID karyawan yang ingin dihapus: "))
hapus_karyawan(id)
elif pilihan == 4:
break
else:
print("Pilihan tidak valid. Silakan coba lagi.")
Pertanyaan yang bakal ditanyain nanti pas presentasi skema programmer tentang coding ini apa ya oleh penguji!! pleaseee jawab mau setor sekarang.
Jawaban dan Penjelasan
Berikut ini adalah pilihan jawaban terbaik dari pertanyaan diatas.
Beberapa pertanyaan yang mungkin ditanyakan oleh penguji saat presentasi skema programmer tentang coding ini adalah:
- Apa tujuan dari program ini?
- Apa yang dilakukan oleh fungsi hitung_gaji?
- Apa yang dilakukan oleh fungsi tampilkan_karyawan?
- Bagaimana cara menambahkan karyawan baru pada program ini?
- Bagaimana cara menghapus karyawan pada program ini?
- Apa jenis database yang digunakan pada program ini?
- Bagaimana cara membuat tabel karyawan pada database?
- Apa yang terjadi jika salah satu input tidak valid pada program ini?
- Apa yang dapat dilakukan untuk meningkatkan keamanan dan integritas database pada program ini?
- Apa yang bisa dilakukan untuk meningkatkan performa program ini jika database memiliki jutaan record?
Semoga dengan pertanyaan yang sudah terjawab oleh Pabonbaji dapat membantu memudahkan mengerjakan soal, tugas dan PR sekolah kalian.
Apabila terdapat kesalahan dalam mengerjakan soal, silahkan koreksi jawaban dengan mengirimkan email ke yomemimo.com melalui halaman Contact
Last Update: Fri, 16 Jun 23