Anda di halaman 1dari 65

LAPORAN PRAKTIKUM

PEMROGRAMAN KOMPUTER

Disusun Sebagai Salah Satu Syarat Kelulusan Praktikum Pemrograman Komputer Jurusan Teknik
Industri Fakultas Teknik
Universitas Muhammadiyah Surakarta

Disusun oleh:
Kelompok 51

Indra Wijaya Kusuma D600200083


Asna Millatika D600200196

MATERI:
MODUL I : PYTHON DASAR
MODUL II : PYTHON GUI DENGAN PYSIDE2
MODUL III : WEB STATIS DENGAN DJANGO
MODUL IV : WEB DINAMIS DENGAN DJANGO

LABORATORIUM TEKNIK INDUSTRI


FAKULTAS TEKNIK
UNIVERSITAS MUHAMMADIYAH SURAKARTA
2021

i
HALAMAN PENGESAHAN

Laporan Praktikum Pemrograman Komputer ini disusun sebagai syarat kelulusan


Praktikum Pemrograman Komputer Jurusan Teknik Industri Fakultas Teknik
Universitas Muhammadiyah Surakarta

Disusun oleh:
Kelompok 51
Indra Wijaya Kusuma D600200083
Asna Millatika D600200196

Disetujui dan disahkkan pada:


Hari :
Tanggal :

Koordinator Praktikum Asisten

(Aditya Galang Nusantara) (Nabila Salma Amalia)

Mengetahui,

Dosen Pengampu Kepala Laboratorium


Praktikum Pemrograman Komputer Teknik Industri

(Munajat Tri Nugroho, S.T., M.T., Ph.D) (Ir. Hafidh Munawir,S.T.,M.Eng)

ii
COVER SHEET
PRAKTIKUM PEMROGRAMAN KOMPUTER
2021

KELOMPOK : 51
ANGGOTA KELOMPOK :
NAMA NIM
1. INDRA WIJAYA KUSUMA D600200083
2. ASNA MILLATIKA D600200196

Dengan ini Kami menyatakan bahwa pengerjaan Laporan Praktikum


Pemrograman Komputer ini kami buat sendiri dan tidak melakukan
tindakan PLAGIARISM.

Praktikan TTD

INDRA WIJAYA
KUSUMA

ASNA MILLATIKA

Disetujui oleh:

Asisten TTD

NABILA SALMA
AMALIA
MOTTO

“Orang butuh kesabaran dalam menghadapi semua ujian, karena sukses butuh
kesabaran dalam menghadapi semua ujian.”
(Indra Wijaya Kusuma)

“Teruslah melangkah ke depan selagi kita bisa melangkah dan istirahatlah


sebentar ketika kita merasa lelah”
(Asna Millatika)

“Berjuanglah tidak untuk menjadi orang sukses, melainkan untuk menjadi orang
yang berharga”
(Albert Einstein)

"Manusia takkan tau kekuatan maksimalnya sampai ia berada dalam kondisi


dimana ia dipaksa kuat untuk bisa bertahan."
(Merry Riana)

iii
HALAMAN PERSEMBAHAN

Laporan ini penulis persembahkan kepada:


1. Allah SWT.
2. Kedua Orangtua terutama Ibu.
3. Jurusan Teknik Industri Universitas
Muhammadiyah Surakarta.
4. Asisten praktikum Saudari Nabila Salma
Amalia.
5. Teman seperjuangan Teknik Industri
UMS.

iv
KATA PENGANTAR

Assalamualaikum Wr. Wb.

Puji syukur penulis panjatkan atas kehadirat Allah SWT yang telah
melimpahkan berkah, rahmat, serta hidayah-Nya sehingga penulis dapat
menyelesaikan Laporan Praktikum Pemrograman Komputer dengan lancar dan
tepat waktu.
Adapun maksud dan tujuan tugas Laporan Praktikum Pemrograman
Komputer adalah untuk membekali praktikan dengan ilmu terapan pemrograman
komputer saat memasuki dunia kerja nanti.
Dalam penyusunan laporan ini, penulis banyak mendapat bantuan dan
dukungan dari berbagai pihak yang terlibat, oleh karena itu penulis
mengucapkan banyak terima kasih kepada:
1. Bapak Ir. Hafidh Munawir S.T., M.Eng selaku Kepala Laboratorium Teknik
Industri.
2. Bapak Munajat Tri Nugroho, S.T., M.T., Ph.D selaku Dosen Pengampu
Mata Kuliah Praktikum Pemrograman Komputer.
3. Saudari Nabila Salma Amalia selaku Asisten Praktikum yang telah
membimbing dan mengerahkan penulis mulai dari pelaksanaan praktikum
sampai penulisan laporan ini selesai.
4. Semua pihak yang secara langsung atau tidak langsung telah membantu
penulis dalam penyusunan laporan ini.
Besar harapan Laporan Praktikum Pemrograman Komputer ini dapat
bermanfaat bagi penulis khususnya dan bagi semua pihak pada umumnya.
Penulis menyadari bahwa masih terdapat kekurangan dalam penyusunan
laporan ini. Untuk itu penulis secara lapang hati menerima kritik dan saran untuk
kesempurnaan penyusunan laporan selanjutnya.
Wassalamualaikum Wr. Wb.

Surakarta, 26 Juni 2021

Penulis

v
DAFTAR ISI

HALAMAN JUDUL...............................................................................................i
HALAMAN PENGESAHAN................................................................................ii
COVER SHEET
MOTTO..................................................................................................................iii
HALAMAN PERSEMBAHAN...........................................................................iv
KATA PENGANTAR............................................................................................v
DAFTAR ISI..........................................................................................................vi
DAFTAR TABEL...............................................................................................viii
DAFTAR GAMBAR.............................................................................................ix
MODUL I PYTHON DASAR...............................................................................1
1.1 Landsan Teori......................................................................................1
1.1.1 Pengertian Python........................................................................1
1.1.2 Kelebihan dan Kekurangan Python.............................................1
1.1.3 Pengertian Flowchart...................................................................2
1.2 Hasil Praktikum..................................................................................2
1.2.1 Program Input Data dan Kalkulator Sederhana Perusahaan
Mebel Ifurnholic..........................................................................3
1.2.2 Program Pengulangan................................................................13
1.2.3 Program Pengandaian................................................................16
1.3 Penutup..............................................................................................20
1.3.1 Kesimpulan................................................................................20
1.3.2 Saran..........................................................................................20
MODUL II PYTHON GUI DENGAN PYSIDE2..............................................21
2.1 Landasan Teori..................................................................................21
2.1.1 GUI(Graphical User Interface).................................................21
2.1.2 PySide2......................................................................................21
2.2 Hasil Praktikum................................................................................22
2.2.1 Flowchart Program Menu Utama Perusahaan Mebel
Ifurnholic...................................................................................22
2.2.2 Program Login Perusahann Mebel Ifurnholic...........................24
2.2.3 Program Menu Utama Perusahaan Mebel Ifurnholic................26
2.2.4 Program Data Produk Perusahaan Mebel Ifurnholic.................32
2.2.5 Program Data Retailer Perusahaan Mebel Ifurnholic................35
2.2.6 Program Kalkulator Pendapatan Perusahaan Mebel Ifurnholic.39
2.2.7 Program Kalkulator Biaya Distribusi Perusahaan Mebel
Ifurnholic...................................................................................44
2.3 Penutup..............................................................................................48
Kesimpulan..........................................................................................48
Saran....................................................................................................49

vi
MODUL III WEB STATIS DENGAN DJANGO.............................................50
3.1 Landsan Teori....................................................................................50
3.1.1 HTML (Hyper Text Markup Language)....................................50
3.1.2 CSS (Cascading Style Sheet).....................................................50
3.1.3 Django........................................................................................50
3.2 Hasil Praktikum................................................................................50
3.2.1 Halaman Utama.........................................................................50
3.2.2 Halaman Explore Us..................................................................57
3.2.3 Halaman About..........................................................................61
3.2.4 Halaman Contact Us..................................................................73
3.3 Penutup..............................................................................................77
3.3.1 Kesimpulan................................................................................77
3.3.2 Saran..........................................................................................77
MODUL IV WEB DINAMIS DENGAN DJANGO..........................................78
4.1 Landasan Teori.................................................................................78
4.1.1 Database....................................................................................78
4.1.2 XAMPP......................................................................................78
4.1.3 Apache.......................................................................................78
4.1.4 MySQL......................................................................................78
4.2 Hasil Praktikum................................................................................78
4.2.1 PrograM Halaman Tabel Data...................................................78
4.2.2 Halaman Formulir......................................................................82
4.2.3 Script File Django......................................................................86
4.3 Penutup..............................................................................................90
4.3.1 Kesimpulan................................................................................90
4.3.2 Saran..........................................................................................91
DAFTAR PUSTAKA
LAMPIRAN

vii
DAFTAR TABEL

Tabel 1.1 Analisis Script Program Pengulangan....................................................16


Tabel 1.2 Analisis Script Program Pengandaian....................................................19
Tabel 2.1 Analisis Script Program Login Perusahaan Mebel Ifurnholic...............25
Tabel 2.2 Analisis Script Program Menu Utama...................................................31
Tabel 2.3 Analisis Script Program Data Daftar ProdukPerusahaan Mebel
Ifurnholic................................................................................................................34
Tabel 2.4 Analisis Script Program Data Retailer...................................................38
Tabel 2.5 Analisis Script Program Kalkulator Pendapatan Perusahaan Mebel
Ifurnholic................................................................................................................43
Tabel 2.6 Analisis Script Program Kalkulator Biaya Distribusi Perusahaan Mebel
Ifurnholic................................................................................................................47
Tabel 3.1 Analisis Script urls.py Halaman Utama.................................................52
Tabel 3.2 Analisis Script viewss.py Halaman Utama............................................53
Tabel 3.3 Analisis Script HTML Halaman Utama.................................................54
Tabel 3.4 Analisis Script CSS Halaman Utama.....................................................57
Tabel 3.5 Analisis Script HTML Halaman Explore Us.........................................60
Tabel 3.6 Analisis Script CSS Halaman Explore Us.............................................61
Tabel 3.7 Analisis Script HTML Halaman Daftar Produk....................................65
Tabel 3.8 Analisis Script CSS Halaman Daftar Produk.........................................67
Tabel 3.9 Analisis Script HTML Halaman Data Perusahaan.................................70
Tabel 3.10 Analisis Script CSS Halaman Data Perusahaan...................................72
Tabel 3.11 Analisis Script HTML Halaman Contact Us.......................................75
Tabel 3.12 Analisis Script CSS Halaman Contact Us...........................................76
Tabel 4.1 Analisis Script HTML Tabel Data.........................................................81
Tabel 4.2 Analisis Script HTMLFormulir.............................................................84
Tabel 4.3 Analisis Script File Django....................................................................88

viii
DAFTAR GAMBAR

Gambar 1.1 Flowchart Program Penginputan Data di Perusahaan Mebel


Ifurnholic..................................................................................................................4
Gambar 1.2 Hasil Running Program Input Data Perusahaan Mebel Ifurnholic.......5
Gambar 1.3 Hasil Running Program Input Data Perusahaan Mebel Ifurnholic (2). 6
Gambar 1.4 Flowchart Program Kalkulator Sederhana di Perusahaan Mebel
Ifurnholic................................................................................................................10
Gambar 1.5 Hasil Running Program Kalkulator Sederhana Perusahaan Mebel
Ifurnholic................................................................................................................11
Gambar 1.6 Hasil Running Program Kalkulator Sederhana Perusahaan Mebel
Ifurnholic (2)..........................................................................................................11
Gambar 1.7 Hasil Running Program Input Data Perusahaan Mebel Ifurnholic.....14
Gambar 1.8 Hasil Running Program Kalkulator Sederhana Perusahaan Mebel
Ifurnholic................................................................................................................15
Gambar 1.9 Hasil Running Program Input Data Perusahaan Mebel Ifurnholic.....17
Gambar 1.10 Hasil Running Program Kalkulator Sederhana Perusahaan Mebel
Ifurnholic................................................................................................................18
Gambar 2.1 Flowchart Program Menu Utama di Perusahaan Mebel Ifurnholic...22
Gambar 2.2 Hasil Running Program Login............................................................24
Gambar 2.3 Hasil Running Program Menu Utama Perusahaan Mebel Ifurnholic.27
Gambar 2.4 Hasil Running Program Menu Utama Perusahaan Mebel Ifurnholic
(2)...........................................................................................................................27
Gambar 2.5 Hasil Running Program Menu Utama Perusahaan Mebel Ifurnholic
(3)...........................................................................................................................28
Gambar 2.6 Hasil Running Program Menu Utama Perusahaan Mebel Ifurnholic
(4)...........................................................................................................................28
Gambar 2.7 Hasil Running Program Data Daftar ProdukPerusahaan Mebel
Ifurnholic................................................................................................................32
Gambar 2.8 Hasil Running Program Data Daftar Retailer Perusahaan Mebel
Ifurnholic................................................................................................................36
Gambar 2.9 Hasil Running Program Kalkulator Pendapatan Perusahaan Mebel
Ifurnholic................................................................................................................39
Gambar 2.10 Hasil Running Program Data Daftar ProdukPerusahaan Mebel
Ifurnholic................................................................................................................44
Gambar 3.1 Hasil Running Halaman Utama..........................................................51
Gambar 3.2 Hasil Running Halaman Utama (2)....................................................51
Gambar 3.3 Hasil Running Halaman Utama (3)....................................................52
Gambar 3.4 Hasil Running Explore Us..................................................................58
Gambar 3.5 Hasil Running Halaman Daftar Produk..............................................62
Gambar 3.6 Hasil Running Halaman Daftar Produk (2)........................................63

ix
Gambar 3.7 Hasil Running Halaman Data Perusahaan..........................................68
Gambar 3.8 Hasil Running Halaman Contact Us..................................................73
Gambar 3.9 Hasil Running Halaman Contact Us(2)..............................................73
Gambar 4.1 Hasil Running Halaman Tabel Data...................................................79
Gambar 4.2 Hasil Running Halaman Tabel Data (2).............................................79
Gambar 4.3 Hasil Running Halaman Formulir......................................................83

x
MODUL 1
PYTHON DASAR

1.1 Landasan Teori


1.1.1 Pengertian Python
Python adalah salah satu bahasa pemrograman yang dapat melakukan
eksekusi sejumlah instruksi multi guna secara langsung (interpretatif) dengan
metode orientasi objek (Object Oriented Programming) serta menggunakan
semantik dinamis untuk memberikan tingkat keterbacaan syntax. Sebagian lain
mengartikan Python sebagai bahasa yang kemampuan, menggabungkan
kapabilitas, dan sintaksis kode yang sangat jelas, dan juga dilengkapi dengan
fungsionalitas pustaka standar yang besar serta komprehensif. Walaupun Python
tergolong bahasa pemrograman dengan level tinggi, nyatanya Python dirancang
sedemikian rupa agar mudah dipelajari dan dipahami (Bahri & Kusindaryadi,
2020).
1.1.2 Kelebihan dan Kekurangan Python
Meskipun bahasa pemrograman tidak begitu populer, tetapi python memiliki
berbagai kelebihan yang dapat menjadikan sebagian programmer menggunakannya.
Kelebihan-kelebihan tersebut yaitu :
a. Open Source atau gratis
Python merupakan bahasa pemrograman open source atau dapat anda unduh
secara gratis. Bahasa satu ini dikembangkan dibawah lisensi open source yang
disetujui oleh OSI dimana bahasa pemrograman ini bebas digunakan,
dikembangkan, dan di distribusikan, bahkan termasuk tujuan komersial.
b. Mendukung Internet Of Things (IoT) yang baik
Manfaat yang bisa anda dapatkan ketika menggunakan bahasa pemrograman
python salah satunya yaitu mampu mendukung ekosistem Internet Of Things (IoT)
dengan sangat baik, dimana python mampu menghubungkan benda-benda disekitar
lingkungan kita kedalam sebuah jaring-jaring (internet) yang menghubungkan satu
sama lain.
c. Fleksibel
Kode program yang ditulis menggunakan bahasa python dapat dijalankan di
hampir semua sistem operasi seperti Windows, Mac, maupun Linux, termasuk
beberapa perangkat-perangkat seluler. Kode python dapat di integrasikan dengan
aplikasi yang ditulis dalam bahasa pemrograman lain dengan mekanisme tertentu.
Misal, kode python dapat dipanggil dari kode C/C++, dan sama halnya dengan
perkembangan.
d. Memiliki library yang luas dan banyak
Bahasa pemograman python memiliki banyak library yang siap anda gunakan
yang berisi berbagai modul. Didalamnya terdapat berbagai macam kode untuk
digunakan seperti regulas expressions, documentation-generation, unit testing,

1
2

database, CGI, email, dan masih banyak lagi. Sehingga dengan adanya library ini,
anda tidak perlu menulis lagi secara manual.
e. Mampu meningkatkan produktifitas developer
Sebagai bahasa yang mudah digunakan dan dipelajari membuat developer menjadi
lebih produktif, apa lagi disertai dengan library yang luas. Selain itu dengan
bahasa python, anda hanya perlu menulis kode lebih sedikit sehingga anda
mempunyai banyak waktu untuk bisa mengerjakan yang lain (Irfani & Dafid,
2016).
Meskipun bahasa pemrograman python memiliki kelebihan, tetapi python
juga memiliki berbagai kekurangan yang dapat mempertimbangan para
Programmer. Kekurangan-kekurangan tersebut yaitu :
a. Eksekusi relatif lambat
Python merupakan bahasa interpreter yang bekerja dengan menggunakan
kompiler. Dimana ketika dijalankan, python akan bekerja lebih lambat jika
dibandingkan dengan bahasa lain. Tetapi hal ini juga bergantung dari besar dan
kecilnya program yang akan kita buat.
b. Kesulitan jika beralih ke bahasa pemrograman lain
Python memiliki banyak library yang luas sehingga pengguna python terbiasa
dengan fitur yang ada pada library tersebut. Hal ini tentu saja dapat menimbulkan
masalah seperti pengguna mengalami kesulitan ketika belajar maupun beralih ke
bahasa pemrograman yang lain.
c. Kesalahan saat runtime
Python merupakan bahasa pemrograman yang dinamis, dimana anda tidak perlu
mendeklarasikan tipe variabel saat menulis kode. Meskipun ini memudahkan
developer selama pengkodean, namun pastinya dapat meningkatkan terjadinya
kesalahan saat run-time.
d. Efisiensi dan fleksibilitas tradeoff by
Python memberikan flexsibilitas tradeoff by dengan tidak diberikan secara meluas.
Python menyiapkan bahasa pemrograman optimasi untuk kegunaan bersama
dengan perangkat bantu yang dibutuhkan untuk di integrasikan dengan bahasa
pemrograman lain.
e. Tidak cocok untuk aplikasi mobile
Python merupakan bahasa pemrograman yang sangat baik digunakan untuk
platform dekstop dan server namun tidak dalam urusan komputasi aplikasi
mobile. Pengembangan aplikasi dan game kurang cocok jika menggunakan
python (Triasanti, 2000).
1.1.3 Pengertian Flowchart
Flowchart atau Bagan alir yaitu bagan atau bisa juga disebut chart yang
berfungsi menunjukkan alir atau biasa juga disebut flow di dalam suatu program
atau suatu prosedur pada sistem secara logika. Flowchart merupakan suatu bagan
dengan simbol tertentu yang menggambarkan urutan proses secara mendetail dan
hubungan antara suatu proses dengan proses lainnya dalam suatu program.
3

Program Flowchart atau bagan alir merupakan suatu bagan alir yang mirip dengan
bagan alir dalam sistem yaitu berfungsi untuk menjelaskan atau memberi
keterangan tentang prosedur atau suatu langkah – langkah di dalam sebuah system
(Muttaqin, 2014).
Flowchart program seringkali digunakan dalam suatu pemecahan
permasalahan karena lebih mudah dipahami alurnya dari setiap prosedur atau
langkah-langkahnya yang dijelaskan dari awal sampai akhir yang terjadi pada
sistem tersebut. Dalam Perancangan flowchart sebenarnya tidak ada rumus atau
patokan yang bersifat mutlak. Hal ini dikarenakan flowchart merupakan sebuah
gambaran dari hasil pemikiran dalam menganalisa suatu permasalahan dalam
komputer.
1.2 Hasil Praktikum
1.2.1 Program Input Data dan Kalkulator Sederhana Perusahaan Mebel
Ifurnholic
1) Program Input Data Perusahaan Mebel Ifurnholic
Dalam kehidupan banyak dijumpai sebuah program, salah satu contoh
yaitu program input data. Program input data ini berfungsi untuk memasukkan
sebuah data secara manual. Program input data ini biasanya ditemukan di toko-
toko, supermarket, dan di tempat yang menjajakan sebuah barang. Program
tersebut dibuat agar mempermudah seseorang dalam mengetahui berapa harga
barang, berapa banyak barang yang dibeli, stock masih atau tidaknya dan
berapa harga yang harus dibayarkan.
Salah satu program lainnya adalah program penginputan data barang di
perusahaan ifurnholic mebel. Program ini bertujuan untuk mempermudah
seorang customer atau pramuniaga dalam proses menginputkan data barang-
barang yang ready stock serta mengetahui jumlah barang yang masih tersisa
dan mengetahui barang yang dibutuhkan customer itu masih atau tidak dalam
gudang perusahaan tersebut. Program ini berisi tentang data barang-barang
yang berupa nama, jenis dan mengetahui jumlah stock barang di perusahaan.
Program ini juga menggunakan fitur if, else, dan elif yang berfungsi
untuk mengetahui barang yang sedang diproses dan barang yang ready stock.
Selain itu pada program ini juga dapat menghitung jumlah data barang yang
masih ada atau tidak nya. Kemudian program ini juga menggunakan fitur while
dan for sehingga program ini dapat memasukkan data.
4

a. Flowchart Program Input Data Perusahaan Mebel Ifurnholic


Berikut Flowchart Program Input Data Perusahaan Mebel Ifurnholic yang
telah ditampilkan pada Gambar 1.1

MULAI

Masukkan Nama
Penginput,Hari_Tanggal,Jam

zzzzzzzz

Masukkan Data
Barangnya,masukk
an code barangnya

Tampiikan Nama dan code


barangnya

YA
Apakah Ingin Keterangan: Menambah Input
Menambah data (ya/tidak)
barangnya?

TIDAK
Tampilkan Barang Barangnya

Keterangan: Tidak Ready


Apakah tambah
TIDAK stock barang,dan barang
barang ?
ready

YA
Keterangan sisa barang

Tampilkan List nama


Barang
Gambar 1.1 Flowchart Program Penginputan Data di Perusahaan Mebel Ifurnholic
5

Analisis:
Flowchart difungsikan untuk memberikan intruksi atau langkah langkah
awal dalam pembuatan program penginputan data barang diperusahaan
ifurnholic mebel. Dengan adanya flowchart ini memudahkan kita dalam
pembuatan program penginputan data barang diperusahaan mebel. Flowchart
ini berisi langkah-langkah dari perintah mulai, lalu perintah memasukkan
Nama pembeli, jumlah, hari_tanggal, dan jam. Selanjutnya masukkan data
tambahkan barang. Setelah terisi maka akan muncul daftar barang tahap proses
pembuatan. Kemudian akan muncul perintah apakah ingin menambah data?
jika “YA” maka kembali ke langkah memasukkan nama barang yang ingin
ditambahkan, namun jika “-” akan muncul tampilan cek ready stock barang.
Lalu masukkan code data yang akan di cari barangnya, maka akan muncul
jumlah barang yang masih stock dan yang tidak stock. Sesudah ini akan muncul
tampilan catatan barang yang sudah terjual harap di update ulang semua data
nya.
b. Hasil Running Program Input Data Perusahaan Mebel Ifurnholic

Gambar 1.2 Hasil Running Program Input Data Perusahaan Mebel Ifurnholic
6

Gambar 1.3 Hasil Running Program Input Data Perusahaan Mebel Ifurnholic (2)

c. Script Program Input Data Perusahaan Mebel Ifurnholic


print("--------------TUGAS MODUL 1 INPUT DATA BARANG---------------")
print("Nama Anggota : Indra Wijaya Kusuma(D600200083) ")
print(" Asna Millatika(D600200196) ")
print("Asisten : Nabila Salma Amalia ")
print("")

print("============================================================")
print(" - WELCOME TO - ")
print(" iFURNHOLIC MEBEL ")
print(" Tambakrejo, Kec. Waru, Kabupaten Sidoharjo, Jawa Timur")
print(" No.tlp(031)866627 ")
print("============================================================")
print("")
print("")

#Pencatatan Data
Nama_penginput = input("Masukkan Nama Penginput :")
Nama_penginput = input("Masukkan Nama Penginput :")
Jumlah_barang = input("Masukkan Jumlah Barang :")
hari_tanggal = input("Masukkan Hari/Tanggal :")
7

jam = input("Masukkan Waktu Pembelian :")


print("")

#DAFTAR BARANG YANG DI JUAL DAN DIPRODUKSI :


a="============LIST DAFTAR BARANG DAN HARGA BARANG========="
print(a)
print("")

daftar_barang_Mebel = [["Tiffany Home Desk-Ivory Natural"], ["Morgan


Smart Table 140+Cabinet"], ["Sammy Desk 90-Ivory"], ["Thomas Smart
Cabinet-Coffee Barown"],["Meja makan Bryant 130-Gading Alami"],
["Persegi Panjang Meja Melon-Gading"], ["Meja Makan Jasmine 135-Ivory
Brown"], ["Meja Makan Modemica 75-Ivory Brown"],["Eco Vnity sets-
Gading"], ["Set Konsol Mini Desi-Gading"], ["Set Vanity Siya-
Gading"], ["Helsinki Sedentary Console-Ivory Natural"],["Wall TV
Holic 140-Ivory Brown"], ["Klint TV Cabinet 180-Light Nature"],
["Helsinki TV Cabinet 120-Ivory Natural"], ["Klint TV Cabinet 180-
Coffee Brown"], ["Hannah Tea Table-Ivory Brown"], ["Flint Coffe
Table-Ivory"], ["Funkis Tripod 1-Ivory",], ["Zataku Oreashi-Tosca
Natural"]]

def daftar_barang():
#daftar barang
print("|------------------------------------------------------|")
print("|No |Nama Barang| |")
print("|------------------------------------------------------|")
i = 1
for barang in daftar_barang_Mebel:
print("| " + str(i) + " | " + barang[0] + "\t " + " ")
i += 1

#Data BARANG YANG SEDANG TAHAP PRODUKSI :


daftar_barang()
import os
nama_barang = ['','Tiffany Home Desk-Ivory Natural', 'Meja makan
Bryant 130-Gading Alami', 'Eco Vnity sets-Gading','Wall TV Holic
140-Ivory Brown', 'Hannah Tea Table-Ivory Brown','Morgan Smart
Table 140+Cabinet']

total_barang = list()

def data_barang ():


print( "Daftar Barang Yang Masih Tahap Produksi:")
print()
print( "+==============================================+" )
print( "| Kode | Nama |" )
print( "+======|=======================================+" )
print( "| 1 | Tiffany Home Desk-Ivory Natural |" )
print( "| 2 | Meja makan Bryant 130-Gading Alami |" )
print( "| 3 | Eco Vnity sets-Gading |" )
print( "| 4 | Wall TV Holic 140-Ivory Brown |" )
print( "| 5 | Hannah Tea Table-Ivory Brown |" )
print( "| 6 | Morgan Smart Table 140+Cabinet |" )
print( "+==============================================+" )

def barang():
for i in range(len(total_barang)):
print(i+1,'.', total_barang[i])

stp = 'ya'
while (stp.lower() !='tidak') :
os.system('cls')
print()
8

print('='*20)
for i in range(len(total_barang)) :
print(i+1,'.', total_barang[i])
if len(total_barang) == 0 :
print("Daftar Barang masih Tahap Produksi ")
print('='*20)

stp = input("Cek Barang Tahap Produksi(ya/tidak): ")


if (stp == 'ya'):
data_barang()

#PENGECEKAN BARANG SESUAI CODE YANG TELAH DI BUAT :


print("CEK READY STOCK BARANG? MASUKKAN CODE BARANGNYA:")
code=input ( "MASUKKAN CODENYA :")
jikabenar = True
if code =='1':
sisa = 0
elif code =='2':
sisa = 0
elif code =='3':
sisa = 15
elif code =='4':
sisa = 13
elif code =='5':
sisa = 0
elif code =='6':
sisa = 21
elif code =='7':
sisa = 0
elif code =='8':
sisa = 9
elif code =='9':
sisa = 0
elif code =='10':
sisa = 13
elif code =='11':
sisa = 12
elif code =='12':
sisa = 10
elif code =='13':
sisa = 0
elif code =='14':
sisa = 20
elif code =='15':
sisa =19
elif code =='16':
sisa = 9
elif code =='17':
sisa = 0
elif code =='18':
sisa = 18
elif code =='19':
sisa = 10
elif code =='20':
sisa =17
else :
print("Code yang Hanya bisa digunakan --> 1-20 !!")
jikabenar= False

print("SISA BARANGNYA ->", sisa)

#Kartu Debit Yang di Pakai :


print("Kartu DEBIT YANG HANYA BISA GUNAKAN DI iFURNHOLIC
MEBEL:BCA,BNI,MANDIRI,BRI")
9

print("")

print("penginput dengan",Nama_penginput,"-->","jumlah
barang",jumlah_barang,"pada",hari_tanggal,"jam",jam)
print("============================================================")
print("CATATAN BARANG YANG SUDAH TERJUAL HARAP DI UPDATE ULANG SEMUA
DATA NYA”)
print(" -TERIMAKASIH ATAS KUNJUNGAN ANDA DI iFURNHOLIC MEBEL- “)
print(" SEMOGA PUAS DENGAN PELAYANAN KAMI ")
print("============================================================")

2) Program Kalkulator Sederhana Perusahaan Mebel Ifurnholic


Dalam kehidupan sehari-hari banyak sekali ditemukan sebuah program,
salah satu contohnya adalah program kalkulator sederhana. Program kalkulator
sederhana merupakan sebuah program mengenai perhitungan, seperti
penjumlahan, pengurangan, perkalian dan pembagian. Program kalkulator
sederhana biasanya ditemukan di toko, supermarket, dan di tempat yang
menjajakan sebuah barang.
Program ini dibuat untuk mempermudah seseorang dalam mengetahui apa
saja yang dibeli, berapa harga barang, berapa banyak barang yang dibeli, dan
berapa harga yang harus dibayarkan. Program ini bertujuan untuk mempermudah
seorang kasir dalam penghitungan belanjaan seseorang sehingga tidak terjadi
kesalahan, seperti kelebihan dan kekurangan pengembalian. Program kalkulator
sederhana ini meminimalisir kesalahan dalam perhitungan harga barang karena
program sudah terinput pada data harga barang yang ada di perusahaan.
Untuk program kalkulator sederhana ini diimplementasikan sebagai
sebuah kasir yang ada di perusahaan mebel ifurnholic. Dalam program ini juga
menggunakan fitur if, elif, dan else untuk mengetahui ingin tambah suatu barang
atau tidak hanya dengan mengetikkan “y” atau “t”. Selain itu, juga ada fitur while
yang digunakan untuk login nama dan nim.
10

a. Flowchart Program Kalkulator Sederhana Perusahaan Mebel Ifurnholic


Berikut Flowchart Untuk Program Kalkulator Sederhana yang telah
ditampilkan pada Gambar 1.4

Mulai

Masukkan Identitas
(Kelompok, Nama dan NIM)

Start Login (Masukkan Nama


dan NIM)

Masukkan angka barang dan


jumlah barang

Apakah ingin Ya Keterangan :


Menambah Menambah input
barang? barang

Menampilkan Total Pembayaran

Gambar 1.4 Flowchart Program Kalkulator Sederhana di Perusahaan Mebel


Ifurnholic

Analisis :
Flowchart difungsikan untuk memberikan intruksi atau langkah langkah
awal dalam pembuatan program penginputan data barang diperusahaan mebel.
Dengan adanya flowchart ini memudahkan kita dalam pembuatan program
11

kasir sederhana di perusahaan mebel ifurnholic. Flowchart ini berisi langkah


langkah dari perintah mulai, lalu perintah memasukkan identitas, start login
(masukkan nama dan nim). Kemudian masukkan nomor barang dan banyak
barang. Lalu akan muncul perintah apakah ingin menambah barang? jika “y”
maka kembali ke langkah memasukkan nomor barang dan jumlah barang. Jika
tidak maka lanjut ke proses selanjutnya yaitu menampilkan total pembayaran.
b. Hasil Running Program Kalkulator Sederhana Perusahaan Mebel Ifurnholic

Gambar 1.5 Hasil Running Program Kalkulator Sederhana Perusahaan Mebel


Ifurnholic
12

Gambar 1.6 Hasil Running Program Kalkulator Sederhana Perusahaan Mebel


Ifurnholic (2)
c. Script Program Kalkulator Sederhana Perusahaan Mebel Ifurnholic
print(" Identitas ")
print("Kelompok\t\t\t :51 ")
print("Masukkan Nama NIM\t\t : Indra Wijaya Kusuma(D600200083) ")
print("Masukkan Nama NIM\t\t : Asna Millatika (D600200196) ")
print("")

print(" ")
print(" iFURNHOLIC MEBEL ")
print(" City Living iFURNHOLIC, Surabaya, Indonesia ")
print(" 60174 ")
print(" TELP. (031)8666627 ")
print("------------------------------------------------------\n\n\n")

user = {"Nama":"A","NIM":"1"}
login = "gagal"

while login == "gagal":


print("Mau beli furniture? Start Login")
nama = input("Masukan Nama : ")
nim = input("Masukan NIM : ")
if nama == user['Nama'] and nim == user['NIM']:
print("selamat datang "+user['Nama'])
login = "berhasil"
else:
print("Maaf nama yang Anda Masukkan Salah")

total = []

print("------------------------------------------------------------")
print(" iFURNHOLIC ")
print("------------------------------------------------------------")

def daftar_barang():
print( " No | Nama Barang | Harga")
print("--------------------------------------------------------")
print(" 1 | Zataku Oreashi Tosca Natural | 1190000")
print(" 2 | Funkis Tripod 1 Ivory | 790000")
print(" 3 | Flint Coffe Table Ivory | 1890000")
print(" 4 | Hannah Tea Table-Ivory Brown | 1125000" )
print(" 5 | Klint TV Cabinet 180-Coffee Brown | 1950000")
print(" 6 pilihan lain ")
print("--------------------------------------------------------")
kode = int(input("Masukkan angka barang : "))
if kode == 1:
jumlah1 = int(input("Masukkan jumlah barang : "))
total1 = 1190000 * jumlah1
total.append(total1)
tanya()
elif kode == 2:
jumlah2=int(input("Masukkan jumlah barang : "))
total2 = 790000 * jumlah2
total.append(total2)
tanya()
elif kode == 3:
jumlah3 = int(input("Masukkan jumlah barang : ")"))
total3 = 1890000 * jumlah3
total.append(total3)
tanya()
elif kode == 4:
jumlah4 = int(input("Masukkan jumlah barang : "))
13

total4 = 1125000 * jumlah4


total.append(total4)
tanya()
elif kode == 5:
jumlah5 = int(input("Masukkan jumlah barang : "))
total5 = 1950000 * jumlah5
total.append(total5)
tanya()
elif kode == 6:
nama = str(input("Masukan Nama Barang :"))
jumlah6 = int(input("Masukkan jumlah barang : "))
harga6 = int(input( "Masukan Harga Barang :"))
total6 = harga6 * jumlah6
total.append(total6)
tanya()
return

def tanya():
print("\n-------------------------------")
tanya = input("Ingin tambah barang? [y/t] : ")
print( "-------------------------------")
if tanya == "y":
daftar_barang()
elif tanya == "y":
nama = str(input("Masukan Nama Barang :"))
elif tanya == "t":
akhir()
else:
print("Pilihan yang anda masukan salah!")

def akhir():
for harga in total:
print("SubTotal : ", sum(total))
diskon = 0
a = sum(total)
if a > 5000000:
diskon = a * 8/100
elif a > 2000000:
diskon = a * 5/100
elif a > 1500000:
diskon = a * 3/100
elif a > 1000000:
diskon = a * 1/100
else:
diskon = 0
print( "Potongan Harga : ", diskon)
totalakhir = a - diskon
print( "Total : ", totalakhir)
print("-------------------------------")
bayar = int(input( "Bayar : "))
kembalian = bayar - totalakhir
print( "Kembalian : ", kembalian)
print("-------------------------------")
print( " Terima Kasih ")
print( "-------------------------------")

daftar_barang()

1.2.2 Program Pengulangan


Secara umum, python mengeksekusi program baris perbaris. Mulai dari
baris satu, dua dan seterusnya. Ada kalanya kita perlu mengeksekusi satu blok
kode program beberapa kali. Hal ini disebut dengan perulangan atau biasa disebut
looping atau literasi (Dini, 2014).
14

Tujuan dari perintah perulangan digunakan untuk mengulang


pengeksekusian statemen-statemen hingga berkali-kali sesuai dengan iterasi yang
diinginkan. Dalam python, perintah untuk perulangan (loop) adalah while dan for.
Dalam pemrograman python terdapat dua jenis perulangan yaitu
menggunakan “while” dan menggunakan “for”. Kedua jenis perulangan tersebut
kita aplikasikan dalam program input data dan kalkulator sederhana perusahaan
ifurnholic mebel. Saat menggunakan program pengulangan ini terdapat dua situasi
yaitu jika suatu situasi menggambarkan keadaan “TRUE” maka akan kembali ke
langkah program sebelumnya untuk menginput data kembali. Namun sebaliknya
jika suatu situasi menggambarkan keadaan “FALSE” maka kita akan keluar dari
langkah program ini dan melanjutkan ke langkah selanjutnya.
1) Program Input Data Perusahaan Mebel Ifurnholic
a. Hasil Running Program Perusahaan Mebel Ifurnholic

Gambar 1.7 Hasil Running Program Input Data Perusahaan Mebel Ifurnholic

Analisis :
Program pengulangan ini difungsikan untuk mengetahui daftar barang yang
masih tahap produksi. Dalam program ini pada dasarnya “while” digunakan untuk
menambah dalam menginput data daftar barang masih tahap produksi. Sedangkan
“for” digunakan untuk menampilkan total barang yang telah diinput.
b. Script Program Input Data Perusahaan Mebel Ifurnholic
while (stp.lower() !='tidak') :
os.system('cls')
print()
print('='*20)
for i in range(len(total_barang)) :
print(i+1,'.', total_barang[i])
if len(total_barang) == 0 :
print("Daftar Barang masih Tahap Produksi ")
print('='*20)

stp = input("Cek Barang Tahap Produksi(ya/tidak): ")


if (stp == 'ya'):
15

data_barang()
2) Program Kalkulator Sederhana Perusahaan Mebel Ifurholic
a. Hasil Running Program Perusahaan Mebel Ifurnholic

Gambar 1.8 Hasil Running Program Kalkulator Sederhana Perusahaan Mebel


Ifurnholic

Analisis:
Program pengulangan ini difungsikan untuk menginput data login (nama
dan nim). Dan saat kita telah menuliskan pernyataan nama”A” dan nim”1”,
maka kita akan keluar dari program “while” dan melanjutkan ke program
“for”. Dalam program ini pada dasarnya “while” digunakan untuk
mengulang program bagian menginput data login. Sedangkan “for”
digunakan untuk menampilkan data yang telah diinput.
b. Script Program Kalkulator Sederhana Perusahaan Mebel Ifurnholic
while login == "gagal":
print("Mau beli furniture? Start Login")
nama = input("Masukan Nama : ")
nim = input("Masukan NIM : ")
if nama == user['Nama'] and nim == user['NIM']:
print("selamat datang "+user['Nama'])
login = "berhasil"
else:
print("Maaf nama yang Anda Masukkan Salah")

for harga in total:


print("SubTotal : ", sum(total))
diskon = 0
a = sum(total)
if a > 5000000:
diskon = a * 8/100
elif a > 2000000:
diskon = a * 5/100
elif a > 1500000:
diskon = a * 3/100
elif a > 1000000:
diskon = a * 1/100
else:
diskon = 0
print( "Potongan Harga : ", diskon)
totalakhir = a - diskon
print( "Total : ", totalakhir)
print("-------------------------------")
bayar = int(input( "Bayar : "))
kembalian = bayar - totalakhir
print( "Kembalian : ", kembalian)
print("-------------------------------")
print( " Terima Kasih ")
16

print( "-------------------------------")
c. Analisis Script Program Pengulangan
Di dalam program perulangan pastinya ada baris atau blok kode
pemrograman yang akan diulangi. Berikut ini adalah tabel tentang baris atau
blok yang ada di dalam program pengulangan :
Tabel 1.1 Analisis Script Program Pengulangan
Script Keterangan
while(stp.lower() !='tidak'): Digunakan untuk perulangan jika ingin
tambah barang atau tidak
for i in
range(len(total_barang)) : Digunakan untuk perulangan total
barang dengan ketentuan yang telah
diinput.
while login == "gagal":
Digunakan untuk perulangan login
nama dan nim.
for harga in total: Digunakan untuk mendefinisikan
perulangan harga dengan ketentuan
yang telah diinput.

1.2.3 Program Pengandaian


Seperti halnya bahasa pemrograman yang lain, bahasa python juga
memiliki percabangan. Ada tiga macam kondisional di Python yang dapat
digunakan untuk membangun alur logika suatu program. Python
memiliki pernyataan if , if…else , dan if…elif…else.
Tujuan dari perintah pengandaian digunakan untuk pengambilan
keputusan dengan suatu kondisi tertentu. Pengambilan keputusan “if” digunakan
untuk mengantisipasi kondisi yang terjadi saat jalanya program dan menentukan
tindakan apa yang akan diambil sesuai dengan kondisi. Pengambilan keputusan
“if...else” tidak hanya digunakan untuk menentukan tindakan apa yang akan
diambil sesuai dengan kondisi, tetapi juga digunakan untuk menentukan tindakan
apa yang akan diambil jika kondisi tidak sesuai. Pengambilan keputusan “if elif”
merupakan lanjutan/percabangan logika dari “ if".
Dalam program input data “if” digunakan untuk mengambil keputusan
berupa pernyataan “1” mengenai stock barang dan dalam program kalkulator
sederhana digunakan untuk mengambil keputusan berupa pernyataan “y”
mengenai apakah ingin tambah barang atau tidak. Sedangkan pengambilan
keputusan “if elif” merupakan lanjutan dari “if" . Terakhir untuk “else” dalam
program yang kami buat digunakan untuk membuat suatu statement.
17

1) Program Input Data Perusahaan Mebel Ifurnholic


a. Hasil Running Program Perusahaan Mebel Ifurnholic

Gambar 1.9 Hasil Running Program Input Data Perusahaan Mebel Ifurnholic

Analisis:
Program Pengandaian difungsikan sesuai penginputan data yang telah
tersedia. Jika mau cek barang tahap produksi kita akan memilih “ya” maka
akan muncul daftar barang yang masih tahap produksi. Namun, jika kita
memilih “tidak” maka akan muncul cek ready stock barang dengan
memasukkan kodenya. Dan jika kita tidak memilih keduanya, program tidak
program tidak akan merespon.
b. Script Program Input Data Perusahaan Mebel Ifurnholic
#PENGECEKAN BARANG SESUAI CODE YANG TELAH DI BUAT :
print("CEK READY STOCK BARANG? MASUKKAN CODE BARANGNYA:")
code=input ( "MASUKKAN CODENYA :")
jikabenar = True
if code =='1':
sisa = 0
elif code =='2':
sisa = 0
elif code =='3':
sisa = 15
elif code =='4':
sisa = 13
elif code =='5':
sisa = 0
elif code =='6':
sisa = 21
elif code =='7':
sisa = 0
elif code =='8':
sisa = 9
elif code =='9':
sisa = 0
18

elif code =='10':


sisa = 13
elif code =='11':
sisa = 12
elif code =='12':
sisa = 10
elif code =='13':
sisa = 0
elif code =='14':
sisa = 20
elif code =='15':
sisa =19
elif code =='16':
sisa = 9
elif code =='17':
sisa = 0
elif code =='18':
sisa = 18
elif code =='19':
sisa = 10
elif code =='20':
sisa =17
else :
print("Code yang Hanya bisa digunakan --> 1-20 !!")
jikabenar= False
2) Program Kalkulator Sederhana Perusahaan Mebel Ifurnholic
a. Hasil Running Program Perusahaan Mebel Ifurnholic

Gambar 1.10 Hasil Running Program Kalkulator Sederhana Perusahaan


Mebel Ifurnholic

Analisis:
Program Pengandaian difungsikan sesuai penginputan data yang telah
tersedia. Jika kita mau beli barang lagi kita akan memilih “y” maka kita akan
memilih option yang ada di data lagi. Namun, jika kita memilih “t” maka
akan melakukan pembayaran. Dan jika kita tidak memilih keduanya, program
tidak akan merespon.
19

b. Script Program Kalkulator Sederhana Perusahaan Ifurnholic Mebel


def tanya():
print("\n-------------------------------")
tanya = input("Ingin tambah barang? [y/t] : ")
print( "-------------------------------")
if tanya == "y":
daftar_barang()
elif tanya == "y":
nama = str(input("Masukan Nama Barang :"))
elif tanya == "t":
akhir()
else:
print("Pilihan yang anda masukan salah!")
c. Analisis Script Program Pengandaian
Di dalam program pengandaian pastinya ada baris atau blok kode
pemrograman yang akan diambil keputusannya. Berikut ini adalah tabel
tentang baris atau blok yang ada di dalam program pengandaian :
Tabel 1.2 Analisis Script Program Pengandaian
Script Keterangan
if code =='1': Digunakan untuk melakukan
percabangan, yaitu berupa
pernyataan “1” mengenai stock
barang
elif code =='2': Digunakan untuk melakukan
percabangan, yaitu berupa
pernyataan “2” mengenai stock
barang
else : Digunakan untuk membuat
statemen. Dalam program ini
apabila mengisi selain mengisi
angka 1-20 maka akan muncul
statemen bahwa program ini tidak
merespon.
if tanya == "y": Digunakan untuk melakukan
percabangan, yaitu berupa
pernyataan “y” mengenai apakah
ingin tambah barang lagi.
elif tanya == "y": Digunakan untuk mengeksekusi
percabangan, yaitu berupa
pernyataan “y” mengenai apakah
ingin tambah barang lagi.
elif tanya == "t":
Digunakan untuk mengeksekusi
percabangan, yaitu berupa
pernyataan “t” mengenai total yang
harus kita bayar.
else: Digunakan untuk membuat
statemen. Dalam program ini
apabila mengisi selain “y” dan “t”
maka akan muncul statemen bahwa
program inii tidak merespon.
20

1.3 Penutup
1.3.1 Kesimpulan
Setelah melakukan praktikum pemrograman komputer dan membuat
program sederhana sendiri dapat diambil beberapa kesimpulan :
a. Konsep desain pada python sederhana sehingga mudah dipahami.
b. Bahasa pemrogaman python mudah dipahami, sehingga mempermudah dalam
menyelesaikan permasalahan seperti input data.
c. Dalam python terdapat program pengulangan yang berupa “while” dan “for”
digunakan untuk mengulang suatu program .
d. Dalam python terdapat program pengandaian yaitu berupa “if”, “else”, “elif”,
program pengandaian ini akan bekerja sesuai dengan script yang kita buat.
e. Program penginputan adalah program untuk mendata produk mebel.
f. Program kalkulator sederhana adalah program untuk menghitung pembelian
barang di perusahaan mebel ifurnholic.

1.3.2 Saran
Saran untuk kedepannya praktikum pemograman komputer :
a. Untuk Pratikum kedepannya, diharapkan install python terbaru saja, agar
memudahkan pratikan dalam mengunduh versi yang terbaru.
b. Sebaiknya penugasan pada tiap-tiap modul dibagikan lebih awal (sesudah
pengumpulan hasil praktikum) atau tidak terlalu sore supaya praktikan
memiliki waktu lebih banyak.
c. Sebaiknya saat pembagian kelompok di samakan kelasnya agar saat
asistensi bisa ikut semua dan tidak ada yang meninggal kan kelas.
d. Sebaiknya pre test dimulai jam 8 agar tidak ada yang telat mengerjakan.
e. Sebaiknya praktikan menonton video sampai akhir agar lebih memahami
materi.

.
MODUL II
PYTHON GUI DENGAN PYSIDE2

2.3 Landasan Teori


2.3.1 GUI (Graphical User Interface)
GUI (Graphical User Interface) merupakan suatu
hubungan atau batasan umum antara dua unit pada sistem operasi
atau komputer yang menggunakan menu grafis atauberupa
tampilan yang lebih ditekankan untuk membuat sistem operasi
yang user-friendly agar para penggunanya dapat dengan mudah
berinteraksi dengan komputer atau sistem operasi yang
dioperasikan. Sehingga membuat pengguna menjadi nyaman saat
menggunakan komputer atau sistem operasi tersebut. GUI menjadi
salah satu faktor kemudahan dalam menggunakan komputer
(Mustakim et al., 2019).
GUI awalnya tidak sepopuler yang mungkin kita
asumsikan, karena kurangnya perangkat lunak yang kompatibel
saat diluncurkan dan persyaratan perangkat keras yang mahal—
terutama untuk pengguna rumahan. Perlahan, tapi pasti, GUI
antar muka menjadi cara yang disukai untuk berinteraksi dengan
komputer dan metafora WIMP menjadi mapan sebagai standar.
Itu tidak berarti belum ada upaya untuk menggantikan metafora
WIMP di desktop (Mustakim et al., 2019).
2.3.2 PySide2
PySide2 juga dikenal sebagai Qt for Python adalah Python
binding dari Qt toolkit yang saat ini dikembangkan oleh The Qt
Company. Ketika menulis aplikasi menggunakan PySide2 yang
benar-benar dilakukan adalah menulis aplikasi dalam Qt pustaka
PySide2 sederhana. Pembungkus di sekitar pustaka C++ Qt, untuk
memungkinkannya digunakan dengan Python (Aplikasi &
Fitzpatrick, 2020).
Karena ini adalah antarmuka Python ke pustaka C++, konvensi
penamaan yang digunakan dalam PySide2 tidak mematuhi standar
PEP8. Terutama fungsi dan variabel diberi nama menggunakan
mixedCase daripada snake_case. Apakah pengguna mematuhi
standar ini dalam aplikasinya sendiri sepenuhnya terserah pengguna.
Namun pengguna akan merasa terbantu saat mengikuti standar
Python untuk kode sendiri. Untuk membantu memperjelas di mana
kode PySide2 berakhir dan kode pembuat sendiri dimulai (Aplikasi
& Fitzpatrick, 2020).

21
22

2.4 Hasil Praktikum


2.4.1 Flowchart Program Menu Utama Perusahaan Mebel Ifurnholic
Berikut Flowchart Program Menu Utama Perusahaan Mebel Ifurnholic
yang telah ditampilkan pada Gambar 2.1

Gambar 2.1 Flowchart Program Menu Utama Perusahaan Mebel Ifurnholic

Analisis:
Flowchart ini berisi langkah-langkah dari perintah mulai, lalu login. Jika
username dan password yang dimasukkan “benar” maka akan muncul menu
utama. Di dalam menu utama ini ada menu “file” dan “account”. Jika menu file
kita tekan terdapat perintah “logout” dan “exit”. Jika memilih perintah “logout”
akan kembali ke perintah “login”. Namun, jika memilih perintah “exit” akan
keluar.
Selanjutnya jika kita memilih “account” akan muncul perintah “data” dan
“perhitungan”. Jika kita memilih “data” maka akan muncul “daftar retailer” dan
“daftar produk”. Namun, jika kita memilih “perhitungan” maka akan muncul
“biaya distribusi” dan “pendapatan”. Di bagian “data” dan “daftar retailer” ketika
kita memilih “home” maka akan kembali ke menu awal dan kita bisa memilih
“exit”. Begitu juga di bagian “biaya distribusi” dan “pendapatan” ketika telah
selesai menghitung kita bisa tekan tombol “kembali” untuk kembali ke tampilan
“menu utama”. Setelah itu kita bisa pilih “exit” untuk keluar, kemudian ditutup
dengan program selesai.
23

2.4.2 Program Login Perusahann Mebel Ifurnholic


Sistem login merupakan suatu hal yang pasti ditemukan didalam dunia
internet. Saat seseorang melakukan login pastinya akan memasukkan password
dimana password tersebut bersifat privasi dan rahasia. Oleh karena itu, masalah
keamanan menjadi masalah yang sangat penting mengingat internet merupakan
jaringan publik yang saling terhubung dalam suatu jaringan dan akan sangat
berbahaya jika password yang dimasukkan user tersebut tidak dienkripsi sebelum
dikirim ke server melalui jaringan (Marisa Khairina, 2011).
Tujuan dari login yaitu agar sistem atau akun kita aman. Program login
digunakan untuk membatasi akses masuk ke akun pengguna. Hanya pengguna
yang sudah terdaftar yang bisa masuk atau mengakses data di dalamnya.
Login adalah suatu proses untuk masuk ke sebuah layanan yang berisi
nama dan password. Saat ini halaman login bisa dilakukan pada halaman website
ataupun aplikasi. Secara teknis program login ini bisa dilakukan secara variatif.
a. Hasil Running Program Login

Gambar 2.2 Hasil Running Program Login

Analisis:
Program login digunakan untuk masuk ke layanan perusahaan
mebel ifurnholic. Di dalam program login ini berisi username dan
password. Jika username dan password yang dimasukkan benar maka
kita bisa login. Namun jika salah tidak bisa login.
b. Script Program Menu Login Perusahaan Mebel Ifurnholic
import sys
from PySide2.QtGui import*
from PySide2.QtCore import*
from PySide2.QtWidgets import*

class LoginForm(QWidget):
def init (self):
24

QWidget. init (self)


self.setWindowTitle('Login Form')
icon = QIcon('login.png')
self.setWindowIcon(icon)
self.resize(500,120)

layout = QGridLayout()
label_name = QLabel('<font size ="4">Username</font>')
self.lineEdit_username = QLineEdit()
self.lineEdit_username.setPlaceholderText('Please
input your username')
layout.addWidget(label_name,0,0)
layout.addWidget(self.lineEdit_username,0,1)

label_password = QLabel('<font size ="4">password</font>')


self.lineEdit_password = QLineEdit()
self.lineEdit_password.setPlaceholderText('Please
inputyourpassword')
layout.addWidget(label_password,1,0)
layout.addWidget(self.lineEdit_password,1,1)

button_login=QPushButton('Login')
button_login.clicked.connect(self.check_password)
layout.addWidget(button_login,2,0,1,2)
layout.setRowMinimumHeight(2,75)
self.setLayout(layout)

def check_password(self):
msg = QMessageBox()
ifself.lineEdit_username.text()=='IFURNHOLIC'and
self.lineEdit_password.text()=='123':
msg.setText('Success') msg.exec_()
from mainmenu import menu
self.a=menu()
self.a.show()
self.hide()
else :
msg.setText('Incorrect Password')
msg.exec_()

if name ==' main ':


app = QApplication(sys.argv)
form = LoginForm()
form.show()
sys.exit(app.exec_())
c. Analisis Script Program Login Perusahaan Mebel Ifurnholic
Di dalam program login pastinya terdapat baris atau block kode PySide2.
Penjelasan pada script program login perusahaan mebel ifurnholic yang dipakai
dapat dilihat pada tabel 2.1 berikut.
Tabel 2.1 Analisis Script Program Login Perusahaan Mebel Ifurnholic
Script Keterangan
import sys Digunakan untuk import informasi
window
from PySide2.QtCore import* Digunakan untuk import QtCore
from PySide2.QtWidgets Digunakan untuk untuk import
import*
QtWidgets
class LoginForm(QWidget): Digunakan untuk membuat window baru
def init (self): Digunakan untuk menjalankan window
25

Script Keterangan
self.setWindowTitle('Login Digunakan untuk memberi judul window
Form')
dengan nama “Login Form”
Digunakan untuk menampilkan icon
icon = QIcon('login.png')
“login.png”
self.setWindowIcon(icon) Digunakan untuk memberi “icon”
label_name = QLabel('<font Digunakan untuk membuat label dengan
size="4">Username</font>')
tulisan “username”
label_password=QLabel('<font Digunakan untuk membuat label dengan
size ="4">password</font>')
tulisan “password”
button_login=QPushButton('Login') Digunakan untuk membuat tombol
dengan tulisan “login”
button_login.clicked.connect(self Digunakan untuk memanggil proses data
.check_password)
check password ketika diklik

def check_password(self): Digunakan untuk menjalankan layout


“check password”
if name ==' main ': Digunakan untuk menampilkan program
app = QApplication(sys.argv) Digunakan untuk menampilkan aplikasi
yang telah dibuat
form = LoginForm() Digunkan untuk menampilkan kelas
dengan nama “login form”
form.show() Digunkan untuk menampilkan variabel
pada kelas yang telah dibuat
sys.exit(app.exec_()) Digunakan untuk dapat keluar dari
program

2.4.3 Program Menu Utama Perusahaan Mebel Ifurnholic


Menu utama adalah tampilan awal layar ketika sudah berhasil login ke
sebuah program. Di dalamnya ada beberapa fitur yang ditunjukkan. Di dalam fitur
tersebut digunakan untuk memudahkan memantau barang yang keluar masuk.
Yang dapat masuk dalam program ini hanya orang yang memiliki akses username
dan password.
Salah satu tujuan dibuatnya suatu program adalah untuk mempermudah
pekerjaan seseorang. Dalam hal ini, program GUI yang dibuat menggunakan
bantuan PySide2 digunakan untuk mempermudah serta membantu perusahan
dalam mengetahui berbagai data mengenai perusahaan tersebut. Salah satu contoh
program ini adalah Program Perusahaan Mebel Ifurnholic. Dalam program
tersebut dibuat untuk mempermudah Perusahaan Mebel Ifurnholic dalam
mengetahui data perusahaan, seperti halnya data produk, data retailer, pendapatan
yang diperoleh serta proses distribusi yang dibayarkan.
Program menu utama adalah suatu program yang dibuat perusahaan mebel
26

ifurnholic. Program ini hanya dapat diakses oleh pihak perusahaan sehingga tidak
semua orang dapat mengaksesnya. Kemudian di tampilan menu akan muncul 2
tombol yaitu tombol file dan account. Saat tombol tombol file dibuka maka akan
mucul pilihan logout dan exit. Sedangkan saat tombol account dipencet akan
muncul pilihan perhitungan dan data.
a. Hasil Running Program Menu Utama Perusahaan Mebel Ifurnholic

Gambar 2.3 Hasil Running Program Menu Utama Perusahaan


Mebel Ifurnholic

Gambar 2.4 Hasil Running Program Menu Utama Perusahaan


Mebel Ifurnholic(2)
27

Gambar 2.5 Hasil Running Program Menu Utama Perusahaan


Mebel Ifurnholic(3)
28

Gambar 2.6 Hasil Running Program Menu Utama Perusahaan


Mebel Ifurnholic(4)
Analisis :
Program menu utama adalah suatu tampilan awal program yang dibuat
perusahaan mebel ifurnholic. Program ini hanya dapat dilihat oleh pihak
perusahaan setelah login. Sehingga tidak semua orang dapat mengaksesnya.
Kemudian di halaman menu akan muncul 2 tombol yaitu tombol “file” dan
account. Saat tombol file dibuka maka akan mucul pilihan logout dan “exit”.
Sedangkan saat tombol “account akan muncul pilihan “perhitungan” dan “data”.
Selanjutnya jika kita menekan tombol “data” akan muncul “daftar retailer” dan
“daftar produk”. Namun, ketika kita menekan tombol perhitungan akan muncul
“biaya distribusi” dan “pendapatan”.
b. Script Program Menu Utama Perusahaan Mebel Ifurnholic
import sys
from PySide2.QtGui import*
from PySide2.QtCore import*
from PySide2.QtWidgets import*

class menu(QMainWindow):
def init (self):
super(). init ()
self.setWindowTitle('menu utama')
icon=QIcon('menu.png')
self.setWindowIcon(icon)
self.resize(600,400)
frame=self.frameGeometry()
tengah=QDesktopWidget().availableGeometry().center()
frame.moveCenter(tengah)
self.setStyleSheet("backgroundcolor:Gold;" )
self.menu2()

def menu2 (self):


judul=QLabel('<h4><fontcolor =navy>HOME</font></h4>',self)
judul.setFont(QFont('Algerian',8)) judul.move(250,40)

mainmenu=self.menuBar()
filemenu=mainmenu.addMenu("File")
akunmenu=mainmenu.addMenu("Account")

outaction=QAction("Logout",self)
outaction.setShortcut("CTRL+o" )
exitaction=QAction("exit" ,self)
exitaction.setShortcut("CTRL+X" )

hitungaction=QAction(QIcon("kalkulator.png"),"perhitungan",
self)
tabelaction=QAction(QIcon("data.png"), "Data",self)

filemenu.addAction(outaction)
filemenu.addAction(exitaction)
akunmenu.addAction(hitungaction)
akunmenu.addAction(tabelaction)

hitungaction.triggered.connect(self.konten2)
tabelaction.triggered.connect(self.konten1)

outaction.triggered.connect(self.logout)
exitaction.triggered.connect(self.exit_app)
29

def exit_app(self):
self.close()
def logout (self):
from masuk import LoginForm
self.a=LoginForm()
self.a.show()
self.hide()

def konten1 (self):


button1=QPushButton("DaftarProduk",self)
button1.setIcon(QIcon("produk.jpg"))
button1.clicked.connect(self.produk)
button1.resize(160,60)
button1.move(300,230)
button1.show()

button2=QPushButton("Daftar Retailer",self)
button2.setIcon(QIcon("retailer.png"))
button2.clicked.connect(self.retailer) button2.resize(160,60)
button2.move(110,230)
button2.show()

def konten2(self):
button3=QPushButton("pendapatan",self)
button3.setIcon(QIcon("pendapatan.png"))
button3.clicked.connect(self.pendapatan) button3.resize(160,60)
button3.move(300,230)
button3.show()

button4=QPushButton("BiayaDistribusi",self)
button4.setIcon(QIcon("pengiriman.png"))
button4.clicked.connect(self.distribusi) button4.resize(160,60)
button4.move(110,230)
button4.show()

def pendapatan(self):
from pendapatan import pendapatan
self.a=pendapatan()
self.a.show()
self.hide()

def distribusi(self):
from biayadistribusi import distribusi
self.b=distribusi()
self.b.show()
self.hide()

def produk(self):
from produk import produk
self.a=produk()
self.a.show()
self.hide()

def retailer(self):
from retailer import retailer
self.b=retailer()
self.b.show()
self.hide()

if name ==' main ':


app = QApplication(sys.argv)
mainmenu = menu()
mainmenu.show()
sys.exit(app.exec_())
30

c. Analisis Script Program Menu Utama Perusahaan Mebel Ifurnholic


Di dalam program menu utama pastinya terdapat block kode
pemrograman. Penjelasan pada script program menu utama mebel ifurnholic
yang dipakai dapat dilihat pada tabel 2.2 berikut.
Tabel 2.2 Analisis Script Program Menu Utama
Script Keterangan
import sys Digunakan untuk import informasi
from PySide2.QtCore import* Digunakan untuk import QtCore
fromPySide2.QtWidgets import* Digunakan untuk untuk import
QtWidgets
class menu(QMainWindow): Digunakan untuk membuat window baru
def init (self): Digunakan untuk menjalankan window
self.setWindowTitle('menu Digunakan untuk memberi judul window
utama')
dengan nama menu utama
icon=QIcon('menu.png') Digunakan untuk menambah icon
‘menu.png’
self.setWindowIcon(icon) Digunakan untuk memberi icon pada
window
frame=self.frameGeometry() Digunakan untuk mengambil ukuran
frame window
tengah=QDesktopWidget().available Digunakan untuk meletakkan lable
Geometry().center()
geometry di tengah
frame.moveCenter(tengah) Digunakan untuk meletakkan window di
posisi tengah
self.setStyleSheet("backgrou Digunakan untuk mengganti warna
nd-color:Gold;" )
background menjadi emas
judul.setFont(QFont('Algeria Digunakan untuk menentukan jenis font
n',8))
yang digunakan yaitu ALGERIAN dengan
ukuran 8
judul.move(250,40) Digunakan untuk meletakkan tulisan pada
window dengan jarak 250 dari kiri dan 40
dari atas
button1=QPushButton("Daftar Digunakan untuk memanggil proses dalam
Produk",self)
data daftar produk
from pendapatan import Digunakan untuk memanggil proses data
pendapatan
pada kelas pendapatan
app=QApplication(sys.argv) Digunakan untuk menampilkan
aplikasi yang telah dibuat
mainmenu.show() Digunakan untuk menampilkan proses
data dan mengoperasikan data yang ada di
31

dalamnya.
Script Keterangan
sys.exit(app.exec_()) Digunakan untuk dapat keluar dari
program

2.4.4 Program Data Produk Perusahaan Mebel Ifurnholic


Seperti halnya perusahaan lainnya, perusahaan ini juga terdapat berbagai
produk. Dan berbagai produk ini ditampilkan pada program data menu utama.
Daftar ini dapat diakses oleh perusahaan. Oleh karena itu dalam daftar menu ini
terdapat berbagai macam produk mebel, data retailer serta dilengkapi harga jual
dan proses distribusi yang harus dikeluarkan dalam satu kali penjualan. Hal ini
digunakan untuk mempermudah perusahaan dalam melakukan perhitungan
pendapatan bulanan. Dengan demikian perusahaan dapat dengan mudah
mengetahui data-data tentang barang yang dijual perusahaan tersebut.
Tujuan dari program data produk yaitu untuk mengetahui informasi
mengenai produk yang ada di perusahaan mebel ifurnholic. Informasi yang
dimaksud yaitu mengenai nama barang, kode barang, sisa barang dan harga
barang. Program data produk ini dibuat untuk mempermudah perusahaan dalam
melakukan pencarian nama barang dan harga barang.
Program ini akan muncul apabila pada tampilan menu utama tombol data
perusahaan diklik kemudian dilanjutkan memilih tombol daftar produk. Dalam
program ini dilengkapi dengan horizontal scroll dan vertical scroll yang
digunakan untuk mengetahui data tabel yang berada kiri dan kanan. Dalam
program ini juga terdapat tombol home yang berfungsi untuk mengembalikan
tampilan menuju program menu utama.
a. Hasil Running Program Data Produk Perusahaan Mebel Ifurnholic

Gambar 2.7 Hasil Running Program Data Daftar Produk Perusahaan Mebel
Ifurnholic
32

Analisis :
Program daftar produk ini berisi daftar produk mebel di perusahaan
ifurnholic. Selain itu, juga terdapat harga dari produk, jumlah barang, dan sisa
barang perusahaan mebel ifurnholic. Program ini dapat muncul otomatis apabila
menekan tombol “data perusahaan”. Di dalam tampilan program ini juga terdapat
tombol “home” yang apabila ditekan maka dengan otomatis akan kembali pada
tampilan menu utama.
b. Script Program Data Daftar Produk Perusahaan Mebel Ifurnholic
import sys
from PySide2.QtGui import*
from PySide2.QtCore import*
from PySide2.QtWidgets import*

class produk(QWidget):
def init (self):
QWidget. init (self)
self.setWindowTitle("DAFTAR PRODUK")
frame=self.frameGeometry()
tengah=QDesktopWidget().availableGeometry().center()
frame.moveCenter(tengah)
self.resize(500,380)
icon=QIcon('LogoIF.png')
self.setWindowIcon(icon)
retail=QLabel(self)
label=QLabel('<h2>DAFTARPRODUK</h2>',self)
label.setFont(QFont('Algerian,10'))
label.move(190,20)
self.konten()
self.push()

def konten (self):


konten=QTableWidget(self)
konten.setRowCount(15)
konten.setColumnCount(5)
konten.setGeometry(50,75,405,210)
konten.show()
data_produk={'Nama Barang':['Tiffany Home Desk-Ivory
Natural','Morgan Smart Table 140+Cabinet', 'Sammy
Desk 90-Ivory','Thomas Smart Cabinet- Coffee
Brown','Meja Makan Bryant 130-Gading
Alami','Persegi Panjang Meja Melon Gading','Meja
Makan Jasmine 135-Ivory Brown','Eco Vanity sets
Gading', 'Set Konsol Mini Desi Gading','Set
Vanity Siya Gading','Helsinki Sedentary Console-
Ivory Natural','Wall TV Holic 140-Ivory
Brown','Klint TV Cabinet 180-Light
Nature','Helsinki TV Cabinet 120-Light
Nature','Helsinki TV Cabinet 120-Coffee Brown'],
'KodeBarang':
['11','12','13','14','15','16','17','18','19','20
','21','22','23','24','25'],
'JumlahBarang':['100','58','80','70','45','60',
'35','25','80','55','40','85','20','35','18'],
'SisaBarang':
['20','10','12','5','50','35','20','15','25','30'
,'10','70','5','3','2','10'], 'HargaBarang':
['Rp.1.690.000','Rp.2.490.000','Rp.550.000','Rp.69
0.000','Rp.1.490.000','Rp.1.290.000','Rp.1.890.00
0','Rp.1.190.000','Rp.1.990.000','Rp.1.290.000','
33

Rp.2.190.000','Rp.1.290.000','Rp.1.390.000','Rp.1
.950.000','Rp.1.890.000']}
headers=[]
for r,key in enumerate(data_produk.keys()): headers.append(key)
for i,tabel in enumerate(data_produk[key]):
isi=QTableWidgetItem(tabel)
konten.setItem(i,r,isi)
konten.setHorizontalHeaderLabels(headers)
konten.resizeColumnsToContents()
konten.resizeRowsToContents()

def push(self):
back1=QPushButton('HOME',self) back1.setFont(QFont('Arial',10))
back1.setGeometry(190,320,100,30)
back1.clicked.connect(self.kembali)

def kembali(self):
from k51_mainmenu import menu
self.kembali=menu()
self.kembali.show()
self.hide()

if name ==' main ':


app=QApplication(sys.argv)
form=produk()
form.show()
sys.exit()
c. Analisis Script Program Data Daftar Produk Perusahaan Mebel Ifurnholic
Di dalam program menu utama pastinya terdapat block kode
pemrograman. Penjelasan pada script program data daftar produk mebel
ifurnholic yang dipakai dapat dilihat pada tabel 2.3 berikut.
Tabel 2.3 Analisis Script Program Data Daftar Produk Perusahaan Mebel Ifurnholic
Script Keterangan
import sys Digunakan untuk import informasi
from PySide2.QtCore import* Digunakan untuk import QtCore
from PySide2.QtWidgets import* Digunakan untuk import QtWidgets
class produk(QMainWindow): Digunakan untuk membuat window baru
def init (self): Digunakan untuk menjalankan window
self.setWindowTitle('DAFTAR Digunakan untuk memberi judul
PRODUK')
window dengan nama “DAFTAR
PRODUK”
icon = QIcon('produk.png') Digunakan untuk menampilkan icon
“produk.png”
self.setWindowIcon(icon) Digunakan untuk memberi “icon”
if name ==' main ': Digunakan untuk kembali ke menu
utama
headers=[] Digunakan untuk membuat list kosong
For r,key in Digunakan untuk menggabungkan atau
enumerate(data_produk.keys()):
menyatukan objek
form = produk() Digunakan untuk menampilkan kelas
dengan nama “produk”
34

Script Keterangan
form.show() Digunakan untuk menampilkan variabel
sys.exit(app.exec_()) Digunakan untuk dapat keluar dari
program

2.4.5 Program Data Retailer Perusahaan Mebel Ifurnholic


Seperti halnya perusahaan lainnya, perusahaan ini juga terdapat retailer.
Dan retailer ini ditampilkan pada program data menu utama. Daftar ini dapat
diakses oleh perusahaan. Oleh karena itu dalam daftar retailer ini terdapat
berbagai macam produk mebel, data retailer serta dilengkapi harga jual dan
proses distribusi yang harus dikeluarkan dalam satu porsi. Hal ini digunakan
untuk mempermudah perusahaan dalam melakukan perhitungan pendapatan
bulanan. Dengan demikian perusahaan dapat dengan mudah mengetahui tentang
data-data tentang barang yang dijual perusahaan tersebut.
Tujuan dari program retailer yaitu untuk mengetahui informasi mengenai
data retailer yang ada di perusahaan mebel ifurnholic. Informasi yang dimaksud
yaitu mengenai nama retailer, alamat, nomor telepon, umur dan permintaan.
Program retailer ini dibuat untuk mempermudah perusahaan dalam mengirimkan
barangnya ke para retailer.
Program ini akan muncul apabila pada tampilan menu utama tombol data
perusahaan diklik kemudian dilanjutkan memilih tombol daftar retailer. Dalam
program ini dilengkapi dengan horizontal scroll dan vertical scroll yang
digunakan untuk mengetahui data table yang berada di bawah dan kanan. Dalam
program ini juga terdapat tombol kembali yang berfungsi untuk mengembalikan
tampilan menuju program menu utama.
a. Hasil Running Program Data Retailer Perusahaan Mebel Ifurnholic

Gambar 2.8 Hasil Running Program Data Daftar Retailer Perusahaan Mebel
Ifurnholic
35

Analisis:
Program retailer adalah suatu program yang dibuat perusahaan mebel
ifurnholic. Program ini hanya dapat diakses oleh pihak perusahaan. Sehingga
tidak semua orang dapat mengaksesnya. Kemudian saat tombol menu maka akan
muncul 2 tombol yaitu tombol file dan account. Saat tombol file dibuka maka
akan mucul pilihan logout dan exit. Sedangkan saat tombol Account akan muncul
pilihan “perhitungan” dan “data”. Ketika tombol data diklik akan muncul daftar
retailer. Kemudian, muncul daftar retailer perusahaan mebel ifurnholic. Data
tersebut meliputi nama retailer, alamat, nomor telepon, umur dan permintaan.
b. Script Program Data Retailer Perusahaan Mebel Ifurnholic
import sys
from PySide2.QtGui import*
from PySide2.QtCore import*
from PySide2.QtWidgets import*

class retailer(QWidget):
def init (self):
QWidget._init_(self):
self.setWindowTitle("RETAILER")
frame=self.frameGeometry()
tengah=QDesktopWidget().availableGeometry().center()
frame.moveCenter(tengah)
self.resize(500,380)
icon=QIcon('retailer.png')
self.setWindowIcon(icon)
retail=QLabel(self)
label=QLabel('<h2>RETAILER</h2>',self)
label.setFont(QFont('Algerian,10'))
label.move(190,20)
self.konten()
self.push()

def konten (self):


konten=QTableWidget(self)
konten.setRowCount(15)
konten.setColumnCount(5)
konten.setGeometry(50,75,405,210)
konten.show()
data_retailer={'NamaRetailer':
['Ahmad','Dono','Agung','Adam','Abian',’Aditya'
,'Aciel','Adelio','Brian','Alfred','Zelina','Aq
illa','Safira','Vinola','Salsa] ‘Alamat':
['Banyumas','Sukoharjo','Brebes','Batang','Cila
cap','Demak','Kendal','Klaten','Magelang'Jepara
''Pekalongan','Semarang','Wonogiri','Pati','Kud
us'], 'NoTelp.':
['08123456789','089765432100','087689564123','0
88234156704','085234096129','0821342567297','08
1206849354','089435206548','085483020452',','08
2341560783'08943532759'089435273921','088432683
814','081385630576','08543297341],
'Umur':
['30','45','55','30','45','38','27','34','29','
37','40','55','29','31','24'],
'Permintaan(Set)':
['15','20','9','15','50','23','26','18','12','7
','10','23','43','17','32']}
headers=[]
36

for r,key in enumerate(data_retailer.keys()):


headers.append(key)
for i,tabel in enumerate(data_retailer[key]):
isi=QTableWidgetItem(tabel)
konten.setItem(i,r,isi)
konten.setHorizontalHeaderLabels(headers)
konten.resizeColumnsToContents()
konten.resizeRowsToContents()

def push(self):
back1=QPushButton('HOME',self)
back1.setFont(QFont('Arial',10))
back1.setGeometry(190,320,100,30)
back1.clicked.connect(self.kembali)

def kembali(self):
from mainmenu import menu
self.kembali=menu()
self.kembali.show()
self.hide()

if name ==' main ':


app=QApplication(sys.argv)
form=retailer()
form.show()
sys.exit()
c. Analisis Script Program Data Retailer Perusahaan Mebel Ifurnholic
Di dalam program data retailer pastinya terdapat block kode
pemrograman. Penjelasan script program data retailer perusahaan mebel
ifurnholic yang dipakai dapat dilihat pada tabel 2.4 berikut.
Tabel 2.4 Analisis Script Program Data Retailer
Script Keterangan
import sys Digunakan untuk mengimport
informasi kepada pengguna.
from PySide2.QtGui import* Digunakan untuk mengimport dari
GUI ke beberapa kontrol lain pada
aplikasi PySide.
from PySide2.QtCore import* Digunakan untuk mengimport dari
QtCore ke beberapa sistem kontrol lain
pada PySide.
fromPySide2.QtWidgetsimport* Digunakan untuk mengimport dari
QtWidgets ke beberapa kontrol lain
pada PySide.
class menu(QMainWindow): Digunakan untuk memanajemen layout
pada pyside, serta membuat kelas
dengan daftar menu baru
def init (self): Digunakan untuk menginisiasi layout
dalam program
class retailer(QWidget): Digunakan untuk memanajemen layout
pada PySide serta membuat kelas
dengan nama retailer
37

Script Keterangan
frame=self.frameGeometry() Digunakan untuk mengambil ukuran
frame window

tengah=QDesktopWidget().available Digunakan untuk meletakkan


Geometry().center()
window pada posisi tengah
self.resize(500,380) Digunakan untuk memberi ukuran
window , panjang 500 dan tinggi 380
icon=QIcon('retailer.png') Digunakan untuk menampilkan icon
retailer
self.setWindowIcon(icon) Digunakan untuk menampilkan
window icon
retail=QLabel(self) Digunakan untuk menampilkan Qlabel
label=QLabel('<h2>RETAILER</h2>', Digunakan untuk mencetak label
self)
RETAILER pada tampilan
label.setFont(QFont('Algerian,10' Digunakan untuk mengatur jenis font
))

data_retailer= Digunakan untuk menampilkan data


retailer
sys.exit() Digunakan untuk keluar program

2.4.6 Program Kalkulator Pendapatan Perusahaan Mebel Ifurnholic


Dalam sebuah perusahaan pasti memperoleh pendapatan agar perusahaan
tersebut dapat tetap beropreasional. Dengan demikian program ini dibuat untuk
mempermudah perusahaan dalam menghitung pendapatan yang diperoleh atau
keutungan yang diperoleh setiap bulan. Sehingga perusahaan dapat dengan mudah
mengetahui keuntungan yang diperoleh pada setiap bulannya. Untuk
memunculkan program ini dapat dilakukan dengan mengeklik tombol hitung .
Tujuan dibuatnya suatu program kalkulator adalah untuk mempermudah
pekerjaan seseorang. Dalam hal ini, program kalkulator pendapatan yang dibuat
menggunakan bantuan PySide2 digunakan untuk mempermudah serta membantu
perusahan dalam mengetahui pendapatan tersebut. Salah satu contoh program ini
adalah Program Perusahaan Mebel Ifurnholic. Dalam program tersebut dibuat
untuk mendapatakan keutungan dari penjualan di perusahaan mebel ifurnholic.
Dalam program ini terdapat beberapa kolom yang harus diisi terlebih
dahulu untuk dapat memunculkan pendapatan bulanan yang diperoleh. Selain itu
juga terdapat beberapa tombol antara lain tombol hitung yang berfungsi untuk
menampilkan perhitungan hasil pendapatan bulanan, kemudian juga terdapat
tombol hapus yang digunakan untuk menghapus data yang telah dimasukkan pada
kolom. Selain itu juga terdapat tombol kembali yang berfungsi untuk Kembali ke
tampilan awal yaitu program menu utama.
38

a. Hasil Running Program Kalkulator Pendapatan Perusahaan Mebel Ifurnholic

Gambar 2.8 Hasil Running Program Kalkulator Pendapatan Perusahaan Mebel


Ifurnholic

Analisis :
Program kalkulator pendapatan perusahaan mebel ifurnholic ini dapat
muncul secara otomatis apabila menekan tombol “perhitungan” pada menu utama,
kemudian memilih “pendapatan”. Dalam program ini berisi tentang pendapatan
perusahaan mebel ifurnholic yang mana jika memilih jenis produk maka akan
muncul harganya secara otomatis. Kemudian, hanya memilih berapa jumlah
pembelian barang. Jika barangnya mempunyai diskon, kita bisa memasukkan
diskonnya. Pendapatan yang diperoleh perusahaan mebel ifurnholic akan dihitung
hanya dengan menekan tombol “hitung”. Selain itu, juga terdapat tombol “hapus”
yang bila mana ditekan data yang telah dimasukkan akan terhapus. Serta terdapat
tombol “kembali” yang apabila ditekan akan otomatis kembali pada tampilan
menu utama.
b. Script Program Kalkulator Pendapatan Perusahaan Mebel Ifurnholic
import sys
from PySide2.QtGui import*
from PySide2.QtCore import*
from PySide2.QtWidgets import*

class pendapatan(QWidget):
def init (self):
QWidget. init (self)
39

self.setWindowTitle('pendapatan') frame=self.frameGeometry()
Tengah=QDesktopWidget().availableGeometry().center()
frame.moveCenter(Tengah)
self.resize(500,340)
icon=QIcon('pendapatan.png')
self.setWindowIcon(icon)
self.data()
self.data2()
self.data3()
self.layout()

def data(self):
self.tanggal = QLabel('Tanggal :',self)
self.produk = QLabel('Jenis Produk :',self)
self.harga = QLabel('Harga :',self)
self.pembelian = QLabel('Jumlah Pembelian :',self)
self.diskon = QLabel('Diskon :',self)
self.total = QLabel('Harga Barang :',self)
self.pendapatan = QLabel('Pendapatan :',self)
self.keuntungan = QLabel('Keuntungan :',self)

def data2(self):
self.line1 = QDateEdit(self) self.line2 = QComboBox(self)
self.line2.addItems(['','Tiffany Home Desk-Ivory
Natural','Morgan Smart Table 140+Cabinet','Sammy Desk 90-
Ivory','Thomas Smart Cabinet-Coffee Brown', 'Meja Makan Bryant
130-Gading Alami','Persegi Panjang Meja Melon- Gading'Meja
Makan Jasmine 135-Ivory Brown','Eco Vanity sets- Gading','Set
Konsol Mini Desi-Gading','Set Vanity SiyaGad'Helsinki
Sedentary Console-Ivory Natural','Wall TV Holic 140-Ivory
Brown', 'Klint TV Cabinet 180-Light Nature','Helsinki TV
Cabinet 120-Light Nature','Helsinki TV Cabinet 120-Coffee
Brown'])
self.line2.activated[str].connect(self.proses1)
self.line3 = QLineEdit(self)
self.line4 = QSpinBox(self)
self.line5 = QLineEdit(self)
self.line6 = QLineEdit(self)
self.line6.setReadOnly(True)
self.line7 = QLineEdit(self)
self.line7.setReadOnly(True)
self.line8 = QLineEdit(self)
self.line8.setReadOnly(True)

def data3(self):
self.hitung=QPushButton('Hitung',self)
self.hitung.clicked.connect(self.proses2)
self.hps=QPushButton('Hapus',self)
self.hps.clicked.connect(self.hapus)
self.back=QPushButton('Kembali',self)
self.back.clicked.connect(self.kembali)

def layout (self):


self.layout = QFormLayout()
self.layout.addRow(self.tanggal,self.line1)
self.layout.addRow(self.produk,self.line2)
self.layout.addRow(self.harga,self.line3)
self.layout.addRow(self.pembelian,self.line4)
self.layout.addRow(self.diskon,self.line5)
self.layout.addRow(self.total,self.line6)
self.layout.addRow(self.pendapatan,self.line7)
self.layout.addRow(self.keuntungan,self.line8)
self.layout.addRow(self.hitung)
self.layout.addRow(self.hps)
self.layout.addRow(self.back)
40

self.setLayout(self.layout)

def proses1(self,hrg_unit):
try:
if str(hrg_unit)=='Tiffany Home Desk-Ivory Natural':
a=1690000
elif str(hrg_unit)=='Morgan Smart Table 140+Cabinet':
a=2490000
elif str(hrg_unit)=='Sammy Desk 90-Ivory':
a=550000
elif str(hrg_unit)=='Thomas Smart Cabinet-Coffee Brown':
a=690000
elif str(hrg_unit)=='Meja Makan Bryant 130-Gading Alami':
a=1490000
elif str(hrg_unit)=='Persegi Panjang Meja Melon-Gading':
a=1290000
elif str(hrg_unit)=='Meja Makan Jasmine 135 Ivory Brown':
a=1890000
elif str(hrg_unit)=='Eco Vanity sets-Gading':
a=1190000
elif str(hrg_unit)=='Set Konsol Mini Desi-Gading':
a=1990000
elif str(hrg_unit)=='Set Vanity Siya Gading':
a=1290000
elif str(hrg_unit)=='Helsinki Sedentary Console-Ivory
Natural’:
a=2190000
elif str(hrg_unit)=='Wall TV Holic 140-Ivory Brown':
a=1290000
elif str(hrg_unit)=='Klint TV Cabinet 180-Light Nature':
a=1390000
elif str(hrg_unit)=='Helsinki TV Cabinet 120-Light Nature’:
a=1950000
elif str(hrg_unit)=='Helsinki TV Cabinet 120-Coffee Brown’:
a=1890000
else:
a=0
self.line3.setText(str(a))
except:
print('False')

def proses2(self):
hrg_unit=float(self.line3.text())
pembelian=float(self.line4.text())
pendapatan=float(self.line4.text())
diskon=float(self.line5.text())
barang=hrg_unit*pembelian
self.line6.setText(str(barang)) pendapatan=barang+
((diskon/100)*barang) self.line7.setText(str(pendapatan))
keuntungan=pendapatan-barang
self.line8.setText(str(keuntungan))

def hapus(self):
pesan = QMessageBox.question(self,'PERINGATAN',"Apakah
yakin ingin menghapus",
QMessageBox.Yes | QMessageBox.No)
if pesan == QMessageBox.Yes:
from k51_pendapatan import pendapatan
self.a = pendapatan()
self.a.show()
self.hide()
if pesan == QMessageBox.No:
pass

def kembali(self):
41

from mainmenu import menu


self.b = menu()
self.b.show()
self.hide()

if name ==' main ':


app = QApplication(sys.argv)
ex = pendapatan()
ex.show()
sys.exit(app.exec_())
c. Analisis Script Program Kalkulator Pendapatan Perusahaan Mebel Ifurnholic
Di dalam program Kalkulator pendapatan pastinya terdapat baris
pemograman. Penjelasan script program kalkulator pendapatan perusahaan mebel
ifurnholic yang dipakai dapat dilihat pada tabel 2.5 berikut.
Tabel 2.5 Analisis Script Program Kalkulator Pendapatan Perusahaan Mebel
Ifurnholic
Script Keterangan
Frame=self.frameGeometry() Digunakan untuk mengambil
ukuran frame window.
Tengah=QDesktopWidget().availableGeom Digunakan untuk meletakkan
etry().center()
window diposisi tengah.
frame.moveCenter(Tengah) Digunakan untuk meletakkan
window diposisi tengah.

selft.resize(400,250) Digunakan untuk memberi ukuran


tampilan
icon=QIcon('logo.png') Digunakan untuk memberi logo
pada window dengan file yang telah
diberi nama “logo.png”.
self.setWindowIcon(icon) Digunakan untuk menampilkan
logo pada tampilan.
self.isi1()
Digunakan untuk memanggil proses
data yang tersimpan di ‘menu’.
def isi1(self): Digunakan untuk memanggil proses
data yang tersimpan di ‘Menu’

self.barang=QLabel('Jenis Digunakan untuk membuat label


barang:',self)
dengan tulisan ‘Jenis produk’
if str(hrg_unit)=='TiffanyHome Digunakan untuk menampilkan
Desk-Ivory Natural':
a=1690000 harga barang pada tampilan

elif str(hrg_unit)=='Morgan Smart Digunakan untuk menampilkan


Table 140+Cabinet': harga barang
a=2490000
hrg_unit=float(self.line3.text()) Digunakan untuk menampung angka
pada baris ketiga yaitu mengenai
42

harga barang

Script Keterangan
def hapus(self): Digunakan untuk memanggil fungsi
hapus
self.line8.setText(str(keuntungan)) Digunakan untuk menghitung
keuntungan
if pesan == QMessageBox.Yes: Digunakan untuk memunculkan
pesan teks
from pendapatan import pendapatan Digunakan untuk mengimport
pendapatan
app = QApplication(sys.argv) Digunakan untuk menampilkan
aplikasi
ex = pendapatan() Digunakan untuk menampilkan
pendapatan

2.4.7 Program Kalkulator Biaya Distribusi Perusahaan Mebel Ifurnholic


Dalam sebuah perusahaan pasti memiliki kalkulator Biaya Distribusi agar
perusahaan tersebut dapat mengetahui biayanya dengan tepat. Dengan demikian
program ini dibuat untuk mempermudah perusahaan dalam menghitung biaya
distribusi yang diperoleh setiap mendapatkan pesanan. Sehingga perusahaan dapat
dengan mudah mengetahui berapa biayanya yang mendistribusikannya.
Tujuan program ini dibuat untuk mempermudah perusahaan dalam
menghitung biaya distribusi. Sehingga perusahaan dapat dengan mudah
mengetahui berapa biaya distribusi yang harus dibayarkan. Untuk memunculkan
program ini dapat dilakukan dengan cara yaitu mengklik tombol perhitungan
perusahaan yang terdapat pada program menu utama, kemudian memilih tombol
pada biaya distribusi.
Untuk memunculkan program ini dapat dilakukan dengan menekan tombol
kalkulator perusahaan pada program menu utama, kemudian pilih Biaya
distribusi.Dalam program ini terdapat beberapa kolom yang harus diisi terlebih
dahulu untuk dapat memunculkan biaya pendistribusian. Program kalkulator biaya
distribusi ini dapat muncul secara otomatis apabila menekan tombol ‘kalkulator’
pada menu utama, kemudian memilih ‘biaya distribusi’. Dalam program ini berisi
tentang tanggal kemudian nama retailer, alamat, lalu jumlah permintaan. Dalam
program ini juga untuk menghitung total biayanya. Total biaya ini dapat diklik
tombol hitung. Selain itu juga terdapat tombol ‘hapus’ yang bila mana ditekan
data yang telah dimasukkan akan terhapus. Serta terdapat tombol ‘Kembali’ yang
apabila ditekan akan otomatis Kembali pada tampilan menu utama.
43

a. Hasil Running Program Kalkulator Biaya Distribusi Perusahaan Mebel

Gambar 2.9 Hasil Running Program Data Daftar Produk Perusahaan Mebel
Ifurnholic

Analisis:
Program kalkulator Daftar produk ini dapat muncul secara otomatis
apabila menekan tombol ‘perhitungan ’ pada menu utama, kemudian memilih
‘Distribusi’. Dalam program ini berisi tentang tanggal,nama
retailer,alamat,jumalah ongkir,total biaya yang mana jika kita memilih alamat
maka akan nama tempat . Dalam program ini juga digunakan untuk menghitung
total biaya yang dihitung apabila daerah sudah ada . Total biaya yang diperoleh
akan dihitung atau akan muncul otomatis apabila menekan tombol ‘hitung’. Selain
itu juga terdapat tombol ‘hapus’ yang bila mana ditekan data yang telah
dimasukkan akan terhapus bila memilih ‘kembali’ yang apabila ditekan akan
otomatis Kembali pada tampilan menu utama.
a. Script Program Kalkulator Biaya Distribusi Perusahaan Mebel Ifurnholic
import sys
from PySide2.QtGui import*
from PySide2.QtCore import*
from PySide2.QtWidgets import*

class distribusi(QWidget):
def init (self):
QWidget. init (self)
self.setWindowTitle('distribusi') frame=self.frameGeometry()
Tengah=QDesktopWidget().availableGeometry().center()
frame.moveCenter(Tengah)
self.resize(500,340) icon=QIcon('pengiriman.png')
self.setWindowIcon(icon)
self.data()
self.data2()
self.data3()
self.layout()

def data(self):
self.tanggal = QLabel('Tanggal :',self)
self.retailer = QLabel('Nama Retailer :',self) self.alamat =
QLabel('Alamat :',self)
self.permintaan = QLabel('Jumlah Permintaan :',self)
self.ongkir = QLabel('Ongkir :',self)
self.total = QLabel('Total Biaya :',self)
44

def data2(self):
self.line1 = QDateEdit(self)
self.line2 = QLineEdit(self)
self.line3 = QComboBox(self)
self.line3.addItems(['','Banyumas','Sukoharjo','Brebes','Batang',
'Cilacap','Demak','Kendal','Klaten','Mgelang','Pati','Kudus','
Jepara','Pekalongan','Semarang','Wonogiri'])
self.line3.activated[str].connect(self.proses1)
self.line4 = QSpinBox(self)
self.line5 = QLineEdit(self)
self.line6 = QLineEdit(self)
self.line6.setReadOnly(True)

def data3(self):
self.hitung = QPushButton('Hitung',self)
self.hitung.clicked.connect(self.proses2)
self.hps = QPushButton('Hapus',self)
self.hps.clicked.connect(self.hapus)
self.back = QPushButton('Kembali',self)
self.back.clicked.connect(self.kembali)

def layout (self):


self.layout = QFormLayout()
self.layout.addRow(self.tanggal,self.line1)
self.layout.addRow(self.retailer,self.line2)
self.layout.addRow(self.alamat,self.line3)
self.layout.addRow(self.permintaan,self.line4)
self.layout.addRow(self.ongkir,self.line5)
self.layout.addRow(self.total,self.line6)
self.layout.addRow(self.hitung) self.layout.addRow(self.hps)
self.layout.addRow(self.back) self.setLayout(self.layout)

def proses1(self,alamat):
try:
if str(alamat)=='Banyumas':
a=27000
elif str(alamatt)=='Sukoharjo':
a=24000
elif str(alamat)=='Brebes':
a=15000
elif str(alamat)=='Batang':
a=19000
elif str(alamat)=='Cilacap':
a=30000
elif str(alamat)=='Demak':
a=20000
elif str(alamat)=='Kendal':
a=27000
elif str(alamat)=='Klaten':
a=19000
elif str(alamat)=='Magelang':
a=28000
elif str(alamat)=='Pati':
a=25000
elif str(alamat)=='Kudus':
a=250000
elif str(alamat)=='Jepara':
a=24000
elif str(alamat)=='Pekalongan':
a=26000
elif str(alamat)=='Semarang':
a=20000
elif str(alamat)=='Wonogiri':
a=19000
45

else:
a=0
self.line3.setText(str(a))
except:
print('False')

def proses2(self):
alamat=float(self.line3.text())
permintaan=float(self.line4.text())
ongkir=float(self.line5.text())
total=ongkir
self.line6.setText(str(total))

def hapus(self):
pesan = QMessageBox.question(self,'PERINGATAN',"Apakah yakin
ingin menghapus",
QMessageBox.Yes | QMessageBox.No)
if pesan == QMessageBox.Yes:
from k51_pendapatan import pendapatan
self.a = pendapatan()
self.a.show()
self.hide()
if pesan == QMessageBox.No:
pass

def kembali(self):
from k51_mainmenu import menu
self.b = menu()
self.b.show()
self.hide()

if name ==' main ':


app = QApplication(sys.argv)
ex = distribusi()
ex.show()
sys.exit(app.exec_())
b. Analisis Script Program Kalkulator Biaya Distribusi Perusahaan Mebel
Ifurnholic
Di dalam program menu utama pastinya terdapat baris pemrograman.
Berikut adalah tabel tentang baris yang ada di dalam Program Kalkulator Biaya
Distribusi Perusahaan Mebel Ifurnholic.
Tabel 2.6 Analisis Script Program Kalkulator Biaya Distribusi Perusahaan Mebel
Ifurnholic
Script Keterangan
import sys Digunakan untuk mengimport informasi
from PySide2.QtGui import* Digunakan untuk mengimport dari GUI ke
beberapa kontrol lain pada PySide
from PySide2.QtCore import* Digunakan untuk mengimport dari
QtCore ke beberapa kontrol lain pada
PySide
fromPySide2.QtWidgetsimport* Digunakan untuk mengimport dari
QtWidgets ke beberapa kontrol lain pada
PySide
46

Script Keterangan
class menu(QMainWindow): Digunakan untuk memanajemen layout
pada pyside, serta membuat kelas dengan
daftar menu baru
def init (self): Digunakan untuk menginisiasi layout dalam
program
if name ==' main ': Digunakan untuk menampilkan program.
app=QApplication(sys.argv) Digunakan untuk menampilkan aplikasi
yang telah dibuat.
ex=show() Digunakan untuk menampilkan variable
pada kelas yang telah dibuat.
sys.exit(app.exec_()) Digunakan untuk dapat keluar dari aplikasi

2.5 Penutup
2.5.1 Kesimpulan
Setelah melakukan praktikum dapat diambil kesimpulan sebagai berikut:
a. Aplikasi login berfungsi untuk menghubungkan dengan aplikasi menu utama.
b. Program data barang dapat mengetahui stok barang,yang keluar,dan jumlah
barang yang tersedia.
c. Program kalkulator pendapatan digunakan untuk menghitung total harga
barang dan menghitung pendapatan yang diperoleh.
e. GUI merupakan hubungan antara dua unit pada sistem operasi yang berupa
tampilan pada layar
f. PySide2 mudah untuk dipelajari dan dipahami bagi pemula karena dibangun
oleh GUI dan menggunakan Bahasa Python.
g. Sistem yang digunakan dalam operasi windows adalah sistem operasi berbasis
grafis.
h. Dalam PySide2 terdapat beberapa input misalnya Radio Button dan Check Box.
i. Program Perusahaan mebel ifurnholic ini adalah program untuk mempermudah
perusahaan serta pembelian.
2.5.2 Saran
Setelah melakukan praktikum dapat diambil saran sebagai berikut:
a. Sebaiknya penugasan dibagikan waktu pagi hari agar tidak terlalu sore.
b. Sebainya saat pembagian kelompok disamakan kelasnya agar saat asistensi
bisa ikut semua dan tidak ada yang meninggalkan kelas.
c. Sebaiknya diadakan absen saat menonton video praktikum.
d. Sebaiknya asisten memantau pada setiap kelompok yang dari salah satunya
kurang aktif dalam bekerja sama antara tim.
e. Sebaiknya kegiatan asistensi dilakukan saat sore hari agar tidak terlalu malam.
iii

DAFTAR PUSTAKA

Bahri, S., & Kusindaryadi, H. (2020). Rancang Bangun Pemantauan Absensi


Mahasiswa dengan Menggunakan Sidik Wajah secara Simultan Melalui
CCTV Ruang Kelas. RESISTOR (ElektRonika KEndali TelekomunikaSI
Tenaga LiSTrik KOmputeR), 3(1), 37.
Chotim, M. (2013). CSS Tutorial “Memformat Tampilan Halaman Web Dengan
CSS.” HTML5 Games Most Wanted, November, 93–106.
Irfani, M. H., & Dafid. (2016). Modul Praktikum Dasar Pemrograman dengan
Bahasa Python. STMIK Global Informatika Multi Data Palembang, 1–42.
Marisa Khairina, D. (2011). Analisis Keamanan Sistem Login. Jurnal Informatika
Mulawarman, Vol. 6 No. 2(2), 64–67.
Mustakim, Nur Fitrianingsih, & Ita Fitriati. (2019). Pengembangan Aplikasi E-
Raport Berbasis Graphical User Interface (GUI) dengan Menggunakan
VB.Net 2010 di SMKN 10 Bima. Jurnal Pendidikan Mipa, 9(1), 67–75.
Muttaqin, F. (2014). ANALISIS DAN DESAIN SISTEM INFORMASI
BERBASIS KOMPUTER UNTUK PERSEDIAAN BARANG PADA
TOKO BAHAN BANGUNAN (Studi Kasus pada UD. Sumber Bumi
Subur). Jurnal Administrasi Bisnis S1 Universitas Brawijaya, 8(1), 79320.
Nirmala, E. (2019). Pemrograman Web 1. 194.
Octavian, D. T. (2011) ‘DESAIN DATABASE SISTEM INFORMASI
PENJUALAN BARANG (Studi Kasus : Minimarket “Grace” Palembang)
D.’, Jurnal Teknologi dan Informatika (Teknomatika), 1(2), pp. 148–157.
Riyadli, H., Arliyana, A. and Saputra, F. E. (2020) ‘Rancang Bangun Sistem
Informasi Keuangan Berbasis WEB’, Jurnal Sains Komputer dan Teknologi
Informasi, 3(1), pp. 98–103.
Silitonga, J., Suswaini, E. and Kurniawan, H. (2013) ‘Pendaftaran Mahasiswa
Baru Berbasis Mobile (Studi Kasus : Universitas Maritim Raja Ali Haji)
Jeckson’, Jurnal Universitas Maritim Raja Ali Haji, 8, pp. 3–5.
Wilde, E. (1999). Hypertext Markup Language (HTML). World Wide Web, 191–
291.
iv

LAMPIRAN

LEMBAR KEGIATAN ASISTENSI


PRAKTIKUM PEMROGRAMAN KOMPUTER
JURUSAN TEKNIK INDUSTRI

Modul : I (PYTHON DASAR)


v

Kelompok : 51
Nama Anggota : 1. Indra Wijaya Kusuma (D600200083)
2. Asna Millatika (D600200196)
Asisten : Nabila Salma Amalia
NO TANGGAL KETERANGAN PARAF
1. 31/05/2021 Program
- Awalan script ditambahkan
print identitas
- Ada penulisan yang typo di
script dibenarkan
- Import datetime belum
berfungsi dengan baik
- Sistem pembayaran masih
rancu bisa ditambah kalimat
- Error di bagian subtotal
- Program diperbaiki
Laporan
- Penulisan Input Data dan
Kalkulator diperhatikan
- Daftar Pustaka dilengkapi
- Lembar asistensi dibenarkan
- Bahasa asing italic
- Flowchart dibenarkan
- Laporan dirapikan, diperbaiki
2. 02/06/2021 di sesuaikan dengan format

- Program diperbaiki
3. 03/06/2021 - Laporan diperbaiki dan
dirapikan
- Program ACC
- Laporan ACC
- Paham ACC

LEMBAR KEGIATAN ASISTENSI


PRAKTIKUM PEMROGRAMAN KOMPUTER
JURUSAN TEKNIK INDUSTRI
vi

Modul : II (PYTHON GUI DENGAN PYSIDE2)


Kelompok : 51
Nama Anggota : 1. Indra Wijaya Kusuma (D600200083)
2. Asna Millatika (D600200196)
Asisten : Nabila Salma Amalia
NO TANGGAL KETERANGAN PARAF
1. 08/06/2021 Program
- Untuk kesalahan di
username munculnya juga
incorrect password
- Tombol hitung belum bisa
digunakan di salah satu
perhitungan
- Di halaman distribusi tombol
hapus belum bisa
- Error diperbaiki, program
diperbaiki
Laporan
- Script diwarnain
- Analisis script diperbaiki
- Ditambahkan analisi atau
prolog atau apa yang kurang
Laporan dilengkapi,
diperbaiki, dan dirapikan
2. 09/06/2021
- Program diperbaiki
Laporan
- Typo diperhatikan
- Laporan diperbaiki, dibenarkan,
3. 10/06/2021 dirapikan

- GUGUR

LEMBAR KEGIATAN ASISTENSI


PRAKTIKUM PEMROGRAMAN KOMPUTER
JURUSAN TEKNIK INDUSTRI
vii

Modul : III (WEB STATIS DENGAN DJANGO)


Kelompok : 51
Nama Anggota : 1. Indra Wijaya Kusuma (D600200083)
2. Asna Millatika (D600200196)
Asisten : Nabila Salma Amalia
NO TANGGAL KETERANGAN PARAF
1. 14/06/2021 -Rightbar dan Centerbar belum
diatur ya?
-Font warnanya masih nabrak
-Copyright berisi nomor
kelompok dan nim anggota
kelompok
-1 Paragraf min 3 kalimat
diperhtaikan
-Setelah koma atau titik biasakan
spasi terlebih dahulu
-Analisis dilengkapi
-Script line spacing 1,0
- Daftar pustaka diperhatikan
penulisannya
-Laporan dilengkapi dan
diperbaiki
2. 16/06/2021
-Program diperbaiki
-Penamaan gambar dibenarkan
-Kalimat yang digunakan
dibenarkan kata-katanya
3. 10/06/2021 - Typo dan Italic diperbaiki

- Program ACC
- Laporan ACC (bersyarat)
Paham ACC

LEMBAR KEGIATAN ASISTENSI


PRAKTIKUM PEMROGRAMAN KOMPUTER
JURUSAN TEKNIK INDUSTRI
viii

Modul : IV (WEB DINAMIS DENGAN DJANGO)


Kelompok : 51
Nama Anggota : 1. Indra Wijaya Kusuma (D600200083)
2. Asna Millatika (D600200196)
Asisten : Nabila Salma Amalia
NO TANGGAL KETERANGAN PARAF
1. 21/06/2021 -Program diperbaiki
-Penamaan gambar dibenarkan
-Kalimat yang digunakan
dibenarkan kata-katanya
- Typo dan Italic diperbaiki
2. 23/06/2021 - Analisis script dilengkapi
- Analisis gambar diperbaiki
- Dafpus diperbaiki
- Laporan dibenarkan
- Program diperbaiki

3. 24/06/ 2021
- Laporan ACC (bersyarat)
- Program ACC
- Paham ACC

LEMBAR KEGIATAN ASISTENSI


PRAKTIKUM PEMROGRAMAN KOMPUTER
JURUSAN TEKNIK INDUSTRI

Modul : Penjilidan
Kelompok : 51
ix

Nama Anggota : 1. Indra Wijaya Kusuma (D600200083)


2. Asna Millatika (D600200196)
Asisten : Nabila Salma Amalia
NO TANGGAL KETERANGAN PARAF
1. 28/06/2021 - Line Spacing dan enter diperbaiki
- Daftar Pustaka disesuaikan format
Harvard
- Laporan disesuaikan dengan
format yang diberikan
2. 30/06/2021

DESKRIPSI DAN DATA PERUSAHAAN

Ifurnholic memiliki lebih dari 20 tahun pengalaman dalam menciptakan


furnitur, merancang furnitur dan memberikan properti komersial yang
mencerminkan desain kontemporer. Dengan produk berkualitas tinggi, dibuat di
x

Indonesia dan harga yang tepat. Bekerja dengan berkualitas tinggi adalah prinsip
kami. Desain selalu mengikuti kali changging merupakan sumber inspirasi bagi
kita. Kami telah memotong semua perantara dan memberikan produk langsung
kepada pelanggan kami.
Perusahaan Ifurnholic Mebel beralamat di Tembakrejo, Kecamatan Waru,
Kabupaten Sidoarjo, Jawa Timur. Produk yang dijual yaitu berbagai macam
furniture, seperti meja, kursi, almari dan masih banyak lagi.

iFURNHOLIC
City Living iFURNHOLIC, Surabaya, Indonesia
60174
No Nama Barang Harga Barang
1 Tiffany Home Desk-Ivory Natural Rp1.690.000
2 Morgan Smart Table 140+Cabinet Rp2.490.000
3 Sammy Desk 90-Ivory Rp550.000
4 Thomas Smart Cabinet-Coffee Brown Rp690.000
5 Meja Makan Bryant 130-Gading Alami Rp1.490.000
6 Persegi Panjang Meja Melon-Gading Rp1.290.000
7 Meja Makan Jasmine 135-Ivory Brown Rp1.890.000
8 Meja Makan Modemica 75-Ivory Brown Rp1.190.000
9 Eco Vnity sets-Gading Rp1.990.000
10 Set Konsol Mini Desi-Gading Rp1.290.000
11 Set Vanity Siya-Gading Rp2.190.000
12 Helsinki Sedentary Console-Ivory Natural Rp1.290.000
13 Wall TV Holic 140-Ivory Brown Rp1.390.000
14 Klint TV Cabinet 180-Light Nature Rp1.950.000
15 Helsinki TV Cabinet 120-Ivory Natural Rp1.890.000
16 Klint TV Cabinet 180-Coffee Brown Rp1.950.000
17 Hannah Tea Table-Ivory Brown Rp1.125.000
18 Flint Coffe Table-Ivory Rp1.890.000
19 Funkis Tripod 1-Ivory Rp790.000
20 Zataku Oreashi-Tosca Natural Rp1.190.000

Anda mungkin juga menyukai