Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Berikut adalah penyesuaian program Python berdasarkan database yang Anda unggah:
- Struktur Database
- 1. Tabel dosen: Menyimpan data dosen.
- 2. Tabel mata_kuliah: Menyimpan data mata kuliah.
- 3. Tabel dosen_mengampu: Menyimpan data hubungan dosen, mata kuliah, dan tahun akademik.
- Program Python
- import mysql.connector
- from prettytable import PrettyTable
- # Koneksi ke database
- def connect_to_database():
- return mysql.connector.connect(
- host="localhost",
- user="root",
- password="", # Ganti dengan password MySQL Anda
- database="db_uas2023_2024_kls_a"
- )
- # Fungsi untuk mendapatkan data dosen berdasarkan NIDN
- def get_dosen_by_nidn(cursor, nidn):
- cursor.execute("SELECT * FROM dosen WHERE NIDN = %s", (nidn,))
- return cursor.fetchone()
- # Fungsi untuk mendapatkan data mata kuliah berdasarkan kode
- def get_matkul_by_kode(cursor, kode_matkul):
- cursor.execute("SELECT * FROM mata_kuliah WHERE kode_matakuliah = %s", (kode_matkul,))
- return cursor.fetchone()
- # Fungsi untuk menyimpan data dosen mengampu
- def insert_dosen_mengampu(cursor, nidn, kode_matkul, tahun_akademik):
- cursor.execute("""
- INSERT INTO dosen_mengampu (nidn, kode_matakuliah, tahun_akademik)
- VALUES (%s, %s, %s)
- """, (nidn, kode_matkul, tahun_akademik))
- # Fungsi untuk menampilkan data dosen mengampu
- def display_dosen_mengampu(cursor):
- cursor.execute("""
- SELECT
- d.NIDN, d.nama_dosen, mk.kode_matakuliah, mk.nama_matakuliah, dm.tahun_akademik
- FROM
- dosen_mengampu dm
- INNER JOIN dosen d ON dm.nidn = d.NIDN
- INNER JOIN mata_kuliah mk ON dm.kode_matakuliah = mk.kode_matakuliah
- """)
- records = cursor.fetchall()
- table = PrettyTable(["NIDN", "Nama Dosen", "Kode Mata Kuliah", "Nama Mata Kuliah", "Tahun Akademik"])
- for record in records:
- table.add_row(record)
- print(table)
- # Program utama
- def main():
- db = connect_to_database()
- cursor = db.cursor()
- while True:
- print("\n=== Input Data Dosen Mengampu Mata Kuliah ===")
- nidn = input("Masukkan NIDN: ")
- dosen = get_dosen_by_nidn(cursor, nidn)
- if dosen:
- print(f"Identitas Dosen: {dosen}")
- kode_matkul = input("Masukkan Kode Mata Kuliah: ")
- matkul = get_matkul_by_kode(cursor, kode_matkul)
- if matkul:
- print(f"Data Mata Kuliah: {matkul}")
- tahun_akademik = input("Masukkan Tahun Akademik (contoh: 2024/2025): ")
- confirm = input("Simpan data ini? (y/n): ").lower()
- if confirm == 'y':
- insert_dosen_mengampu(cursor, nidn, kode_matkul, tahun_akademik)
- db.commit()
- print("Data berhasil disimpan.")
- else:
- print("Data tidak disimpan.")
- else:
- print("Kode Mata Kuliah tidak ditemukan.")
- else:
- print("NIDN tidak ditemukan.")
- ulang = input("Ingin mengulang input data? (y/n): ").lower()
- if ulang != 'y':
- break
- print("\n=== Data Dosen Mengampu Mata Kuliah ===")
- display_dosen_mengampu(cursor)
- cursor.close()
- db.close()
- if __name__ == "__main__":
- main()
- Langkah-langkah:
- 1. Sesuaikan konfigurasi koneksi database (host, user, password, dan database).
- 2. Jalankan program di terminal/IDE Python.
- 3. Input data sesuai prompt:
- NIDN untuk mengecek dosen.
- Kode Mata Kuliah untuk mengecek mata kuliah.
- Tahun akademik untuk menyimpan data.
- 4. Setelah selesai input, program akan menampilkan data dosen mengampu mata kuliah dalam format tabel.
- Jika ada kebutuhan lain atau kendala, silakan beri tahu!
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement