Database Pada Python

Posted At: 28 Jun 2020 13:03:00

Setelah mempelajari modul ini diharapkan pembaca memahami konsep database pada bahasa pemrograman Python. Bahasa pemrograman python memiliki kemampuan untuk melakukan manipulasi pada tabel pada sebuah database. Pada modul ini akan digunakan SQLite sebagai databasenya.

Instalasi SQLite dapat di unduh pada website www.sqlite.org, sedangkan untuk perangkat lunak visual untuk pengelolaan database menggunakan SQLite dapat diunduh di sqlitebrowser.org.

Buatlah sebuah database bernama oop_sql.db, kemudian buatlah sebuah tabel dengan nama mahasiswa. Kode SQL untuk membuat tabel tersebut adalah sebagai berikut:

CREATE TABLE IF NOT EXISTS "mahasiswa" (
    "id_mahasiswa"    INTEGER PRIMARY KEY AUTOINCREMENT,
    "nim"    TEXT,
    "nama"    TEXT,
    "uts"    INTEGER,
    "uas"    INTEGER
);
INSERT INTO "mahasiswa" VALUES (1,'190212020','Abdul Jabbar',79,85);
INSERT INTO "mahasiswa" VALUES (2,'190212021','Budiman',86,87);
INSERT INTO "mahasiswa" VALUES (8,'190212022','Cecep Ucup',67,58);
INSERT INTO "mahasiswa" VALUES (9,'190212023','Dodo Hans',94,76);
INSERT INTO "mahasiswa" VALUES (10,'190212024','Endang Kosasih',70,95);
INSERT INTO "mahasiswa" VALUES (15,'190212025','Harjono',54,76);
COMMIT;

Pada kode pogram berikut ini akan menunjukan kode manipulasi data pada tabel pada database.

import sqlite3
import os

conn = sqlite3.connect('oop_sql.db')
c = conn.cursor()


def lihat_data():
    no = 0
    data = c.execute('SELECT * FROM mahasiswa')
    print("Data Mahasiswa")
    print("--------------------------")
    for baris in data:
        no += 1
        print(str(no), baris[1], baris[2], baris[3], baris[4])
    print("--------------------------\n")


def tambah_data():
    lihat_data()
    nim = input("Masukkan NIM: ")
    nama = input("Masukkan Nama: ")
    uts = int(input("Masukkan UTS: "))
    uas = int(input("Masukkan UAS: "))
    data_mahasiswa = [nim, nama, uts, uas]
    c.execute(
        'INSERT INTO mahasiswa(nim,nama,uts,uas) VALUES (?,?,?,?)', data_mahasiswa)
    conn.commit()
    print("\n")


def edit_data():
    lihat_data()
    nim_rubah = input("Rubah Data NIM: ")
    nim = input("Masukkan Nim: ")
    nama = input("Masukkan Nama: ")
    uts = int(input("Masukkan UTS: "))
    uas = int(input("Masukkan UAS: "))
    data_mahasiswa = [nim, nama, uts, uas, nim_rubah]
    c.execute(
        'update mahasiswa set nim = ?,nama = ?,uts = ?,uas = ? where nim = ?', data_mahasiswa)
    conn.commit()
    print("\n")


def hapus_data():
    lihat_data()
    nim_hapus = input("Hapus Data NIM: ")
    data_mahasiswa = [nim_hapus]
    c.execute(
        'delete from mahasiswa where nim = ?', data_mahasiswa)
    conn.commit()
    print("\n")


# os.system('clear')  # For Linux/OS X
os.system('cls'# For Windows
loop = True
while (loop):
    print("Pilih Perintah")
    print("--------------------------")
    print("1. Lihat Data")
    print("2. Tambah Data")
    print("3. Edit Data")
    print("4. Hapus Data")
    print("5. Keluar")
    print("--------------------------\n")
    choice = int(input("Masukkan Pilihan: "))
    # os.system('clear')  # For Linux/OS X
    os.system('cls')  # For Windows
    if(choice == 1):
        lihat_data()
    elif(choice == 2):
        tambah_data()
    elif(choice == 3):
        edit_data()
    elif(choice == 4):
        hapus_data()
    elif(choice == 5):
        loop = False
Yulrio Brianorman
Blogger, pemiliki Onestring Lab, menulis artikel terkait teknologi informasi dan pendidikan. Web Developer, berpengalaman lebih dari 20 tahun mengembangkan berbagai aplikasi dan sistem informasi. Kerjasama : kontak saya.