示例#1
0
def tambahBarang(Kode_Barang, Nama_Barang, Jumlah_Stock, Harga):
    """Menambah barang
    
    Input :
    Kode_Barang : Kode barang yang akan ditambahkan;
    Nama_Barang : Nama barang yang akan ditambahkan;
    Jumlah_Stock: Jumlah stok barang yang akan ditambahkan;
    Harga : Harga dari barang yang akan dtambahkan;
    
    Output : True bila berhasil menambah barang.
    Jika gagal keluarkan False"""
    
    # Jaga-jaga jika gagal menambah data pada database
    try:
        # Membuat koneksi dengan database
        conn = db.connect()

        # Mennambahkan data pada database
        cmdTambah = f"INSERT INTO barang (Kode_Barang, Nama_Barang,Stok,Harga) VALUES \
                     ('{Kode_Barang}','{Nama_Barang}','{Jumlah_Stock}','{Harga}')"
        conn.execute(cmdTambah)

        # Ambil perubahan jumlah baris
        conn.commit()
        res = conn.total_changes
    except sqlite3.Error as err:
        res = 0
    else: 
        conn.close()
    
    return (res != 0)
示例#2
0
def tambahPengguna(username, password):
    """Menambah pengguna
    
    Username : Nama pengguna yang akan ditambahkan (Pastikan belum ada);
    Password : Kata Sandi pengguna yang akan ditambahkan;
    
    return True bila berhasil menambah pengguna"""
    # Antisipasi error agar tidak keluar dari program
    try:
        # Menyambbung dengan database
        conn = db.connect()

        # Menambah user baru pada database
        cmdTambah = f"INSERT INTO pengguna (Username, Password) VALUES \
                     ('{username}','{password}')"
        conn.execute(cmdTambah)

        # Melihat perubahan jumlah baris pada database
        conn.commit()
        res = conn.total_changes
    except sqlite3.Error as err:
        # Bila terjadi kesalahan, buatlah output False
        res = 0
    else: 
        # Tutup koneksi database
        conn.close()
    
    return (res != 0)
示例#3
0
def editPassword(username, password_lama, password_baru):
    """Mengedit kata sandi pengguna.

    Input:
    Username (string) : Username pengguna yang akan diedit;
    password_lama (string) : Password sebelum diedit;
    password_baru (string) : Password setelah diedit;
    
    return True bila berhasil mengubah password"""
    # Menyambung dengan database
    conn = db.connect()

    # Update password pengguna
    # Jangan terapkan perubahan bila pasangan username dan
    # password lama tidak dditemukan
    cmdEdit = f'UPDATE pengguna SET Password = "******" WHERE'+\
              f' Username="******" and Password="******"'
    conn.execute(cmdEdit)

    # Memeriksa jumlah baris pada database yang berubah.
    conn.commit()
    res = conn.total_changes

    # Tutup koneksi
    conn.close()
    return (res != 0)
示例#4
0
def hapusPengguna(username):
    """Menghapus Pengguna

    Username (string) : Nama pengguna yang akan dihapus;

    return True bila berhasil menghapus pengguna"""
    # Menyambung dengan database
    conn = db.connect()

    # Hapus pengguna dengan username sesuai input
    cmdHapus = f"DELETE FROM pengguna WHERE Username='******'"
    conn.execute(cmdHapus)

    # Memeriksa jumlah baris pada database yang berubah.
    conn.commit()
    res = conn.total_changes

    # Tutup koneksi
    conn.close()
    return (res != 0)
示例#5
0
def hapusBarang(Kode_Barang):
    """Menghapus Barang

    Input:
    Kode_Barang : Kode Barang yang akan dihapus;

    Output : True bila berhasil menghapus barang"""
    # Menyambungkan dengan database
    conn = db.connect()

    # Menghapus data pada database
    cmdHapus = f"DELETE FROM barang WHERE Kode_Barang='{Kode_Barang}'"
    conn.execute(cmdHapus)

    # Memeriksa jumlah baris pada database yang berubah.
    # Simpan perubahan jumlah baris pada res.
    conn.commit()
    res = conn.total_changes

    # Tutup koneksi
    conn.close()
    return (res != 0)
示例#6
0
def lihatPengguna():
    """Mendapatkan semua data pengguna dari database.
    
    Output:
    Fungsi ini mengeluarkan sebuah list yang setiap
    itemnya merupakan list dengan format [username, password]"""
    # Menyambung dengan database
    conn = db.connect()

    # Mengambil data pengguna dari database
    cmdPengguna = "SELECT * FROM pengguna"
    dataPengguna = conn.execute(cmdPengguna)
    res = []

    # Simpan semua data yang diambil pada list res
    for i in dataPengguna:
        res.append(list(i))

    # Tutup koneksi
    conn.close()

    return res
示例#7
0
def lihatBarang():
    """Mendapatkan semua data pengguna dari database
    
    Output: List yang tiap itemnya memiliki pola
    Indeks 0 = Kode Barang
    Indeks 1 = Nama Barang
    Indeks 2 = Stock
    Indeks 3 = Harga"""
    # Meyambungkan ke database
    conn = db.connect()

    # Mengambil data dari database
    cmdPengguna = "SELECT * FROM barang"
    dataPengguna = conn.execute(cmdPengguna)
    res = []

    # Menyimpan hasil dari pengambilan data dalam list
    for i in dataPengguna:
        res.append(list(i))

    # Menutup koneksi
    conn.close()
    return res
示例#8
0
def editBarang(Kode_Barang, Nama_Barang = None,\
               Stock = None, Harga = None):
    """Mengedit data barang.

    Input :
    Kode_Barang : Kode barang yang akan diedit;
    Nama_Barang : Nama barang baru dari barang yang akan diedit (Opsional);
    Stock: Jumlah stok barang yang baru dari barang yang diedit (Opsional);
    Harga : Harga baru dari barang yang akan diedit (Opsional);

    OUTPUT: True bila berhasil mengedit barang"""
    # Membuat koneksi terhadap database
    conn = db.connect()

    # Mengedit data yang dibutuhkan pada database
    cmdEdit = f"UPDATE barang SET "
    cmdList = []
    if Nama_Barang != None:
        cmdList.append(f"Nama_Barang = '{Nama_Barang}'")
    if Stock != None:
        cmdList.append(f"Stok = {Stock}")
    if  Harga != None:
        cmdList.append(f"Harga = {Harga} ")
    
    cmdEdit += ",".join(cmdList) + f" WHERE Kode_Barang = '{Kode_Barang}'"

    conn.execute(cmdEdit)

    # Memeriksa jumlah baris pada database yang berubah.
    # Simpan perubahan jumlah baris pada res.
    conn.commit()
    res = conn.total_changes

    # Tutup koneksi
    conn.close()
    return (res != 0)